一:pipeline
(1):基於模型的pose估計綜述:
對於乙個3d模型,可以投影到平面,得到不同的位姿,而pose識別是利用所見的2.5d影象,來估計模型,並同時識別出位姿。
3d模型投影時注意的幾點:
1. 投影模型在投影前必須進行點雲補全,設定乙個閾值t,利用貪婪演算法進行模型補全,以免透視穿透現象;
2. 投影模型必須從原始位姿進行數值變換進行投影,不能進行迭代計算,以避免累積誤差;
3. 投影模型必須投影到離散平面,即進行xyz值整數化;
(2):超畫素特徵的提取:
對於每乙個投影,都可以設定乙個畫素數閾值tn,進行超畫素分割,得到一系列的點集;
對每乙個點進行提取類似於 sift特徵描述的 超畫素特徵,得到特徵向量;
旋轉不變性: 這個不需要,位姿估計若產生旋轉,則位姿也發生變化;
(3):特徵匹配的過程:
對於每乙個分割,進行特徵初步篩選,選取場景內候選目標;
對每乙個目標進行超畫素分割,選取特徵;
進行kd樹匹配;
二:特徵選取:
選取細節:
深度圖 灰度化 :
對於rgb變化劇烈的 物體表面,提取結合的特徵是比較適合的,但必定會掩飾一些位姿資訊;適用於表面變化不大而紋理變化劇烈的問題;
對於表面形狀變化劇烈的物體,提取表面特徵是比較合適的,直覺上可以達到esf特徵同等的效果;
基於sift特徵描述的介紹,超畫素的每一塊提取類似於sift特徵點描述子的特徵;以保持不變性;
特徵綜合:
對每乙個分割,生成乙個超畫素級別的矩陣;
對矩陣的每乙個元素,生成乙個畫素級別的特徵;
利用矩陣距離進行相似度匹配;
轉入圖匹配的過程;
人臉特徵點檢測
參考 face alignment by explicit shape regression。演算法的實現原始碼在裡的explicitshaperegression.cpp裡面。下面貼上乙個檢測結果 人臉特徵點有不少應用,比如可以對齊人臉,或者做人臉變形。在人臉資料庫裡挑選了一些人臉,對齊它們,求出...
ORB特徵點檢測
這篇文章我們將介紹一種新的具有區域性不變性的特徵 orb特徵,從它的名字中可以看出它是對fast特徵點與breif特徵描述子的一種結合與改進,這個演算法是由ethan rublee,vincent rabaud,kurt konolige以及gary r.bradski在2011年一篇名為 orb ...
GFTT特徵點檢測
角點檢測,避免出現聚簇現象 shi tomasi的角點檢測演算法,名稱goodfeaturetotrack,opencv的feature2d介面整合了這種演算法,名稱為gfttdetector,介面如下 ptrcreate int maxcorners 1000,double qualityleve...