光度立體法總結

DeH40發表於2020-03-22

所謂光度立體法是根據在不同光源方向的情況下拍攝的多幅影像的光強來計算物體表面的方向梯度從而獲得影像的三維資訊。

傳統的光度立體一般是假設物體是理想的朗伯表面,假設光照是理想的平行光照。其反射分佈函式可以由下面這個式子得到:

R(p, q)=\frac{Q\left(1+p p_{s}+q q_{s}\right)}{\sqrt{1+p^{2}+q^{2}} \sqrt{1+p_{s}^{2}+q_{s}^{2}}}

根據影像的輻照度方程E(x, y)=R(p, q)可得到表面方向與影像亮度之間的對應關係

E(x, y)=\frac{Q\left(1+p p_{s}+q q_{s}\right)}{\sqrt{1+p^{2}+q^{2}} \sqrt{1+p_{s}^{2}+q_{s}^{2}}}

式中Q 是反射常數(p,q)為物體表面的方向梯度,p=\frac{\partial z(x, y)}{\partial x}, q=\frac{\partial z(x, y)}{\partial y}

\left(p_{s}, q_{s}\right)為光源的方向,p_{s}=-\cos V_{0} \tan H_{0}, q_{s}=-\sin V_{0} \tan H_{0}\left(V_{0}, H_{0}\right)為光源的傾角與 仰角。

對於在 3 個不同的光照條件下得到的 3 幅光照影像可以得到以下方程組:

\left\{\begin{array}{l} E_{1}(x, y)=\frac{Q\left(1+p p_{1}+q q_{1}\right)}{\sqrt{1+p^{2}+q^{2}} \sqrt{1+p_{1}^{2}+q_{1}^{2}}} \\ E_{2}(x, y)=\frac{Q\left(1+p p_{2}+q q_{2}\right)}{\sqrt{1+p^{2}+q^{2}} \sqrt{1+p_{2}^{2}+q_{2}^{2}}} \\ E_{3}(x, y)=\frac{Q\left(1+p p_{3}+q q_{3}\right)}{\sqrt{1+p^{2}+q^{2}} \sqrt{1+p_{3}^{2}+q_{3}^{2}}} \end{array}\right.

式中E_{1}(x, y), \quad E_{2}(x, y), \quad E_{3}(x, y)分別對應 3 幅影像象素點的規格化亮(灰度值與影像上最大灰度值之比),

\left(p_{1}, q_{1}\right),\left(p_{2}, q_{2}\right) ,\left(p_{3}, q_{3}\right)分別為 3 幅影像的光源方向。

通過對方程組求解得到影像上各象素點的表面方向梯度 , 在實際情況中由於影像已離散化因此\frac{\partial z(x, y)}{\partial x}\frac{\partial z(x, y)}{\partial y}

可用它們的一次差分近似地表示:

\begin{array}{l} p=\frac{\partial z(x, y)}{\partial x}=z(x+1, y)-z(x, y) \\ q=\frac{\partial z(x, y)}{\partial y}=z(x, y+1)-z(x, y) \end{array}

設起始點\left(x_{0}, y_{0}\right)高度為Z_{0}(起始點通常為影像中心點)則可以求出\begin{aligned} &\left(x_{0}+1, y_{0}),\left(x_{0}-1, y_{0}\right),\left(x_{0}, y_{0}+1\right),\left(x_{0}, y_{0}-1\right) \end{aligned}

四個相鄰點的高度值並進一步擴散得到所有離散影像點上的高度值從而最終恢復物體的表面形狀.

相關文章