在機器視覺中,經常聽到兩個名字:角點、特徵點。出現頻率比較高的:角點檢測、特徵點匹配。
那麼問題來了,角點和特徵點到底什麼關係?
**影象的特徵點(feature point)**是指影象中具有鮮明特性並能夠有效反映影象本質特徵能夠標識影象中目標物體的點。(反應影象特徵的點)
**影象的角點(corner point)**作為影象關鍵的區域性結構特徵,通常被描述成灰度強度變化不連續的點,被稱為灰度影象上的奇異特徵點。
角點屬於特徵點,而特徵點包括了角點以及其他點。因此可以把角點叫做特徵點,但是不能認為特徵點就是角點。
角點在影象特徵點中佔比很大,大部分的研究均圍繞著它展開的。
角點的兩種定義:1)二維灰度影象中各個不同方向灰度亮度資訊劇烈變化的點;2)影象中所有邊緣輪廓線上的曲率極大值點。
那麼角點如何應用呢?
①獲取影象角點(定位角點)
檢測子(detector)提取:利用基於灰度強度、基於角點模型和基於邊緣輪廓的角點檢測演算法獲得影象中角點的位置。(sift演算法、surf演算法、harris演算法、fast演算法等)
②描述影象角點(角點特徵)
描述子(descriptor)提取:利用數值方法定義每個角點的特徵,便於第三步的特徵匹配。(鄰域模板匹配、sift特徵描述子、surf特徵描述子、orb特徵描述子)。
③匹配通過描述子,匹配待匹配的兩幅影象的角點。(暴力匹配、kd樹等)
這裡說一下sift
從上面的描述不難發現,sift即有自己的檢測子,又包括了自己的描述子。因此有時候我們會看到,sift檢測子,sift描述子之類的描述,你可能會問sift到底是啥?
sift是乙個特徵,可以用sift檢測子從影象中檢測出該特徵,用sift描述子描述該特徵。
這裡再提一下sift描述子
描述子生成:
1)旋轉影象至主方向
在角點的鄰域內,把所有點的梯度方向統計至直方圖(隔10°設定乙個直方圖,36個直方圖),找到直方圖中的值最大的方向為主方向。然後把兩個待匹配的特徵點的其中乙個點進行旋轉,保持兩個特徵點的主方向相同。
2)三線性插值
影象旋轉後,原來在整點的畫素點可能不在整點了,例如:原點為(2,4),旋轉後是(3.5,3)。這樣沒法進行後續操作,因此需要插值,用非整點畫素插值出整點畫素。
3)生成128維特徵向量
大家可以數一下4x4x8=128
總共有16個區域,每個區域16個畫素點,把16個畫素點的梯度化為8個方向的向量,類似於力合成與分解。
4)歸一化向量
為了去除光照變化的影響,需要對特徵向量歸一化,每個向量除以總向量的l2範數。之後把歸一化的向量中大於0.2的設定為0.2,再進行以此歸一化。
角點特徵檢測
1 何為 角點 對角點可以從兩個不同的角度定義 角點是兩個邊緣的交點 角點是鄰域內具有兩個主方向的特徵點。角點所在的區域通常也是影象中穩定的 資訊豐富的區域,這些區域可能具有某些特性,如旋轉不變性 尺度不變性 仿射不變性和光照亮度不變性。因此,在計算機視覺和數字影象領域,研究角點具有重要的意義。2 ...
基於特徵點的物體檢測
本教程是一種用於基於在參考影象和目標影象之間找到點對應關係來檢測特定物件的演算法。儘管尺度變化或平面內旋轉,它仍可以檢測物體。它對於少量的平面外旋轉和遮擋也很穩健。這種物件檢測方法最適用於呈現非重複紋理圖案的物件,這會產生獨特的特徵匹配。對於均勻著色的物件或包含重複圖案的物件,此技術不太適用。請注意...
點雲處理(2) 基於RGB值特徵檢測的點雲分割演算法
tips 本文已在專案中應用,若對本方法比較認可和熟悉,可通過了解 0.應用描述 和 1.演算法理論 部分完成自己的演算法。通過深度相機採集到彩色影象 rgb.png 和深度影象 depth.png 並且兩張是畫素對準的,由此可得到資料型別為pcl pointxyzrgb的點雲資訊 png格式的深度...