donzelinho

曲线曲率到图像曲率(水平集函数\(\phi\))

图像曲率公式的推导:从曲线曲率公式--图像曲率公式

1. 曲线曲率公式

从曲线的角度求解图像曲率公式,

\[\kappa = \frac{f^{\'\'}}{(1+f^{\'2})^{3/2}} \quad \text{(1)} \]

如果以\(y=f(x)\)形式表示零水平集曲线\(\phi(x,y)=0\)

\[\nabla_x \phi(x,f(x)) = \frac{d\phi}{dx} \frac{dx}{dx} + \frac{d{\phi}}{d(f(x))} \frac{df(x)}{dx} = 0 \quad \\ \nabla_x\phi = \phi_x + \phi_y \frac{dy}{dx}=0 \quad \text{(2)} \]

即有

\[f^{\'}=\frac{dy}{dx}=-\frac{\phi_x}{\phi_y} \quad \text{(3)} \\ f^{\'}+\frac{\phi_x}{\phi_y}=0 \quad \text{(4)} \\ (1+f^{\'2})^{3/2} = \left(1 + (-\frac{\phi_x}{\phi_y})^2 \right)^{3/2} =\frac{|\nabla \phi|^3}{(\phi_y)^3} \quad \text{(5)} \]

对(3)式继续求导,

\[f^{\'\'} = \frac{(\phi_{x})_x\phi_y - \phi_x(\phi_{y})_x}{(\phi_y)^2}\\(\phi_x)_x = \phi_{xx} + \phi_{xy} \cdot -\frac{\phi_x}{\phi_y}\\(\phi_y)_x = \phi_{yx} + \phi_{yy} \cdot -\frac{\phi_x}{\phi_y}\\ \]

\[\begin{aligned} (\phi_x)_x \phi_y - \phi_x(\phi_{y})_x &= (\phi_{xx} + \phi_{xy} \cdot -\frac{\phi_x}{\phi_y}) \phi_y - (\phi_{yx} + \phi_{yy} \cdot -\frac{\phi_x}{\phi_y}) \phi_x\\&=\frac{\phi_{xx}(\phi_y)^2 - \phi_{xy}\phi_x\phi_y}{\phi_y} + \frac{-\phi_{yx}\phi_y\phi_x + \phi_{yy}(\phi_x)^2 }{\phi_y}\\&= \frac{\phi_{xx}(\phi_y)^2 - 2\phi_{xy}\phi_x\phi_y + \phi_{yy}(\phi_x)^2}{\phi_y}\end{aligned} \]

\[f^{\'\'} = \frac{\phi_{xx}(\phi_y)^2 - 2\phi_{xy}\phi_x\phi_y + \phi_{yy}(\phi_x)^2}{(\phi_y)^3} \quad \text{(6)} \]

将(5),(6)带入(1)式,

\[\kappa = \frac{f^{\'\'}}{(1+f^{\'2})^{3/2}} = \frac{\phi_{xx}(\phi_y)^2 - 2\phi_{xy}\phi_x\phi_y + \phi_{yy}(\phi_x)^2}{|\nabla\phi|^3} \]

2. 图像曲率

水平集函数\(\phi\)\(\kappa\)的关系:\(\kappa = div(\frac{\nabla \phi}{|\nabla \phi|})\)

\[\nabla\phi = \phi_x \cdot \vec{i} + \phi_y \cdot \vec{j} = 0 \]

\[\begin{aligned}div(\frac{\nabla \phi}{|\nabla \phi|}) &= (\frac{\partial}{\delta x} \cdot \vec{i} + \frac{\partial}{\delta y} \cdot \vec{j})(\overline{\phi_x} \cdot \vec{i} + \overline{\phi_y} \cdot \vec{j})\\&= (\overline{\phi_{x}})_x + (\overline{\phi_{y}})_y \quad \text{(7)}\end{aligned} \]

其中\(\vec{i}\)\(\vec{j}\)分别是x轴和y轴方向的单位矢量。

其中,

\[\overline{\phi_x} = \frac{\phi_x}{|\nabla \phi|} = \frac{\phi_x}{(\phi_x^2 + \phi_y^2)^{1/2}}\\(\overline{\phi_x})_x = \frac{\phi_{xx}|\nabla \phi| - \phi_x(|\nabla \phi|)_x}{|\nabla \phi|^2}\\\phi_x(|\nabla \phi|)_x = \phi_x \cdot \frac{1}{2}(\phi_x^2+\phi_y^2)^{-1/2} \cdot 2(\phi_x\phi_{xx} + \phi_y\phi_{yx}) = |\nabla \phi|^{-1}(\phi_x\phi_{xx}+\phi_y\phi_{yx})\phi_x\\(\overline{\phi_x})_x = |\nabla \phi|^{-3}(|\nabla\phi|^2\phi_{xx} - (\phi_x\phi_{xx}+\phi_y\phi_{yx})\phi_x) \quad \text{(8)} \]

同理,

\[(\overline{\phi_y})_y = |\nabla \phi|^{-3}(|\nabla\phi|^2\phi_{yy} - (\phi_y\phi_{yy}+\phi_x\phi_{xy})\phi_y) \quad \text{(9)} \]

将(8),(9)代入(7)有:

\[div(\frac{\nabla \phi}{|\nabla \phi|}) = (\overline{\phi_{x}})_x + (\overline{\phi_{y}})_y\\= \frac{\phi_x^2\phi_{xx} - 2\phi_x\phi_y\phi_{xy} + \phi_y^2\phi_{yy}}{|\nabla\phi|^3} \quad \text{(10)} \]

(2)如果\(N = \frac{\nabla \phi}{|\nabla \phi|}\)不做归一化,或者\(|\nabla \phi|=1\),求曲率\(\kappa_{new} = div(\nabla \phi)\)

\[\begin{aligned} \kappa_{new} = div(\nabla \phi) &= (\frac{\partial}{\delta x} \cdot \vec{i} + \frac{\partial}{\delta y} \cdot \vec{j})(\phi_x \cdot \vec{i} + \phi_y \cdot \vec{j})​\\&= \phi_{xx} + \phi_{yy} \quad \text{(11)} \end{aligned} \]

分类:

技术点:

相关文章: