口罩检测算法研究现状

简介: 近年来,随着人工智能的快速发展,基于深度学习的目标检测算法有着越来越广泛的应用,由于深度学习算法在真实环境中的鲁棒性远超过传统视觉算法,更适合应对现实环境中的各种复杂情况。

     作为目标检测任务,几乎所有的通用目标检测算法都可以用于口罩检测,不过由于各类算法的模型复杂度以及检测精度之间存在巨大差异,导致它们在检测过程中可能会面临检测速度过低或者检测精度不足等问题。

E7L[VJAGV%O(0(NL`2CJ0IS.png

     R-CNN 算法是 Girshick 等人于 2015 年提出的两阶段通用目标检测算法,是早期目标检测领域的代表作之一。R-CNN 算法首先在区域提议阶段生成 2000个左右的候选区域,并将每个候选区域缩放至227 × 227的固定尺寸之后输入CNN 模型进行特征提取,然后将输出的特征向量使用支持向量机(Support Vector Machine,SVM)进行分类,最后使用边界框回归生成的预测参数对原始候选区域进行校正,以获取最终的预测框。R-CNN 算法的步骤相当繁琐,模型训练耗时极为严重而且中间步骤会生成大量的临时文件,尤其占用磁盘空间,最后的检测速度也相当不理想,在常规 GPU 上面预测单张图片的耗时高达几十秒。鉴于R-CNN 算法的上述缺点,Girshick 又对其进行了部分改进并提出了 Fast R-CNN算法,Fast R-CNN 在区域提议阶段的处理类似 R-CNN 算法,但之后直接将归一化处理的输入图像送入 CNN 模型进行特征提取,并建立候选区域与最后一个卷积层的输出特征图之间的映射关系,然后使用新增的 ROI 池化层生成固定尺寸的特征向量,最后使用多任务联合损失函数对 CNN 模型进行训练。R-CNN 算法生成的多个候选区域之间存在大量的重叠部分,而使用 CNN 模型逐一对候选区域提取特征必然会造成大量的冗余计算,Fast R-CNN 则将输入图像归一化后直接输入 CNN 模型,并建立候选区域与输出特征图之间的映射关系以实现特征值的共享,节省了大量的时间、空间资源。而 ROI 池化层的增加则不再需要对输入图像进行缩放操作,避免了尺度缩放带来的信息丢失问题。Ren 等人在 Fast R-CNN 算法的基础上进一步改进并提出了 Faster R-CNN 算法,Faster R-CNN 使用区域提议网络(Region Proposal Networks,RPN)生成多个目标先验框,并使用逻辑回归对先验框进行二分类(前景,背景),然后进行边界框回归以校正其位置信息,得到数量更少且更加准确的候选框,最后同样通过多任务联合损失进行 CNN 模型的训练。Faster R-CNN 算法使用 CNN 生成候选区域,使候选区域的数量由原来的 1000~2000 个降低至大约 300 个,大幅提升了算法效率,在检测精度和检测速度上实现了对 Fast R-CNN 算法的双向超越。不过需要注意的是,两阶段检测算法由于本身检测策略的局限性,执行步骤繁琐、网络结构复杂的缺点难以规避,将 Faster R-CNN 等两阶段检测算法应用于口罩检测任务,几乎不可能满足该任务的实时性要求。

     不同于 Faster R-CNN 等两阶段检测算法,SSD算法仅使用单个深度 CNN模型对输入图像进行目标检测,在训练阶段,将边界框的输出空间离散化为一系列不同尺度、长宽比的候选框;在测试阶段,生成每一个候选框的类别得分与位置调整参数。除此之外,SSD 还使用不同尺度的特征图来预测多种尺寸的目标,提高了对浅层网络的细节信息的利用率,增强了算法对小尺寸目标的鲁棒性。SSD 算法在 PASCAL VOC数据集(VOC2007+VOC2012)和 COCO 数据集上以512 × 512的输入尺寸分别获得了 74.95 和 46.4%的 mAP,比 Faster R-CNN 算法分别提高了 4.5%和 3.7%,并且在检测速度上实现了对 Faster R-CNN 算法的大幅超越。

      YOLOv2 算法是 Redmon 等人在前作 YOLO的基础上改进而来的单阶段目标检测算法,它使用了包含“跳跃”结构的全新骨干网络 Darknet19,并且引入了先验框(anchor box)、多尺度特征层、批量归一化 (Batch Normalization)和多尺度联合训练等概念或训练策略,在 VOC 2007 数据集上取得了比 YOLO、SSD 和 Faster R-CNN 等当时的主流算法更优的检测效果。

      Retinaface算法是 Deng 等人提出的单阶段像素级人脸检测算法,作者在WIDER FACE人脸检测数据集中添加了 5 个额外标注点以引入用于人脸对齐的额外监督损失函数,并新增了预测 3D 人脸信息的自监督解码分支,然后结合特征金字塔网络(Feature Pyramid Networks,FPN)实现多尺度特征的融合以增强算法对小尺寸目标的感知能力,最终在 WIDER FACE 数据集上取得了非常优秀的检测效果。作为专门的人脸检测算法,RetinaFace 对人脸目标有着极强的感知能力,但是由于口罩目标缺失了很多人脸面部信息,尤其是关键的口、鼻部分的细节信息基本被口罩遮挡严实,所以 RetinaFace 对口罩目标的表达能力非常一般,将其直接用于口罩检测任务很难满足该任务的检测精度要求。牛作东等人在 RetinaFace 算法的基础上加入了口罩目标类别并对分类损失函数进行了改进,然后在 RetinaFace 的特征金字塔模块中引入注意力机制以提高特征层对目标信息的表征能力并减少无用信息的干扰,算法在口罩目标上的检测精度为 84.7%,相比于 RetinaFace 提高了 8.2%,低于人脸目标的检测精度 90.6%,不过 RetinaFace本身复杂的网络结构以及注意力机制的添加也导致了算法的实时检测速度并不理想。      

     YOLOv3算法是目标检测领域里具有里程碑意义的巨作,之后的YOLOv3-tiny、YOLOv4 和 YOLOv4-tiny 等常见算法均由 YOLOv3 发展而来。相比之前的YOLO 系列算法,YOLOv3 算法采用了全新的骨干网络 Darknet53(一共包含 53 个卷积层),Darknet53 最重要的特点是引入了 ResNet 的残差思想,通过多个残差块的堆叠缓解深度卷积神经网络中的梯度消失或梯度爆炸问题,让神经网络的优化变得更加容易。YOLOv3 算法骨干网络 Darknet53由大量的残差块堆叠而来,自上而下依次包含了 1、2、8、8、4 个不同尺寸的残差块,这也是 YOLOv3 算法模型参数量巨大的重要原因。YOLOv3 算法使用 FPN作为特征增强网络,对不同尺度的特征层进行上采样之后加以堆叠以达到特征融合的目的,最后输出三个不同尺度的预测特征层用于目标检测框的解码工作。作为通用目标检测算法,YOLOv3 可以应用于口罩检测任务,其检测速度略优于改进的RetinaFace 算法,但仍旧不够理想,在 GTX 1050Ti GPU 上的测试结果低于 18 FPS,复杂的网络结构仍然是 YOLOv3 算法检测速度提升过程中的阻碍。王艺皓等人 在 YOLOv3 算法的基础上引入了 CSPNet 结构]对 YOLOv3 的骨干网络 Darknet53 进行改造以降低网络的参数量,在改造的骨干网络之后加入了改进的空间金字塔结构,并对多尺度特征预测网络进行优化以实现特征增强,然后用于口罩检测任务,相比 YOLOv3 算法实现了检测精度和检测速度的小幅度提升,不过作者也提到了算法采用的数据集的背景相对单一(均来自理想光照情况),难以扩展到复杂的多场景口罩检测任务中去,应用场景比较受限。

     YOLOv4算法由Bochkovskiy等人对YOLOv3算法进行一系列改进而来,包括了网络结构的优化(骨干网络由 Darknet53 变为 CSPDarknet53、空间金字塔结构的引入等)以及众多训练策略(Mosaic 数据增强方法、CIoU 损失函数、Mish 激活函数等)的引入,在 COCO 数据集上的 mAP 达到了 65.7%,相比YOLOv3 有 7.8%的大幅提升。不过 YOLOv4 算法整体上并没有对 YOLOv3 进行大刀阔斧的改动,两种算法的网络结构比较类似,网络参数量上面 YOLOv4 算法甚至要略大一点,这导致了它的实时检测速度依旧不理想,在同样的 GPU(GTX 1050Ti GPU)上的测试结果比 YOLOv3 降低了 3~6 FPS。

      YOLOv3-tiny 算法是 YOLOv3 算法的简化版本,它对 YOLOv3 算法的骨干网络 Darknet53 进行了大幅改动,预测特征层由三个减少为两个,并使用了更为朴素的特征融合策略。YOLOv3-tiny 算法的网络结构如图 1.3 所示,可以看到,它的骨干网络几乎不再具有 Darknet53 的影子:不再使用残差网络结构,仅由简单的卷积层和池化层堆叠而成。YOLOv3-tiny 算法结构一共包含了 13 个卷积层,6 池化层和 2 个预测特征层,相比 YOLOv3 算法大幅简化,甚至过于简化,这为其带来了非常优秀的检测速度(YOLOv3 的 5~6 倍),但遗憾的是 YOLOv3-tiny算法的检测精度非常一般,即使应用于类别较少的检测任务也难以得到令人满意的效果。正如 YOLOv3-tiny 算法是由 YOLOv3 算法简化而来,YOLOv4-tiny 算法则是由 YOLOv4 算法简化而来的。不过相比 YOLOv3-tiny 算法简单粗暴、大刀阔斧式的简化,YOLOv4-tiny 算法采用的模型尺度缩放策略更加有效,在减少YOLOv4 算法的骨干网络 CSPDarknet53 中的残差块的个数以及堆叠次数的同时保留了网络的残差结构以及 CSPNet 结构,这让 YOLOv4-tiny 算法在检测精度和检测速度之间上达到了比 YOLOv3-tiny 算法更好的平衡。

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
1天前
|
机器学习/深度学习 算法 安全
基于深度学习的路面裂缝检测算法matlab仿真
本项目基于YOLOv2算法实现高效的路面裂缝检测,使用Matlab 2022a开发。完整程序运行效果无水印,核心代码配有详细中文注释及操作视频。通过深度学习技术,将目标检测转化为回归问题,直接预测裂缝位置和类别,大幅提升检测效率与准确性。适用于实时检测任务,确保道路安全维护。 简介涵盖了算法理论、数据集准备、网络训练及检测过程,采用Darknet-19卷积神经网络结构,结合随机梯度下降算法进行训练。
|
7天前
|
监控 算法 安全
内网桌面监控软件深度解析:基于 Python 实现的 K-Means 算法研究
内网桌面监控软件通过实时监测员工操作,保障企业信息安全并提升效率。本文深入探讨K-Means聚类算法在该软件中的应用,解析其原理与实现。K-Means通过迭代更新簇中心,将数据划分为K个簇类,适用于行为分析、异常检测、资源优化及安全威胁识别等场景。文中提供了Python代码示例,展示如何实现K-Means算法,并模拟内网监控数据进行聚类分析。
28 10
|
27天前
|
机器学习/深度学习 人工智能 算法
Transformer打破三十年数学猜想!Meta研究者用AI给出反例,算法杀手攻克数学难题
《PatternBoost: Constructions in Mathematics with a Little Help from AI》提出了一种结合传统搜索算法和Transformer神经网络的PatternBoost算法,通过局部搜索和全局优化交替进行,成功应用于组合数学问题。该算法在图论中的Ramsey数研究中找到了更小的反例,推翻了一个30年的猜想,展示了AI在数学研究中的巨大潜力,但也面临可解释性和通用性的挑战。论文地址:https://arxiv.org/abs/2411.00566
77 13
|
3月前
|
机器学习/深度学习 监控 算法
基于反光衣和检测算法的应用探索
本文探讨了利用机器学习和计算机视觉技术进行反光衣检测的方法,涵盖图像预处理、目标检测与分类、特征提取等关键技术。通过YOLOv5等模型的训练与优化,展示了实现高效反光衣识别的完整流程,旨在提升智能检测系统的性能,应用于交通安全、工地监控等领域。
|
3月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GA-PSO-SVM算法的混沌背景下微弱信号检测matlab仿真
本项目基于MATLAB 2022a,展示了SVM、PSO、GA-PSO-SVM在混沌背景下微弱信号检测中的性能对比。核心程序包含详细中文注释和操作步骤视频。GA-PSO-SVM算法通过遗传算法和粒子群优化算法优化SVM参数,提高信号检测的准确性和鲁棒性,尤其适用于低信噪比环境。
|
3月前
|
存储 JSON 算法
TDengine 检测数据最佳压缩算法工具,助你一键找出最优压缩方案
在使用 TDengine 存储时序数据时,压缩数据以节省磁盘空间是至关重要的。TDengine 支持用户根据自身数据特性灵活指定压缩算法,从而实现更高效的存储。然而,如何选择最合适的压缩算法,才能最大限度地降低存储开销?为了解决这一问题,我们特别推出了一个实用工具,帮助用户快速判断并选择最适合其数据特征的压缩算法。
86 0
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-19
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-19
91 3
|
4月前
|
存储 人工智能 算法
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-18
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-18
61 0
|
1天前
|
传感器 算法
基于GA遗传算法的多机无源定位系统GDOP优化matlab仿真
本项目基于遗传算法(GA)优化多机无源定位系统的GDOP,使用MATLAB2022A进行仿真。通过遗传算法的选择、交叉和变异操作,迭代优化传感器配置,最小化GDOP值,提高定位精度。仿真输出包括GDOP优化结果、遗传算法收敛曲线及三维空间坐标点分布图。核心程序实现了染色体编码、适应度评估、遗传操作等关键步骤,最终展示优化后的传感器布局及其性能。
|
2天前
|
算法 数据可视化 数据安全/隐私保护
一级倒立摆平衡控制系统MATLAB仿真,可显示倒立摆平衡动画,对比极点配置,线性二次型,PID,PI及PD五种算法
本课题基于MATLAB对一级倒立摆控制系统进行升级仿真,增加了PI、PD控制器,并对比了极点配置、线性二次型、PID、PI及PD五种算法的控制效果。通过GUI界面显示倒立摆动画和控制输出曲线,展示了不同控制器在偏转角和小车位移变化上的性能差异。理论部分介绍了倒立摆系统的力学模型,包括小车和杆的动力学方程。核心程序实现了不同控制算法的选择与仿真结果的可视化。
31 15

热门文章

最新文章