时间:2025-08-01 01:03 所属分类:电子论文 点击次数:
摘 要: 为了解决人脸检测的实时性与有效性,提出了基于 YOLOv3算法的人脸检测模型.该模型以 Darknet53为主干网络,用3种不同尺寸的特征图进行预测,对Boundingbox的中心坐标、置信度以及类别 损失函数进行设计,最后直接回归被检测人脸的信息.实验中对数据进-
摘 要: 为了解决人脸检测的实时性与有效性,提出了基于 YOLOv3算法的人脸检测模型.该模型以 Darknet53为主干网络,用3种不同尺寸的特征图进行预测,对Boundingbox的中心坐标、置信度以及类别 损失函数进行设计,最后直接回归被检测人脸的信息.实验中对数据进行了批量归一化处理,加速了 Loss 收敛.实验采用 WiderFace的自然场景下的人脸数据集,将 YOLOv3算法模型与不同算法模型比较,结果 显示基于 YOLOv3算法的人脸检测模型能够保证人脸检测的实时性,同时实现了自然场景下多人脸检测的 任务.
关键词: 多人脸检测;YOLOv3;深度学习;卷积神经网络;批量归一化
0 引 言
随着深度学习的快速崛起,人脸检测与识别 近年来也得到了飞速的发展.对于人脸检测的方法,可以回归于目标检测的问题.目标检测是对 图片中可变数量的目标进行查找和分类.通过目 标检测找到图片中需要查找的对象需要解决以下 问题:首先是检测目标种类与数量问题,需要在 多个对象中提取出自己需要的信息,并且排除其 他对象的干扰;其次是数量问题,需要模型在被 检测图像中检测出所有需要的被检测目标,例如 在人脸检测中,模型可以检测出图像中所有的人 脸;再者是目标尺度问题,对于图片中对象尺度 大小不一的情况,模型可以准确输出被检测目标 的信息;同时还有外界干扰问题,例如不同光线、 不同角度、不同颜色背景等都是目标检测时所需 要考虑的问题.在目标检测的同时往往也会进行 分类,这就决定了模型所用的网络是一个多任务 的网络.
传统的目标检测方法有 VJ算法[1]、HOG 算 法[2]以及 DPM 算法[3]等,这些方法主要是将传统 的手动标记特征与滑动窗口相结合来进行目标检 测和定位,但这种方式设计出的目标特征往往会 有兼容性低、效率差等问题.在2008年 DPM 算 法提出之后,传统目标检测方法就遇到了瓶颈. 直到2012年,卷积神经网络的兴起带动了人脸检 测的进一步发展,同时一些基于卷积神经网络的 R-CNN [4],Overfeat [5]方法也出现了.之后基于深 度学习的目标检测分为两类:一类是基于 R-CNN 的系 列 区 域 检 测,如 FastR-CNN [6],FasterRCNN [7].但是,R-CNN 系列的区域检测方法只是 利用卷积神经进行特征上的提取,并没有从本质 上改变搜索框(Boundingbox)的提取目标 区 域. 而 另 一 类 是 利 用 卷 积 神 经 网 络 直 接 回 归 检 测 Bounding box 的 SSD [8] 和 YOLO 系 列 算 法 (YOLOv1 [9],YOLOv2 [10],YOLOv3 [11]).
1 Two-stage与 One-stage目标检测 方法
目前,主流的深度学习目标检测算法有 Twostage与 One-stage两大类.其中 Two-stage目标 检测算法主要为 R-CNN 算法系列(R-CNN、Fast R-CNN、Fsater R-CNN).Twostage的目标检测网络训练主要分为两个步骤:第 一步是输入图片通过卷积神经网络后生成多个特 征图,经过 RPN 网络[4]后完成区域推荐与候选目 标的筛选;第二步是通过对候选目标区域进行分 类和回归完成对目标的检测.相对于传统的目标 检测算法,Two-stage不需要再进行单独训练分 类器、做特征表示等额外的过程,很大程度地提 高了目标检测训练的精度与效率.但是,R-CNN 系列的区域检测方法只是利用卷积神经进行特征 上的提取,并没有从本质上改变 Boundingbox的 提取目标区域. One-stage的目标检测算法主要有 YOLO 算 法系 列 (YOLOv1、YOLOv2、YOLOv3)和 SSD 等.
One-stage算法的检测步骤是使 用卷积神经网络对物体进行特征提取,之后直接 回归物体的类别概率和位置坐标值,即 One-stage 算法并不包含有 RPN 网络.One-stage 目标检测 算法检测速度更快,在实时检测场景中适应性更 好.对此,本文采用 YOLOv3对自然场景下的人 脸进行模型训练和检测.
2 YOLOv3算法模型结构
本文采用类 ResNet [12]的主干网络模型 Darknet53,其借鉴了 ResNet的优点,引入了残差块, 用来避免深层网络所带来的梯度爆炸或者消失的 问题.在整个主干网络中没有池化层和全连接层, 在前向传播中特征图的尺寸变换是通过卷积核的 步长来实现的.由于全部采用卷积层对图像进行 特征提取,降低了网络对图像尺寸的敏感度,实 现了图像多尺度的输入.Darknet53 网络中采用大量的3×3和1×1的卷积核进行特 征提取和特征压缩.
3 数据集的选择与分析
本文采用 WiderFace数据集作为自然场景下 人脸检测的数据集.WiderFace数据集中包含了 32203个图像和393703个人脸图像,在尺度、姿 势、装扮、光照等方面都有着不同的变化.Wider Face是基于61个事件类别组织的数据集,其中包 括了游行、握手、会议、跳舞等不同自然场景下的 人脸,每个类别中40%作为训练集,10%作为交 叉验证,50%作为测试集.本文采用的测试集有 12880 张 训 练 图 片,将 数 据 集 中 的 验 证 集 的 3226张图片进行训练验证,每张图片的标注信息 包括人脸检测框的左上角坐标以及人脸的数量.
数据集的预处理中,先将数据集转换为 VOC格式 的数据集,对图片检测框中的左上角坐标转换为 中心坐标并进行归一化处理,生成对应的labels 信息作为后续的 YOLOv3网络的输入. 网络的输入初始大小为608×608×3,设计中 采用{320,352,384,608}的输入图像尺寸,在 训练中每迭代10次就会随机选择新的输入图像的 尺寸,增加数据的多样性.
4 实验环境与训练
本文 的 实 验 环 境 配 置 如 下:Inter 酷 睿 i7 8700k 处 理 器,16 G 内 存,NVIDIA GeForce GTX 1080Ti 显 卡,CUDA 版 本 为 9.0.176, CUDNN 版本为7.5.0,OpenCV 版本为3.2.0, 操作系统为 Ubuntu18.04.2. 网络 参 数 配 置 如 下:Batch 为 64,动 量 为 0.9,权 重 衰 减 率 为 0.0005, 初 始 学 习 率 为 0.001,最大迭代次数为50000次,学习率发生变 化的次数为1、100、30000和40000,比率分别 为0.1、10、0.1和0.1.实验中采用Darknet框架 进行模型的搭建.
6 结 语
本文设计了基于 YOLOv3算法的人脸检测模 型,模型中采用批量归一化处理进行训练加速, 检测层采用多层卷积神经网络进行回归,实现了 多尺度的被检测图片的输入.实验结果表明,通 过以上方法得到的检测模型,对于自然场景下的 多人脸任务均可保证较高的检测准确率,并且在 检测速度上能够达到实时检测的效果.该模型对 于后续的人脸识别任务具有积极作用,可提高人 脸检测与识别任务的速度和准确性.
参考文献:
[1]ViolaP,Jones M J.Robustreal-timefacedetection [J].InternationalJournalofComputerVision,2004, 57(2):137-154. [2]DalalandN,TriggsB.Histogramsoforientedgradientsforhumandetection[C].IEEE Conferenceon ComputerVisionandPatternRecognition,2005:886- 893.
相关论文范文:
下面文章首先介绍深度学习的背景和卷积神经网络的知识,旨在从本质上理解深度学习应用在图像领域的基本模型架构及其优化方法,其次主要在图像识别、取证、检测三个方向上,具体论述深度学习在图像领域多个方向上的演变与发展,其目的在于了解深度学习对具体图像处理问题的最新研究并掌握多种模型或技术,最后指出深度学习在图像领域存在的问题以及对未来的展望。