Object Types

<< Click to Display Table of Contents >>

Navigation:  Image Manager > CVB Technology > 3D Functionality >

Object Types

Range Map

This type maps directly to an IMG data type with a single plane. Each pixel contains a value which is a function of the height of an object, where the 0 value has the special meaning of unknown height at that point.
Due to the relatively high demands in height most range maps are Mono16 bit images, however other image formats are valid as well.

A range map can be generated from a number of different sources, such as 3D cameras.

Laser Triangulation is one of the methods available for 3D scanning, where range maps are produced through the accumulation of the shape of laser profiles.

Other methods like Time Of Flight cameras, fringe projection or 3D Stereo cameras can also provide range maps, however, the kind of point coordinates stored in those range maps may not be easily related to metric coordinates, and they usually represent the "raw 3D" data acquired.

 

3D_RangeMap

 

 

Point Cloud

Unlike the range map, the point cloud object (CVCOMPOSITE) stores a set of 3D points (x, y, z and optionally w) in world metric coordinates, describing a point-sampled shape of the surface of a real object.

The components' data type can either be float or double.

Using proper calibration techniques, range map data can be mapped to metric coordinates to form a cloud of 3D points. This allows 3D metric analysis for the scanned objects. A point cloud can be either unorganized/unordered (sparse) or organized/ordered (dense).

 

3D_PointCloud

 

a) Dense point cloud

A dense point cloud is an ordered set of 3D points, placed on a grid with a given width and height. The advantage of dense clouds is that you have immediate neighbor information. The disadvantage is, that you cannot have arbitrary clouds (e.g. an affine transformation breaks the lattice view). Also each x-y-position can have only one corresponding z-height. An example are depth images.

Advantages:

Grid / neighbor information available

Disadvantages:

Larger memory (than sparse point cloud), because also NaN values can be included (holes)

When to use?

As the points are projected onto a plane the data can be used like an image.

Image processing

Using DNC

Conversion to sparse?

Each dense point cloud can be converted to a sparse point cloud.

 

Normal image

Normal image

 

Normal image with depth (blue = near, red = far away)

Normal image with depth (blue = near, red = far away)

 

Dense range image on the left, on the right as 3D

Dense range image on the left, on the right as 3D

 

b) Sparse point cloud

A sparse point cloud is logically seen an array of 3D points. There is no order or neighboring information between the single points. Unlike the dense point cloud it has no grid.

Advantages:

Simple array of 3D points

Less memory (than dense point cloud)

When to use?

Camera output is a list of 3D points (e.g. x-ray)

Multiple camera outputs (e.g. different angles) are merged

Conversion to dense?

Difficult, as you need the grid thus neighbor information.

 

3D_Sparse_PC_01 3D_Sparse_PC_02

 

Rectified Range Map

A rectified range map is the result of a planar projection of a point cloud onto the z-plane. As well as the range map a rectified range map maps directly to an IMG data type. However, since it is generated from a point cloud, rectified range maps contain floating numbers.

What is the benefit of a rectified range map?

Range maps might be uncalibrated and thus have distortions within the image. Metric measurements can't be made in such an image. In these cases a calibration has to be done which results in a calibrated and metric point cloud. This point cloud can be converted in a rectified range map and features can be metrically measured in the 2D image.

If a 3D sensor is not mounted perpendicular to an object or these objects vary in their orientation, range maps might be tilted. This may make it difficult to detect height defects in planes or compare objects to others. A rectified range map, however, can be calculated from a previously rotated or aligned point cloud and thus can be projected on always the same orientation.

 

3D_RectifiedRangeMap