Calibration Cube Design Notes


One completed box:
The box with no lights turned on

The box with the lights on one face turned on

The calibration cube project began during the summer of 2000 when I was working as a research intern at Compaq Computer Corporation's Cambridge Research Lab (CRL). Since then, Jim Rehg (CRL) and (URCS) have continued collaboration on the project. I am responsible for the mechanical and electronic design as well as the mechanical construction. Jim is drawing upon resources at CRL to turn the electronic design schematic into a printed circuit board.

Each cube is a 12x12x12 inch square box with active LEDs registered to a passive checkerboard pattern. There are 80 LEDs (16 per face) under individual program control. The checkerboard is formed from squares of Formica that have been precisely milled to 1.715 inches per side (+/- .002 inches). The checkerboard pattern on each side is registered to the LEDs within (+/- .005 inches). While individual faces are slightly offset or rotated with respect to each other, the patterns are consistent within the face.

So far I have built three physical boxes and finished wiring one (shown). Currently Jim has the first completed prototype and is working on the PCB fabrication.

Design notes below


One face of the calibration cube

Panel dimensions

Everything is square and symmetrical, fill in the appropriate dimensions accordingly. The dots are LEDs, 16 per face. The primary dimension of the box could actually be anything between 12 in. to 17 in. Actually, the 12 in. design uses less material so is probably best with respect to cost and ease of handling.


Isometric view of the calibration cube

isometric view of the box (just LEDS)

This iso view only shows how the LEDs are spaced around the 5 visible faces of the cube (there are no LEDs on the base). From any camera imaging the cube, at least two faces will be visible.


Passive and active features (OR Checkerboard and LEDs)

Because the LEDs are under programmatic control, we can turn one LED on at a time. This makes determining point correspondences very easy. The actual calibration benefits from as many points as may be feasibly extracted. Because each camera will only be able to see at most 48 LEDs (3 faces 16 LEDs per face) it would be nice to add additional features that may easily be extracted from the images to increase the total number of point correspondences. These features will be passive such as a checkerboard pattern or dots on the surface of the cube. Having the additional passive features allows us to compare calibration techniques that use only passive components with those that also use active elements (like the LEDS).

one face with a checkerboard pattern as well as the LEDs

This view shows one face of the cube with both the LEDs and a passive checkerboard pattern. The edges between the white and black squares can easily be detected and used to extract features with subpixel accuracy (this is because the lines may be integrated over their length).


Adding color calibration

Color is an important visual cue and is often used in computer vision systems. Unfortunately color varies greatly across cameras and is highly dependent upon lighting. Even within a single room, different locations will be lit very differently. One of the most striking examples of this variability comes from rooms that have a window allowing sunlight to stream through as well as parts that are lit only by flourescent lights.

In order to use color across cameras it is important to ensure that the cameras are color calibrated to the same target object. Adding color to the calibration cube would make it easy to ensure that all the cameras image the same target color source under approximately the same lighting conditions. Thus I would like to somehow add swatches of color to the cube, perhaps using the colors from the ColorChecker (shown below). It would be nice to use the color to also implement the passive image features, but the differing contrasts between various color swatch pairs may introduce biases??? Regardless of how color is used, it is important that the color surfaces be as lambertian (non shiny) as possible to minimize the impact of the camera's viewing angle.

Picture of the GretagMacbeth
  ColorChecker

The GretagMacbeth ColorChecker (previously known as the Munsell ColorChecker). The colored squares are essentially matte paint chips that try to be as Lambertian as possible (i.e., they try to reflect light equally in all directions).


Adding color to the calibration box

one face of the calibration box.  has a colored checkerboard pattern as well as the LEDs This is one example of using color on the cube. Somehow we need to be able to paint the various squares with a matte finish. Shiny surfaces won't do because reflections will kill us. The surfaces need to be very scratch resistant and the edges need to be sharp and accurately located.



Current Favorite

one face of the calibration box.  has a checkerboard pattern as well as the LEDs and colored circles inlayed in some of the squares. Probably the best solution from a technical standpoint, this configuration could present manufacturing difficulties. The black and white checkerboard pattern could easily be recovered (the colored circles masked out) by the calibration routine.


Manufacturing Options

Corian
Dupont's Corian material is solid all the way through and can be had with a a matte finish. When laid out by someone with a CNC router, sophisticated inlays are possible. Unfortunately, there are no good blues or greens available in Corian, but there is a nice red and yellow. Perhaps the best Corian option would be to use build the box out of black and white squares of Corian and then affix colored stickers onto some of the squares. Probably, the squares would milled from 1/4 in. Corian sheets, then affixed to a plywood substrate. This Corian option is probably quite pricey and requires an outside contractor, but would be very robust to scratches.


Formica
Same as the Corian, precisely milled squares of white and black formica would be applied to a plywood frame. The formica could be done in shop however. No option to inlay colored circles. Less expensive than the Corian.


Sand blasted and painted aluminum
An expensive option that could be done in the shop. Precision tooling plate aluminum would be used (expensive!) and sandblasted. Would be very strong, but kind of heavy.


Printed paper on plywood
The entire pattern could be printed at a printer's with whatever colors are desired. Very crisp borders between the black and white could be obtained. The paper would then be affixed to a plywood or aluminum box, with holes drilled for the LEDs. Probably the least expensive and least durable option.


Encasing paint chips
Alternatively, we could somehow encase the paint chips from the GretagMacbeth ColorChecker. This has the advantage of providing color chips with known spectrographic info.

Box Internals

Figure showing the inside of the box.  There are two layers with the wiring in between.  The outside layer houses the LEDs while the inner layer has a single DB37 connector attaching to all 32 LED leads.

The inside of the box shows two layers with the wiring in between. The two layers are attached to each other via standoffs. The outside layer houses the LEDs while the inner layer has a single DB37 connector facing the inside of the box. All 32 LEDs are attached to the the connector. The PCB controlling the LEDs would also have 5 DB37 connectors on it. The PCB would connect to the box via 5 ribbon cables.