APP下载

基于卷积神经网络的区域人脸检测研究

2021-10-28张瑞国

网络安全技术与应用 2021年9期
关键词:池化人脸尺度

◆张瑞国

基于卷积神经网络的区域人脸检测研究

◆张瑞国

(山西水利职业技术学院信息工程系 山西 044000)

基于神经网络的区域人脸检测方法已经取得了一定的成功。本文提出了一种基于卷积神经网络的区域人脸检测方法,我们称之为Face R-FCN。它比基于Face R-CNN的人脸检测方法准确率更高,效率更快。该方法采用卷积残差网络作为主体,通过对目标区域进行平均池化操作、多尺度训练和测试以及在线示例挖掘策略来提高检测精度。用比较流行的人脸数据库FDDB对网络模型进行训练,取得了比现有技术更好的性能。

卷积神经网络;目标检测;区域人脸检测;多尺度信息融合

1 介绍

人脸检测是目标检测的重要组成部分,主要集中在R-CNN上并取得了良好的效果。但在复杂的多人脸图像中,人脸检测技术仍然面临很多困难。如图1所示,是一个多人脸图像,由于远近、尺度、光照等条件的影响,目前常用的区域检测算法是Faster R-CNN,它是基于R-CNN人脸检测算法。本文提出的R-FCN以全卷积残差网络为主体,通过TensorFlow深度学习模型框架来完成R-FCN网络模型搭建,与基于R-CNN的方法相比,R-FCN提出了更少的区域层次进行平衡分类来完成模型的训练和测试,完成了将卷积网络与目标区域的结合,提高了训练和测试效率及准确率[1-2]。

通过设计锚来对多人脸图像中的面部进行锚定,根据面部尺寸的不同来设定锚的大小,由于面部尺寸、光照对检测的影响不同,通过对目标区域进行平均池化操作生成嵌入特征来增强鉴别能力,从而消除面部各部位所带来的不同影响。在这项工作中应用了多尺度的训练和测试策略。

图1 多人脸图像。绿框是不同的根据人脸尺寸所进行的锚定

2 相关工作

Jones通过使用类似Haar的特征发明了一种级联AdaBoost的人脸检测模型[3]。许多工作都专注于开发更先进的和功能更强大的分类器。除了级联方法外,DPM方法通过对人脸进行建模来检测人脸面部发生的变化。

人脸检测的最新进展主要得益于强大的深度学习方法。基于卷积神经网络的网络模型取得了较好的效果。构建级联CNN,使用从粗到精的策略学习人脸检测器。MT-CNN开发了多任务训练框架共同进行人脸检测和对齐。

工作总结如下:

(1)开发了一个基于卷积神经网络的人脸检测模型,该模型考虑了多人脸图像中的人脸特殊性。该方法称之为Face R-FCN,它适合于多人脸图像中的微小型人脸检测。

(2)采用对目标区域进行平均池化操作生成嵌入特征来增强鉴别能力,代替以往对整张图像进行平均池化操作的方式,从而消除图像中非面部部位所带来的影响。

(3)采用在线示例挖掘策略、多尺度方式训练来提高Face R-FCN网络模型的性能,提高网络模型的准确率,提高检测精度[4]。

3 实施细则

本文从三个方面对R-FCN人脸检测框架进行设计。首先,我们采用尺寸不同的锚来锚定尺寸不同的人脸图像,以适合对微小面孔的检测。第二,对锚定的目标进行平均池化操作来生成特征图像以增强鉴别能力。第三,采用多尺度策略和在线示例挖掘(OHEM)策略进行模型训练。具体细节如下:

3.1 基于R-FCN的体系结构

R-FCN是一种用于区域检测的全卷积神经网络,最初用于目标检测。与其他区域检测(如Faster-RCNN)不同,R-FCN构造了一个更深层次的完全匹配卷积网络。R-FCN建立在152层ResNet的基础上,由一个区域生成网络(RPN)和一个R-FCN模块组成。

R-FCN中的ResNet网络起到了特征抽取器的作用。ResNet构造了一个很深的神经网络,能够提取出具有高度代表性的图像特征。这些特征拥有较大的感受野,为多人脸图像中的微小人脸检测提供了有利条件。ResNet网络提取出特征图像后,RPN锚定一批尺度不同的人脸图像。这些人脸图像进一步输入到R-FCN模块中的两个同级位置池化层,完成图像分类和检测。

采用的R-FCN比R-CNN有两个主要优势。首先,通过锚定微小人脸图像将特征汇集在一起,将位置信息编码到每个池化层,从而得到相应位置的输出特征图;其次,将全连接层连接ResNet神经网络,训练出更具表现力的R-FCN网络模型,以便于图像分类和检测。

为了更好地描述微小人脸,引入了更多的小尺度锚(比如,从1到64)。这些较小的锚非常有助于捕捉极其微小的面孔。除此之外,为位置敏感的池化区域设置了更小的池,以减少冗余信息,并对敏感区域进行平均池化操作,这将在下一节中描述。

3.2 目标区域平均池化

在最初的R-FCN算法中,采用了全局平均池化操作汇集特征,将敏感区域池化后汇集到一个维度中,从而使面部每个位置的分布均匀。但是面部的每个部分所关注的程度并不相同。例如,在人脸识别方面,眼睛通常会比嘴得到更多的关注。因此,我们对敏感区域进行平均池化操作后对输出的每个区域进行加权平均,以重新加权该区域,这就是目标区域平均池化。

3.3 多尺度训练与测试

采用多尺度的训练和测试策略来提高网络模型性能。在训练阶段,将输入的最短边调整为1024或1200像素。这个培训策略使模型在检测不同尺度的目标,特别是微小的人脸检测上具有很强的鲁棒性。

在线示例挖掘(OHEM)是一种简单而有效的引导技术。在训练过程中,对负样本应用OHEM,并设置正样本和负样本,每小批按1:3的比例进行训练。

在测试阶段,为每个测试图像根据尺寸从大到小建立一个图像金字塔。金字塔中的每个尺度都是独立测试的。来自不同尺度的结果合并为图像的最终结果。

4 实验

4.1 数据源

我们使用FDDB数据集对R-FCN模型进行训练及验证。FDDB是全世界最具权威的人脸检测评测平台之一,包含2845张图片,共有5171个人脸作为测试集。其中40%用于训练,10%用于验证,50%用于测试。

图2 FDDB数据集部分图像

4.2 实验环境

一台较高配置计算机、Linux操作系统,i7处理器,64G内存,4G显存。

4.3 实施方法

对权重参数的训练类似于Face R-CNN。与Face R-CNN不同的是,使用在ImageNet上训练的142层ResNet的预训练权重来初始化网络。具体地说,对模型最初的几层的权重值,使用在ImageNet训练好的权重参数。

在RPN阶段,FaceR-FCN设定锚的多个配置,以便精确搜索人脸。将一系列多尺度锚和纵横比结合在一起,构建多尺度锚点。锚定到原始图像以计算IoU分数,IoU 的全称为交并比,它计算的是 “预测的边框” 和 “真实的边框” 的交集和并集的比值。根据以下规则进一步做出分类:首先,具有最高IoU分数严格保持为正;其次,得分高于0.7锚定为正,第三,如果IoU分数低于0.3,则锚定为负。

R-FCN在处理过的锚上进行训练,其中阳性样本和阴性样本分别定义为IoU大于0.5和介于0.1和0.5之间。采用非最大抑制(NMS)对具有一定IoU分数的锚进行正则化。

利用多尺度训练,其中输入图像的大小调整与双线性插值到不同刻度(例如,1024或1200)。在测试阶段,通过将图像缩放到图像中进行多尺度测试一个图像金字塔,用于更好地检测微小型人脸图像。

5 结束语

人脸检测是计算机视觉领域的一个基本问题。本文提出了一种基于Face R-CNN的人脸检测方法,它对微小型的人脸检测具有较高的性能。通过比较R-CNN和R-FCN,设计出新的方法来改进专门用于人脸检测的网络模型。在FDDB数据集上对该方法进行了评价。实验结果证明了该方法的优越性。

[1]董瑞. 基于深度学习优化的图像压缩框架研究[D].哈尔滨工业大学,2020.

[2]于璠.新一代深度学习框架研究[J].大数据,2020,6(04):69-80.

[3]兰胜坤.基于Adaboost算法的人脸检测[J].电脑与信息技术,2021,29(02):16-19.

[4]席威. 基于深度学习的多尺度目标检测与分割算法研究[D].江南大学,2020.

山西水利职业技术学院2021年院级课题:基于卷积神经网络的区域人脸检测研究(Jky202013)

猜你喜欢

池化人脸尺度
基于高斯函数的池化算法
卷积神经网络中的自适应加权池化
有特点的人脸
一起学画人脸
财产的五大尺度和五重应对
基于卷积神经网络和池化算法的表情识别研究
三国漫——人脸解锁
用于手写汉字识别的文本分割方法
宇宙的尺度
9