AOS加性算子分裂法
加性算子分裂法顾名思义,就是在不同维度上分开讨论,最后相加。需要不同维度上正交。
图像分割能量函数经过梯度下降法得到的的迭代公式一般为:
∂ ϕ ∂ t = μ δ ϵ ( ϕ ) ∇ . ( ∇ ϕ ∣ ∇ ϕ ∣ ) + v ∇ ( ∇ ϕ ( 1 − 1 ∣ ∇ ϕ ∣ ) ) + F ( x , y ) \frac{\partial \phi}{\partial t}=\mu \delta_{\epsilon}(\phi) \nabla.(\frac{\nabla \phi}{|\nabla \phi|})+v\nabla(\nabla \phi (1-\frac{1}{|\nabla \phi|}))+F(x,y) ∂t∂ϕ=μδϵ(ϕ)∇.(∣∇ϕ∣∇ϕ)+v∇(∇ϕ(1−∣∇ϕ∣1))+F(x,y)
令 E = 1 ∣ ∇ ϕ ∣ , F = 1 − 1 ∣ ∇ ϕ ∣ E=\frac{1}{|\nabla \phi|},F=1-\frac{1}{|\nabla \phi|} E=∣∇ϕ∣1,F=1−∣∇ϕ∣1显然E和F都是一个二维矩阵。
在讨论二维之前,我想先讨论一维的情况。
要想知道一维半隐式方程的解法,需要先知道Thomas算法。分享一篇文章(10分钟理解托马斯算法)
https://blog.csdn.net/qq_35025383/article/details/80821884
对于一维的AOS算法 ϕ n + 1 − ϕ n Δ t = A ( ϕ n ) ϕ n + 1 + F ( x ) \frac{\phi^{n+1}-\phi^{n}}{\Delta t}=A(\phi^n)\phi^{n+1}+F(x) Δtϕn+1−ϕn=A(ϕn)ϕn+1+F(x)
( I − τ A ( ϕ n ) ) ϕ n + 1 = ϕ ^ n (I-\tau A(\phi^{n}))\phi^{n+1}=\widehat{\phi}^{n} (I−τA(ϕn))ϕn+1=ϕ
n其中
τ = Δ t \tau=\Delta t τ=Δt, ϕ ^ n = ϕ n + F ( x ) \widehat{\phi}^{n}=\phi^{n}+F(x) ϕ
n=ϕn+F(x)
A是通过中心差分法获得。 ( A ( ϕ n ) ϕ n + 1 ) i = μ δ ϵ ( ϕ ) ( ∂ x ( E ϕ x n + 1 ) ) + v ( ∂ x ( F ϕ x n + 1 ) ) = μ δ ϵ ( ϕ ) E i + 1 2 n ( ϕ x n + 1 ) i + 1 2 − E i − 1 2 n ( ϕ x n + 1 ) i − 1 2 h x + v F i + 1 2 n ( ϕ x n + 1 ) i + 1 2 − F i − 1 2 n ( ϕ x n + 1 ) i − 1 2 h x = μ δ ϵ ( ϕ ) E i + 1 n + E i n 2 ( ϕ i + 1 n + 1 − ϕ i n + 1 h x ) − E i n + E i − 1 n 2 ( ϕ i n + 1 − ϕ i − 1 n + 1 h x ) h x + v F i + 1 n + F i n 2 ( ϕ i + 1 n + 1 − ϕ i n + 1 h x ) − F i n + F i − 1 n 2 ( ϕ i n + 1 − ϕ i − 1 n + 1 h x ) h x = μ δ ϵ ( ϕ ) ( E i + 1 n + E i n ) ( ϕ i + 1 n + 1 − ϕ i n + 1 ) − ( E i n + E i − 1 n ) ( ϕ i n + 1 − ϕ i − 1 n + 1 ) 2 h x 2 + v ( F i + 1 n + F i n ) ( ϕ i + 1 n + 1 − ϕ i n + 1 ) − ( F i n + F i − 1 n ) ( ϕ i n + 1 − ϕ i − 1 n + 1 ) 2 h x 2 (A(\phi^{n})\phi^{n+1})_i=\mu\delta_{\epsilon}(\phi)(\partial_x(E\phi_{x}^{n+1}))+v(\partial_x(F\phi_{x}^{n+1})) \\ =\mu\delta_{\epsilon}(\phi)\frac{E_{\frac{i+1}{2}}^{n}(\phi_{x}^{n+1})_{\frac{i+1}{2}}-E_{\frac{i-1}{2}}^{n}(\phi_{x}^{n+1})_{\frac{i-1}{2}}}{h_x}+v\frac{F_{\frac{i+1}{2}}^{n}(\phi_{x}^{n+1})_{\frac{i+1}{2}}-F_{\frac{i-1}{2}}^{n}(\phi_{x}^{n+1})_{\frac{i-1}{2}}}{h_x} \\ = \mu\delta_{\epsilon}(\phi) \frac{\frac{E_{i+1}^{n}+E_{i}^{n}}{2}(\frac{\phi_{i+1}^{n+1}-\phi_{i}^{n+1}}{h_x})-\frac{E_{i}^{n}+E_{i-1}^{n}}{2}(\frac{\phi_{i}^{n+1}-\phi_{i-1}^{n+1}}{h_x})}{h_x} +v\frac{\frac{F_{i+1}^{n}+F_{i}^{n}}{2}(\frac{\phi_{i+1}^{n+1}-\phi_{i}^{n+1}}{h_x})-\frac{F_{i}^{n}+F_{i-1}^{n}}{2}(\frac{\phi_{i}^{n+1}-\phi_{i-1}^{n+1}}{h_x})}{h_x} \\ = \mu\delta_{\epsilon}(\phi) \frac{(E_{i+1}^{n}+E_{i}^{n})(\phi_{i+1}^{n+1}-\phi_{i}^{n+1})-(E_{i}^{n}+E_{i-1}^{n})(\phi_{i}^{n+1}-\phi_{i-1}^{n+1})}{2h_{x}^2} +v\frac{(F_{i+1}^{n}+F_{i}^{n})(\phi_{i+1}^{n+1}-\phi_{i}^{n+1})-(F_{i}^{n}+F_{i-1}^{n})(\phi_{i}^{n+1}-\phi_{i-1}^{n+1})}{2h_{x}^2} (A(ϕn)ϕn+1)i=μδϵ(ϕ)(∂x(Eϕxn+1))+v(∂x(Fϕxn+1))=μδϵ(ϕ)hxE2i+1n(ϕxn+1)2i+1−E2i−1n(ϕxn+1)2i−1+vhxF2i+1n(ϕxn+1)2i+1−F2i−1n(ϕxn+1)2i−1=μδϵ(ϕ)hx2Ei+1n+Ein(hxϕi+1n+1−ϕin+1)−2Ein+Ei−1n(hxϕin+1−ϕi−1n+1)+vhx2Fi+1n+Fin(hxϕi+1n+1−ϕin+1)−2Fin+Fi−1n(hxϕin+1−ϕi−1n+1)=μδϵ(ϕ)2hx2(Ei+1n+Ein)(ϕi+1n+1−ϕin+1)−(Ein+Ei−1n)(ϕin+