HALCON12: Increase field of view by calibrated mosaicking

Increasing the field of view by calibrated mosaicking

Sometimes one camera is not enough to cover the desired field of view (FOV) with the required resolution, for example if a wide production line needs to be monitored. In this case, multiple cameras side by side can be used, this increases the FOV. Knowing the geometry, every camera image can be projected into the measurement “world” plane; this process is called calibrated mosaicking.

A possible workflow for calibrated mosaicking…

Multi-view calibration using a new calibration plate (hexagonal pattern)

For calibrated mosaicking it’s essential to know the setup’s geometry, i.e., the relative pose between all cameras and the world coordinate system (in which we want to measure). Unlike with classical stereo setups, we only have small overlapping image parts of adjacent cameras. In the past (HALCON 11 and older) this would have made calibration quite difficult: the old rectangular calibration plates needed to be fully visible in every image, which is impossible in such a setup.
The following pictures show an inconvenient workaround using a rigid fastener..

2

Luckily, MVTec have introduced a new calibration plate format with HALCON 12: with the new design (hexagonal patterns) the only requirement is to have one of the five finder patterns visible in the image. Now the calibration plate can be placed in the common FOV of two neighboring cameras. Note that with the HALCON calibration data model it is possible to do a simultaneous calibration of all internal and external camera parameters.

2

 

Mosaicking

After calibration, the pose of each camera is known with respect to one common coordinate system. By using the operator “image_to_world_plane”, we can now map all images into this common world coordinate system.

3

Technical details to take into account:

  • Make sure that all pixels in the final image have positive row and column values. Thus, the world coordinate system has to be translated accordingly (“set_origin_pose”).
  • Make sure to adapt the world coordinate system to correct the thickness of the calibration plate.
  • Make sure to define an adequate scaling for our final image to achieve a resolution comparable to the one of the original images.