The goal of auto-calibration consists in obtaining one seamless display composed of multiple outputs like presented on the image below:

Result of an autocalibration with 5 projectors on a dome.

Setup

To perform auto-calibration, you will need the following equipment:

  • Your Modulo Player or Modulo Kinetic media server equipped with the auto-calibration option
  • PoE switch
  • Camera:
    - For PtGrey camera setup, see this topic
    - For IDS camera setup, see this topic

Auto-calibration steps

Step 1/10 – Instructions

In order to achieve a better auto-calibration, prepare your environment:
1. For each projector, be sure the following build-in settings apply:
On the projector:
- Automatic keystone set to OFF
- Overscan set to OFF
- Noise reduction set to OFF

On Modulo Kinetic Designer:
- Each output cannot have any rotation applied (-90, 90, 180…). It has to be set at 0
- Each output needs to not have any warping. Perform a Reset warping and set the columns and rows at 2×2

2. For better image contrast, consider minimizing the influence from external light sources (turn the lights off).
3. Make sure the corresponding V-Nodes are online.

Step 2/10 – Defining groups

This page allows defining auto-calibration group(s). Each group contains a set of outputs that need to be calibrated and a dedicated camera.
In addition, this window allows to choose the auto-calibration mode:
- Default: It should be used for the first auto-calibration. You proceed through all the steps, i.e. full control on calibration parameters.
- From capture: Allows redoing the auto-calibration from previously captured images. You will be able to change deformation parameters and masks, but not the pattern size. By clicking on the from capture button, you open the file dialog asking you to point to the folder containing images from the previous calibration. Previous calibration images are stored in C:/Users/_You_/Modulo KineticDesigner/autocalib/. In this folder, you will see a list of folders with the names following this format: “Year-Month-Day-Hour-Minute-Second”. Just enter the one you want to use, and click Open. This will bring you directly to step 6.
- One-click calibration: Brings you directly to step 10, image acquisition. In this mode, the new image capture is made using the parameters defined during the last Default calibration. This mode is useful in case one of the projectors has moved, so you need to update auto-calibration and keep the same masks and warp. If it was the camera that has moved, the display mask and the warp may not be valid anymore (consider to run the auto-calibration in Default mode).

By clicking Next, you continue the auto-calibration in the Default mode.

Step 3/10 – Selecting outputs

To add an output to auto-calibration, select the corresponding V-Node server, then drag & drop the output you want to add.
Blend group should be adapted only for multiple layer configurations (such as dual projector configuration). In this case, the blending will be performed only between the outputs of the same group.

Some examples:

  • Flat screen. 2 projectors side by side
    Blend group Output
    0 outputLeft
    0 outputRight

  • Curved screen. 4 projectors, 2 duals side by side
    Blend group Output
    0 outputLeft1
    1 outputLeft2
    0 outputRight1
    1 outputRight2

Step 4/10 – Selecting camera

On this page, select the camera that will be used for auto-calibration. The right panel displays the list of all available cameras.

Step 5/10 – Setting camera parameters

The main parameter in this section is camera exposure. You need to ensure good contrast between projector black and white (see example below).
For gain, the minimal value should apply. The only reason to increase gain is when the exposure is at its maximum but the contrast is too low.

Exposure too low Exposure OK Exposure too high

The second group of parameters is responsible for image crop. While it does not have a direct impact on the results of auto-calibration, image crop offers some advantages: It increases the speed of image(s) acquisition, and the acquired images take less space on the hard drive.

No crop Crop

Step 6/10 – Pattern settings

Pattern size slider allows defining the size of the projected pattern. This parameter has a huge impact on the results of calibration.
The most appropriate value may be very different from one setup to another, and can only be determined experimentally.
The good rule of thumb is to choose such pattern size so you have approximately 20 circles along the output width.

Avoid pattern sizes that are too small or too big.

Too small Ok Too big

Step 7/10 – Configuration

At this step, the user is asked to choose the type of display that is actually calibrated. Clicking on the corresponding button load the preset for the parameters in the advanced tab.

Deformation tolerance parameters takes four possible values: Low, Normal, High, Very high. It defines the rigidity of the transformation that the algorithm is allowed to apply to the output image. You should take a higher tolerance to compensate the imperfection of the screen surface.

Advanced parameters:
- Filter features by size: This option allows to discard features (blobs) that are too different from an average size of all detected blobs. It should be active only for flat or almost flat screens.
- Auto threshold: Allows choosing whether pattern binarization is performed automatically or using the threshold defined in Step 9.
- Undistort image: Undistort image during calibration
- Display outside camera view: Tells the algorithm whether the camera sees the whole display or not. By setting this parameter to On, the algorithm will consider the zones invisible by the camera as zones without blending (full projection). Otherwise, it will set blending to zero (no image emitted).
- Update regions from displacement map: Should be used only for flat screens in case the camera does not see the whole screen.

Step 8/10 – Global mask definition

In this window, you can control the mask that is applied to the whole screen. In the following example, there will not be any projection outside the blue area. In order to start drawing the mask, click on “+” button (add path).
See section MaskEditor for more details (under development).
Specifying no mask is equivalent to drawing a mask covering the whole screen.

Step 9/10 – Mask per output

Each auto-calibration output has a mask. The mask corresponds to the area of the display that is covered by the given output (projector). The parameter binarization threshold allows to adjust it. The blue area on the image corresponds to the zone that will then be used for the blending of the output.

The value of the threshold is right when the blue area on the image corresponds best to the area covered by the output.

Too low Ok Too high

Step 10/10 – Acquiring images

Displays the progress of image acquisition if not in “From capture” mode.

Need more help with this?
Don’t hesitate to contact us here.

Thanks for your feedback.