資源描述:
《OpenCV特征點(diǎn)檢測------ORB特征.pdf》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、OpenCV特征點(diǎn)檢測------ORB特征+添加收藏?wangyaninglm?2015-04-01?204查看?0評論ORB算法ORB是是ORientedBrief的簡稱。ORB的描述在下面文章中:EthanRubleeandVincentRabaudandKurtKonoligeandGaryBradski,ORB:anefcientalternativetoSIFTorSURF,ICCV2011沒有加上鏈接是因?yàn)樽髡叽_實(shí)還沒有放出論文,不過OpenCV2.3RC中已經(jīng)有了實(shí)現(xiàn),WillowGarage有一個talk也提到了這個算法,因此我不揣淺陋,在這里總
2、結(jié)一下。Brief是BinaryRobustIndependentElementaryFeatures的縮寫。這個特征描述子是由EPFL的Calonder在ECCV2010上提出的。主要思路就是在特征點(diǎn)附近隨機(jī)選取若干點(diǎn)對,將這些點(diǎn)對的灰度值的大小,組合成一個二進(jìn)制串,并將這個二進(jìn)制串作為該特征點(diǎn)的特征描述子。詳細(xì)算法描述參考如下論文:CalonderM.,LepetitV.,StrechaC.,FuaP.:BRIEF:BinaryRobustIndependentElementaryFeatures.ECCV2010注意在BRIEFeccv2010的文章中,BR
3、IEF描述子中的每一位是由隨機(jī)選取的兩個像素點(diǎn)做二進(jìn)制比較得來的。文章同樣提到,在此之前,需要選取合適的gaussiankernel對圖像做平滑處理。(為什么要強(qiáng)調(diào)這一點(diǎn),因?yàn)橄率龅腛RB對此作了改進(jìn)。)BRIEF的優(yōu)點(diǎn)在于速度,缺點(diǎn)也相當(dāng)明顯:1:不具備旋轉(zhuǎn)不變性。2:對噪聲敏感3:不具備尺度不變性。ORB就是試圖解決上述缺點(diǎn)中的1和2.如何解決旋轉(zhuǎn)不變性:在ORB的方案中,是采用了FAST作為特征點(diǎn)檢測算子。FAST應(yīng)用的很多了,是出名的快,以防有人不知道,請看這里:在Sift的方案中,特征點(diǎn)的主方向是由梯度直方圖的最大值和次大值所在的bin對應(yīng)的方向決定的。
4、略嫌耗時。在ORB的方案中,特征點(diǎn)的主方向是通過矩(moment)計(jì)算而來,公式如下:有了主方向之后,就可以依據(jù)該主方向提取BRIEF描述子。但是由此帶來的問題是,由于主方向會發(fā)生變化,隨機(jī)點(diǎn)對的相關(guān)性會比較大,從而降低描述子的判別性。解決方案也很直接,采取貪婪的,窮舉的方法,暴力找到相關(guān)性較低的隨機(jī)點(diǎn)對。如何解決對噪聲敏感的問題:在前面提到過,在最早的eccv2010的文章中,BRIEF使用的是pixel跟pixel的大小來構(gòu)造描述子的每一個bit。這樣的后果就是對噪聲敏感。因此,在ORB的方案中,做了這樣的改進(jìn),不再使用pixel-pair,而是使用9×9的p
5、atch-pair,也就是說,對比patch的像素值之和。(可以通過積分圖快速計(jì)算)。關(guān)于尺度不變性:ORB沒有試圖解決尺度不變性,(因?yàn)镕AST本身就不具有尺度不變性。)但是這樣只求速度的特征描述子,一般都是應(yīng)用在實(shí)時的視頻處理中的,這樣的話就可以通過跟蹤還有一些啟發(fā)式的策略來解決尺度不變性的問題。關(guān)于計(jì)算速度:ORB是sift的100倍,是surf的10倍。關(guān)于性能:下面是一個性能對比,ORB還是很給力。點(diǎn)擊看大圖。參考SlidesRelatedpostsAndroid-opencv之CVCamera(1)最新版的OpenCV中新增加的ORB特征的使用分類:O
6、pencv學(xué)習(xí)C++2011-11-3012:1511612人閱讀評論(16)收藏舉報(bào)floatimagedistancevectorobjectless看到OpenCV2.3.1里面ORB特征提取算法也在里面了,套用給的SURF特征例子程序改為ORB特征一直提示錯誤,類型不匹配神馬的,由于沒有找到示例程序,只能自己找答案。(ORB特征論文:ORB:anefficientalternativetoSIFTorSURF點(diǎn).擊下載論文)經(jīng)過查找發(fā)現(xiàn):描述符數(shù)據(jù)類型有是float的,比如說SIFT,SURF描述符,還有是uchar的,比如說有ORB,BRIEF對于flo
7、at匹配方式有:FlannBasedBruteForce>BruteForce>BruteForce>對于uchar有:BruteForceBruteForceBruteForceMatcher>matcher;//改動的地方完整代碼如下:#include#include"opencv2/core/core.hpp"#include"opencv2/features2d/features2d.hpp"#include"ope
8、ncv2/