基于深度学习的口罩污染目标检测算法介绍

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

1.  两阶段以及但阶段目标检测算法


    时下流行的目标检测算法主要包含两阶段(Two-stage)算法和单阶段(One-stage)算法两类。其中,两阶段算法主要以RCNN系列为代表,此类算法需要先在区域提议(region proposal)阶段通过选择搜索算法对输入图像生成大量的候选区域,然后再使用 CNN 模型对生成的候选区域加以分类和回归;而单阶段算法主要以SSD算法和YOLO系列为代表,顾名思义,此类算法没有候选区域生成阶段,而是直接使用 CNN模型提取特征信息,从而进行检测目标的分类与定位。两阶段算法的区域提议阶段往往会生成大量的(可能超过 2000个)候选区域,这些候选区域为后续的CNN模型处理带来了极大的计算量,大幅降低了算法的检测速度。而相比于两阶段算法,单阶段算法的检测策略显然更为直接,CNN模型仅需要进行一次前向推理就能获得待检测目标的相关信息,这为单阶段算法带来了数十倍、甚至是上百倍于两阶段算法的检测速度,使其在视频目标检测等主流应用领域中可以达到更高的每秒传输帧率(Frames  Per Second,FPS),所以相比两阶段算法,单阶段算法的应用场景要广泛得多。当下最流行的通用目标检测算法毫无疑问是 YOLOv4,它在主流目标检测数据集COCO上面以65 FPS(测试于Tesla V100 GPU)的实时检测速度达到了65.7%的平均精度均值(mean Average Precision,m AP),相比于前作YOLOv3有着7.8%的大幅提升。


2.  目标检测算法实时性


    因为作为通用目标检测算法,YOLOv3、YOLOv4 需要在多类别(比如 COCO 数据集的80个类别)的目标检测任务中具备很强的泛化能力,所以它们的网络结构被设计得非常复杂,这在一方面提高了网络的训练难度,另一方面也为它们带来了并不理想的模型推理速度。例如,YOLOv4算法在 AMD  3600x  CPU上检测单张608 × 608尺寸的图片需要耗时 21 秒左右,而在 Ge Force GTX 1050Ti GPU(普通性能的 GPU)上的实时检测速度也仅有 13 FPS 左右。YOLOv4 算法虽然具备非常优秀的检测精度,但是复杂的网络结构需要大规模的网络参数量进行支撑,这导致了它的检测速度并不“实时”。口罩检测任务的应用场景非常普遍,多数场景是机场、车站等在全国范围内随处可见的公共交通场所,鉴于这类场所的分布普遍性,是不可能具备超高性能的计算机来部署YOLOv3、YOLOv4 这种非轻量级的目标检测算法的。Wang等人通过对YOLOv4算法的网络结构进行大幅的尺度缩放,并引入跨阶段局部网络(Cross Stage Partial Network,CSPNet)对骨干网络的构造进行改进,提出了YOLOv4-tiny算法。YOLOv4-tiny算法是一种典型的轻量级通用目标检测算法,它的网络参数量仅有YOLOv4算法的10%左右,检测速度则是 YOLOv4算法的6~8倍。相比于YOLOv4算法(具有三个尺度的预测特征层),YOLOv4-tiny算法在骨干网络和特征增强网络上都做了大量的简化,并且只有两个尺度的预测特征层。不过需要注意的是,YOLOv4-tiny网络结构的大幅简化随之而来的就是检测精度的牺牲,例如,它在COCO数据集上的 m AP 指标为42.0%,相比YOLOv4算法确实降低了不少。不过,相比COCO数据集的80个检测类别,现实应用中的大多数目标检测任务的类别数一般在 10 个以下,比如口罩检测任务就只有口罩目标和人脸目标 2个类别,对这类低类别数的检测任务来说,YOLOv4-tiny算法对目标的解析能力尚可,并且具备极为优秀的检测速度。

WE5(BU8~U@%{DQ(_Q}NZ2`Y.png

UJ_)3PV{5`2LE9S{{RFD[P3.png

BJ0P%(I3A3TPB2RY~EAG0@8.png

相关文章
|
1月前
|
传感器 算法 计算机视觉
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
该内容是关于一个基于肤色模型和中值滤波的手部检测算法的描述,包括算法的运行效果图和所使用的软件版本(matlab2022a, vivado2019.2)。算法分为肤色分割和中值滤波两步,其中肤色模型在YCbCr色彩空间定义,中值滤波用于去除噪声。提供了一段核心程序代码,用于处理图像数据并在FPGA上实现。最终,检测结果输出到"hand.txt"文件。
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的视频手部检测算法matlab仿真
基于yolov2深度学习网络的视频手部检测算法matlab仿真
|
1月前
|
机器学习/深度学习 算法 计算机视觉
|
2天前
|
机器学习/深度学习 人工智能 算法
揭秘深度学习中的优化算法
【4月更文挑战第24天】 在深度学习的广阔天地中,优化算法扮演着至关重要的角色。本文将深入探讨几种主流的优化算法,包括梯度下降法、随机梯度下降法、Adam等,并分析它们的特点和适用场景。我们将通过理论分析和实例演示,揭示这些优化算法如何帮助模型更高效地学习参数,从而提高模型的性能。
|
10天前
|
文字识别 算法 计算机视觉
图像倾斜校正算法的MATLAB实现:图像倾斜角检测及校正
图像倾斜校正算法的MATLAB实现:图像倾斜角检测及校正
15 0
|
10天前
|
算法 数据可视化 数据挖掘
R语言社区主题检测算法应用案例
R语言社区主题检测算法应用案例
12 0
|
15天前
|
机器学习/深度学习 自然语言处理 算法
|
1月前
|
XML 机器学习/深度学习 算法
目标检测算法训练数据准备——Penn-Fudan数据集预处理实例说明(附代码)
目标检测算法训练数据准备——Penn-Fudan数据集预处理实例说明(附代码)
34 1
|
1月前
|
算法
m基于log-MPA检测算法的SCMA通信链路matlab误码率仿真
MATLAB 2022a仿真实现了稀疏码多址接入(SCMA)算法,该算法利用码本稀疏性实现多用户高效接入。每个用户从码本中选取码字发送,接收端采用Log-MPA算法进行多用户检测。由于MAP检测计算复杂度高,故采用Log-MPA降低复杂性。仿真展示了不同迭代次数(1, 5, 10, 30)对误码率(BER)的影响,通过比较各次迭代的BER曲线,研究算法性能与迭代次数的关系。
22 0
|
1月前
|
机器学习/深度学习 算法
m基于深度学习的64QAM调制解调系统相位检测和补偿算法matlab仿真
MATLAB 2022a仿真实现了基于深度学习的64QAM相位检测和补偿算法,有效应对通信中相位失真问题。通过DNN进行相位检测和补偿,降低解调错误。核心程序生成随机信号,模拟AWGN信道,比较了有无相位补偿的误码率,结果显示补偿能显著提升性能。
27 8