2022年1月7日 星期五

解釋 Sampson Distance

在解電腦視覺問題時,我們常常想要優化的是 reprojection error:

\[ \phi = \sum_{i=1}^N \left \| \tilde{x}_i^1 - x_i^1 \right \|^2 + \left \| \tilde{x}_i^2 - x_i^2 \right \|^2 \]其中 \(x_i^1\) 與 \(x_i^2\) 為不同視角下的對應特徵點,它們會滿足 epipolar constraint:\[x_i^{1T} \mathbf{F} x_i^2 = 0\]在實際應用上會有 noise,因此這一項不會為零。Sampson distance 即為一種近似此 reprojection error 的式子。

我們從觀測到的對應點的 epipolar constraint 式子開始:\[C(\tilde{X})=\tilde{x_i}^{1T} \mathbf{F} \tilde{x_i}^2 = \epsilon \]用一階泰勒展開式展開:\[C(\tilde{X}+\delta)=C(\tilde{X})+\mathbf{J}\delta = C(X) = 0\]其中 \(\delta=X-\tilde{X}\),也就是說我們想要優化的 reprojection error 即是 \(\left \| \delta \right \|^2\),並且符合此條件 \(\mathbf{J}\delta = -\epsilon\)。

下一步為用 Lagrange multiplier 套入以上式子:

\[ F = \delta^T\delta-2 \lambda^T(\mathbf{J}\delta+\epsilon) \\ \frac{dF}{d\delta}=2\delta^T-2\lambda^T\mathbf{J}=0 \\ \delta = \mathbf{J}^T\lambda \rightarrow \mathbf{J}\mathbf{J}^T\lambda = -\epsilon \\ \Rightarrow \lambda = -(\mathbf{J}\mathbf{J}^T)^{-1}\epsilon \\ \Rightarrow \delta = -\mathbf{J}^T (\mathbf{J}\mathbf{J}^T)^{-1}\epsilon \\ \Rightarrow \delta^T\delta = \epsilon^T(\mathbf{J}\mathbf{J}^T)^{-1}\epsilon \]因此最後推導出的 Sampson distance 為:
\[ \sum_i\frac {(\tilde{x_i}^{1T}\mathbf{F}\tilde{x_i}^2)^2} {(\mathbf{F}\tilde{x_i}^1)_1^2 + (\mathbf{F}\tilde{x_i}^1)_2^2 + (\mathbf{F}\tilde{x_i}^2)_1^2 + (\mathbf{F}\tilde{x_i}^2)_2^2 } \] 其中的 \((\mathbf{F}\tilde{x_i}^1)_1^2\) 為 \(\mathbf{F}\tilde{x_i}^1\) 向量第一項的平方。

沒有留言:

張貼留言