Applied Soft Computing

A skeleton provides a synthetic and thin representation of three dimensional objects, and is useful for shape description and recognition. In this paper, a novel 3D skeleton algorithm is proposed based on neutrosophic cost function. Firstly, the distance transform is used to a 3D volume, and the distance matrix is obtained for each voxel in the volume. The ridge points are identiﬁed based on their distance transform values and are used as the candidates for the skeleton. Then, a novel cost function, namely neutrosophic cost function (NCF) is proposed based on neutrosophic set, and is utilized to deﬁne the cost between each ridge points. Finally, a shortest path ﬁnding algorithm is used to identify the optimum path in the 3D volume with least cost, in which the costs of paths are calculated using the new deﬁned NCF. The optimum path is treated as the skeleton of the 3D volume. A variety of experiments have been conducted on different 3D volume. The experimental results demonstrate the better performance of the proposed method. It can identify the skeleton for different volumes with high accuracy. In addition, the proposed method is robust to the noise on the volume. This advantage will lead it to wide application in the skeleton detection applications in the real world.


Introduction
A skeleton is defined as the locus of the centers of maximally inscribed balls [1]. It can serve as a representation of the shape, and it contains all the information necessary to reconstruct the shape. Skeletons have been used in several applications in computer vision, image analysis, and digital image processing, including optical character recognition, fingerprint recognition, visual inspection, pattern recognition, binary image compression, and protein folding [2].
In a three dimensional (3D) volume, a skeleton generally consists of both curves and surfaces. It provides a synthetic and thin representation of objects. The 3D skeleton algorithm can be applied into computer vision, 3D object feature extraction, object recognition and tracking, shape recognition and retrieval, 3D surface reconstruction, automatic medical navigation and visualization, and geometric modeling [3,4]. Especially, it plays an important role in computer assisted navigation and surgery.
A 3D skeleton is a collection of points, lines, and surfaces [4,5]. A skeleton is closely related to the centerline. A skeleton is a one-dimensional object (a set of curves embedded in 3D) which captures a 3D object's main symmetry axes, but does not contain detailed information about the object boundary. Skeletons provide a compact, efficient, and simple description for tubular structures such as blood vessels [6], neurons, or elongated organs such as the human colon [7,8].
A number of skeleton algorithms have been proposed for the 3D voxel volume, and most of them can be categorized into three classes [4]: topological thinning, distance transform based, and polygon based methods. We focus here on voxel based volume in this paper. Therefore, we only discuss the first two classes.
The topological thinning methods extract the skeleton [9,10] through iteratively removing its simple points from the boundary of a voxel set, which does not alter the object topology [4]. The skeleton is extracted using the distance field [11] or a refined geodesic field [12] in the 3D volume. Thinning method produces a connected and one-voxel thick structure [9,13]. However, it might lead to many undesired small branches [4].
The distance based methods compute the volume's distance transform value and define the skeleton as a set of the local maxima on the distance transform values. This definition produces surface skeletons, not a one dimensional centerline. The skeletons are usually disconnected, not guaranteed to be one voxel thick, and sensitive to boundary noise [4]. Zhou  extracted local maxima by local maximum paths. However, this method is still sensitive to the noise. Moreover, the local maximum extraction might produce surface skeletons and not centerlines.
Several distance transform based methods were proposed to trade speed for precision such as Chamfer-based [15], level-set based [16], and true Euclidean [17]. Zhou et al. used a second distance field to encode the distance to a given seed voxel set [8]. All voxels with the same second distance field value and the one having maximal distance transform value are added to the centerline. Bitter et al. [18] computed the gradient on the distance transform and found voxels on and close to the centerline by analyzing the gradient's local variations, followed by the reconnection of these structures. The final centerline is computed by applying various cost-based path tracing methods on the connected set of extracted voxels. However, this algorithm does not handle objects with branches or holes. It is also not very clear how sensitive the algorithm is to the distance transform gradient value.
In the existing methods, some of them are time-consuming and sensitive to noise, and skeletons obtained by them are not single voxel. In this paper, to overcome the above disadvantages, we propose a 3D skeleton algorithm based on neutrosophic set. The skeleton is single voxel curve and immune to noise. At first, a distance map is obtained using a 3D distance transform, and a ridge point set is defined in the distance map. Then a cost function of each ridge point is defined based on the true and indeterminacy value in neutrosphic set. Finally, the skeleton is found as the lowest cost path between different ridge points.
The paper is organized as follows. Section 2 describes the proposed method, Section 3 discusses the experimental results and comparisons, and the conclusions are drawn in Section 4.

Proposed method
A novel skeleton algorithm is proposed based on neutrosophic set for 3D images. At first, the distance map of the 3D volume is generated using a distance transform. Then ridge point set is defined and selected according the distance map value as the skeleton candidate pixels. The neutrosophic set is used to define the cost function for the path finding algorithm, and the definition can reduce the noise effect for the indeterminacy is considered. Finally, the path finding algorithm is utilized to find the path with minimum cost, which is regarded as the skeleton of the 3D volume.

Distance transform
A distance transform (DT) can be used as a representation of a binary image, and it labels each pixel in the image with the distance to the closest boundary [19]. DT is a fundamental geometrical operator in computer vision and graphics, shape analysis, pattern recognition, and computational geometry [20].
where p i is a object voxel, and p j is a voxel in the background set B. d(p m , p n ) is a distance between any two voxels p m and p n .
In the proposed method, the Euclidean distance metric is used to measure the pixels' distance, which is the adequate model to numerous geometrical objects. A distance map DM is obtained when distance transform is employed on a volume V.
where DT( ) is a distance transform function. V is the original volume of the 3D image, p i is a object voxel in V, and DM is the distance map of V.

Ridge point
According to the definition of skeleton, the points on the skeleton usually are inside the volume and have bigger distance transform values than those of their neighbors, which are named as ridge points in the distance map. A ridge point can represent one convex part on the volume, and can be used to represent the voxel on the skeleton. Definition 1. Ridge point. Let p be a voxel, and DM(p) is pixel p's distance transform value. Q is p's neighbors set in 3D. p is a ridge point if it satisfies the equation: The neighborhood can be 26-voxel in 3D volume. A ridge point is defined as the pixel which has biggest value among its neighborhood. The ridge points on the distance transform have the largest distance among their neighborhood, which guarantee these pixels are the in the central part of the object. These ridge pixels can be used as candidate points on the skeleton and find the one pixel line as the skeleton of the object which is in the most middle of the object.

Definition 2.
Ridge point set RPS is a set, in which each element is a ridge point.
The ridge point set can be seen as the candidate of the skeleton. However, the ridge points are not connected, and easily affected by the noisy volumes or/and small convex objects, which make the skeleton not smooth and having a variety of small burrs.

Cost function
Neutrosophic theory is as a new branch of philosophy dealing with the origin, nature and scope of neutralities [21]. In neutrosophy theory, every event has a truth degree, a falsity degree and an indeterminacy degree [22]. Thus, neutrosophic set provides a powerful tool to deal with the indeterminacy for different applications.
To make the skeleton more smooth and robust to noise, we employ neutrosophic set to define the cost function for path finding algorithm. The indeterminacy of the cost function will be eliminated using the new defined function.
At first, the truth degree (T) and indeterminacy degree (I) for each voxel were defined using the distance map value.

Definition 3. Neutrosophic set value
Ns is used to measure the true and indeterminacy membership value: where DM and GDM are the value on the distance transform map and gradient value on distance transform map, and NDM and GDM are their normalized results, respectively.

Definition 4.
Cost function C between two neighboring voxels p and q, and its cost function value C(p,q) is computed as:

Definition 5.
Cost function of a path C(P). Let P = {p 1 , p 2 , . . . p n } be a connected path. The path P has n points, and its cost function value is: The definition of cost function can guarantee the skeleton has the lowest cost.

3D skeleton algorithm
After the ridge point set is defined and the candidate points on the skeleton are determined, a path finding algorithm is utilized to find the paths between ridge points, which is regarded as the skeleton of the volume. A graph algorithm, Dijkstra's algorithm [23] is used to find the lowest cost path between different ridge points. The steps to determine the skeleton can be briefly described as follows: Algorithm: 3D skeleton algorithm based on neutrosophic set Input: 3D volume V. Output: 3D skeleton line SkV. 8. Merge the close branches and prune the small branches; 9. Pick the paths as the volume's skeleton SkV.

Experimental results and discussion
A variety of 3D volume are obtained from the 3D models from the websites 1,2 , and used to test the proposed method's performance. As mentioned in literature [24], it is hard to compare the quality of the skeletons generated by different methods because there has been no numerical criterion to evaluate the difference between the skeleton and the original 3D volume. We demonstrate the proposed method's performance via the visual evaluation way as in the literature.
Five examples are employed to show the skeleton results in Figs. 1-5. To display the details clearly, we show 3D objects and their skeletons at different orientation angles. In Fig. 1, a pig is shown in (a) and (c) at different angles in 3D view. Fig. 1(b) and (d) are the skeleton at the corresponding angles, respectively. In the skeleton result, not only the main body of the big, such as body and legs, was described by the skeleton, but also some details, such as ears, feet and tail, are preserved and extracted properly. Fig. 2 shows another animal model, a 3D dog object and its skeleton result by the proposed method. The results displayed at different angles show that the dog's skeleton very well, including four legs and long tail. The dog's skeleton can represent the whole 3D dog's shape and structure correctly. Fig. 3 shows a 3D horse volume and its skeleton result. The horse's body and legs are also described by the skeleton very smooth and precise. In addition, its two small ears are extracted with very high accuracy. A hand model is shown in Fig. 4. The skeletons of five fingers are extracted with very high accuracy. The hand's shape can be presented clear, which is useful to the 3D shape recognition and gesture recognition.
A cow model is shown in Fig. 5 to demonstrate the proposed method's advantages and limitation. The skeletons of cow body, four legs are extracted with very high accuracy. Especially, two ears and mouth are also extracted correctly. However, the tail part does not have the correct skeleton, especially for the connection between tail and body. It is due to our proposed method try to find the shortest path between the body and tail parts, and connect them directly as the skeleton. When there is a hole in the volume, the proposed method will fail to find the correct skeleton.
Figs. 6 and 7 show a shark's and triceratops's skeletons. From the results, we can see clearly the results have smooth main skeleton and less small branch. The skeleton on fins of shark and legs of triceratops are extracted correctly.
Kerschnitzki et al. proposed a novel 3D skeleton algorithm, named homotopic thinning algorithm, based on distance transform and neighborhood connection to describe the structure of bone and vessels [25]. The homotopic thinning algorithm achieved a good result in 3D volume and had been applied into medical application [25]. To demonstrate the performance on 3D skeleton, we compare the proposed method with the homotopic thinning algorithm.    method's results are displayed in the right ones. From the comparison results, we can see the proposed method achieved better results with smooth skeleton and keeping object's shape, while the homotopic thinning method's skeletons have small branches and are burry, especially on the dog and pig's body, and palm regions.

Conclusion
In this paper, a 3D skeleton algorithm has been developed to identify the skeleton on 3D volume. It is insensitive to the size variations and noise of the volumes due to the employment of neutrosophic set for indeterminacy processing. Through the experiments, we observe that the skeleton can be distinguished correctly and accurately. The proposed method achieved better performance with high accuracy. This result is encouraging, and lays a solid foundation for wide applications in 3D volume presentation and shape recognition.