0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ORB_FPGA单层图像金字塔的ORB特征提取方案分析

454398 来源:PYNQ开源社区 作者:PYNQ开源社区 2020-09-26 11:43 次阅读

ORB特征是一种图像识别、追踪和匹配中常用的特征,大名鼎鼎的ORB-SLAM就是使用的这一特征。它提取FAST特征点,并通过特征点附近的窗口矩计算特征点的方向,含方向的FAST特征也被称为oFAST特征。对提取到的oFAST特征,进一步计算BRIEF描述子。ORB特征包含了两部分,一是特征点位置,二是它的BRIEF 256位描述子。

ORB特征计算的流程

本项目实现了ORB_FPGA单层图像金字塔的ORB特征提取,利用FPGA的并行计算能力,使这一过程比起纯CPU执行加速了5.6倍。

加速器结构,输入输出都是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传输。

将图片从两个输入DMA写到加速器中再从输出DMA读回。统计收到的字节数可以得知1914个特征点被检测到了。

这里可以打印前两个特征点的内容。可以看到前8个32位数是描述子,后两个是坐标。

把特征点画在原来的图像上,可以看到检测出的特征点大部分是角点和边缘点。这实际上和FAST特征是一致的,但是FAST特征不包含描述子。

接下来读取更多图片来看看吞吐量如何。这里读取了20张图片,统统送入加速器加速,可以看到帧数可以达到56帧。

项目中也提供了纯软件测试的可执行程序,可以直接运行。

可以看到在O2优化的条件下,PS端运行相同算法仅仅只有10.2帧,使用硬件加速器加速达到了5.6倍之多。

编辑:hfy


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1625

    文章

    21663

    浏览量

    601670
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10824

    浏览量

    211088
  • 图像识别
    +关注

    关注

    9

    文章

    519

    浏览量

    38230
  • orb
    orb
    +关注

    关注

    0

    文章

    21

    浏览量

    9885
收藏 人收藏

    评论

    相关推荐

    FPGA图像处理领域的优势有哪些?

    单元和可编程互联线,可以实现高度并行的数据处理。在图像处理任务中,如图像预处理、特征提取图像识别等,需要大量的计算任务。FPGA可以通过并
    发表于 10-09 14:36

    基于 FPGA 的会议系统设计

    为控制核心,将声源定位与图像识别相结 合。通过对环境声音的实时检测,实现对声源目标的定位,并基于特征提取和模式匹配的方法对目标进行图像识别,根据提前训练的数据模型,在显示屏上框出 目标并显示目标
    发表于 08-01 18:40

    图像识别算法的核心技术是什么

    图像识别算法是计算机视觉领域的一个重要研究方向,其目标是使计算机能够像人类一样理解和识别图像中的内容。图像识别算法的核心技术包括以下几个方面: 特征提取
    的头像 发表于 07-16 11:02 564次阅读

    图像识别技术的原理是什么

    值化、滤波、边缘检测等操作。这些操作可以提高图像的质量,减少噪声,突出图像特征,为后续的特征提取和分类器设计提供基础。 1.1 去噪 去噪是去除
    的头像 发表于 07-16 10:46 819次阅读

    opencv的主要功能有哪些

    :OpenCV提供了丰富的图像处理功能,包括图像的读取、显示、保存、转换等。此外,OpenCV还支持图像的滤波、边缘检测、形态学操作、图像金字塔
    的头像 发表于 07-16 10:35 1323次阅读

    ESP8266是否能实现金字塔式的Wifi级联?

    最近项目多个节点连网,想请教一下ESP8266是否能实现金字塔式的Wifi级联。 具体构想如下: 1. 第一层 工作节点层。工作节点都设置成STA模式,以最多32个节点(是不是最多32个?)为一组
    发表于 07-10 06:04

    基于深度学习的鸟类声音识别系统

    ,并在该结构中加入了金字塔分割注意力(PSA)模块,以提高网络对空间信息和通道信息的尺度提取的适应性。为了提高模型对全局信息的细化能力,在Bneck模块中引入了通道注意机制和普通卷积,使Bneck模型
    发表于 05-30 20:30

    基于FPGA的实时边缘检测系统设计,Sobel图像边缘检测,FPGA图像处理

    的主要特征提取手段 。由于实时视频图像的边缘检测需要处理的数据量非常大,所以采用一般的软件方法实现起来处理速度慢,无法满足实时性的要求。 随着可编程逻辑器件(FPGA)的高速发展,使用 FPG
    发表于 05-24 07:45

    如何提取、匹配图像特征

    我们习惯从图像中选取比较有代表性的点,然后,在此基础上,讨论相机位姿估计问题,以及这些点的定位问题。 在经典 SLAM 模型中,把它们称为路标,而在视觉 SLAM 中,路标则是指图像特征(Features)。
    的头像 发表于 04-19 11:41 605次阅读

    工程实践中VINS与ORB-SLAM的优劣分析

    ORB-SLAM是一种基于特征的单目视觉SLAM系统,广泛用于实时三维地图构建和机器人定位。该系统使用ORB特征进行高效的视觉识别和地图重建,支持关键帧技术和回环检测来优化地图的准确性
    的头像 发表于 04-08 10:17 2609次阅读
    工程实践中VINS与<b class='flag-5'>ORB</b>-SLAM的优劣<b class='flag-5'>分析</b>

    PLC如何跳出金字塔

    随着电子器件可靠性的提升和成本的降低,越来越多的创新型企业开始将PLC内置于各种设备中。这种内置型PLC以PCB板的形式存在,成为设备内部的一个智能“器官”。
    发表于 02-25 10:41 294次阅读
    PLC如何跳出<b class='flag-5'>金字塔</b>?

    itel闪耀金字塔之巅:2024年品牌发布会在埃及古迹隆重举行

    全球领先的智能生活品牌itel,于2月22日在埃及吉萨金字塔举办全球品牌发布会,这一重大时刻不仅向全球用户展示itel全新品牌形象,也是itel与全球合作伙伴及客户共同见证品牌里程碑的重要时刻。 在
    的头像 发表于 02-24 09:31 1499次阅读
    itel闪耀<b class='flag-5'>金字塔</b>之巅:2024年品牌发布会在埃及古迹隆重举行

    图像识别技术原理 图像识别技术的应用领域

    图像识别技术是一种通过计算机对图像进行分析和理解的技术。它借助计算机视觉、模式识别、人工智能等相关技术,通过对图像进行特征提取和匹配,找出
    的头像 发表于 02-02 11:01 2246次阅读

    OpenCV4图像分析之BLOB特征分析

    BLOB是图像中灰度块的一种专业称呼,更加变通一点的可以说它跟我们前面二值图像分析的联通组件类似,通过特征提取实现常见的各种灰度BLOB对象组件检测与分离。使用该检测器的时候,可以根据
    的头像 发表于 12-28 12:28 1214次阅读
    OpenCV4<b class='flag-5'>图像</b><b class='flag-5'>分析</b>之BLOB<b class='flag-5'>特征</b><b class='flag-5'>分析</b>

    LabVIEW开发自动驾驶的双目测距系统

    基于LabVIEW的双目测距系统。LabVIEW是NI公司的可视化编程软件,它具有强大的数据处理和图像分析能力,能够实现高效的图像处理和匹配算法。 该系统通过灰度值金字塔算法进行
    发表于 12-19 18:02