Extrinsic using print
Overview
This page assumes that some application concepts have already been explained in the Intrinsic Calibration section.
Extrinsic calibration is a method for obtaining data about the position and rotation of devices within the current setup. If any device changes, recalibration is required; if not, the calibration can be reused between sessions.
In our software, the recording process is split into pairs. For example, in a three-camera setup, we choose one camera as the origin and place the other devices in a daisy chain from that camera (the second camera is located with respect to the first, then third camera with respect to the second). We then order the devices in the application accordingly.
For each pair it is essential to record at least six images where most of the calibration board is visible to both cameras. We will be moving the board slightly and positioning it at an angle to the cameras; it is required for the board to be rigid, as print imperfections can affect the calibration results.
Once all pairs are recorded, the Extrinsic Picker UI will be presented, where you can select images for each pair to be used in the calibration process.
Enabling devices, alignment and camera settings
Connect all cameras to your computer and launch the software, then navigate to Recording tab and select Live Extrinsic mode.
- Enable all devices that are meant to record by clicking on the camera icon in the camera order part of the screen, enabled camera turns green.
- Load intrinsic calibration of each device by clicking on the 'wrench' icon below camera icon and selecting appropiate file in the pop-up that appears (right side).
- Switch recording mode to Live Extrinsic mode.
- Select calibration resolution in Record Format field. When multiple devices are enabled only resolutions and framerates that are shared across all devices will be available.
Resolution set here will determine resolutions allowed during animation recording when extrinsic calibration is loaded.
Additionally resolutions available are limited by the intrinsic calibration loaded into the devices, the entire setup has to record at the same resolution and frame rate.
If you do not see vendor advertised resolution, please navigate to camera settings by clicking on the wrench button under camera and switching available image formats.
Same applies if intrinsic calibration cannot be loaded into the device, it is because the device in current state does not support that resolution.
Launch preview by clicking on the play button below resolution selector, this will launch previews of all devices.
Depending on the device, its settings, whether frame server is enabled or not this sometimes might take a second or two. Some vendors take more time to initialize their devices and AImation Studio does not run cameras continuously and only start them when necessary.
Once preview is running we can place our devices in the world, identify one device as origin and place it in the world facing an arbitrary point in the scene and using the arrow keys in Camera Order field move it to the very first place. Place additional devices at the same height, point them roughly at the same arbitrary point and fix their position in camera order.
It is also a good time to open camera settings ( wrench button under camera icon ) and tweak camera parameters.
Auto-exposure is absolutely NOT allowed, cameras have to record at the same constant frame rate.
Recording length dictates how long we will record each pair for. We recommend recording for 40 seconds, giving you enough time to record multiple poses, holding briefly at each and not rushing with the process.
Input your print dimensions into Board Settings. If you've used image generated by AImation Studio you should also have a text file that contains this data.
It is good to measure squares and markers of your print to make sure everything has been scaled properly during printing.
Inputting print dimensions
Input your print dimensions into Board Settings. If you've used image generated by AImation Studio you should also have a text file that contains this data.
It is good idea to measure squares and markers of your print to make sure that everything has been scaled properly during printing.
Once everything is set up, you can press 'Start Live Extrinsic'. Recording will not start immediately. A pop-up will appear before each recording stage, giving you the option to set a delay before it begins. Use this time to rest, adjust, and view information on the remaining pairs.
Press Yes to begin next pair recording, No to cancel the entire process.
Recording the board
It is very important for the print to be rigid during the recording, quality of the print affects the results, if it's a paper print it might need something to prop it up. In this example the print is attached to a laptop.
Position yourself in front of current pair so that the print takes as much space in the camera view as possible, optimally we want it to cover entire view but that's usually not realistic.
Once recording starts, move and rotate the board while holding it briefly at each pose for a second so that we get one clear image from both devices. Try not to shake too much when holding it. Keep doing different poses of the board for entire length of recording. We want to get as many different angles as possible. Repeat this process for each pair.
- Navigation: Left and right arrow keys
- Left mouse click on frame box to navigate to frame
- CTRL + Left Mouse click to add or remove a frame to/from selection
Select 6 images for each pair, to select a different pair use the drop down widget in the yellow area. Once enough images have been selected press 'Run calibration' button and wait for it to finish.
Once the process finish the UI will be updated and will present reprojection error of each device (first device in chain will always have reprojection error of 0 as it is the origin of the coordinate space).
Aim for values of less than 2 for each device, optimally less than 1.
If you're unhappy with the results you can add or remove images and 'Run Calibration' will reappear.
The same rules apply to picking a proper frame as in Intrinsic Calibration, drawn squares over markers should represent a rectangle.
Video: How to perform extrinsic calibration
We're almost done, but first we need to load it into the setup, see this short page about loading the calibration into setup after which we will begin recording your first multi-camera animation!