3D Scanning System using Structured Light Visgraf - 2003 |
This page presents the 3D scanning system developed here at Visgraf - Impa, Brazil. Here you will find a brief explanation of the method used to recover the shape of objects. What is 3D scanning? 3D scanning is the procedure that allows us to recover the shape of objects, scenes or people. There are many different ways to scan things, but the one described here uses a structured light technique. Usually, the scan result consists on a 3D computer model of the real object. What is structured light? Structured light methods seek to retrieve points of the scanned object surface in order to reconstruct a cloud points in 3D space. The idea is to project stripes of different widths on the object and acquire images of this scene in order to determine the stripe boundaries. These boundaries define a set of points over the object surface that can be calculate using an active triangulation method and camera (and projector) calibration. You can read more about structured light here. The pipeline Calibration: finding the camera and projector calibration parameters Image capturing: acquiring images of the object with pattern illumination Stripe determination: finding out each stripe code Active triangulation : calculating the intersection of each stripe with the image plane Outlier removal: removing points with wrong coordinates Our system We implemented a system that has three major modules.
The first one consists on a calibration software that allows the user to
determine the 3D position in space for the camera and the projector used
for scan and save the calibratrion results. The second module is a set of
scripts (currently only working under Linux) that allows the user to quick
scan objects using a step-by-step approach. The third module implements
the stripe determination, the active triangulation procedure and the coordinate
recovering steps. The model can be viewed as a points cloud. Documentation The calibration module documentation is avaiable here. The triangulation module documentation
can be found here. The system works
under Linux (tested under Redhat 7.3). The calibration and the triangulation
modules also work under Windows but the scan scripts are still not supported. Last update December 12, 2003 |