Dwarf Scanner

The “Dwarf-Scanner” is a 3D hand-held laser scanner, as part of a graduate semester project for the Machine Vision course at Jacobs University, Bremen, in Fall 2010. It wants to represent a DIY method for obtaining decent quality point clouds of small objects, by using only a cheap line laser, a webcam and a basic setup.

For a short presentation on the steps of the algorithm, please see the following link .

The software uses OpenCV (http://opencv.willowgarage.com/) as the main image processing library and Eigen for the math (http://eigen.tuxfamily.org). Special thanks go to Prof. Dr. Andreas Nuechter for  providing us with a great set of tools for point cloud processing (slam6D – http://slam6d.sourceforge.net/), and most importantly, for his support during development.


Basically, the program takes input images as the one below:

The laser line is then extracted using the difference between the current image and an image without any laser, with the scene in the same configuration. After line fitting and some filtering steps, a clean image containing only the red light and another one containing only the points are obtained.

In order to obtain 3D points, intrinsic and extrinsic calibration of the camera is necessary. The intrinsic one is done offline by a small application using a checkerboard pattern; the extrinsic calibration is done online and uses the two checkerboards on the wooden corner, present in each frame. Then via triangulation based on the lines on the two walls of the scene, the 3D points with colors are extracted. A few examples are shown below:



In addition, ICP registration is done to consecutive scans in order to obtain a full model of the object. Surprisingly enough, the point clouds are precise enough for up to 5-6 consecutive pairs to be matched together.

  1. No comments yet.

  1. No trackbacks yet.