計算機視覺課程學習筆記
「The question of whether computers can think is like the question of whether submarines can swin.」—— Edsger W. Dijkstra
特徵的形式app
圖像局部特徵dom
特徵檢測方法函數
兩種技術路線學習
四種獨立步驟spa
建模rest
直觀的建模orm
局部特徵視頻
泰勒級數展開對象
$$ \begin{aligned} E_{AC}({\Delta u})&=\sum_iw(x_i)[I_0 (x_i+\Delta u)-I_0(x_i)]^2\\ &\approx \sum_iw(x_i)[I_0 (x_i)+\triangledown I_0(x_i)\cdot\Delta u-I_0(x_i)]^2\\ &=\sum_iw(x_i)[I_0 (x_i)\cdot\Delta u]^2\\ &=\Delta u^TA\Delta u\\ &\triangledown I_0(x_i)=(\frac{\partial I_0}{\partial x},\frac{\partial I_0}{\partial y})(x_i) \end{aligned} $$
特徵點的判斷
基本特徵提取的算法流程
- 將原始圖像與高斯導數進行卷積,獲得水平方向和垂直方向的導數$I_x$和$I_y$;
- 計算着圖像對應這些梯度的外積;
- 用一個更大的高斯來對這些圖像進行卷積;
- 用公式計算出標量度量;
- 找到某個閾值以上的局部極大值,並將其報告爲檢測到的特徵點位置。
移動$[u,v]$的強度改變:$E(u,v)=\sum_{x,y}w(x,y)[I(x+u,y_v)-I(x,y)]^2$
Moravec的問題
解決方法:
使用高斯函數(Gaussian function)替代二分函數(binary function)
把上下左右滑窗找極值轉爲用泰勒展式找梯度變換狀況:
$$ \begin{aligned} E(u,v)&=\sum_{x,y}w(x,y)[I(x+u,y+v)-I(x,y)]^2\\ &=\sum_{x,y}w(x,y)[I_xu+I_yv+O(u^2+v^2)]^2\\ E(u,v)&=Au^2+2Cuv+Bv^2\\ A&=\sum_{x,y}w(x,y)I_x^2(x,y)\\ B&=\sum_{x,y}w(x,y)I_y^2(x,y)\\ C&=\sum_{x,y}w(x,y)I_x(x,y)I_y(x,y)\\ E(u,v)&\approx[u,v]M\begin{bmatrix}u\\v\end{bmatrix}\\ M&=\sum_{x,y}w(x,y)\begin{bmatrix}I_x^2\quad I_xI_y\\I_xI_y\quad I_y^2\end{bmatrix} \end{aligned} $$
判斷
算法
- 尋找途中有較大邊角相應函數值$R$的點($R>threshold$)
- 尋找$R$中的局部極值
Harris Detector的特性
$R$值不具有尺度不變性(如弧線縮小,可能會被識別爲鉸點)
特徵點
特徵匹配
應用
拒絕野點--NN
SSD
偏差平方和算法(Sum of Squared Differences, SSD),也叫差方和算法
平均偏差平方和算法(Mean Square Differences, MSD),也叫均方差算法
絕對偏差和算法(Sum of Absolute Differences, SAD)
平均絕對差算法(Mean Absolute Differences, MAD)
歸一化互相關算法(Normalized Cross Correlation, NCC)
拒絕野點更好的方法--NNDR[Lowe, 1999]
進一步排除點--ANMS
隨機採樣一致性(Random Sample Consensus)
RANSAC 循環
通用的RANSAC算法
運行$k$次:
- 隨機選取$n$個採樣;
- 對$n$個採樣配合合適的參數$\Theta$;
- 對另外$N-n$個點,計算對應模型的適應度,獲得匹配集合的點數$c$。
輸出參數$\Theta $和最大適配集合$c$。
計算$k$
關於圖像特徵部分的一半內容,包含提取、匹配。中間概念較多,但理解後仍是蠻清晰的,只是計算、公式、實現部分須要多多思考。計算機視覺的魅力開始漸漸體現了...