<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JSEA</journal-id><journal-title-group><journal-title>Journal of Software Engineering and Applications</journal-title></journal-title-group><issn pub-type="epub">1945-3116</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jsea.2013.64022</article-id><article-id pub-id-type="publisher-id">JSEA-30236</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  An Improved Algorithm Based on the GVF-Snake for Effective Concavity Edge Detection
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>engmeng</surname><given-names>Zhang</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Qianqian</surname><given-names>Li</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Lei</surname><given-names>Li</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Peirui</surname><given-names>Bai</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>College of Information and Electrical Engineering, Shandong University of Science and Technology, Qingdao, China</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>bprbjd@163.com(PB)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>25</day><month>04</month><year>2013</year></pub-date><volume>06</volume><issue>04</issue><fpage>174</fpage><lpage>178</lpage><history><date date-type="received"><day>January</day>	<month>18th,</month>	<year>2013</year></date><date date-type="rev-recd"><day>February</day>	<month>12th,</month>	<year>2013</year>	</date><date date-type="accepted"><day>February</day>	<month>21st,</month>	<year>2013</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
   Image segmentation is an important research area in Computer Vision and the GVF-snake is an effective segmentation algorithm presented in recent years. Traditional GVF-snake algorithm has a large capture range and can deal with boundary concavities. However, when interesting object has deep concavities, traditional GVF-snake algorithm can’t converge to true boundaries exactly. In this paper, a novel improved scheme was proposed based on the GVF-snake. The central idea is introduce dynamic balloon force and tangential force to strengthen the static GVF force. Experimental results of synthetic image and real image all demonstrated that the improved algorithm can capture boundary concavities better and detect complex edges more accurately.
     
 
</p></abstract><kwd-group><kwd>Image Segmentation; the GVF-Snake; Boundary Concavities; Balloon Force; Tangential Force</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Active contours model, a tracking method using active curves or surfaces, has been proposed in recent years. It can integrate edge and region information and has been widely used in image segmentation field. The most widely used active contours model include snakes and level set [<xref ref-type="bibr" rid="scirp.30236-ref1">1</xref>]. Snakes were firstly introduced by Kass and its basic idea is to make the initial closed curve (i.e. a sequence of discrete points) converge to the desired edge by minimizing the energy functional [<xref ref-type="bibr" rid="scirp.30236-ref2">2</xref>]. However, the classical snakes have three main disadvantages. The first is topological structure of the curves can’t change flexibly. Secondly, the initial curve only converges steadily when it lies close to the desired edge. Thirdly, it is not easy to handle boundary concavities. To solve the first problem, McInerney et al. proposed T-snake which not only maintains strong interactivity of the classical snakes but also improves the changing ability of topological structure [<xref ref-type="bibr" rid="scirp.30236-ref3">3</xref>]. Sun et al. introduced adaptive filters to T-snake so that it can deal with several interlaced objects [<xref ref-type="bibr" rid="scirp.30236-ref4">4</xref>]. Zagorchev et al. proposed R-snake based on rotating Gaussian curve [<xref ref-type="bibr" rid="scirp.30236-ref5">5</xref>]. R-snake is capable of changing the curve’s rigidityso object’s shape could be reconstructed smoothly. To the second problem, Cohen et al. has proposed the balloon snake [<xref ref-type="bibr" rid="scirp.30236-ref6">6</xref>] and the distance snake [<xref ref-type="bibr" rid="scirp.30236-ref7">7</xref>]. Both of them increase the capture range of external force field and make the placing of initial curve easy. To the third problem, Xu et al. has introduced the GVF-snake which not only enlarges capture range but also can deal with boundary concavities [<xref ref-type="bibr" rid="scirp.30236-ref8">8</xref>]. Luo et al. presented an additional balloon force to the GVF-snake to prevent the active curve from trapping into local minima [<xref ref-type="bibr" rid="scirp.30236-ref9">9</xref>]. Zhu proposed a nonlinear filtering on GVF force field to further enlarge capture range [<xref ref-type="bibr" rid="scirp.30236-ref10">10</xref>]. Although the GVF-snake has large capture range and considerable ability to handle boundary concavities, it is difficult to realize accurate segmentation when detecting complex shape object with deep concavities. Accordingly, we introduce dynamic balloon force and tangential force to strengthen the static GVF force, and it is found that the capability of capturing concave edges enhanced effectively.</p></sec><sec id="s2"><title>2. Principles and Methods</title><sec id="s2_1"><title>2.1. The GVF-Snake</title><p>Let<img src="3-70079\b03d93fd-70d3-40e1-9f3e-8ae81f40d449.jpg" />, <img src="3-70079\808ef050-f2cd-4040-ab74-ec294ba6b8e9.jpg" />represents a curve in image, s is the regularized arc length. The energy function of the snake is as follows:</p><disp-formula id="scirp.30236-formula83307"><label>(1)</label><graphic position="anchor" xlink:href="3-70079\ab304096-3f40-4c47-bb20-f415fe54ecea.jpg"  xlink:type="simple"/></disp-formula><p>where <img src="3-70079\430fe8d5-df9a-456d-af58-d68353e40d06.jpg" /> and <img src="3-70079\b625b118-208c-4472-88dd-da7c68ee5f32.jpg" /> denote the first and second derivatives of X(s) with respect to s, α and β are weighting parameters that control smoothness and tautness of the snake respectively. External energy <img src="3-70079\70955f20-88e6-47a6-99bf-86ff152deaf3.jpg" /> is used for moving the snake towards edges or other interesting features. To minimize the energy function, the energy Equation (1) can deduce to the force-balance equation using the calculus of variations, i.e. the Euler equation is as follows:</p><disp-formula id="scirp.30236-formula83308"><label>(2)</label><graphic position="anchor" xlink:href="3-70079\00621184-e9bf-47a2-a50b-b37fe52c6a68.jpg"  xlink:type="simple"/></disp-formula><p>The former two terms represent the internal force F<sub>int</sub> and the negative gradient of a potential function represents the external force F<sub>ext</sub>. When the internal force and the external force reach their balance, the energy functional converges to its minima.</p><p>The main difference between the GVF-snake and the classical snake model lies on the different external forces. For the GVF-snake, the external force F<sub>ext</sub> is replaced by the gradient vector flow<img src="3-70079\8f65dc53-7413-4915-aebf-184255ae877b.jpg" />, where <img src="3-70079\b82d0fee-dd57-454f-8d00-b26e5558ce9f.jpg" /> is achieved by minimizing the following energy function:</p><disp-formula id="scirp.30236-formula83309"><label>(3)</label><graphic position="anchor" xlink:href="3-70079\26777d1b-8aa2-46e9-b92c-99c78b0a8c10.jpg"  xlink:type="simple"/></disp-formula><p>where, <img src="3-70079\bdad7278-b635-41f4-8f3c-38e73cf12a8f.jpg" />denotes the gradient of edge map and μ is a weighting parameter. μ should choose a large value when the image is noisy. When <img src="3-70079\cf55b52a-3302-4abb-aba3-8001f47601e9.jpg" /> is small, the energy is dominated by the first partial derivatives, so it is a slowly-varying field. When <img src="3-70079\79eb51df-179f-4071-a728-4759917df9b7.jpg" /> is large, the second term dominates the energy and energy minima can be achieved by setting<img src="3-70079\64252e4e-38e2-4c64-b56e-65ed520fc01e.jpg" />.</p><p>In order to minimize the energy of Equation (3), it must satisfy the following Euler equation:</p><disp-formula id="scirp.30236-formula83310"><label>(4)</label><graphic position="anchor" xlink:href="3-70079\12c62fb5-b49e-45b0-b09f-60f71c1b0d79.jpg"  xlink:type="simple"/></disp-formula><disp-formula id="scirp.30236-formula83311"><label>(5)</label><graphic position="anchor" xlink:href="3-70079\13f7603e-5942-45ca-b9bb-af570d3ac89b.jpg"  xlink:type="simple"/></disp-formula><p>where <img src="3-70079\72cd35a2-370e-4dcc-8b80-0e43a30e4bf0.jpg" />is the Laplacian operator. In homogeneous regions, both f<sub>x</sub> and f<sub>y</sub> are zero. In this case, u and v are dominated by Laplacian equation. Within the boundary regions, the snake mainly performs a “filling in” property. We can get <img src="3-70079\3b4b1319-d59d-4ef3-a74b-61b3b662dbbd.jpg" /> from Equation (3) and set X as function of time X(s,t), the dynamic equation is obtained as follows:</p><disp-formula id="scirp.30236-formula83312"><label>(6)</label><graphic position="anchor" xlink:href="3-70079\f7f3e509-d5ae-4ac3-a3d6-3868837af8da.jpg"  xlink:type="simple"/></disp-formula><p>where V represents static GVF force, <img src="3-70079\e524339c-094e-4914-b75b-35b79d62969f.jpg" />is a weighting parameter. When <img src="3-70079\dde1708f-0eea-4b41-a1cd-2523cd4b7f00.jpg" /> is equal to zero, stable solution of the GVF-snake is achieved.</p></sec><sec id="s2_2"><title>2.2. The Improved GVF-Snake</title><p>The GVF-snake can’t converge to deep boundary concavities accurately, so we propose to design dynamic balloon force and tangential force to strengthen the GVF force to improve the capture ability of desired edges. To demonstrate the effect of the additional forces, <xref ref-type="fig" rid="fig1">Figure 1</xref> shows external forces field of the traditional snake, the GVF-snake and the improved GVF-snake, respectively.</p><p>In <xref ref-type="fig" rid="fig1">Figure 1</xref>, the circle denotes the desired edge and the arrow denotes the force direction. The curve denotes the active contour and the point on the curve denotes control point. It can be seen that force field of the traditional snake is narrow and very close to the desired edge.</p><p>The force field of the GVF-snake showed in <xref ref-type="fig" rid="fig1">Figure 1</xref>(b) can effectively enlarge capture range throughout the whole image. Therefore, the GVF-snake can overcome the initialization problem related to the traditional snake. The improved GVF-snake is considered to combine the static GVF force field and two kinds of dynamic forces which are showed in <xref ref-type="fig" rid="fig1">Figure 1</xref>(c). The balloon force is used to increase capture range and converging speed of snake, and the tangential force is used to make the snake converge to boundary concavities better.</p><p>It is noted that the proposed balloon force and tangential force can change their affect area adaptively. The value of each control point is replaced by the average value of its nine surrounding pixels. It indicates that the control point denoted by squared point is far away from the desired edge when the averaged value is smaller than the given threshold T. In this case, the balloon force pulls snake towards the edge. When the averaged value is bigger than T, it means this control point is close to the edges. In this case, the tangential force is used to approach the edge. At the same time, it can prevent the snake from breaking through weak edges.</p><p>If T is choose too large, the balloon force is still affecting nearby the desired edge while the capture range of the tangential force becomes smaller, and it is difficult to avoid boundary leakage. If T is too small, only the tangential force is affected near to the edges, and the snake is hard to converge to deep concave boundary. So the value of threshold T is advised to 0.2 ~ 0.5.</p><p>The force balance equation of the improved GVFsnake can be expressed as follows:</p><disp-formula id="scirp.30236-formula83313"><label>(7)</label><graphic position="anchor" xlink:href="3-70079\7998a149-8f61-4ef9-81da-218a28d15904.jpg"  xlink:type="simple"/></disp-formula><p>where F<sub>int</sub> represents the internal force, <img src="3-70079\1b5ef4ac-7a46-48c5-a158-b62a4f472ce6.jpg" />represents the GVF force, <img src="3-70079\3d48ca52-8d73-40e3-9fd2-bc3c1b9ccbff.jpg" />represents the balloon force, <img src="3-70079\40d8b9b7-53c6-47e1-a7c5-211d857f0814.jpg" />represents the tangential force. They are defined respectively as follows:</p><disp-formula id="scirp.30236-formula83314"><label>(8)</label><graphic position="anchor" xlink:href="3-70079\d43dddd5-17b5-40e5-beed-0feecc1731db.jpg"  xlink:type="simple"/></disp-formula><p>where<img src="3-70079\60059f17-546c-4532-905b-12a8adc17f52.jpg" />, <img src="3-70079\43d66c59-66d4-42f0-a338-891978dab45f.jpg" />and <img src="3-70079\9f34b5ae-4868-496f-bc7e-36e4c912b4cf.jpg" /> are weighting parameters of the GVF force, the balloon force and the tangential force respectively. N(x,y) represents outward unit normal vector. When the active contour lies inward the desired edge, sign(n) &gt; 0 and the active contour inflates. When the active contour lies outward the desired edge, sign(n) &lt; 0 and the active contour deflates. <img src="3-70079\edbcd521-eff0-45e8-b1ec-73b70d409731.jpg" />represents the unit tangential force. Sign(q) is obtained by computing the inner product of <img src="3-70079\41c4bc32-fd0e-4e26-bdf6-7a8fa56b0f19.jpg" /> and<img src="3-70079\36376720-e3bf-4d1a-972d-39207085396d.jpg" />:</p><disp-formula id="scirp.30236-formula83315"><label>(9)</label><graphic position="anchor" xlink:href="3-70079\8d720e07-31a4-4766-85a9-6b3c63d9c077.jpg"  xlink:type="simple"/></disp-formula><p>where θ is the angle between <img src="3-70079\412f4000-1d76-45fa-ba86-4af86c3856f0.jpg" /> and<img src="3-70079\39745379-265d-47db-bb1e-3aecaa2d8af0.jpg" />. If θ lies in<img src="3-70079\fea1e5d9-17ba-45d4-83fd-d4db06503d03.jpg" />, <img src="3-70079\2893092d-65ea-4c68-b5b4-c4e70dd9a670.jpg" />and it indicates the two vectors are inconsistent. It is necessary to negate the tangential vector to ensure the snake converging normally. If θ lies in <img src="3-70079\ef963b59-6620-4393-ba2b-d370ee3f8a3e.jpg" /> or<img src="3-70079\539e1702-5650-4787-8e54-873c02f4fa38.jpg" />,<img src="3-70079\809085ee-5296-4131-913f-18fff58d4a36.jpg" />. It indicates that the two vectors are consistent and the direction of tangential vector needn’t change. Accordingly, <img src="3-70079\cbb3f89a-0264-4269-b61b-f0438180f3fc.jpg" />can be expressed as follows:</p><disp-formula id="scirp.30236-formula83316"><label>(10)</label><graphic position="anchor" xlink:href="3-70079\db6f1976-e609-40aa-90c8-79c3d7d41fc5.jpg"  xlink:type="simple"/></disp-formula><p>then, Equation (7) can be expressed as follows:</p><disp-formula id="scirp.30236-formula83317"><label>(11)</label><graphic position="anchor" xlink:href="3-70079\0cd0d5e1-22c8-4b9d-acf6-921fb54a2766.jpg"  xlink:type="simple"/></disp-formula><p>Therefore, the improved GVF-snake is expressed as follows:</p><disp-formula id="scirp.30236-formula83318"><label>(12)</label><graphic position="anchor" xlink:href="3-70079\5fd8ae32-d411-4203-8c46-783a47764c6f.jpg"  xlink:type="simple"/></disp-formula><p>Equation (12) can be quantized and expressed using matrix formation as follows:</p><disp-formula id="scirp.30236-formula83319"><label>(13)</label><graphic position="anchor" xlink:href="3-70079\8933177c-b2f0-4b06-9f79-a832b9e5d98e.jpg"  xlink:type="simple"/></disp-formula><p>where γ is temporal step-size.</p></sec></sec><sec id="s3"><title>3. Experiments and Results</title><p>Experiments were designed to compare segmentation performance of the GVF-snake and the improved GVFsnake. All computation is done under the environment of computer X42J (ASUS Inc.). CPU is 2.00 GHz and RAM is 2 GB. Operation system is Windows XP-SP3 and the programming tool is MATLAB 7.0.</p><p><xref ref-type="fig" rid="fig2">Figure 2</xref> shows a U-shape test image U64.pgm along with an initial circle curve. Image size is 64 &#215; 64. <xref ref-type="fig" rid="fig3">Figure 3</xref>(a) shows segmentation procedure of the GVF-snake with maximum iteration number set as 80. <xref ref-type="fig" rid="fig3">Figure 3</xref>(b) shows similar segmentation procedure of the improved GVF-snake with same computing parameters as in <xref ref-type="fig" rid="fig3">Figure 3</xref>(a) i.e. α = 0.05, β = 0, γ = 1, μ = 0.2, κ<sub>1</sub> = 0.6, κ<sub>2</sub> = −0.15, κ<sub>3</sub> = 0.2, T = 0.3. It can be seen that the improved GVF-snake converge towards the boundary concavities faster than the GVF-snake with 80 iterations. The reason is that the GVF-snake is driven only by the GVF force, while the improved GVF-snake is driven by a combination of balloon force, tangential force and GVF force. Figures 3(c) and (d) show the segmentation results of the GVF-snake and the improved GVF-snake at 125 iterations respectively. For convenient comparison, the boundary concavities section denoted by the rectangle in Figures 3(c) and (d) are zoomed in as shown in Figures 3(e) and (f). It can be seen clearly that the former snake can’t converge to the deep boundary concavity well, while the latter snake converges to the deep boundary concavity more exactly. So, the improved GVF-snake proposed in this paper not only converges to boundary concavity faster than the GVF-snake but also its capture capacity of deep concave edges is also better than the classical GVF-snake.</p><p><xref ref-type="fig" rid="fig4">Figure 4</xref> shows a left clavicle image clavicle.bmp along with an initial manual curve. Image size is 269 &#215; 210. Figures 5(a) and (b) show the results of 200 iterations of the GVF-snake and the improved GVF-snake respectively. The computing parameters are same i.e. α = 0.05, β = 0, γ = 1, μ = 0.2, κ<sub>1</sub> = 0.6, κ<sub>2</sub> = 0.25, κ<sub>3</sub> = 0.5, T = 0.3. It can be seen from <xref ref-type="fig" rid="fig5">Figure 5</xref>(a) that the GVF-snake didn’t converge to the thin concave boundary exactly at</p></sec></body><back><ref-list><title>References</title><ref id="scirp.30236-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">L. He, Z. G. Peng, B. Everding, et al., “A Comparative Study of Deformable Contour Methods on Medical Image Segmentation,” Image and Vision Computing, Vol. 26, No. 2, 2008, pp. 141-163.  
doi:10.1016/j.imavis.2007.07.010</mixed-citation></ref><ref id="scirp.30236-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">M. Kass, A. Witkin and D. Terzopoulos, “Snakes: Active Contour Models,” International Journal of Computer Vision, Vol. 22, No. 1, 1988, pp. 321-331.</mixed-citation></ref><ref id="scirp.30236-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">T. McInerney and D. Terzopoulos, “T-Snakes: Topology Adaptive Snakes,” Medical Image Analysis, Vol. 4, No. 2, 2000, pp. 73-91. doi:10.1016/S1361-8415(00)00008-6</mixed-citation></ref><ref id="scirp.30236-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">F. R. Sun, Z. Liu, Y. L. Li, et al., “Improved T-Snake Model Based Edge Detection of the Coronary Arterial Walls in Intravascular Ultrasound Images,” The 3rd International Conference on Bioinformatics and Biomedical Engineering (iCBBE2009), Beijing, June 2009, pp. 1-4.</mixed-citation></ref><ref id="scirp.30236-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">L. Zagorchev, A. Goshtasby and M. Satter, “R-Snakes,” Image and Vision Computing, Vol. 25, No. 6, 2007, pp. 945-959. doi:10.1016/j.imavis.2006.07.008</mixed-citation></ref><ref id="scirp.30236-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">L. D. Cohen, “On Active Contour Models and Balloons,” CVGIP: Image Understand, Vol. 53, No. 2, 1991, pp. 211-218.</mixed-citation></ref><ref id="scirp.30236-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">L. D. Cohen and I. Cohen, “Finite-Element Methods for Active Contour Models and Balloons for 2D and 3D Images,” IEEE Transaction on Pattern Analysis and Machine Intelligence, Vol. 15, No. 11, 1993, pp. 1131-1147.  
doi:10.1109/34.244675</mixed-citation></ref><ref id="scirp.30236-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">C. Y. Xu and J. L. Prince, “Snakes, Shapes, and Gradient Vector Flow,” IEEE Transaction on Image Processing, Vol. 7, No. 3, 1998, pp. 359-369. doi:10.1109/83.661186</mixed-citation></ref><ref id="scirp.30236-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">S. Luo and R. Li, “A New Deformable Model Using Dynamic Gradient Vector Flow and Adaptive Balloon Forces,” APRS Workshop on Digital Image Computing, Brisbane, 2003, pp. 9-14.</mixed-citation></ref><ref id="scirp.30236-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">X. J. Zhu, P. F. Zhang, J. H. Shao, et al., “A Snake-Based Method for Segmentation of Intravascular Ultrasound Images and Its in Vivo Validation,” Ultrasonics, Vol. 51, No. 2, 2011, pp. 181-189.  
doi:10.1016/j.ultras.2010.08.001</mixed-citation></ref></ref-list></back></article>