基于FPGA及深度学习的人脸检测系统设计

原创 FPGA技术江湖 2024-11-11 08:50

大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。“煮酒言欢”进入IC技术圈,这里有近50个IC技术公众号。


第一部分 设计概述

1.1 设计目的

新冠病毒的肆虐让整个 2020 年笼罩在恐慌之中,戴口罩成了人们外出必备 的“新日常”。新冠病毒主要通过飞沫传播和接触传播,正确选择佩戴口罩,可有效阻隔病毒传播。但在人流量庞大的商圈、车站等场所,仍有许多人拒绝佩戴口罩。若能在这些场所进行当前人群口罩检测,则能有效避免冠状病毒的传播。

本作品是一种能实时检测识别人脸口罩佩戴情况并进行语音播报的系统,准确度高达 95.2%,系统处理速度可达 25fps 左右。除此之外,本作品具备较高的可拓展性,稍加更改就可在更多的领域得到应用。

1.2 应用领域

基于深度学习的人脸捕获及口罩检测系统可以适用于人流量大的场所,实现 了人脸检测与跟踪以及人脸口罩识别的功能,并将识别结果进行播报,可以辅助疫情防控工作的开展。

除此之外,本系统的人脸检测系统有着广泛的应用范围。

在智能家居领域,可以通过我们的系统实现人类闯入报警装置,在摄像头捕捉到的区域检测到人脸后触发报警;

在新冠疫情期间,我们的系统可以安装在商圈、旅游景点,实时检测人流密度,为实时限流措施提供参考。

1.3 主要技术特点

对密集人群进行口罩检测,首先要在画面中进行人脸检测。在非深度学习阶段的目标检测算法都是针对特定目标提出的,比如 CVPR 2001 的 Viola-Jones (VJ)[1]是针对人脸检测问题,CVPR 2005 的 HOG+SVM[2]是针 对行人检测问题,TPAMI 2010 的 DPM[3]虽然可以检测各类目标,但要用于多目标检测,需要每个类别分别训练模板。而强大的深度学习只要一个 CNN 就可以 搞定多类别检测任务。虽然这些都是多类别方法,但它们也都可以用来解决单类别问题。

本作品是基于深度学习的人脸捕获及口罩检测系统,通过片外的图像传感器采集图像到片上缓冲区,而后把图像送到 FPGA 上的神经网络加速器进行处理, 识别结果输出到显示器,在显示器中框出人脸并显示目标是否佩戴口罩,我们还使用语音模块对画面中的总人数和未戴口罩人数作出播报。

1.4 关键性能指标

本作品可以实时检测识别人脸口罩佩戴情况,我们从帧率和精度两个方面进行了分析。识别精度可达到 95.2%,而系统延迟仅仅 40ms 左右,可达到 25fps 的帧率。

1.5 主要创新点

神经网络部分创新点

1、使用了一个轻量级 backbone,去除了 BN 层,在精度达到优秀的前提下极大提升了速度;

2、去掉了 FPN 结构,仅降低微小的精度却大大提升了速度(20%);

3、在网络的 head 部分对边框回归和类别预测做了不对称设计,进一步提升性能。

系统框架创新点

1、为了加快系统设计,采用了 Xilinx 专用于卷积神经网络的深度学习处理单元(DPU)。在设计系统过程中,可根据系统的具体情况配置 DPU 的参数,将该 IP 集成到所选器件 PL 中,通过 PS 端软件控制,实现多种卷积神经网络的加速。

2、利用 PYNQ 框架,可以在开发板上动态地加载比特流实现系统所需硬件电路,灵活方便。

3、利用 Vitis AI 编译模型,将浮点模型转换为定点模型,降低了计算复杂度,并且需要的内存带宽更少,提高了模型速度。

第二部分 系统组成及功能说明

2.1 整体介绍

基于深度学习的人脸检测系统由 PS 端、PL 端与外设及其接口组成。其中, 外设包括、摄像头(通过 USB3.0 连接)、语音模块(通过 UART 连接)和 VGA 显示(通过 Mini DP 转 VGA 连接),开发板内部还提供了 2GB 的 LPDDR4;PS 端包括 openCV 采集处理模块、后处理模块、语音控制模块及显示控制模块;PL 端包括特征提取模块和边框回归及分类模块。在 PS 端的模块中,openCV 采集处理模块的主要功能是控制摄像头采集图像,并对 LPDDR4 中的图像进行预处理;后处理模块的主要功能是使用非极大值抑制(Non-Maximum Suppression, NMS)算法对候选区域进行筛选,得到合适的区域信息并统计画面中检测到的人脸总数;语音控制和显示控制驱动语音模块和摄像头构成结果展示部分,语音控制模块根据后处理模块的结果播报当前画面中的人脸数目,而显示控制模块根据 VGA 时序显示拍摄画面并框出人脸位置。PL 端中的特征提取模块对预处理后的图像进行计算,得到大小不同的区域,边框回归及分类模块处理这些区域,给出边框信息与分类结果。

本系统的开发平台为 Ultra96-V2 开发板,是基于 FPGA 的 Xilinx Zynq UltraScale +MPSoC 开发板,并基于 Linaro 96Boards Consumer Edition(CE)规范构建。

Ultra96-V2 开发板系统框图如下图所示:

2.2 各模块介绍

OpenCV 采集处理

本系统采用的是超微 1601U 摄像头上图所示,输出图像大小为 1280×720, 最高帧率可达 30fps。该摄像头通过 USB3.0 接口与开发板连接,输出图像的数据格式支持 MJPEG 和 YUV 格式。它还支持自动曝光控制 AEC 和自动白平衡 AEB,可以调节亮度、对比度、色饱和度、色调等基础参数。

通过系统 PS 端的 OpenCV 来完成摄像头相关参数的配置以及图像帧的获取, 之后对获取的图像进行resize等预处理再送到PL部分的深度学习处理单元(DPU)进行处理。

后处理

对于一帧图像,该模块接收到来自神经网络检测模块的 3780 个候选框信息 (包括边框坐标、识别标签、置信度)。后处理模块首先对这些候选框进行筛选, 留下置信度大于 0.6 的候选框。这一步可以减少无效候选框的处理时间。接着, 我们使用非极大值抑制算法对通过筛选的候选框进行处理,去除重复的候选框, 得到最优结果。最后将结果输出给结果展示部分。

非极大值抑制,顾名思义就是抑制不是极大值的元素,可以理解为局部最大 搜索。这个局部代表的是一个邻域,邻域有两个参数可变,一是邻域的维数,二是邻域的大小。例如在行人检测中,滑动窗口经提取特征,经分类器分类识别后, 每个窗口都会得到一个分数。但是滑动窗口会导致很多窗口与其他窗口存在包含或者大部分交叉的情况。这时就需要用到 NMS 来选取那些邻域里分数最高(是行人的概率最大),并且抑制那些分数低的窗口。

结果展示部分——语音控制

本系统中语音模块的功能是在系统检测完毕且后处理模块统计画面人数后, 将检测结果通过语音的方式播报给外界。语音模块 JQ8900-16P 选用了 SoC 方案, 集成了一个 16 位的 MCU,能够灵活更换 SPI-flash 内的语音内容,有一线串口控制模式和 RX232 串口控制模式可选。

由于开发板上有多个 USB 接口,我们采用 USB 转串口的方式来控制语音模块。具体控制方式为把检测到的人数转化为语音模块的控制指令,通过串口发送到该模块,语音模块对指令进行解码之后播报存放在该模块内的相应音频。

结果展示部分——显示控制

经过神经网络处理之后的图像由开发板上的 Mini DP 接口外接 Mini DP 转 VGA 转接头,连接到 VGA 显示器进行显示。

识别模块

本系统中卷积神经网络模块的功能是对摄像头采集图像中的人脸进行检测并判断目标人脸上是否佩戴口罩,是系统的核心模块。本小节将从数据集的制作、 特征提取模块、软件模型设计和硬件模型设计等四个方面介绍该模块。

(1)数据集的制作

数据集主要来自于 WIDER Face 和 MAFA 数据集,加入了上百张戴口罩的 图片(来源于网络)。具体地,我们从 WIDER Face 中筛选出 7000 张,从 MAFA 中筛选出 2000 张,自己根据已有的戴口罩的数据集生成了 2000 张左右,最终分为训练集 13000 张,测试集 300 张。值得一提的是,在我们自己生成的数据集图片中,有许多是将有口罩的图片与无口罩的图片的组合,如图 6 最右所示,因为在经典数据集中很难找到这样的情况。

2)神经网络模型的搭建和训练

本系统采用的目标检测算法为 anchor-base 的 one-stage 算法,整个网络参考 了 RetinaNet[4]进行设计,可分为 backbone、neck、head 三大部分。其中,backbone 参考 BlazeFace[5]的设计去掉了 BN 层,这样能在不影响准确率的前提下提高速度。在 RetinaNet 的 neck 部分中,FPN[6]有很好的特征提取功能,引入 FPN 能解决较为复杂的问题。但由于 FPN 需要额外的卷积计算,它也在一定程度上降低了速度。由于本次应用只有两个类别,有口罩和无口罩,识别困难度比较低,我们参考了 SSD[7]的结构,去掉 FPN 部分,仅用一个卷积层调整通道。对于 head 部分, 由于只有两个类别,我们减少了 class 分支的卷积层,不再与 boxes 分支对称。减少卷积层并没有引起精度下降,但进一步提升了速度。

我们 anchor 设置如下:

总共有(24×40+12×20+6×10)×3=3780 个 anchor,最小尺寸为 20,最大尺 寸为 127。

整体网络框架如下所示:

整体网络可分为两部分——特征提取模块与边框回归及分类模块。

对于特征提取模块的处理如图 6 所示。令输入图像为 P0,其尺寸为 192×320;P1 由 P0 经过一个卷积层和两个 blaze_block 得到,P1 经过三个 blaze_block 得到 P2 ;P3 由 P2 经 过 三 个 double_blaze_block 得来, P4 由 P3 经过三个 double_blaze_block 得来,P5 由 P4 经过三个 double_blaze_block 得来。P3、P4 和 P5 是本模块的输出,即识别模块的输入。其中 blaze_block 由 DepthwiseConv2D + Conv2D + MaxPool2D + Add 组成,double_blaze_block 由 DepthwiseConv2D + Conv2D + DepthwiseConv2D + Conv2D + MaxPool2D + Conv2D + Add 组成。各层 参数详见本文附录中软件模型的源代码。

边框回归及分类模块对 P3、P4、P5 进行分析。RetinaNet 类别分支和边框分 支分别采用了四个卷积层,本设计采用了 RetinaNet 的 head 设计思想,但是进行 了改进:我们减少了卷积层的数量,边框分支采用三个卷积层,类别分支采用两个卷积层。因为只有两个类别,所以我们的类别分支和边框分支采用了不对称设计,将类别分支的卷积层进一步减少。减少类别分支的卷积层对准确率几乎没有影响,但提升了速度。

(3)硬件部分

该部分利用支持 PYNQ 框架的开发板镜像。首先通过在开发板上加载带 Xilinx 的 DPU IP 的比特流文件,把 DPU 烧写到开发板的 PL 端;再通过安装在开发板镜像上的 DPU 驱动,调用相应的 API 把经过 Vitis AI 编译过的模型部署到 DPU 中;最后启动 DPU 读取预处理之后的图像进行检测和分类,DPU 运算完之后取出运算结果,对运算结果进行解析之后得到人脸框的坐标以及是否佩戴口罩的分类结果。

第三部分 完成情况及性能参数

3.1 完成情况

本系统目前可以实现:

  • 实时检测并跟踪人脸位置,人脸位置被框出;

  • 人脸检测框上方给出目标是否戴口罩 mask/nomask 以及置信度;

  • 定时对当前人数与未佩戴口罩人数进行语音播报。

3.2 人脸检测性能指标

本系统基于人脸捕捉及口罩识别的应用对 RetinaNet 进行优化,并利用硬件加速,大大提升了处理速度。目前该系统可对 192×320 大小的三通道彩色视频进行实时处理,帧率可达 25fps,精度可达 95.2%。

第四部分 总结

可扩展之处

目前系统图像采集时间占总体时间的比例比较大,后期可探索更多软硬件优化的方法对图像采集部分进行优化,提升系统帧率。除此之外,目前我们的应用是进行口罩(人脸)的检测,未来可在此基础上进行拓展加入识别模型,识别模型可以精确识别出是哪一个人,这样可将应用范围进一步拓展,比如说门禁的人脸识别、签到、智能监控等等。



END






往期精选 

 
 

电子版资料获取方式正确流程

【免费】FPGA工程师招聘平台

FPGA芯片行业科普

新谈:为什么你觉得FPGA难学?如何入门?

SANXIN-B01开发板verilog教程V3电子版

笔记连载 | Day9【xilinx ZYNQ7000系列之《PS端 》串口打印】

求职面试 | FPGA或IC面试题最新汇总篇

FPGA项目开发:204B实战应用-LMK04821代码详解(二)

项目合作 | 承接FPGA项目公告


FPGA技术江湖广发江湖帖

无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有,QQ微信双选,FPGA技术江湖打造最纯净最专业的技术交流学习平台。


FPGA技术江湖微信交流群

加群主微信,备注职业+方向+名字进群


FPGA技术江湖QQ交流群

备注地区+职业+方向+名字进群

FPGA技术江湖 任何技术的学习就好比一个江湖,对于每一位侠客都需要不断的历练,从初入江湖的小白到归隐山林的隐世高人,需要不断的自我感悟自己修炼,让我们一起仗剑闯FPGA乃至更大的江湖。
评论
  • 国产光耦合器正以其创新性和多样性引领行业发展。凭借强大的研发能力,国内制造商推出了适应汽车、电信等领域独特需求的专业化光耦合器,为各行业的技术进步提供了重要支持。本文将重点探讨国产光耦合器的技术创新与产品多样性,以及它们在推动产业升级中的重要作用。国产光耦合器创新的作用满足现代需求的创新模式新设计正在满足不断变化的市场需求。例如,高速光耦合器满足了电信和数据处理系统中快速信号传输的需求。同时,栅极驱动光耦合器支持电动汽车(EV)和工业电机驱动器等大功率应用中的精确高效控制。先进材料和设计将碳化硅
    克里雅半导体科技 2024-11-29 16:18 157浏览
  • 国产光耦合器因其在电子系统中的重要作用而受到认可,可提供可靠的电气隔离并保护敏感电路免受高压干扰。然而,随着行业向5G和高频数据传输等高速应用迈进,对其性能和寿命的担忧已成为焦点。本文深入探讨了国产光耦合器在高频环境中面临的挑战,并探索了克服这些限制的创新方法。高频性能:一个持续关注的问题信号传输中的挑战国产光耦合器传统上利用LED和光电晶体管进行信号隔离。虽然这些组件对于标准应用有效,但在高频下面临挑战。随着工作频率的增加,信号延迟和数据保真度降低很常见,限制了它们在电信和高速计算等领域的有效
    腾恩科技-彭工 2024-11-29 16:11 106浏览
  • RDDI-DAP错误通常与调试接口相关,特别是在使用CMSIS-DAP协议进行嵌入式系统开发时。以下是一些可能的原因和解决方法: 1. 硬件连接问题:     检查调试器(如ST-Link)与目标板之间的连接是否牢固。     确保所有必要的引脚都已正确连接,没有松动或短路。 2. 电源问题:     确保目标板和调试器都有足够的电源供应。     检查电源电压是否符合目标板的规格要求。 3. 固件问题: &n
    丙丁先生 2024-12-01 17:37 57浏览
  • 《高速PCB设计经验规则应用实践》+PCB绘制学习与验证读书首先看目录,我感兴趣的是这一节;作者在书中列举了一条经典规则,然后进行详细分析,通过公式推导图表列举说明了传统的这一规则是受到电容加工特点影响的,在使用了MLCC陶瓷电容后这一条规则已经不再实用了。图书还列举了高速PCB设计需要的专业工具和仿真软件,当然由于篇幅所限,只是介绍了一点点设计步骤;我最感兴趣的部分还是元件布局的经验规则,在这里列举如下:在这里,演示一下,我根据书本知识进行电机驱动的布局:这也算知行合一吧。对于布局书中有一句:
    wuyu2009 2024-11-30 20:30 88浏览
  • 随着航空航天技术的迅猛发展,航空电子网络面临着诸多挑战,如多网络并行传输、高带宽需求以及保障数据传输的确定性等。为应对这些挑战,航空电子网络急需一个通用的网络架构,满足布线简单、供应商多、组网成本相对较低等要求。而以太网技术,特别是TSN(时间敏感网络)的出现,为航空电子网络带来了新的解决方案。本文将重点介绍TSN流识别技术在航空电子网络中的应用,以及如何通过适应航空电子网络的TSN流识别技术实现高效的航空电子网络传输。一、航空电子网络面临的挑战航空航天业专用协议包括AFDX、ARINC等,这些
    虹科工业智能互联 2024-11-29 14:18 100浏览
  • 最近几年,新能源汽车愈发受到消费者的青睐,其销量也是一路走高。据中汽协公布的数据显示,2024年10月,新能源汽车产销分别完成146.3万辆和143万辆,同比分别增长48%和49.6%。而结合各家新能源车企所公布的销量数据来看,比亚迪再度夺得了销冠宝座,其10月新能源汽车销量达到了502657辆,同比增长66.53%。众所周知,比亚迪是新能源汽车领域的重要参与者,其一举一动向来为外界所关注。日前,比亚迪汽车旗下品牌方程豹汽车推出了新车方程豹豹8,该款车型一上市就迅速吸引了消费者的目光,成为SUV
    刘旷 2024-12-02 09:32 59浏览
  • 在电子技术快速发展的今天,KLV15002光耦固态继电器以高性能和强可靠性完美解决行业需求。该光继电器旨在提供无与伦比的电气隔离和无缝切换,是现代系统的终极选择。无论是在电信、工业自动化还是测试环境中,KLV15002光耦合器固态继电器都完美融合了效率和耐用性,可满足当今苛刻的应用需求。为什么选择KLV15002光耦合器固态继电器?不妥协的电压隔离从本质上讲,KLV15002优先考虑安全性。输入到输出隔离达到3750Vrms(后缀为V的型号为5000Vrms),确保即使在高压情况下,敏感的低功耗
    克里雅半导体科技 2024-11-29 16:15 119浏览
  • By Toradex胡珊逢简介嵌入式领域的部分应用对安全、可靠、实时性有切实的需求,在诸多实现该需求的方案中,QNX 是经行业验证的选择。在 QNX SDP 8.0 上 BlackBerry 推出了 QNX Everywhere 项目,个人用户可以出于非商业目的免费使用 QNX 操作系统。得益于 Toradex 和 QNX 的良好合作伙伴关系,用户能够在 Apalis iMX8QM 和 Verdin iMX8MP 模块上轻松测试和评估 QNX 8 系统。下面将基于 Apalis iMX8QM 介
    hai.qin_651820742 2024-11-29 15:29 150浏览
  • 光伏逆变器是一种高效的能量转换设备,它能够将光伏太阳能板(PV)产生的不稳定的直流电压转换成与市电频率同步的交流电。这种转换后的电能不仅可以回馈至商用输电网络,还能供独立电网系统使用。光伏逆变器在商业光伏储能电站和家庭独立储能系统等应用领域中得到了广泛的应用。光耦合器,以其高速信号传输、出色的共模抑制比以及单向信号传输和光电隔离的特性,在光伏逆变器中扮演着至关重要的角色。它确保了系统的安全隔离、干扰的有效隔离以及通信信号的精准传输。光耦合器的使用不仅提高了系统的稳定性和安全性,而且由于其低功耗的
    晶台光耦 2024-12-02 10:40 54浏览
  • 学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&
    youyeye 2024-11-30 14:30 63浏览
  • 学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&
    youyeye 2024-11-29 14:30 118浏览
  • 艾迈斯欧司朗全新“样片申请”小程序,逾160种LED、传感器、多芯片组合等产品样片一触即达。轻松3步完成申请,境内免费包邮到家!本期热荐性能显著提升的OSLON® Optimal,GF CSSRML.24ams OSRAM 基于最新芯片技术推出全新LED产品OSLON® Optimal系列,实现了显著的性能升级。该系列提供五种不同颜色的光源选项,包括Hyper Red(660 nm,PDN)、Red(640 nm)、Deep Blue(450 nm,PDN)、Far Red(730 nm)及Ho
    艾迈斯欧司朗 2024-11-29 16:55 155浏览
  • 光耦合器作为关键技术组件,在确保安全性、可靠性和效率方面发挥着不可或缺的作用。无论是混合动力和电动汽车(HEV),还是军事和航空航天系统,它们都以卓越的性能支持高要求的应用环境,成为现代复杂系统中的隐形功臣。在迈向更环保技术和先进系统的过程中,光耦合器的重要性愈加凸显。1.混合动力和电动汽车中的光耦合器电池管理:保护动力源在电动汽车中,电池管理系统(BMS)是最佳充电、放电和性能监控背后的大脑。光耦合器在这里充当守门人,将高压电池组与敏感的低压电路隔离开来。这不仅可以防止潜在的损坏,还可以提高乘
    腾恩科技-彭工 2024-11-29 16:12 117浏览
  • 戴上XR眼镜去“追龙”是种什么体验?2024年11月30日,由上海自然博物馆(上海科技馆分馆)与三湘印象联合出品、三湘印象旗下观印象艺术发展有限公司(下简称“观印象”)承制的《又见恐龙》XR嘉年华在上海自然博物馆重磅开幕。该体验项目将于12月1日正式对公众开放,持续至2025年3月30日。双向奔赴,恐龙IP撞上元宇宙不久前,上海市经济和信息化委员会等部门联合印发了《上海市超高清视听产业发展行动方案》,特别提到“支持博物馆、主题乐园等场所推动超高清视听技术应用,丰富线下文旅消费体验”。作为上海自然
    电子与消费 2024-11-30 22:03 71浏览
  • 在现代科技浪潮中,精准定位技术已成为推动众多关键领域前进的核心力量。虹科PCAN-GPS FD 作为一款多功能可编程传感器模块,专为精确捕捉位置和方向而设计。该模块集成了先进的卫星接收器、磁场传感器、加速计和陀螺仪,能够通过 CAN/CAN FD 总线实时传输采样数据,并具备内部存储卡记录功能。本篇文章带你深入虹科PCAN-GPS FD的技术亮点、多场景应用实例,并展示其如何与PCAN-Explorer6软件结合,实现数据解析与可视化。虹科PCAN-GPS FD虹科PCAN-GPS FD的数据处
    虹科汽车智能互联 2024-11-29 14:35 149浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦