Keywords

1 State of the Art

Nowadays, several diseases have affected the lifestyle of persons due to deformities in different areas of the body such as the feet [1], spinal [2], and chest [3]. Therefore, researchers and medical professionals have worked together to develop new systems that assess detailed measurements of the body’s size and shape to provide effective diagnoses and treatment. However, there are diverse technologies to measure these deformities such as photogrammetry [4], 3D laser scanning [5], and structured light [6]. 3D laser scanner has demonstrated satisfactory results in medical applications in the creation of point clouds to represent the area of interest on the human body enabling medical professionals to detect deformities and analyze treatment’s effectiveness.

3D scanning systems can be classified into measurements (geometry) and visualization (texture). According to Treleaven and Wells [7], also, healthcare application measurements can be divided into four groups: epidemiology, diagnosis, treatment, and monitoring. Following, we present several diagnostic applications, where the 3D laser scanning is used to detect deformities in areas such as the feet, spinal, head, face, and chest.

Feet deformities cause pain and injuries in persons that suffer congenital diseases; therefore, it is necessary to develop new systems, which enable the detection of deformities on the feet such as flat feet, cavus feet, valgus feet, and diabetic feet. A novel technic employed to detect deformities on the feet is the 3D laser scanning; this technology captures the shape of the feet for creating a 3D point cloud, which provides detailed information that enables the development of effective treatments such as orthopedic insole. According to Pfeiffer et al. [8], a 3D laser scanner is employed to digitize the shape of the feet for establishing a prevalence of flat feet in a population of 3–6-year-old children; the obtained 3D point cloud enables to characterize the foot arch shape and determine the foot type. Savic et al. [9] uses a 3D laser scanner to capture the sole of the feet for manufacturing a customized insole. Subsequently, the insole is used to perform a stress comparison between the uses of a customized insole and when a customized insole is not used.

Serious health problems can be caused by chest deformities in persons that suffer congenital diseases such as pectus excavatum (PE) and pectus carinatum (PC). Pectus excavatum is associated with depression of the sternum; this defect could affect cardiac and pulmonary function causing pain in the chest, fast heart rate, and tiredness in physical activities. Unlike pectus excavatum, pectus carinatum consists of excessive growth of the costal cartilage, which typically results in protrusion of the sternum that does not affect the body function, and it is only a cosmetic problem on the chest [10, 11]. Lain et al. [12] employed a 3D laser scanner for creating a tridimensional representation of the affected area by pectus excavatum disease, and with this, a 3D model can reconstruct the area of interest to evaluate the severity of the deformity. In addition, 3D laser scanning applications enable creating a 3D model before or after treatment like surgery to evaluate the changes.

Face deformities are defects caused by a group of conditions such as chin deviation, cleft lip, cleft palate, and nose deformity. Several research highlights compare the efficacy of botulinum toxin in masseter muscle depending on the chin deviation. Therefore, a 3D laser scanner is used to measure the volume and bulkiest height of the lower face [13]. Otherwise, Verzé, Bianchi, and Ramieri [14] employed a 3D laser scanner to perform a study that compares 12 patients with maxillary retrognathic dysplasia and nose deformity.

On the other hand, spinal deformities are caused by diseases such as scoliosis and kyphosis. Scoliosis is a multifactorial three-dimensional disease that involves three main planes: lateral curvature in the frontal, anteroposterior deviation in sagittal, and vertebral axial rotation in horizontal plane. Otherwise, kyphosis is a posterior deviation of the spine in the sagittal plane beyond normal limits; this disease may result in pain, cardiopulmonary failure, and paraplegia. 3D laser scanners can be employed to detect deformations on the spinal. According to Rodríguez et al. [15], a 3D medical laser scanner based on the principle of dynamic triangulation is employed to analyze the method of operation, medical application, and orthopedical diseases as scoliosis. Also, the tridimensional model enables to illustrate the effects of the treatments.

Following the topic of human body deformities is important to mention the nonsynostotic head deformities, which occur more often in newborn babies. These deformities not only are a cosmetic problem but also can increase the risk of developmental delays. Therefore, several methods have been implemented to analyze the defect in the area. One of these methods is the 3D laser scan, which is used to obtain quantitative data on the shape of the head. In order to determine the prevalence of symmetrical and asymmetrical head deformities, with this information, possible risk factors can be identified [16].

As previously mentioned, 3D laser scanning has a wide variety of applications related to deformity detection on the body. In each application, it is necessary to scan accurate surfaces in order to provide a reliable assessment diagnosis. However, the performance of the 3D laser scanner can be affected by different factors such as ambient light, noise, and waste energy due to the reflectance of the laser. The effects cause distortion on the 3D point cloud preventing to provide reliable analysis and diagnostics. Therefore, it is necessary to employ methods that attenuate the distortion on the 3D point cloud.

The evolution of informatics systems and technologies has enabled the development of 3D reconstruction algorithms and mesh methods, which enable to perform the relation of representative points of the object to create surfaces using a triangle, squares, or any geometric form. 3D laser scanner improves when 3D reconstruction algorithms are employed, because it is possible to apply two kinds of reconstruction known as geometric and volumetric that enable to organize and optimize point clouds in order to improve the surface visualization. Even atypical measurements due to scanning systems and uncertainties that could distort the point cloud imaging during the scanning can be eliminated or attenuated as part of the reconstruction process.

This chapter provides a broad knowledge of different methods applied in 3D reconstruction, which could be applied in the medical area using reconstruction software. To perform a practical application of the presented methods and concepts, a biometric shape dataset previously obtained by a 3D laser scanner will be analyzed applying geometric reconstruction (polygon mesh (PM), Bezier curves) and volumetric reconstruction methods (Voronoi diagrams, Delaunay triangulations) to improve the 3D model shape and reduce the required number of points to perform a reliable characterization of the measured biometric shapes.

2 Geometric Reconstruction

Geometric reconstruction applies methods for analyzing and manipulating point clouds in order to obtain a defined representation of the scanned object and efficient processing. There are several applied methods to perform a geometric reconstruction of a point cloud obtained by laser scanning or stereo vision [17]. This section presents the polygon mesh and Bezier curve methods, which are employed in the majority of the reconstruction software.

2.1 Polygon Mesh

A widely employed method in reconstruction is polygon mesh (PM), which is used to connect vertices and create shapes in a point cloud. Generally, the shapes can be represented according to vertices, edges, and faces for creating shapes such as triangles, quadrilateral, and other polygons. A triangle is formed when three vertices are joined, whether four points are bounded a quadrilateral, but whether more than four vertices are related is formed a simple polygon. In each case, a face is obtained; hence, 3D shapes are formed when faces are joined [18].

The vertices are joined to form faces to reduce points on the 3D model to create a defined representation and highly efficient processing in the handle of the point clouds. Whether a triangular prism is exploded will be divided into two triangular faces and three rectangular faces for each one is required three and four vertices, respectively, i.e., the sum of all vertex’s faces will be 18. Otherwise, whether faces are joined only will be necessary six vertices, to create a triangular prism [19]. Figure 1 shows a triangular prism and vertices with exploded faces and joined.

Fig. 1
figure 1

(a) Prism exploded with 18 vertices. (b) Prism joined six vertices

2.1.1 Representation of Meshes

Each triangle, rectangle, or simple polygon formed on the point cloud can be represented by strips or meshes; some alternatives employed are separate triangle, indexed triangle, rectangular, fan, strip triangles, and strip rectangles; and each one presents different patterns to create points that will be shown below.

Strip triangles consist of a sequence of triangles formed by three vertices; for the first triangle are necessary three vertices; however, for the subsequent triangles, only one vertex is required. A variant of the strip triangles is strip fan, which presents the same pattern for creating strip triangles [20]. However, this follows the trajectory of a fan and allows the creation of shapes that would not be possible to get by the use of the strip triangle mesh type. Figure 2 shows the patterns to form the two types of strips.

Fig. 2
figure 2

Strip triangle (a) and strip fan (b) vertices V 1, V 2, V 3 (color green) represent the first triangle; subsequently only one point will be necessary

Strip rectangles use four vertices to create the first rectangles; afterward, for the next rectangles, only two vertices are required. Also, rectangular mesh presents the same pattern as strip triangles. However, rectangular mesh consists in a matrix m × n; moreover, for each first rectangle of the rows are necessary four points; afterward, for the next rectangles, only one point is required. A disadvantage of rectangular mesh is the ineffectiveness to represent different surfaces such as the sphere [21]. Figure 3 shows the patterns to form the two types of strips.

Fig. 3
figure 3

(a) Strip rectangular (b) Rectangular mesh

There are some occasions where it is impossible to represent an object using polygons; therefore, it is necessary to apply methods like separate triangle. This method consists of extracting topological information of separate polygons such as coordinates and vertices that are related to them. The topologic information is divided using different techniques, which enable separation of the vertices and polygons in individual lists. Whether the information of each polygon’s vertex is stored, the same vertex can be used to represent different polygons and can be called to create different shapes. This technique, known as the indexed triangle set, enables to save storage space [23]. In Fig. 4, if the polygon T 1 is analyzed, we can note that it is formed by V 0, V 1, and V 2, and this information is stored in Table 1; afterward, to form the polygon T 2, it will only be necessary to call the index of V 0, V 1 and to call V 3 of the polygon T 3. Table 2 shows the indexes necessary to form T 1 and T 2.

Fig. 4
figure 4

The information of the point cloud is separated into two lists vertices: (V n) and polygons (T n)

Table 1 Values of T1 and T2
Table 2 Polygons of T1andT2

2.2 Bezier Curves

Polygon mesh allows to create objects using triangles and rectangles; however, another method widely applied in geometric reconstruction is Bezier curves. These are polynomic curves based on Bernstein polynomial due to both having the same extreme control vertices and coincident tangents. Therefore, a polynomic curve has a Bezier representation and is defined as a polynomial contour. In addition, a Bezier curve is classified depending on the number of control vertices [24]. Following, some typical curves are presented: liner curve, quadratic, and cubic. Bezier curves can be implemented using Bezier and Casteljau algorithm.

2.2.1 Bezier Algorithm

Linear curve, quadratic, and cubic can be represented easily replacing linear equation in the general equation; however, every time the degree of the equation increases, it is more difficult to develop the equation of the Bezier curve, because it will be necessary to perform a greater number of replacements. Therefore, Bernstein polynomial is used to reduce the number of replacements, because it is only necessary to replace each control vertex from i to n [25]. According to Song et al. [26], the equation for a Bezier curve of order n can be expressed by (1):

$$ B(t)=\sum_{i=0}^n{b}_{i,n}(t){P}_i $$
(1)

where t ϵ [0,1]. P 0 is the start point of the curve, P n is the end point, and P i(0 < i < n) is the control vertex. b i, n is given by Eq. (2):

$$ {b}_{i,n}(t)=\left(\begin{array}{l} n \\ {} i\end{array}\right){t}^i{\left(1-t\right)}^{n-i} \kern0.5em {i}=\mathrm{1,2,3}\dots n $$
(2)

2.2.2 Casteljau Algorithm

We have seen that a Bezier curve can easily be calculated using polynomial Bernstein; however, sometimes it is difficult to represent them. Therefore, another broadly applied method is Casteljau algorithm, which is the most efficient way to evaluate Bezier curves. This algorithm is equivalent to Bernstein polynomials and consists of a successive linear interpolation between two points.

2.2.2.1 Linear Curve

A linear curve (u 0) is a first-degree equation based on two control vertices; to describe the trajectory of the Bezier curve, it is necessary to vary the t parameter from the first control vertex (a 0) to end vertex (b 0) [27]. The equation u 0 is given by (3):

$$ {u}_o={a}_0\ \left(1-t\right)+{a}_1t\kern0.75em \mathrm{for}\kern0.5em a\ne b $$
(3)
2.2.2.2 Quadratic Curve

A quadratic curve (q) is formed by two linear curve equations u 1 and u 2 (4, 5); therefore, they are second-degree equations based on three control vertices. The curve equation q is given by (6):

$$ {u}_0={a}_0\ \left(1-t\right)+{a}_1t\kern0.5em \mathrm{for}\kern0.5em {a}_0\ne {b}_0 $$
(4)
$$ {u}_1={a}_1\ \left(1-t\right)+{a}_2t\kern0.75em \mathrm{for}\kern0.5em {b}_0\ne {b}_1 $$
(5)
$$ q={u}_0\left(1-t\right)+{u}_1t\kern0.5em \mathrm{for}\kern0.50em {u}_0\ne {u}_1 $$
(6)
2.2.2.3 Cubic Curve

A cubic curve (k) is formed by two quadratic Eqs. (7, 8), thereby they are third-degree equations based on four control vertices. The curve equation k is given by (9):

$$ {q}_0={u}_0\ \left(1-t\right)+{u}_1t\kern0.75em {u}_0\ne {u}_1 $$
(7)
$$ {q}_1={u}_1\ \left(1-t\right)+{u}_3t\kern0.75em {u}_1\ne {u}_3 $$
(8)
$$ k={q}_0\left(1-t\right)+{q}_1(t) $$
(9)

The number of control vertices defines shapes of the curve, i.e., whether there are more vertex complex curves can be created; therefore, it will be possible to perform a better reconstruction of the scanned object. Figure 5 shows linear, quadratic, and cubic curves.

Fig. 5
figure 5

The red points represent the control vertices in each curve; varying parameter t (green point), it describes the Bezier curves. (a) Linear curve. (b) Quadratic curve. (c) Cubic curve

Below is an example where can be shown linear Eqs. (10), (11) in quadratic curve q (12):

$$ {u}_0={a}_0\ \left(1-t\right)+{a}_1t\kern0.5em \mathrm{for}\kern0.5em {a}_0\ne {b}_0 $$
(10)
$$ {u}_1={a}_1\ \left(1-t\right)+{a}_2t\kern0.75em \mathrm{for}\kern0.5em {a}_1\ne {b}_1 $$
(11)
$$ q={u}_0\left(1-t\right)+{u}_1t $$
(12)

Replacing the linear curves u 0 and u 1 in q:

$$ q=\left(1-t\right)\left({a}_0\ \left(1-t\right)+{a}_1t\right)+t\left({a}_1\ \left(1-t\right)+{a}_2t\right) $$
(13)
$$ q={a}_0\left(1-t\right)2+{a}_1t\left(1-t\right)+{a}_1t\ \left(1-t\right)+{a}_2t2 $$
(14)
$$ q={a}_0{\left(1-t\right)}^2+2{a}_1t\left(1-t\right)+{a}_2t2 $$
(15)

Depending on the variation of parameter t, Eq. (15) defines the trajectory of the Bezier curve, which is related to the vertices a 0, a 1, and a 2.

3 Volumetric Reconstruction

Volumetric reconstruction consists of the representation of a point cloud as volume; this technology can be applied in a variety of applications especially in medical area because it enables rebuilding the point cloud of human body captured by laser scanning or photometry. A method widely used to transform a point cloud in a volume is voxel [28]. However, according to May [29], also Voronoi diagram can be applied to create a volumetric reconstruction of the material lithology. On the other hand, the application of volumetric reconstruction is highly applied to measure densities in a specific object.

3.1 Voronoi Diagram

A method widely applied in reconstruction of point clouds is Voronoi diagram, which is an efficient method that divides the point cloud in a particular Euclidean space, i.e., Voronoi diagram is the join of the regions (Voronoi cell) of each point of the cloud. This method is employed in reconstruction, thereby reducing the number of points in the scanned cloud, obtaining elasticity in structures, and enabling connecting nearby points and avoiding joining points not nearby [30]. Figure 6 shows the structure of a Voronoi diagram.

Fig. 6
figure 6

e n represents each edge of the Voronoi diagram; V n indicates the vertices; g k are the points used to create the vertices; and p i and p j are the points start and end of the imaginary segments used to draw the edges in the Voronoi diagram

A Voronoi diagram is implemented applying some properties that depend on the edges, vertices, region, and Euclidean distances [31]. The following presents some of those properties:

  • In a Voronoi diagram, each edge is located in the mediatrix of each line (p i, p j) that connect two points (neighbors) in the cloud.

  • The neighbors nearest to each point p i define one edge of the Voronoi diagram of the same point.

  • In a Voronoi diagram, each vertex is equidistant with the points, i.e., the distance from V n to g k is the same. In addition, each vertex is the intersection between three edges.

  • The regions in a Voronoi diagram can be classified as polygon convex or not convex; this classification depends on the localization of the points of each region, i.e., if the point is located into convex envelope is considered as polygon convex. Otherwise, whether the point is outside of the convex envelope is considered as not convex.

  • An edge Vor(s) is formed, whether a point (o) is on the mediatrix of the point p i p j.

  • There are several algorithms applied to create Voronoi diagram such as divide and conquer, incremental algorithm, and Fortune [32, 35]. In this section, divide and conquer and incremental algorithm are presented.

3.1.1 Divide and Conquer

Divide and conquer is an algorithm used to create Voronoi diagrams in a point cloud or set of point. This algorithm is considered faster and complex [33]. This algorithm can be applied using the following steps:

  • Step 1: Split using a line (l) the point cloud into two subsets (S 1 and S 2).

  • Step 2: Calculate the Voronoi diagram of Y(S 1) and Y(S 2) applying recursion.

  • Step 3: Calculate X(S) using the diagram obtained in step 2:

    • Assign a point in the extreme of l.

    • Ubicate the points p and q of S 1 and S 2, respectively, and those points are nearest regarding the extreme point of l.

    • Draw a mediatrix between the lines p and q until intersecting with an edge of Y(S 1) or Y(S 2).

    • If the mediatrix intersect with Y(S 1) to assign p to the point that is located into the edge. Otherwise, if the mediatrix intersect with Y(S 2) must be assigned q.

    • Return to step 3 until completing the polygonal.

To detail each step, Fig. 7 shows the application of the method using a point cloud of six points.

Fig. 7
figure 7

Implementation of a Voronoi diagram using divide and conquer

3.1.2 Incremental Algorithm

Incremental algorithm consists of adding points (p i) in the point cloud to determine a new region p j; this algorithm only modifies the regions affected by the new points. The incremental algorithm is considered slow because it is necessary to recalculate the point cloud every time it adds a new point. However, has been an algorithm highly employed to build Voronoi diagrams [34]. For creating a Voronoi diagram of {p 1 ,.,p n} using this algorithm, it is necessary to apply the following steps:

  • Step 1: Add a new point p i + 1.

  • Step 2: Explore all points to find the region p j closest to p i + 1.

  • Step 3: Draw a mediatrix in the points nearest to \( {p}_{k_n} \) to p i + 1.

  • Step 4: Eliminate the edges and vertices, that is, into of p j.

Figure 8 shows an example to visually understand the application of the incremental algorithm.

Fig. 8
figure 8

Implementation of a Voronoi diagram applying incremental algorithm; the red region indicated the new region p j

3.2 Voxel Algorithm

Voxel method is used to transform a point cloud in a 3D mesh, where the cells are small cubes called voxel. A voxel is defined as the cubic unit that forms a tridimensional object and the minimum unit of processing of a tridimensional matrix. Voxel algorithm presents advantages such as accurate 3D and quickly to represent a model. They can be employed in reconstruction in areas such as medical, architectonic, and animation [36].

3.2.1 Voxelization

The geometry of a voxel is defined by length (l), height (h), and width (w) and its localization in a 3D grid is indexed by columns (i), rows (j), and layers (k). Therefore, a voxel can be represented by v (i, j, k) and k defines the voxels in layer k ( M k ) [37]. Figure 9 shows the representation of a voxel into a specific space called voxel grid.

Fig. 9
figure 9

Representation of voxel grid and voxel

According to Wu et al. [22], considering a whole voxel grid V that has t voxel layers, the voxel grid can be defined as the join of all the layers, and the equation is given by (16):

$$ V={\bigcup}_{k=0}^{t-1}{M}_k $$
(16)

3.2.2 Voxel-Based on a Neighborhood

Voxel-based on a neighborhood is a method widely applied for solving region growing problem, which consists in to search and identify a voxel’s neighborhood region in a voxel layer. In a vertical direction, a 3D voxel grid is represented by three types of neighbors: face, edge, and vertex.

According to Wu [38], a 3D voxel grid has two neighbors (top face and bottom face), while in a voxel layer, each voxel has eight neighbors v {i–l, j–l, k}, v {i–1, j, k}, v {i–1, j + 1, k}, v {i, j–1, k}, v {i, j + 1, k}, v {i + 1, j–1, k}, v {i + 1, j, k}, and v {i + 1, j + 1, k}. The neighbors presented enable for creating a 3D neighborhood in the voxel grid. Figure 10 shows the three types of voxel neighborhood used in the research.

Fig. 10
figure 10

The red cube and square represent a voxel v (i, j, k), and the greens represent the neighbors nearest. (a) Top face v (i, j, k + 1), (b) bottom face v (i, j, k–1), (c) eight neighbors in the same layer

3.2.3 Select Seed Voxel Groups and Neighborhood

According to Wu et al. [38], seed voxel consists in to select a layer (M k), which contains all the points of a specific layer of a point cloud (i.e., M 3 indicates all the points that contain the fourth row) as shown in Fig. 11. All the voxel layers are scanned in row-wise and a seed voxel is settled, afterward seed voxel is expanded to include all voxels, and this process is repeated until all connected voxels are included and grouped.

Fig. 11
figure 11

The red cubes represent the layer M 3

The voxels in the same group are indexed and marked by groups using a different integer number. In addition, a false seed voxel will be removed in the following cases: if the count of voxel in the same group is larger than a threshold value or the extent of the group voxels is larger than a threshold value. In Fig. 12 is shown the application of the method.

Fig. 12
figure 12

(a) Fourth layer in the voxel grid. (b) Identification, grouping, and marking. (c) Removing voxel grid depending on the number and compactness index of voxel. (b) Seed voxel group [22]

Once obtained seed voxel group, the neighbors are defined in each layer of the voxel grid, i.e., in our example, the groups are in M 3; then in order to identify the neighbors nearest, it is necessary to compare our seed voxel group obtained in M 3 in regard to all layers M k.

On the other hand, according to Torres et al. [39], an algorithm based on voxels can be implemented applying the following steps:

To each voxel v into of the volume V:

  • Step 1: To find the normal distance de v to all the planes of the images, obtaining a distance vector D

  • Step 2: To obtain the maximum distance and the two minimum distances (d max, d 1 y d 2). Also the plane of the minimum distances I 1 y I 2

  • Step 3: To each plane I n, where n = 1, 2

    • To calculate the intersection point between the normal that connect v and I n

    • To perform a dual bilinear interpolation (p n) of the four pixels nearest the intersection point

    • To obtain the weight of each plane I n:

    $$ {w}_{n=\Big(1\hbox{--} }{\frac{d_n}{d_{\mathrm{max}}}}_{\Big)} $$
    • The final value v is given by (17):

    $$ v=\left(\frac{\left({w}_1\right)\left({p}_1\right)+\left({w}_2\right)\left({p}_2\right)\ }{2}\right) $$
    (17)

4 Reconstruction of Human Body Surfaces

Nowadays, there are numerous systems such as laser scanner, photometry, and structured light, which are applied in reconstruction of human body surfaces in the medical area. These systems enable to capture surfaces of the human body to create point clouds. However, factors such as environment light and noise cause distortion avoiding reliable diagnostics of deformities in the body. Therefore, in order to define the geometry and optimize the measurements, and human body surface characterization, the point cloud methods of reconstruction are applied. This section presents previous methods used to reconstruct a cloud in different areas of the human body.

4.1 3D Spine Reconstruction

Section 1 presented several diseases associated with spine deformities such as scoliosis and kyphosis; using a laser scanning or photometry, it is possible to represent the geometry of the spine to provide diagnostics and orthopedic treatments that enable to correct the curvature of the spine. To define the geometry of the point cloud acquired by laser scanning or photometry, it is necessary to apply a method of 3D reconstruction. According to Aroeira et al. [40], the highest incidence of vertebral deformity in adolescents occurs between the fifth and decimal vertebrae (T5 to T10). Therefore, the geometry of the T5 to T10 is obtained using images. Once the geometric model is acquired, the HyperMesh and Meshmixer software are used to create a 3D finite element model employing a meshing procedure. The meshing procedure enables to create a 3D model of the thoracic spine with the proper orientation of the joint faces, edges, and geometry. A similar analysis is performed using a laser scanner to create two-point clouds of eight vertebras of the spine; to join the two-point clouds is applied an iterative closest point (ICP) algorithm in order to obtain a distance lower than 0.8 mm and make the density uniform. Also, a Tessellation algorithm (Voronoi diagram) is employed to define the solid geometric model of the vertebra [41].

4.2 3D Chest Reconstruction

Pectus excavatum (PE) and pectus carinatum (PC) are chest deformities that cause depression sternum and excessive growth of the costal cartilage, respectively. PE and PC are considered as esthetics problems; however, PE could affect cardiac and pulmonary function causing pain in the chest. Therefore, systems as laser scanner and photometry have been employed in order to create a 3D point cloud, which along with reconstruction methods enable to create a precision digital 3D model. According to Bellia et al. [42], 3D computed tomography scan is developed to obtain images of patients in the chest area; subsequently, the images are reconstructed to 1.0-mm-thick sections with a soft-tissue algorithm. The application of the algorithm enables to characterize the deformity over the chest caused by PE, in order to develop custom implants enabling to give a solution to esthetic issues. Another research related to 3D chest reconstruction uses a laser scanner to capture the surfaces over the chest. The laser position is located at 1355 mm; the chest was rotted in front of the scanner to obtain 25 scans. Subsequently, a voxel algorithm is applied utilizing a 3D grid system set at 0.8 × 0.8 × 0.8 m3 [43].

4.3 3D Face Reconstruction

A common problem in the population is congenital diseases related to facial deformities such as deviation, cleft lip, cleft palate, and nose deformity. For each deformity can be applied plastic surgeries in order to correct the anomalies. Laser scanning and photometry have enabled the 3D model representations, which are used by medical professionals to analyze the results of the surgeries. According to Matsushima, Nishi, and Nakahara [44], polygon mesh processing is applied to define the geometry of a girl’s face based on a point could obtained by laser scanning (Konica Minolta Vivid 910); the 3D model obtained with mesh polygon could be employed to characterize deformities over the face. A similar analysis employs a laser scanner to capture a point cloud that enables to represent the human face into cylindric spatial, which enable to efficiently process the 3D triangular mesh by applying 2D filters [45]. On the other hand, there are some researches based on photometry, which uses multiples images to represent the tridimensional shape of the face; however, there is a research area that intends to build a 3D facial model from a single image; this is performed by analyzing and classifying from a database the depth to apply a triangle mesh, which enables to connect the point of the cloud to create a 3D model [46]. The research presented in this section employ polygon meshes due to the advantages they presented in Sect. 2. Moreover, there is a wide variety of software that have this tool.

4.4 3D Feet Reconstruction

Another common problem in the population is foot deformities; the deformities are related to congenital diseases causing pain and fatigue to patients that suffer them. There are different types of deformities such as flat, cavus, valgus, and diabetic feet. For each one, it is necessary to employ an especial treatment that enables to correct the deformity such as orthopedic soles, physiotherapy, or surgeries. Therefore, medical professionals use systems to capture the low foot surfaces or anthropometric parameters in order to represent 3D model that provides detailed diagnostics. According to Lee, Lin, and Wang [47], a 3D laser scanner (INFOOT USB scanning system, IFU-S-01, I-Ware Laboratory Co., Ltd., Japan), force foot imprinted (Harris mat, Inc., USA), digital caliper, and ink footprint are employed to capture foot dimensions. However, they can be used to collect volumetric and surface data to provide more detailed size and shape (i.e., anthropometric parameters) in order to apply methods of biomechanical analysis of the foot. On the other hand, INFOOT USB and Harris mat systems employ the method of polygon to define the geometry of the obtained point cloud. The results demonstrate a better accuracy and higher efficiency utilizing 3D laser scanner when polygon mesh is applied in the cloud. However, several laser scanners have a distortion in the point cloud when it is necessary to capture the wrinkles of the fingers. Therefore, Bezier curve is applied using a quadratic function to define the curve of the wrinkles in the fingers in zones such as feet or hands [48].

4.5 3D Head Reconstruction

Craniosynostosis is a birth deformity in which the bones in a baby’s skull join together too early. Meanwhile, nonsynostotic deformational plagiocephaly refers to asymmetry of the infant’s skull characterized by flattening or deformation. These deformities not only are cosmetic problems but also can increase the risk of developmental delays. According to Yuan, B. [49], a photometry system (3dMD) is used to scan a skull. Afterward, 3D triangle mesh is employed to represent the shape of a head for evaluating and analyzing results of infant cranial surgeries. Each 3D mesh contains approximately 105 vertices and 2 × 106 faces. Therefore, to avoid computation, extremely time-consuming mesh simplification algorithm is employed. This algorithm (known as quadric error metric decimation) consists of edge collapse, which merges two vertices into one, removes the edges connected to these two vertices, and adds new edges connected to the new vertex. On the other hand, a similar analysis applies photometry utilizing cranial focal point. This method can be calculated to determine the mean virtual intersection points of all normal surfaces to create a point cloud in the cranium with a center point and spread. Afterward, was implemented a polygon mesh to define the geometry of the point cloud [50].

5 Human Body Modeling Approaches’ Comparison

In previous sections are presented 3D reconstruction methods applied in point clouds, which can create defined surfaces. The proposal of this section is to apply 3D reconstruction methods and representation in order to provide defined geometries that enable to detect deformities in the human body. To show the application of the methods, two sample datasets foot and chest downloaded from ([51, 52] webpages [ http://www.i-ware.co.jp/content/infoot2.html and https://www.artec3d.com/3d-models ] are used. The datasets can be used as point clouds to build mesh surfaces applying geometric and volumetric reconstruction methods in MeshLab software.

For the demonstration of the triangular mesh method are used foot and chest datasets. Foot dataset is formed by 70,000 points, while chest dataset is formed by 50,000 points. However, considering the capabilities of the computer system, only samples of 1000 points are used. Both point clouds are built applying the algorithm of screened Poisson algorithm (SPA), which enables to transform the point cloud to surfaces. Subsequently, a triangular mesh is employed to simplify the number faces and vertices of the obtained model in order to optimize its processing. Figures13 and 14 show the point cloud and different reconstructions employing triangular mesh varying the number faces.

Fig. 13
figure 13

(a) Point cloud formed by 1000 points, (b) 100 faces, (c) 300 faces, (d) 600 faces

Fig. 14
figure 14

(a) Point cloud formed by 100 points, (b) 100 faces, (c) 300 faces, (d) 600 faces

Once geometric reconstruction is generated, methods of remesh are used to analyze the volume in Blender software. The first method employed is voxel remesh tool setting up a voxel size to 1.5 m and adaptative to 1 m as is shown in Fig. 15a). The second method used is block remesh tool setting up the octree depth (it is a tree data structure in which each internal node has exactly children) to 7 and scale and 0.8 as is shown in Fig. 15b).

Fig. 15
figure 15

(a) Remesh voxel setup to voxel size 1.5 m, (b) remesh block setup to octree depth 7 and scale 0.8

On the other hand, also Voronoi method is applied to reduce the volume of the point cloud and create a structure that enables to easily represent the biometric areas. To transform the reconstrued model to Voronoi diagram are used different type filters in MeshLab software; the first filter is Voronoi vertex coloring, which given a mesh (M) and a pointset (P) to project each vertex of P over M and color M according to the distance of these projected points. Afterward, a select by vertex quality filter is applied to select all the vertex within the specified vertex quality range. Figure 16 shows the Voronoi method setting up the high and low quality to 3.5 and 1, respectively, in both models.

Fig. 16
figure 16

(a) Foot model utilizing Voronoi method. (b) Chest model applying Voronoi method

5.1 Measurements of Biometric Parameters

In previous sections are presented common deformities over the human body related to different diseases that the population is suffering. Also, the main 3D reconstruction methods used to build point clouds are presented. This section presents biometric technics such as longitudinal arch angle (LAA) and Hebal-Malas index (HMI) applied to detect and measure deformities in the foot and chest, respectively. To perform the measurements is employed SolidWorks software, which enables creating a view section on different surfaces in 3D models.

5.1.1 Deformities’ Analysis in Foot

The first analysis is performed to classify the type of foot as normal, cavus, or flat applying anthropometric method as navicular drop and longitudinal arch angle. For this case, longitudinal arch angle (LAA) is used, which consists in determining the angle formed by first metatarsal head (MT 1), navicular tuberosity (NT), and medial malleolus (MM). The mesh model created in MeshLab is exported to an stl extension file. Afterward, SolidWorks software is used because it enables easily to measure 3D model and to perform view-section in multiples planes. Figure 17a) shows the 3D foot model utilizing the view-section plane directed orthogonally toward the internal structure of the foot. When the plane of cross section is moved, the first contact point is the MT 1; whether the view-section follow the same trajectory, the second and third contact points are MM and NT, respectively, as are shown in Fig. 17b, c). At least, Fig. 17d) shows three anthropometric point positions and the angle measured applying the LAA method in SolidWorks software.

Fig. 17
figure 17

(a) Plane view-section on the internal foot. (b) Red circle indicates the MT 1. (c) The red and green circles indicate the NT and MM. (d) LAA method applied on the internal foot obtaining as result 137.52°

According to Nilson et al. [53] and Dahle et al. [54], utilizing LAA method, a foot can be classified as:

  • Flat: 121°–131°

  • Normal: 131°–152°

  • Cavus: 153°–162°

  • Extreme cavus: more than 162°

Therefore, the result obtained enables to classify the 3D foot model as normal, because the angle obtained (137.52°) is between 131° and 152° range. This study can be used to provide diagnostics in a static state to patients that suffer these deformities. However, a medical professional must consider applying a dynamic state method to provide reliable diagnostics. On the other hand, also the obtained model could be used to perform measurements in the foot over the areas such as foot length, foot width, ball of foot length, and outside ball of foot length. Figure 18 shows some measurements obtained utilizing SolidWorks software.

Fig. 18
figure 18

(a) Foot length, (b) foot width, (c) ball of foot length, (d) outside ball of foot length

5.1.2 Deformities’ Analysis in Chest

The second analysis is performed to verify whether it is possible to measure the depressed sternum caused by pectus excavatum (PE) deformity. A common technique uses a ruler as measurement instrument to measure the depth into the depression at its deepest point and recorded the distance from the deepest point to the surface of the depression. However, this procedure can cause uncertainties in measurements. Therefore, the analysis presented below provides a method based on 3D model to measure the depressed sternum attenuating uncertainness. According to Hebal et al. [55], a 3D model chest can be used to determine Hebal-Malas index (HMI), which consists in to assess PE deformity measurements. HMI is calculated dividing the mediolateral diameter (ML) by the anteroposterior diameter (AD) of the chest depth; the equation is given by (18):

$$ \mathrm{HMI}=\frac{\mathrm{ML}}{\mathrm{AD}} $$
(18)

The triangular mesh model obtained in Fig. 15 is imported to SolidWorks software to apply the view-section tool, which enables varying the top plane until reaching the maximum depression of the sternum as is shown in Fig. 19a). Once the top plane position in the maximum depression of the sternum is defined, this view is collocated from normal to a top plane as is shown in Fig. 19b).

Fig. 19
figure 19

(a) View-section collocated in maximum depressed sternum. (b) View-section normal to top planes

Afterward, the ML and AD are measured using the reference point and smart dimension tool as is shown in Fig. 20.

Fig. 20
figure 20

ML and AD measurements determine utilizing view-section in SolidWorks software

These values enable to calculate HMI applying Eq. (18) obtaining as result 1.71 mm; therefore, according to Hebal et al. [55], the result obtained indicates that HMI is 0.09 below the mean. Thereby, the 3D model obtained does not present PE deformity; however, the previous analysis demonstrates that it is possible to measure the depression of the sternum. Also, it can be noted that the accuracy of the 3D model depends on numerous faces, i.e., whether numerous faces increase in the triangle mesh model, the accuracy is enhanced, obtaining defined surfaces and reliable diagnostics.

6 Technical Vision System for 3D Human Body Measurements

Technical vision system (TVS) is a 3D laser scanner based on dynamic triangulation principle and developed at “Universidad Autónoma de Baja California.” The system has provided satisfactory results in application such as autonomous mobile robot, structure health monitoring, and monitoring of scoliosis. This section presents the TVS operation principle and the surface reconstruction from point clouds in order to analyze biometric parameters in the human body.

6.1 Dynamic Triangulation Principle

The principle of dynamic triangulation consists in the analysis of a triangle formed in short time; this is formed by three straight lines, which connect three points: emitter, receiver, and the reflection point of the laser. In TVS based on dynamic triangulation, the positioning laser (PL) projects a laser beam over the surface of an object. Afterward, the laser beam is reflected toward the scanning aperture (SA), as the fixed distance (a) between PL and SA is known a triangle is formed as is shown in Fig. 21a). Through this information and the application of trigonometric functions can be calculated the coordinates, where the laser beam gets in contact with the surfaces. The angles formed in dynamic triangulation are C ij and B ij. C ij angle is delimited by PL and a, while B ij angle is formed between SA and the distance a [56, 58].

Fig. 21
figure 21

(a) Principle of dynamic triangulation. (b) Developed mechanism for positioning the angle β

To calculate the coordinates (x, y, z) in each point over the surfaces of the object, it is necessary to apply Eqs. (19), (20), and (21) implemented in previous research, where the value β shown in Fig. 21b) is used to calculate the coordinates of the z axis [57]:

$$ x=a\left(\frac{\sin \left({B}_{ij}\right)\ \sin \left({C}_{ij}\right)}{\sin \left({B}_{ij}+{C}_{ij}\right)}\right) $$
(19)
$$ y=a\left(\frac{1}{2}-\frac{\cos \left({B}_{ij}\right)\ \sin \left({C}_{ij}\right)}{\sin \left({B}_{ij}+{C}_{ij}\right)}\right) $$
(20)
$$ z=a\left(\frac{\sin \left({B}_{ij}\right)\sin \left({C}_{ij}\right)\tan \left({\beta}_{ij}\right)}{\sin \left({B}_{ij}+{C}_{ij}\right)}\right) $$
(21)

6.2 Positioning Laser and Scanning Aperture

SA is an essential element that enables the dynamic triangulation system reception, which is formed by a 45° mirror, two biconvex convergent glasses, a zero sensor, and a photoreceptor as is shown in Fig. 22a). The PL is composed by a laser, which emits parallel beams toward 45° mirror to redirect them over to the object’s surfaces to scan. Then, the lines are reflected to scanning aperture, where another 45° mirror redirects the lines to the biconvex convergent glasses, which focus the parallel beams to a single point (receptor) located at the top of the scanning aperture. On the other hand, zero sensor indicates when the motor pass 0°.

Fig. 22
figure 22

(a, b) Accuracy improvement by artificial neural networks in technical vision system. Trujillo [58]

PL is another essential element that enables the operation of the TVS, which is composed by 45° mirror, dc motor, and encoder as is shown in Fig. 22b). The laser beam is directed to the 45° mirror, which redirected the beam laser to 90° over the surface to scan. In addition, PL projects the laser beam moved along the object until finishing the scanning process; during this time is measured a laser beam point by each revolution of the SA, i.e., each detection of the zero sensor. The TVS design enables to capture tridimensional point clouds in order to characterize surfaces. Figure 23 shows the TVS assembly.

Fig. 23
figure 23

Technical vision system (TVS)

6.3 3D Reconstruction in Point Cloud Captured by the TVS

In order to determine the capacities of the TVS and the reconstruction methods presented throughout this chapter, it is performed a scanning over a hand surface to convert a point cloud to 3D polygon mesh. For this scanning, the TVS control software is set up with a laser beam speed to 5 \( \frac{{}^{\circ}}{\operatorname{seg}} \) and go forward in β angle at 0.7°. Once parameters are set up, the hand is painted with acrylic paint to obtain an adequate reflection of the laser. Afterward, the hand is vertically collocated in front of the TVS to perform the scanning. During the scanning, it is necessary to keep the hand relaxed until completing the scanning time of 3 minutes to avoid measurement errors. Afterward, a point cloud is obtained and presented in 3D coordinates as shown in Fig. 24a).

Fig. 24
figure 24

(a) Point cloud formed by 6000 points. (b) 3D reconstruction using ball pivoting algorithm. (c) Adjustment of meshes utilizing the polygon mesh tool. (d) Model obtained applying a smoothing filter

From the obtained point cloud, it is possible to note some measurement errors on the fingers caused by the reflection of the beam laser, involuntary movements, and calibration, but even with measurement errors, the hand can be characterized. However, the approach of this chapter is to apply methods of 3D reconstruction that enable to measure deformities over the human body. Therefore, to analyze the surface, MeshLab and Blender software are used, because they provide a wide variety of reconstruction algorithms, simplification, remeshing, sculpting, and smoothing. Following it is presented the procedure applied to rebuild the point cloud.

Using MeshLab software, the noise over the point cloud is removed; afterward, compute normals for points set tool is applied to create a normal in each vertex to apply a ball pivoting algorithm, which enables given a point cloud with normals to create mesh surfaces. However, the measurement error causes a poor reconstruction on the fingers as shown in Fig. 24b). Therefore, the model obtained is exported to Blender software to apply the polygon mesh tool, which enables to repair the geometry of the hand surface adjusting the meshes especially over the index and ring finger as shown in Fig. 24c). Once meshes are adjusted, draw sharp tool and thumb are employed to attenuate the noise in 3D model and flatten in the specific area. Afterward, to improve the quality of 3D model is used a filter smoothing applying a factor to 0.5 and repeat to 3 the final model is shown in Fig. 24d).

The procedure applied on the point cloud enabled to build a 3D mesh model and attenuate some measurement errors. However, it is still possible to note the errors over the index and thumb fingers; this can be corrected by a specific scan in the area of interest. Another alternative to enhance the measurements is the implementation of a fixture that assures to keep the hand relaxed during the scanning time.

7 Conclusion

3D reconstruction can be used to provide a more natural representation of a scanned model object and be able to visualize information that would go unnoticed if only a point cloud were used. The 3D reconstruction employs the methods of geometric and volumetric reconstruction in the point cloud to create a well-defined and optimized 3D model, which can be processed by computer systems. In addition, the obtained 3D model can be employed to detect deformities over the human body to provide reliable diagnostics and treatments to patients.

This chapter provides information about the state of the art of the principal diseases that causes deformities over the human body and the 3D reconstruction methods applied in different research, which have demonstrated satisfactory results in deformities’ detection. Also, some methods such as polygon mesh, voxel, and Voronoi diagram are applied on two-point clouds (chest and foot) utilizing MeshLab and Blender software. The screened Poisson algorithm enabled to build a 3D model of the feet; afterward, this model was simplified varying the number of meshes and can be noted an enhanced resolution when more meshes are applied. The 3D model was exported to SolidWorks to identify anthropometric parameters using the view-section tool. This tool enabled the identification of the internal foot of the metatarsal head, navicular tuberosity, and medial malleolus to calculate the longitudinal arch angle and determine the foot type. As well, the same procedure is applied to measure the depression of the sternum, and using the view-section tool was possible to calculate the Hebal-Malas index to determine the severity of the deformity.

On the other hand, the TVS is used to scan a human hand; the application of the ball pivoting algorithm enabled to build the point cloud to surface meshes. However, the thumb and index fingers presented issues. Therefore, polygon mesh tool, draw sharp, thumb, and smoothing were applied obtaining satisfactory results on the finger 3D reconstruction.