ORB特征是一种图像识别、追踪和匹配中常用的特征,大名鼎鼎的ORB-SLAM就是使用的这一特征。它提取FAST特征点,并通过特征点附近的窗口矩计算特征点的方向,含方向的FAST特征也被称为oFAST特征。对提取到的oFAST特征,进一步计算BRIEF描述子。ORB特征包含了两部分,一是特征点位置,二是它的BRIEF 256位描述子。
加速器结构,输入输出都是AXI-Stream接口
上图为图像加速部分的工程示意图。这里同样使用了HLS编写的加速IP采用AXI-Stream数据接口,数据接口与DMA首尾相连,只要控制DMA就可以驱动它。
总体工程
本项目的例子输入是SD卡中保存好的图片,当然也可以自己从摄像头读取图片。
快速开始
运行下面这条命令即可快速安装:
sudo pip3 install git+https://github.com/Siudya/ORB_FPGA.git
项目演示
安装好以后打开ORB_FPGA/ORB_FPGA..ipynb
这里可以打印前两个特征点的内容。可以看到前8个32位数是描述子,后两个是坐标。
把特征点画在原来的图像上,可以看到检测出的特征点大部分是角点和边缘点。这实际上和FAST特征是一致的,但是FAST特征不包含描述子。
接下来读取更多图片来看看吞吐量如何。这里读取了20张图片,统统送入加速器加速,可以看到帧数可以达到56帧。
项目中也提供了纯软件测试的可执行程序,可以直接运行。
-
FPGA
+关注
关注
1602文章
21309浏览量
593130 -
cpu
+关注
关注
68文章
10437浏览量
206527 -
图像识别
+关注
关注
8文章
447浏览量
37907 -
orb
+关注
关注
0文章
21浏览量
9852
发布评论请先 登录
相关推荐
评论