About
In this project, we proposed to prototype a multi-camera, computer-operated photogrammetric imaging system (named COPIS) for photogrammetric 3-D reconstruction of preserved fish specimens. The primary function of the device is to produce a large number of overlapping images from multiple viewpoints around a specimen for photogrammetric 3-D reconstruction; however, the system can also be used to capture single-viewpoint images or multiple images at varying focal depths for use in focus stacking. The multi-camera version of COPIS comprises a custom-built, photographic light box equipped with high-resolution DSLR cameras. Our design was prototyped and tested to accommodate 6 DSLR cameras, but the modular nature of the system should support implementations that can scale from 1 to many cameras only constrained by available space, power and z-axis height. Implementations requiring larger Z-axis heights would likely need additional support to ensure smooth camera movement.
The enclosure measures 1.29m wide, 1.29m deep and 2.44m high and is divided vertically into three regions. The outer panels are composed of 3mm thick expanded PVC panels. The structural framing elements are made of standard 40x40mm T-slot aluminum extrusions. The mid region of the box, measuring 1m vertically, serves as the specimen staging area and is lighted with commercial off the shelf photographic LED panels. The upper and lower regions of the framing measure 0.72m in height and each houses the mechanical and electronic components for positioning three cameras around a specimen mounted within the mid region. Specimens may be supported on two or more thin rails of aluminum wire in the center of the instrument. Alternatively, specimens may be mounted on table placed in the center of the the staging area, if it is not nessesary to capture the underside of the specimen.
Each camera is attached to an integrated, 5-axis, computer-controlled, moveable camera mount and controlled by a custom-built circuit board featuring an Atmel 8-bit AVR ATmega1284p microcontroller with COPIS firmware. Each camera axis is actuated by NEMA 17 stepper motors, Kysan Model number 1124090, rated at 76.4 ounce-inches of torque, 1.8 degrees per full step and driven by an Allegro Microsystems A4988 micro-stepping driver. The linear rails for the X,Y and Z-axis are composed of 20x40mm and 20x60mm V-slot aluminum extrusions. Custom-milled .125 inch aluminum plates are used to mount the various X, Y and Z axis components. A belt and pinion system is used for linear actuation of the X and Y-axis. A GT2 timing belt and 18-tooth pulley provide a maximum positional resolution of 11.25um at 1/16th micro-stepping along the X and Y-axis. Linear actuation along the Z-axis is accomplished via an M8x1.25 threaded rod providing a maximum 6.25um resolution at full stepping and 0.39um at 1/16th micro-stepping. Enabling micro-stepping on the Z-axis might be useful for capturing focus-stacked images. The Z-axis cable raceway, nut blocks, end caps and gantry stabilizer are 3D-printed from Polylactic Acid (PLA) filament. The pan-and-tilt camera mounts are also 3D printed from PLA and feature 9:110 gear reductions, enabling a maximum of .0092 degree positional resolution, along each rotational axis.
COPIS supports a wide array of cameras from varying manufacturers and provides three mechanisms for controlling cameras: 1) for cameras that support the ISO 15740 Picture Transfer Protocol, a Maxim Integrated USB Host Controller (MAX3421E) provides USB connectivity between the camera and the microcontroller enabling advanced USB control of the camera; 2) by engaging remote shutter and/or focus through opto-isolated signals from the microcontroller; and 3) direct computer control of cameras using camera manufacturer software and/or APIs. An FTDI FT232RL USB to UART integrated circuit allows a computer to send preprogrammed instructions to one of the COPIS circuit boards designated as the master. The 5 remaining boards receive their instructions from the Master board. Communication between boards is accomplished via the I-Squared-C (I2C) serial bus.