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
首先是初始化软硬件,并且读取图片。注意读取进来的图片要拷贝到xlnk分配的内存才可以使用DMA传输。
这里可以打印前两个特征点的内容。可以看到前8个32位数是描述子,后两个是坐标。
把特征点画在原来的图像上,可以看到检测出的特征点大部分是角点和边缘点。这实际上和FAST特征是一致的,但是FAST特征不包含描述子。
接下来读取更多图片来看看吞吐量如何。这里读取了20张图片,统统送入加速器加速,可以看到帧数可以达到56帧。
项目中也提供了纯软件测试的可执行程序,可以直接运行。
-
FPGA
+关注
关注
1635文章
21834浏览量
608189 -
cpu
+关注
关注
68文章
10944浏览量
213849 -
图像识别
+关注
关注
9文章
524浏览量
38534 -
orb
+关注
关注
0文章
21浏览量
9947
发布评论请先 登录
相关推荐
VirtualLab:基于衍射的计量和表征技术
VirtualLab案例:基于衍射的计量和表征技术
VirtualLab Fusion案例:反射式金字塔波前传感器的仿真
反射式金字塔波前传感器的仿真
使用机器学习改善库特征提取的质量和运行时间

谈谈PCB工程师金字塔分级标准
FPGA在图像处理领域的优势有哪些?
图像识别算法的核心技术是什么
图像识别技术的原理是什么
opencv的主要功能有哪些
ESP8266是否能实现金字塔式的Wifi级联?
基于深度学习的鸟类声音识别系统
基于FPGA的实时边缘检测系统设计,Sobel图像边缘检测,FPGA图像处理
如何提取、匹配图像特征点
工程实践中VINS与ORB-SLAM的优劣分析

评论