0
点赞
收藏
分享

微信扫一扫

【基于侧扫声呐和SFS方法的地形三维重构】(二)侧扫声呐SFS数学模型建立

ZMXQQ233 2022-04-13 阅读 48

本文主要参考文献如下

\qquad 这两篇文章前后继承,都是SFS线性化泰勒展开、牛顿迭代的经典算法,只不过Tsai使用了一元泰勒的一阶展开,赵建虎采用了三元泰勒的二阶展开。笔者在阅读以上两者的论文之后比较发现,Tsai的方法虽然表达简洁,但是会造成重建结果不太理想的问题,其明暗图中直接获取的灰度值作为线性主部的主成分过高,使得重建结果好像直接从明暗图中直接按照明暗强度绘制高度一样。赵建虎学者的方法使用二阶展开,其表达过于繁琐,在使用时(特别还要结合侧扫声呐物理特性),会导致容易出现错误。因此,结合以上两人,笔者想要使用三变量一阶展开的侧扫声呐SFS模型,下面进行具体阐述。


一、公式推导

\qquad
0 = f ( x , y ) = E ( x , y ) − 1 + s i n ϕ c o s ϕ ⋅ ( Z x , y − Z x − 1 , y ) ( s i n ϕ c o s ϕ ) 2 + 1 ⋅ ( Z x , y − Z x − 1 , y ) 2 + ( Z x , y − Z x , y − 1 ) 2 + 1 0=f(x,y)=E(x,y)-\frac {1+\frac{sin \phi}{cos \phi}\cdot(Z_{x,y}-Z_{x-1,y})} {\sqrt{(\frac{sin \phi}{cos \phi})^2+1}\cdot\sqrt{(Z_{x,y}-Z_{x-1,y})^2+(Z_{x,y}-Z_{x,y-1})^2+1}} 0=f(x,y)=E(x,y)(cosϕsinϕ)2+1 (Zx,yZx1,y)2+(Zx,yZx,y1)2+1 1+cosϕsinϕ(Zx,yZx1,y) \qquad 当我们固定(x,y)为某一个特定点时, x , y x,y x,y就成为了常量,我们就可以采用主元法将 f f f重新看为三元函数 f ( Z x , y , Z x − 1 , y , Z x , y − 1 ) f(Z_{x,y},Z_{x-1,y},Z_{x,y-1}) f(Zx,y,Zx1,y,Zx,y1),而其他的量如 E ( x , y ) E(x,y) E(x,y)为常量。
\qquad 将上式根据泰勒公式展开得到
0 ≈ F ( 0 ) + F ( 1 ) 0 \approx F(0)+F(1) 0F(0)+F(1) \qquad 其中, F ( 0 ) = f ( Z x , y n − 1 , Z x − 1 , y n − 1 , Z x , y − 1 n − 1 ) F(0)=f({Z_{x,y}}^{n-1},{Z_{x-1,y}}^{n-1},{Z_{x,y-1}}^{n-1}) F(0)=f(Zx,yn1,Zx1,yn1,Zx,y1n1) F ( 1 ) = ∂ f ∂ Z x , y ∣ Z x , y n − 1 , Z x − 1 , y n − 1 , Z x , y − 1 n − 1 ⋅ ( Z x , y n − Z x , y n − 1 ) + ∂ f ∂ Z x − 1 , y ∣ Z x , y n − 1 , Z x − 1 , y n − 1 , Z x , y − 1 n − 1 ⋅ ( Z x − 1 , y n − Z x − 1 , y n − 1 ) + ∂ f ∂ Z x , y − 1 ∣ Z x , y n − 1 , Z x − 1 , y n − 1 , Z x , y − 1 n − 1 ⋅ ( Z x , y − 1 n − Z x , y − 1 n − 1 ) F(1)={\frac{\partial f}{\partial Z_{x,y}} \bigg |}_{{Z_{x,y}}^{n-1},{Z_{x-1,y}}^{n-1},{Z_{x,y-1}}^{n-1}}\cdot ({Z_{x,y}}^{n}-{Z_{x,y}}^{n-1}) +\\ {\frac{\partial f}{\partial Z_{x-1,y}} \bigg |}_{{Z_{x,y}}^{n-1},{Z_{x-1,y}}^{n-1},{Z_{x,y-1}}^{n-1}}\cdot ({Z_{x-1,y}}^{n}-{Z_{x-1,y}}^{n-1}) +\\ {\frac{\partial f}{\partial Z_{x,y-1}} \bigg |}_{{Z_{x,y}}^{n-1},{Z_{x-1,y}}^{n-1},{Z_{x,y-1}}^{n-1}}\cdot ({Z_{x,y-1}}^{n}-{Z_{x,y-1}}^{n-1}) F(1)=Zx,yfZx,yn1,Zx1,yn1,Zx,y1n1(Zx,ynZx,yn1)+Zx1,yfZx,yn1,Zx1,yn1,Zx,y1n1(Zx1,ynZx1,yn1)+Zx,y1fZx,yn1,Zx1,yn1,Zx,y1n1(Zx,y1nZx,y1n1)
\qquad 附上多元泰勒公式:

\qquad 解释:对 f ( Z x , y , Z x − 1 , y , Z x , y − 1 ) f({Z_{x,y}},{Z_{x-1,y}},{Z_{x,y-1}}) f(Zx,y,Zx1,y,Zx,y1)按照三元函数泰勒展开形式在 ( Z x , y n − 1 , Z x − 1 , y n − 1 , Z x , y − 1 n − 1 ) ({Z_{x,y}}^{n-1},{Z_{x-1,y}}^{n-1},{Z_{x,y-1}}^{n-1}) (Zx,yn1,Zx1,yn1,Zx,y1n1)的临近进行展开,并带入点 ( Z x , y n , Z x − 1 , y n , Z x , y − 1 n ) ({Z_{x,y}}^{n},{Z_{x-1,y}}^{n},{Z_{x,y-1}}^{n}) (Zx,yn,Zx1,yn,Zx,y1n),当 ( Z x , y n , Z x − 1 , y n , Z x , y − 1 n ) ({Z_{x,y}}^{n},{Z_{x-1,y}}^{n},{Z_{x,y-1}}^{n}) (Zx,yn,Zx1,yn,Zx,y1n) ( Z x , y n − 1 , Z x − 1 , y n − 1 , Z x , y − 1 n − 1 ) ({Z_{x,y}}^{n-1},{Z_{x-1,y}}^{n-1},{Z_{x,y-1}}^{n-1}) (Zx,yn1,Zx1,yn1,Zx,y1n1)充分接近时,函数值 f f f会收敛到0.
\qquad 适当移项,即可得到牛顿迭代表达式: Z x , y n = Z x , y n − 1 − F ( 0 ) + ∂ f ∂ Z x − 1 , y ∣ Z x , y n − 1 , Z x − 1 , y n − 1 , Z x , y − 1 n − 1 ⋅ ( Z x − 1 , y n − Z x − 1 , y n − 1 ) + ∂ f ∂ Z x , y − 1 ∣ Z x , y n − 1 , Z x − 1 , y n − 1 , Z x , y − 1 n − 1 ⋅ ( Z x , y − 1 n − Z x , y − 1 n − 1 ) ∂ f ∂ Z x , y ∣ Z x , y n − 1 , Z x − 1 , y n − 1 , Z x , y − 1 n − 1 {Z_{x,y}}^{n} ={Z_{x,y}}^{n-1}-\frac {F(0)+\\ {\frac{\partial f}{\partial Z_{x-1,y}} \bigg |}_{{Z_{x,y}}^{n-1},{Z_{x-1,y}}^{n-1},{Z_{x,y-1}}^{n-1}}\cdot ({Z_{x-1,y}}^{n}-{Z_{x-1,y}}^{n-1}) +\\ {\frac{\partial f}{\partial Z_{x,y-1}} \bigg |}_{{Z_{x,y}}^{n-1},{Z_{x-1,y}}^{n-1},{Z_{x,y-1}}^{n-1}}\cdot ({Z_{x,y-1}}^{n}-{Z_{x,y-1}}^{n-1})}{{\frac{\partial f}{\partial Z_{x,y}} \bigg |}_{{Z_{x,y}}^{n-1},{Z_{x-1,y}}^{n-1},{Z_{x,y-1}}^{n-1}}} Zx,yn=Zx,yn1Zx,yfZx,yn1,Zx1,yn1,Zx,y1n1F(0)+Zx1,yfZx,yn1,Zx1,yn1,Zx,y1n1(Zx1,ynZx1,yn1)+Zx,y1fZx,yn1,Zx1,yn1,Zx,y1n1(Zx,y1nZx,y1n1)
\qquad 其中 f f f的表达式为 f ( Z x , y , Z x − 1 , y , Z x , y − 1 ) = E ( x , y ) − 1 + s i n ϕ c o s ϕ ⋅ ( Z x , y − Z x − 1 , y ) ( s i n ϕ c o s ϕ ) 2 + 1 ⋅ ( Z x , y − Z x − 1 , y ) 2 + ( Z x , y − Z x , y − 1 ) 2 + 1 f(Z_{x,y},Z_{x-1,y},Z_{x,y-1})=E(x,y)-\frac {1+\frac{sin \phi}{cos \phi}\cdot(Z_{x,y}-Z_{x-1,y})}{\sqrt{(\frac{sin \phi}{cos \phi})^2+1}\cdot\sqrt{(Z_{x,y}-Z_{x-1,y})^2+(Z_{x,y}-Z_{x,y-1})^2+1}} f(Zx,y,Zx1,y,Zx,y1)=E(x,y)(cosϕsinϕ)2+1 (Zx,yZx1,y)2+(Zx,yZx,y1)2+1 1+cosϕsinϕ(Zx,yZx1,y) \qquad 并且 ϕ = a r c t a n x H − Z x , y \phi=arc tan\frac{x}{H-Z_{x,y}} ϕ=arctanHZx,yx由于考虑到嵌套求导过于复杂,它是入射光参数,这里我选择进行近似忽略,从而有 ϕ = a r c t a n x H − Z x , y n − 1 \phi=arc tan\frac{x}{H-Z_{x,y}^{n-1}} ϕ=arctanHZx,yn1x \qquad 如此, ϕ \phi ϕ便可视为与Z无关的常数,来源于之前所存储的数值。这样当我们要计算 ∂ f ∂ Z x , y \frac{\partial f}{\partial Z_{x,y}} Zx,yf ∂ f ∂ Z x − 1 , y \frac{\partial f}{\partial Z_{x-1,y}} Zx1,yf ∂ f ∂ Z x , y − 1 \frac{\partial f}{\partial Z_{x,y-1}} Zx,y1f时求导难度会大大降低。先尝试使用这个简化,如果重建结果理想则完全采纳。

举报

相关推荐

0 条评论