首页 > 代码库 > 图像处理系列(1):测地线动态轮廓(geodesic active contour)
图像处理系列(1):测地线动态轮廓(geodesic active contour)
动态轮廓是图像分割的一个热点,从早期的snake,就有很多的优化版,测地线动态轮廓(GAC)就是其中之一。总体来说,其摒弃了snake对参数的依赖,并加入了水平集,使得轮廓曲线更贴近目标物的拓扑结构。
经典的动态轮廓模型(activecontour model)的能量公式为:
(1)
其中,α,β,λ为正值常量。其中前两项控制曲线的平滑度,第三项吸引曲线向物体边界靠近。极小化该E(C)能量函数得到分割轮廓。VICENT(参考1)指出第二项有无对分割结果影响不大(即β=0)。而最大化第三项,也是最小化g(|▽I|)2 。
则简化为:
(2)
其中,
根据一系列的黎曼积分定理的推导(参见1和2),将(2)式转换为:
(3)
为了求解上式,采用梯度下降法,详细推导参见1(附B),有
(4)
其中,上式加入水平集后的GAC为:
水平集{μ:μ(t)=k}表示闭合的曲线C
(5)
其中,c为常数, k是曲率, N是曲线的标准法向量
且 N= -(▽μ/|▽μ|)
整体来说:
GAC模型借用了水平集,结合经典的active contour 模型,以图像的梯度为驱动力,在图像梯度最大处,达到收敛。其解决了传统的AC不能处理变形过程中拓扑的变化,如不能处理多物体检测,以及需要对参数的预设置等问题。但是,其在处理模糊图像,或者纹理图像时,效果还是不理想。
参考:
1. Geodesic Active Contours(VICENT)
1. 函数列的黎曼积分极限定理的应用
2. Geodesic Active Contours (Waterloo)
3. 局部熵驱动的GAC模型在生物医学图像分割中的应用(对于驱动力的更换有思考)