Camera Calibration Based on 3D Plane
Last updated
Last updated
The following step-by-step guide describes the calibration process of a camera 2D using a plane as a Reference Object. In a scenario where ALBION is set as the reference, a manual 3D calibration could be achieved using seven points of the point cloud.
Open the Settings module with [Alt+S] or by selecting {System > Settings} in PHOTONโs Main Menu.
Click on the PHOTON tab.
Select the server that you will be using to calibrate the camera from the PHOTON Selection list located at the left of the Settings window.
In the System Mode drop-down menu, choose between the Controller or the Display Master operation mode.
Click on the Control tab.
Both ALBION Control and Auto Calib Control drop-drown menu should be set to the ALBION & Auto Calib Master.
If you are not using Optitrack cameras, skip directly to the following I/O Manager section. In the case where you have Optitrack cameras, do the next steps in the Control tab and jump right away to the plane creation.
Open the I/O Manager module [Alt+I] or select {System > I/O Manager}.
Click on the Input Devices tab.
Select the camera you want it calibration from the available input devices.
Click on the [button] and select the newly created slot in the Active Device list.
In the Available Devices dropdown menu, select the camera that you want to assign to the slot.
Open the 3D Scene module with [Alt+C] or select {System > 3D Scene}.
Select the Calibration operation mode by pressing [4].
Add a camera in the 3D Scene by selecting {Primitive > Input > Camera} in the 3D Scene menu bar.
Select the new camera in the Scene Primitives list located on the left.
Open the Properties panel by pressing [P] or select {Window > Properties} from the 3D Scene Main menu.
Look for the Input Device in the top section of the Properties panel and use the dropdown menu to select the camera previously declared as an
Input Device in the I/O Manager module.
Create a new plane in your scene by selecting {Primitive > Default Objects > Plane}.
Select the plane by clicking on its entry in the Scene Primitives list. Open the Transformation panel by selecting {3D Scene > Window > Transformation}.
Measure the LED screen or the projection surface in real life.
Insert the correct X and Y scales values in the Scale sliders in the Transformation PAnel (measures are in meters).
Insert the value of -90 in the Rotate X slider so the plane is parallel to the grid of the 3D Preview.
Click on the [Set freeze] button located at the top of the Transformation panel.
In the Calibration Tools Window located at the bottom right corner of the 3D Scene window, select the camera that now appears as a device that can be calibrated.
In the SLAC Settings, change the Donโt Apply Settings for the Apply Reconstruction Settings.
The camera should be set in MJPEG in Retro Reconstruction Settings.
The IR Filter must be enabled if there are infrared lights in use.
Adjust the Gain and Exposure settings in order to see correctly through the camera.
At the bottom of the Calibration Tools Window, you will find the Objects Reference menu. Click on the [x] button to delete the current object. The reference will go back to manual.
Look at the plane in the 3D Scene Preview and press [Ctrl-shift] to see which Calibration Points are available. The 3D points should turn yellow when [ctrl+shift] are pressed.
Hold [ctrl+shift] and double-click on a green dot to declare a Calibration Point. Once declared, Calibration Points increase in size and turn white.
Go back in the Calibration Tools Window and select the camera view mode.
A white cross should appear in the camera view. Use [left-click+drag] to move the cross around. Also, keyboard arrows can be used if the mouse and focus is on the red area in the Calibration Tools Window.
Place that cross onto the first corner of the screen. If you start with the top left cross, you should move it on the top left corner of your real life object or projection surface.
Do the same for the other three corners of the plane.
Once the camera has been calibrated the result should look like the picture below.