導讀
本文先從圖像特征開始介紹,后分點闡述特征子和描述子的相關分類及特點,最后以圖像展示了特征匹配的關系,完整的敘述了整個建模過程中特征點檢測與匹配的知識。
一、圖像特征介紹
1、圖像特征點的應用
- 相機標定:棋盤格角點陰影格式固定,不同視角檢測到點可以得到匹配結果,標定相機內參
- 圖像拼接:不同視角匹配恢復相機姿態
- 稠密重建:間接使用特征點作為種子點擴散匹配得到稠密點云
- 場景理解:詞袋方法,特征點為中心生成關鍵詞袋(關鍵特征)進行場景識別
![797736aa-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyKARXSqAACwtrPX_9I627.jpg)
2、圖像特征點的檢測方法
- 人工設計檢測算法:sift、surf、orb、fast、hog
- 基于深度學習的方法:人臉關鍵點檢測、3D match點云匹配
- 場景中的人工標記點:影視場景背景簡單的標記,特殊二維碼設計(快速,精度低)
![798e0f88-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyKAWx9uAAC5-yXEWBg494.jpg)
3、圖像特征點的基本要求
- 差異性:視覺上場景上比較顯著點,灰度變化明顯,邊緣點等
- 重復性:同一個特征在不同視角中重復出現,旋轉、光度、尺度不變性
![79a7696a-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyKAAaFxAAC4Rp8E98Y275.jpg)
二、特征檢測子
1、Harris 角點檢測(早期,原理簡單,視頻跟蹤,快速檢測)
夢寐mayshine:角點檢測(2) - harris算子 - 理論與Python代碼
https://zhuanlan.zhihu.com/p/90393907
![79be90f4-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyKAUTUpAADAzS-h3uY569.jpg)
- 動機:特征點具有局部差異性
- 以每個點為中心取一個窗口,例如,5×5/7×7的像素,描述特征點周圍環境
- 此點具有差異性->窗口往任意方向移動,則周圍環境變化較大->具有局部差異性
- 最小二乘線性系統
- 加和符號:表示窗口內每個像素
- w:表示權重,權值1或者以點為中心的高斯權重(離點越近權重越大)
- I:表示像素,RGB/灰度
- u,v:窗口移動的方向
- H:harris矩陣,由兩個方向上的梯度構建而成
- 圖像梯度:
- Harris矩陣:
- Harris矩陣H 的特征值分析
- 兩個特征值反映相互垂直方向上的變化情況,分別代表變化最快和最慢的方向,特征值大變化快,特征值小變化慢
- λ1 ≈ λ2 ≈ 0, 兩個方向上變化都很小,興趣點位于光滑區域
- λ1 > 0 , λ2 ≈ 0 ,一個方向變化快,一個方向變化慢,興趣點位于邊緣區域
- λ1 , λ2 > 0 , 兩個方向變化都很快,興趣點位于角點區域(容易判斷)
![79cf11d6-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyKAe5S3AABoyNdBWsM001.jpg)
![79eb0ea4-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyKAQ3hhAAA63vXgmiA667.jpg)
- Harris角點準則代替矩陣分解:
- 反映特征值情況,trace為跡
- k的值越小,檢測子越敏感
- 只有當λ1和λ2同時取得最大值時,C才能取得較大值
- 避免了特征值分解,提高檢測計算效率
- 非極大值抑制(Non-maximal Suppression) 選取局部響應最大值,避免重復的檢測
- 算法流程:
- 0)濾波、平滑,避免出現階躍函數
- 1)計算圖像水平和垂直方向的梯度
- 2)計算每個像素位置的Harris矩陣
- 3)計算每個像素位置的Harris角點響應值
- 3+)非極大值抑制
- 4)找到Harris角點響應值大于給定閾值且局部最大的位置作為特征點
- 檢測結果:
![79fd85b6-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyOAcWtJAACXOJ8FmDg328.jpg)
2、基于LoG的多尺度特征檢測子
- 動機:Harris角點檢測不具有尺度不變性,讓特征點具有尺度不變性
![7a176d50-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyOAL1dPAACOxHQ8Ano543.jpg)
- 解決方法:尺度歸一化LoG算子,處理尺度的變化
- LoG算子:Lindeberg(1993)提出Laplacian of Gaussian (LoG)函數的極值點對應著特征點
- 尺度空間:一副圖像使用不同大小濾波核濾波(e.g.高斯濾波),越大的濾波核越模糊,分辨率越小,不同濾波核濾波后的空間為尺度空間=3維空間(圖像+尺度),模擬人類視覺,較遠物體模糊,一系列濾波核構成的不同分辨率圖像為尺度空間->LoG能夠處理不同尺度的圖像
![7a2aa1cc-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyOAQURhAABJ-MvQMdw429.jpg)
- LoG算子[1]形式:高斯濾波性質:卷積->求拉普拉斯算子==求拉普拉斯算子->卷積 其中是LoG算子
- 尺度歸一化LoG[2](使得具有可比性=匯率):其中是尺度歸一化LoG算子
- 不同尺度下的LoG響應值不具有可比性
- 構建尺度空間,同時在位置空間和 尺度空間尋找歸一化LoG極值(極大 /極小)點作為特征點
- 不同尺度下的響應值
- LoG特征檢測算法流程
- 1)計算不同尺度上的尺度歸一化LoG函數值
- 2)同時在位置和尺度構成的三維空間上尋找 尺度歸一化LoG的極值點
- 3)進行非極大值抑制,減少重復檢測 (去除冗余、保持穩定性)
- 檢測結果:效果好,LoG計算量大
![7a4e48a2-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyOAPXBLAACL3Qwv7BE696.jpg)
3、基于DoG的多尺度特征檢測子(SIFT)——穩定和魯棒
- LoG可以由DoG近似:Lowe(2004)提出歸一化LoG近似等價于相鄰尺度的高斯差分(DoG)
- 高斯空間:
- 高斯差分DoG:相鄰的空間做差,極點處對應特征點
-
尺度空間的構建
- 階數:O=3 (octave=階,每階圖像尺寸減少一半,階數高->運算量大->尺度變化大)
- 每階有效差分數:S=3(每個階內劃分數)
- 每階層數:N=S+3
-
高斯空間
-
高斯差分
-
有效差分(尺度空間有上下兩個鄰域才行,邊界無效)
-
任意設置
![7a667fa8-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZySASoyIAACMbgu3FQs367.jpg)
![7a749fde-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZySAYM5WAACzqjexaAk892.jpg)
![7a84a64a-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZySAC7oTAADNwGXkw54542.jpg)
- 特征點位置的確定:
- 1)尺度空間和圖像空間上:3*3窗口,26個鄰域,找極值點比其他都要大DoG,LoG找極大值或極小值
- 2)橫軸向代表離散位置,縱軸代表DoG響應值,在極值點鄰域內求二階函數的極值=準確像素位置
![7a99dad8-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZySAX47RAADnDUcnAzQ389.jpg)
-
亞像素特征點位置的確定
- x:為三維,坐標空間+尺度空間
- f(x):為DoG值
- x0:檢測到離散坐標下的極大值點
- 任務:在x0附近近似一個二階函數,求二階函數極值得到更準確的亞像素極值位置
![7aacbdd8-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZySAJKUxAACuh2a7ySw352.jpg)
- 矩陣的表達-1階
![7aba3f12-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyWAM0sNAACFBaoE_fE433.jpg)
- 矩陣的表達-2階
![7ac8d28e-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyWAPpFHAACpuX3HtaA947.jpg)
- 極值點有可能是邊緣點,->除去邊緣點:DoG在邊緣處值較大,需要避免檢測到邊緣點
- 計算主方向:通過統計梯度直方圖的方法確定主方向,使算法具有旋轉不變性
![7ae15fb6-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyWAH8oaAABRo7bf4X4112.jpg)
-
SIFT特征檢測流程:旋轉不變性、尺度不變性、亮度 變化不變性,對視角變化、仿射變換有一定程度的穩定性
- 1)計算圖像尺度空間:
- 2)DoG極值點檢測與定位:保留的特征點
- 3)邊緣點去除:
- 4)計算主方向
- 5)生成描述子
- 6)檢測結果
![7aee5220-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyWAZidwAACH3R5_8pQ409.jpg)
4、快速特征點檢測方法:——實時性要求高
-
FAST特征點[3]:Feature from Accelerated Segment Test
- 1)以候選點p為圓心構建一個離散圓
- 2)比較圓周上的像素與p點像素值
- 3)當有連續的n個像素值明顯亮于或者暗于p時,p被檢測為特征點,例Fast9,Fast12
-
特性:通過檢測局部像素灰度變化來確認特征點的位置,速度快,SIFT的100倍;不具有尺度和旋轉不變性
-
流程:
-
檢測:
![7b012b02-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyWANwFcAAB8BjGSyys664.jpg)
-
Oriented FAST (ORB)
- 獲取尺度不變性:構建圖像金字塔,在金字塔 每一層上檢測關鍵點
- 獲取旋轉不變性 :通過灰度質心法(Intensity Centroid) 確定圖像主方向
- 圖像塊B上的矩定義為:
- 圖像塊B的質心定義為 :
- 計算方向角 :
- 檢測結果:
![7b152cce-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyWAbngFAACHXH30m5c508.jpg)
三、特征描述子
特征描述子 Feature Descriptor
- 每個特征點獨特的身份認證
- 同一空間點在不同視角的特征點具有高度相似的描述子
- 不同特征點的的描述子差異性盡量大
- 通常描述子是一個具有固定長度的向量
特征支持區域
- 主方向:進行旋轉并重新插值
- 特征尺度:影響支持區域的大小
![7b2ae05a-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyWAXI53AABD20tKNVo619.jpg)
1、基于直方圖的描述子
(1)用于微小運動的描述子 [4](e.g.相鄰兩幀視頻)
- 定義:以特征點為中心的矩形區域內所有像素的灰度值作為描述子
- 特性:適用于微小變化的圖像對 圖像存在明顯的旋轉、尺度、光照和透視變換時不穩定
(2)Sift描述子——旋轉主方向
- 定義:根據主方向對支持區域進行旋轉,并通過雙線性插值重構
- 特性:圖像歸一化處理,去除光照變化
![7b731bc2-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyWALUXDAAB0Dr5TY5A543.jpg)
-
統計局部梯度信息流程:
- 1)將區域劃分成4x4的block ;
- 2)每個block內統計梯度方向 的直方圖(高斯加權梯度作為系數)
![7b8092ca-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyaAMlghAADAs_7n6iE454.jpg)
(2)Sift描述子——生成描述子
![7b93eb40-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyaAMnt9AABfzcSLsQ4402.jpg)
(2)Sift描述子——歸一化處理
-
處理方式
- 1)門限處理-直方圖每個方向的梯度幅值不超過0.2
- 2)描述子長度歸一化
-
特性:歸一化處理提升了特征點光度變化的不變性
-
SIFT描述子變種:PCA-SIFT/SURF
(3)GLOH描述子[5]:Gradient Location-orientation Histogram
- 一共有1+2x8=17 個blocks
- 每個blocks計算16個方向的直方圖
- 描述子共16x17=272維
- 通過PCA可以降維到128
![7ba335be-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyaADK1mAABvJxP8H5o755.jpg)
(4)DAISY描述子[6]:每個圓的半徑對應高斯的尺度
![7bdac614-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyaAS2RmAAB6TVIyXRA215.jpg)
2、基于不變性的描述子
3、二進制描述子——BRIEF
-
描述子形式:描述向量由N個0或者1組成 N=128,256,512
-
描述子特性:生成速度快(漢明距離),匹配效率高 ,簡單有效;不具有旋轉不變性
-
描述子流程:
- 1)圖像進行如高斯濾波預處理——去除噪聲
- 2)在支持區域內隨機采樣N對大小5×5的patch
- 3)比較patch內像素和的大小,并保留結果構成特征向量 $ au(p;x,y)=left{ egin{aligned} 1, ifp(x)
![7bebdd50-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyaAT9qTAABuM8LsJuA319.jpg)
四、特征匹配
計算兩幅圖像中特征描述子的匹配關系
![7c000370-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyaAWF3zAABNBVrsXZg523.jpg)
1、距離度量
歸一化互相關,1 ->非常匹配,0->不匹配
![7c10253e-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyaARV_8AACBWUMEEYA068.jpg)
2、匹配策略
最近鄰:加了距離約束,防止孤立點
![7c29bdaa-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyaAbwzSAABv9QZ-2T8662.jpg)
3、高效匹配
![7c3cbf68-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyeANQOqAABfFB3-5x8252.jpg)
4、特征匹配驗證
![7c4be448-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyeAJFjbAADtbSqwCvY309.jpg)
![7c6bcdf8-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyeAXSH0AAEEnD2ey3E128.jpg)
![7c841eda-b1a6-11ed-bfe3-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/98/B4/wKgZomTnZyeAOS5iAADokBg3FAw336.jpg)
審核編輯 :李倩
-
算法
+關注
關注
23文章
4625瀏覽量
93136 -
圖像
+關注
關注
2文章
1088瀏覽量
40517 -
深度學習
+關注
關注
73文章
5511瀏覽量
121362
原文標題:綜述:特征點檢測與匹配
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
機器視覺圖像處理之角點檢測技術
Firefly RK3399Pro開源主板 + 單目攝像頭,人體特征點檢測方案
一種基于輪廓分析的圖像特征點檢測方法
基于改進局部不變特征的興趣點匹配
FAST特征點檢測features2D
![FAST<b class='flag-5'>特征</b><b class='flag-5'>點檢測</b>features2D](https://file1.elecfans.com//web2/M00/A6/F9/wKgZomUMQZOAMJdyAAC75QzLAKY553.png)
基于Laplace-Beltrami算子的特征點檢測算法
![基于Laplace-Beltrami算子的<b class='flag-5'>特征</b><b class='flag-5'>點檢測</b>算法](https://file.elecfans.com/web1/M00/EC/27/pIYBAGB_viiAOi0BAAGAsR0EE10505.png)
基于高斯金字塔圖像的改進Harris特征點檢測算法
![基于高斯金字塔圖像的改進Harris<b class='flag-5'>特征</b><b class='flag-5'>點檢測</b>算法](https://file.elecfans.com/web1/M00/EE/20/pIYBAGCTskOAUaLsAALBdf_uS-I085.png)
評論