<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          OpenCV新增描述子BEBLID:提高圖像匹配精度,減少執(zhí)行時間

          共 4119字,需瀏覽 9分鐘

           ·

          2021-09-02 11:04

          點擊下方卡片,關(guān)注“新機器視覺”公眾號

          視覺/圖像重磅干貨,第一時間送達

          本文轉(zhuǎn)載自:當(dāng)SLAM遇見小王同學(xué),文章僅用于學(xué)術(shù)分享。

          在前不久發(fā)布的OpenCV4.5中更新了很多新特性:

          • 從4.5版本開始,OpenCV將正式使用Apache2協(xié)議,從而避免專利算法帶來的潛在糾紛
          • SIFT專利到期,代碼被移到主庫
          • 對RANSAC算法進行了改進
          • 新增了實時單目標(biāo)跟蹤算法SiamRPN++

          還有其他重要更新,這里就不再敘述。值得一提的是,BELID描述子也被添加進去了。

          BEBLID全稱是Boosted Efficient Binary Local Image Descriptor,多項實驗證明能夠提高圖像匹配精度,同時減少執(zhí)行時間。

          # Comment or uncomment to use ORB or BEBLID
          descriptor = cv.xfeatures2d.BEBLID_create(0.75)
          # descriptor = cv.ORB_create()
          kpts1, desc1 = descriptor.compute(img1, kpts1)
          kpts2, desc2 = descriptor.compute(img2, kpts2)

          更多細節(jié)可以參考:

          https://towardsdatascience.com/improving-your-image-matching-results-by-14-with-one-line-of-code-b72ae9ca2b73
          https://github.com/iago-suarez/beblid-opencv-demo/blob/main/demo.ipynb

          CODE:  https://github.com/iago-suarez/BEBLID.git

          PDF: http://www.dia.fi.upm.es/~pcr/publications/PRL_2020_web_BEBLID.pdf

          這里說一下結(jié)論吧,經(jīng)過這個作者測試,將ORB描述符替換為BEBLID,就可以將這兩個圖像的匹配結(jié)果提高14%.

          下面詳細介紹一下這個BEBLID描述子.

          作者提出了一種有效的圖像描述符BELID。其有效性的關(guān)鍵是對一組圖像特征進行有區(qū)別的選擇,且計算量要求非常低。實驗是在電腦和智能手機上進行,BELID的精確度與SIFT相似,執(zhí)行時間與最快的算法ORB相當(dāng)。

          介紹

          局部圖像是用于匹配存在強烈外觀變化的圖像,如光照變化或幾何變換。它們是許多計算機視覺任務(wù)的基本組成部分,如3D重建、SLAM、圖像檢索、位姿估計等。它們是最流行的圖像表示方法,因為局部特征是獨特的,視點不變的。

          為了產(chǎn)生一個局部圖像表示,我們必須檢測一組顯著的圖像結(jié)構(gòu),并為每個結(jié)構(gòu)提供描述。對于各種如角、線和區(qū)域,有大量非常有效的檢測器,它們可以用實數(shù)或二進制描述符來描述。目前SIFT描述子仍然被認為是“黃金標(biāo)準”技術(shù)。

          本文給出了一種有效的描述子。特征使用積分圖像來有效地計算一對圖像正方形區(qū)域的平均灰度值之間的差。作者使用一個增強算法來區(qū)分地選擇一組特征,并將它們組合起來產(chǎn)生強描述。實驗結(jié)果表明,該方法提高了計算速度,執(zhí)行時間接近ORB,精度與SIFT相似,它能夠為手頭的任務(wù)選擇最佳的特征。

          BELID

          在本節(jié)中,作者提出了一種描述圖像局部區(qū)域的有效算法,其速度和SIFT一樣快。其速度的關(guān)鍵是使用少量、快速和選擇性的特征。描述子使用一組使用BoostedSCC算法選擇的K個特征,該算法是對AdaBoost的改進。

          設(shè)是由一對對圖像patches組成的訓(xùn)練集,標(biāo)記{?1,1}。其中= 1表示兩個patch對應(yīng)相同的顯著性圖像結(jié)構(gòu),=?1表示不同的顯著性圖像結(jié)構(gòu).

          訓(xùn)練過程將損失降到最低

          其中,它依賴于特征提取函數(shù)f: X→R和一個閾值T.給定f和T,通過含T的f(x)來定義weak learner,

          1. 閾值平均盒弱學(xué)習(xí)者

          效率的關(guān)鍵是選擇一個f(x),它既具有判別性,又能快速計算。我們定義特征提取函數(shù)f(x)

          I(t)是像素的灰度值t和R (p, s)是大小的正方形盒子集中在帶有尺寸s的像素p。因此,f計算像素的平均灰度值之間的差異(, s)和R(,s)。圖2中的紅色和藍色方塊代表,分別(, s)和R (, s)。加快f的計算,作者使用積分圖像的輸入圖像。一旦S可用,方框中的灰度和可以通過4次內(nèi)存訪問和4次算術(shù)運算來計算。

          檢測器通常計算局部結(jié)構(gòu)的方位和尺度。為了BEBLID描述符不受歐幾里得變換的影響,作者用底層的局部結(jié)構(gòu)來定位和縮放我們的測量值。

          2. 優(yōu)化弱學(xué)習(xí)者權(quán)值

          BoostedSCC算法選擇K個弱學(xué)習(xí)者及其相應(yīng)的權(quán)值。等式1中BoostedSCC優(yōu)化的損耗函數(shù)可以看作是一種度量學(xué)習(xí)方法,其中度量矩陣a是對角的

          其中h(w)是K個弱學(xué)習(xí)者對圖像patch的w響應(yīng)向量。在這種情況下,不考慮不同弱學(xué)習(xí)者響應(yīng)之間的依賴關(guān)系。此時,給定圖像patch w的BELID-U(未優(yōu)化)描述符計算為,其中使=

          進一步,通過對特征之間的相關(guān)性進行建模,估計整個矩陣A可以改善相似函數(shù)。FP-Boost估計最小值

          采用隨機梯度下降法估計對稱的a和是一項困難的工作。因此,該算法從K個弱學(xué)習(xí)器和由BoostedSCC找到的α開始。第二個學(xué)習(xí)步驟非常快,因為所有弱學(xué)習(xí)者的反應(yīng)都可以預(yù)先計算出來

          在未優(yōu)化的描述符的情況下,必須分解相似函數(shù)s(x,y)來計算x和y的獨立描述子。假設(shè)A是一個對稱矩陣,可以使用它的特征分解來選擇特征值最大的D個特征向量

          實驗

          不同的場景:巴黎圣母院,約塞米蒂國家公園和紐約的自由女神像。在SIFT檢測到的局部結(jié)構(gòu)周圍裁剪PATCH。

          作者用三種方法來比較性能:

          • FPR-95.: 這是一個PATCH驗證問題中95%的召回誤報率。當(dāng)開發(fā)BEBILD描述符時,作者希望能夠匹配大部分的局部結(jié)構(gòu),比如說95%的召回率,但是有盡可能少的誤報。因此,在PATCH驗證問題中,描述符的FPR-95越低越好。
          • AUC: PATCH驗證問題中ROC曲線下的面積。它提供了一個良好的整體測量,因為它考慮了曲線上的所有操作點,而不是像FPR-95案例中只有一個。
          • mAP.: 在PATCH驗證、圖像匹配和PATCH檢索這三個任務(wù)中,每個任務(wù)的平均精度,在HPatches基準中定義。

          作者已經(jīng)在Python中實現(xiàn)了BoostedSCC、FP-Boost和閾值平均盒弱學(xué)習(xí)者的學(xué)習(xí)和測試部分。為了優(yōu)化A矩陣,使用了固定學(xué)習(xí)率為10 - 8和批量2000個樣本的隨機梯度下降算法。同時也在c++中實現(xiàn)了使用OpenCV處理輸入圖像。作者使用這個實現(xiàn)來測量BELID在不同平臺上的執(zhí)行時間。

          1. PATCH驗證實驗

          在這里,首先探索維度數(shù)的影響。在圖3中,顯示了AUC和FPR-95值作為維數(shù)(“N維”)的函數(shù)。在BELID的例子中,使用K = 512,并計算B從512維減少到圖中給出的一個。

          首先運行BoostedSSC來選擇512個弱學(xué)習(xí)者。通過從這個初始集合中移除最后的弱學(xué)習(xí)者,作者改變了圖3中BELID- u曲線的維數(shù)。對于BELID,丟棄了B的最后一列,它們對應(yīng)于與最小特征值相關(guān)的縮放特征向量

          從圖3可以看出,boosting過程選擇的特征最多只在一點上對最終判別有貢獻。在128個弱學(xué)習(xí)者之后,每個新特征提供的改進非常小。在256之后,沒有得到任何改進,這意味著最后一個是多余的。優(yōu)化后的BELID性能優(yōu)于BELIDU,BELID得分最低FPR-95有128個尺寸。

          2. Hpatches數(shù)據(jù)集實驗

          圖5顯示了用HPathces工具獲得的各種BELID配置和其他競爭方法的結(jié)果.作者得到了與之前實驗相同的情況,所有的BELID配置都比SIFT好,69.57 vs 63.35,比ORB好得多。

          然而,在另外兩個任務(wù)中,BEBILD描述子落后于SIFT。這是一個預(yù)期的結(jié)果,因為作者沒有為這些任務(wù)優(yōu)化描述子??傊?,BELID在所有任務(wù)中提供的結(jié)果接近SIFT,并優(yōu)于ORB。

          3. 不同平臺的執(zhí)行時間

          在最后的實驗中,作者測試了c++實現(xiàn)的BELID處理圖像的時間,呈現(xiàn)了由來自8個不同場景的48張800×640圖像組成的Mikolajczyk數(shù)據(jù)集的執(zhí)行時間。

          作者將執(zhí)行時間與OpenCV庫中的其他相關(guān)描述子進行比較。為此運行ORB ,、SIFT 、 LBGM和BinBoost。結(jié)果在表1中。

          就速度而言,BELID-U與ORB相當(dāng)。事實上,BELID-U在桌面環(huán)境下和ORB一樣快(0.41 ms vs 0.44 ms),在有限的CPU環(huán)境下更快(2.54 ms vs 6.49 ms)。這是意料之中的,因為兩者都使用一組灰度值差異作為特征。LBGM使用與BELID相同的特征選擇算法,但具有較慢的特征。因此,這個描述符需要與桌面設(shè)置中的SIFT相同的處理時間(19.77 ms vs 22.22 ms),但FPR-95稍好。

          在桌面CPU上,BELID-128只需要3.08毫秒,大約是BELID-U和ORB的7倍。在智能手機CPU中,BELID128的時間也比BELID-U慢7倍左右。

          結(jié)論

          本文提出了一種有效的圖像描述符BELID。在實驗中,作者證明了它有非常低的計算要求,在準確度方面,BELID優(yōu)于ORB,接近SIFT。


          —版權(quán)聲明—

          僅用于學(xué)術(shù)分享,版權(quán)屬于原作者。

          若有侵權(quán),請聯(lián)系微信號:yiyang-sy 刪除或修改!


          —THE END—
          瀏覽 42
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产女人在线播放 | 20岁天然美乳白虎女大生 | 国产怡红院 | 久久久精品少妇 | 俺来也俺也去成人女优 |