pcl range images l.
Skip this Video
Loading SlideShow in 5 Seconds..
PCL Range Images PowerPoint Presentation
Download Presentation
PCL Range Images

Loading in 2 Seconds...

play fullscreen
1 / 25

PCL Range Images - PowerPoint PPT Presentation

  • Uploaded on

PCL Range Images. Bastian Steder. Topics. Range Images NARFs ( N ormal A ligned R adial F eatures) Example applications. Preparation. Download: http://www.informatik.uni-freiburg.de/ ~steder/data/office_scene.pcd

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'PCL Range Images' - tilly

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
pcl range images

PCL Range Images

Bastian Steder

  • Range Images
  • NARFs (Normal Aligned Radial Features)
  • Example applications
  • Download:


  • … and save it somewhere on your disc,e.g., directly in your home:~/office_scene.pcd
what are range images
What are Range Images?


  • The RangeImage class is derived from PointCloud<PointWithRange>

So every pixel has a range value but is alsoa 3D point.

range images in the code
Range Images in the Code
  • Header:range_image/include/pcl/range_image/range_image.h
  • How to create a range image from a point cloud:
  • Corresponding Tutorial:Range Images → How to create a range image from a point cloud

RangeImage range_image;

range_image.createFromPointCloud ( point_cloud, angular_resolution (deg2rad(0.5°)), max_angle_width (360°), max_angle_height (180°), sensor_pose, coordinate_frame (CAMERA_FRAME), noise_level (0.0), min_range (0.0), border_size(0) );

compile try
Compile & Try

$ cd $PCL_ROOT/doc/tutorials/content/sources/range_image_creation

$ mkdir build

$ cd build

$ cmake ..

$ make

$ ./range_image_creation

range image of size 40x34 with angular resolution 1deg/pixel and 1360 points

compile try8
Compile & Try
  • We can visualize range images using the RangeImageVisualizer class.(We already covered this in the visualization talk)
  • Corresponding Tutorial:Visualization → How to visualize a range image
border extraction
Border extraction
  • How to differentiate foreground from background?
how to detect these borders
How to detect these borders?
  • Analyze changes in distances toneighboring points
how to detect these borders11
How to detect these borders?
  • Analyze changes in distances toneighboring points
how to detect these borders12
How to detect these borders?
  • Analyze changes in distances toneighboring points
in the code
In the Code
  • Header:features/include/pcl/features/range_image_border_extractor.h
  • Code Example:
  • Corresponding Tutorial:Range Images → How to extract borders from a range image

RangeImageBorderExtractor border_extractor (&range_image);

PointCloud<BorderDescription> border_descriptions;

border_extractor.compute (border_descriptions);

compile try15
Compile & Try

$ cd $PCL_ROOT/doc/tutorials/content/sources/range_image_border_extraction

$ mkdir build

$ cd build

$ cmake ..

$ make

$ ./range_image_border_extraction ~/office_scene.pcd

narf keypoints
NARF Keypoints
  • Keypoints:Points on 3D structure that can be reliably detected in the same place, even if observed from different viewpoints.
in the code18
In the Code
  • Header:keypoints/include/pcl/keypoints/narf_keypoint.h
  • Code Example:
  • Corresponding Tutorial:Keypoints → How to extract NARF keypoints from a range image

RangeImageBorderExtractor range_image_border_extractor;

NarfKeypoint narf_keypoint_detector (&range_image_border_extractor);

narf_keypoint_detector.setRangeImage (&range_image);

narf_keypoint_detector.getParameters ().support_size = 0.2;

PointCloud<int> keypoint_indices;

narf_keypoint_detector.compute (keypoint_indices);

compile try19
Compile & Try

$ cd $PCL_ROOT/doc/tutorials/content/sources/narf_keypoint_extraction

$ mkdir build

$ cd build

$ cmake ..

$ make

$ ./narf_keypoint_extraction ~/office_scene.pcd

  • Describe an area by a vector of real numbers
  • Allow fast similarity comparison using standard norms

(0.23, 0.45, 0.65, …)

narf descriptors calculation
NARF descriptors calculation

Wanna try this visualization on another scene? Use the code from the tutorial

‘Visualization → Visualization of the NARF descriptor and descriptor distances’


in the code22
In the Code
  • Header:features/include/pcl/features/narf_descriptor.h
  • Code Example:
  • Corresponding Tutorial:Features→ How to extract NARF Features from a range image

NarfDescriptor narf_descriptor(&range_image, &keypoint_indices);

narf_descriptor.getParameters().support_size = 0.3;

narf_descriptor.getParameters().rotation_invariant = true;

PointCloud<Narf36> narf_descriptors;


compile try23
Compile & Try

$ cd $PCL_ROOT/doc/tutorials/content/sources/narf_feature_extraction

$ mkdir build

$ cd build

$ cmake ..

$ make

$ ./narf_feature_extraction ~/office_scene.pcd

Extracted 60 descriptors for 55 keypoints.

application examples i
Application Examples I
  • Object Recognition
application example ii
Application Example II
  • Place Recognition

Hanover2 dataset (Courtesy of Oliver Wulf)