Friday, December 30, 2011

Accuracy Testing of 3D Scanners - The Dot Finding Method

There is a simple way to test a 3D scanner's accuracy that many companies have the resources to perform:

Step 1: Place a series of photogrammetry dots on a 3D-shaped object, such as a table with several blocks on it, or a chair seat, legs, and floor. The goal is to fill the 3D scanner's calibration field of view, and also fill the Z depth of the system's calibration.
Step 2: Perform a photogrammetry session on the dots using a standard photogrammetry system (this can often be performed as a service if your company doesn't have a photogrammetry system)
Step 3: Measure the targets with the 3D scanner. Most high-end/industrial 3D scanners have dotfinders. Collect only a single shot of the targets.
Step 4: Export the targets measured by the 3D scanner.
Step 5: Compare the targets measured by the 3D scanner with the same targets measured by the photogrammetry session.


WHY IS THIS A GOOD TEST? Because targets are one of the easiest things to measure in the optics world. It is a well-understood process to find white dots on a black background in the imaging processing world. The accuracy of the measured dot will almost ALWAYS be more accurate than the accuracy of the 3D scanner's surface measurement capabilities, because projected patterns will not be found as accurately as targets.

Targets represent perfect contrast on a perfectly white, Lambertian (diffuse) surface against a perfectly black, Lambertian (diffuse) surface, on a perfectly-round circle. Fringes and projected patterns, on the other hand, are much more difficult to locate in the camera image. Since the 3D reconstruction (either targets or surface) is intimately linked to how well the features are found in the camera image, the "Dot Finding Method" provides a clear window into the system's calibration.

If you would like assistance conducting a metrology study such as this, we would be happy to assist!

Friday, December 23, 2011

2011 Camera Improvements

The camera is the cornerstone of a 3D scanner's or photogrammetry system's performance. 

More pixels = more accurate
Higher-sensitivity pixels = fewer pixels needed
Larger pixels = more sensitive (i.e. capable of holding more photons)
Faster data transmit rate = more freedom for algorithm development



In 2011, Twin Coast Metrology's primary camera supplier began accepting orders for 29Megapixel cameras.  Previously, 16Megapixel cameras were the limit.  The 29 Megapixel cameras have similar sensitivities, similar data transmit rates (measured in frames per second), and utilize the same lensing.  In other words, the camera industry is progressing.  The 29 Megapixel cameras are not drastically more expensive than the 16Megapixel cameras. 

In addition, new mid-level cameras were released, which offer high-quality 8Megapixel images at fast transfer rates.  These are a lower-cost option, and are suitable for systems that do not require the accuracy that a 16 or 29 Megapixel camera can deliver.  The 8Megapixel cameras are not drastically more expensive than the 4Megapixel cameras that were used as Twin Coast Metrology's mid-level cameras. 

To recap the relationship between pixels and accuracy, we'll use targets as an example, since almost every high-end 3D scanner has a target-finding capability:
The practical limit for finding a target in a camera image is 0.08 pixels at 2*RMS (or, 2 sigma.  This is double the 0.04pixel guideline at 1 sigma, which is a published value for a standard "dot" target)

Therefore, if a picture is taken that is 1m wide x 1m high (a reasonable image size for a 3D scanner):
A 1 Megapixel camera (1000 pixels x 1000 pixels) will locate the target to 0.08mm at 2 sigma
A 4 Megapixel camera (2000 pixels x 2000 pixels) will locate the target to 0.04mm at 2 sigma
A 16 Megapixel camera (4000 pixels x 4000 pixels) will locate the target to 0.02mm at 2 sigma
A 64 Megapixel camera (8000 pixels x 8000 pixels) will locate the target to 0.01mm at 2 sigma

The Z accuracy is then derived by multiplying the X,Y accuracy by 1/(sin(camera angles)).  So, for a 3D scanner that has a 30 degree angle between cameras (a reasonable angle for a 3D scanner), the Z accuracy would be the X,Y accuracy divided by sin(30).  In the above examples, then, the Z accuracy would be:
0.16mm for the 1 Megapixel camera at 2 sigma
0.08mm for the 4 Megapixel camera at 2 sigma
0.04mm for the 16 Megapixel camera at 2 sigma
0.02mm for the 64 Megapixel camera at 2 sigma

The above guidelines show that more pixels results in better accuracy, and that greater angles between cameras results in better accuracy.  Photogrammetry systems are more accurate than scanners because, in addition to typically using higher-pixel cameras, there are greater angles involved, and there is also the benefit of collecting additional images, which improves accuracy. 

If, upon conducting this test, at a 1meter field of view with the number of pixels above, your 3D scanner is not sitting in the accuracy ranges above at 2 sigma, then something is wrong with the calibration.  Accuracy scales linearly with field of view, so for a 0.5m field of view, divide the accuracy numbers above by 2.  Adjust accordingly for other fields of view. 

A SIDE NOTE: Targets are easier to find than fringes or patterns of projected light.  Therefore, the target finding aspect of the 3D scanner will almost always be more accurate than the surface measurement aspect.