【2021集创赛】Digilent杯二等奖:基于FPGA的动态视觉感知融合的运动目标检测系统

news2024/10/6 10:28:27

杯赛题目:Diligent杯:基于FPGA开源软核的硬件加速智能平台
参赛组别:A组
设计任务:
利用业界主流软核处理器(仅限于Cortex-M系列及 RISC-V系列)在限定的DIGILENT官方FPGA平台上构建SoC片上系统,在 SoC中添加面向智能应用的硬件加速器(如从最简单的矩阵乘加加速到更复杂的神经网络硬件优化实现)以提高和优化系统的性能,并基于该SoC实现一个基于该SoC的智能信息处理系统,系统具有创新性、实用性和具体的应用场景。
参赛单位:中山大学
总决赛奖项:二等奖

1.项目介绍:

在物联网背景下, 能够高效地实现低功耗、低成本的边缘计算平台越来越受到关注。在无人驾驶和智能监控等领域有了长远的发展,其中高效的运动目标检测算法备受瞩目。对于运动目标检测的高效性需求,Event-based Camera (基于事件的相机)这一概念开始兴起, 动态视觉传感器(DVS)就是其中一类。基于模拟生物形态而开发的用于图像捕捉的DVS, 可快速捕捉并识别动态目标。一方面, 事件驱动的DVS可以快速获得运动目标所激活触发的地址-事件相关数据;另一方面,目前CNN在目标识别和目标检测等计算机视觉领域表现优异。

因此, 本项目采用了一种动态视觉传感器(DVS)和卷积神经网络相结合的运动目标检测混合算法策略。在实际应用中,基于硅视网膜的动态视觉传感器需要特定的运行环境和昂贵的价格,所以本项目使用了一种基于帧图像的动态视觉传感器建模方法。该方法对常见的帧图像视频流进行处理,使得像素矩阵中的像素单元相互独立,从时间和空间的维度上进行连续的差分与逻辑判断。并在此基础上,根据该方法生成的数据特征,使用聚类算法进行对运动目标的提取。并将提取的运动目标活跃区域输入到分类卷积神经网络,完成基于动态视觉传感器的目标检测算法的运算过程。与 Faster R-CNN和SSD卷积神经网络相比,基于动态视觉传感器的目标检测算法在检测运动物体时可以获得优异的检测精度,同时因为计算量的减少,检测速度预计可大幅提升。

普通相机与DVS相机之间的差别。DVS是使用CMOS集成的特定硅视网膜结构,该硅视网膜工作方式类似于生物视网膜,进行光传导与信号处理。不同于常规的图像传感器,DVS放弃了帧概念,因此不会限制响应等待时间和时间分辨率。同时,DVS是对局部亮度变化做出响应的成像传感器,不会像普通CMOS相机那样使用快门捕获图像,而是每个像素单元独立且异步运行,即每个像素可以独立响应亮度发生的变化。DVS中所包含的像素单元异步运行,可以独立响应光强亮度发生的变化,每个像素单元对光强变化进行连续的比较。

DVS中所包含的像素单元异步运行,可以独立响应光强亮度发生的变化,每个像素单元对光强变化进行连续的比较,其工作原理可以表述为:如果DVS中像素单元前后光强变化幅度超过设定阈值,则该像素单元重置其参考电平并生成事件,输出包含时间戳信息的地址-事件离散信息数据;如果变化幅度未达到设定阈值,则该像素单元保持静默,不输出信息数据。为了体现DVS逐像素差分的特点,我们将DVS建模中像素色域增的像素点转化为绿色,减的像素点转化为红色。
在这里插入图片描述

2.软硬件设计介绍:

在这里插入图片描述

我们提出了一种基于DVS和CNN混合框架的目标检测算法,其系统结构概述如图所示,该混合框架的目标检测算法检测过程可以分为三个步骤。首先,需要检测的图像数据流经过基于帧图像的DVS建模处理后,获得对应的地址-事件数据。第二步,使用DBSCAN聚类算法对获得的数据进行处理以提取活跃的运动目标区域。最后一步,将活跃的运动目标区域进行预处理,通过裁剪与缩放以适应CNN网络尺寸大小,处理后的活跃区域作为CNN模型的输入数据,经过卷积池化等运算后提取目标特征,输出识别后的结果

在这里插入图片描述

系统的总体框架如图所示。系统以ARM Cortex-m3片上系统为核心,通过AXI总线控制GPIO、UART、QSPI、DAP-LINK Debugger等基本外设以及针对车牌识别的外设。其中GPIO用于实现Cortex-m3波形输出,UART用于反馈系统信息与测试,QSPI用于访问FLASH,调试器对程序进行下载与调试。
Ov5640reset用于产生SCCB时序,对OV5640摄像头初始化。
VDMA由ARM核初始化好后,成为图像缓存与硬件加速通路的桥梁,且可以通过寻址在调试时实时查看DDR3内存内部数据。可以将各种中间结果存入存储,则ARM通过寻址的方式即可访问数据结果,方便调试。
HDMI输出可选择VDMA不同读出地址,便于实时查看处理数据过程,以及当前电路的效果。

3.总结与展望

首先,本设计通过软件与硬件的结合,将ARM Cortex-M3软核嵌入FPGA,完整地搭建出嵌入式系统,该系统可实现摄像头驱动并传输数据、运动目标定位检测、结果可视化输出至HDMI等。系统具有采集视频图像实时,定位准确,识别误差低,速度快等特点。完成了DVS的目标检测算法在更底层的嵌入式系统移植验证。

在算法方面,我们实现了对图像的采集到DVS建模的全流程硬件化,神经网络识别也成功硬件化。软核完成初始化与实现DBSCAN聚类算法的功能。
参赛感想

本次比赛是高校集成电路领域最为突出的赛事,可以和来自全国各地高校的优秀同学们的互相学习和交流,收获颇丰。我们团队以赛促学,在项目推进的过程中学到了很多课堂外的知识,受益匪浅。最后,感谢本次赛事组委会的工作人员和老师们的高效组织工作与指导,让我们能够参与到这样的大赛之中,接触到贴近于实际又富有新技术与挑战的题目,锻炼提高自身能力。

更多集创赛作品请查看2021年集创赛获奖作品合集(持续更新中)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1127054.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

猿辅导发布博物馆新知计划,上线文物科普记录片《文物也有AB面》

博物馆里有什么?文物,可能是大多数人脱口而出的答案。博物馆拥有包罗万象的文物,不仅能够传递知识,提供艺术养分,更有助于青少年增强文化自信和文化传承的使命感。一座博物馆就像一所大学校,一个能够普及知…

lwip多网卡自适应选择

当系统中有多个网卡时,lwip会选择第一个网卡作为默认网卡,ping、tftp、iperf都会选择第一个网卡来进行,没有办法使用第二个网卡(一些命令可以通过-i选项选择网卡,有些命令则没有提供),此时需要修…

NSS [SWPUCTF 2021 新生赛]PseudoProtocols

NSS [SWPUCTF 2021 新生赛]PseudoProtocols 先看题目&#xff0c;题目要求我们先找到hint.php。 看这个get请求头&#xff0c;我们先用php://filter协议读一波 得到提示&#xff0c;让我们前往/test2222222222222.php 源码如下 <?php ini_set("max_execution_time&qu…

Excel怎么合并单元格?这4个方法很简单!

“有没有朋友知道Excel合并单元格应该怎么操作呀&#xff1f;在制作工作报表中&#xff0c;需要对Excel单元格进行合并操作&#xff0c;但是我不太熟悉详细的操作&#xff0c;希望大家帮帮我&#xff01;” 在Excel中&#xff0c;合并单元格是一项常用的操作&#xff0c;用于改…

【Docker】Dockerfile使用技巧

开启Buildkit BuildKit是Docker官方社区推出的下一代镜像构建神器&#xff0c;可以更加快速&#xff0c;有效&#xff0c;安全地构建docker镜像。 尽管目前BuildKit不是Docker的默认构建工具&#xff0c;但是完全可以考虑将其作为Docker&#xff08;v18.09&#xff09;的首选…

基本的爬虫工作原理

爬虫是一种自动化程序&#xff0c;能够模拟人类的浏览行为&#xff0c;从网络上获取数据。爬虫的工作原理主要包括网页请求、数据解析和数据存储等几个步骤。本文将详细介绍爬虫的基本工作原理&#xff0c;帮助读者更好地理解和应用爬虫技术。 首先&#xff0c;爬虫的第一步是…

CTFHub-SSRF-读取伪协议

WEB攻防-SSRF服务端请求&Gopher伪协议&无回显利用&黑白盒挖掘&业务功能点-CSDN博客 伪协议有&#xff1a; file:/// — 访问本地文件系统 http:/// — 访问 HTTP(s) 网址 ftp:/// — 访问 FTP(s) URLs php:/// — 访问各个输入/输出流(I/O streams) dic…

NSS [NCTF 2018]滴!晨跑打卡

NSS [NCTF 2018]滴!晨跑打卡 很明显是sql注入 输入一个1&#xff0c;语句直接显示了&#xff0c;非常的真诚和坦率 简单尝试了一下&#xff0c;发现有waf&#xff0c;过滤了空格 拿burp跑一下fuzz&#xff0c;看看有多少过滤 过滤了# * - 空格那我们无法通过#或者–来注释掉…

如何在 Azure 容器应用程序上部署具有 Elastic Observability 的 Hello World Web 应用程序

作者&#xff1a;Jonathan Simon Elastic Observability 是提供对正在运行的 Web 应用程序的可见性的最佳工具。 Microsoft Azure 容器应用程序是一个完全托管的环境&#xff0c;使你能够在无服务器平台上运行容器化应用程序&#xff0c;以便你的应用程序可以扩展和缩减。 这使…

华为云 CodeArts Snap 智能编程助手 PyCharm 插件安装与使用指南

1 插件安装下载 1.1 搜索插件 打开 PyCharm&#xff0c;选择 File&#xff0c;点击 Settings。 选择 Plugins&#xff0c;点击 Marketplace&#xff0c;并在搜索框中输入 Huawei Cloud CodeArts Snap。 1.2 安装插件 如上图所示&#xff0c;点击 Install 按钮安装 Huawei Cl…

C#调用C/C++从零深入讲解

C#调用非托管DLL从零深入讲解 一、结构对齐 结构对齐是C#调用非托管DLL的必备知识。 在没有#pragma pack声明下结构体内存对齐的规则为: 第一个成员的偏移量为0,每个成员的首地址为自身大小的整数倍子结构体的第一个成员偏移量应当是子结构体最大成员的整数倍结构体总大小…

内衣洗衣机和手洗哪个干净?内衣洗衣机热销第一名

这两年内衣洗衣机可以称得上较火的小电器&#xff0c;小小的身躯却有大大的能力&#xff0c;一键可以同时启动洗、漂、脱三种全自动为一体化功能&#xff0c;在多功能和性能的提升上&#xff0c;还可以解放我们双手的同时将衣物给清洗干净&#xff0c;让越来越多小伙伴选择一款…

【深度学习 | 核心概念】那些深度学习路上必经的 常见问题解决方案及最佳实践,确定不来看看? (一)

&#x1f935;‍♂️ 个人主页: AI_magician &#x1f4e1;主页地址&#xff1a; 作者简介&#xff1a;CSDN内容合伙人&#xff0c;全栈领域优质创作者。 &#x1f468;‍&#x1f4bb;景愿&#xff1a;旨在于能和更多的热爱计算机的伙伴一起成长&#xff01;&#xff01;&…

UserWarning: CUDA initialization: CUDA unknown error

CUDA在suspend之后不可用问题 问题描述 一觉醒来&#xff0c;电脑cuda不可用 /home/你的电脑/pytorch/lib/python3.8/site-packages/torch/cuda/__init__.py:107: UserWarning: CUDA initialization: CUDA unknown error - this may be due to an incorrectly set up enviro…

Java11安装

Java11安装 打开官网 登录使用的账号密码可以用下面这个&#xff1a; 账户&#xff1a;3028064308qq.com 密码&#xff1a;OraclePassword123! 然后打开环境变量 系统变量下新建一个变量 在path路径中也新添两条 参考博文 Windows下安装JDK11&#xff08;详细版&#xf…

SAP MIRO发票过账报错 发出数量为0

SAP MIRO发票过账报错 发出数量为0 原因是预制发票的项目544行采购订单收货数量已退货&#xff0c;当前净收货数量为0。应该是bapi创建的预制发票

【uniapp】小程序开发7:自定义组件、自动注册组件

一、自定义轮播图组件、自动注册 以首页轮播图组件为例。 1、创建组件文件src/components/my-swipper.vue 代码如下&#xff1a; <template><view><view class"uni-margin-wrap"><swiper class"swiper" circular :indicator-dots…

如何解决数据倾斜

星光下的赶路人star的个人主页 臣书刷字墨淋漓&#xff0c;舒卷烟云势最奇 文章目录 1、数据倾斜的现象2、解决办法2.1 单表聚合&#xff08;group bysum()&#xff09;2.2 多表关联&#xff08;join&#xff09; 3、倾斜原因 1、数据倾斜的现象 部分Reduce一直运行&#xff0…

五个步骤轻松搞定软件开发流程

互联网在当今社会非常普遍&#xff0c;日常生活中很多东西都离不开互联网&#xff0c;应用软件是互联网必不可少的载体和终端。因此&#xff0c;软件是互联网中不可缺少的关键因素。软件开发已经成为许多企业和企业家非常重要的布局。在软件开发之前&#xff0c;我们应该了解软…

如何利用GPT4 和 ChatGPT 搞科研?

灵魂发问 GPT科研中没有那么神&#xff1f; GPT账号不能轻松使用&#xff1f; GPT怎样才融合到我的科研中&#xff1f; 别人用的非常酷&#xff0c;为什么我用的不行&#xff1f; 2023年我们进入了AI2.0时代。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义&#xff…