# Localization between Curved Shell Plate and Its Unfolded Shape in Different Coordinate Systems for Ship-Hull Plate Forming

Authors: Se Yun Hwang; Cheol Ho Ryu; Jang Hyun Lee
Journal: Mathematical Problems in Engineering
 (2011)

---

## Abstract

This paper describes a mathematical formulation for the efficient localization of 3D surfaces including free-form surfaces and flat surfaces. An important application of this paper is to register flat surface calculated from unfolding process with a curved surface extracted from ship CAD prior to the multipoint press forming works. The mathematical formulation handles the registration and comparison of two free surfaces represented by sparse points based on the iterative closest point (ICP) algorithm and localization that can be applicable to ship-hull plate forming. The ICP algorithm gives an adequate set of initial translation and rotation for surface objects with little correspondence through the minimization of mean square distance metric. Comparison of surfaces is explained in order to determine a corresponding set which gives the optimized press stroke between unfold surface and referential object surface. It thereby allows the optimized press works in ship-hull forming. The combination of registration and comparison is applied to decide the shape equivalence of correspondent surfaces as well as to estimate the transform matrix between point sets where similarity is low. Experimental results show the capabilities of the registration on unfolding surface and curved surface.


---

## Body

## 1. Introduction

### 1.1. Background

Ship design is started by the hull form definition represented by hull surface model. In the context of hull form definition, the hull surface is expressed by (Non-Uniform Rational B-Spline) NURBS or wireframe in order to satisfy the required speed and displacement volume. After the hull form is designed, detailed geometry and production drawings are generated according to the block assembly, outfitting assembly, and production planning method. During the block division, the hull surface is divided into a number of small surfaces. Therefore, curved pieces of surface are trimmed from the hull form surface in accordance with both block division and seam/butt assignment. The stem and stern pieces have especially complex curvature in comparison with the other pieces of surface.Generally, the curved pieces have been deformed by the combination of roll bending and flame bending or press forming so that the flat pieces manufactured by steel cutting machines can be deformed up to the curved surface which comprises the hull surface. However, it is difficult to control the amount of residual deformation in the flame bending because of the thermal deformation generated by high-temperature distribution [1]. Recently, mechanical forming methods such as multiple-piston press forming, multiple-point press forming (MPPF), and dieless forming have been investigated by several studies in order to find an alternative forming method of the flame bending. MPPF method can create various free surfaces by adjustment of the stroke of the hydraulic press matrix as it imposes the displacement on the plates using hydraulic pistons [2]. The fundamental component in the MPPF is a pair of matrices of punches, which moves to a forming surface by controlling the position of each punch. Figure 1 shows a conventional shape of MPPF which has the upper and lower matrices of square punches with spherical ends. With MPPF, the forming process of plate of various three-dimensional shapes can be accomplished.Figure 1
An apparatus of multiple-point press machine used for thick plate forming.The multipoint press is required to calculate the press stroke of each press considering the displacement difference between the two pieces of surface. Therefore, the objective surface must be compared with the flat plate not only to calculate the stroke of each press but also to determine the displacement of positions which can produce the design surface [2].In order to form the curved pieces, a developed (unfolded) shape should be calculated from curved pieces. The formation of curved structures from flat sheet material involves some degree of elastic and plastic deformation of the flat material. Although the forming method uses a different mechanism, every forming method imposes in-plane strain and bending strain by comparing the difference between the unfolded flat plate and the trimmed object surfaces. Therefore, a geometric model of trimmed surface and flat plate should be prepared [2–4]. The trimmed-curved surfaces are extracted from the ship CAD system into the sparse points set, wire frame, or free-form surface whose location is defined by the coordinate system of ship CAD. Thereafter, the trimmed pieces are developed (or unfolded) into the flat plates by an unfolding system that is separate from the ship CAD. Since the geometric models of trimmed object surface and the flat plate are represented by different coordinate systems, two surface models should be matched to a similar coordinate system. The design model is defined in the hull coordinate system, and the manufactured part is defined in the unfolded coordinate system. To make the comparison possible, these two surfaces must be brought to a common coordinate system. This process is called localization or registration. Localization or registration refers to the determination of the positions and orientations of the design coordinate of a part with respect to the local coordinate. It brings the two surfaces into a common coordinate system since the geometric matching and registration of two surfaces is an inevitable work in the hull plate forming. Registering 3D models, that is, putting two 3D surfaces in a common coordinate system is a crucial step in hull plate forming in shipbuilding. Because of spring back, it is also difficult to achieve the desired design shape at the first forming work. The desired shape can be efficiently achieved by an iterative process of bending, measurement, and comparison. During the iterative process, the measured shape of the manufactured plate will be compared with the design shape to determine whether the measured shape approaches the desired shape. The surface comparison and registration, in practical, is a tedious work for arbitrary surface models or for sparsed 3D point sets.The motivation of this study is to find an effective algorithm for surface registration required for the manipulation of surfaces during the forming works. Therefore, this study focuses on the development of an effective algorithm for comparison, localization, and registration of unfold flat plate and the curved plates. This study aims at the suggestion of a successive method for registration using the ICP algorithm and the localization method to match the flat surface and the curved surface that are represented at different coordinate systems.This paper is structured as follows. Several relevant studies are first reviewed. Next, the mathematical formulation of the ICP algorithm is started. Thereafter, the closest point search algorithm is described. Finally, experimental results for surfaces are presented to demonstrate the ability of the proposed method.


### 1.2. Literature Review

The ICP method is the de facto standard for registration of point sets or different surfaces. It registers two independent 3D surfaces or 3D point clouds into a common coordinate system. Relatively little work has been published in the area of registration of 3D free-form surface and flat surface which does not have a similar shape. The original ICP algorithm has been mainly used to register for two similar geometric models. Most of the existing literature have addressed the surface matching or surface registration of similar surfaces with known correspondence.Horn [5] derived a formulation using unit Quaternion for the registration of two similar surfaces located in different coordinate systems. Also, Besl and McKay [6] proposed an ICP algorithm based on the method suggested by Horn [5]. The ICP algorithm gives a procedure to find the closest point on a geometric entity to a given point by transformation matrix that is calculated by the relation of two geometric entities.If the ICP algorithm is iterated by minimizing the distance error between two point data sets, then it can be useful for problems that have an unknown correspondence relation of two point data sets. The ICP algorithm used in this study registers two different geometric models (i.e., flat surface and object surface) that have little correspondence. The ICP algorithm consists of two parts that calculate the transformation matrix and find the correspondence point in the transformed point data sets. If flat surface data sets and object data sets represent different shapes, the closest point is the correspondence point sets, that is, object surfaces that have a minimum distance from the model data sets, that is, flat surfaces.


### 1.3. Surface Data Flow in Multipoint Forming

Hull pieces are trimmed from the three-dimensional surface defined by 3D ship CAD. Thereafter, the pieces are unfolded to the flat plate, as shown in Figure2. The flat plates are fabricated by forming and welding to form the desired hull form shapes.Figure 2
Data flow of the desired surface and unfolded surface in a hull piece design (modified from [2]).Since the two sets of points on the unfolded surface and the design surface are represented on different coordinates, the point sets are required to be registered in the same coordinate system. The process of registration using the ICP algorithm is to calculate the transformation matrix from the press position to the object surface point sets, as shown in Figures3 and 4. Thereafter, the ICP algorithm finds the corresponding points that match the positions.Figure 3
Registration of the unfolded surface to the design surface.Figure 4
Schematic process of the registration and transformation.


### 1.4. Geometric Model of Surfaces

This section introduces a free-form surface representation for the purpose of fast and accurate registration and matching. Since the part/product design and reverse engineering process starts from a compact surface model, the design surface and unfolded surface should be constructed by a geometric model. When the digitized points are available, the model construction is processed by CAD modeling, such as polynomial equations and parametric surfaces, such as Bezier, B-Spline, or NURBS (Nonuniform Rational B-Spline) surfaces. Furthermore, a surface-based approach, such as Bezier, B-Spline, or NURBS, is likely to be less effective than a polynomial since the design surface has simple curvature. The design surface trimmed from a ship CAD, that is, TRIBON, and the unfolded surface are identified as a set of points. The set of points is transformed into a polynomial equation since the polynomial equation is sufficient to get the boundary points and inner points as well as to calculate the registered surface. The polynomial functionD(x,y) for independent variables (x,y) of degree (k,k) can express the surfaces expressed as(1.1)z=D(x,y)=∑i=0k∑j=0kaijxjyj,whereaij is a coefficient of each polynomial term.Since the values of points(xi,yi,zi) are generated from the desired surfaces and measured points, the polynomial surfaces were interpolated to the given sets of points. We evalulate the polynomial surfaces of degrees (2,2), (3,3), and (4,4) by comparing the interpolated points obtained by the polynomial surface with those of the desired surface. Thereafter, we have chosen the cubic polynomial surface of (3,3) degree to represent the surfaces of the sparse points since it showed good agreement with the original surface. The polynomial function can satisfy zi=D(xi,yi) for m data points (xi,yi,zi) given, and the formulations are described by a matrix form. Introducing the coefficients, a1,a2,…,a16 which are rearranged from aij, (1.1) can be transformed to a matrix form as follows in (1.2). It is possible to calculate the coefficients by introducing the given m data points. The interpolation coefficients are obtained by following equation [3]:(1.2)(NTN)a=NTq,
where N is a matrix computed by the given points of (xi,yi), a is the coefficient vector of the polynomial, and q is the vector of the zi at given data points. These equations are represented as follows:(1.3)N=[x13x13y1⋯1x23x23y2⋯1⋮⋮⋮⋮xm3xm3ym⋯1],a={a1,a2,…,a16}T,q={z1,z2,…,zm}T.


## 1.1. Background

Ship design is started by the hull form definition represented by hull surface model. In the context of hull form definition, the hull surface is expressed by (Non-Uniform Rational B-Spline) NURBS or wireframe in order to satisfy the required speed and displacement volume. After the hull form is designed, detailed geometry and production drawings are generated according to the block assembly, outfitting assembly, and production planning method. During the block division, the hull surface is divided into a number of small surfaces. Therefore, curved pieces of surface are trimmed from the hull form surface in accordance with both block division and seam/butt assignment. The stem and stern pieces have especially complex curvature in comparison with the other pieces of surface.Generally, the curved pieces have been deformed by the combination of roll bending and flame bending or press forming so that the flat pieces manufactured by steel cutting machines can be deformed up to the curved surface which comprises the hull surface. However, it is difficult to control the amount of residual deformation in the flame bending because of the thermal deformation generated by high-temperature distribution [1]. Recently, mechanical forming methods such as multiple-piston press forming, multiple-point press forming (MPPF), and dieless forming have been investigated by several studies in order to find an alternative forming method of the flame bending. MPPF method can create various free surfaces by adjustment of the stroke of the hydraulic press matrix as it imposes the displacement on the plates using hydraulic pistons [2]. The fundamental component in the MPPF is a pair of matrices of punches, which moves to a forming surface by controlling the position of each punch. Figure 1 shows a conventional shape of MPPF which has the upper and lower matrices of square punches with spherical ends. With MPPF, the forming process of plate of various three-dimensional shapes can be accomplished.Figure 1
An apparatus of multiple-point press machine used for thick plate forming.The multipoint press is required to calculate the press stroke of each press considering the displacement difference between the two pieces of surface. Therefore, the objective surface must be compared with the flat plate not only to calculate the stroke of each press but also to determine the displacement of positions which can produce the design surface [2].In order to form the curved pieces, a developed (unfolded) shape should be calculated from curved pieces. The formation of curved structures from flat sheet material involves some degree of elastic and plastic deformation of the flat material. Although the forming method uses a different mechanism, every forming method imposes in-plane strain and bending strain by comparing the difference between the unfolded flat plate and the trimmed object surfaces. Therefore, a geometric model of trimmed surface and flat plate should be prepared [2–4]. The trimmed-curved surfaces are extracted from the ship CAD system into the sparse points set, wire frame, or free-form surface whose location is defined by the coordinate system of ship CAD. Thereafter, the trimmed pieces are developed (or unfolded) into the flat plates by an unfolding system that is separate from the ship CAD. Since the geometric models of trimmed object surface and the flat plate are represented by different coordinate systems, two surface models should be matched to a similar coordinate system. The design model is defined in the hull coordinate system, and the manufactured part is defined in the unfolded coordinate system. To make the comparison possible, these two surfaces must be brought to a common coordinate system. This process is called localization or registration. Localization or registration refers to the determination of the positions and orientations of the design coordinate of a part with respect to the local coordinate. It brings the two surfaces into a common coordinate system since the geometric matching and registration of two surfaces is an inevitable work in the hull plate forming. Registering 3D models, that is, putting two 3D surfaces in a common coordinate system is a crucial step in hull plate forming in shipbuilding. Because of spring back, it is also difficult to achieve the desired design shape at the first forming work. The desired shape can be efficiently achieved by an iterative process of bending, measurement, and comparison. During the iterative process, the measured shape of the manufactured plate will be compared with the design shape to determine whether the measured shape approaches the desired shape. The surface comparison and registration, in practical, is a tedious work for arbitrary surface models or for sparsed 3D point sets.The motivation of this study is to find an effective algorithm for surface registration required for the manipulation of surfaces during the forming works. Therefore, this study focuses on the development of an effective algorithm for comparison, localization, and registration of unfold flat plate and the curved plates. This study aims at the suggestion of a successive method for registration using the ICP algorithm and the localization method to match the flat surface and the curved surface that are represented at different coordinate systems.This paper is structured as follows. Several relevant studies are first reviewed. Next, the mathematical formulation of the ICP algorithm is started. Thereafter, the closest point search algorithm is described. Finally, experimental results for surfaces are presented to demonstrate the ability of the proposed method.


## 1.2. Literature Review

The ICP method is the de facto standard for registration of point sets or different surfaces. It registers two independent 3D surfaces or 3D point clouds into a common coordinate system. Relatively little work has been published in the area of registration of 3D free-form surface and flat surface which does not have a similar shape. The original ICP algorithm has been mainly used to register for two similar geometric models. Most of the existing literature have addressed the surface matching or surface registration of similar surfaces with known correspondence.Horn [5] derived a formulation using unit Quaternion for the registration of two similar surfaces located in different coordinate systems. Also, Besl and McKay [6] proposed an ICP algorithm based on the method suggested by Horn [5]. The ICP algorithm gives a procedure to find the closest point on a geometric entity to a given point by transformation matrix that is calculated by the relation of two geometric entities.If the ICP algorithm is iterated by minimizing the distance error between two point data sets, then it can be useful for problems that have an unknown correspondence relation of two point data sets. The ICP algorithm used in this study registers two different geometric models (i.e., flat surface and object surface) that have little correspondence. The ICP algorithm consists of two parts that calculate the transformation matrix and find the correspondence point in the transformed point data sets. If flat surface data sets and object data sets represent different shapes, the closest point is the correspondence point sets, that is, object surfaces that have a minimum distance from the model data sets, that is, flat surfaces.


## 1.3. Surface Data Flow in Multipoint Forming

Hull pieces are trimmed from the three-dimensional surface defined by 3D ship CAD. Thereafter, the pieces are unfolded to the flat plate, as shown in Figure2. The flat plates are fabricated by forming and welding to form the desired hull form shapes.Figure 2
Data flow of the desired surface and unfolded surface in a hull piece design (modified from [2]).Since the two sets of points on the unfolded surface and the design surface are represented on different coordinates, the point sets are required to be registered in the same coordinate system. The process of registration using the ICP algorithm is to calculate the transformation matrix from the press position to the object surface point sets, as shown in Figures3 and 4. Thereafter, the ICP algorithm finds the corresponding points that match the positions.Figure 3
Registration of the unfolded surface to the design surface.Figure 4
Schematic process of the registration and transformation.


## 1.4. Geometric Model of Surfaces

This section introduces a free-form surface representation for the purpose of fast and accurate registration and matching. Since the part/product design and reverse engineering process starts from a compact surface model, the design surface and unfolded surface should be constructed by a geometric model. When the digitized points are available, the model construction is processed by CAD modeling, such as polynomial equations and parametric surfaces, such as Bezier, B-Spline, or NURBS (Nonuniform Rational B-Spline) surfaces. Furthermore, a surface-based approach, such as Bezier, B-Spline, or NURBS, is likely to be less effective than a polynomial since the design surface has simple curvature. The design surface trimmed from a ship CAD, that is, TRIBON, and the unfolded surface are identified as a set of points. The set of points is transformed into a polynomial equation since the polynomial equation is sufficient to get the boundary points and inner points as well as to calculate the registered surface. The polynomial functionD(x,y) for independent variables (x,y) of degree (k,k) can express the surfaces expressed as(1.1)z=D(x,y)=∑i=0k∑j=0kaijxjyj,whereaij is a coefficient of each polynomial term.Since the values of points(xi,yi,zi) are generated from the desired surfaces and measured points, the polynomial surfaces were interpolated to the given sets of points. We evalulate the polynomial surfaces of degrees (2,2), (3,3), and (4,4) by comparing the interpolated points obtained by the polynomial surface with those of the desired surface. Thereafter, we have chosen the cubic polynomial surface of (3,3) degree to represent the surfaces of the sparse points since it showed good agreement with the original surface. The polynomial function can satisfy zi=D(xi,yi) for m data points (xi,yi,zi) given, and the formulations are described by a matrix form. Introducing the coefficients, a1,a2,…,a16 which are rearranged from aij, (1.1) can be transformed to a matrix form as follows in (1.2). It is possible to calculate the coefficients by introducing the given m data points. The interpolation coefficients are obtained by following equation [3]:(1.2)(NTN)a=NTq,
where N is a matrix computed by the given points of (xi,yi), a is the coefficient vector of the polynomial, and q is the vector of the zi at given data points. These equations are represented as follows:(1.3)N=[x13x13y1⋯1x23x23y2⋯1⋮⋮⋮⋮xm3xm3ym⋯1],a={a1,a2,…,a16}T,q={z1,z2,…,zm}T.


## 2. ICP and Localization

This chapter addresses the mathematical formulation of 3D surface registration techniques and localization emphasizing the multipoint press forming. The registration can be roughly partitioned into three issues: calculation of transformation matrix in terms of translation and rotation vector, optimization to minimize the stroke of multiple presses, and determination of the corresponding points of the design surface on the unfolded surface. The first and second issues pertain to how to estimate the transformation which best aligns with the design surface on an unfolded surface or which maximizes a measure of the similarity in the coincident coordinates of two surfaces. These issues can be expressed by the ICP algorithm. The third issue determines the location of press points extracted from the 2D unfolded surface, which can be characterized by localization [7, 8]. Within this framework, this chapter explains in detail ICP and the localization algorithm applied to the multipoint press forming. Two data sets of the design surface and unfolded surface, as well as a set of points of the design surface which have been paired with a set of corresponding points on the unfolded surface, are shown in Figure 5.Figure 5
Rotation and translation of the points for the registration.


### 2.1. Corresponding Point Set Registration

The first stage is the formulation of the rigid body translation and rotation between two surfaces, which is appropriate for registration of the design surface on the unfolded surface. In this subsection, a procedure to obtain the least square rotation and translation is reviewed. The method of specifying the rotations and orientation of coordinate systems through unit quaternion operators has been widely introduced to computer graphics in a variety of rotation sequence applications in many studies [6, 9, 10]. The Quaternion-based registration algorithm suggested by Besl and McKay [6] is described in this section. The following mathematical equation of ICP is formulated based on the unit Quaternion algorithm.The problem in registration is computation of the rigid body motions consisting of rotation and translation in 3D space, that is, given a set of press pointsP={p⃗i} and correspondences, a set of unfolded surface X={x⃗i}. It is of interest to compute the 3×3 rotation matrix R and 3-vector translation t such that(2.1)P=R×X+t.Figure5 explains the schematic process of the registration expressed by (2.1).Faugeras and Hebert [8] proposed a quaternion-based solution to register a set of n points. Following this method, rotation is expressed by a unit quaternion, and translation is expressed by a vector. The rigid transformation defined by the rotation and the translation can be optimized by minimizing the following mean square function error. When two sets of data are perfectly matched, the mean square function becomes zero. However, the unfolded surface is always expressed by a flat surface and the corresponding design surface is expressed by a curved surface.Therefore, the minimization of the mean square function can represent the optimum registration as follows:(2.2)f(R,t)=1N∑i=1N‖x⃗i-R⋅p⃗i-t‖2.Given two independently acquired sets of 3D points, we want to find the transformation consisting of the rotation matrixR and a translation vector t which minimizes (2.2). The center of mass μ⃗p of the press points set P={p⃗i} and the center of mass μ⃗i for the unfold points set X={x⃗i} can be expressed by (2.3)μ⃗p=1N∑i=1Np⃗i,(2.4)μ⃗x=1N∑i=1Nx⃗i.The cross-covariance matrix∑px of P and X is given by 3×3 matrix as follows: (2.5)∑px=1N∑i=1N[(p⃗i-μ⃗p)(x⃗i-μ⃗x)T].The cyclic components of the antisymmetric matrixAij=(∑px-∑pxT)ij are used to define the column vector Δ=[A23A31A12]T. Thereafter, symmetric 3×3 matrix Q(∑px) can be derived from (2.3) as the following equation:(2.6)Q(∑px)=[tr⁡(∑px)ΔTΔ∑px+∑pxT-tr⁡(∑px)I3],wheretr(∑px) and I3 mean the summation of diagonal components of the cross-covariance matrix ∑px and the 3×3 identity matrix, respectively.The optimal rotation is, hence, determined by calculating the eigenvector that corresponds to the maximum eigenvalue of the matrixQ(∑px). The unit Quaternion q⃗R is the eigenvector corresponding to the maximum eigenvalue of the matrix Q(∑px). The vector q⃗R is given by(2.7)q⃗R=[q0q1q2q3]T.Since the unit Quaternion represents the best rotation, the rotation matrixR can then be formulated as follows: (2.8)R=Rij=[q02+q12-q22-q322(q1q2+q0q3)2(q1q̅3-q0q2)2(q1q2-q0q3)q02+q22-q12-q322(q2q3+q0q1)2(q1q3+q0q2)2(q2q3-q0q1)q02+q32-q12-q22].Finally, the optimal translation vectort is calculated based on the obtained optimal rotation R:(2.9)t=μ⃗x-R(q⃗R)⋅μ⃗p={t1t2t3}.The resulting transformation matrix is defined based on the rotation matrix and the translation vector. The4×4 transformation matrix T that minimizes the mean square error can be expressed as (2.10)T=[Tij]=[R11R12R13t1R21R22R23t2R31R32R33t30001].Finally, the unfolded surface can be registered to the design surface by multiplying the transformation matrix.


### 2.2. Comparison of Two Surfaces

Although registration and the closest point have been mentioned, one more procedure is necessary to find the pressing points on the design surface that correspond to the points on the unfolded surface to obtain the stroke of each press. The registration procedure only gives the transformation matrix to match the unfolded surface to the design surface. Also, the difference between the two point sets is necessary to determine the stroke of each press. Furthermore, the unfolded surface does not resemble the design surface because the design surface is a 3D curved shape and the unfolded surface is a 2D flat plate. Therefore, the registration should be compensated for by an additional algorithm to obtain a robust similarity and to obtain the stroke of each pressing point on the unfolded surface. The localization and comparison of the two free-form surfaces suggested by Huang et al. [7] have an advantage of an efficient algorithm for the unknown free-form surfaces. The present study uses a solution to this determination of a corresponding point set which gives the stroke and distance as defined by Huang et al. [7] as a special case of a comparison algorithm.Finding the relationship between a reference surface and the compared surface is called localization, and such a relationship is represented by the transformation matrixT. Denoting the position on the unfolded surface as r* and the corresponding position on the design surface as r, r can be obtained by solving the coupled equations as follows [8]:(2.11)F1(r)=(T⋅r*-r)T∂r∂x=0,F2(r)=(T⋅r*-r)T∂r∂y=0,whereT denotes the transformation matrix calculated by (2.10), r*=〈x1y1z1(x,y)〉 is a point data, and r=〈xyz(x,y)〉 is an unknown position on the design surface. The derivatives of r, ∂r/∂x and ∂r/∂y, are expressed as follows:(2.12)∂r∂x=〈10∂z∂x〉,∂r∂y=〈10∂z∂y〉.Thereafter, the matching pointr in (2.11) will be obtained by solving the coupled equations simultaneously.Recalling (2.10) and introducing (2.12) to (2.11), we can represent the coupled equations as(2.13)F1(r)=([T11T12T13T14T21T22T23T24T31T32T33T34T41T42T43T44][x1y1z11]-[xyz1])T[10∂z∂x1]=0,F2(r)=([T11T12T13T14T21T22T23T24T31T32T33T34T41T42T43T44][x1y1z11]-[xyz1])T[01∂z∂y1]=0.We introduceTr*1, Tr*2, Tr*3, and Tr*4 as follows:(2.14)Tr*1=R11x1+R12y1+R13z1+t1,Tr*2=R21x1+R22y1+R23z1+t2,Tr*3=R31x1+R32y1+R33z1+t3,Tr*4=1.F1(r) and F2(r) in (2.13) can be rearranged as follows: (2.15)F1(r)=([Tr*1Tr*2Tr*3Tr*4]-[xyz1])T[10∂z∂x1],F2(r)=([Tr*1Tr*2Tr*3Tr*4]-[xyz1])T[10∂z∂y1].From the above equation, the coupled equation will lead to the following:(2.16)F1(x,y)=(Tr*1-x)+(Tr*3-z)∂z∂x+(Tr*4-1),F2(x,y)=(Tr*2-x)+(Tr*3-z)∂z∂x+(Tr*4-1).Sincez is a cubic polynomial function of x, y, unknown variable x, y can be obtained by a nonlinear numerical scheme, the Newton-Raphson method. The numerical error εj in the Newton-Raphson jth iteration is defined by  (2.17)(2.17)εi+1=1N∑i=1N‖Xij-Xij-1‖2,whereXij denotes the location vector of obtained points during the iteration.


## 2.1. Corresponding Point Set Registration

The first stage is the formulation of the rigid body translation and rotation between two surfaces, which is appropriate for registration of the design surface on the unfolded surface. In this subsection, a procedure to obtain the least square rotation and translation is reviewed. The method of specifying the rotations and orientation of coordinate systems through unit quaternion operators has been widely introduced to computer graphics in a variety of rotation sequence applications in many studies [6, 9, 10]. The Quaternion-based registration algorithm suggested by Besl and McKay [6] is described in this section. The following mathematical equation of ICP is formulated based on the unit Quaternion algorithm.The problem in registration is computation of the rigid body motions consisting of rotation and translation in 3D space, that is, given a set of press pointsP={p⃗i} and correspondences, a set of unfolded surface X={x⃗i}. It is of interest to compute the 3×3 rotation matrix R and 3-vector translation t such that(2.1)P=R×X+t.Figure5 explains the schematic process of the registration expressed by (2.1).Faugeras and Hebert [8] proposed a quaternion-based solution to register a set of n points. Following this method, rotation is expressed by a unit quaternion, and translation is expressed by a vector. The rigid transformation defined by the rotation and the translation can be optimized by minimizing the following mean square function error. When two sets of data are perfectly matched, the mean square function becomes zero. However, the unfolded surface is always expressed by a flat surface and the corresponding design surface is expressed by a curved surface.Therefore, the minimization of the mean square function can represent the optimum registration as follows:(2.2)f(R,t)=1N∑i=1N‖x⃗i-R⋅p⃗i-t‖2.Given two independently acquired sets of 3D points, we want to find the transformation consisting of the rotation matrixR and a translation vector t which minimizes (2.2). The center of mass μ⃗p of the press points set P={p⃗i} and the center of mass μ⃗i for the unfold points set X={x⃗i} can be expressed by (2.3)μ⃗p=1N∑i=1Np⃗i,(2.4)μ⃗x=1N∑i=1Nx⃗i.The cross-covariance matrix∑px of P and X is given by 3×3 matrix as follows: (2.5)∑px=1N∑i=1N[(p⃗i-μ⃗p)(x⃗i-μ⃗x)T].The cyclic components of the antisymmetric matrixAij=(∑px-∑pxT)ij are used to define the column vector Δ=[A23A31A12]T. Thereafter, symmetric 3×3 matrix Q(∑px) can be derived from (2.3) as the following equation:(2.6)Q(∑px)=[tr⁡(∑px)ΔTΔ∑px+∑pxT-tr⁡(∑px)I3],wheretr(∑px) and I3 mean the summation of diagonal components of the cross-covariance matrix ∑px and the 3×3 identity matrix, respectively.The optimal rotation is, hence, determined by calculating the eigenvector that corresponds to the maximum eigenvalue of the matrixQ(∑px). The unit Quaternion q⃗R is the eigenvector corresponding to the maximum eigenvalue of the matrix Q(∑px). The vector q⃗R is given by(2.7)q⃗R=[q0q1q2q3]T.Since the unit Quaternion represents the best rotation, the rotation matrixR can then be formulated as follows: (2.8)R=Rij=[q02+q12-q22-q322(q1q2+q0q3)2(q1q̅3-q0q2)2(q1q2-q0q3)q02+q22-q12-q322(q2q3+q0q1)2(q1q3+q0q2)2(q2q3-q0q1)q02+q32-q12-q22].Finally, the optimal translation vectort is calculated based on the obtained optimal rotation R:(2.9)t=μ⃗x-R(q⃗R)⋅μ⃗p={t1t2t3}.The resulting transformation matrix is defined based on the rotation matrix and the translation vector. The4×4 transformation matrix T that minimizes the mean square error can be expressed as (2.10)T=[Tij]=[R11R12R13t1R21R22R23t2R31R32R33t30001].Finally, the unfolded surface can be registered to the design surface by multiplying the transformation matrix.


## 2.2. Comparison of Two Surfaces

Although registration and the closest point have been mentioned, one more procedure is necessary to find the pressing points on the design surface that correspond to the points on the unfolded surface to obtain the stroke of each press. The registration procedure only gives the transformation matrix to match the unfolded surface to the design surface. Also, the difference between the two point sets is necessary to determine the stroke of each press. Furthermore, the unfolded surface does not resemble the design surface because the design surface is a 3D curved shape and the unfolded surface is a 2D flat plate. Therefore, the registration should be compensated for by an additional algorithm to obtain a robust similarity and to obtain the stroke of each pressing point on the unfolded surface. The localization and comparison of the two free-form surfaces suggested by Huang et al. [7] have an advantage of an efficient algorithm for the unknown free-form surfaces. The present study uses a solution to this determination of a corresponding point set which gives the stroke and distance as defined by Huang et al. [7] as a special case of a comparison algorithm.Finding the relationship between a reference surface and the compared surface is called localization, and such a relationship is represented by the transformation matrixT. Denoting the position on the unfolded surface as r* and the corresponding position on the design surface as r, r can be obtained by solving the coupled equations as follows [8]:(2.11)F1(r)=(T⋅r*-r)T∂r∂x=0,F2(r)=(T⋅r*-r)T∂r∂y=0,whereT denotes the transformation matrix calculated by (2.10), r*=〈x1y1z1(x,y)〉 is a point data, and r=〈xyz(x,y)〉 is an unknown position on the design surface. The derivatives of r, ∂r/∂x and ∂r/∂y, are expressed as follows:(2.12)∂r∂x=〈10∂z∂x〉,∂r∂y=〈10∂z∂y〉.Thereafter, the matching pointr in (2.11) will be obtained by solving the coupled equations simultaneously.Recalling (2.10) and introducing (2.12) to (2.11), we can represent the coupled equations as(2.13)F1(r)=([T11T12T13T14T21T22T23T24T31T32T33T34T41T42T43T44][x1y1z11]-[xyz1])T[10∂z∂x1]=0,F2(r)=([T11T12T13T14T21T22T23T24T31T32T33T34T41T42T43T44][x1y1z11]-[xyz1])T[01∂z∂y1]=0.We introduceTr*1, Tr*2, Tr*3, and Tr*4 as follows:(2.14)Tr*1=R11x1+R12y1+R13z1+t1,Tr*2=R21x1+R22y1+R23z1+t2,Tr*3=R31x1+R32y1+R33z1+t3,Tr*4=1.F1(r) and F2(r) in (2.13) can be rearranged as follows: (2.15)F1(r)=([Tr*1Tr*2Tr*3Tr*4]-[xyz1])T[10∂z∂x1],F2(r)=([Tr*1Tr*2Tr*3Tr*4]-[xyz1])T[10∂z∂y1].From the above equation, the coupled equation will lead to the following:(2.16)F1(x,y)=(Tr*1-x)+(Tr*3-z)∂z∂x+(Tr*4-1),F2(x,y)=(Tr*2-x)+(Tr*3-z)∂z∂x+(Tr*4-1).Sincez is a cubic polynomial function of x, y, unknown variable x, y can be obtained by a nonlinear numerical scheme, the Newton-Raphson method. The numerical error εj in the Newton-Raphson jth iteration is defined by  (2.17)(2.17)εi+1=1N∑i=1N‖Xij-Xij-1‖2,whereXij denotes the location vector of obtained points during the iteration.


## 3. Experiments and Results

In this chapter, we demonstrate the ability of the proposed formulation to achieve the registration. This chapter is divided into two sections: (Section3.1) registration of similar surfaces and (Section 3.1) registration of flat and curved surfaces. The software were implemented using C# programming language.The curved shape was extracted from Ship CAD software, that is, TRIBON, and the discrete points set was modeled by the polynomial surface. Unfolded surface was calculated by the method suggested by Ryu and Shin [4]. Since this paper focuses on the development of an effective algorithm for localization of the unfolded flat surface and the curved surface, we used a real surface data extracted from a container carrier ship.


### 3.1. Registration of Similar or the Same Surfaces in Different Coordinates

In this section, we demonstrate the ability of the ICP algorithm and the proposed formulation to perform localization of surfaces with similar or the same shape. Examples of the same surfaces and similar surfaces are shown in Figures6 and 7, respectively. Both the same surfaces and similar surfaces at different coordinates were selected for quick testing of the free-form surface localization. Figure 6(a) shows two surfaces that have the same shape prior to localization. Figure 6(b) shows the registered surfaces after localization. Figure 7 also compares similar surfaces before and after localization. The computation results are summarized in Table 1. From the results it can be seen that the algorithm gives good accuracy for the testing examples.Table 1
Transform matrix and summary of computation for model 1 and model 2.
Result of computationMode 1Model 2Root mean square value of deviation0.0 mm15.24 mmafter registrationNumber of iteration2077Translation vector[-1000.0500.00.001][985.4-505.3-11.7]Rotation matrix[100010001][0.999-0.001-0.0010.0010.999-0.0050.0010.0050.999]Model 1: The same surfaces located in different positions.
(a)
Surfaces before localization(b)
Surfaces after localizationModel 2: Similar surfaces located in different positions.
(a)
Surfaces before localization(b)
Surfaces after localization


### 3.2. Registration of Flat and Curved Surface with Little Correspondence

Two examples of registration between flat and curved surfaces were tested as shown in Figures8 and 9, the convex and saddle type, trimmed from the hull form of a containership designed by a shipyard. The two types are the most typical pieces in ship-hull plate forming since it has a complicated curvature. Figure 8 compares the concave surface and its unfolded surfaces before registration and after registration, sequentially. The red plates and the blue plates mean the flat unfolded surface and the curved design surface, respectively. Also, Figure 9 explains the example of saddle-type surfaces. The convergence was achieved by several iterations in few seconds as summarized in Table 2. From the results, it can be seen that the algorithm is not only robust, but it also can be applied to the registration of flat surface and curved surface in multipoint press forming. If a set of points on the desired surface is taken, a corresponding points set can be determined by comparing the press stroke difference between the unfolded surface and the design surface as shown in Figure 10.Table 2
Transform matrix and summary of computation for model 3 and model 4.
Result of computationModel3Model 4Root mean square value of deviation70.06 mm4.9 mmafter registrationNumber of iteration6066Translation vector[987.421-390.930-57.044][985.4-505.3-11.7]Rotation matrix[0.999-0.044-0.001-0.044-0.9990.0040.001-0.004-0.999][0.999-0.0002-0.00140.00020.999-0.00530.00140.00530.999]Model 3: Concave surfaces in different locations.
(a)
Surfaces before localization(b)
Surfaces after localizationModel 4: Twist surfaces in different locations.
(a)
Surfaces before localization(b)
Surfaces after localizationFigure 10
Press stroke at each press punch position.


## 3.1. Registration of Similar or the Same Surfaces in Different Coordinates

In this section, we demonstrate the ability of the ICP algorithm and the proposed formulation to perform localization of surfaces with similar or the same shape. Examples of the same surfaces and similar surfaces are shown in Figures6 and 7, respectively. Both the same surfaces and similar surfaces at different coordinates were selected for quick testing of the free-form surface localization. Figure 6(a) shows two surfaces that have the same shape prior to localization. Figure 6(b) shows the registered surfaces after localization. Figure 7 also compares similar surfaces before and after localization. The computation results are summarized in Table 1. From the results it can be seen that the algorithm gives good accuracy for the testing examples.Table 1
Transform matrix and summary of computation for model 1 and model 2.
Result of computationMode 1Model 2Root mean square value of deviation0.0 mm15.24 mmafter registrationNumber of iteration2077Translation vector[-1000.0500.00.001][985.4-505.3-11.7]Rotation matrix[100010001][0.999-0.001-0.0010.0010.999-0.0050.0010.0050.999]Model 1: The same surfaces located in different positions.
(a)
Surfaces before localization(b)
Surfaces after localizationModel 2: Similar surfaces located in different positions.
(a)
Surfaces before localization(b)
Surfaces after localization


## 3.2. Registration of Flat and Curved Surface with Little Correspondence

Two examples of registration between flat and curved surfaces were tested as shown in Figures8 and 9, the convex and saddle type, trimmed from the hull form of a containership designed by a shipyard. The two types are the most typical pieces in ship-hull plate forming since it has a complicated curvature. Figure 8 compares the concave surface and its unfolded surfaces before registration and after registration, sequentially. The red plates and the blue plates mean the flat unfolded surface and the curved design surface, respectively. Also, Figure 9 explains the example of saddle-type surfaces. The convergence was achieved by several iterations in few seconds as summarized in Table 2. From the results, it can be seen that the algorithm is not only robust, but it also can be applied to the registration of flat surface and curved surface in multipoint press forming. If a set of points on the desired surface is taken, a corresponding points set can be determined by comparing the press stroke difference between the unfolded surface and the design surface as shown in Figure 10.Table 2
Transform matrix and summary of computation for model 3 and model 4.
Result of computationModel3Model 4Root mean square value of deviation70.06 mm4.9 mmafter registrationNumber of iteration6066Translation vector[987.421-390.930-57.044][985.4-505.3-11.7]Rotation matrix[0.999-0.044-0.001-0.044-0.9990.0040.001-0.004-0.999][0.999-0.0002-0.00140.00020.999-0.00530.00140.00530.999]Model 3: Concave surfaces in different locations.
(a)
Surfaces before localization(b)
Surfaces after localizationModel 4: Twist surfaces in different locations.
(a)
Surfaces before localization(b)
Surfaces after localizationFigure 10
Press stroke at each press punch position.


## 4. Conclusions

Surface matching, registration, and comparison is a difficult problem in the hull plate forming. Registering 3D surfaces, that is, putting two 3D surfaces in a common coordinate system is a crucial step in 3D hull plate forming in shipbuilding. This paper has discussed a combination of ICP algorithm and localization algorithm applicable to hull press forming. An effective approach in order to obtain the press stroke in multipoint press forming and to register the flat unfold surface on the curved design surface was implemented based on the cubic polynomial surface model. The ICP algorithm registers two independent surfaces into a common coordinate system. Surfaces are represented by cubic polynomial equation in arbitrary space. The ICP algorithm is based on iteratively matching points on one surface to the closest points on the other. A least-squares technique is used to estimate 3D translation and rotation from the point correspondences, which reduces the average distance between the surfaces in the two sets.The closest point algorithm and registration compensated by localization effectively manipulates the geometric registration of surfaces and calculates the press stroke in ship-hull plate forming. Both synthetic and real data have been used to test the algorithm, and the results show that it is sufficient and robust and yields an accurate registration.


## 5. Acknowledgment

This work was supported by Mid-Career Researcher Program through Korea NRF Grant funded by the MEST(2009-0080880) and INHA research Grant.



---

*Source: 257804-2011-07-06.xml*