What is the meaning of “DAVID”?
It's just a nice name for a small but powerful software between all those Goliaths…
How does DAVID work?
The concept has been published as a Paper at the German Association for Pattern Recognition (DAGM, Deutsche Arbeitsgemeinschaft für Mustererkennung) and can be downloaded here: Low-Cost Laser Range Scanner and Fast Surface Registration Approach
Is there a forum about DAVID?
Yes! Please do not hesitate to ask questions, answer questions or post comments: Forum
How accurate are the scanning results?
They are surprisingly good! Of course this depends on the hardware you use and the setup (camera distance, object size, light conditions, triangulation angle, quality of the calibration target…). In our setup with a not-low-cost grayscale camera, a rather bright 5 mW laser, an object size of about 50 mm, a camera distance of about 600 mm, and a reasonable triangulation angle of about 30°, we obtained errors of less than 0.4 mm. Generally, the error is not more than 1% of the camera distance.
Remark: If you execute the camera calibration correctly, the 3d output will not only contain the shape of the object, but will have a correct absolute scale! There are many things that affects the scan quality.
What mesh resolution (number of polygons) can be achieved with webcams?
You get one mesh vertex per foreground/object pixel. If you use a 1.3 megapixel camera and if the depth data of your object (that you have scanned) covers 1/3 of your camera image, than you get approximately 450 000 vertices. But remember: mesh resolution and mesh accuracy are two different things.
What kind of camera / laser do you recommend?
Before you buy expensive hardware, we suggest that you make your first experiments with cheap hardware and see whether it’s sufficient for you or which problems you have. First try to solve them as much as possible by changing your setup (camera settings, room brightness, background color, object color, background corner precision).
Calibration works, but I get no 3d data while scanning. Instead, I get the error message “LASER LINE NOT DETECTED” What is wrong?
DAVID is not able to detect the laser line in the image. There may be several reasons for that:
During scanning, I get the error message “INTERSECTION ANGLE TOO LOW!” What does it mean?
You need to hold your laser at a different position (in most cases: higher). DAVID calculates 3d coordinates by intersecting the laser plane with “viewing rays” through the camera. That is why the laser plane must not be too close to the camera.
My surface is heavily spiked. How can I reduce that? Spikes are often caused by laser reflections at the surface. Try to reduce the camera exposure time / shutter / brightness… such that only one single laser line (without laser reflections) is visible. You can furthermore reduce noise by pressing the smoothing buttons multiple times and/or by sliding the laser more often over the surface. If this does not help, you might coat the object with a matt paint or a powder.
How can I scan bigger or smaller objects?
Theoretically, you can scale the whole setup up or down as far as you want. For very large objects, you will need a very large Calibration Corner with an accordingly large calibration pattern, and a bright laser. For a very small setup, the laser line should be as thin as possible.
Hint: Instead of using two walls in the background, you can simply use a single vertical wall together with the floor. Floor and wall build a perfect 'calibration corner'; if you rotate the camera (and laser) about 90 degree….
How can I scan dark objects?
Scanning of rather dark objects is difficult. You might coat the object with a matt paint or a powder. If this is not possible, maybe the following idea helps (not for perfectly black objects, of course): The problem is that only little laser light is reflected by the object. So you increase the camera's aperture size and/or exposure time → now the laser is sufficiently reflected by the object, but the background is too bright! → the camera is oversaturated, the laser line gets too wide, cannot be detected and so on → scanning doesn't work. So our simple idea is to replace the bright background by a dark one (about as dark as the object is). Of course it has to be the same structure as in the calibration, so you should use the bright printouts for calibration and attach dark paper for scanning. Or you can use the “Invert” option in the Calibration window and use white calibration markers on dark planes.
Can I scan a person that has open eyes?
We strongly advise against trying to scan an open eye of a person!! You find important safety-related warnings on every commercial laser device! The best way is to scan the head with closed eyes and to modify the mesh afterwards. The mesh differences between closed and open eyes are not high. The main differences can be seen in the texture, and to get the texture you need no laser.