我一直认为图论+概率统计将会是图像处理的最终趋势,但我目前水平有限,稍微深入一点就很难理解,看各种论文也无法全面理解,偶然翻到这本书,觉得讲的非常好,特此进行分析,希望能尽快啃掉这本书。
我看书就按照书上给的顺序阅读吧,第一章主要讲的各种基本图像处理方法,像是个小前言,没啥值得看的,直接进入第二章——数学准备第一节:平面微分几何。
从一维实数域到二维实数域的映射: C ( p ) : [ a , b ] ∈ R → R 2 C(p):[a,b]\in R \rightarrow R^2 C(p):[a,b]∈R→R2定义了一条平面曲线, p p p为曲线的参数,即对任一 p ∈ [ a , b ] p\in[a,b] p∈[a,b]确定了曲线上的一个点 C ( p ) = ( x ( p ) , y ( p ) ) C(p)=(x(p),y(p)) C(p)=(x(p),y(p))。
这个其实也就是图像中二维曲线的定义, C ( p ) C(p) C(p)也就是个向量,因此这个曲线对 p p p的导数也是个向量, C p = ( x p , y p ) C_p=(x_p,y_p) Cp=(xp,yp),其方向为曲线的切线方向,模长就是 ∣ C p ∣ = ( x p 2 + y p 2 ) 1 / 2 |C_p|=(x_p^2+y_p^2)^{1/2} ∣Cp∣=(xp2+yp2)1/2。导数在这里也可以理解为曲线上的位置随着 p p p的增加的变化速率,因此 C p C_p Cp也就是速度矢量。
现在计算曲线从起点 p 0 = a p_0=a p0=a到 p p p点所经过的距离——弧长: s ( p ) = ∫ a p ∣ C p ( τ ) ∣ d τ s(p)=\int_{a}^{p}|C_p(\tau)|d\tau s(p)=∫ap∣Cp(τ)∣dτ,两边求导有 d s d p = ∣ C p ∣ \dfrac{ds}{dp}=|C_p| dpds=∣Cp∣。当我们利用弧长 s s s作为曲线的参数时,则有 ∣ C s ∣ = 1 |C_s|=1 ∣Cs∣=1,此处的 C s C_s Cs并不是直接把 C p C_p Cp中的 p p p换成 s s s, C s = ( x p , y p ) d p d s = ( x p , y p ) ( x p 2 + y p 2 ) 1 / 2 C_s=(x_p,y_p)\dfrac{dp}{ds}=\dfrac{(x_p,y_p)}{(x_p^2+y_p^2)^{1/2}} Cs=(xp,yp)dsdp=(xp2+yp2)1/2(xp,yp),这样 ∣ C s ∣ = 1 |C_s|=1 ∣Cs∣=1就很显然了,并 T : = C s T:=C_s T:=Cs。进而有 < C s , C s > = 1
定义与 T T T构成右手坐标系的单位矢量为法矢量 N N N,显然 C s s C_ss Css与 N N N共线,因此可以表达为 C s s = κ N C_{ss}=\kappa N Css=κN,其中比例系数 κ \kappa κ为曲率,这是一个数。当 C s s C_ss Css与 N N N平行时, κ \kappa κ为整数,否则为反平行时, κ \kappa κ为负数。(注:由于 N N N的方向是由 T T T按右手坐标系确定的,而 T T T的方向是参数增大的方向,它决定与曲线起点的规定。可见对于一条开放的曲线而言,曲率取正号或负号取决于曲线起点的规定,但对于闭合曲线而言,起点和终点在同一位置,不过这时仍可规定曲线的绕行方向,按照惯例规定逆时针绕行方向,于是N将指向闭合曲线内部,因而当曲线向外凸出时,曲率为正,否则为负。)
结合之前得到的 C s C_s Cs,计算 C s s C_{ss} Css, d C s d p = x p y p p − x p p y p ( x p 2 + y p 2 ) 3 / 2 ( − y p , x p ) \dfrac{dC_s}{dp}=\dfrac{x_py_{pp}-x_{pp}y_p}{(x_p^2+y_p^2)^{3/2}}(-y_p, x_p) dpdCs=(xp2+yp2)3/2xpypp−xppyp(−yp,xp),即可得 C s s C_{ss} Css。
C s s = d C s d p d p d s = x p y p p − x p p y p ( x p 2 + y p 2 ) 3 / 2 ⋅ ( − y p , x p ) ( x p 2 + y p 2 ) 1 / 2 C_{ss}=\dfrac{dC_s}{dp}\dfrac{dp}{ds} = \dfrac{x_py_{pp}-x_{pp}y_p}{(x_p^2+y_p^2)^{3/2}}\cdot \dfrac{(-y_p, x_p)}{(x_p^2+y_p^2)^{1/2}} Css=dpdCsdsdp=(xp2+yp2)3/2xpypp−xppyp⋅(xp2+yp2)1/2(−yp,xp)
即可得曲率的表达形式:
κ = x p y p p − x p p y p ( x p 2 + y p 2 ) 3 / 2 \kappa = \dfrac{x_py_{pp}-x_{pp}y_p}{(x_p^2+y_p^2)^{3/2}} κ=(xp2+yp2)3/2xpypp−xppyp
书中证明弧长和曲率,针对于旋转和平移,都是不改变的,这里就不进行证明了。记住弧长和曲率是旋转平移不变量即可。
对于平面封闭曲线,除了可以用上节的显示表示方法外,还有隐式表达法 C = { ( x , y ) , u ( x , y ) = c } C=\{(x,y), u(x,y)=c\} C={(x,y),u(x,y)=c},也就是说曲线 C C C是满足 u ( x , y ) = c u(x,y)=c u(x,y)=c的点集,这称为函数 u ( x , y ) u(x,y) u(x,y)的一个水平集,这时称 u ( x , y ) u(x,y) u(x,y)是曲线 C C C的嵌入函数 embedding function, c = 0 c=0 c=0时,称为零水平集。
如果在水平集的某一点 p p p沿水平集的切线方向对 u ( x , y ) u(x,y) u(x,y)求方向导数,则由于 u ( x , y ) u(x,y) u(x,y)沿水平集保持不变,则有 d u d T = ∂ u ∂ x c o s θ + ∂ u ∂ y s i n θ = 0 \dfrac{du}{dT}=\dfrac{\partial u}{\partial x}cos\theta+\dfrac{\partial u}{\partial y}sin\theta=0 dTdu=∂x∂ucosθ+∂y∂usinθ=0,其中 θ \theta θ表示切向量与x轴的夹角。可见, u ( x , y ) u(x,y) u(x,y)的梯度矢量 ▽ u : = ( ∂ u ∂ x , ∂ u ∂ y ) \bigtriangledown u:=\left(\dfrac{\partial u}{\partial x}, \dfrac{\partial u}{\partial y}\right) ▽u:=(∂x∂u,∂y∂u)与水平集的切向量垂直,而且梯度矢量总是指向 u u u增大的方向,因此水平集的单位法矢量可以表达为: N = ± ▽ u ∣ ▽ u ∣ N=\pm\dfrac{\bigtriangledown u}{|\bigtriangledown u|} N=±∣▽u∣▽u,如果 u ( x , y ) u(x,y) u(x,y)在零水平集内部取正值,外部负值时,规定 N = ▽ u ∣ ▽ u ∣ N=\dfrac{\bigtriangledown u}{|\bigtriangledown u|} N=∣▽u∣▽u,反之, N = − ▽ u ∣ ▽ u ∣ N=-\dfrac{\bigtriangledown u}{|\bigtriangledown u|} N=−∣▽u∣▽u。这样就使N总是指向封闭曲线的内部,从而与上面所述的闭合曲线法方向N的规定相一致。
在之后讨论曲线演化的水平集方法时,总是约定嵌入函数 u ( x , y ) u(x,y) u(x,y)的零水平集,并且规定在零水平集内部为负数,外部为正数,因此 N = − ▽ u ∣ ▽ u ∣ N=-\dfrac{\bigtriangledown u}{|\bigtriangledown u|} N=−∣▽u∣▽u,结合之前工作,即可计算水平集的曲率:
κ = u x x u y 2 − 2 u x u y u x y + u y y u x 2 ( u x 2 + u y 2 ) 3 / 2 \kappa=\dfrac{u_{xx}u_y^2-2u_xu_yu_{xy}+u_{yy}u_x^2}{(u_x^2+u_y^2)^{3/2}} κ=(ux2+uy2)3/2uxxuy2−2uxuyuxy+uyyux2
对于封闭曲线而言,具有如下全局性质:
(1) 圆是具有常数曲率的唯一封闭曲线
(2) 每一封闭曲线至少有4个顶点。所谓顶点是指在这些点曲率的一阶导数为0,显然按照这个定义,圆上每一点都是顶点。
(3) 封闭曲线的全部曲率为 2 π 2\pi 2π的整数倍,即 ∮ κ ( s ) d s = 2 π k \oint\kappa(s)ds=2\pi k ∮κ(s)ds=2πk。
(4) 周长不等式:记A和L分别为封闭曲线的面积和周长,那么有 L ⩾ 2 π A L\geqslant 2\sqrt{\pi A} L⩾2πA,仅当封闭曲线是圆时,上式等号成立。
当前文档是为了学习水平集相关方法而学的一些基础定义与理论,后续会不断地根据需要的知识对当前基础知识进行扩展和补充。