CodeVis - Art and Vision in Software


PROJECTS DOWNLOADS PRODUCTS INFORMATION


Status: Prototype

3D Scanner


There's now a viewer with some sample data from the scans that the scanner produced. Please understand that this is prototype software. By downloading it you agree to use it at your own risk!

3D viewer installation iconClick here to download the prototype viewer w/Scans


The prototype of the 3D scanning system has been completed and is fully operational. It uses a Logitech QuickCam web camera, a laser diode line module, an Arrick's Robotics 12" Rotary Table, Weeder Technology control boards, and assorted cables / power supplies / lighting / etc. as shown in the image to the right. Oh, and there's a Kung-Fu Hamster, too.

The approximate cost of the hardware was about $700.

Thumbnail of 3D scanner photo 1
To scan an object, the object is placed onto the center of the rotational stage. The control boards are used to interface with a stepper motor powering the stage, as well as toggling the lights and laser. The object is rotated a full 360 degree circle in 0.5 degree increments. At each step, the laser is pulsed and two images are taken - one with the laser on, and one with the laser off. The difference between those images provide a good image of the laser line needed to extract 3D range data. In addition, this method allows the calculated points to be easily associated with the object's color, providing a very nice color skin for the output model. Thumbnail of 3D scanner photo 2

To the right is an image of the main interface of the scanner prototype. The top-left window in the interface is a live video image, showing the laser line on the joystick. The main window to the right shows a 3D representation of the object after the scan is complete. Click for full size image of scanned Joystick

Calibration of the system is performed by placing a standard facing the camera at various known distances along the stage and shining the laser on it. The resulting images are used to fit polynomials for use in calculating the real-world Z-position from the laser's X offset in the image, and the real world Y position in relation to the image's Y and X positions. (The laser line has been enhanced in this image).

Picture of 3D Scanner calibration screen

There are limitations, of course. With only one viewing angle, occlusions occur. This causes both the artifact (the hand connected to the torso) shown to the right and holes. There are various solutions to this problem - adding cameras, moving the cameras and laser, adding a translation stage to the system, etc.

Shiny objects are also a problem, as the reflections can cause major errors in the laser detection.

Thumbnail of the 3D scanner interface showing problems with occlusions
Thumbnail of the 3D scanner interface showing problems with occlusions from another angle


A lot was learned while building the prototype, and a lot of code was created that will come in handy on future 3D-Vision projects that should overcome many of the weaknesses of this rotational laser scanner.


Questions? Comments? Suggestions?
Email them to codevis@codevis.com or check out our public forums.
Copyright © 2003-2004 by Michael Ellison. All Rights Reserved.