ICACSIS 2012
ISBN: 978-979-1421-15-7
Efficient Incomplete Ellipse Detection based on Minor Axis for Ultrasound Fetal Head Approximation I Putu Satwika, M. Iqbal Tawakal, Zaki Imaduddin, Wisnu Jatmiko Faculty of Computer Science, Universitas Indonesia Depok, Indonesia Email:
[email protected]
Abstract—Fetal head detection and approximation from ultrasound image is an important method in obstetric and gynaecology. In this research, we propose a modification of an efficient algorithm to detect an ellipse shape in an image. Our proposed method is using an efficient way to approximate an ellipse based on its minor axis. By enumerating every possible minor axis from a pairs of pixels, other ellipse parameter can be estimated. For verifying the ellipse approximation result, a voting mechanism is conducted to vote the most appropriate set of parameters for an ellipse. Instead of using every edge pixels in the image, we randomize the pixels to gain speed improvement. We test the algorithm using two different data. The first one is real ultrasound image and the second one is synthetic image which has been populated with salt noise. The ultrasound image is cleaned from speckle noise using Speckle Reducing Anisotropic Diffusion (SRAD) algorithm. The experiment gives satisfying result in both of synthetic and real images.
I. I NTRODUCTION According to Indonesia Demographic and Health Survey result in 2007, the death rate of maternal and infant mortality in Indonesia are still high [1]. One of the reason why the mortality rate is high is because the lack of fetal growth check-up. The fetal growth in uterus is the most important thing to monitor regularly in order to ensure the healthy growth of the baby. The fetal growth can be monitored through fetal biometry. Fetus biometry relates to the part of body or fetus dimension [2]. To monitor and observe fetal condition on uterus, Ultrasound (USG) is one of the most popular tool. It is because USG is a non-invasive technique and not using some radiation which makes it to be safer to use. To perform USG 2D obstetric images measurement, object detection and segmentation toward those parameters can be used with approximation of certain shapes. For head circumference and abdominal circumference, we can approximate them with ellipse shape. For diameter head measurement, femur and body length can be approximated towards straight line. In order to perform those actions, it is essential to do ellipse and line detection that is resistant to noise. It is necessary because USG 2D images are impossible to become free from speckle noise that is produced from USG device during examination.
In this paper we try to extract fetal biometry parameter form fetal head. From fetal head the medical expert can calculate Biparietal Diameter (BPD) and Head Circumference (HC). This biometry parameter can be observed using ellipse approximation. Circumference and minor axis of the ellipse can be used to represent the HC and BPD, respectively. There are several popular methods that can be used to detect an ellipse shape in the image. One of the method that is commonly used is Hough Transform [3]. Originally it is used to detect geometric feature like line and curves in picture. The main idea of Hough Transform is to map from the image point into an accumulator space. Hough Transform is excellent for detecting straight line and circle that exist on images. Hough Transform become one of the most popular method for shape detection because of its robustness and it is still actively researched [4]. However, this method needs significant memory usage and computational time. This paper focuses on modification of Hough Transform that is more efficient. Because of the heavy computational time and big memory usage of Hough Transform, Kultanen et al. [5] try to improve the computational time by using randomized probability sampling to vote point on image to the accumulator. Kultanen et al. named the method Randomized Hough Transform (RHT). This method can improve standard Hough Transform because only some of pixel become sample to vote on accumulator instead all the pixel point on images. Furthermore, Fast Ellipse Hough Transform (FEHT) [6] is developed. This method using some combination to improve the Hough Transform method. Some of the improvement are less computation time to calculate the center of the ellipse, elimination of solution as they are found, and labelling of the point from different object. A new technique is presented in this paper for detecting the orientation and the value of two semi-axis in the ellipse. Several previous researches have been using Hough Transform to detect ellipse in the image with noisy environment. Lu and Tan [7] developed Hough Transform that is capable of detecting incomplete ellipse within image that has strong noise. This method em-
191
ICACSIS 2012
ISBN: 978-979-1421-15-7
ployed modified Randomized Hough Transform (RHT) to manage the parameter of ellipse iteratively. Xu et al. [8] had also researched the method to detect fetal head using ellipse approximation. In their study, Iterative Randomized Hough Transform (IRHT) is used and modified by choosing more than one parameter from the accumulator for the next iteration. By doing so, the risk to be trapped within local maximum can be minimized. This method is using several steps for the preprocessing such as bilateral filter, white top hat transform, K-means clustering, and distance transform. This method is also using accumulator for five parameters which caused high computational cost and memory. Xie and Ji [9] have researched method to detect ellipse while also minimize the computational complexity by reducing the accumulator size of Hough Transform. In their research, they only needs to keeps one dimensional accumulator to store voting for the parameters. From the result of the experiment, this method can detects incomplete ellipse fast and efficiently. Chia et al. [10] is also studied similar approach like Xie and Ji but by adding additional constraint which is the circumference of the ellipse as one of the voting consideration for each iteration. This makes this method to be more robust than the method proposed by Xie and Ji. There is one drawback for their method. This method is only able to detect ellipse if the major axis in the ellipse exist. Unfortunately, some of the fetal images from the preprocessing step do not have major axis. Because of that reason, we propose a different approach by using the existence of minor axis to detect ellipse in the image. The formula used in our proposed method is inspired from formula proposed by Xie [9]. For the preprocessing step, before the image enter the ellipse detection phase, we used Speckle Reducing Anisotropic Diffusion (SRAD) method proposed by Yu and Acton [11]. The organization for the rest of this paper is described as follows. Section II explains the noise reduction step to the image using SRAD. Algorithm for ellipse detection is discussed on section III. In section IV, the experiments which are conducted and its result is displayed. Lastly, section V briefly presents the conclusion of this study.
+ q02 (t))] (2) with the instantaneous coefficient of variation s (1/2)(| 5I | /I)2 − (1/42 )(52 I/I)2 q(x, y; t) = [1 + (1/4)(52 I/I)]2 (3) In this method, the instantaneous coefficient of variation serve as the edge detector for speckled imagery. Speckle scale function q0 (t) for controlling the amount of smoothing applied to the image is estimated by p var[z(t)] q0 (t) = (4) z(t)
II. N OISE R EDUCTION ON U LTRASOUND I MAGES Before processing the image of fetal head, the image should follow the preprocessing step because the ultrasound image has speckle noise that is difficult to remove from USG device. By removing the noise, the object of interest will become easily seen, so it can reduce the complexity of time and memory that is needed to process the images. Several methods have been developed to remove this kind of noise. In this paper, we use SRAD (Speckle Reducing Anisotropic Diffusion) for reducing the speckle noise from ultrasound image [11]. The authors use this method because
After we applied the SRAD algorithm to the image, we threshold the image to obtain binary image. With binary image in hand, we can start to search the possible ellipse shape on the original image. One of main challenges in searching for ellipse in this binary image are the remain of speckle noise and the incompleteness of the ellipse. In this study, we adopted an efficient algorithm proposed by Xie et al. [9] and modified it to tailor our needs. In the original algorithm, the process begin by searching for major axis. In our case, this may not be possible because the image is incomplete in the major axis. We adjust the
of its good performance in detecting the noise inside an image. Moreover, this method does not need the preprocessing step and relatively faster in processing the images. Based on [11], ultrasound image can be smoothed from speckle noise with anisotropic diffusion method. Given an intensity image I0 (x, y) having finite power and no zero values over the image support Ω, the following partial differential equation of I(x, y; t)
∂I(x, y; t)/∂t = div[c(q) 5 I(x, y; t)] I(x, y; 0) = I0 (x, y), (∂I(x, y; t)/∂~n) |∂Ω = 0
(1)
where δΩ denotes the border of Ω, and c(q) =
1 1+
[q 2 (x, y; t)
−
q02 (t)]/[q02 (t)(1
Because of this equation 4, SRAD requires knowing homogeneous area from the image. This makes the entire system that we build is not completely automatic even though it is not complicated for the user to find homogeneous area from image. Finally by approximating time derivative with forward differencing, the equation 1 can be transformed into discrete form 4t t t (I +I t +I t +I t −4Ii,j 4 i+1,j i−1,j i,j+1 i,j−1 (5) We applied this method to fetal head ultrasound image with the image size of 350*250 pixels. The result of this implementation with the parameter of 300 iterations and 4t = 0.05 can be seen on Fig. 1.
t+4t t Ii,j = Ii,j +
III. D ETECTION M ETHOD
192
ICACSIS 2012
Fig. 1.
ISBN: 978-979-1421-15-7
SRAD speckle noise reduction for ultrasound image
algorithm for searching the minor axis first, and then search the rest of parameters. A. Ellipse Parameter To form any arbitrary ellipse, there are five parameters that is needed to know beforehand. They are the center point of the ellipse (x0 , y0 ), the orientation of the ellipse (α), and the major and minor axes of the ellipse (A, B). Usually we need a set of 5 edge pixels to calculate all parameters. Based on result from Xie et. al. [9], if we use additional information at each edge pixel and/or choose special pixels, we only require fewer pixels to determine the ellipse. The geometry model of an ellipse can be seen on Fig. 2
Fig. 2.
Ellipse geometry using minor axis
For each pair of pixels (x1 , y1 ) and (x2 , y2 ), we assume they are two vertices on the minor axis of an ellipse. From this assumption we can calculate four parameters for the assumed ellipse as following x0 = (x2 − x1 )/2 p
y0 = (y2 − y1 )/2
(x0 − x1 )2 + (y0 − y1 )2 p d = (x0 − x)2 + (y0 − y)2 p g = (x − x3 )2 + (y − y3 )2 y2 − y1 α = atan( ) x2 − x1
b=
(6) (7) (8) (9) (10) (11)
From equation 6, 7, 8, 9, and 10 we can compute the half on major axis (semi-major axis) using r b2 d2 sin2 θ (12) a= 2 b − d2 cos2 θ where, b2 + d 2 − g 2 cosθ = (13) 2bd B. Ellipse Detection Algorithm Based on the approach and formula that has been explained above, the complete algorithm for ellipse detection are the following 1) Store all edge pixels in one dimensional array. 2) Define several constraints to limit the search such as the minimum length of minor axis, the maximum length of major axis, and the maximum orientation of the ellipse from the y axis. 3) For each pixels (x1 , y1 ) in the array, do the following steps from (4) to (12). 4) For each other pixels (x2 , y2 ) in the array, calculate the distance between the fist pixel and the second pixel. If the length is greater than minimum length allowed for minor axis, these two pixels is accepted as possible pairs for minor axis. 5) Calculate the orientation α of the line formed by those two pixels from the y axis. If the degree is less than maximum α allowed, continue to the next step. Else, return to step 4. 6) From both of these pixels, calculate the center point (x0 , y0 ), orientation (α), and half length of minor axis (b) using formula explained above. 7) For a specified number of iteration N , pick one random pixel (x, y) from the list of edge pixels. Calculate g1 which is the length between (x, y) and (x1 , y1 ) and g2 which is the length between (x, y) and (x2 , y2 ). If either g1 or g2 length is less than b do the following step. Else, continue looping. 8) Using equation above,compute the half length of major axis (a). 9) Increment the accumulator for this length of a (voting). 10) If the number of iteration is less than N , continue looping. Else, go to step (11). 11) Find the maximum element in the accumulator array. The index of this value is the possible length of major axis of this ellipse. Save other configuration for this value (center point, alpha, and minor length). 12) Loop until all pairs of pixels is computed 13) draw the detected ellipse with best parameters on the original image. 14) End. IV. E XPERIMENT R ESULT The performance of our algorithm is demonstrated by testing it against synthetic and real images. For
193
ICACSIS 2012
ISBN: 978-979-1421-15-7
the synthetic images, we produced several scenario to test our algorithm. We created some images of perfect ellipse, ellipse with incompleteness in the left side of major axis, incompleteness at the right side, and at the both side of the ellipse. We also tilt the angle of the ellipse by some degree. The created images is also populated with salt noise. The experiment results shows that the ellipse can be detected with high precision. Table I shows the actual value of ellipse parameter in synthetic image and the output of our algorithm. The visual results of this experiment can be seen on Fig. 4, Fig. 5, and Fig. 6. For the experiment of real image, we processed it first using SRAD to remove speckle noise and then converting it into binary image. The output successfully approximate the annotation done by doctors for two out of three images. For the third image, however, the method has not been too successful in detecting the ellipse. The main reason for this is because the large number of noise that is failed to be removed using SRAD in the previous process. Fig. 3 shows the whole process from original image to ellipse estimation.
(a)
(b)
(c)
(d)
Fig. 4. Synthetic image used to test the algorithm, populated with salt noise. 4(a) ellipse1-noise-out. 4(b) ellipse1-l-noise. 4(c) ellipse1r-noise. 4(d) ellipse1-rl-noise.
TABLE I E XPERIMENT WITH SYNTHETIC IMAGES No 1a 2a 3a 4a 1b 2b 3b 4b 1c 2c 3c 4c
Image Actual Value ellipse1-noise ellips1-r-noise ellips1-l-noise ellips1-rl-noise Actual Value ellips2-noise ellips2-r-noise ellips2-l-noise ellips2-rl-noise Actual Value ellips3-noise ellips3-l-noise ellips3-r-noise ellips3-rl-noise
x0 120 121 118 118 119 120 119 119 119 119 120 120 120 120 120
y0 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100
α 0 3.58 0.89 0.89 0.89 15 13.60 13.60 13.60 13.60 65 65.85 65.85 65.85 65.85
a 90 88.00 88.00 88.00 88.00 90 89.00 89.00 89.00 89.00 90 89.00 89.00 89.00 89.00
b 65 64.12 64.01 64.01 64.01 65 63.79 63.79 63.79 63.79 65 63.56 63.56 63.56 63.56
(a)
(b)
(c)
(d)
Fig. 5. Synthetic image used to test the algorithm, populated with salt noise. 5(a) ellipse2-noise-out. 5(b) ellipse2-l-noise. 5(c) ellipse2r-noise. 5(d) ellipse2-rl-noise.
V. C ONCLUSIONS In this paper, we develop the method for performing fetal head detection on ultrasound images using ellipse approximation. Before the ultrasound images are able to be processed, we removed speckle noise using SRAD method. Afterwards, we did ellipse approximation process which is known as an efficient way to vote for the best ellipse parameter rather than standard Hough Transform method. This method was applied for synthetic images of ellipse with salt noise and fetal head on ultrasound images. The result shows that the algorithm is able to detect ellipse in images very well. Unfortunately, the proposed method was not able to detect ellipse in third image well because SRAD method was not able to remove speckle noise appropriately. Therefore, it caused the existence of large area which was not main object that caused algorithm was not able to give appropriate vote within ellipse parameters. For the next research, we intend to
combine this method with other preprocessing techniques and optimization algorithm to make it more robust and efficient. ACKNOWLEDGEMENT This work is supported by Grant of National Innovation System Intensive Research No. 06/M/Kp/I/2012 (RT-2012-1170) by the Ministry of Research and Technology, Republic of Indonesia. The researchers would also like to thank dr. Yudianto Budi Saroyo, SpOG and some Obgin doctors of Universitas Indonesia.
194
R EFERENCES [1] Statistics Indonesia (Badan Pusat Statistik BPS) and Macro International, Indonesia Demographic and Health Survey 2007. Calverton, Maryland, USA: BPS and Macro International, 2008.
ICACSIS 2012
ISBN: 978-979-1421-15-7
(a)
(b)
(c)
Fig. 3. Experiment result for the fetal Head on ultrasound images. 3(a) Original fetal head on ultrasound images before smooting using SRAD. 3(b) Images from SRAD method after converting to binary. 3(c) Experiment result for fetal head detection on ultrasound images using ellipse approximation.
(a)
(b)
(c)
(d)
Fig. 6. Synthetic image used to test the algorithm, populated with salt noise. 6(a) ellipse3-noise-out. 6(b) ellipse3-l-noise. 6(c) ellipse3r-noise. 6(d) ellipse3-rl-noise.
[2] V. a. Chakkarwar, M. S. Joshi, and P. S. Revankar, “Automated analysis of gestational sac in medical image processing,” in 2010 IEEE 2nd International Advance Computing Conference (IACC), Feb. 2010, pp. 304–309. [3] R. O. Duda and P. E. Hart, “Use of the hough transformation to detect lines and curves in pictures,” Graphic and Image
Processing, vol. 15, pp. 11–15, January 1972. [4] C. Y. Wong, S. C. F. Lin, T. R. Ren, and N. M. Kwok, “A survey on ellipse detection methods,” in IEEE International Symposium on Industrial Electronics (ISIE), may 2012, pp. 1105–1110. [5] P. Kultanen, L. Xu, and E. Oja, “Randomized hough transform (rht),” in International Conference on Pattern Recognition, January 1990, pp. 631–635. [6] N. Guil and E. L. Zapata, “Lower order circle and ellipse hough transform,” Pattern Recognition, vol. 30, pp. 1729– 1744, October 1997. [7] W. Lu and J. Tan, “Detection of incomplete ellipse in images with strong noise by iterative randomized hough transform (irht),” Pattern Recognition, vol. 41, pp. 1268–1279, 2008. [8] W. Lu, J. T. Tan, and R. Floyd, “Automated fetal head detection and measurement in ultrasound images by iterative randomized hough transform,” Ultrasound in Medicine and Biology, vol. 31, pp. 929–936, July 2005. [9] Y. Xie and Q. Ji, “A new efficient ellipse detection method,” Pattern Recognition, 2002. Proceedings. 16th, vol. 00, pp. 0–3, 2002. [Online]. Available: http://ieeexplore.ieee.org/xpls/abs all.jsp?arnumber=1048464 [10] A. Chia, M. Leung, H.-L. Eng, and S. Rahardja, “Ellipse detection with hough transform in one dimensional parametric space,” in Image Processing, 2007. ICIP 2007. IEEE International Conference on, 2007. [11] Y. Yu and S. T. Acton, “Speckle reducing anisotropic diffusion,” IEEE Transaction on Image Processing, vol. 11, no. 11, pp. 1260–70, January 2002. [Online]. Available: http://www.ncbi.nlm.nih.gov/pubmed/20879270
195