With Common Vision Blox, users can calibrate laser triangulation systems, i.e. transforming acquired range maps to metric point clouds. The following sections explain the underlying theory of calibrating laser triangulation systems.
The principle of laser triangulation is illustrated in the two figures below. A line laser projects light onto an object, creating a visible line. A camera, mounted at a fixed angle to the laser (known as the triangulation angle), captures the laser line as it is projected onto the surface of the object.
By continuously moving the object under the laser-camera system, multiple profiles can be generated (see Figure below in the middle) and combined into a single height image, the so-call range map (see Figure below on the right).
To obtain 3D world coordinates, the relationship between range map pixels and metric units must be determined, which will be described in the following sections.
The relationship between range map pixels and metric units is given as follows:
Each row of the range map indicates the n'th profile in the direction of movement (y direction). Converting the row indices to metric y coordinates, can be achieved by multiplying it by the (typically known) encoder step. If the encoder step is not available, it can be estimated using the AQS12 calibration.
Each column indicates the coordinate u on the sensor, while the range map value represents the v coordinate of the laser peak within the frame multiplied by a given rangeScale factor. The rangeScale factor depends on the camera's sub-pixel setting.
Then the sensor coordinates u and v have to be transformed to metric x and z coordinates using the homography matrix. The resulting coordinates refer to the laser plane. This transformation is part of the intrinsic calibration. Since the camera lens is usually distorted and the laser line may be slightly deformed, additional corrections, such as Brown-Conrady coefficients and/or a polynomial correction, should be applied. These corrections are also part of the intrinsic calibration.
In some cases, an intrinsic calibration may already be available, e.g. for compact sensors. In such cases the user simply has to apply it using CVB as described here. But, if an intrinsic calibration is required, Stemmer Imaging offers two methods:
Even if the intrinsically calibrated x and z coordinates of the laser plane are highly accurate, measurement accuracy can be reduced if the laser plane is inclined. If the laser plane is not exactly vertical to the direction of movement (Y-axis), additional errors are introduced. A rotation of the laser plane about the X-axis results in shear along yz (denoted as Syz) and scaling in the z direction (denoted as Sz). The following figure shows the acquisition of a cuboid using a 3D laser triangulation system (side view), with errors introduced by an inclined laser plane.
If the laser plane is rotated about the Z-axis, shear along yx (denoted as Syx) and scaling in the x direction (denoted as Sx) are introduced. The following figure illustrates the acquisition of a cuboid from a different viewpoint (top view), with errors caused by the inclination shown schematically in the range map.
Shear and scaling can be estimated using a calibration target with precisely known dimensions as a reference. The x and z coordinates are transformed into the coordinate system defined by the reference coordinates of the target. In addition to shear and scaling, rotation and translation to this coordinate system are also applied:
If the encoder step is known and the laser plane is mounted precisely vertical to the direction of movement, then the estimation of shear and scaling is not needed.
However, if you need to transform the point cloud into a superordinate coordinate system (e.g., when integrating multiple sensors into the same coordinate system), a rigid body transformation - involving only rotation R and translation tx, ty, tz - should be estimated as part of the extrinsic calibration process.
The correction of an inclined laser plane and the extrinsic calibration can be estimated using the AQS12 target. Section Intrinsic and Extrinsic Calibration using the AQS12 Target details the calibration process including the design of a suitable AQS12 target.