【2021集创赛】基于arm Cortex-M3处理器与深度学习加速器的实时人脸口罩检测 SoC

团队介绍

参赛单位:深圳大学
队伍名称:光之巨人队
指导老师:钟世达、袁涛
参赛队员:冯昊港、潘家豪、慕镐泽

在这里插入图片描述

图1 团队风采

1. 项目简介

新冠疫情席卷全球,有效佩戴口罩可以极大程度地减小病毒感染的风险。本项目开发了一种如图所示的基于arm Cortex-M3处理器和深度学习加速器的人脸口罩检测SoC,该SoC面向商场、地铁站等流动人口聚集场所,能够实现高性能、高稳定性、低功耗的人脸口罩实时检测。此外,该SoC还具备社交距离检测、蓝牙无线通信等功能,可以在特定应用场景中协助配合人脸口罩检测系统,加强对疫情的阻击防控。
在这里插入图片描述

图2 系统通信全景图

2. 系统架构

本项目采用arm公司提供的DesignStart Eval版本的Cortex-M3处理器作为系统的中央处理单元,通过CMSDK工具设计了AHB总线系统,在基于单级AHB总线的框架下,通过APB桥接器和AXI桥接器扩展了APB总线和AXI总线,进而构成该SoC高效的总线框架。通过搭建高效的总线系统将M3处理器与硬件加速器、高速AHB外设以及低速APB外设高效互联,从而完整地实现了一个如图 2 所示的具有人脸检测和人脸口罩佩戴检测功能以及社交距离监测报警功能的 SoC 系统,并且操作者可以通过“功能按键”切换系统的功能模式。
系统的主要功能器件包括arm Cortex-M3处理器、两组硬件加速器、AHB总线矩阵、AXI互联模块、APB桥接器、DDR3存储器、摄像头模块、片上存储模块、HDMI显示模块、APB外设、GUI图形界面、蓝牙通信模块、超声测距模块等。其中,决策树硬件加速器、OV5640、DDR3等关键模块通过AXI桥接器的方式挂载在AHB总线上,实现与Cortex-M3处理器的高速互联,而LED、蓝牙串口模块等外设则挂载在APB总线上,系统总框架如图3所示。
在这里插入图片描述

 图 3 系统总线框架图

3. 功能介绍

控制功能:本项目中Cortex-M3处理器通过自搭建的总线系统与两组硬件加速器、高速AHB外设以及低速APB外设进行协同通信,M3处理器通过逻辑控制器对摄像头、硬件加速器以及其他外设功能模块进行调用。在对每一帧图像进行检测的过程中,M3处理器首先控制摄像头进行图像采集,采集的每一帧图像将被存储在DDR3中,之后处理器会唤醒‘人脸检测加速器’和‘人脸口罩检测加速器’对存储器中的图像数据进行读取并检测,检测的结果交由处理器进行图像后处理(画框),最后的处理结果将通过显示器显示以及GUI进行实时监测。此外,为了保证SoC的工作效率,我们的设计将一部分控制工作交由APB总线上的逻辑控制器,负责数据流信息和地址信息的分配控制。

人脸口罩检测功能:人脸口罩检测过程中,‘人脸检测加速器’和‘人脸口罩佩戴检测加速器’将会分别从DDR3和片上BRAM存储单元中读取需要检测的图像数据以及权重参数文件中的数据,之后如图4所示,这两组并行的硬件加速器将会同时对读取的图像进行移窗检测。如图5所示,两组加速器的启动过程互不影响,相互独立,均由M3处理器的中断指令控制,最后成功通过所有决策树单元的窗口将被设为感兴趣的对象输出给处理器。
在这里插入图片描述

图 4 并行移窗检测

在这里插入图片描述

图 5 两组加速器并行检测

检测结果输出功能:如图6所示,经M3处理器以及两组硬件加速器处理后的图像可通过HDMI输出模块输出到显示屏中进行显示。其中,未佩戴口罩的人脸使用‘绿框’进行标识,佩戴了口罩的人脸使用‘红框’进行标识。此外,考虑到无需视频显示的情况,检测结果也可由串口、LED灯、蜂鸣器等外设进行输出。为了实现更便捷的人机交互功能,本项目还设计了专用的图形界面(GUI),如图7所示,该界面使用Python并基于Qt进行设计,用于实时显示系统检测到的人脸数量,未佩戴口罩的人脸数量、系统实时检测平均帧率以及超声波测距模块所测得的距离等信息。
在这里插入图片描述

图 6 显示屏输出

在这里插入图片描述

图 7 GUI图形界面

社交距离检查功能:疫情期间保持安全的社交距离是避免感染风险的有效手段,针对此场景需求,我们模拟了产品小型化后随身佩戴的场景,并且添加了社交距离检测功能,使产品能够通过“功能按键”实现人脸口罩检测和社交距离检测的自由切换。在使用社交距离检测模式时,当系统检测到有未佩戴口罩的人脸且进入危险的社交距离(距离小于1米)后,系统中的LED和蜂鸣器便会启动进行报警提示,提醒使用者远离该未佩戴口罩的人,同时这些数据也会被同步到GUI中进行实时显示。

蓝牙无线通信功能:为了避免有线数据传输带来的不便,本项目还添加了蓝牙无线通信模块,通过分别与FPGA开发板和PC连接的两个蓝牙模块的主从通信,SoC实时检测到的未佩戴口罩的人脸数目、佩戴了口罩的人脸数目、系统检测平均帧率、检测距离等信息均可通过蓝牙模块传输到PC上,再通过计算机中的GUI进行实时显示,提高了系统部署的灵活性,更适应市场需求。

4. 系统优势

  • 人脸口罩佩戴检测无人系统
  • 面向社交的近距离检测功能
  • 基于DL的并行移窗加速器
  • 低延迟高性能系统总线架构
  • 低能耗高稳定高效运行能力
  • 显示屏蜂鸣器LED三重提醒
  • 面向管理者的同步
  • 支持蓝牙无线数据传输*

5. 参赛感受和分享

随着物联网和边缘智能的发展,将有越来越多的AI模型部署在边缘设备之上,如何低功耗地执行智能算法已经成为研究和产品开发的热点,通过参加本次arm杯比赛,进一步增加了我们片上系统的设计经验,同时切身体会到设计部署智能算法到边缘系统中的问题,整个项目分为SoC搭建和智能算法模型设计两部分进行,两条路线的协调整合需要团队成员之间不断的沟通配合,在团队协作以及团队老师的指导下,最终我们成功完成了整个系统的设计并取得了全国一等奖的好成绩,本次比赛也会成为日后科研和工作中的宝贵经验。

附作品视频展示

视频展示

作品内容来源于光之巨人队,转载请标明出处。欢迎大家参加极术社区组织的有奖征集|秀出你的集创赛作品风采,免费电子产品等你拿~活动,10月1日截止~

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机毕业设计】Springboot 社区助老志愿服务系统-96682, 免费送源码,【开题选题+程序定制+论文书写+答辩ppt书写-原创定制程序】

Springboot 社区助老志愿服务系统 摘要 大数据时代下,数据呈爆炸式地增长。为了迎合信息化时代的潮流和信息化安全的要求,利用互联网服务于其他行业,促进生产,已经是成为一种势不可挡的趋势。在图书馆管理的要求下,开发…

斯坦福机器学习 Lecture1 (机器学习,监督学习、回归问题、分类问题定义)

https://www.bilibili.com/video/BV1JE411w7Ub?p1&vd_source7a1a0bc74158c6993c7355c5490fc600 笔记如下 机器学习的定义:不需要明确编程就能让计算机去学习做某件事情 另一个定义 什么是监督学习? 给定一组 (x,y) 样本,学习一个 x-&g…

分布式任务调度-XXL-job

目录 源码仓库地址 前置环境 docker容器环境配置 连接linux数据库,并创建任务调度所用到的数据库xxl-job。 用到的表sql 打开映射网址 后端配置使用任务调度 依赖 yml配置 使用架构 config配置 job使用 快速入门使用 任务调度执行器 任务调度执行管理​编…

【开源】基于Vue和SpringBoot的微信小程序的音乐平台

项目编号: S 055 ,文末获取源码。 \color{red}{项目编号:S055,文末获取源码。} 项目编号:S055,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示 四、核心代码4.1 查询单首…

数据库的三范式(Normalization)

数据库的三范式(Normalization)是关系数据库设计中的基本理论原则,旨在减少数据冗余和提高数据库的数据组织结构。三范式通过将数据分解为更小的表,并通过关系建立连接,使得数据库设计更加灵活、规范和容易维护。在这篇…

Android问题笔记四十六:解决open failed: EACCES (Permission denied) 问题

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列点击跳转>ChatGPT和AIGC 👉关于作者 专…

PY32F002B从压缩包到实现串口printf输出

最近学习使用芯领的PY32F002B开发板,记录学习历程供有同样需求的人参考。 本文主要讲述利用开发板实现printf语句串口输出。 开发环境的初步搭建 官方提供了一个压缩文件,文件名py32f002B_231026.zip, 链接:https://pan.baidu.c…

Wordpress多语言插件:WPML插件使用教程,最佳的多语言建站方案

今天小编讲的是另外一款多语言插件WPML。相比Gtranslate采用的是机器翻译,难免存在翻译不准确,词不达意的情况,WPML可以支持人工翻译内容添加。 事先说明一点:用插件实现多语言较为方便,但此方法做出的多语言网站SEO性能一般,只建议展示站使用,如果想要SEO营销型多语言网…

【vue2】前端如何播放rtsp 视频流,拿到rtsp视频流地址如何处理,海康视频rtsp h264 如何播放

文章目录 测试以vue2 为例新建 webrtcstreamer.js下载webrtc-streamervideo.vue页面中调用 最近在写vue2 项目其中有个需求是实时播放摄像头的视频,摄像头是 海康的设备,搞了很长时间终于监控视频出来了,记录一下,放置下次遇到。…

AI创作系统ChatGPT网站源码/支持DALL-E3文生图/支持最新GPT-4-Turbo模型+Prompt应用

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…

山西电力市场日前价格预测【2023-11-20】

日前价格预测 预测说明: 如上图所示,预测明日(2023-11-20)山西电力市场全天平均日前电价为255.39元/MWh。其中,最高日前电价为436.50元/MWh,预计出现在18:00。最低日前电价为21.61元/MWh,预计出…

Unity使用Visual Studio Code 调试

Unity 使用Visual Studio Code 调试C# PackageManager安装Visual Studio EditorVisual Studio Code安装Unity 插件修改Unity配置调试 PackageManager安装Visual Studio Editor 打开 Window->PackageManger卸载 Visual Studio Code Editor ,这个已经被官方废弃安…

【网络】OSI模型 与 TCP/IP模型 对比

一、OSI模型 OSI模型包含7个层次,从下到上分别是: 1. 物理层(Physical Layer) - 功能:处理与电子设备物理接口相关的细节(如电压、引脚布局、同步,等等)。 - 协议:以…

【数据结构(二)】队列(2)

文章目录 1. 队列的应用场景和介绍1.1. 队列的一个使用场景1.2. 队列介绍 2. 数组模拟队列2.1. 思路分析2.2. 代码实现 3. 数组模拟环形队列3.1. 思路分析3.2. 代码实现 1. 队列的应用场景和介绍 1.1. 队列的一个使用场景 银行排队的案例: 1.2. 队列介绍 队列是一…

计算机毕设 深度学习 机器学习 酒店评价情感分析算法实现

文章目录 0 前言概述项目所需模块数据数据说明字段说明 数据处理分词处理停用词处理样本均衡建立多层感知机分类模型训练模型网络检测率以及检测结果 最后 0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点&a…

element el-date-picker报错Prop being mutated:“placement“快速解决方式

报错信息 Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop’s value. Prop being mutated: “placement” 报错版本 element-ui 2.15.6 和 2.15…

CSS特效014:模仿钟摆效果

CSS常用示例100专栏目录 本专栏记录的是经常使用的CSS示例与技巧,主要包含CSS布局,CSS特效,CSS花边信息三部分内容。其中CSS布局主要是列出一些常用的CSS布局信息点,CSS特效主要是一些动画示例,CSS花边是描述了一些CSS…

【论文阅读笔记】Supervised Contrastive Learning

【论文阅读笔记】Supervised Contrastive Learning 摘要 自监督批次对比方法扩展到完全监督的环境中,以有效利用标签信息提出两种监督对比损失的可能版本 介绍 交叉熵损失函数的不足之处,对噪声标签的不鲁棒性和可能导致交叉的边际,降低了…

GIS杂记(三):MaxEnt模型中的图像地理范围不匹配【全网最好的方法,没有之一】

图像地理范围不匹配问题解决方法 1. 问题描述2. 问题范例3. 问题解决4. 其他参考 1. 问题描述 一般在使用全国的的生物气候变量时,由于其地理范围一致,因此不会出现地理范围不匹配的问题。但是,当加入其他影响因子的时候,如海拔、…