3D Surface Reconstruction of Stone Tools by Using Four-Directional Measurement Machine

—In this paper, we present a whole procedure for constructing 3D models of stone tools including scanning, data acquisition and surface reconstruction with hole-filling. The process of scanning hundreds or thousands of small objects is time consuming. Our original 3D laser scanner optimizes the scanning process and reduces time significantly by four directional scanning of many small objects simultaneously. To reconstruct surface of stone tools, the scanned point clouds are processed with a new triangulation method that preserves the properties of sharp edges. Our approach is based on a projection based method in which points are distinguished into neighboring layers with a point cloud slicing method to be individually reconstructed. In addition, we introduce a simple hole-filling algorithm for mesh completion of models. The main advantages of our approach are speed and efficiency for reconstruction of many small objects.

Abstract-In this paper, we present a whole procedure for constructing 3D models of stone tools including scanning, data acquisition and surface reconstruction with hole-filling.The process of scanning hundreds or thousands of small objects is time consuming.Our original 3D laser scanner optimizes the scanning process and reduces time significantly by four directional scanning of many small objects simultaneously.To reconstruct surface of stone tools, the scanned point clouds are processed with a new triangulation method that preserves the properties of sharp edges.Our approach is based on a projection based method in which points are distinguished into neighboring layers with a point cloud slicing method to be individually reconstructed.In addition, we introduce a simple hole-filling algorithm for mesh completion of models.The main advantages of our approach are speed and efficiency for reconstruction of many small objects.Index Terms-3D laser scanning, cultural heritage, hole-filling, stone tools, surface reconstruction.

I. INTRODUCTION
In recent years 3D digitizing technology is widely used for conserving and studying cultural heritages [1,2].Laser scanning technology allows us to reconstruct highly accurate 3D models of the cultural artifacts.Depending on the size of the artifact, a lot of different devices, techniques and methods are studied for 3D model reconstruction.Generally, objects can be classified into three types: large size objects such as historical buildings and big statues [3,4], medium ones like medium statues and bigger tools [5,6] and small ones like stone tools and jewelries [7,8].Reconstruction of 3D stone tools with using a laser scanner is one of the integral parts for the cultural heritage conservation.Stone tools are one of the most common evidence of the prehistoric human culture.In the cultural heritage conservation as well as in the study of the stone tools, it is an important issue to construct accurate 3D model replicas.The study of stone tools allows us to understand the cultural and technological development of our far ancestors.
In the lithic analysis, the surfaces of stone tools contain specific properties such as sharp edge, flake scar and percussion point [9].Due to this, during reconstruction process Manuscript Received on November 10, 2010.Email: bayar@lk.cis.iwate-u.ac.jp of stone tools, it is very important to preserve their geometric features.
The most commercial scanners can measure few stone tools at the same time with the multi point data acquisition.Thus, the scanning process of hundreds or thousands of stone tools is time consuming.
On the other hand, surface reconstruction from a large amount of point data is also time consuming and many existing surface reconstruction algorithms have difficulty to construct sharp edges.
In this paper, we have studied a whole procedure for stone tool reconstruction including scanning process and implementation algorithm to construct triangular meshes and fill the holes.The main advantage of our approach is fast and efficient for surface reconstruction of many small objects.Besides, separating points into neighboring layers before surface reconstruction of sharp edged objects brings a good result.Additionally, we present a simple method for filling the holes on the surfaces.Our hole-filling algorithm runs fast and efficient although the shape becomes C 0 continuity.

II. RELATED WORK
There are a lot of algorithms for surface reconstruction from unorganized point clouds.These algorithms are classified into a lot of different ways based on their techniques and methods.For example, Fausto Bernardini [8] classified the algorithms into Delaunay-based methods, surface-based methods, volumetric-based methods and deformable surface methods.
Based on the characteristics of our point data we adopted the projection-based algorithm proposed by Gopi et al. [10,11].Gopi's algorithm is effective for a large amount of unorganized point data due to its memory efficiency and operation speed.
Gopi's algorithm is a single pass and an efficient algorithm to reconstruct 3D surface.It requires only a set of unorganized points and no additional information like normal vectors is needed.The algorithm has the following six main steps: (1) Find k-nearest neighbors for every sample point.
(2) Estimate the normal vector for each sample point p with minimizing the variance of the dot product normal vector at p and the vectors from p to its k-nearest neighbors.
(3) Select candidate points that might be possible neighbors to

3D Surface Reconstruction of Stone Tools by Using Four-Directional Measurement Machine
a vertex in the final triangulation.This selection process uses certain sampling criteria and it has two stages.Gopi's algorithm is suitable for noiseless data and assumed that the point data of an object is as follows [12]: a. Point data should be locally uniform, which means that the distance ratio between the farthest and nearest neighbors of a sample in the given sampling of the object is less than a constant value.b.The points on two neighboring layers should be distinguishable c.The object should be smooth, which means that the normal deviation between the any two triangles incident on a vertex is less than 90 degrees.
In addition, there are some researches related to this algorithm.For example, Gopi's algorithm is accelerated by using a GPU parallel computing [13], while the algorithm of [14] is improved for non-uniform data by adding new points on a surface.Both of the algorithms of [13] and [14], however, are based on the similar assumption as Gopi's algorithm.

III. 3D POINT CLOUD DATA ACQUISITION AND PROCESSING
In our study we used point cloud data scanned by our original 3D laser scanner, especially designed for a large number of small objects such as stone tools.The surfaces of stone tools are very complicated, and sometimes occlusion appears on the surfaces.To prevent such problems, our original range scanner has four laser parts to measure objects in four directions simultaneously.
Scanning process of a lot of small objects is very time consuming depending on accuracy and the number of objects.
Our scanner consists of three main parts as shown in This chapter briefly describes major steps of the scanning process.
Before starting scanning, we place multiple small objects on the glass board so that the objects do not overlap each other.We collect point cloud data from four laser sensors fixed on the robot arm of the scanner.
The highest precision of our laser scanner is 0.1 mm.One of the advantages of our scanner is that it can capture data from four different sides at the same time.In addition, our scanner allows scanning of multiple small objects at the same time.
For example, the scanning with point accuracy of 0.2 mm for 300 small artifacts takes about ten hours (see Fig. 2).On the other hand commercial scanner such as PICZA LPX-600 can scan only one object simultaneously.This scanner takes about 60 minutes to scan the object with size of 50 mm × 50 mm ×50 mm with the point accuracy of 0.2 mm.It takes many hours if several hundred stone tools are scanned by using those kinds of scanners.It shows that performance of using our scanner is multiple times faster than that of those scanners while scanning many small objects.Another important issue for the scanning process is to properly place objects on the glass board.Since our scanner could not scan some areas invisible to the sensors, point data of such areas is omitted among the obtained data.
Once the scanning process is completed, the point clouds obtained from the four directions can be registered.
We divide the obtained point clouds into groups based on each object according to given threshold criteria of the distance between the objects.After that, the obtained point clouds are aligned in a coordinate system of each object.The coordinate system of glass board is used for aligning process because the glass board is fixed during scanning process.At the end we need to merge the point data of each object.
To produce a uniform point data of the objects, certain calculations are needed in the merging process since the data for some areas might overlap since the point data is obtained from the four laser sensors.To merge data, an average value of the distance between adjacent points is found.Due to the fact that the point data captured from all four sensors should have the same density, first we choose one data set as the key set.The remaining point data will be added to the key set according to the distance criteria.If the distance between a new point and its nearest point of the key set is greater than the average distance, the new point will be added to the key set.In Fig. 3, we demonstrated the result of merging point clouds of a stone chopper measured by the four sensors.Before merging, the total number of the points was 240,478 and after merging, it was reduced to 160,801 points.

IV. SURFACE RECONSTRUCTION
Stone tools used by early humans were not of a formal form and have sharp edges in the blade sections as well as rough surfaces such as dents and cracks on the surfaces.Even though high density point clouds are obtained from our scanner, some points do not satisfy the assumptions of the algorithm [10].Due to this, we consider additional arrangement for the point data.
Gopi's algorithm [10,11] uses influence sphere for the sampling criteria.Possible Delaunay neighbors of point p will lie inside this sphere.If the angle between two sides of a blade is sharp, then the influence sphere of point p contains points on the other side of the blade as shown in Fig. 4. In this status, triangulation constructed with these points will be incorrect.Since point A on the sharp edge is not smooth (Fig. 4), ordering the candidate points of point A in the tangent plane will also be incorrect.Therefore, we need to increase density of the sampling points or distinguish the points on the two sides of the blade.By using medial axis of the object, we can easily separate the object into two layers, although medial axis construction is complicated to apply to our objects [15].
On the other hand it is possible to distinguish an object with simple complexity into two layers by using the method based on point cloud slicing technique.Fig. 5 illustrates the result of the point cloud slicing.
Here are the implementation steps of the point cloud slicing technique: Step 1: Determine an appropriate direction for slicing a point cloud.
Step 2: Cut the point cloud into slices along a given direction (for example, along the x-axis), so that the point cloud is sliced by a given thickness.In our case, we choose the thickness value as a double of the average distance between the adjacent points.Let D i (i=1, …, n) be point set of the i th slice.
where n is the slice number, δ is the thickness of the slice, a x is the x coordinate of point a and µ i is the slicing parameter of the i th slice.

A B C D
Step 5: For each D i (i=1, …, n), connect all the mass center points starting from a 1 y to reach the other end of slice (a m y ).The obtained line segment is represented as where A 0 = a 1 , A r+2 = a m and A i (i = 1, …, r+1) are the mass center points of the i th subset of D i Step 6: For the points of each slice, check the side of the line segment (2) where the point lies, so that all points are separated into two layers.
Step 7: After separating the points into two layers, we construct triangle meshes on one of the layers.
Step 8: Add the points on the border line of the layer to the point set of the next layer.
Step 9: Complete the triangulation We can apply this method to simple objects with sharp edges such as arrow head or knife.The illustration of triangulation is shown in the figures 7-12.

V. HOLE FILLING
Filling holes is one of the important sections of our work.There are two kinds of hole-filling algorithms: volume-based algorithms [16,17] and surface-based ones [18,19].
The basic idea of volume-based methods is to convert a surface mesh into a volume representation.The volume-based methods are suitable for complex holes, although the time complexity of the methods is high.
The surface-based methods are used for filling holes locally.The methods do not change original surfaces during hole filling.It is not appropriate, however, for the case when a complex hole such as a hole with an island is filled.
In this chapter, we discuss on a surface-based simple algorithm.The algorithms mentioned above are good for filling holes with geometric continuity, although the time complexity of the methods is high.
In our case, there are two main reasons that the holes appear on the surface.First, holes are left in some invisible areas to the sensors in the obtained point cloud data.Invisible areas depend on the positions on the glass board and the shape of objects.In contrast, our triangulation algorithm leaves some small holes on the non-uniform sampling regions.In this paper, we introduce our original approach to fill holes.Our method fills holes with planar triangulation and does not provide a geometric continuity.
Main idea of our algorithm is as follows: to detect holes, add locally uniform points to a hole and construct triangle meshes with the added new points and the points on the border of the hole.Now the details of our algorithm are described below.We assume that contour curve of a hole is convex.

(1). Detect a hole by using boundary edges. (2). Find the initial point of vertex coupling.
First find the mass center point of the vertices on the boundary edges of the hole.Then, choose the most distant vertex of the hole from the mass center point and set it for the initial point.
(3).Perform vertex coupling.Number all the vertices of the hole starting from initial point.Create couples of vertices by following a simple rule.This process is described in Fig. 6.We will create two sets of vertex couples for vertices a 0 , a 1 , …, a n : a.
(4).Choose candidate points.First, find the average value of the lengths of border edges of the hole: where n+1 is the number of edges of the hole, d i is the length of the i th border edge.
Second, find a dividing number k for each vertex couple: (5) where l i,j is the distance between vertices a i and a j , [.] is the function of integer part.
Third, find points that can divide the line segment (ai, aj) equally into k parts.These points will be considered as the candidate points for filling the hole.(5).Create new point set for filling the hole.Let the initial points of the new point set be vertices on the border edges of the hole.By applying the rule below, we can add new points to the set from the candidate points.To add new points construct spheres with the centers at the candidate points that can be found on the each line segment.Radius of the spheres is l/2 where l is the average value of lengths of the border edges derived from equation (4).If the sphere does not contain any point of the new point set, the center point of the sphere will be added into the set of new points.
(6).Construct triangulation.After creating the new point set for filling the hole, we can construct triangle meshes by using Gopi's algorithm.
Fig. 6 shows the hole filling process.a 0 a1… a8 are the vertices on the border edge of the hole.Two sets of vertex coupling are represented with different lines.Blue dots, which are candidate points, are selected for filling the hole.Sphere with point p at the center does not contain any vertex and blue dot and it will be added to the set of new points.Since sphere with point q at the center contains the blue dot, point q cannot be added to the set of new points.
Due to the additional points in the hole, smaller holes might appear on the surface of the triangle mesh.We can use our simple algorithm repeatedly until all holes on the surface are filled.After new points are found in the hole, we smooth those new points by using Laplacian smoothing method [20].If the contour curve of the holes is not convex, additional calculation is required.In this paper, we did not consider this case.

VI. RESULTS
This section presents some results of our approach to reconstructing surfaces and filling holes.Fig. 7 shows the result of creating a triangle mesh for an arrow head model.The original algorithm [10] cannot work for the sharp edged artifacts mentioned above.After our layer separation technique is applied, triangulation becomes correct.

Before After
Fig. 9 (a) shows the result of filling a hole on a fragment of a pot.The surface of this artifact does not include any sharp edge, and there is no difference between the original point data and one arranged by using our distinguishing technique.This object, however, had a lot of small holes found after scanning.The holes were caused due to the form of the object.After surface reconstruction of this object about thirty holes were detected and filled using our method.Fig. 9 (b) shows a sample of hole-filling process that includes newly added points and the triangle mesh on the surface.We demonstrated the final results of different sharp-edged stone tools in Fig. 8, 10 and 12. Fig. 11 shows the 3D model of the stone knife after applying the hole-filling algorithm.New points in the hole were smoothened.
Numerical results for Fig. 7-12 are shown in TABLE 1 and TABLE 2. We illustrated the result of Gopi's algorithm including triangle number and computation time in upper part of the TABLE 1 and those of our approach in the lower of the table.A comparison results between our and Gopi's algorithm shows that our algorithm is slower than Gopi's algorithm because our algorithm includes point cloud separation process for improving quality of sharp edged objects.The result of hole-filling algorithm and its computation time are illustrated in TABLE 2. The hole-filling algorithm was implemented after our surface reconstruction algorithm.The implementation and performance measurements were obtained using a computer with Intel Core i5-650 (3.2 GHz) processor and 3GB of RAM.

Fig. 1 : ( 1 )
Four laser sensors (2) Movable robot arm (3) Glass board (1050 mm × 550 mm) The glass board enables object scanning from four different viewpoints at the same time.Free and uniform movement along the x and y axes of the robot arm allows acquisition of uniform point data with high density.Sensors (A, B, C and D) shift together.

Fig. 2 .
Fig. 2. Scanning process.More than hundred of small stone tools can be scanned at a time.

Fig. 1 .
Fig. 1.There is Sensors of our scanner (A, B, C and D) are fixed on the movable robot arm.The robot arm move along the x and y axes.

Fig. 3 .
Fig. 3. Result of merging point clouds obtained from four different sensors.The point data A is chosen as a key set.The final result is shown in Fig. 8.

Fig. 4 .Step 3 :Step 4 :
Fig. 4. Points on a sharp edge.Influence sphere of point p is contains point M on the other side of a blade surface.Step 3: Order the points of each slice by the second coordinate (for example, by the y coordinate) y m

Fig. 9 .
Fig. 9. 3D model of the fragment of a pot (a).Hole-filling algorithm includes added new points and mesh construction on the hole (b).

Fig. 11 .
Fig. 11.3D model of the stone knife.Result of the hole filling algorithm.

) Construct final surface triangles using Delaunay neighbors for each sample point p.
• Use the axis-aligned bounding box that returns all points inside the box.Depth pixel array is used for data structure of point pruning.•Next, use sphere of influence with its center at point p.

TABLE 1 :
NUMERICAL RESULT OF THE SURFACE RECONSTRUCTION ALGORITHMS.

TABLE 2 :
NUMERICAL RESULT OF THE HOLE FILLING ALGORITHM.