This paper proposes a new algorithm (DA3DED) for edge detection in 3D images. DA3DED is doubly adaptive because it is based on the adaptive algorithm EDAS-1 for detecting edges in functions of one variable and a second adaptive procedure based on the concept of projective complexity of a 3D image. DA3DED has been tested on 3D images that modelize real problems (composites and fractures). It has been much faster than the 1D edge detection algorithm for 3D images derived from EDAS-1.
Three-dimensional imaging is applied in many topics such as medicine and materials science among others. 3D medical imaging models structures of the human body. This is important in many fields as image guided surgery, assessment of the quality of bones, and so forth; see, for example, [
The detection of edges is an essential objective in image processing. Besides the applications aforementioned, it is useful in the analysis and study of 3D Satellite images, among others. There are a lot of procedures for determining 3D edges. These procedures can be classified in Direct Methods and Indirect Methods [
The present paper shows an accurate algorithm (DA3DED) that can obtain a point based representation of the jump discontinuity set of a 3D image. The algorithm is a type of 1D edge detection method (1D3DED) and adaptive splitting method. It begins by considering a region in the plane
Experimental results show a good behavior of DA3DED on practical 3D problems that model different types of composite materials and fractures.
The outline of the paper is as follows. Section
Let
We assume that
Define
Let
It is proved at [
This result is the basis of the algorithm described in the next section.
For more details about the mathematical preliminaries of the problem, see [
DA3DED is based on several concepts and algorithms that are described in this subsection.
EDAS-1 is an algorithm to approximate the jump discontinuity set of functions of one variable. It is a particular case of the algorithm EDAS-
More details about the implementation and performance of EDAS-1 can be found in [
Next, the steps of the EDAS-
Consider the initial partition
Put into the set
Divide each bad simplex into two simplices, by splitting its largest edge. We have a new partition
Repeat Steps 2 and 3 until
In the images studied in Section
In practice, we have implemented the above algorithm using a binary tree whose leaves correspond to good simplices. In the case
The algorithm DA3DED uses two different mathematical representations of a 3D image. It considers that the image is a function defined on a box in
Continuous representation (a) and discrete representation (b) of a 2D image.
Let
Several complexity measures for 2D images have been proposed [
Consider a continuously defined function
Let
Observe that
Consider a 3D image given by an
The doubly adaptive algorithm performs split and point selection operations. These procedures are defined on the set of indices; that is, they consider discrete rectangles. First, we describe how a discrete rectangle is divided into four almost equal discrete subrectangles.
Consider the discrete rectangle
Observe that
The set of indices of a 3D image is given by
Consider a set
If
Select
Consider the straight lines perpendicular to the plane containing
Apply EDAS-1 to each one of these lines to obtain the number of edge points corresponding to each point
EDAS-1 obtains edge points (red) lying on the straight lines perpendicular to the considered plane.
Compute
If we call
if
A discrete rectangle is subdivided when the measure of projective complexity corresponding to the discrete rectangle
Consider the discrete rectangle
Consider
At each step
The algorithm stops if
Repeat the above steps for
DA3DED has been implemented using a quadtree. Below we detail this algorithm.
In this subsection, we provide a pseudocode of the algorithm used by DA3DED to generate the quadtree. We start by defining a structure of type node (each node is associated with a discrete rectangle struct node int int int int int
where,
The algorithm uses alternately two distinct values of
(i) Input of data: (ii) Initialize the node 0: (iii) Split the node 0 into four discrete rectangles and initialize the nodes 1, 2, 3 and 4. for (iv) Complete the members of the node 0, for (v) Initialize the current node and the counter of nodes (vi) while ( Split compute else for ( else (the current node does not satisfy the split criterion) for else (the split criterion has been applied to the current node) else (there exist childs not visited) for
In this section, we have tested DA3DED with several synthetic material models. The results have been compared with those obtained with other algorithms: 3D Sobel, 3D Prewitt, and 3D EDAS-1. The test models have been the following: Internal inclusions within a material Short fiber composites Fracture models
Materials with internal inclusions are also called particle composites (filled materials). For example, internal pores in aluminium alloys can be obtained by introducing hydrogen in the melt metal. Since the solubility of the hydrogen decreases with the temperature, when the metal solidifies, the gas is rejected and forms gas pores which are easily visualized using X-ray tomography [
To test the algorithms, we have designed examples having different complexity in different zones. The box containing the composite has been divided into eight equal cubes. The inclusions and fibers have been randomly placed in each cube with the following distribution: Spherical inclusions: 60 spheres (with radius 8) in one of the cubes, each one of the remaining parts contains 4 spheres Icosahedral inclusions: 60 icosahedra in one of the cubes, each one of the remaining parts contains 4 icosahedra Cylindrical fibers: 30 cylinders in one of the cubes, each one of the remaining parts contains 2 cylinders Prismatic fibers: 30 triangular prisms in one of the cubes, each one of the remaining parts contains 2 triangular prisms
The 3D images used in the experiments have been generated in two steps. First, we have considered a continuous function with value 1 inside and 0 outside the bodies. In the case of icosahedral inclusions, prismatic fibers, and fracture model, we have used the algorithm proposed in [
The experimental environment has been the following: CPU Intel(R) Core(TM) i7-4500U CPU 1.8 GHz. Running Software Microsoft Visual C++ 2012.
The test 3D images exhibit a complex structure containing several three-dimensional objects. In complex problems, it may be difficult to use deformable model algorithms. Therefore, we have compared DA3DED with 3D difference filters (Sobel, Prewitt) which are suitable for arbitrary (unstructured) images. In the experiments with the 3D Sobel method, the following mask to obtain the partial derivative of the image intensity with respect to the variable
The corresponding mask used for the 3D Prewitt method is
We have used the MATLAB notation for matrices. The masks for the derivatives with respect to
The results obtained with the Prewitt method are similar to those obtained with the Sobel method, we have not included them to save space.
3D EDAS-1 consists of applying EDAS-1 to the straight lines, perpendicular to the plane
The numerical results for 3D EDAS-1 and DA3DED are reported in Tables
Performance of 3D EDAS-1 on the test models.
3D image | | | | | | TNI | TNJI | CPU (s) |
---|---|---|---|---|---|---|---|---|
Spherical inclusions | | | | 10 | 10 | 4770465 | 93447 | 109.8 |
Icosahedral inclusions | | | | 10 | 10 | 6123908 | 229703 | 156.7 |
Cylindrical fibers | | | | 10 | 10 | 4854444 | 102482 | 111.8 |
Prismatic fibers | | | | 10 | 10 | 4940281 | 112624 | 115.1 |
Fracture model | | | | 10 | 10 | 8297400 | 452000 | 234.4 |
Performance of DA3DED on the test models.
3D image | TMIND | TNEP | | | TNI | TNJI | CPU (s) |
---|---|---|---|---|---|---|---|
Spherical inclusions | 3 | 25 | 10 | 9 | 2137515 | 71586 | 51.3 |
Icosahedral inclusions | 3 | 25 | 10 | 9 | 4339122 | 192821 | 110.4 |
Cylindrical fibers | 3 | 25 | 10 | 8 | 2774380 | 89438 | 65.8 |
Prismatic fibers | 4 | 25 | 6 | 5 | 3369707 | 108608 | 79.5 |
Fracture model | 4 | 17 | 8 | 7 | 3983960 | 338064 | 124.9 |
The synthetic models are shown in Figures
Spherical inclusions.
Spherical inclusions (intersection with the plane
Spherical inclusions (intersection with the plane
Icosahedral inclusions.
Icosahedral inclusions (intersection with the plane
Icosahedral inclusions (intersection with the plane
Cylindrical fibers (circular cross section).
Cylindrical fibers (intersection with the plane
Cylindrical fibers (intersection with the plane
Prismatic fibers (triangular cross section).
Prismatic fibers (intersection with the plane
Prismatic fibers (intersection with the plane
Fracture model.
Fracture model (section perpendicular to the
Fracture model (intersection with the plane
Fast and accurate edge detection in 3D images is necessary in many applications. Some typical examples include image guided surgery, 3D assisted face recognition, safety and security applications [
The problem is challenging because 3D images involve an enormous amount of data (voxels) that must be processed. Algorithms that provide a simple point based representation of the jump discontinuity set (3D filters) process all the voxels in an image.
However, in most images the complexity varies from a region to another. The proposed algorithm (DA3DED) is based on this fact. The depth of the treatment is proportional to the complexity of the region into consideration.
DA3DED has been tested on 3D images that modelize real problems (composites, fractures). It has been much faster than the 1D edge detection algorithm for 3D images derived from EDAS-1.
The doubly adaptive algorithm provides a thorough description of the edges in complex zones. Regions with low complexity are described in less detail, but in this case the discontinuity surface can be effectively reconstructed using techniques such as interpolation.
The authors declare that they have no competing interests.