ORB特征是一種圖像識(shí)別、追蹤和匹配中常用的特征,大名鼎鼎的ORB-SLAM就是使用的這一特征。它提取FAST特征點(diǎn),并通過(guò)特征點(diǎn)附近的窗口矩計(jì)算特征點(diǎn)的方向,含方向的FAST特征也被稱為oFAST特征。對(duì)提取到的oFAST特征,進(jìn)一步計(jì)算BRIEF描述子。ORB特征包含了兩部分,一是特征點(diǎn)位置,二是它的BRIEF 256位描述子。

ORB特征計(jì)算的流程
本項(xiàng)目實(shí)現(xiàn)了ORB_FPGA單層圖像金字塔的ORB特征提取,利用FPGA的并行計(jì)算能力,使這一過(guò)程比起純CPU執(zhí)行加速了5.6倍。

加速器結(jié)構(gòu),輸入輸出都是AXI-Stream接口
上圖為圖像加速部分的工程示意圖。這里同樣使用了HLS編寫(xiě)的加速IP采用AXI-Stream數(shù)據(jù)接口,數(shù)據(jù)接口與DMA首尾相連,只要控制DMA就可以驅(qū)動(dòng)它。

總體工程
本項(xiàng)目的例子輸入是SD卡中保存好的圖片,當(dāng)然也可以自己從攝像頭讀取圖片。
快速開(kāi)始
運(yùn)行下面這條命令即可快速安裝:
sudo pip3 install git+https://github.com/Siudya/ORB_FPGA.git
項(xiàng)目演示
安裝好以后打開(kāi)ORB_FPGA/ORB_FPGA..ipynb

首先是初始化軟硬件,并且讀取圖片。注意讀取進(jìn)來(lái)的圖片要拷貝到xlnk分配的內(nèi)存才可以使用DMA傳輸。

將圖片從兩個(gè)輸入DMA寫(xiě)到加速器中再?gòu)妮敵鯠MA讀回。統(tǒng)計(jì)收到的字節(jié)數(shù)可以得知1914個(gè)特征點(diǎn)被檢測(cè)到了。

這里可以打印前兩個(gè)特征點(diǎn)的內(nèi)容??梢钥吹角?個(gè)32位數(shù)是描述子,后兩個(gè)是坐標(biāo)。
把特征點(diǎn)畫(huà)在原來(lái)的圖像上,可以看到檢測(cè)出的特征點(diǎn)大部分是角點(diǎn)和邊緣點(diǎn)。這實(shí)際上和FAST特征是一致的,但是FAST特征不包含描述子。

接下來(lái)讀取更多圖片來(lái)看看吞吐量如何。這里讀取了20張圖片,統(tǒng)統(tǒng)送入加速器加速,可以看到幀數(shù)可以達(dá)到56幀。
項(xiàng)目中也提供了純軟件測(cè)試的可執(zhí)行程序,可以直接運(yùn)行。

-
FPGA
+關(guān)注
關(guān)注
1652文章
22238瀏覽量
628763 -
cpu
+關(guān)注
關(guān)注
68文章
11202瀏覽量
222215 -
圖像識(shí)別
+關(guān)注
關(guān)注
9文章
529瀏覽量
39770 -
orb
+關(guān)注
關(guān)注
0文章
21瀏覽量
10140
發(fā)布評(píng)論請(qǐng)先 登錄
基于級(jí)聯(lián)分類器的人臉檢測(cè)基本原理
淘寶圖片搜索接口開(kāi)發(fā)實(shí)戰(zhàn):從 CNN 特征提取到商品匹配(附避坑手冊(cè) + 可復(fù)用代碼)
浙江大學(xué)最新NC:效率高達(dá)33.15%,金字塔結(jié)構(gòu)打造高效鈣鈦礦/硅疊層電池
紅海轉(zhuǎn)身!溫達(dá)電子雙輪破局連接器金字塔
基于深度學(xué)習(xí)的增強(qiáng)版ORB-SLAM3詳解
CADENAS 在 2025 年金字塔公司聯(lián)系博覽會(huì)上取得圓滿成功
VirtualLab應(yīng)用:基于衍射的計(jì)量和表征技術(shù)
VirtualLab 應(yīng)用:反射式金字塔波前傳感器的仿真
VirtualLab:基于衍射的計(jì)量和表征技術(shù)
VirtualLab案例:基于衍射的計(jì)量和表征技術(shù)
VirtualLab Fusion案例:反射式金字塔波前傳感器的仿真
反射式金字塔波前傳感器的仿真
使用機(jī)器學(xué)習(xí)改善庫(kù)特征提取的質(zhì)量和運(yùn)行時(shí)間
談?wù)凱CB工程師金字塔分級(jí)標(biāo)準(zhǔn)
友思特方案 精析“蟬翼”:FPGA圖像處理方案助力鋰電池高速產(chǎn)線檢測(cè)新升級(jí)

ORB_FPGA單層圖像金字塔的ORB特征提取方案分析
評(píng)論