曲线曲率到图像曲率(水平集函数\(\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}
\]