博客專欄

        EEPW首頁 > 博客 > PPF(Point Pair Features)原理及實戰技巧

        PPF(Point Pair Features)原理及實戰技巧

        發布人:計算機視覺工坊 時間:2021-11-07 來源:工程師 發布文章

        簡介?

        基于Point Pair Features(PPF)的6D姿態估計方法PPF,Drost et al., 2010(https://ieeexplore.ieee.org/document/5540108),是在機器視覺領域應用廣泛的一種物體位姿提取方法。大名鼎鼎的Halcon,其Surface Matching 模塊就是在這種方法的基礎上做的優化。(Halcon有一份technique notes 專門講該模塊的使用)。

        1.png

        這種方法具有什么優勢呢?

        1.在工業場景中,有大量缺少表面紋理或局部曲率變化很小的物體,無法利用局部特征提取匹配點對,因此基于局部特征點匹配的姿態估計方法無法使用

        2.該方法的輸入,model(物體模型)與scene(場景)均為點云;隨著3D傳感器技術的發展,市場上出現了很多極具性價比的工業級3D傳感器,獲取高質量點云的成本越來越低

        原理

        該法的原理,有篇文章珠玉在前PPF原理(https://zhuanlan.zhihu.com/p/94952276),對原論文講解很詳細,這里不再重復,我想強調幾個點:

        1.一個高度概括:原論文的標題,"Model Globally, Match Locally"高度概括了該法的優點;所謂Model Globally,是指對model中所有的點對(任取兩個點組成一個點對,遍歷所有可能的組合)都計算了PPF描述子,以描述子為key,以這兩個點為value構建hash table, 該hash table可以看作是對model 的一個global的描述; 在使用scene進行匹配的時候,同樣要對scene中所有點對計算PPF描述子,然后在hash table中進行查找;

        2.一種思想:廣義霍夫變換是一種2D 形狀匹配方法,早已于上世紀80年代提出。PPF可以看作該法的3D推廣。基于Hough Voting思想,PPF描述子可以看成是一種“去中心化”的特征描述子。什么是“去中心化”?就是說兩個點到底匹不匹配,不像傳統的局部特征描述子,依賴點的局部信息,而是要靠其他的點來投****。盡管會有噪聲影響,但是正確的匹配一定會在投****過程中被“群眾”突顯出來,取得最高****數。由于PPF采取了Hough Voting的思想,因此繼承了其優缺點:

        優點:

        1) 對于輕微形變、遮擋魯棒性好

        2) 抗噪聲能力強

        3) 可一次提取出多個目標(對比Ransac與Hough Voting, 兩者都是做model fitting的經典方法,但是Hough voting在這一點上勝過Ransac)

        缺點:

        1)參數空間維度高,空間復雜度和時間復雜度都很高;

        2.png

        優化

        2017年的文章:Going Further with Point Pair Features (https://link.springer.com/chapter/10.1007%2F978-3-319-46487-9_51) 對PPF進行了優化, 取得了很好的效果。這篇文章指出Drost提出的原算法(以下稱為Drost-PPF)及其變種中的問題:

        sampling  schemes of pairs of 3D points 被長期忽視,導致方法效率低下

        傳感器噪聲的影響:影響了quantization過程,而整個算法的加速正是靠quantization

        雜亂背景的影響:影響了算法中投****的過程

        針對這幾個問題,作者采取的優化措施有以下幾條:

        1.Pre-processing:  點云的降采樣的策略。降采樣可以加速計算,并且避免一些很接近的點(空間距離近的點往往法向量也很接近)產生的不具有區分性的PPF features。Drost-PPF中的降采樣策略比較簡單,作者認為會丟失部分有用信息,所以,即使兩個點的距離夠近,但如果法向量角度偏差超過30度,也會予以保留。

        3.png4.png5.png6.png7.png

        根據投****結果生成pose。Drost-PPF 使用了一種貪心策略(評價的標準是投****空間的投****數)來做pose cluster。本文作者發現這種策略在有噪聲和背景干擾的情況下并不魯棒,投****數也不是一個可靠的標準。

        作者采用了一種自底向上的聚類方法,允許每個pose同時屬于不同的cluster。需要保存每個pose相關聯的model point。pose  A可以為其cluster投****,但是是有條件的,如果存在另一個pose B,pose B關聯的model point與pose A相同,且已經為該cluster投過****,則pose A不再參與投****。這避免了repetitive geometric structures (比如平面)引起的bias。

        下面幾個后處理也是比較重要的:

        1)Refine:使用了projective ICP 來做pose refine。只選擇了兩個voting ball中排名前四的cluster 來做refine。

        2)Occulation check: 根據pose將物體虛擬投影到2D圖上,檢查對應像素的深度值,同虛擬投影相比,原深度圖有多少距離相機更近,有多少更遠,如果更近的像素比例過大(大于總像素數的10%),這個pose顯然是有問題的,拒絕這個pose。

        3)Silhouette check: 同樣根據pose將物體虛擬投影到2D圖上,得到輪廓。同時計算場景點云中深度和法向量變化劇烈的區域, 檢查輪廓是否被這些區域cover了。如果有大于10%的輪廓沒有被cover,拒絕這個pose

        實驗結果:

        作者在兩個數據集上進行了測試,ACCV DataSet,Occlusion DataSet(https://www.cv-foundation.org/openaccess/content_iccv_2015/papers/Krull_Learning_Analysis-by-Synthesis_for_ICCV_2015_paper.pdf), 評價標準是Recogniton rate (定義在Learning Analysis-by-Synthesis for 6D Pose Estimation in RGB-D Images(https://www.cv-foundation.org/openaccess/content_iccv_2015/papers/Krull_Learning_Analysis-by-Synthesis_for_ICCV_2015_paper.pdf))

        計算時間在0.1~0.8s之間(640x 480 depth map)

        Tips

        背景及其他雜物盡量提前移除, 在工業應用場景這是比較好實現的

        在投****過程中, scene上的Sr選取可以進一步降采樣,實現提速的目的

        參考文獻

        1、Model globally, match locally: Efficient and robust 3D object recognition

        (https://ieeexplore.ieee.org/document/5540108)

        2、PPF介紹:(https://zhuanlan.zhihu.com/p/94952276)

        3、Going Further with Point Pair Features

        (https://link.springer.com/chapter/10.1007%2F978-3-319-46487-9_51)

        備注:作者也是我們「3D視覺從入門到精通」特邀嘉賓:一個超干貨的3D視覺學習社區

        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。

        pwm相關文章:pwm原理




        關鍵詞: AI

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 康乐县| 赞皇县| 琼海市| 抚州市| 平山县| 稻城县| 九江县| 密云县| 上虞市| 隆安县| 昌都县| 准格尔旗| 梁山县| 蒲江县| 琼海市| 泸水县| 巩留县| 山阳县| 彭水| 榆中县| 南溪县| 那坡县| 嵊泗县| 准格尔旗| 墨玉县| 松潘县| 文登市| 镇巴县| 汉中市| 淳安县| 祁连县| 高青县| 富源县| 会昌县| 陇西县| 盐城市| 济宁市| 广东省| 股票| 长海县| 泰顺县|