定義:
2d單應:給定影象$\mathbb^$中的特徵點集$\mathbf_i$和另一幅影象在$\mathbb^$ 中對應的特徵點集$\mathbf_^$, 將$\mathbf_i$對映到$\mathbf^_$的射影變換。在實際情況中,點$\mathbf_$和$\mathbf^_$是兩幅影象上的點,每幅影象都視為一張射影平面$\mathbb^$
$\mathbf^_=h\mathbf_$
方法:直接線性變換dlt演算法
我們首先討論由給定 2d 到 2d 的四組點對應$ x_ \leftrightarrow x_^$,確定h的一種簡單的方法是線性演算法$x^_=hx_$,這是乙個齊次方程,所以$\mathbf_^ $和$h\mathbf^$不相等,它們有相同的方向,但是在大小上相差乙個非零因子.
使用叉乘表示: $\mathbf_^h\mathbf_=0$
將矩陣h的第j行記為$\mathbf^$得
$$h \mathbf_1=\begin\mathbf^ \mathbf_ \\ \mathbf^ \mathbf_ \\ \mathbf^ \mathbf_ \\ \end$$
$\mathbf$ 預設是列排列
記$x_1=\beginu_1&v_1&1\end^t$ , $x_2=\beginu_2&v_2&1\end^t$
其中 $x_2^=\begin0&-1&v_2\\1&0&-u_2\\-v_1&u_2&0\end$
叉乘表示: $\mathbf_^h\mathbf^_=0=\beginv_2\mathbf^ \mathbf_- \mathbf^ \mathbf_ \\\mathbf^ \mathbf_-u_2\mathbf^ \mathbf_ \\u_2\mathbf^ \mathbf_-v_2\mathbf^ \mathbf_ \\ \end$
將h 抽出為八行向量得 a$\bf$=0;
$$\begin\mathbf^&-\mathbf^_&u_\mathbf^_ \\\mathbf^_ &\mathbf^&-v_\mathbf^_\\v_\mathbf^_&u_\mathbf^_&\mathbf^\\\end \begin \mathbf^ \\\mathbf^ \\\mathbf^ \end=0$$
上式雖然有三個方程但是只有兩個是線性無關的,所以每對點可以取出兩個方程;
$$\begin\mathbf^&-\mathbf^_&u_\mathbf^_ \\\mathbf^_ &\mathbf^&-v_\mathbf^_\end \begin \mathbf^ \\\mathbf^ \\\mathbf^ \end=0$$
a是2x9矩陣,四組點後a為8x9
求解h
h是自由度為8的矩陣. 每對點得到兩個關於h元素的兩個線性無關的方程,給定四組點得到八個方程即可得到h. 由於a為8x9秩為八,因此a僅有一維零空間,從而存在只相差乙個非零因子意義下的解h.但是單應矩陣h只能夠確定到相差乙個尺度,因此可以通過範數來對h元素進行選擇 如||$\mathbf$||=1.
超定解
若給出的點$\mathbf_$和$\mathbf^_$ 多於四對,方程$a\mathbf=0&是超定的.
(1) 如果不存在雜訊,那麼a的秩為八且有一維零空間,並且存在精確解$\bf$.
(2)如果存在雜訊,那麼方程除零解外不存在精確解,但是可以試圖尋找近似解,該解是$a^a$的最小特徵值對應的單位特徵向量,即該解是a最小奇異值的單位向量.
**
/** * @brief 從特徵點匹配求homography(normalized dlt)
* * @param vp1 歸一化後的點, in reference frame
* @param vp2 歸一化後的點, in current frame
* @return 單應矩陣
* @see multiple view geometry in computer vision - algorithm 4.2 p109 */
cv::mat initializer::computeh21(
const vector&vp1, const vector&vp2)
cv::mat u, w, vt;
cv::svdecomp(a, w, u, vt, cv::svd::modify_a |cv::svd::full_uv);
return vt.row(8).reshape(0, 3); //
vt的最後一行 即v的最後一列
}
單應性矩陣的理解及求解1
盡量寫的通俗一點,因為從某種程度上講,本人也是dummy.1.先說homogeneous coordinate,齊次座標 一幅2d影象上的非齊次座標為 x,y 而齊次座標為 x,y,1 也可以寫成 x z,y z,1 或 x,y,z 齊次座標有很多好處,比如可以很清楚的確定乙個點在不在直線上 t x...
Homography單應矩陣
在計算機視覺的背景下,2d affine是2d homography的子集。從幾何意義上講,2d homography是用來計算一堆在同乙個三維平面上的點在不同的二維影象中的投影位置的,是乙個一對一的對映。2d affine是2d homography的乙個特例,它對應著的情況是這個三維平面在無窮遠...
矩陣法求解線性回歸
由於梯度下降演算法需要多次迭代,並且需要指定下降速率,如果下降速度過快則可能錯過最優點,如果過慢則需要迭代多次,因此還可選用矩陣法求解。首先給出一些基本數學知識 矩陣的跡trace為矩陣主對角線元素之和 tr a a 如果a為實數 以下是關於矩陣跡的一些性質 對於多元線性回歸,將所有訓練資料作為乙個...