«上一篇 下一篇»
  计算机工程  2022, Vol. 48 Issue (8): 136-143  DOI: 10.19678/j.issn.1000-3428.0063232
0

引用本文  

毛雨晴, 赵奎. 基于改进YOLOv5的多任务安全人头检测算法[J]. 计算机工程, 2022, 48(8), 136-143. DOI: 10.19678/j.issn.1000-3428.0063232.
MAO Yuqing, ZHAO Kui. Multi-Task Secure Head-Detection Algorithm Based on Improved YOLOv5[J]. Computer Engineering, 2022, 48(8), 136-143. DOI: 10.19678/j.issn.1000-3428.0063232.

基金项目

国家自然科学基金(61872254)

作者简介

毛雨晴(1997-), 女, 硕士研究生, 主研方向为深度学习、网络安全、计算机视觉;
赵奎, 教授、博士

文章历史

收稿日期:2021-11-14
修回日期:2021-12-21
基于改进YOLOv5的多任务安全人头检测算法
毛雨晴 , 赵奎     
四川大学 网络空间安全学院, 成都 610065
摘要:针对目前监控摄像头预置检测算法存在人脸隐私泄露风险的问题,提出一种基于YOLOv5结构的多任务安全人头检测算法Privacyface-YOLO及轻量级检测版本Privacyface-YOLO(Light)。Privacyface-YOLO的主干网络采用带残差结构的跨阶段局部网络ResCSP,通过残差结构降低特征学习的复杂度,提升网络对人头特征的提取能力。轻量级版本Privacyface-YOLO(Light)使用深度可分离卷积替换ResCSP模块,以减少计算量并提升网络的运行速度。模型的颈部模块引入特征金字塔与路径聚合网络,实现跨层多尺度信息交流,提升模型在复杂人头与小目标场景下的鲁棒性。对提取出的特征进行三分支输出,其中目标定位分支用于定位人头坐标,人头分割分支生成覆盖人头的掩膜以保证人脸隐私,人数回归分支获得图像中的人头总数,通过多任务三分支结构保护人脸隐私同时满足更加复杂的场景需求。实验结果表明,Privacyface-YOLO算法能够有效完成实时人头检测任务并保护人脸隐私,相较目前主流人头检测算法,在人头数据集HollywoodHeads和Brainwash上,该算法的平均查准率AP50指标分别提升11.8%和5.8%,平均查准率AP70指标分别提升20.2%和35.2%。
关键词人头检测    深度学习    YOLOv5算法    人脸隐私    目标检测    
Multi-Task Secure Head-Detection Algorithm Based on Improved YOLOv5
MAO Yuqing , ZHAO Kui     
School of Cyber Science and Engineering, Sichuan University, Chengdu 610065, China
Abstract: Considering the risk of privacy violations that could leak facial information in existing detection algorithms used by surveillance cameras, this study proposes a multi-task secure head-detection algorithm based on a YOLOv5 structure, called Privacyface-YOLO, as well as a lightweight version called Privacyface-YOLO(Light).The backbone network of Privacyface-YOLO adopts the cross-stage local network ResCSP with a residual structure, which reduces the complexity of feature learning and improves the ability of the network to extract features.The lightweight version Privacyface-YOLO(Light) replaces the ResCSP module with deep separable convolution to reduce the amount of computation performed and improve running speed.A neck module introduces a feature pyramid and a path aggregation network to realize cross-layer and multi-scale information exchange and to improve robustness to scenes with small targets and complex head shapes.The extracted features are output in three branches that perform different tasks to protect privacy and meet the needs of complex scenes.A target-location branch is used to locate the coordinates of people's heads in an image, and a head-segmentation branch generates a mask covering each head to ensure the privacy of face information, while a dedicated regression branch obtains the total number of heads in the image.Experimental results are presented to show that the Privacyface-YOLO algorithm can perform the real-time head-detection task effectively while protecting the privacy of face information.The proposed algorithm outperformed existing mainstream head-detection algorithms, obtaining a higher AP50 average precision index on the HollywoodHeads and Brainwash datasets by 11.8% and 5.8%, respectively; its AP70 average precision index was higher by 20.2% and 35.2%, respectively.
Key words: head-detection    deep learning    YOLOv5 algorithm    face privacy    target detection    

开放科学(资源服务)标志码(OSID):

0 概述

随着深度学习技术的发展,人脸检测与人头检测已成为计算机视觉领域的研究热点,具有重要的研究价值与广阔的应用前景,人头计数作为其延伸方向,广泛应用于人流预警设备中。如今,公共场所大范围部署监控摄像头,摄影录像大多包含被摄者的面部信息,若这些信息被不法分子获取,将严重威胁被摄者的隐私。2021年3·15晚会报道出多家企业滥用人脸识别摄像头,在顾客未知情的情况下私自存储人脸信息,严重侵害顾客的合法权益与隐私安全,使得普通民众的人脸信息安全难以得到保证。人脸是个人独有的生物识别信息,目前大部分人脸已与各大平台账号密码绑定,一旦存在泄露可能,用户将面临财产损失及隐私泄露的风险。《网络安全法》已经明确将包括人脸在内的个人生物识别信息纳入“个人信息”范围[1]。针对由公共场所摄像头引发的人脸隐私安全问题,需要一种实时打码的方法确保人脸信息不被非授权机构获取。

早期的监控视频人脸隐私保护方法可分为人工检测法与辅助检测法。人工检测法一般由人进行逐帧校对并添加马赛克掩膜,再合并回视频流,其具有打码位置准确的特点,但是需要人工添加掩膜信息,因此,对人力消耗巨大,无法做到实时保护。辅助检测法指利用人脸检测作为辅助手段进行掩膜覆盖。

传统人脸检测通常基于机器学习方法,需要专家提取人脸先验知识进行手工设计特征并转化为规则,然后结合分类器进行检测。文献[2]使用手工设计Haar特征积分图对人脸进行描述,将特征图输入带有级联结构的AdaBoost分类器中进行快速人脸检测,其提出的VJ(Viola-Jones)算法是人脸检测领域的一次突破,可实现一秒检测15张图的效果。但是,该算法提出的Haar特征使得分类器难以检测出非正面角度的人脸与被遮挡的人脸,检测性能也会随着人脸图像背景复杂度的提高而下降。文献[3]针对遮挡人脸检测问题,对VJ算法进行改进,指出每个弱分类器都可以被看成一个图像补丁,人脸也可以划分为不同区域的补丁,其将弱分类器映射到人脸补丁中,通过设立的阈值来判断当前补丁区域是否为一个有效无遮挡的人脸,最终将所有有效补丁人脸进行整合,赋予补丁不同权重以确定整合后的窗口是否为人脸。该方法能有效解决人脸遮挡检测问题,但同样存在人脸角度的局限性。

研究人员对VJ算法手工特征的框架进行改进,并先后提出不同的手工特征描述算法(如SIFT[4]、HOG[5]、LAB[6]、SURF[7]等),将其应用于人脸检测任务。文献[8]提出特征由粗到细的检测器,整合LAB、SURF、SIFT三类特征,使用级联漏斗结构的多层感知机集中检查候选区域,这种方式可以有效突破传统方法在多视角人脸检测中的局限性,但是其在场景复杂、人脸尺度变化大等情况下的检测效果还有提升空间。传统方法往往依赖于专家手工设计特征,在复杂场景下算法的鲁棒性都有待提升。

人脸检测作为辅助手段易受到人脸角度、位置等限制,引起人脸漏检情况,且仍旧存在人脸隐私泄露风险。可以利用人头检测替代人脸检测进行人脸保护,通过卷积神经网络提取人头特征,无需专家设计人工特征。基于深度学习的人头检测方法更加适用于在自然场景下识别背景杂乱的人头,抗干扰性更强,具有更好的鲁棒性与准确率。

文献[9]提出一种扩展R-CNN检测器方法,使用两类上下文线索进行头部检测,一类提取前景和背景的全局特征,另一类提取目标对象关系模型,构建关联得分函数,将两类检测器组成一个联合卷积神经网络框架用于人头检测。但是,该方法在头部目标检测时易受闭塞因素影响[10]。文献[11]关注全局与局部特性,提出一种自适应关系网络用于捕获上下文信息,使用两步搜索法分别获取全局先验特征与结构化局部特征,并将全局先验特征和局部关系特征集成到一个可训练模型中,实验结果表明,该网络可以有效抑制漏检情况,但是其未融合低层特征,在特征提取上还有待提升[12]。文献[13]提出一种应用于拥挤场景中人头检测的无锚检测框架,该框架通过卷积神经网络提取高维特征,再使用递归LSTM生成序列并挖掘信息以进行人头检测,利用3种特殊设计的损失函数进行反向传播以更新模型参数。文献[14]在文献[13]的基础上进行改进,加入一组预先设置的锚框,使用VGG-16作为基本架构,将VGG-16末尾的全连接层转化成卷积层,改进后的全卷积神经网络可完成分类与回归任务,从而实现人头检测与人群计数。

由于人头检测框为矩形,因此直接进行掩膜覆盖可能会造成图中其他关键信息的损失。针对该问题,本文在人头检测的基础上,使用额外检测分支进行精细化人头像素分割,并用掩膜覆盖打码,在多方位保护人脸隐私的同时实现更精细的人头覆盖。具体地,本文提出三分支检测算法Privacyface-YOLO,该算法采用带残差结构的跨阶段局部网络提取人头特征,将金字塔结构与路径聚合网络(PANet)[15]相结合,进行多尺度特征融合与交流,充分利用浅层的目标位置信息和深层的特征图语义信息,使得模型对复杂的人头场景与小目标人头都具有良好的鲁棒性,以实现端到端实时人头定位、人头分割以及人群数量回归。同时,本文基于轻量级MobileNetV2[16]提出Privacyface-YOLO(Light)网络,该网络可部署在移动端设备或内置于摄像头的芯片中,从而实现实时安全人脸保护。

1 相关工作

目标检测研究可按检测阶段分为两类:一类是RCNN[17]系列,第一阶段提出目标检测候选区域,第二阶段针对候选区域进行目标判断与回归,该系列具有检测精度高但检测速度慢的特点;另一类是SSD[18]和YOLO(You Only Look Once)[19]系列,这一系列需要一体化实现目标定位与检测,一阶段算法具有优越的时间性能,但是检测精度仍需提升[20]

YOLO意指神经网络只需看一遍图片就可以输出检测结果,迄今为止,研究人员已经陆续发布了5个YOLO版本。2016年,REDMON首次提出YOLOv1[19]并直接将输入图像划分为7×7的网格,每个网格都计算2个预测边界框及置信度,超过检测阈值直接预测边界框中的目标位置与类别。但是,由于约束了检测框数目,因此算法本身具有局限性,在小目标检测中表现欠佳。随后,REDMON对YOLO进行改进并提出YOLOv2[21]与YOLOv3[22]。YOLOv2通过引入Batch normalization加速网络收敛,并移除全连接层,重新引入锚框使得网络定位更加准确。YOLOv3引入残差结构,提高特征主干网络的深度并提升语义丰富性,从而提高了对小目标的检测能力。BOCHKOVSKIY等在REDMON研究的基础上提出YOLOv4[23],其引入Bag of specials的思想,通过使用金字塔结构、激活函数Swish及soft NMS后处理,只需付出一点额外的计算代价就能大幅提升检测精确度。在这之后,ULTRALYTICS提出YOLOv5,YOLOv5按照模型大小分为YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,模型越大,网络的速度越快,宽度越大,检测效果越好,但是,所耗费的资源也越多。从YOLOv2版本开始,YOLO网络中都需要预先设置锚框,检测效果也与所设立锚框的大小有关。为了解决锚框大小设定问题,YOLOv5在每次训练时自适应计算当前最佳锚框大小以适用于不同训练集的目标。

2 安全人头检测算法 2.1 Privacyface-YOLO算法框架

本文提出一种基于YOLOv5结构的多任务安全人头检测算法Privacyface-YOLO,该算法使用端到端的网络实现实时人头定位、人头分割以及人群数量回归。

图 1所示,Privacyface-YOLO算法框架分为5个部分,分别为主干网络(Backbone)、颈部(Neck)、人头分割层(Head Segmentation)、目标定位层(Object Detection)、人数回归层(Count Regression)。第一部分为主干网络,用于提取图像特征;第二部分为颈部,用于混合主干网络中提取的多尺度特征图,并将特征传递到三分支任务输出结构;第三部分为人头分割层,用于端到端地输出人头分割的结果;第四部分为目标定位层,直接使用颈部的输出特征图进行预测,获取目标的位置信息和类别;第五部分为人数回归层,用于直接预测当前图像中的人数。

Download:
图 1 多任务Privacyface-YOLO算法框架 Fig. 1 Multi-task Privacyface-YOLO algorithm framework

对于一张640×640像素的RGB图像,首先使用Focus操作在不损失像素点的情况下将图像尺寸缩小一倍,再使用主干网络提取图像特征,其中,Down Conv是步长为2的3×3卷积,在提取特征的同时缩小特征图尺寸,ResCSP为带残差结构的跨阶段局部网络[24],通过拆分特征图来对部分特征图进行特征提取然后与剩下的特征图进行叠加,能够在减少计算量的同时提升网络的特征提取能力。在特征提取阶段,由于使用了下采样操作,使得特征图的尺寸减小,导致低层的特征图语义信息较少,但是目标位置准确;高层的特征图语义信息更加丰富,但是目标位置比较粗略[25]。因此,在颈部使用特征金字塔结构(FPN)[25]融合不同层特征图的信息,并在FPN后再接上一个PANet[15]结构,PANet将FPN中低层的信息再次传递到高层,从而实现跨网络层的信息交流。UpSample为上采样,用于扩大特征图的尺寸。将颈部最上层的特征图传入人头分割层,用于人头像素点分割。人头分割层中首先使用3×3卷积提取图像特征并结合上采样、ResCSP还原特征图,主干网络、颈部、人头分割层结合在一起的网络结构呈U型结构,类似于语义分割网络U-Net。目标定位层用于实现人头定位,在Neck中得到3个长宽分别为原图 1/8、1/16、1/32大小的特征图并传入目标定位层,结合自适应Anchor对特征图中的人头进行检测,直接输出网络预测的人头置信度和位置信息。最后,人数回归层直接预测图像中的人数,使用一个3×3卷积和自适应的Avg Pooling将特征图的尺寸调整到1×1,再使用1×1卷积调整特征图的通道数为1,实现人数回归。在3×3卷积之后均使用BN对特征图进行归一化,利用Leaky ReLU对特征图进行激活,从而提升网络的训练速度并防止过拟合发生。

Privacyface-YOLO算法可以制作成软件,并在计算能力高的服务器端或PC端进行检测。对于计算能力低的移动端设备,本文提出一个更快的版本Privacyface-YOLO(Light),在上述网络的基础上进行改进,将主干网络替换为更加轻量的MobileNetV2[16],使用深度可分离卷积替换ResCSP结构,从而实现更轻量级的特征提取网络。本文所提轻量级版本更适用于移动端设备,且可直接在芯片中部署。

2.2 损失函数

在深度学习的训练过程中,通过计算图像中的真实标签和神经网络的输出结果之差获得当前模型的损失(loss)值,loss值反映了输出结果与真实标签的差异大小。在反向传播过程中根据loss值的大小对网络参数进行调整,使得神经网络的预测结果趋向真实值。本文所提网络为多任务神经网络,使用的loss包含3个部分:第一部分为目标定位层的检测框loss,记为lossdet;第二部分为人头语义分割的loss,记为lossseg;第三部分为人头数量回归的loss,记为lossreg。具体如下:

1)目标检测框的lossdet

在通常情况下,目标检测网络的loss由3个部分组成,分别为类别损失、检测框的损失和置信度的损失。本文目标检测任务为单目标检测,无类别损失,因此,本文检测任务的loss由人头框和置信度的损失组成。

第一部分是人头框的损失,记为lossobj,使用的损失函数为二元交叉熵(Binary Cross Entropy,BCE),计算公式如下:

$ \mathrm{l}\mathrm{o}\mathrm{s}{\mathrm{s}}_{\mathrm{o}\mathrm{b}\mathrm{j}}=-\left(z\mathrm{l}\mathrm{o}{\mathrm{g}}_{a}\left(\mathrm{S}\mathrm{i}\mathrm{g}\mathrm{m}\mathrm{o}\mathrm{i}\mathrm{d}\left(x\right)\right)+\\ \left(1-z\right)\mathrm{l}\mathrm{o}{\mathrm{g}}_{a}\left(\mathrm{S}\mathrm{i}\mathrm{g}\mathrm{m}\mathrm{o}\mathrm{i}\mathrm{d}\left(1-x\right)\right)\right) $ (1)

其中:x为网络的预测值,使用Sigmoid函数将x映射到0-1的空间中,反映当前类别概率;z为真实的标注信息,取值为0或1。

第二部分为反映边界框准确度的loss,记为lossbox。本文使用的边界框损失函数为GIoU[26],计算公式如下:

$ \mathrm{l}\mathrm{o}\mathrm{s}{\mathrm{s}}_{\mathrm{b}\mathrm{o}\mathrm{x}}=1-\left(\frac{A\bigcap B}{A\bigcup B}-\frac{C-\left(A\bigcap B\right)}{C}\right) $ (2)

其中:A为真实图像的目标框;B为网络预测出的物体框;CAB的最小包围框。

2)人头语义分割的lossseg

人头语义分割为单类别分割任务,loss为二分类的交叉熵,计算公式同式(1)。

3)人头计数回归的lossreg

人头计数回归使用的loss为smooth L1 loss,计算公式如下:

$ \mathrm{l}\mathrm{o}\mathrm{s}{\mathrm{s}}_{\mathrm{r}\mathrm{e}\mathrm{g}}=\left\{\begin{array}{l}0.5{x}^{2}, \left|\left.x\right|\le 1\right.\\ x-0.5, \left|\left.x\right| > 1\right.\end{array}\right. $ (3)

其中:x为预测的人头数减去真实图像中人头数的值。

对不同loss设定不同的权重以得到整体的loss,计算公式如下:

$ \mathrm{l}\mathrm{o}\mathrm{s}\mathrm{s}=\left(\mathrm{l}\mathrm{o}\mathrm{s}{\mathrm{s}}_{\mathrm{o}\mathrm{b}\mathrm{j}}+0.05\mathrm{l}\mathrm{o}\mathrm{s}{\mathrm{s}}_{\mathrm{b}\mathrm{o}\mathrm{x}}\right)+\mathrm{l}\mathrm{o}\mathrm{s}{\mathrm{s}}_{\mathrm{s}\mathrm{e}\mathrm{g}}+0.05\mathrm{l}\mathrm{o}\mathrm{s}{\mathrm{s}}_{\mathrm{r}\mathrm{e}\mathrm{g}} $ (4)
3 实验结果与分析 3.1 实验环境与数据集

本文所有实验均在Ubuntu18.04 LTS操作系统下执行,处理器为Intel® Xeon® CPU E5-2630 v4 @ 2.20 GHz,显卡采用NVIDIA GeForce RTX 2080Ti,11 GB显存。程序编码使用Python3.6.10及PyTorch1.7.0实现,通过CUDA11.0进行深度学习运算加速。模型迭代次数设置为300,初始学习率为0.01,动量与重量衰减分别设置为0.937和0.000 5,引入早停(Early stopping)机制缓解过拟合,当30轮迭代mAP都没有提升时停止训练。

本文实验采用人头数据集HollywoodHeads[9]和Brainwash[11]分别进行训练、验证与测试,并将模型迁移至人脸数据集WIDER FACE上[27]进行微调(finetune)。HollywoodHeads包含21部好莱坞电影的224 740帧图像,提供了369 846个人头标注,其中,训练集取自15部电影共包含216 719帧图像,验证集取自3部电影共包含6 719帧图像,测试集取自3部电影共包含1 302帧图像。Brainwash来自咖啡馆摄像头每间隔100 s所采样的图像,其中,训练集包含10 769张图像并含有81 975个人头,验证集包含500张图像并含有3 318个人头,测试集包含500张图像并含有5 007个人头。与HollywoodHeads相比,Brainwash中的每一张图像都包含了更多的人,平均每一张图像中含有7.89个人头,是更具挑战性的人群密集场景。WIDER FACE是由WIDER数据集中的61个事件制作而成的人脸检测数据集,共包含32 203张图片,含有393 703个人脸标签,按照40%、10%、50%将数据集划分为训练集、验证集、测试集,对于训练集与验证集,平均每张图片中有24.45张人脸,作者按照人脸识别的难易程度划分为Easy、Medium和Hard,其中,Hard部分场景图片人脸密集且具有不典型人脸特征与遮挡。WIDER FACE数据集更适合模拟本文算法在真实场景下的人脸隐私打码应用效果。

3.2 评估方法

loss值越大,说明网络的识别结果差异越大,网络的拟合程度越差;loss值越小,说明模型对当前数据的拟合程度越好,但并不能说明网络识别能力更强,因为可能存在过拟合现象。因此,本文使用查准率(Precision,P)、查全率(Recall,R)、交并比分数(Intersection over Union,IoU)、数目回归指数(Regression,Reg)和平均查准率(Average Precision,AP)对人头检测结果进行评估。查准率表示预测正确的人头与输出预测人头样本的比例,反映人头尽可能被预测正确的程度。查全率表示预测正确的人头与实际人头的比例,反映人头尽可能被找到的程度。两者计算公式如下:

$ P=\frac{{T}_{P}}{{T}_{P}+{F}_{P}} $ (5)
$ R=\frac{{T}_{P}}{{T}_{P}+{F}_{N}} $ (6)

其中:$ {T}_{P} $为真阳性,表示被正确识别的人头样本数;$ {F}_{P} $为假阳性,表示网络判定为人头而实际为非人头的样本数;$ {F}_{N} $为假阴性,表示被网络忽视的真实人头样本数。

IoU分数是分割任务的标准性能度量指标,是指计算预测掩膜的像素面积与真实标签像素面积的交集和并集的比值[28],计算公式如下:

$ {I}_{\mathrm{I}\mathrm{o}\mathrm{U}}=\frac{{I}_{\mathrm{i}\mathrm{n}\mathrm{t}\mathrm{e}\mathrm{r}}}{{U}_{\mathrm{u}\mathrm{n}\mathrm{i}\mathrm{o}\mathrm{n}}}=\frac{{M}_{\mathrm{m}\mathrm{a}\mathrm{s}\mathrm{k}}\bigcap {L}_{\mathrm{l}\mathrm{a}\mathrm{b}\mathrm{e}\mathrm{l}}}{{M}_{\mathrm{m}\mathrm{a}\mathrm{s}\mathrm{k}}\bigcup {L}_{\mathrm{l}\mathrm{a}\mathrm{b}\mathrm{e}\mathrm{l}}} $ (7)

Reg是衡量人头检测数目精准度的一项指标,通过计算预测人头数和实际人头数之差获得人头预测准确率的度量,计算公式如下:

$ {R}_{\mathrm{R}\mathrm{e}\mathrm{g}}=1-\frac{\left|\mathrm{n}\mathrm{u}{\mathrm{m}}_{\mathrm{p}\mathrm{r}\mathrm{e}\mathrm{d}\mathrm{i}\mathrm{c}\mathrm{t}\mathrm{i}\mathrm{o}\mathrm{n}}-\left.\mathrm{n}\mathrm{u}{\mathrm{m}}_{\mathrm{l}\mathrm{a}\mathrm{b}\mathrm{e}\mathrm{l}}\right|\right.}{\left|\left.\mathrm{n}\mathrm{u}{\mathrm{m}}_{\mathrm{l}\mathrm{a}\mathrm{b}\mathrm{e}\mathrm{l}}\right|\right.} $ (8)

AP用于反映模型准确识别人头的能力,计算公式如下:

$ {A}_{\mathrm{A}\mathrm{P}}=\frac{\sum P}{{N}_{\mathrm{i}\mathrm{m}\mathrm{g}}} $ (9)

其中:$ P $为计算一张测试图像中人头的查准率;Nimg为测试集中的图像数量。

当检测框和真实框的IoU大于某一阈值时,将该物体视为准确识别。当阈值较大时,检测得到的目标框更精准,但是查准率会降低;当阈值较小时,查准率提高,但是检测框和真实位置可能会有偏差。在此次实验中,本文使用的阈值分别为0.50、0.70,在每一轮完成时,使用当前模型在测试集上进行测试,计算AP50和AP70。

3.3 算法对比分析 3.3.1 本文算法与其他经典算法的对比

为验证Privacyface-YOLO算法的检测性能,本文在公开通用数据集HollywoodHeads和Brainwash上将其与近年来出现的主流检测算法进行实验对比。

在HollywoodHeads数据集的实验中,选取2种经典目标检测算法SSD[18]和YOLOv2[20]以及CONC[9]、TINY[29]、FCHD[14]、HeadNet[11]作为对比算法,实验结果如表 1所示。从表 1可以看出:在IoU=0.50时,本文算法的平均查准率较对比算法高11.8%;在IoU=0.70时,本文算法的平均查准率较对比算法高20.2%。

下载CSV 表 1 各算法在HollywoodHeads测试集上的检测性能对比 Table 1 Comparison of detection performance of each algorithm on HollywoodHeads test set  

在Brainwash数据集的实验中,同样选取2种经典目标检测方法SSD[18]和YOLOv2[20]以及Lhungarian[13]、TINY[29]、FCHD[14]、HeadNet[11]作为对比算法,实验结果如表 2所示。从表 2可以看出:在IoU=0.50时,本文算法的平均查准率较对比算法高5.8%;在IoU=0.70时,本文算法的平均查准率较对比算法高35.2%。

下载CSV 表 2 各算法在Brainwash测试集上的检测性能对比 Table 2 Comparison of detection performance of each algorithm on Brainwash test set  
3.3.2 多分支检测对人头检测的促进作用

为确定Privacyface-YOLO多分支检测算法对人头检测具有促进作用,在保证主干网络和颈部结构一致的前提下进行对比实验,去除多分支输出网络结构的人头分割层和人数回归层,退化为只具有目标定位层的单任务目标检测网络,网络其他部分不变。表 3所示为单分支结构与多分支结构在2个数据集下的查准率、查全率和平均查准率比较,最优结果加粗表示。由于单分支结构不具有人头分割层和人数回归层,因此未比较IoU分数及Reg数目回归指数。

下载CSV 表 3 多分支与单分支结构的对比结果 Table 3 Comparison results of multi branch and single branch structures 

表 3可以看出,增加多任务分支后,2个数据集上的检测结果都有一定提升,因此,多分支对人头检测具有促进与辅助作用,增加多任务并不会影响检测准确率。对于Privacyface-YOLO算法的检测效果,WIDER FACE数据集测试图像之间人头数差异较大,且存在部分遮挡人头,在评估中实验结果存在一定下滑,证明本文算法在人头密度高的情况下仍旧具有鲁棒性。

3.3.3 轻量级结构

本文在Brainwash测试集上对500张图片使用Privacyface-YOLO进行预测,预测总时间为2.09 s,平均一张图片的预测时间为0.004 18 s,算法每秒处理239张图片,模型GFlops为24.1;利用Privacyface-YOLO(Light)进行预测,预测总时间为1.20 s,平均一张图片的预测时间为0.002 40 s,算法每秒处理416张图片,模型GFlops为19.0,轻量级模型的检测速度提升近一倍。表 4所示为Privacyface-YOLO(Light)在2个数据集中的处理结果,相较Privacyface-YOLO,Privacyface-YOLO(Light)的平均查准率稍有下降,但检测结果依旧良好,可以满足日常检测需求。

下载CSV 表 4 Privacyface-YOLO(Light)轻量级模型的测试结果 Table 4 Test results of Privacyface-YOLO(Light) lightweight model 
3.3.4 人脸检测任务

人脸检测同样是计算机视觉领域中的重要任务,为证明本文算法同样适用于人脸检测任务,选取人脸密度较大的数据集WIDER FACE进行实验,并与近年来所提基于深度学习的人脸检测算法YOLOv3-FACE[30]、MTCNN Multitask Cascade CNN[31]、RetinaFace[32]、SCRFD[33]进行对比,实验结果如表 5所示,同样也按照WIDER FACE的Easy、Medium和Hard划分标准,分别计算对应检测结果的AP。从表 5可以看出,本文算法在人脸检测领域同样具有较高的性能提升,尤其在人脸密度大、检测难度高的Hard数据集中,其平均查准率相对SCRFD算法提高12.2%。

下载CSV 表 5 各算法在WIDER FACE验证集上的性能对比结果 Table 5 Performance comparison results of each algorithm on WIDER FACE verification set 

表 6所示为单任务分支、多任务分支以及多任务分支轻量级Privacyface-YOLO(Light)的检测结果。从表 6可以看出,在增加多任务分支后,Privacyface-YOLO的检测结果在Easy、Medium和Hard下较单任务分别提升2%、2%、2.6%;Privacyface-YOLO(Light)在Easy、Medium和Hard下虽比多分支Privacyface-YOLO性能分别下降1.4%、1.5%、2.1%,但对比单分支模型分别提升0.6%、0.5%、0.5%。实验结果表明,在人脸检测领域,增加多任务分支后同样可以提升模型准确率,轻量级结构在提升一倍检测速度的同时也能保持较好的检测结果。

下载CSV 表 6 在WIDER FACE数据集上多分支与单分支结构的对比结果 Table 6 Comparison results of multi branch and single branch structures on WIDER FACE dataset 
3.3.5 检测效果分析

本文模型将已训练好的Privacyface-YOLO分别用于测试数据集Brainwash、HollywoodHeads和WIDER FACE,得到的检测结果如图 2~图 4所示,其中,每张图中的(a)展示对应数据集测试原图,(b)为人头检测分支的输出结果,(c)为人头分割分支的输出结果,(d)为整合后的带有分割掩膜的检测图像。从中可以看出,本文算法在实现人头检测的同时生成人头预测掩膜进行人头覆盖打码,对被检测到的人脸进行保护,有效避免了人脸数据泄露的风险。尤其在图 4的WIDER FACE测试图片中,在人脸密集的场景下,Privacyface-YOLO算法也能很好地对几乎所有人脸生成掩膜并进行打码操作,该程序有望在公共场所摄像头中使用,以保证人脸隐私安全。

Download:
图 2 Brainwash数据集上的检测效果 Fig. 2 Detection effect on Brainwash dataset
Download:
图 3 HollywoodHeads数据集上的检测效果 Fig. 3 Detection effect on HollywoodHeads dataset
Download:
图 4 WIDER FACE数据集上的检测效果 Fig. 4 Detection effect on WIDER FACE dataset
4 结束语

已有的监控摄像头预置检测算法多数存在人脸隐私泄露的风险,为此,本文提出一种基于YOLOv5结构的多任务安全人头检测算法Privacyface-YOLO。该算法通过主干网络层提取图像特征,在颈部融合层实现特征信息交流,利用人头分割层生成覆盖原图人头的掩膜以保证人脸隐私,目标定位层配合人头分割层实现人头检测,在人数回归层预测人头数量。在公开通用人头数据集HollywoodHeads和Brainwash上进行实验,结果表明,该算法的准确率AP50分别达到94.8%和96.6%,准确率AP70分别达到79.7%和84.4%,三分支结构在保护人脸隐私的同时具有较好的平均查准率。下一步将优化主干特征提取网络,提升网络在人脸密集条件下的检测准确率,并将轻量级网络Privacyface-YOLO(Light)集成到摄像头芯片中,从而实现更优的人脸安全保护。

参考文献
[1]
方禹. 论对《网络安全法》第67条中"个人信息"的理解[J]. 网络信息法学研究, 2020(1): 15.
FANG Y. A discussion of the definition of "personal information" in the network security law[J]. Journal of Cyber and Information Law, 2020(1): 15. (in Chinese)
[2]
VIOLA P, JONES M J. Robust real-time face detection[J]. International Journal of Computer Vision, 2004, 57(2): 137-154. DOI:10.1023/B:VISI.0000013087.49260.fb
[3]
CHEN J, SHAN S G, YANG S Y, et al. Modification of the AdaBoost-based detector for partially occluded faces[C]//Proceedings of the 18th International Conference on Pattern Recognition. Washington D.C., USA: IEEE Press, 2006: 516-519.
[4]
LOWE D G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision, 2004, 60(2): 91-110. DOI:10.1023/B:VISI.0000029664.99615.94
[5]
DALAL N, TRIGGS B. Histograms of oriented gradients for human detection[EB/OL]. [2021-10-05]. http://vision.stanford.edu/teaching/cs231b_spring1213/papers/CVPR05_DalalTriggs.pdf.
[6]
YAN S Y, SHAN S G, CHEN X L, et al. Locally Assembled Binary(LAB) feature with feature-centric cascade for fast and accurate face detection[C]//Proceedings of 2008 IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2008: 1-7.
[7]
BAY H, ESS A, TUYTELAARS T, et al. Speeded-Up Robust Features(SURF)[J]. Computer Vision and Image Understanding, 2008, 110(3): 346-359. DOI:10.1016/j.cviu.2007.09.014
[8]
WU S Z, KAN M N, HE Z L, et al. Funnel-structured cascade for multi-view face detection with alignment-awareness[J]. Neurocomputing, 2017, 221: 138-145. DOI:10.1016/j.neucom.2016.09.072
[9]
VU T H, OSOKIN A, LAPTEV I. Context-aware CNNs for person head detection[C]//Proceedings of 2015 IEEE International Conference on Computer Vision. Washington D.C., USA: IEEE Press, 2015: 2893-2901.
[10]
吉训生, 吴凡. 基于混合卷积神经网络的人头检测方法[J]. 高技术通讯, 2018, 28(4): 313-319.
JI X S, WU F. Head detection using hybrid convolution neural networks[J]. Chinese High Technology Letters, 2018, 28(4): 313-319. (in Chinese) DOI:10.3772/j.issn.1002-0470.2018.04.004
[11]
LI W, LI H L, WU Q B, et al. HeadNet: an end-to-end adaptive relational network for head detection[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2020, 30(2): 482-494. DOI:10.1109/TCSVT.2019.2890840
[12]
WANG A, CAO X H, LU L, et al. Design of efficient human head statistics system in the large-angle overlooking scene[J]. Electronics, 2021, 10(15): 1851.
[13]
STEWART R, ANDRILUKA M, NG A Y. End-to-end people detection in crowded scenes[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2016: 2325-2333.
[14]
VORA A, CHILAKA V. FCHD: fast and accurate head detection in crowded scenes[EB/OL]. [2021-10-05]. https://arxiv.org/pdf/1809.08766.pdf.
[15]
LIU S, QI L, QIN H F, et al. Path aggregation network for instance segmentation[C]//Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2018: 8759-8768.
[16]
SANDLER M, HOWARD A, ZHU M L, et al. MobileNetV2: inverted residuals and linear bottlenecks[C]//Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2018: 4510-4520.
[17]
GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation[C]//Proceedings of 2014 IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2014: 580-587.
[18]
LIU W, ANGUELOV D, ERHAN D, et al. SSD: single shot MultiBox detector[EB/OL]. [2021-10-05]. https://arxiv.org/pdf/1512.02325v2.pdf.
[19]
REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: unified, real-time object detection[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2016: 779-788.
[20]
LIU L, OUYANG W L, WANG X G, et al. Deep learning for generic object detection: a survey[J]. International Journal of Computer Vision, 2020, 128(2): 261-318.
[21]
REDMON J, FARHADI A. YOLO9000: better, faster, stronger[C]//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2017: 7263-7271.
[22]
REDMON J, FARHADI A. YOLOv3: an incremental improvement[EB/OL]. [2021-10-05]. https://arxiv.org/abs/1804.02767.
[23]
BOCHKOVSKIY A, WANG C Y, LIAO H Y M. YOLOv4: optimal speed and accuracy of object detection[EB/OL]. [2021-10-05]. https://arxiv.org/abs/2004.10934.
[24]
WANG C Y, MARK LIAO H Y, WU Y H, et al. CSPNet: a new backbone that can enhance learning capability of CNN[C]//Proceedings of 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2020: 1571-1580.
[25]
LIN T Y, DOLLAR P, GIRSHICK R, et al. Feature pyramid networks for object detection[C]//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2017: 936-944.
[26]
REZATOFIGHI H, TSOI N, GWAK J, et al. Generalized intersection over union: a metric and a loss for bounding box regression[C]//Proceedings of 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2019: 658-666.
[27]
YANG S, LUO P, LOY C C, et al. WIDER FACE: a face detection benchmark[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2016: 5525-5533.
[28]
RAHMAN M A, WANG Y. Optimizing intersection-over-union in deep neural networks for image segmentation[EB/OL]. [2021-10-05]. https://www.cs.umanitoba.ca/~ywang/papers/isvc16.pdf.
[29]
HU P Y, RAMANAN D. Finding tiny faces[C]//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2017: 1522-1530.
[30]
CHUN L Z, DIAN L, ZHI J Y, et al. YOLOv3:face detection in complex environments[J]. International Journal of Computational Intelligence Systems, 2020, 13(1): 1153.
[31]
ZHANG K P, ZHANG Z P, LI Z F, et al. Joint face detection and alignment using multitask cascaded convolutional networks[J]. IEEE Signal Processing Letters, 2016, 23(10): 1499-1503.
[32]
DENG J K, GUO J, VERVERAS E, et al. RetinaFace: single-shot multi-level face localisation in the wild[C]//Proceedings of 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2020: 14-21.
[33]
GUO J, DENG J K, LATTAS A, et al. Sample and computation redistribution for efficient face detection[EB/OL]. [2021-10-05]. https://arxiv.org/abs/2105.04714.