Научная статья на тему 'RECONSTRUCTION AND REGISTRATION OF 3D SURFACES OBTAINED BY SCANNING'

RECONSTRUCTION AND REGISTRATION OF 3D SURFACES OBTAINED BY SCANNING Текст научной статьи по специальности «Физика»

CC BY
81
21
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
3D-SURFACE / RECONSTRUCTION / REGISTRATION / ALGORITHM / SCANNING / TRIANGULAR MESH / POINT CLOUD / 3D-ПОВЕРХНОСТЬ / РЕКОНСТРУКЦИЯ / РЕГИСТРАЦИЯ / АЛГОРИТМ / СКАНИРОВАНИЕ / ТРИАНГУЛЯЦИОННАЯ СЕТКА / ОБЛАКО ТОЧЕК / 3D-ПОВЕРХНЯ / РЕКОНСТРУКЦіЯ / РЕєСТРАЦіЯ / СКАНУВАННЯ / ТРИАНГУЛЯЦіЙНА СіТКА / ХМАРА ТОЧОК

Аннотация научной статьи по физике, автор научной работы — Moroz Volodymyr, Shvandt Maksym

N this article the general approach for the three-dimensional surface reconstruction is examined. Also, the registration of three-dimensional surfaces is considered. The process of converting a three-dimensional model from a triangular mesh into a point cloud based on the generation of a random point using the principle of barycentric coordinates was applied. Based on the material studied, a complex procedure is proposed, which includes both correction of errors and defects in surfaces obtained as a result of an object scanning, and the registration of these surfaces previously converted into point clouds. On a specific example of the usage of three-dimensional models in dentistry the proposed procedure was tested, results were obtained and conclusions were made. Figs.: 6. Refs.: 23 titles.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

РЕКОНСТРУКЦИЯ И РЕГИСТРАЦИЯ 3D-ПОВЕРХНОСТЕЙ, ПОЛУЧЕНЫХ В РЕЗУЛЬТАТЕ СКАНИРОВАНИЯ

Исследован общий подход к реконструкции трехмерных поверхностей, представленных в виде триангуляционной сетки. Также в статье рассмотрена регистрация трехмерных поверхностей. Применен процесс превращения трехмерной модели из триангуляционной сетки в облако точек, который базируется на генерации случайной точки вместе с использованием принципа барицентрических координат. На основе изученного материала предложена комплексная процедура, которая включает в себя исправление ошибок и дефектов в поверхностях, полученных в результате сканирования объекта, а также регистрацию этих поверхностей, предварительно превращенных в облака точек. На конкретном примере использования трехмерных моделей в стоматологии вышеуказанная процедура была протестирована, были получены результаты и сделаны выводы. Ил.: 6. Библиогр.: 23 назв.

Текст научной работы на тему «RECONSTRUCTION AND REGISTRATION OF 3D SURFACES OBTAINED BY SCANNING»

UDC 004.932:519.652 DOI: 10.20998/2411-0558.2019.28.10

VOLODYMYR MOROZ, PhD, Prof., I.I. Mechnikov National

University, Odessa,

MAKSYMSHVANDT, BSc, I.I. Mechnikov National University, Odessa

RECONSTRUCTION AND REGISTRATION OF 3D SURFACES

OBTAINED BY SCANNING

In this article the general approach for the three-dimensional surface reconstruction is examined. Also, the registration of three-dimensional surfaces is considered. The process of converting a three-dimensional model from a triangular mesh into a point cloud based on the generation of a random point using the principle of barycentric coordinates was applied. Based on the material studied, a complex procedure is proposed, which includes both correction of errors and defects in surfaces obtained as a result of an object scanning, and the registration of these surfaces previously converted into point clouds. On a specific example of the usage of three-dimensional models in dentistry the proposed procedure was tested, results were obtained and conclusions were made. Figs. 6. Refs. 23 titles.

Keywords: 3D-surface; reconstruction; registration; scanning; triangular mesh; point

cloud.

Problem statement. 3D-models are widely used in medicine, especially in stomatology. In our case there are to 3D-models of human jaw that need to be processed. The first one was obtained from a medical tomographic scanner. This scanner takes up to 500 pictures of jaw from multiple perspectives and then its software combines them into a single 3D-surface as an output file. The second model is obtained by scanning with a usual 3D-scanner of a real dental model of the same jaw. The main task is to align the second surface with respect to the first and to perform the registration of these models. But right after acquisition the scanned dental model contains multiple defects, like polygon self-intersections and holes due to the 3D-scanning technics. These defects and artifacts will affect the accuracy of model aligning and registration: some false matches can occur. That's why before registration the dental model must be reconstructed and freed from artifacts. Also, most of surface registration algorithms provide best results if the input surface is represented as a point cloud, so it leads to the need of surface conversion from mesh to point cloud. Thus, both the input surfaces must be repaired, converted to point clouds and finally, aligned and registered.

Analysis of recent research. Nowadays 3D-surfaces are intensively used in many different areas of object modelling, computer graphics and geometry processing. The 3D-surface can be obtained as a result of digitized scan from 3D-scanner or constructed on the computer manually. It can be

© V. Moroz, M. Shvandt, 2019

represented in two ways: as a mesh or as a point cloud.

A 3D mesh is a set of points in 3D-space, interconnected with edges. By other words it consists of multiple polygons of different shape. For example, most of 3D-scanners use this type of mesh representation. Point cloud is a set of points of 3D-space without any additional information.

The usage of 3D surfaces include many operations on them, but the most common and necessary are the problems of mesh registration and repair. Also during processing it can be necessary to change the shape of the mesh without changing the whole structure. One of the most suitable and commonly used for this type of mesh is a triangular mesh, i.e. all its polygons are represented by triangles [1, 2]. Right after acquisition, the mesh of the model can experience several problems: it can contain different defects, such self-intersections and holes. In production and industrial design, for example, some applications assume that the mesh enclose to solid and does not contain degenerate or nearly degenerate elements [1, 3]. That's why before using the 3D model, it is important to check its structure and if there are any defects, to repair them.

Another common task for 3D models is the task of surface registration. Three-dimensional registration is a fundamental problem in many industries. For example: medical visualization [4], environment reconstruction in archeology [5], construction of three-dimensional terrain maps [6] or sea bed and in industry, in particular, in robotics [7]. The main tasks of registration are modeling of structures, reconstruction of objects from three-dimensional images from multiple perspectives, alignment of temporary three-dimensional images, in particular for damage monitoring. The registration process will also provide bad results if the meshes contain different defects, because they can affect the registration accuracy. Thus the mesh reconstruction processes is very important.

The purpose of the article. The algorithms for surface reconstruction and registration act on their own. But in particular case of human jaw models aligning and registration they need to be combined into a single process. So, the purpose of this research is to develop a complex procedure that will perform both reconstruction and registration phases, including necessary mesh transformations.

The mathematical model. Triangle meshes are one of the most convinient ways of surface representation; in many geometry processing algorithms they are considered as a collection of triangles without any particular mathematical structure. According to [1, 3] a triangle mesh M consists of a geometric and a topological component. Thus, it is as a pair (P, S), where P is a set of N point positions pi = (xt, yi, zi) e R3, 1 < i < N and S is an abstract simplicial complex which contains all the topological

information. The simplicial complex S is a set of subsets of {1,...,N}and these subsets are called simplices. There are three types of them: vertices v = {i}, edges e = {i, j} and triangles t = {i, j, k}. The simplicial complex S describes a topology (connectivity) on P. Also, as stated in [1, 3, 8] an important topological quality of a surface is whether or not it is manifold, i.e. if for each point the surface is locally homeomorphic to a disk (or a half-disk at boundaries). A triangle mesh is manifold if it does neither contain non-manifold edges or vertices, nor self-intersections. An edge is called non-manifold when it has more than two incident triangles and a vertex is called non-manifold if it was generated by pinching two surface sheets together at that vertex. As mentioned in [1, 3], non-manifold meshes can be problematic for most mesh processing algorithms, since around non-manifold configurations there does not exist any well-defined local geodesic neighborhood. Thus we say that M is combinatorially manifold iff S is a combinatorial manifold [3]. We also say that S is a combinatorial manifold iff all its vertices are manifold, and a vertex of S is manifold if its neighborhood is homeomorphic to a disk in the topology of S . We also define an orientation of an edge as an ordering of its two vertices. Two triangles of a mesh sharing an edge e are consistently oriented if they induce different orientations on e . A triangle mesh is orientable iff all its triangles can be oriented consistently.

The whole mesh reconstruction algorithm is presented in [3]. It is performed in two successive phases: topology reconstruction and geometry correction. During topology reconstruction phase the algorithm aims to convert the set of input polygons into a single combinatorially manifold and oriented triangle mesh without boundary. The repairing algorithm first converts each mesh polygon to a set of triangles through triangulation [2]. Then the first step in the topology reconstruction amounts to building an explicit connectivity between adjacent triangles. This can be done by comparing the edges and their vertices taken from all triangles in the sorted edge list. Then the algorithm aims to remove topological singularities [3, 9]. This phase is based on two high level operations: cutting and stitching. The cutting operation identifies non-manifold edges and cuts the surface along such edges. The stitching operation involves joining two boundary edges and guarantees that the surface has a manifold topology. If the resulting manifold mesh is made of more than one connected component, only the biggest component is kept. Then the resulting mesh must be oriented. If after the orientation the mesh is still manifold and no cuts were necessary, then we get to geometry correction phase. Typical geometric flaws in a triangle mesh are degenerate elements and self-intersections. In order to repair geometric flaws, the algorithm presented here uses the simplicial neighbourhood approach [3, 11], i.e. the submesh defined by set of triangles that share at least a vertex with

the selected one; the second order simplicial neighborhood is the simplicial neighborhood of the simplicial neighborhood, and so on. The degenerate triangles can be determined by checking their corners and edges' length. Than they are removed using edge swap or edge collapse procedures [12 - 14]. Sometimes, it may happen that some degeneracy cannot actually be treated due to topological constraints. In this case, we remove all the triangles belonging to the simplicial neighborhood of kth order [11]. Then, we run the swap/collapse procedure within the patch. In other words at each iteration we enlarge the size of the neighborhood of the degeneracies that could not be solved through the swap/collapse procedure. The whole stops with failure after a prescribed number of attempts. After that and before the gap re-tri angulation [10], the algorithm checks and possibly removes small disconnected components that detached from the main object [3]. The last step is self-intersection removal. In order not to check every pair of triangles the 3D model is divided into fixed number of voxels and we check every pair only within one voxel or between adjacent ones. For self-intersection removal we also use simplicial neighborhood approach. Then we patch the remaining gaps with new triangles. Summarizing, the overall geometry correction receives a reconstructed manifold mesh, then firstly uses the algorithm for degeneracy removal and only the self-intersections removal procedure.

After having the input surface successfully triangulated and reconstructed, the models can be registered. But as mentioned earlier, most of registration algorithms work with surface, represented as point cloud, which basically is a set of points of three-dimensional space as without any additional information. The given tomographic scan model is initially represented as a point cloud, but the dental model scan is not. Thus, it must be converted from triangular mesh to point cloud. Triangular mesh of the dental model already contains multiple points that represent polygon vertices and edges that connect them. But removing all the edges and just leaving the vertices will result in a surface that has too big spaces between points where triangular faces used to be. So it is necessary to generate some additional points to fill the gaps between the already present ones. The procedure for additional point generation includes next steps [15]. Firstly, it is necessary to decide, in which triangles additional points should be generated. Too small triangles may not require any point generation. So in order to receive uniform point cloud the areas of triangles is computed and triangles with too small areas can be ignored. After the selection of the triangles it is time to generate a random point inside them using the concept of barycentric coordinates. It means that a point can be generated inside a triangle using a linear combination of three numbers and the vertices of that triangle. Let u, v and w be the three numbers and u + v + w £ 1. We can generate a point inside a

triangle by just generating two random numbers u and v, setting w = (1 - (u + v)). And then we multiply these numbers with the coordinates of the vertices of the triangle. Figure 1 show different situations for point generation.

Fig. 1. Case a) u = 0.1, v = 0.5; b) u = 0.33, v = 0.33; c) u = 0.2, v = 0.15;

d) u = 0.7, v = 0.15

It is important to notice, that there is a certain restriction: if u + v > 1, then u = 1 - u and v = 1 - v. This restriction is stated in order to prevent the sampled point from exceeding the Green-Blue edge. Thus using this principle triangular mesh is converted into point cloud.

Pair registration is usually accomplished using one of the many versions of the Iterative Closest Point Method (ICP) proposed by Bessle and Mackay [16]. Due to the non-convexity of the optimization problem, ICP-based methods require the setting of a preliminary approximate transformation in order to increase the possibility of successful surface alignment. To overcome the limitations of the ICP, several methods for establishing global correspondences based on local surface characteristics were proposed in [17, 18]. Thus, there are two large classes of registration methods: feature-based methods and iterative methods. The former are used for initial alignment, the latter serve for more accurate registration of previously roughly aligned surfaces. The suggested mesh registration procedure first uses the methods based on feature points for preliminary registration and then the ICP as the result improvement. The feature points for the preliminary processing are set by user.

The Feature-based method acts as follows: given two point clouds, the original P e R3 and the target P0 e R3, the problem is to find a rigid transformation T0-1 such that p0 = T0-1(p1) for the corresponding points p0 eP0, p1 eP. In uniform coordinates this is a linear transformation

Po 1

= T

J- r\

0—1

Pi 1

^0—1 0T

l0— 1 1

P1 1

(1)

where R0-l is a 3 x 3 rotation matrix, t0-1 is a 3 x1 transfer vector and 0T is a 1 x 3 zero vector. Additional properties can be assigned to the points pi, such as: surface normal ni, salinity hi [19], or descriptor di, where the index denotes the index of the corresponding point.

The task is directly related to search of the source cloud in the destination cloud. From the set of orientations found by matching local data descriptors, transformation can be estimated using a reliable estimation, such as Random Sample Consensus [20]. Key points are chosen as extremes of a salinity measure that determines the type of structures that are searched for in the data and directly affects the frequency and reliability of detection. Fixed and adaptive scale detectors can be distinguished. Local extrema are obtained by suppressing non-maxima, and only those key points with maximum local salinity are preserved. In particular, the key point p with salinity h is only preserved if h > hi for all i e Ns (p), where Ns (p) is the set of point indices

that are in the a-neighbourhood of the point p. The points p with \Ns (p )| < 10

are excluded from the identification of key points.

Two types of key point detectors can be identified. The first one uses a covariance matrix of points:

cp Z wi (p' -m)(pr -mT\ m = ZwP. (2)

Z WieNj-p) Z w

i i

The second type uses a covariance matrix of normals,

cn Z winint ' (3)

Z i

w

iîNs ( p)

where wr are the weights assigned to individual points, Ns (p) is the set of points adjacent to p, {i |||pi -p|| £ s}. The eigenvalues of these covariance matrices in the increasing order are 1, 12, l and qx, q2, q3 are the corresponding eigenvectors. The following measures of salinity as functions of

eigenvalues are considered: min —, 1 , 1, 12, 1,, —, 1. Despite the

11 0 K 1

intuitive geometric sense of the salinity measure, this may not express their quality in terms of the repetition of the corresponding feature points. Therefore, several such measures are evaluated in order to select the most appropriate one for the given problem. For example, [21] uses the least

eigenvalue l of the matrix Cp and several methods based on the matrix Cn

were implemented in Point Cloud Library [22]. For the key points found in this stage, local reference systems are established and descriptors are calculated. Local reference systems are a key tool to achieve the desired level of descriptor invariance. The Cartesian coordinate system is the most common. Using counting systems offers several benefits; for example, three-dimensional point distribution may be captured by a descriptor to increase its distinguishing power. The general approach used by many methods is to establish at the beginning of a count the covariance matrix of signs from the eigenvectors.

A fairly common is the descriptor with 3 x 3 spatial containers in the plane and 8 polar containers (fig. 2). Descriptor is created by projecting the points in the neighborhood and the corresponding normals into three planes, drawn on pairs of basis vectors, and accumulates projections on the histograms. Each landmark point casts weighted voices to the two closest polar containers given by the normal projection and to the four closest spatial containers given by the projection of the point. The scales are proportional to the relative proximity to each container of the histogram and inversely proportional to the local density of the surface sampling.

Fig. 2. Descriptor: a) spherical support with a local reference system, b) 8 orientation

containers, c) 4 spatial containers

Invariant descriptors are used to determine the previous correspondences between the source and the destination point cloud. Let p1, p0 be a pair of points from the source and the target, respectively, and d1, d0 their descriptors. Then, if d0 is among the three nearest neighbors of d1 from the set of descriptors of the target and d1 is among the three nearest neighbors of d0 from the set of descriptors of the source, the correspondence is set. The

position is estimated from a set of prior matches of locally optimized RANSAC - the pairs of matches, received randomly from the set, are searched for; surface positions are generated and we accept only that, what maximizes the number of matched matches. The maximum number of iterations is

estimated by establishing the probability of non-rejections m = 1/100. To generate surface positions and to refine positions from agreed matches we calculate

argmin ^ (I^0-iA,,- + ¿0-1 - po,i |f +1K-A, - no,i |f ) (4)

R0—1

,v0—1^0—1 1

for the corresponding positions p0i, p1i and normal vectors n0i, n1i [23].

After performing rough registration, ICP method for results improvement is used. Let A be the set of Na points marked

ai : A = {ai}, i = 1,...,Na. The distance between the point p and the set of points A is:

d (P, A)= min } d (p, at). (5)

The nearest point aj of the set A satisfies the equality d(p, ai ) = d(p, A); d (r1, r2) is the Euclidean distance between two points r1=(x1, _y1, z1) and r2 =(x2,_y2,z2). Let l be the segment joining the points r1 and r2. The distance between the point p and segment l is:

d (p, l ) = min|wr1+ vr2 - p||, u e[0,l], v e [0,1]. (6)

Let L be a set of N{ segments, marked as li and L = {li}, i = 1,...,N{. The

distance between the point p and the set of segments L is:

d (p, L ) = i } d (pp, l'). (7)

Let t be a triangle defined by three points r1 =(x1, y1, z1), r2 =(x2, y2, z2) and r3 = (x3, y3, z3). The distance between the point p and some triangle t can be defined in the same way.

A single quaternion is a 4-vector qR =[ q0, q1, q2, q3 ], where q0 > 0, q0 + q1 + q2 + q3 = 1. The 3 x 3 rotation matrix is generated by a single quaternion:

R =

q02 + qi2 - q22 - q32 2 (qq - q0q3 ) 2 (qq + q0q2 ) 2 (qq + qoq3 ) q02 + q22 - qi2 - q32 2 (q2q3 - q0q ) 2 (qq- qoq2 ) 2 (q2 q3 + qo qi ) qo2 + q32 - qi2 - q22

(8)

Let qT = [q4, q5, q6 ]T be a transfer vector. Full registration status vector is q = [qR | qT ]. Let P = {pi} be a the set of points that must be aligned with the set of points of the model X = {x}, Nx = Np and each point pi corresponds to the point xi with the same index. The RMS objective function to be minimized:

1 iP

f (q) = "N"SIlxi -R(qR)p -.

N p i =1

(9)

The center of mass mp of the measured set of points P and the center of mass mx of the pint set Xis:

1 Np r -, 1 Np

Spx="N"p - mp)(xi- mxy J = "N"px ]- mpm

p i=1 V p i=1

(10)

Cyclic components of an antisymmetric matrix AiJ =(Spx -STpxare

used to form a column vector A = [A^A31A12 ] . This vector is used to form a symmetric matrix 4 x 4- Q(Spx) :

Q(S Vx ) =

tr (Spx) D

D S px + Spx - tr (S px ) /3

(11)

where /3 is a 3 x3 unit matrix. The unit eigenvector qR =[q0,q1,q2,q3],

which corresponds to the maximum eigenvalue of the matrix Q (Spx ), is

chosen as the optimal rotation vector qT = mx - R (qR ) mp.

The whole ICP method algorithm for point cloud can be presented as follows: the input set of points P from Np points {pi} and the target set of

points X from Nx points {pi} are given. Then iteration is initialized by assigning the values P0 = P, q0 = [1,0,0,0,0,0,0]T and k = 0. Registration

vectors are determined from the initial data set P0, so the final registration is a complete transformation. Next steps are run till match within tolerance t . Firstly, the closest points are calculated: Yk = C (Pk, X) (computational complexity is O(NpNx) the worst case scenario, O(Np log Nx) in average).

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Then the registration is calculated: (qk, dk ) = Q (P0, Yk) (O (Np)). After that

registration is applied: Pk+1 = qk (P0) (O (Np)). The iteration process stops

when the change of root mean square error becomes less than the specified threshold t > 0: dk - dk+1 < t.

Results. The whole surface reconstruction and repair procedure was implemented using the C++ language and open source point cloud processing library PCL. Fig. 3, a demonstrates the work of the mesh repair procedure.

a) b)

Fig. 3. Raw model a) contains self-intersections; the model b) is free of them

Now we present the result of surface registration phase on the example of medical images. Fig. 4 shows input surfaces, a) is a model received as a tomographic scan (initially represented as a point cloud) and b) is a dental cast. The dental cast model is already repaired through reconstruction phase and converted to point cloud. To perform a rough registration first, we set some feature points by hand (fig. 5). The results of it are shown on fig. 6, a. Then the specifying registration using the ICP is performed (fig. 6, b). As it can be seen the results received using ICP are much better than those received using rough registration even given the absence of gums on the surface obtained by tomographic scanning.

a) b)

Fig. 4. Input surfaces. Model a) is a tomographic scan, model b) is a scan of a dental

cast

a) b)

Fig. 6. a) is the rough registration using key points, b) is specifying registration

using ICP

Prospects for further research. Further studies are planned in the search for optimization of difference of the registration surfaces by

constructing the best sampling of the surfaces. The best grid sampling is a prerequisite for minimizing the standard deviation of the surfaces.

Conclusion. The suggested complex procedure of the surface reconstruction and registration can be very useful in medicine, industrial design and many other areas that widely use 3D models. The mesh repair phase presents fine input mesh repair quality as it gets completely free of self-intersections, singular elements and other flaws. It also demonstrates fine speed of work and hardware usage in terms of memory consumption. The surface registration phase also provides good results. Two stage process using feature points and then ICP provides much more accurate than it can be using only one of methods, as shown by tests. It also performs fine in terms of hardware usage. Thus, the surface received after both reconstruction and registration is suitable for further analysis and usage and the whole complex procedure proves to be a fine tool for mesh processing.

References

1. Botsch, M., Pauly, M., Kobbelt, L., Alliez, P., L'evy, B., Bischoff, S., and Roessl, C. (2008), "Geometric Modeling Based on Polygonal Meshes". In Eurographics 2008 Full-Day Tutorial, pp. 4, 8-10, 25-40.

2. Frey, P.J., and George, P.L. (2008), Mesh Generation. Application to Finite Elements. Wiley, Second Edltion, pp. 11-13, 21-30, 235-273.

3. Attene, M. (2010), "A lightweight approach to repairing digitized polygon meshes". The Visual Computer, Vol. 26 (11), pp. 1393-1406.

4. Audette, M.A., Ferrie, F.P., and Peters. T.M. (1999), "An Algorithmic Overview of Surface Registration Techniques for Medical Imaging". Oxford University Press, Medical Image Analysis, pp. 1-18.

5. De Reu, J., Plets, G., Verhoeven, G. et al. (2013), "Towards a three-dimensional cost-effective registration of the archaeological heritage". Journal of Archaeological Science, Vol. 40, pp. 1108-1121.

6. Hebert, M., Caillas, C., Krotkov, E., Kweon , I.S., and Kanade, T. (1989), "Terrain Mapping for a Roving Planetary Explorer". Robotics Institute, Paper 405, pp. 997-1002.

7. Matrinez, C., Boca, R., Zhang, B., Chen, H., and Nidamarthi, S. (2015), "Automated bin picking system for randomly located industrial parts". IEEE International Conference on Technologies for Practical Robot Applications (TePRA), pp. 1-6.

8. Attene, M., and Falcidieno, B. (2006), "Remesh: An interactive environment to edit and repair triangle meshes". Shape Modeling and Applications, pp. 271-276.

9. Gueziec, A., Taubin, G., Lazarus, F., and Horn, B. (2001), "Cutting and stitching: Converting sets of polygons to manifold surfaces". IEEE Transactions on Visualization and Computer Graphics, Vol. 7 (2), pp. 136-151.

10. Barequet, G., and Sharir, M. (1995), "Filling gaps in the boundary of a polyhedron". In

Computer-Aided Geometric Design, Vol. 12 (2), pp. 207-229.

11. Rourke, C.P., and Sanderson, B.J. (1972), Introduction to piecewise linear topology, Springer-Verlag.

12. Botsch, M., and Kobbelt. L. (2001), "A robust procedure to eliminate degenerate faces from triangle meshes". Vision, Modeling and Visualization, pp. 283-290.

13. Guibas, L., Salesin, D., and Stolfi, J. (1989), "Epsilon geometry: building robust algorithms from imprecise computations". ACM Symposium on Computational Geometry, pp. 208-217.

14. Dey, T.K., Edelsbrunner, H., Guha, S., and Nekhayev, D. (1999), "Topology preserving edge contraction". Publications de l'InstitutMathematique (Beograd), Vol. 20 (80), pp. 23-45.

15. David de la Iglesia (2017), "3D point cloud generation from 3D triangular mesh. Medium". Available at: https://medium.com/@daviddelaiglesiacastro/3d-point-cloud-generation-from-3d-triangular-mesh-bbb602ecf238

16. Besl, P.J., and МсКау, N.D. (1992), "А Method for Registration of 3-D Shapes". IEEE Transactions on pattern analysis and machine intelligence, Vol. 14 (2), pp. 239-255.

17. Rusu, R.B., Blodow, N., and Beetz, M. (2009), "Fast Point Feature Histograms (FPFH) for 3D Registration". IEEE International Conference on Robotics and Automation, pp. 32123217.

18. Mian, A., Bennamoun, M., and Owens, R. (2010), "On the Repeatability and Quality of Keypoints for Local Featurebased 3D Object Retrieval from Cluttered Scenes". International Journal of Computer Vision, pp. 348-361.

19. Lee, C.H., Varshney, A., and Jacobs, D.W. (2005), Mesh Saliency, ACM SIGGRAPH, 8 p.

20. Fischler, M.A., and Bolles, R.C. (1981), "Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography". New York: Communications of the ACM, Vol 24, pp. 381-395.

21. Zhong, Y. (2009), "Intrinsic shape signatures: A shape descriptor for 3D object recognition". Computer Vision Workshops (ICCV Workshops), IEEE 12th International Conference, pp. 689-696.

22. Guibas, L., Salesin, D., and Stolfi, J. (1989), "Epsilon geometry: building robust algorithms from imprecise computations". ACM Symposium on Computational Geometry, pp. 208-217.

23. Petricek, T., and Svoboda, T. (2017), "Point cloud registration from local feature correspondences - Evaluation on challenging datasets". PLoS ONE, Vol. 12 (11): e0187943, 16 p.

Статтю подав д-р техн. наук, проф. ОНУ 1мен1 1.1. Мечникова Гунченко Ю.А.

Над1йшла (received) 03.11.2019

Moroz Volodymyr, PhD in Applied Mathematics, Professor Odessa I.I. Mechnikov National University Str. Dvoryans'ka, 2, Odesa, Ukraine, 65072 Phone (+380) 67-484-6975, e-mail v.moroz@onu.edu.ua

Shvandt Maxim, BSc

Odessa I.I. Mechnikov National University

Str. Dvoryans'ka, 2, Odesa, Ukraine, 65072

Phone (+380) 48-723-5254, e-mail maxim.shvandt@gmail.com

УДК 004.932:519.652

Реконструкщя та реестращя 3D-noBepxoHb, отриманих в результат скануваня / Мороз В.В., Швандт М.А. // Вюник НТУ "ХП1". Сергя: 1нформатика та моделювання. -XapKiB: НТУ "ХП1". - 2019. - № 28 (1353). - С. 117 - 130.

Дослщжено загальний тдхвд до реконструкци трим1рних поверхонь, представлених у вигляд1 триангуляцшно1 сгтки. Також в статп розглянуто реестраци трим1рних поверхонь. Застосований процес перетворення трим1рно1 модел1 i3 триангуляцшно1 сiтки на хмару точок, що базуеться на генерацп випадково! точки разом i3 використанням принципу барицентричних координат. На основi вивченого матерiалу запропоновано комплексну процедуру, що включае в себе виправлення помилок та дефектiв у поверхонь, отриманих в результат сканування об'екта, а також реестрацш цих поверхонь, попередньо перетворених на хмари точок. На конкретному прикладi використання тримiрних моделей у стоматологи вище вказана процедура була протестована, були отримаш результати та зробленi висновки. 1л.: 6. Бiблiогр.: 23 назв.

K^40Bi слова: 3Б-поверхня; реконструкцiя; реестра^; алгоритм; сканування; триангуляцiйна сiтка; хмара точок.

УДК 004.932:519.652

Реконструкция и регистрация 3D-поверхностей, полученых в результате сканирования / Мороз В.В., Швандт М.А. // Вестник НТУ "ХПИ". Серия: Информатика и моделирование. - Харьков: НТУ "ХПИ". - 2019. - № 28 (1353). - С. 117 - 130.

Исследован общий подход к реконструкции трехмерных поверхностей, представленных в виде триангуляционной сетки. Также в статье рассмотрена регистрация трехмерных поверхностей. Применен процесс превращения трехмерной модели из триангуляционной сетки в облако точек, который базируется на генерации случайной точки вместе с использованием принципа барицентрических координат. На основе изученного материала предложена комплексная процедура, которая включает в себя исправление ошибок и дефектов в поверхностях, полученных в результате сканирования объекта, а также регистрацию этих поверхностей, предварительно превращенных в облака точек. На конкретном примере использования трехмерных моделей в стоматологии вышеуказанная процедура была протестирована, были получены результаты и сделаны выводы. Ил.: 6. Библиогр.: 23 назв.

Ключевые слова: 3Б-поверхность; реконструкция; регистрация; алгоритм; сканирование; триангуляционная сетка; облако точек.

UDC 004.932:519.652

Reconstruction and registration of 3D surfaces obtained by scanning // Volodymyr Moroz, Maksym Shvandt // Herald of the National Technical University "KhPI". Series of "Informatics and Modeling". - Kharkov: NTU "KhPI". - 2019. - № 28 (1353). - P. 117 - 130.

In this article the general approach for the three-dimensional surface reconstruction is examined. Also, the registration of three-dimensional surfaces is considered. The process of converting a three-dimensional model from a triangular mesh into a point cloud based on the generation of a random point using the principle of barycentric coordinates was applied. Based on the material studied, a complex procedure is proposed, which includes both correction of errors and defects in surfaces obtained as a result of an object scanning, and the registration of these surfaces previously converted into point clouds. On a specific example of the usage of three-dimensional models in dentistry the proposed procedure was tested, results were obtained and conclusions were made. Figs.: 6. Refs.: 23 titles.

Keywords: 3D-surface; reconstruction; registration; algorithm; scanning; triangular mesh; point cloud.

i Надоели баннеры? Вы всегда можете отключить рекламу.