DEFORMATION DETECTION IN PIPING INSTALLATIONS USING PROFILING TECHNIQUES

As-Built surveys of buildings and installations have received greater attention in recent years. An example is the 3D digital reconstruction of existing piping installations at chemical plants for plant maintenance, upgrades and safety standard concerns. This paper is directed at the reconstruction of piping installations with particular emphasis on the detection of deformities in pipes. Reconstruction begins with the automatic detection of individual piping elements which requires a prior segmentation. For segmentation, the profile intersection technique is used. Surfaces are considered as a network of intersecting curves as opposed to surface patches. Recreating such curves on a point set, and intersecting them, segments are identified. The entire scan is partitioned into a series of scan planes referred to as profiles. Points are then connected in each profile based on the surface they represent forming line segments. The line segments, which represent curves, are then intersected to identify segments. For pipes, line segments are elliptical. The centre of an ellipse lies on the pipes’ axis and the semi minor axis is equivalent to the radius of the pipe. Therefore together the centres and semi minor axis are used to describe the position, orientation, size and radius of a pipe. For deformed pipes, the line segments deviate from the elliptical shape. By identifying deviations of the line segments from the elliptical shape deformations are identified. The algorithm allows for cylinders, spheres, cones and tori to be detected including deformities in their shape. Experimental results show the effectiveness of the algorithm.


INTRODUCTION
The high accuracy achieved by laser scanning together with the high spatial resolution makes possible the digital reconstruction of man-made structures.Currently most digital reconstruction algorithms emphasise on the reconstruction of as-built Computer Aided Design (CAD) models for the purposes of planning and archiving.These algorithms do not cater for detection and modelling of deformations/dents in structures such as pipes.Data acquired by Laser Scanning is a massive cloud of points numbering in the millions.These points represent the scanned surfaces.Most surfaces found in installations are of piping elements namely elbows, t-junctions, straight pipes and flanges.All these piping elements are subject to deformation.Revamping, upgrading and safety standard concerns outline the need for detecting these deformations.To facilitate the detection of deformations in piping elements, point clouds have to be segmented.The work presented here proposes a semi-automatic/automatic method for detecting deformations in pipes and describes a method for segmenting point clouds to aid the detection.

PREVIOUS WORK
Considerable work has been done in the segmentation and detection of piping elements from laser scanner point clouds.A review of these algorithms is given below.

Segmentation
Segmentation involves the partitioning of a point cloud into sets of regions with homogeneous geometric or radiometric characteristics or a combination of both.Fitting is then carried out on the identified regions or segments to digitally reconstruct the scanned surfaces.Segmentation eliminates the task of point by point classification which reduces the overall time required for detection.Most of existing algorithms can be classified as either surface based or scan line based.Surface based segmentation techniques begin by selecting a seed point set or point neighbourhood from the point cloud and establishing a similarity measures on the neighbourhood.Point neighbourhoods are then selected from the point cloud and their geometric properties are compared with the seed point set.Point neighbourhoods that exhibit similar geometric properties are merged into segments.The merging process is referred to as region growing.An example is presented and Rabbani et al. (2006).Scan line based segmentation involves grouping scan lines which exhibit similar geometric properties.Laser scanners measure point data as a series of scan lines.Together these scan lines form range images.By fitting a curve to points in a scan line and comparing curve properties between scan lines, segments are identified (Jiang et al., 1994).Points from curves which exhibit similar surface measures are given the same label.A variation to scan line based segmentation to cater for unstructured 3D point clouds is presented by (Sithole, 2005), were artificial scan lines are created as profiles in many different directions.Points are then connected in each profile according to surfaces they represent.Finally profiles are overlaid to define the surface segments.After establishing the different segments in a point cloud, the next step is to determine the surface types represented by the points in each segment.This is achieved through a detection/fitting procedure.

Detection
Detection is the process of identifying the type of surface represented by a segment (e.g.planar, curved).Various fitting /detection techniques have been proposed for detecting piping elements.The Hough Transform (HT) is used to identify lines, circles and ellipses in n dimensions, where n is the number of parameters being sought.The HT maps every point from a parameterized primitive to a Hough space, where a voting by the points is done for the best fitting parameters vector (Schnabel et al., 2007: p. 215).Primitives are then extracted using the parameter vector with the most votes.The HT is reliable in the presence of noise.The HT is efficient for primitives with three or less parameters (Rabbani et al., 2005).Some detection algorithms are based on RANSAC which is an algorithm used for parameter estimation of mathematical models from a set of observations.RANSAC based algorithms continuously search the entire point cloud for primitives using point neighbourhoods.Example is presented by Chaperon and Goulette (2001) and Schnabel et al., (2007).Photogrammetry is one of the long established methods in 3D modelling (Veldhuis and Vosselman,1998).Photogrammetry is still being employed at present and is now being integrated with other techniques like Constructive Solid Geometry (CSG) and point clouds to improve accuracy in detection.Three different combinations exist for the fitting/detection using CSG, images and point clouds in the reconstruction of piping installations (Tangelder et al., 2000;Rabbani et al., 2004).Another method which is surface or curve fitting generally involves the fitting of geometric surfaces or curves to point sets (Pratt, 1987).As with any non-linear problem, good initial estimates of the parameters are needed.Estimating the parameters is a challenge because apart from the geometry, no other additional information is available in most cases (Mitra and Nguyen, 2003).In addition to the problems encountered by current algorithms, these algorithms do not detect deformations.

PROPOSED METHOD
Deformation detection involves a series of steps that are carried out from data acquisition to the final model namely registration, data structuring, segmentation and detection.Here it is assumed that the point cloud has been registered correctly and that the points are unstructured.The algorithm will therefore be explained from the segmentation stage.The segmentation results form the basis of the detection algorithm.Each step is elaborated on in the succeeding sections together with the proposed algorithms.

Segmentation concept
A surface can be approximated using a set of planar curves running in many different directions.These curves pass through the same points and terminate at discontinuities encountered at surface boundaries as illustrated in Figure 1.By recreating curves in a point set and intersecting the curves, a surface can be reconstructed.To create curves such as in Figure 1, the point cloud is partitioned into a series of contiguous planar profiles aligned along a user defined direction in space.Together all profiles aligned along the same direction in space are called a stack.If the width, of a profile is sufficiently small, then the points in a profile can be assumed to represent curve nodes.Multiple stacks are generated with different orientations in space.When the stacks are overlaid they yield intersecting profiles.If the curves within a profile are discontinuous, then the intersection of the profiles yields surface segments as illustrated in Figure 2. In summary: 1.The segmentation can be represented by the graph G(V, E) where V is the set of point cloud points and E is the edges connecting the points of the surface segments.2. A stack is given by the graph G φ (V, E φ )where E φ E is the edges connecting the points in the stack.Note that each stack contains all the points in the cloud.3.Each profile in a stack is given by G φ,pi (V pi , E φ,pi ) where pi is the index of a profile in the stack, V pi  V is the set of profile points, and E φ,pi  E is the set of profile edges.4. The intersection of profiles pi and pj in two different stacks m and n is a single point v, G φm,pi (V pi , E φm,pi ) ∩ G φn,pj (V pj , E φn,pj ) = v By means of a connected component analysis on the graph G the surface segments can then be extracted.The profile count in any given stack depends on the width of each profile and extent of the points in the stack direction.At least three stacks are necessary for a good segmentation.

Profile segmentation
Profile segmentation is the process of creating the curves, or connecting the points within each profile.Here two methods are used, segmentation by proximity and segmentation by curve fitting.
1. Profile Segmentation by proximity: Typically nearby points belong to the same surface.Therefore, by connecting only those points that are within a maximum distance of each other we can obtain points on the same curve.This is similar to creating a Relative Neighbourhood Graph.The maximum distance is typically determined by the average spacing of points within a point cloud.The results of the segmentation are individual point clusters representing piping elements.These elements have to be identified (i.e.tori, cylinder, sphere, and cone).This is done through the detection procedure detailed in the next section.

Detection
Most piping elements can be represented as Boolean combinations or operations on cylinders, spheres, cones and tori.Detecting piping elements can therefore be treated as detecting individual geometric primitives that constitute that pipe.The proposed detection algorithm will be detailed in terms of detecting the four geometric primitives namely cylinders, spheres, cones and tori that are typically used to compose pipes.
The geometric primitives can be described using a radius and an axis as shown in Figure 4.

Detecting the size of geometric primitives:
Intersecting any of the above mentioned primitives with a plane provides a shape cue that can be used in detecting piping elements.For example, the intersection of any of the four primitives with a plane forms an ellipse on the plane, if the plane cuts the axis of the primitive as shown in Figure 4.The ellipses formed can be described by the flattening f given by (1a / b) where a and b are the minor and major axes respectively.
The ellipses have the following interpretations: 1.For cylinders (figure 4c) and tori (figure 4d), the semiminor axis of the ellipse is equivalent to the radius of the primitive.2. The centre of the ellipse lies on the axis of a primitive.
This condition is true for cone sections only if the ellipses formed are circles.This occurs when the plane is perpendicular to the axis of the cone (figure 4a).3.If a primitive is intersected by many planes, the axes of the primitive will lie at the centres of all the ellipses.4. A circle is always produced from the intersection of spheres with planes (figure 4b).
5. The radius of a sphere is equivalent to the semi minor axis of the ellipse whose centre coincides with the centre of the sphere (figure 4b).
Figure 4.Each geometric primitive above can be described by a radius and axis.Intersecting the primitives with a plane results in ellipses.The properties of the ellipses formed are described in section 4.1 From these interpretations, the intersection of the profile planes and the point clouds results in a set of 2D points tracing out ellipses as shown in Figure 5. Since the point cloud has been segmented, each profile for a given segment will ideally have points tracing out an ellipse.This ellipse is then used in determining the type of primitive.Consequently, the detection depends on good segmentation results.From property 1 in section 3.1, fitting an ellipse to the points, the cylinder radius can be approximated using the semi-minor axis of the ellipse.The centre of the ellipse will be on the axis of the cylinder.If multiple ellipses are fit to different sections of the cylinder, then the axis of the cylinder will lie on the centres of the ellipses.In this manner the detection of primitives can now be described in terms of finding ellipse centres and ellipse axes.

Detecting the axes of primitives:
Points in a profile will trace out an ellipse if the profile cuts the axis of a piping primitive at a sharp angle.If ellipses are fit to points in each profile, they will exhibit the properties described in section 3.1.The scenarios described in section 3.1 are for ideal situations.However, outliers and stack orientation will disturb the ideal situation.The pipe detection algorithm can be summarised as follows: 1.For each line segment in a profile, select ellipses with the required flattening f.These selected ellipses are from suitably oriented profiles.The flattening is the criteria used for the selection.2. Validate fit (model selection) 3. Store the semi minor axis and centre of each ellipse 4. Connect the ellipse centres by proximity to yield the axes of primitives 5. Classify detected pipe elements and detect deformations.

Detecting/Selecting ellipses:
In profile segmentation not all detected curves are elliptical.This is because not all orientations of a primitive will yield good ellipses, i.e. ellipses that can be fitted.Therefore only those profiles that contain good ellipses are used.The ideal profile is orthogonal to a primitive's axis which implies that if the cross-section of a primitive is circular then the flattening is close to zero.The flattening increases as the angle (here called the intersection angle) between the profile and a primitive's axis decreases.A flattening of 1 is obtained when the intersection angle is 90.From experiments it was found that good ellipses were obtained when the intersection angle was π/4 or greater.At an intersection angle of π/4 the flattening is √ .Therefore the flattening of any ellipse that is used for detecting the axes of primitives must be less than or equal to √ .However, the base radius for cones can only be obtained when the flattening is approximately zero.For a sphere, any profile direction is acceptable since all profile directions will yield good ellipses.For tori, profiles intersecting the torus' axis with a flattening of less than √ are ideal for detection.Ellipse detection is achieved through least squares fitting.An ellipse is fit to each line segment in a profile.For the selected ellipses, model selection is carried out to select points which best describe an ellipse.The ellipse fitting methods employed in the algorithm use two different concepts: Method 1is based on minimising the sum of the squares of the algebraic distance, ( ) of a point from the boundary of the ellipse subject to the constraint = 0.This algebraic distance, is given by: Where is the parameter vector and = .The equations can be solved using a generalised eigensystem (Fitzgibbon, Maurizio and Fisher, 1999).Method 2 uses non linear regression to fit an ellipse to data points.The method minimises the squares of the distance v of a point from the ellipse boundary.The distance v is given by .Where d is the distance from the centre of the ellipse to the data point given by: √ (2) r is given by: √ Where is the radius value associated with the point from the centre to the boundary of the ellipse.and are ellipse centre coordinate.and are coordinates of the data point.θ is the angle of the ellipse orientation with respect to the x axis (Nonlinear Regression, 2009).An illustration of detected ellipses for a torus is shown in figure 6.
A short line segment (e.g.few points in profile can produce uncertainty in the ellipse fitting.The ellipse fitting results must be validated to find the data which best describes an ellipse. Model selection is thus carried out.The statistical models are a line and an ellipse.Both models are single-equation models.The Akaike information criterion (AIC) is used in the algorithm.detected ellipses from the stack

Model selection:
The AIC only selects the best model between competing models.The requirement is that the models be established prior to the selection (in this case it is a line and ellipse).The equation for the AIC is given as Where = number of data points.= sum of the squares of the residuals from the fit.= number of parameters in statistical model.The model which produces the least AIC value is selected.If the line model is selected then the fit is rejected but accepted if the ellipse model is selected.Literature on AIC is presented by Burnham et al. (2004).

Segmentation of centres and classification of primitives:
The result of the detection algorithm is a set of centres from detected ellipses.Ellipse centres are stored with their corresponding minor axes.Centres of ellipses that represent primitives which constitute a given piping element have to be identified.The centres representing the axis of each primitive are closer together than any other centres.Therefore, a proximity segmentation of the entire set of centres identifies the sub set that represents a piping element.
Classification: Proximity segmentation yields connected ellipse centres.The connected centres do not provide information about the type of piping element represented by the points.The centres provide information about the orientation and extent of the axis.The only primitive that can be classified from the centres is the torus since the centres will form a circular arc as shown in Figure 7(d).The axis of a cylinder, cone section and sphere will all form a line as in Figure 7(a).A further classification by radius is required to identify cylinders, cone and sphere.A plot of the semi-minor axis, which represents the radius, from each ellipse on a given segment against index of profile in stack, follows different patterns for the primitives.The shape of each graph will aid in determining the underlying primitive.A summary of the shapes expected for the primitives is shown in figure 7.

Detecting pipe deformations:
The detection criteria explained in section 3.3.3assumes primitives are free of deformations.For a pipe free of deformations, the primitives' axes will lie on the set of centres obtained from ellipses fitting.However, if there is a deformation in the primitives, the centres deviate from the axis.The magnitude of the deformation determines the amount by which the centres deviate.This is illustrated in figure 8.The fitted ellipses become smaller (e.g.ellipse 2 is smaller than ellipse 1) and the centres are shifted at the points were the pipe is deformed.The result is ellipse centres that deviate from the axis position.This deviation is used for identifying locations at which the pipe is deformed.

RESULTS AND ANALYSIS
The detection results are presented first and then the deformation results will follow.The point cloud resolution is approximately between 0.01m and 0.05m.Figure 9  The plots of semi-minor axis for all selected ellipses for pipe 2 are shown in figure 10.The average radius is calculated from these semi-minor axes.Figure 11 shows a section extracted from a piping plant and the sample detected axes.Section 4.1 presents the results for deformation detection on a pipe and the modelling of the deformations.

Deformation detection results
Figure 12 shows an extract of pipes from a point cloud with a pipe which has a deformed section.The deviations of the centres are shown in figure 12(b).A plot of the radii value for the deformed section is shown in figure 13 between indexes of profiles 20 to 30.Not only are the deformations detected but they can be modelled using the points in the profiles where the deformation exists.The magnitude of the deformation can therefore be assessed once the deformation is detected.By fitting a curve to line segments in profiles that intersect with piping elements, the deformation is recreated using the curve.An example is shown in figure 14.

CONCLUSION AND FUTURE WORK
A deformation detection method using profiling techniques has been presented.The detection algorithm works by detecting ellipses formed from the intersection of profiles with points representing pipes.The centres of the ellipses provide the orientation and position of the pipes.The radius is estimated using the semi minor axis of the ellipses.A classification strategy for piping elements is also presented.Any deformation will result in the deviation of ellipse centres from the true axis position.This allows for the position of the deformation to be deduced.The results on different clouds show the performance of the algorithm in segmentation and detection of piping elements.The algorithm presented here provides a solution of simultaneously segmenting, detecting piping elements from point clouds and identifying crumpled or twisted pipes without initial parameter estimates.The results from the algorithms can serve as a base for other processes such as surface reconstruction and CSG models selection.The algorithms performance with different data resolutions and accuracy testing will be the subject of future investigation.Robust ellipse detection methods using RANSAC or Hough transform can also be employed.An iterative approach (RANSAC) or Hough Transform could be used to efficiently detect small pipes

Figure 1 .
Figure 1.Surface representation using planar curves.The curves share common points even though they run in different direction.

Figure 2 .
Figure 2. Segmentation by profile intersection: (a) and (b) show two different stacks on a pipe, (c) Profiles are intersected to obtain segments 2. Profile Segmentation by Curve Fitting: A problem with profile segmentation by proximity is that it fails where a point cloud contains surfaces that are very close to each other.Here model fitting is required.By fitting a curve to points in a line segment, continuous curves are obtained.Sharp curvature changes along the curve are identified and the line segments are separated at these points Sample results on the segmentation algorithm are shown in figure 3.

Figure 3 .
Figure 3. Sample 2: Segmentation of pipes by curve fittingsegmentation of coaxial pipes (a) Pipes before segmentation and (b) after segmentation

Figure 5 .
Figure 5.Intersection of a profile and cylinder point cloud produces an ellipse that fulfils properties in section 4.1

Figure 6 .
Figure 6.Sample torus (a) with a defined stack direction and (b) detected ellipses from the stack

Figure 7 .
Figure 7. Radii patterns from geometric primitives a) shows the pattern produced by cylinder/tori b) pattern from a cone and c) and d) are patterns from ellipse and connected pipe and sphere.

Figure 8 .
Figure 8. Detecting deformations in piping elements (a) and (b) show two piping elements segments and the detected axes respectively.Segmentation is carried out first and the two segments are shown in the figure 9(a).

Figure 9 .
Figure 9. Elbow and straight pipe detection with point spacing of 0.02m, a) shows the detected segments and b) shows the ellipse centres detected in the profile.

Figure 10 .Figure 11 .
Figure 10.Plot of radii values from pipe elbow (pipe 1-figure 20) Figure12shows an extract of pipes from a point cloud with a pipe which has a deformed section.The deviations of the centres are shown in figure12(b).A plot of the radii value for the deformed section is shown in figure13between indexes of profiles 20 to 30.Not only are the deformations detected but they can be modelled using the points in the profiles where the deformation exists.The magnitude of the deformation can therefore be assessed once the deformation is detected.By fitting a curve to line segments in profiles that intersect with piping elements, the deformation is recreated using the curve.An example is shown in figure14.Figure15 (a)shows some curves that were identified.Curvature variations are encountered on the curves that are fit to points at the deformed area as explained by figure 15.

Figure 12 .
Figure 12.Deformation detection (a) Pipe containing a deformation and (b) Centres deviating where there are deformations