# High Precision Laser Scanning of Metallic Surfaces

Authors: Yousaf Muhamad Amir; Benny Thörnberg
Journal: International Journal of Optics
 (2017)

---

## Abstract

Speckle noise, dynamic range of light intensity, and spurious reflections are major challenges when laser scanners are used for 3D surface acquisition. In this work, a series of image processing operations, that is,Spatial Compound Imaging,High Dynamic Range Extension,Gray Level Transformation, andMost Similar Nearest Neighbor are proposed to overcome the challenges coming from the target surface. A prototype scanner for metallic surfaces is designed to explore combinations of these image processing operations. The main goal is to find the combination of operations that will lead to the highest possible robustness and measurement precision at the lowest possible computational load. Inspection of metallic tools where the surface of its edge must be measured at micrometer precision is our test case. Precision of heights measured without using the proposed image processing is firstly analyzed to be ±7.6 μm at 68% confidence level. The best achieved height precision was ±4.2 μm. This improvement comes at 24 times longer processing time and five times longer scanning time. Dynamic range extension of the image capture improves robustness since the numbers of saturated or underexposed pixels are substantially reduced. Using a high dynamic range (HDR) camera offers a compromise between processing time, robustness, and precision.


---

## Body

## 1. Introduction

Three-dimensional (3D) laser scanning systems are having wide range of applications. There is vast amount of scientific publications describing various applications for laser scanning. Several of those applications for 3D scanning require precision and accuracy at micrometer scale [1–3]. In many industrial manufacturing processes the sharpness of edge in sawing, cutting, drilling, and milling tools is key to assure the quality of production. Three-dimensional scanning systems have enabled measurements of tool surfaces for monitoring of their condition [1, 4]. 3D laser scanners exploiting optical triangulation technique are now dominating the market due to their noncontact nature, better accuracy, better precision, and higher scanning rate [5].Contact probe Coordinate Measuring Machines (CMM) are the predecessor to laser scanners [6]. Contact probes have limitations inherited from their technique that make them unsuitable for scanning many delicate objects or fine polished surfaces. The laser scanners on the other hand do not need to touch the object surface and offer higher scanning speed. However, they are likely to face many challenging and optically tough surfaces such as shiny, translucent, or transparent surfaces. Scanning of a shiny surface such as machined steel or aluminum often leads to second-order or higher order reflections superposed on the true laser projections [7]. In addition, speckle noise makes it difficult to analyze captured images [8]. Shiny surfaces can be sprayed with a thin layer of antireflective coating before measurement to suppress such kinds of issues [9]. However, this solution is not suitable to many applications. In addition, there is another category of errors, usually referred to as systematic errors that occur due to inaccuracies in relative positions and orientations of sensors and target surfaces [10]. Systematic errors can also arise from digitization and thresholding of light intensities when subpixel precision of laser line position is computed [11]. Variations of ambient light can have a large impact on the accuracy of measurements [12].A 3D laser scanner consists of a laser source and a camera including an optical lens. The scanner measures the depth from object surface level to a reference plane in the direction of its normal vector. This depth is also referred to as range. A laser scanner intended to measure range at micrometer scale needs to be resistant to optical noise sources in order to ensure high precision. We hypothesize that impact on range data from noise sources can be sufficiently suppressed by image processing. Spatial Compound Imaging (SCI), High Dynamic Range Extension (HDRE), Gray Level Transformation (GLT), Most Similar Nearest Neighbor (MSNN), and Center of Gravity (COG) are the candidates for image acquisition and processing that we have selected for an exploration. The goal of this exploration is to find the combination of operations that will lead to the highest possible measurement precision at lowest possible computational load. 3D scanning of a cutting tool used for chipping of wood logs is selected as a test case. The possibility of optical inspection of those tools is of great interest for pulp and paper industry. The research question that we ask is as follows:Will the proposed method for scanning and image processing using a 3D laser scanner result in accuracy, precision, and robustness good enough to inspect a shiny metallic surface for wear and damage at micrometer range?The scientific contribution in this paper is an exploration of combinations of SCI, HDRE, MSNN, and COG reporting accuracy, precision, robustness, and processing time.The rest of this paper is organized as follows: Section2 reviews previous and related work in the field. Theory in Section 3 explains the principle of laser triangulation and presents a mathematical relationship between range and position of reflected light. Section 4 describes our methods to address the research problem. It includes discussion about experimental design, image processing algorithms, and data analysis techniques. Results are reported in Section 5 and discussed in Section 6 and finally conclusions are outlined in Section 7.


## 2. Related Work

Several research studies have been conducted to investigate new methods for determining the accurate and precise position of a laser line. Fisher and Naidu [13] have presented a comparison of five methods, that is, Gaussian approximation, center of mass, linear interpolation, parabolic estimator, and Blais and Rioux method for detection of laser line to subpixel accuracy assuming that the spread of laser line is not random but rather conforms to some kind of Gaussian distribution. Forest et al. [14] named three types of noise sources, that is, electrical noise, quantization noise, and speckle noise, that jointly produce constructive and destructive interferences within the laser line and give it a granular appearance. They suggested a low pass FIR filter with right cut-off frequency that should be used before finding the peaks in laser line. A first-order derivative of a row is proposed to find out zero crossings that would produce more accurate results for laser peak positioning. They experimented with matte and translucent surfaces and compared their performance with the methods presented in [13]. In [7], a scanning method is presented to eliminate spurious reflections while scanning shiny surfaces. The algorithm useslook-up tables of off-line developed reference points and considers the laser peaks only within a limited size spatial window around reference peak point during on-line scanning. Marani et al. give a detailed presentation of high-resolution 3D inspection system for a challenging drilling tool [4]. They specify an analytical method for registering valid data points while filtering out the measurements that violate Gaussian spread for laser peak. The intensity peaks lower than a threshold level are ignored to remove second-order reflections. Clark et al. measure orientation change of linearly polarized light reflected in metallic surfaces [15]. The true laser line is separated from spurious reflections by discrimination of the transmitted radiance sinusoid for each image pixel. This method appears promising but on the other hand it will require multiple exposures which will significantly slow down the scanner. Zhong and Yau have used HDR scanning technique to measure an object surface with large reflectivity variation range using fringe patterns [16]. In [17], a 3D laser scanning system is presented to capture HDR brightness surface with a modified optical system using liquid crystal on silicon.In this section, we have presented a review of several publications addressing the challenges of optical scanning of metal surfaces. But we have not found any published exploration of series of image processing operations where improvements of robustness and precision are reported along with processing time. The scientific contribution in this paper is an exploration of combinations of SCI, HDRE, and MSNN reporting precision, robustness, and processing time. We believe that this contribution is valuable knowledge for any scientist or engineer working on 3D surface scanning.


## 3. Theory

The 3D scanner system described in this work uses laser triangulation technique. In this section the principle of triangulation is explained.


### 3.1. Principle of Laser Triangulation

In laser triangulation technique, a narrow laser line is projected on the target surface. This laser line appears straight when projected on a plane surface used as reference. In Figure1 this reference plane is defined by axes CD (cross dimension) and SD (scanning dimension). Any point along the line that is projected on an object having height above the reference will cause that point to deviate spatially when observed by a 2D camera. This camera collects the laser light reflected from the object’s surface onto a focal plane array. An image processing algorithm finds the laser line in the captured image and calculates any existing changes in position that relates to height deviations along axis HD (height dimension). Each row of the laser line image generates an individual data point or surface level value. Scanning rows across the laser line in a single image produces a data vector or vector of surface level values. The laser projection is iteratively moved along SD and over the target surface while images are captured subsequently. The set of images that scans the whole surface is referred to as scan images. Integration of data vectors from each scan image makes up another image called range image, a three-dimensional (3D) image in which pixel coordinates represent the CD-SD coordinates of scanned surface while pixel values carry the height level along HD. Figure 2 further describes the geometry and set of parameters used for a triangulation model. A laser line projected on an object of height r is reflected onto the focal plane array at position d. The mathematical relationship between r and d is explained as(1)r=H·1-C-Dtan⁡β·Ctan⁡β-dCtan⁡β+D·C+dtan⁡β.C is the principle distance from projection center to image plane in focus. This projection corresponds to the pinhole camera model [18]. Parameter H is the height from reference to projection center and D is the physical size of image detector. Camera has an angle of impact β with respect to reference level. The relation between r and d becomes more or less linear depending on parameters C,D,H, and β. This nonlinearity can be seen in Figure 3. This graph explains the relationship between r and d for imaging system IS1 as summarized in Table 1. Such a 3D scanner working in micrometer range is typically equipped with a telecentric lens having a limited Depth Of Field (DOF) at a specified working distance WDC. The limited DOF will in turn limit the measurable range of heights but for which the system appears close to linear. This is because the telecentric lens will ideally only allow parallel light rays to be projected at focal plane, that way removing perspective distortions. A more simple mathematical relation illustrated in Figure 4 can then be used:(2)Δr=ΔdM·cos⁡β.A small spatial deviation Δd of light projected on a focal plane array corresponds to a height deviation Δr. M is the optical magnification. This function is useful at calibration of the scanner. However, the major challenge when computing height r is the accurate determination of position d of a laser line on the focal plane array. Spurious reflections and speckle noise makes this computation difficult.Table 1
Properties of scanner system and its components.
Characteristics
IS1
IS2
Pixel size of camera
∂d
3.2μm
10μm
Resolution of lens
R
l
e
n
s
100 lp/mm
40 lp/mm
Optical amplification
M
0.4475
1
Depth Of Field
DOF
±1.2 mm
Number of rows for detector
N
R
1536
576
Number of columns for detector
N
C
2048
768
Distance from projection point in camera lens to surface
S
162 mm
—
Camera working distance
WDC
—
110 mm
Height from reference plane to projection point in lens
H
140.2 mm
Focal length of lens
f
50 mm
—
Dynamic range of camera
DR
60 dB
120 dB
Step size in scanning dimension
stepS
8.33µm
Angle of camera view
β
60 degrees
Width of laser line
lw
25μm
Spectral wavelength of laser
λ
660 nm
Laser working distance
WDL
120 mmFigure 1
3D scanner.Figure 2
Geometry of laser triangulation.Figure 3
Transfer function relating surface level and spatial deviation on image plane.Figure 4
Linear triangulation.


### 3.2. Speckle Noise

Speckle noise is generated due to the surface roughness at the order of wavelength of incident coherent light. It gives peculiar granular appearance when the surface is imaged under highly coherent light [19]. Most surfaces are rough at the scale of light’s wavelength because of microfacets having its normal differing from the normal of approximated smooth surface. Hence, constructive and destructive reflections in those microfacets cause strong granular intensity variations to appear in image of a projected laser line. This phenomenon is referred to as speckle noise and is illustrated in Figure 5.Figure 5
Speckle noise in image of a laser line on metallic surface.


### 3.3. Spurious Reflections

Spurious reflections are another big problem in 3D surface scanning of a shiny metallic surface. The reflected light from targeted part may illuminate some other parts of surface. These unwanted illuminated spots may deceive the range value calculation algorithm causing a fake measurement of surface. These light spots will be referred to as noise components whereas light spots along the true laser line would be called signal components.


### 3.4. Dynamic Range of an Image

Dynamic range of an image refers to the ratio of the highest pixel value to the lowest one. It is usually specified in logarithmic unit dB (decibels). It expresses the factor by which highest pixel intensityPixHi is greater than the lowest intensity PixLo in an image. Mathematically it can be formulated as(3)HDR=20·log⁡PixHiPixLo.The laser line shown in Figure 5 indicates a limited capability of a digital image sensor to accurately capture large variations of intensities. It shows underexposed pixels that lead to incomplete range image data. Saturated pixel on the other hand questions the authenticity of the result as it does not reflect the actual intensity level.This image was made with a sensor being able to capture maximum 65 dB of dynamic range. Processing of series of images having a large range of exposure times can be used to increase dynamic range of an image detector. Alternatively a High Dynamic Range (HDR) sensor can be used.


### 3.5. HDR Sensor with Photovoltaic Pixels

The HDR camera used in this work is built with miniaturized solar cells instead of conventional photodiodes. Solar cells generate a logarithmic voltage based on amount of light. This means that taking logarithm of the signal afterwards is not necessary. The HDR pixels do not use integrative principle, but rather they output a voltage corresponding to current amount of light at all times [20]. Hence, there is no concept of exposure for HDR cameras.


## 3.1. Principle of Laser Triangulation

In laser triangulation technique, a narrow laser line is projected on the target surface. This laser line appears straight when projected on a plane surface used as reference. In Figure1 this reference plane is defined by axes CD (cross dimension) and SD (scanning dimension). Any point along the line that is projected on an object having height above the reference will cause that point to deviate spatially when observed by a 2D camera. This camera collects the laser light reflected from the object’s surface onto a focal plane array. An image processing algorithm finds the laser line in the captured image and calculates any existing changes in position that relates to height deviations along axis HD (height dimension). Each row of the laser line image generates an individual data point or surface level value. Scanning rows across the laser line in a single image produces a data vector or vector of surface level values. The laser projection is iteratively moved along SD and over the target surface while images are captured subsequently. The set of images that scans the whole surface is referred to as scan images. Integration of data vectors from each scan image makes up another image called range image, a three-dimensional (3D) image in which pixel coordinates represent the CD-SD coordinates of scanned surface while pixel values carry the height level along HD. Figure 2 further describes the geometry and set of parameters used for a triangulation model. A laser line projected on an object of height r is reflected onto the focal plane array at position d. The mathematical relationship between r and d is explained as(1)r=H·1-C-Dtan⁡β·Ctan⁡β-dCtan⁡β+D·C+dtan⁡β.C is the principle distance from projection center to image plane in focus. This projection corresponds to the pinhole camera model [18]. Parameter H is the height from reference to projection center and D is the physical size of image detector. Camera has an angle of impact β with respect to reference level. The relation between r and d becomes more or less linear depending on parameters C,D,H, and β. This nonlinearity can be seen in Figure 3. This graph explains the relationship between r and d for imaging system IS1 as summarized in Table 1. Such a 3D scanner working in micrometer range is typically equipped with a telecentric lens having a limited Depth Of Field (DOF) at a specified working distance WDC. The limited DOF will in turn limit the measurable range of heights but for which the system appears close to linear. This is because the telecentric lens will ideally only allow parallel light rays to be projected at focal plane, that way removing perspective distortions. A more simple mathematical relation illustrated in Figure 4 can then be used:(2)Δr=ΔdM·cos⁡β.A small spatial deviation Δd of light projected on a focal plane array corresponds to a height deviation Δr. M is the optical magnification. This function is useful at calibration of the scanner. However, the major challenge when computing height r is the accurate determination of position d of a laser line on the focal plane array. Spurious reflections and speckle noise makes this computation difficult.Table 1
Properties of scanner system and its components.
Characteristics
IS1
IS2
Pixel size of camera
∂d
3.2μm
10μm
Resolution of lens
R
l
e
n
s
100 lp/mm
40 lp/mm
Optical amplification
M
0.4475
1
Depth Of Field
DOF
±1.2 mm
Number of rows for detector
N
R
1536
576
Number of columns for detector
N
C
2048
768
Distance from projection point in camera lens to surface
S
162 mm
—
Camera working distance
WDC
—
110 mm
Height from reference plane to projection point in lens
H
140.2 mm
Focal length of lens
f
50 mm
—
Dynamic range of camera
DR
60 dB
120 dB
Step size in scanning dimension
stepS
8.33µm
Angle of camera view
β
60 degrees
Width of laser line
lw
25μm
Spectral wavelength of laser
λ
660 nm
Laser working distance
WDL
120 mmFigure 1
3D scanner.Figure 2
Geometry of laser triangulation.Figure 3
Transfer function relating surface level and spatial deviation on image plane.Figure 4
Linear triangulation.


## 3.2. Speckle Noise

Speckle noise is generated due to the surface roughness at the order of wavelength of incident coherent light. It gives peculiar granular appearance when the surface is imaged under highly coherent light [19]. Most surfaces are rough at the scale of light’s wavelength because of microfacets having its normal differing from the normal of approximated smooth surface. Hence, constructive and destructive reflections in those microfacets cause strong granular intensity variations to appear in image of a projected laser line. This phenomenon is referred to as speckle noise and is illustrated in Figure 5.Figure 5
Speckle noise in image of a laser line on metallic surface.


## 3.3. Spurious Reflections

Spurious reflections are another big problem in 3D surface scanning of a shiny metallic surface. The reflected light from targeted part may illuminate some other parts of surface. These unwanted illuminated spots may deceive the range value calculation algorithm causing a fake measurement of surface. These light spots will be referred to as noise components whereas light spots along the true laser line would be called signal components.


## 3.4. Dynamic Range of an Image

Dynamic range of an image refers to the ratio of the highest pixel value to the lowest one. It is usually specified in logarithmic unit dB (decibels). It expresses the factor by which highest pixel intensityPixHi is greater than the lowest intensity PixLo in an image. Mathematically it can be formulated as(3)HDR=20·log⁡PixHiPixLo.The laser line shown in Figure 5 indicates a limited capability of a digital image sensor to accurately capture large variations of intensities. It shows underexposed pixels that lead to incomplete range image data. Saturated pixel on the other hand questions the authenticity of the result as it does not reflect the actual intensity level.This image was made with a sensor being able to capture maximum 65 dB of dynamic range. Processing of series of images having a large range of exposure times can be used to increase dynamic range of an image detector. Alternatively a High Dynamic Range (HDR) sensor can be used.


## 3.5. HDR Sensor with Photovoltaic Pixels

The HDR camera used in this work is built with miniaturized solar cells instead of conventional photodiodes. Solar cells generate a logarithmic voltage based on amount of light. This means that taking logarithm of the signal afterwards is not necessary. The HDR pixels do not use integrative principle, but rather they output a voltage corresponding to current amount of light at all times [20]. Hence, there is no concept of exposure for HDR cameras.


## 4. Methodology

This research aims to explore combinations of image processing operations used for high precision laser scanning of metallic surfaces. We should find the combination giving the bestrobustness andprecision of range data at lowest possiblecomputational load. SCI, HDRE, GLT, and MSNN are operations included into this exploration because of their ability to suppress impact from speckle noise and spurious reflections. The four major quality parameters that describe the quality of range measurements are as follows:Robustness
(a)
Quantity of undefined pixels in range image,
(b)
Number of saturated pixels in scan images.Precision
(c)
Standard deviation of range values for a flat surface.Computational Load
(d)
CPU time for MATLAB simulations.The discussion in Section6 justifies the selection of these parameters as quality measures of a range image. In order to investigate the research question in terms of the above listed parameters, an experimental 3D scanner was designed. This scanner is comprised of both hardware components and software modules for data acquisition and control that are explained in the following subsections.


### 4.1. Hardware Components

The 3D laser scanner was designed specially to measure the metallic surfaces of Wood Chipping Tools. It has three major hardware components:(i)
Structured Light Source. A laser line source is employed that projects a straight line of width of 25 μm on the target surface from a working distance of 120 mm.(ii)
Imaging System. Two imaging systems IS1 and IS2, both of different specifications, are used to evaluate their performances. Firstly IS1, 3 MPix RGB image sensor, UI-1460SE-C-HQ, from IDS Imaging Development Systems GmbH with a lens of focal length 50 mm is used. Secondly, a 0.44 MPix HDR camera, EO-0418 from Edmund Optics with telecentric lens, is used. Detailed specifications of both systems are listed in Table 1.(iii)
Displacement System. It is a high-resolution stepper motor capable of minimum step size 0.49 μm that iteratively displaces the target object under fixed laser projection. A CAD design of proposed scanning system is shown in Figure 6. This sketch shows two sets of scanning systems to measure the tool surfaces on both sides. One side of tool is flat while the other side is beveled with angle of 55 degrees. Both scanning systems are oriented orthogonal to surfaces of tool.The metallic tool shown in Figure 7 is set to move in small steps under a stationary laser projection from a fixed source. In this work, only the beveled side of tool’s surface is measured. Adding one additional set of camera and laser could allow for simultaneous scanning of both sides. However, this is not necessary for the experiments reported in this paper.Figure 6
Laser inspection system model.Figure 7
Wood Chipping Tool.


### 4.2. Software Setup and Image Acquisition

Once the hardware components are set up at defined positions and orientations, the next step is to acquire the scan images. An image acquisition and control software is developed in LabVIEW that captures images stepwise across designated regions of interest. This software controls the stepper motor and makes it move in steps with a step size of 8.33μm.It also controls the camera and captures images at different exposure times ranging from 0.1 ms to 10 ms and stores them for later postprocessing into range images in MATLAB.


### 4.3. Main Experiment: Exploration of Image Processing

The proposed method employs series of image processing operations to compute range images for selected regions of interest. A generalized flow graph of the experimental method with major components of processing algorithm is depicted in Figure9. An exploration is conducted to find the best suitable combination and order of employed image processing operations. A cutting tool for use in machines that chip wood logs is the metallic object selected for this experiment. Three different regions labelled as R1, R2, and R3 of this Wood Chipping Tool, each of dimensions about 10 mm × 10 mm, are shown in Figure 7. All three regions have different degrees of damage instances that are to be accurately captured as 3D surfaces. R1 is a region with sharp edge having no apparent damage whereas R2 has two medium sized damage instances and one minor damage while R3 has one large damage. Firstly, scan images of this tool are cropped to generate range images for the three regions R1 to R3, each region of size 1000 × 241 pixels. See Figure 8. As a measure of robustness, the number of undefined pixels in range data and saturated pixels in scan images is computed for these cropped areas. Measurement precision of range values is computed for the smaller subregions indicated in Figure 8, each of size 600 × 241 pixels. These smaller regions are smooth flat surfaces on the tool. Measurement precision is estimated from standard deviation of range values with respect to a least-square fitted plane surface. The tool used for this analysis has a flat, machined metal surface that by itself has a certain unknown roughness. Hence, it means that the precision of height measurements is equal to or possibly less than the measured standard deviation.Figure 8
Regions of interest (ROI) in range images of R3. Regions R1 and R2 are marked likewise.Figure 9
Generalized processing flow graph of main experiment.The image processing operations SCI, HDRE, GLT, MSNN, and COG included in this exploration will all be described in the next section.


### 4.4. Image Processing Operations

The image processing techniques used in the proposed method for eliminating speckle noise and spurious reflections are explained here.


#### 4.4.1. Spatial Compound Imaging (SCI)

Spatial Compound Imaging is a technique, often used to remove speckle noise in ultrasound imaging [21]. In this technique multiple ultrasonic images were captured for the same region using multiple cameras from different angles [22] and combining them together to generate a single image. In our work, scan images Imi from N neighboring acquisition steps, each with spatial shift ofstepS (see Table 1), are averaged to get a compound image as modeled in (4).N was selected to be 5 for the experiments reported in this paper:(4)ImnSCI=∑i=n·Nn+1·N-1ImiN,n=0,1,2,3,….


#### 4.4.2. High Dynamic Range Extension (HDRE)

High Dynamic Range Extension is a set of techniques to extend the dynamic range of digital image sensors in order to overcome their inability to record a large range of reflectivity variations from a scene. A metallic surface when projected with coherent light offers wider range of reflectivity variations due to the orientation variations of microfacets. This large range of reflectivity variations has to be captured effectively by scanners for accurate 3D measurements. High Dynamic Range Extensions are known to enable optical scanners to measure such surfaces [16].There are several different techniques used to extend the dynamic range of image sensors used in various different imaging fields [23–25]. In this work, multiexposure imaging, also referred to as exposure bracketing technique, is used that utilizes a set of images of the same region captured at multiple exposure times. These multiple exposure images are then fused into a composite image, referred to as HDR-extended image. The set of exposure times depends on how much extension in dynamic range is required. This extension can be calculated as 20 times the logarithm of ratio of longest ExpHi to shortest exposure time ExpLo. See (5). The shortest exposure time is generally the exposure time that gives lowest possible number of statured pixels:(5)HDREXT=20log⁡ExpHiExpLo.The HDRE technique is implemented as in (6) that shows the pixelwise construction of HDR-extended image. PHDR represents the HDR-extended pixel. It picks the corresponding pixel from scan image with longest exposure time provided that it is not saturated. In case of saturation, the corresponding pixel from next lower exposure time is selected under the same condition. A pixel that is saturated in all scan images even in the least exposed image cannot be resolved and is thus left saturated.E is a set of exposure times ei∈E and indexed by i∈1⋯noExp, where noExp is the number of exposures used to compute an HDR-extended pixel intensity PHDR. Pei is the intensity value for a pixel at exposure time ei. The maximum saturation level of pixel intensities is Sat. A pixel intensity having an extended dynamic range is then computed as(6)PHDR=PeieiwhenPei<Sat∧Pei+1=SatPenoExpenoExpwhenPei<Sat∀ei∈ESate1whenPei=Sat∀ei∈E.Two sets of exposure times were used for HDRE in experiments reported in this work.E1={0.1,0.3,0.5,0.7,0.9} milliseconds which extends dynamic range of camera with 19 dB. See (3). E2={0.1,0.5,1,5,9} milliseconds was used for 39 dB extension.


#### 4.4.3. Gray Level Transformation (GLT)

Gray Level Transformation is a set of techniques used to adjust the image contrast by nonlinear intensity transformations, for example, tone mapping. This tone mapping can, for example, be applied on HDR images to allow visualization on displays having much lower dynamic range than the image [26]. Similarly we want to increase contrast for low intensities with respect to higher intensities. This way large intensity variations of an imaged laser line will be compressed. A function Tg transforms input intensity levels g into intensity levels gT such that gT=Tg. The maximum intensity level for both g and gT is gsat such that 0<g<gsat∧0<gT<gsat. The transformation Tg used for all experiments in this paper is defined as(7)Tg=gsatlog⁡g+1log⁡gsat+1p.Parameterp is used for control of transformation.Figure10 shows transformation Tg for different p values. The maximum intensity level gsat is chosen to be 255. For p<1 the low intensity gray levels get higher amplification as compared to brighter pixels. With increasing p value the low intensity pixels get relatively lower gain. The visual effect from applying Tg on an image of a laser line is demonstrated in Figure 11. Lower values for parameter p result in amplification of low intensity pixels.Figure 10
Gray Level Transformation using differentp values.Figure 11
Image of laser line processed with GLT.


#### 4.4.4. Most Similar Nearest Neighbours (MSNN)

The laser triangulation technique works with determination of right position of laser peak in the scan images. So it is very important to ignore all fake reflections in order to avoid any inaccurate measurements.As explained before the reflections come due to microfacets or damaged faces on the surface. These reflections are treated as noise but their power may require techniques such as HDRE and GLT to avoid saturation. MSNN is an algorithm to recognize and suppress the illuminated spots due to spurious reflection in the scan images. This algorithm uses the inherent characteristics of laser projection, that is, the continuity of laser line, the Gaussian profile of laser line with a fixed width, and the expected position of the laser projection.The algorithm works through several stages and generates a maskMr,c that suppresses all falsely illuminated pixels at positions (r,c) in scan images. The computational steps for generating M are explained below in detail.Peaks Detector. Ideally, each row in a scan image should carry a single laser peak whose location determines the surface level of object. The real image however carries the specular reflections that produce multiple noise peaks in addition to laser peak in each row. At first stage the algorithm records all the peaks as in [27] along with their supplementary information about their location, height, base width, and the width at the half height. This peak detector sets a variable threshold that is dependent on the mean intensity of each individual image. The minimum threshold level is however set to 0.1-fold of maximum intensity value in each row of the image.The algorithm at this stage marks a peak-start when it finds row intensity rising above threshold level. The peak-end is recorded when one of three possible conditions is met.(i)
Intensity value drops below the threshold level.(ii)
The column number of image reaches its maximum value while the intensity level is still above threshold.(iii)
A change from negative to positive gradient is detected.Valid Laser Peak. In the second stage, the algorithm evaluates the recorded laser peaks on the basis of their profiles in relation to inherent characteristics of incident laser line. Inherently the laser line depicts Gaussian distribution in scanning dimension with line width (lw) = 25 μm. The imaged line in each row can be analyzed according to Gaussian parameters, that is, the height, the position of peaks center, and the Gaussian full width at half maximum (FWHM) of laser line. As a first approach only height and FWHM are used. Starting from the bottom row, the algorithm looks for the very first laser peak that passes the width check and possesses highest signal-to-noise ratio. The highest signal-to-noise ratio is attained when no noise peak is found in the row except the valid laser peak.Laser Line Continuity. Once the valid laser line peak is marked the upcoming rows are scanned to find out most similar looking and nearest vertical neighbor. The similarity of neighbors is evaluated on the basis of peak’s width.Laser Line Mask. Based on the selected laser peak’s indices and corresponding widths, windows of ONEs in each row are placed to construct a binary image. The binary image being used as a mask was applied to HDR image to get a resulting image with valid intensity peaks of laser line only.


#### 4.4.5. Peak Location Computation Using COG

The maskM obtained at the output of the MSNN algorithm is used to suppress spurious reflections such that only signal components are included for further processing. As explained earlier in Section 3.1, the location of laser peaks at each row of a scan image is used to determine the range values at the corresponding row coordinates. The mathematical dependency between positions of laser line and corresponding range values is given by (1) or (2). A reliable and accurate peak position finding algorithm must be used to determine positions of laser line. Center of Gravity (COG) is proven to be the most suitable choice of method for computation of peak locations [13, 27]. The COG is computed as in (8)COGr=∑c=1Nc·Pr,c·Mr,c∑c=1NPr,c·Mr,c.C
O
G
r denotes the light peak position along the column dimension and at row r. Each row has N number of columns indexed by c. Pr,c is the light intensity level captured by a pixel in a scan image at row r and columnc. Mr,c is the mask of valid pixels generated by the MSNN algorithm. Equation (8) shows that a row r having its sum of valid pixel values equal to zero would generate an undefined COG. This means that the corresponding surface level cannot be determined. We refer to this phenomenon asmissing range values. This can happen if the laser peak is missing due to speckle noise as shown in Figure 5, or due to damage in the surface as in regions R2 and R3 in Figure 7.Similarly, a saturated pixel does not represent the actual illuminance of its corresponding point at objects surface and hence cannot contribute with true weight of that point to the COG computation. This saturation is due to a limited dynamic range of the image detector. It will lead to false range values, a phenomenon we refer to assaturated pixels.The standard deviation of measured range values from the expected range values represents the systems noise in range image. The expected range values are calculated for each scan image individually using line fitting technique. There are a number of factors that may contribute to standard deviation in range values for a smooth surface. The factors include sensor’s inaccuracies at pixels level, inaccuracies in incident laser light’s profile, speckle noise, spurious reflections, and the roughness of target surface itself. However, with the given set of input images, the contributions from sensor array, laser light, and surface’s roughness would be considered constant while the effects of speckle noise and spurious reflections will be measured at different processing stages.


### 4.5. Calibration

Range values as described in previous sections represent surface heights as pixels. A calibration is however necessary in order to calculate heights in metric units. The mathematical relation between pixels and metric heights is described by (1) and (2). A staircase shaped object of known heights is designed to be used as calibration object. See Figure 12. This object is prepared from a set of metallic blades which we glued together using a cyanoacrylate glue under mechanical pressure. We used the blades from a feeler gauge having calibrated thicknesses. The series of eight heights provided by this object was measured using a micrometer screw gauge and results are reported in Table 2. The micrometer screw gauge can measure thickness with an accuracy in the range of five μm. The calibration object was illuminated with a laser line as described in Figure 6 while images were captured using IS1 and IS2. Viewed positions of laser line along with corresponding measured heights are listed in Table 2. Figures 13 and 14 are showing dependencies between metric heights and pixels for both imaging systems. We then performed least-square fitting of this data to lines. Slope for IS1 is estimated to beS = 0.0142 mm/pixel while slope for IS2 isS = 0.0194 mm/pixel. If we compute slopes by (2) using data from Table 1, we get 0.0143 mm/pixel for IS1 and 0.020 mm/pixel for IS2. Precision of height measurements σS in this 3D scanner can simply be estimated as(9)σS≈S·Standard  Dev  (range  values).The calibrated responses deviate from known heights with maximum 12 μm for IS1 and 24 μm for IS2.Table 2
Calibration data.
Known object heights (mm)
IS1 (pixels)
IS2 (pixels)
0.14
9.152
6.22
0.25
17.9658
12.03
0.36
25.72
16.41
0.44
29.8984
22.80
0.55
38.65
26.89
0.64
44.7688
31.3215
0.745
52.03
37.4921Figure 12
Calibration object.Figure 13
Calibration curve for IS1.Figure 14
Calibration curve for IS2.


## 4.1. Hardware Components

The 3D laser scanner was designed specially to measure the metallic surfaces of Wood Chipping Tools. It has three major hardware components:(i)
Structured Light Source. A laser line source is employed that projects a straight line of width of 25 μm on the target surface from a working distance of 120 mm.(ii)
Imaging System. Two imaging systems IS1 and IS2, both of different specifications, are used to evaluate their performances. Firstly IS1, 3 MPix RGB image sensor, UI-1460SE-C-HQ, from IDS Imaging Development Systems GmbH with a lens of focal length 50 mm is used. Secondly, a 0.44 MPix HDR camera, EO-0418 from Edmund Optics with telecentric lens, is used. Detailed specifications of both systems are listed in Table 1.(iii)
Displacement System. It is a high-resolution stepper motor capable of minimum step size 0.49 μm that iteratively displaces the target object under fixed laser projection. A CAD design of proposed scanning system is shown in Figure 6. This sketch shows two sets of scanning systems to measure the tool surfaces on both sides. One side of tool is flat while the other side is beveled with angle of 55 degrees. Both scanning systems are oriented orthogonal to surfaces of tool.The metallic tool shown in Figure 7 is set to move in small steps under a stationary laser projection from a fixed source. In this work, only the beveled side of tool’s surface is measured. Adding one additional set of camera and laser could allow for simultaneous scanning of both sides. However, this is not necessary for the experiments reported in this paper.Figure 6
Laser inspection system model.Figure 7
Wood Chipping Tool.


## 4.2. Software Setup and Image Acquisition

Once the hardware components are set up at defined positions and orientations, the next step is to acquire the scan images. An image acquisition and control software is developed in LabVIEW that captures images stepwise across designated regions of interest. This software controls the stepper motor and makes it move in steps with a step size of 8.33μm.It also controls the camera and captures images at different exposure times ranging from 0.1 ms to 10 ms and stores them for later postprocessing into range images in MATLAB.


## 4.3. Main Experiment: Exploration of Image Processing

The proposed method employs series of image processing operations to compute range images for selected regions of interest. A generalized flow graph of the experimental method with major components of processing algorithm is depicted in Figure9. An exploration is conducted to find the best suitable combination and order of employed image processing operations. A cutting tool for use in machines that chip wood logs is the metallic object selected for this experiment. Three different regions labelled as R1, R2, and R3 of this Wood Chipping Tool, each of dimensions about 10 mm × 10 mm, are shown in Figure 7. All three regions have different degrees of damage instances that are to be accurately captured as 3D surfaces. R1 is a region with sharp edge having no apparent damage whereas R2 has two medium sized damage instances and one minor damage while R3 has one large damage. Firstly, scan images of this tool are cropped to generate range images for the three regions R1 to R3, each region of size 1000 × 241 pixels. See Figure 8. As a measure of robustness, the number of undefined pixels in range data and saturated pixels in scan images is computed for these cropped areas. Measurement precision of range values is computed for the smaller subregions indicated in Figure 8, each of size 600 × 241 pixels. These smaller regions are smooth flat surfaces on the tool. Measurement precision is estimated from standard deviation of range values with respect to a least-square fitted plane surface. The tool used for this analysis has a flat, machined metal surface that by itself has a certain unknown roughness. Hence, it means that the precision of height measurements is equal to or possibly less than the measured standard deviation.Figure 8
Regions of interest (ROI) in range images of R3. Regions R1 and R2 are marked likewise.Figure 9
Generalized processing flow graph of main experiment.The image processing operations SCI, HDRE, GLT, MSNN, and COG included in this exploration will all be described in the next section.


## 4.4. Image Processing Operations

The image processing techniques used in the proposed method for eliminating speckle noise and spurious reflections are explained here.


### 4.4.1. Spatial Compound Imaging (SCI)

Spatial Compound Imaging is a technique, often used to remove speckle noise in ultrasound imaging [21]. In this technique multiple ultrasonic images were captured for the same region using multiple cameras from different angles [22] and combining them together to generate a single image. In our work, scan images Imi from N neighboring acquisition steps, each with spatial shift ofstepS (see Table 1), are averaged to get a compound image as modeled in (4).N was selected to be 5 for the experiments reported in this paper:(4)ImnSCI=∑i=n·Nn+1·N-1ImiN,n=0,1,2,3,….


### 4.4.2. High Dynamic Range Extension (HDRE)

High Dynamic Range Extension is a set of techniques to extend the dynamic range of digital image sensors in order to overcome their inability to record a large range of reflectivity variations from a scene. A metallic surface when projected with coherent light offers wider range of reflectivity variations due to the orientation variations of microfacets. This large range of reflectivity variations has to be captured effectively by scanners for accurate 3D measurements. High Dynamic Range Extensions are known to enable optical scanners to measure such surfaces [16].There are several different techniques used to extend the dynamic range of image sensors used in various different imaging fields [23–25]. In this work, multiexposure imaging, also referred to as exposure bracketing technique, is used that utilizes a set of images of the same region captured at multiple exposure times. These multiple exposure images are then fused into a composite image, referred to as HDR-extended image. The set of exposure times depends on how much extension in dynamic range is required. This extension can be calculated as 20 times the logarithm of ratio of longest ExpHi to shortest exposure time ExpLo. See (5). The shortest exposure time is generally the exposure time that gives lowest possible number of statured pixels:(5)HDREXT=20log⁡ExpHiExpLo.The HDRE technique is implemented as in (6) that shows the pixelwise construction of HDR-extended image. PHDR represents the HDR-extended pixel. It picks the corresponding pixel from scan image with longest exposure time provided that it is not saturated. In case of saturation, the corresponding pixel from next lower exposure time is selected under the same condition. A pixel that is saturated in all scan images even in the least exposed image cannot be resolved and is thus left saturated.E is a set of exposure times ei∈E and indexed by i∈1⋯noExp, where noExp is the number of exposures used to compute an HDR-extended pixel intensity PHDR. Pei is the intensity value for a pixel at exposure time ei. The maximum saturation level of pixel intensities is Sat. A pixel intensity having an extended dynamic range is then computed as(6)PHDR=PeieiwhenPei<Sat∧Pei+1=SatPenoExpenoExpwhenPei<Sat∀ei∈ESate1whenPei=Sat∀ei∈E.Two sets of exposure times were used for HDRE in experiments reported in this work.E1={0.1,0.3,0.5,0.7,0.9} milliseconds which extends dynamic range of camera with 19 dB. See (3). E2={0.1,0.5,1,5,9} milliseconds was used for 39 dB extension.


### 4.4.3. Gray Level Transformation (GLT)

Gray Level Transformation is a set of techniques used to adjust the image contrast by nonlinear intensity transformations, for example, tone mapping. This tone mapping can, for example, be applied on HDR images to allow visualization on displays having much lower dynamic range than the image [26]. Similarly we want to increase contrast for low intensities with respect to higher intensities. This way large intensity variations of an imaged laser line will be compressed. A function Tg transforms input intensity levels g into intensity levels gT such that gT=Tg. The maximum intensity level for both g and gT is gsat such that 0<g<gsat∧0<gT<gsat. The transformation Tg used for all experiments in this paper is defined as(7)Tg=gsatlog⁡g+1log⁡gsat+1p.Parameterp is used for control of transformation.Figure10 shows transformation Tg for different p values. The maximum intensity level gsat is chosen to be 255. For p<1 the low intensity gray levels get higher amplification as compared to brighter pixels. With increasing p value the low intensity pixels get relatively lower gain. The visual effect from applying Tg on an image of a laser line is demonstrated in Figure 11. Lower values for parameter p result in amplification of low intensity pixels.Figure 10
Gray Level Transformation using differentp values.Figure 11
Image of laser line processed with GLT.


### 4.4.4. Most Similar Nearest Neighbours (MSNN)

The laser triangulation technique works with determination of right position of laser peak in the scan images. So it is very important to ignore all fake reflections in order to avoid any inaccurate measurements.As explained before the reflections come due to microfacets or damaged faces on the surface. These reflections are treated as noise but their power may require techniques such as HDRE and GLT to avoid saturation. MSNN is an algorithm to recognize and suppress the illuminated spots due to spurious reflection in the scan images. This algorithm uses the inherent characteristics of laser projection, that is, the continuity of laser line, the Gaussian profile of laser line with a fixed width, and the expected position of the laser projection.The algorithm works through several stages and generates a maskMr,c that suppresses all falsely illuminated pixels at positions (r,c) in scan images. The computational steps for generating M are explained below in detail.Peaks Detector. Ideally, each row in a scan image should carry a single laser peak whose location determines the surface level of object. The real image however carries the specular reflections that produce multiple noise peaks in addition to laser peak in each row. At first stage the algorithm records all the peaks as in [27] along with their supplementary information about their location, height, base width, and the width at the half height. This peak detector sets a variable threshold that is dependent on the mean intensity of each individual image. The minimum threshold level is however set to 0.1-fold of maximum intensity value in each row of the image.The algorithm at this stage marks a peak-start when it finds row intensity rising above threshold level. The peak-end is recorded when one of three possible conditions is met.(i)
Intensity value drops below the threshold level.(ii)
The column number of image reaches its maximum value while the intensity level is still above threshold.(iii)
A change from negative to positive gradient is detected.Valid Laser Peak. In the second stage, the algorithm evaluates the recorded laser peaks on the basis of their profiles in relation to inherent characteristics of incident laser line. Inherently the laser line depicts Gaussian distribution in scanning dimension with line width (lw) = 25 μm. The imaged line in each row can be analyzed according to Gaussian parameters, that is, the height, the position of peaks center, and the Gaussian full width at half maximum (FWHM) of laser line. As a first approach only height and FWHM are used. Starting from the bottom row, the algorithm looks for the very first laser peak that passes the width check and possesses highest signal-to-noise ratio. The highest signal-to-noise ratio is attained when no noise peak is found in the row except the valid laser peak.Laser Line Continuity. Once the valid laser line peak is marked the upcoming rows are scanned to find out most similar looking and nearest vertical neighbor. The similarity of neighbors is evaluated on the basis of peak’s width.Laser Line Mask. Based on the selected laser peak’s indices and corresponding widths, windows of ONEs in each row are placed to construct a binary image. The binary image being used as a mask was applied to HDR image to get a resulting image with valid intensity peaks of laser line only.


### 4.4.5. Peak Location Computation Using COG

The maskM obtained at the output of the MSNN algorithm is used to suppress spurious reflections such that only signal components are included for further processing. As explained earlier in Section 3.1, the location of laser peaks at each row of a scan image is used to determine the range values at the corresponding row coordinates. The mathematical dependency between positions of laser line and corresponding range values is given by (1) or (2). A reliable and accurate peak position finding algorithm must be used to determine positions of laser line. Center of Gravity (COG) is proven to be the most suitable choice of method for computation of peak locations [13, 27]. The COG is computed as in (8)COGr=∑c=1Nc·Pr,c·Mr,c∑c=1NPr,c·Mr,c.C
O
G
r denotes the light peak position along the column dimension and at row r. Each row has N number of columns indexed by c. Pr,c is the light intensity level captured by a pixel in a scan image at row r and columnc. Mr,c is the mask of valid pixels generated by the MSNN algorithm. Equation (8) shows that a row r having its sum of valid pixel values equal to zero would generate an undefined COG. This means that the corresponding surface level cannot be determined. We refer to this phenomenon asmissing range values. This can happen if the laser peak is missing due to speckle noise as shown in Figure 5, or due to damage in the surface as in regions R2 and R3 in Figure 7.Similarly, a saturated pixel does not represent the actual illuminance of its corresponding point at objects surface and hence cannot contribute with true weight of that point to the COG computation. This saturation is due to a limited dynamic range of the image detector. It will lead to false range values, a phenomenon we refer to assaturated pixels.The standard deviation of measured range values from the expected range values represents the systems noise in range image. The expected range values are calculated for each scan image individually using line fitting technique. There are a number of factors that may contribute to standard deviation in range values for a smooth surface. The factors include sensor’s inaccuracies at pixels level, inaccuracies in incident laser light’s profile, speckle noise, spurious reflections, and the roughness of target surface itself. However, with the given set of input images, the contributions from sensor array, laser light, and surface’s roughness would be considered constant while the effects of speckle noise and spurious reflections will be measured at different processing stages.


## 4.4.1. Spatial Compound Imaging (SCI)

Spatial Compound Imaging is a technique, often used to remove speckle noise in ultrasound imaging [21]. In this technique multiple ultrasonic images were captured for the same region using multiple cameras from different angles [22] and combining them together to generate a single image. In our work, scan images Imi from N neighboring acquisition steps, each with spatial shift ofstepS (see Table 1), are averaged to get a compound image as modeled in (4).N was selected to be 5 for the experiments reported in this paper:(4)ImnSCI=∑i=n·Nn+1·N-1ImiN,n=0,1,2,3,….


## 4.4.2. High Dynamic Range Extension (HDRE)

High Dynamic Range Extension is a set of techniques to extend the dynamic range of digital image sensors in order to overcome their inability to record a large range of reflectivity variations from a scene. A metallic surface when projected with coherent light offers wider range of reflectivity variations due to the orientation variations of microfacets. This large range of reflectivity variations has to be captured effectively by scanners for accurate 3D measurements. High Dynamic Range Extensions are known to enable optical scanners to measure such surfaces [16].There are several different techniques used to extend the dynamic range of image sensors used in various different imaging fields [23–25]. In this work, multiexposure imaging, also referred to as exposure bracketing technique, is used that utilizes a set of images of the same region captured at multiple exposure times. These multiple exposure images are then fused into a composite image, referred to as HDR-extended image. The set of exposure times depends on how much extension in dynamic range is required. This extension can be calculated as 20 times the logarithm of ratio of longest ExpHi to shortest exposure time ExpLo. See (5). The shortest exposure time is generally the exposure time that gives lowest possible number of statured pixels:(5)HDREXT=20log⁡ExpHiExpLo.The HDRE technique is implemented as in (6) that shows the pixelwise construction of HDR-extended image. PHDR represents the HDR-extended pixel. It picks the corresponding pixel from scan image with longest exposure time provided that it is not saturated. In case of saturation, the corresponding pixel from next lower exposure time is selected under the same condition. A pixel that is saturated in all scan images even in the least exposed image cannot be resolved and is thus left saturated.E is a set of exposure times ei∈E and indexed by i∈1⋯noExp, where noExp is the number of exposures used to compute an HDR-extended pixel intensity PHDR. Pei is the intensity value for a pixel at exposure time ei. The maximum saturation level of pixel intensities is Sat. A pixel intensity having an extended dynamic range is then computed as(6)PHDR=PeieiwhenPei<Sat∧Pei+1=SatPenoExpenoExpwhenPei<Sat∀ei∈ESate1whenPei=Sat∀ei∈E.Two sets of exposure times were used for HDRE in experiments reported in this work.E1={0.1,0.3,0.5,0.7,0.9} milliseconds which extends dynamic range of camera with 19 dB. See (3). E2={0.1,0.5,1,5,9} milliseconds was used for 39 dB extension.


## 4.4.3. Gray Level Transformation (GLT)

Gray Level Transformation is a set of techniques used to adjust the image contrast by nonlinear intensity transformations, for example, tone mapping. This tone mapping can, for example, be applied on HDR images to allow visualization on displays having much lower dynamic range than the image [26]. Similarly we want to increase contrast for low intensities with respect to higher intensities. This way large intensity variations of an imaged laser line will be compressed. A function Tg transforms input intensity levels g into intensity levels gT such that gT=Tg. The maximum intensity level for both g and gT is gsat such that 0<g<gsat∧0<gT<gsat. The transformation Tg used for all experiments in this paper is defined as(7)Tg=gsatlog⁡g+1log⁡gsat+1p.Parameterp is used for control of transformation.Figure10 shows transformation Tg for different p values. The maximum intensity level gsat is chosen to be 255. For p<1 the low intensity gray levels get higher amplification as compared to brighter pixels. With increasing p value the low intensity pixels get relatively lower gain. The visual effect from applying Tg on an image of a laser line is demonstrated in Figure 11. Lower values for parameter p result in amplification of low intensity pixels.Figure 10
Gray Level Transformation using differentp values.Figure 11
Image of laser line processed with GLT.


## 4.4.4. Most Similar Nearest Neighbours (MSNN)

The laser triangulation technique works with determination of right position of laser peak in the scan images. So it is very important to ignore all fake reflections in order to avoid any inaccurate measurements.As explained before the reflections come due to microfacets or damaged faces on the surface. These reflections are treated as noise but their power may require techniques such as HDRE and GLT to avoid saturation. MSNN is an algorithm to recognize and suppress the illuminated spots due to spurious reflection in the scan images. This algorithm uses the inherent characteristics of laser projection, that is, the continuity of laser line, the Gaussian profile of laser line with a fixed width, and the expected position of the laser projection.The algorithm works through several stages and generates a maskMr,c that suppresses all falsely illuminated pixels at positions (r,c) in scan images. The computational steps for generating M are explained below in detail.Peaks Detector. Ideally, each row in a scan image should carry a single laser peak whose location determines the surface level of object. The real image however carries the specular reflections that produce multiple noise peaks in addition to laser peak in each row. At first stage the algorithm records all the peaks as in [27] along with their supplementary information about their location, height, base width, and the width at the half height. This peak detector sets a variable threshold that is dependent on the mean intensity of each individual image. The minimum threshold level is however set to 0.1-fold of maximum intensity value in each row of the image.The algorithm at this stage marks a peak-start when it finds row intensity rising above threshold level. The peak-end is recorded when one of three possible conditions is met.(i)
Intensity value drops below the threshold level.(ii)
The column number of image reaches its maximum value while the intensity level is still above threshold.(iii)
A change from negative to positive gradient is detected.Valid Laser Peak. In the second stage, the algorithm evaluates the recorded laser peaks on the basis of their profiles in relation to inherent characteristics of incident laser line. Inherently the laser line depicts Gaussian distribution in scanning dimension with line width (lw) = 25 μm. The imaged line in each row can be analyzed according to Gaussian parameters, that is, the height, the position of peaks center, and the Gaussian full width at half maximum (FWHM) of laser line. As a first approach only height and FWHM are used. Starting from the bottom row, the algorithm looks for the very first laser peak that passes the width check and possesses highest signal-to-noise ratio. The highest signal-to-noise ratio is attained when no noise peak is found in the row except the valid laser peak.Laser Line Continuity. Once the valid laser line peak is marked the upcoming rows are scanned to find out most similar looking and nearest vertical neighbor. The similarity of neighbors is evaluated on the basis of peak’s width.Laser Line Mask. Based on the selected laser peak’s indices and corresponding widths, windows of ONEs in each row are placed to construct a binary image. The binary image being used as a mask was applied to HDR image to get a resulting image with valid intensity peaks of laser line only.


## 4.4.5. Peak Location Computation Using COG

The maskM obtained at the output of the MSNN algorithm is used to suppress spurious reflections such that only signal components are included for further processing. As explained earlier in Section 3.1, the location of laser peaks at each row of a scan image is used to determine the range values at the corresponding row coordinates. The mathematical dependency between positions of laser line and corresponding range values is given by (1) or (2). A reliable and accurate peak position finding algorithm must be used to determine positions of laser line. Center of Gravity (COG) is proven to be the most suitable choice of method for computation of peak locations [13, 27]. The COG is computed as in (8)COGr=∑c=1Nc·Pr,c·Mr,c∑c=1NPr,c·Mr,c.C
O
G
r denotes the light peak position along the column dimension and at row r. Each row has N number of columns indexed by c. Pr,c is the light intensity level captured by a pixel in a scan image at row r and columnc. Mr,c is the mask of valid pixels generated by the MSNN algorithm. Equation (8) shows that a row r having its sum of valid pixel values equal to zero would generate an undefined COG. This means that the corresponding surface level cannot be determined. We refer to this phenomenon asmissing range values. This can happen if the laser peak is missing due to speckle noise as shown in Figure 5, or due to damage in the surface as in regions R2 and R3 in Figure 7.Similarly, a saturated pixel does not represent the actual illuminance of its corresponding point at objects surface and hence cannot contribute with true weight of that point to the COG computation. This saturation is due to a limited dynamic range of the image detector. It will lead to false range values, a phenomenon we refer to assaturated pixels.The standard deviation of measured range values from the expected range values represents the systems noise in range image. The expected range values are calculated for each scan image individually using line fitting technique. There are a number of factors that may contribute to standard deviation in range values for a smooth surface. The factors include sensor’s inaccuracies at pixels level, inaccuracies in incident laser light’s profile, speckle noise, spurious reflections, and the roughness of target surface itself. However, with the given set of input images, the contributions from sensor array, laser light, and surface’s roughness would be considered constant while the effects of speckle noise and spurious reflections will be measured at different processing stages.


## 4.5. Calibration

Range values as described in previous sections represent surface heights as pixels. A calibration is however necessary in order to calculate heights in metric units. The mathematical relation between pixels and metric heights is described by (1) and (2). A staircase shaped object of known heights is designed to be used as calibration object. See Figure 12. This object is prepared from a set of metallic blades which we glued together using a cyanoacrylate glue under mechanical pressure. We used the blades from a feeler gauge having calibrated thicknesses. The series of eight heights provided by this object was measured using a micrometer screw gauge and results are reported in Table 2. The micrometer screw gauge can measure thickness with an accuracy in the range of five μm. The calibration object was illuminated with a laser line as described in Figure 6 while images were captured using IS1 and IS2. Viewed positions of laser line along with corresponding measured heights are listed in Table 2. Figures 13 and 14 are showing dependencies between metric heights and pixels for both imaging systems. We then performed least-square fitting of this data to lines. Slope for IS1 is estimated to beS = 0.0142 mm/pixel while slope for IS2 isS = 0.0194 mm/pixel. If we compute slopes by (2) using data from Table 1, we get 0.0143 mm/pixel for IS1 and 0.020 mm/pixel for IS2. Precision of height measurements σS in this 3D scanner can simply be estimated as(9)σS≈S·Standard  Dev  (range  values).The calibrated responses deviate from known heights with maximum 12 μm for IS1 and 24 μm for IS2.Table 2
Calibration data.
Known object heights (mm)
IS1 (pixels)
IS2 (pixels)
0.14
9.152
6.22
0.25
17.9658
12.03
0.36
25.72
16.41
0.44
29.8984
22.80
0.55
38.65
26.89
0.64
44.7688
31.3215
0.745
52.03
37.4921Figure 12
Calibration object.Figure 13
Calibration curve for IS1.Figure 14
Calibration curve for IS2.


## 5. Results

This section presents the results of extensive experimentation with processing techniques discussed in the Methodology using IS1 in order to reach the best algorithm in terms of both performance and time efficiency. It also includes experiments with IS2 that introduce a new camera with built-in HDR capability in order to replace time consuming HDR extension algorithms.


### 5.1. Experiments Using IS1

The primary goal of this series of three experiments is to find the most efficient combination of image processing operations that can produce the most precise range measurements. Imaging system 1 (IS1) described in Table1 is used to capture images.


#### 5.1.1. Experiment 1: No Filtering

In our first experiment we use the simplest combination of image processing operations to compute range data. See data flow graph in Figure15. Scan images that are taken at various exposure times, that is, 0.1 ms, 0.5 ms, 1 ms, and 5 ms, are evaluated for all three quality parameters for all three regions. Figure 16 indicates reduced number of undefined pixels at higher exposure time but it happens at the cost of increase in number of saturated pixels. Standard deviation of range values is only calculated for the flatter parts of all three regions.Figure 15
Data flow graph for Experiment 1.Figure 16
Quality parameters versus exposure times.It appears as if range data is more precise at higher exposure times because standard deviation becomes less. This is also expected due to better signal-to-noise ratio for longer exposure times.


#### 5.1.2. Experiment 2: Spatial Compound Imaging

In Experiment 2 (see Figure17), SCI is employed before computation of range values to find out if this processing operation can reduce undefined and saturated pixels.Figure 17
Data flow graph for Experiment 2.Figure18 shows a significant reduction of both undefined and saturated pixels. Standard deviation of range values is also reduced. Figure 18 illustrates the improvement of all three quality parameters for region R1 at exposure time of 0.1 ms when SCI is employed. Similar improvements are noticed for all other exposure times too.Figure 18
Quality parameters at 0.1 ms for all regions.


#### 5.1.3. Experiment 3: High Dynamic Range Extension

In Experiment 3, we investigate if HDR extension can reduce effects of speckle noise such that saturated and undefined number of pixels are reduced. Figure19 depicts two alternative signal flow graphs. Both signal graphs invoke HDRE directly followed by GLT. The upper graph, referred to as HDRE-I, firstly invokes SCI that was separately investigated in previous Experiment 2.Figure 19
Data flow graph for Experiment 3.The lower graph, referred to as HDRE-II, invokes SCI after HDRE and GLT. We expect results from those alternative signal flows to tell us if HDRE combined with GLT is commutative with SCI. Results for using flow graph HDRE-I are presented in Figure20 for two dynamic range extensions, that is, 19 dB and 39 dB, using P=0.5. This plot shows that both the number of saturated pixels and the number of undefined pixels are reduced significantly and even being close to zero for 19 dB HDRE. Standard deviation of range data is also at its lowest, that is, 0.2976 pixels, for 19 dB HDRE using P=0.5. Figure 21 shows results from comparing flow graph HDRE-I and HDRE-II at 19 dB extension.Figure 20
Quality parameters for R1 with HDRE-I and GLT,P=0.5.Figure 21
Commutativity in HDRE + GLT and SCI.From this plot we can conclude that HDRE-I and HDRE-II show similar result and it does not matter if SCI is invoked before or after HDRE.


### 5.2. Experiment 4: HDR-CAM—Imaging Using IS2

The primary goal of this experiment is to find out if we can replace the algorithm for extending dynamic range of IS1 with the HDR camera used for imaging system 2 (IS2). Details of the HDR camera used for IS2 are described in Table1. This camera is built with hardwired capability to produce time efficient HDR images. This also means that the time consuming HDRE algorithm along with GLT can be removed from the signal flow graph. See Figure 22. The results are shown in Figure 23. It can be observed that the HDR-CAM has not produced any saturated pixels for any of the regions. The values of the other two parameters are comparable with the parameter values produced in IS1.Figure 22
Data flow graph for processing images from HDR-CAM.Figure 23
Quality parameters for all regions using HDR-CAM.


### 5.3. Summary of Explored Image Capture and Processing

We will now summarize observed performance from the exploration of combinations of image processing operations described in previous sections using both IS1 and IS2. Figure24 summarizes undefined and saturated number of pixels along with precision of height measurements. Precision is computed according to (9) using measured standard deviation of range data. Figure 25 summarizes computational load described as total processing time per range image pixel. Performance parameters from four different methods for image capture and range data computation are reported in Figure 24. Leftmost are results labelled NF from the simplestExperiment1. SCI refers to Experiment 2 on using Spatial Compound Imaging. HDRE-I and HDRE-II refer toExperiment3.Figure 24
Performance review of image processing on R1.Figure 25
Processing time per pixel in range image.HDR-CAM refers to Experiment 4 where a High Dynamic Range camera is used.


## 5.1. Experiments Using IS1

The primary goal of this series of three experiments is to find the most efficient combination of image processing operations that can produce the most precise range measurements. Imaging system 1 (IS1) described in Table1 is used to capture images.


### 5.1.1. Experiment 1: No Filtering

In our first experiment we use the simplest combination of image processing operations to compute range data. See data flow graph in Figure15. Scan images that are taken at various exposure times, that is, 0.1 ms, 0.5 ms, 1 ms, and 5 ms, are evaluated for all three quality parameters for all three regions. Figure 16 indicates reduced number of undefined pixels at higher exposure time but it happens at the cost of increase in number of saturated pixels. Standard deviation of range values is only calculated for the flatter parts of all three regions.Figure 15
Data flow graph for Experiment 1.Figure 16
Quality parameters versus exposure times.It appears as if range data is more precise at higher exposure times because standard deviation becomes less. This is also expected due to better signal-to-noise ratio for longer exposure times.


### 5.1.2. Experiment 2: Spatial Compound Imaging

In Experiment 2 (see Figure17), SCI is employed before computation of range values to find out if this processing operation can reduce undefined and saturated pixels.Figure 17
Data flow graph for Experiment 2.Figure18 shows a significant reduction of both undefined and saturated pixels. Standard deviation of range values is also reduced. Figure 18 illustrates the improvement of all three quality parameters for region R1 at exposure time of 0.1 ms when SCI is employed. Similar improvements are noticed for all other exposure times too.Figure 18
Quality parameters at 0.1 ms for all regions.


### 5.1.3. Experiment 3: High Dynamic Range Extension

In Experiment 3, we investigate if HDR extension can reduce effects of speckle noise such that saturated and undefined number of pixels are reduced. Figure19 depicts two alternative signal flow graphs. Both signal graphs invoke HDRE directly followed by GLT. The upper graph, referred to as HDRE-I, firstly invokes SCI that was separately investigated in previous Experiment 2.Figure 19
Data flow graph for Experiment 3.The lower graph, referred to as HDRE-II, invokes SCI after HDRE and GLT. We expect results from those alternative signal flows to tell us if HDRE combined with GLT is commutative with SCI. Results for using flow graph HDRE-I are presented in Figure20 for two dynamic range extensions, that is, 19 dB and 39 dB, using P=0.5. This plot shows that both the number of saturated pixels and the number of undefined pixels are reduced significantly and even being close to zero for 19 dB HDRE. Standard deviation of range data is also at its lowest, that is, 0.2976 pixels, for 19 dB HDRE using P=0.5. Figure 21 shows results from comparing flow graph HDRE-I and HDRE-II at 19 dB extension.Figure 20
Quality parameters for R1 with HDRE-I and GLT,P=0.5.Figure 21
Commutativity in HDRE + GLT and SCI.From this plot we can conclude that HDRE-I and HDRE-II show similar result and it does not matter if SCI is invoked before or after HDRE.


## 5.1.1. Experiment 1: No Filtering

In our first experiment we use the simplest combination of image processing operations to compute range data. See data flow graph in Figure15. Scan images that are taken at various exposure times, that is, 0.1 ms, 0.5 ms, 1 ms, and 5 ms, are evaluated for all three quality parameters for all three regions. Figure 16 indicates reduced number of undefined pixels at higher exposure time but it happens at the cost of increase in number of saturated pixels. Standard deviation of range values is only calculated for the flatter parts of all three regions.Figure 15
Data flow graph for Experiment 1.Figure 16
Quality parameters versus exposure times.It appears as if range data is more precise at higher exposure times because standard deviation becomes less. This is also expected due to better signal-to-noise ratio for longer exposure times.


## 5.1.2. Experiment 2: Spatial Compound Imaging

In Experiment 2 (see Figure17), SCI is employed before computation of range values to find out if this processing operation can reduce undefined and saturated pixels.Figure 17
Data flow graph for Experiment 2.Figure18 shows a significant reduction of both undefined and saturated pixels. Standard deviation of range values is also reduced. Figure 18 illustrates the improvement of all three quality parameters for region R1 at exposure time of 0.1 ms when SCI is employed. Similar improvements are noticed for all other exposure times too.Figure 18
Quality parameters at 0.1 ms for all regions.


## 5.1.3. Experiment 3: High Dynamic Range Extension

In Experiment 3, we investigate if HDR extension can reduce effects of speckle noise such that saturated and undefined number of pixels are reduced. Figure19 depicts two alternative signal flow graphs. Both signal graphs invoke HDRE directly followed by GLT. The upper graph, referred to as HDRE-I, firstly invokes SCI that was separately investigated in previous Experiment 2.Figure 19
Data flow graph for Experiment 3.The lower graph, referred to as HDRE-II, invokes SCI after HDRE and GLT. We expect results from those alternative signal flows to tell us if HDRE combined with GLT is commutative with SCI. Results for using flow graph HDRE-I are presented in Figure20 for two dynamic range extensions, that is, 19 dB and 39 dB, using P=0.5. This plot shows that both the number of saturated pixels and the number of undefined pixels are reduced significantly and even being close to zero for 19 dB HDRE. Standard deviation of range data is also at its lowest, that is, 0.2976 pixels, for 19 dB HDRE using P=0.5. Figure 21 shows results from comparing flow graph HDRE-I and HDRE-II at 19 dB extension.Figure 20
Quality parameters for R1 with HDRE-I and GLT,P=0.5.Figure 21
Commutativity in HDRE + GLT and SCI.From this plot we can conclude that HDRE-I and HDRE-II show similar result and it does not matter if SCI is invoked before or after HDRE.


## 5.2. Experiment 4: HDR-CAM—Imaging Using IS2

The primary goal of this experiment is to find out if we can replace the algorithm for extending dynamic range of IS1 with the HDR camera used for imaging system 2 (IS2). Details of the HDR camera used for IS2 are described in Table1. This camera is built with hardwired capability to produce time efficient HDR images. This also means that the time consuming HDRE algorithm along with GLT can be removed from the signal flow graph. See Figure 22. The results are shown in Figure 23. It can be observed that the HDR-CAM has not produced any saturated pixels for any of the regions. The values of the other two parameters are comparable with the parameter values produced in IS1.Figure 22
Data flow graph for processing images from HDR-CAM.Figure 23
Quality parameters for all regions using HDR-CAM.


## 5.3. Summary of Explored Image Capture and Processing

We will now summarize observed performance from the exploration of combinations of image processing operations described in previous sections using both IS1 and IS2. Figure24 summarizes undefined and saturated number of pixels along with precision of height measurements. Precision is computed according to (9) using measured standard deviation of range data. Figure 25 summarizes computational load described as total processing time per range image pixel. Performance parameters from four different methods for image capture and range data computation are reported in Figure 24. Leftmost are results labelled NF from the simplestExperiment1. SCI refers to Experiment 2 on using Spatial Compound Imaging. HDRE-I and HDRE-II refer toExperiment3.Figure 24
Performance review of image processing on R1.Figure 25
Processing time per pixel in range image.HDR-CAM refers to Experiment 4 where a High Dynamic Range camera is used.


## 6. Discussion

The laser scanner system described in this paper has been explored for various image processing methods used to capture 3D surfaces at high precision. Speckle noise, dynamic range of light intensity, and spurious reflections are the largest challenges when range images are computed.Speckle is considered to be a noise source that will degrade the precision of height triangulation. HDR imaging in combination with GLT and SCI have been shown to efficiently suppress impact of speckle. We can see this from the improvements of height precision reported in Figure24. The worst case precision is ±7.6 μm while the best is ±4.2 μm. Reported precision is computed as standard deviation ±σS which corresponds to a 68% confidence level when assuming a Gaussian distribution. Marani et al. [4] report a precision of 50 μm at 99% confidence; we assume ±25 μm. This precision should correspond to ±8.3 μm at 68% confidence. Hence, their precision is close to our worst case performance. Both Figures 18 and 21 show higher standard deviation of range data for R3. We selected R1 having lowest standard deviation for estimation of measurement precision. This includes the assumption that measured variations of this flat surface itself can be neglected when estimating precision. HDRE-II shows 45% improvement of height precision compared to NF inExperiment1. However this improvement comes at 24 times longer processing time and five times longer scanning time. Using an HDR camera offers a compromise between processing time, robustness, and precision if ±5.6 μm is an acceptable precision.Dynamic range of light intensities in a laser scan image is typically much larger than what a standard CMOS or CCD camera can capture. This leads to a degraded robustness where pixels of an imaged laser line are either saturated or having an intensity below a selected threshold. Efficient reduction of saturated or undefined pixels is achieved by extending the dynamic range using HDRE or using the HDR camera specified for IS2.Spurious reflections can in most cases efficiently be suppressed by the image processing operation MSNN described in Section4. But this is possible only when the spurious reflections are clearly spatially separated from the true reflections. If, for example, the laser line is projected into a cavity of size similar to width of laser line, then 2nd-order or higher order reflections can overlap with true reflection. Figure 26 depicts the principle of such spurious reflections in a cavity. An example of its effect is shown in Figure 27. A solid black arrow is pointing at measured rice on the tool surface which does not exist in reality. This false recording happens at a small cavity in surface. Currently, we have not investigated any method that can resolve such artifacts. We found one research group who has published several articles on exploiting linear polarization of light for suppressing spurious reflections [15], a method that could possibly work also for small cavities.Figure 26
Spurious reflection.Figure 27
Mesh plot of range image.Optical occlusion can happen when scanning a complex shaped surface. This means that the main true reflection is occluded by the object itself such that height cannot be measured. The cutting tools used for our case study do not involve such complex surfaces. However, occlusion is typically resolved with multiple cameras, multiple light sources, or moveable singular optical system [1, 4].Calibration is a procedure of least-square fitting a set of known heights versus detector positions onto a straight line. The largest deviation of known heights compared to the fitted line quantifies the systematic error of measurements. Thus, the height accuracy of the scanner is less than ±12μm for IS1 and less than ±24 μm for IS2. See Figures 13 and 14.


## 7. Conclusions

Methods for capture and processing of scan images in a laser scanner have been explored. Speckle noise, spurious reflections, and dynamic range are challenges appearing when scanning shiny metal surfaces. The best achieved accuracy was ±12μm and best precision was ±4.2 μm at 68% confidence level. We believe that this scanner is well suited for inspection of metallic tools at micrometer range.



---

*Source: 4134205-2017-07-06.xml*