|

| |
PS2a: Camera Calibration, Details.
(By Gabriel Brostow, TA for DVFX 1999-2002, Minor updates by Jerry Choi 2006).
- Check camera inventory sheet when checking camera out, so youÂ’re not held
responsible for things which were already missing. For this project, you
should not need to borrow equipment for more than a day, but you have it for
few days just in case. You should buy one or more of your own DV tapes. These
can be close to $5 if you buy in bulk (feel free to share shopping tips on the
SWIKI). When using a blank tape for the first time, record it from start to
finish with the lens covered, so it has a consistent time-code. This will
prevent problems when dumping to the drive.
- Remember to switch to manual focus and progressive scan. This is critical
for camera calibration.
- You can print a calibration file of
your own (make the squares are all the same and line them up) and mount it on
a perfectly planar surface. For a checker-pattern that is nominally (because
printers stretch printouts) 28mm^2, grab
PS2a_checkerGrid4x5_28mm.pdf (or
PS2a_pattern.pdf though it's not prefectly squared).
You can also use the larger calibration pattern located in TSRB 325
(It's behind the green screen; You can take it outside with
an arrangement. Contact TA). Remember to measure the
exact width and height of a square. For example, measure width of 4 boxes (B,
W, B, W) and divide total by 4 to get a more accurate X-dimension. Record in
cm. for later. Origin is in upper left of the pattern pictured here, and I
skipped the first and last row of boxes since the printer chopped them
short.
- (for calibration) Fix the camera, and move the pattern around so it takes up
most of the field of view, and try to
explore the space: show different positions and orientations, keeping the
origin-corner as the left-top most corner in the image. Without moving the
camera (or changing the zoom/focus!), move around in the scene or do something
simple – this is just to show that it’s a sequence and not a single frame.
Keep it short (30sec or less), and possibly make it relate to the 3D graphics
youÂ’ll be adding later. DonÂ’t worry if you donÂ’t yet know where youÂ’ll be
adding stuff to the scene (just glare in random directions for now).
- (for CG composition) Snap multiple “home” position images (fixed
camera and the pattern, with different distance, viewing angle, etc.) Never do
anything that can change the intrinsic parameters of the camera (zooming, etc.)
 
 
- (for match-move) Move the camera in the fixed scene (or at least with
enough fixed 'feature' points in the scene). Keep this under 30 sec. DonÂ’t move the camera too drastically.
This will be used only if we can obtain some match-move software licenses, and
will only be important for the more ambitious groups.
-
Each camera has a DV cable, which doesnÂ’t look like the RCA, or the
S-Video cables in the bag. It connects to the panel on the front of the DVFX
PCÂ’s in the States PC cluster. DVRaptor software is installed on all those
machines, and you donÂ’t have much need for the Navi software right now, unless
you already recorded so much data that you want to easily index to the tape.
Turn the camera to VCR mode before starting the software, and youÂ’ll be able
to control the “deck” using the on-screen controls. Video plays back on the
LCD of the camera, and may not show up in the Raptor softwareÂ’s preview window
– that’s ok. I usually use the batch capture utility (in one of the menu
options). It lets you mark the start (in) and stop (out) points of each part
of the tape that I want to dump to a separate file. Once marked and given a
file-destination, “ADD” each desired clip to the batch-capture list. You can
save and update this list if things break down for some reason. If you get an
error that the “in point” can’t be found, you may need to reboot the PC (so
save that list to a safe place). Dump to E since itÂ’s fast and hopefully not
very fragmented, and either capture the data to smaller clips (calib clip,
action clip, moving camera clip, etc.), or segment a larger file in Premiere
so that you donÂ’t have to burn drive-space by saving video which you wonÂ’t
use. That said, don’t trash data you “might” want later. CD-burners should be
working now (hint-hint).
- Premiere is ok for this, just export a frame instead of a movie. DonÂ’t
dare change the image size or use lossy compression (*.jpg)! Premiere default
is bitmap, which is fine. You will want to copy &
rename the extracted images so that the last one still has a number less than
100. It hurts the calibration software to have to run through 2000 non-images
to get to frame_2001. Just count from 1, and everything will be fine.
- Download the camera calibration toolbox for Matlab from here
- Follow the First Calibration Example on this page.
The calib_gui programÂ’s interface is pictured below. Basically, follow
the onscreen instructions/questions and the hints that appear in the images to
perform all the tasks leading to “Exit” (starting in the top left and going
across). Reprojection error MUST be less than
a pixel, and ought to be around 0.1 pixels if you throw out the really bad
images and keep around 8 good ones. Reprojection: the corner-finder puts
little crosses when it finds something, and the corresponding point from the
3D model of your calib pattern is rendered using the calculated calibration as
a circle. These should line up.

- What can I say - itÂ’s the box in the lower left. If you
add/suppress it into the list of active images, you can visualize (and
sanity-check) where it was relative to the other calibration images. If itÂ’s
way off (because, say, it appeared too small in the image), youÂ’ll want to use
a different image as the “home”.
- Save (a) calibration result (intrinsic parameters; press the lower-right
button), (b) 2 pairs of rotation matrix (Rc_ext) and translation vector
(Tc_ext) for two 'home' images a text file (Just copy the Matlab result), and submit it to
/net/dvfx/DVFX/2006/PS2/your_group_number/
. Remember that we will use time-stamps of files to determine
when something was submitted, so if you choose to update the file, give it a
different filename.
Submit a text file with intrinsic parameters (printed-out by the toolkit) and
extrinsic parameters (also printed-out by the Toolkit) of a 'home' image.
Intrinsic parameters look like this:
------------------------------------
Calibration results (with uncertainties):
Focal Length: fc = [ 870.96508 887.33411 ] ± [ 1.29246 1.30538 ]
Principal point: cc = [ 337.35541 245.93202 ] ± [ 2.56144 1.91218 ]
Skew: alpha_c = [ 0.00000 ] ± [ 0.00000 ] => angle of pixel axes = 90.00000 ± 0.00000 degrees
Distortion: kc = [ -0.21301 0.26780 0.00083 0.00217 0.00000 ] ± [ 0.01420 0.14739 0.00048 0.00053 0.00000 ]
Pixel error: err = [ 0.09065 0.09928 ]
------------------------------------
Note that your pixel error should be less than 0.15 .

|