【SFS线性化算法】松弛迭代SFS(一)

本文主要翻译和讲述 Ulic的线性化SFS方法,关于松弛迭代算法及其在侧扫声呐中的应用将在之后的章节中进行介绍

[1]Ulich, G. Provably Convergent Methods for the Linear and Nonlinear Shape from Shading Problem. Journal of Mathematical Imaging and Vision 9, 69–82 (1998). https://doi.org/10.1023/A:1008222227032


摘要

  本文提出了Lambert表面下的一种可证明的收敛算法用于线性和非线性SFS问题。对于线性问题,我们讨论了两种显式方法一种隐式方法,并证明了它们在某些光照方向上的收敛性。非线性SFS方法是基于一个线性近似的图像辐照度方程。对于得到的线性偏微分方程,可以应用求解线性问题的隐式方法。证明了该方法在所有光方向上的收敛性。


1.介绍

  SFS问题的基本目标是从明暗的变化重建形状 z ( x , y ) z(x,y) z(x,y)。不妨令物体表面法向量为 ( p , q , − 1 ) (p,q,-1) (p,q,1),令入射光向量为 ( p 0 , q 0 , − 1 ) (p_0,q_0,-1) (p0,q0,1),再借助兰伯特反射定律,我们有 E ( x , y ) = R ( p , q ) = p p 0 + q q 0 + 1 1 + p 0 2 + q 0 2 1 + p 2 + q 2 ( 1 ) E(x,y)=R(p,q)=\frac{pp_0+qq_0+1}{\sqrt{1+{p_0}^2+{q_0}^2}\sqrt{1+p^2+q^2}}\qquad\qquad(1) E(x,y)=R(p,q)=1+p02+q02 1+p2+q2 pp0+qq0+1(1)
  pentland文章中对曲面进行傅里叶变换,可以使反射关系线性化,我们可以得到如下方程 E ( x , y ) = R ( p , q ) = p p 0 + q q 0 + 1 1 + p 0 2 + q 0 2 ( 2 ) E(x,y)=R(p,q)=\frac{pp_0+qq_0+1}{\sqrt{1+{p_0}^2+{q_0}^2}}\qquad\qquad(2) E(x,y)=R(p,q)=1+p02+q02 pp0+qq0+1(2)
  我们对(2)式进行变换,令 ε = E ( x , y ) p 0 2 + q 0 2 + 1 − 1 ε=E(x,y)\sqrt{{p_0}^2+{q_0}^2+1}-1 ε=E(x,y)p02+q02+1 1整理得到 p p 0 + q q 0 = ε ( x , y ) ( 3 ) pp_0+qq_0=ε(x,y)\qquad \qquad (3) pp0+qq0=εxy(3)
  我们对需要恢复形状的z(x,y)进行区域限定 Ω = { ( x , y ) ∈ R 2 : 0 ≤ x ≤ a , 0 ≤ y ≤ b } ( 4 ) Ω=\{ (x,y)∈R^2:0\leq x\leq a , 0\leq y\leq b\} \qquad (4) Ω={(x,y)R2:0xa,0yb}(4)
  附带边界条件 ( i ) z ( 0 , y ) = h 1 ( y ) , 0 ≤ y ≤ b , (i) z(0,y)=h_1(y),0 \leq y\leq b, (i)z(0,y)=h1(y),0yb,
( i i ) z ( a , y ) = h 2 ( y ) , 0 ≤ y ≤ b , (ii)z(a,y)=h_2(y),0 \leq y \leq b , (ii)z(a,y)=h2(y),0yb,
( i i I ) z ( x , 0 ) = g ( x ) , 0 ≤ x ≤ a , (iiI)z(x,0)=g(x),0 \leq x \leq a , (iiI)z(x,0)=g(x),0xa,
  其中, h 1 ( y ) , h 2 ( y ) a n d g ( x ) h_1(y),h_2(y) and g(x) h1(y),h2(y)andg(x)是已知的,并且
在这里插入图片描述
  (这个式子不知道什么意思,可能是泛函的意思?不是很重要)

  并且 h 1 ( 0 ) = g ( 0 ) , h 2 ( 0 ) = g ( a ) h_1(0)=g(0),h2(0)=g(a) h1(0)=g(0),h2(0)=g(a)


2.线性SFS问题的数值分析

  本节将介绍2种显式方法和1种隐式方法。
  通过差分公式得到近似的p,q如下
p ≈ z i + 1 , j − z i , j h , q ≈ z i , j + 1 − z i , j k p \approx \frac{z_{i+1,j}-z_{i,j}}{h} ,q \approx \frac{z_{i,j+1}-z_{i,j}}{k} phzi+1,jzi,j,qkzi,j+1zi,j
  其中 h h h是x方向的网格长度,k是y方向的网格长度。因此我们可以得到如下离散的方程 ε i , j = p 0 h ( z i + 1 , j − z i , j ) + q 0 k ( z i , j + 1 − z i , j ) ε_{i,j}=\frac {p_0}{h}(z_{i+1,j}-z_{i,j})+\frac {q_0}{k}(z_{i,j+1}-z_{i,j}) εi,j=hp0(zi+1,jzi,j)+kq0(zi,j+1zi,j)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值