啃書:圖像處理的偏微分方程方法(1) —— 數學準備:平面微分幾何

我一直認爲圖論+概率統計將會是圖像處理的最終趨勢,但我目前水平有限,稍微深入一點就很難理解,看各種論文也無法全面理解,偶然翻到這本書,覺得講的非常好,特此進行分析,希望能儘快啃掉這本書。

我看書就按照書上給的順序閱讀吧,第一章主要講的各種基本圖像處理方法,像是個小前言,沒啥值得看的,直接進入第二章——數學準備第一節:平面微分幾何。

1 平面曲線的微分性質

從一維實數域到二維實數域的映射:C(p):[a,b]RR2C(p):[a,b]\in R \rightarrow R^2定義了一條平面曲線,pp爲曲線的參數,即對任一p[a,b]p\in[a,b]確定了曲線上的一個點C(p)=(x(p),y(p))C(p)=(x(p),y(p))

這個其實也就是圖像中二維曲線的定義C(p)C(p)也就是個向量,因此這個曲線對pp的導數也是個向量,Cp=(xp,yp)C_p=(x_p,y_p),其方向爲曲線的切線方向,模長就是Cp=(xp2+yp2)1/2|C_p|=(x_p^2+y_p^2)^{1/2}。導數在這裏也可以理解爲曲線上的位置隨着pp的增加的變化速率,因此CpC_p也就是速度矢量。

現在計算曲線從起點p0=ap_0=app點所經過的距離——弧長:s(p)=apCp(τ)dτs(p)=\int_{a}^{p}|C_p(\tau)|d\tau,兩邊求導有dsdp=Cp\dfrac{ds}{dp}=|C_p|。當我們利用弧長ss作爲曲線的參數時,則有Cs=1|C_s|=1,此處的CsC_s並不是直接把CpC_p中的pp換成ssCs=(xp,yp)dpds=(xp,yp)(xp2+yp2)1/2C_s=(x_p,y_p)\dfrac{dp}{ds}=\dfrac{(x_p,y_p)}{(x_p^2+y_p^2)^{1/2}},這樣Cs=1|C_s|=1就很顯然了,並T:=CsT:=C_s。進而有<Cs,Cs>=1<C_s,C_s>=1,其導數<Cs,Css>=0<C_s,C_{ss}>=0,即向量CssC_{ss}CsC_s正交。

定義與TT構成右手座標系的單位矢量爲法矢量NN,顯然CssC_ssNN共線,因此可以表達爲Css=κNC_{ss}=\kappa N,其中比例係數κ\kappa爲曲率,這是一個數。當CssC_ssNN平行時,κ\kappa爲整數,否則爲反平行時,κ\kappa爲負數。(注:由於NN的方向是由TT按右手座標系確定的,而TT的方向是參數增大的方向,它決定與曲線起點的規定。可見對於一條開放的曲線而言,曲率取正號或負號取決於曲線起點的規定,但對於閉合曲線而言,起點和終點在同一位置,不過這時仍可規定曲線的繞行方向,按照慣例規定逆時針繞行方向,於是N將指向閉合曲線內部,因而當曲線向外凸出時,曲率爲正,否則爲負。)

結合之前得到的CsC_s,計算CssC_{ss}dCsdp=xpyppxppyp(xp2+yp2)3/2(yp,xp)\dfrac{dC_s}{dp}=\dfrac{x_py_{pp}-x_{pp}y_p}{(x_p^2+y_p^2)^{3/2}}(-y_p, x_p),即可得CssC_{ss}

Css=dCsdpdpds=xpyppxppyp(xp2+yp2)3/2(yp,xp)(xp2+yp2)1/2C_{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}}

即可得曲率的表達形式:
κ=xpyppxppyp(xp2+yp2)3/2\kappa = \dfrac{x_py_{pp}-x_{pp}y_p}{(x_p^2+y_p^2)^{3/2}}

書中證明弧長和曲率,針對於旋轉和平移,都是不改變的,這裏就不進行證明了。記住弧長和曲率是旋轉平移不變量即可。

2 平面封閉曲線的水平集表示方法

對於平面封閉曲線,除了可以用上節的顯示錶示方法外,還有隱式表達法C={(x,y),u(x,y)=c}C=\{(x,y), u(x,y)=c\},也就是說曲線CC是滿足u(x,y)=cu(x,y)=c的點集,這稱爲函數u(x,y)u(x,y)的一個水平集,這時稱u(x,y)u(x,y)是曲線CC的嵌入函數 embedding function,c=0c=0時,稱爲零水平集。

如果在水平集的某一點pp沿水平集的切線方向對u(x,y)u(x,y)求方向導數,則由於u(x,y)u(x,y)沿水平集保持不變,則有dudT=uxcosθ+uysinθ=0\dfrac{du}{dT}=\dfrac{\partial u}{\partial x}cos\theta+\dfrac{\partial u}{\partial y}sin\theta=0,其中θ\theta表示切向量與x軸的夾角。可見,u(x,y)u(x,y)的梯度矢量u:=(ux,uy)\bigtriangledown u:=\left(\dfrac{\partial u}{\partial x}, \dfrac{\partial u}{\partial y}\right)與水平集的切向量垂直,而且梯度矢量總是指向uu增大的方向,因此水平集的單位法矢量可以表達爲:N=±uuN=\pm\dfrac{\bigtriangledown u}{|\bigtriangledown u|},如果u(x,y)u(x,y)在零水平集內部取正值,外部負值時,規定N=uuN=\dfrac{\bigtriangledown u}{|\bigtriangledown u|},反之,N=uuN=-\dfrac{\bigtriangledown u}{|\bigtriangledown u|}。這樣就使N總是指向封閉曲線的內部,從而與上面所述的閉合曲線法方向N的規定相一致。

在之後討論曲線演化的水平集方法時,總是約定嵌入函數u(x,y)u(x,y)的零水平集,並且規定在零水平集內部爲負數,外部爲正數,因此N=uuN=-\dfrac{\bigtriangledown u}{|\bigtriangledown u|},結合之前工作,即可計算水平集的曲率:

κ=uxxuy22uxuyuxy+uyyux2(ux2+uy2)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}}

3 平面曲線的全局性質

對於封閉曲線而言,具有如下全局性質:

(1) 圓是具有常數曲率的唯一封閉曲線
(2) 每一封閉曲線至少有4個頂點。所謂頂點是指在這些點曲率的一階導數爲0,顯然按照這個定義,圓上每一點都是頂點。
(3) 封閉曲線的全部曲率爲2π2\pi的整數倍,即κ(s)ds=2πk\oint\kappa(s)ds=2\pi k
(4) 周長不等式:記A和L分別爲封閉曲線的面積和周長,那麼有L2πAL\geqslant 2\sqrt{\pi A},僅當封閉曲線是圓時,上式等號成立。

總結

當前文檔是爲了學習水平集相關方法而學的一些基礎定義與理論,後續會不斷地根據需要的知識對當前基礎知識進行擴展和補充。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章