Project Splinescan
QUICKLINKS:

Disclaimer:
Working with lasers is very dangerous. A laser beam is capable of causing permanent blindness in humans and animals, and should be treated with respect and due care at all times. No responsibility is assumed by the author of this document for any injury or loss caused as a result of using lasers.

Introduction
Lasers are usually the first example that springs to mind when line generation in 3D scanning is considered. The reason for this is obvious – a narrow beam of light can be manipulated into a visible line quite easily, and a laser is an ideal source of such light. Modern laser modules can project a fine, bright line on most surfaces, although some care must be taken to manipulate the beam safely and effectively. The laser line generator is not an ideal solution, despite it's obvious advantages. All lasers suffer from quantum speckle, and will appear to shimmer when viewed on camera or with the naked eye. This speckle is difficult to deal with effectively, and complicated time-space algorithms must be used to counter the incoherent artifacts present in the projected line. While modern laser emitters are more capable of projecting lines in a variety of colours, it most likely that the commonly available projectors will be red. This can cause problems for certain chroma-based line capture algorithms, which may be unable to distinguish the line on similarly coloured backgrounds. While the simple solution to this problem is to add an alternative emitter, the cost of multiple emitters can quickly become prohibitive to the casual user, and the safety aspects of multiple lasers must also be considered.

Hardware
Laser line emitters can be produced quite easily with off the shelf components. There are two main classes of line generator – the lens based generator, and the mechanical laser painter.

Lens based emitters use a cylindrical lens to stretch a laser beam along one axis to make a line. Lens based line generators are very common, and can be found in many hardware stores as stand alone units, or built into various power tools. A notable variant of the lens based line generator uses an anamorphic mirror to scatter the beam along one reflecting axis, and produces a similar result. All lens based generators are prone to distortion from poor quality lenses or poor alignment. Even properly designed and constructed lens emitters will usually have a 'bright-spot' where the beam passes through the lens and appears slightly thicker at one point.

Laser painters rely on a rapidly rotating mirror to generate a beam. One advantage of the laser painter is that the line always be straight, and will not have a 'bright spot' like a lens based emitter. However, the painted beam is not actually a complete line – the illusion of a line is created by persistence of vision in the same way that a television picture is created. The beam scans down faster than the eye can see, giving the appearance of a continuous line. This may cause problems when capturing laser lines on camera, as the scan rates of the camera and the laser line will be asynchronous. Laser painters also require moving parts, and are susceptible to vibration if improperly constructed.

SNIPPETS:

GOING TO PYTHON
The splinescan project is being redesigned from the ground up using PYTHON. I tried experimenting with C but in the end, the programming started to overtake the project, and was becoming inaccessible. Python is an interpreted language, runs on most platforms, is easy to learn and is ideally suited to the scanner project.

V4L
The capture system uses streamer to gather data - While V4L programming was ok to do, there is very little need to reinvent the wheel and streamer does exactly what the project needs it to do.

© Wednesday 07th of January 2009 12:53:27 PM - Andrew Lewis