APP下载

基于深度学习的煤矿井下低光照人脸检测方法

2023-12-06王均利李佳悦李秉天温琪王满利

工矿自动化 2023年11期
关键词:人脸光照煤矿

王均利,李佳悦,李秉天,温琪,王满利

(1.陕西彬长矿业集团有限公司,陕西 咸阳 712000;2.河南理工大学 物理与电子信息学院,河南 焦作 454000;3.陕西彬长小庄矿业有限公司,陕西 咸阳 713500)

0 引言

在智能化矿山建设中[1],采用计算机视觉技术对井下巷道入口、工作面等区域进行人脸检测,可实时检测矿工的状态和位置,及时发现并处理异常情况,对于提高煤矿安全具有重要意义。

随着深度学习的发展,人脸检测可使用通用目标检测算法完成,如RCNN(Regions with Convolutional Neural Network features)[2],Faster RCNN[3],YOLO(You Only Look Once)[4],SSD(Single Shot Detector)[5]等,也可通过专门为人脸检测任务设计的算法完成,如DSFD(Dual Shot Face Detector)[6],

PyramidBox[7],MTCNN(Multi-Task Convolutional Neural Network)[8],RetinaFace[9]等。RCNN 是一种简单可放缩的目标检测算法,使用区域的方法进行识别,解决了卷积神经网络提取候选区域特征定位不准确的问题。Faster RCNN 算法使用VGG-16 作为骨干网络,摒弃了传统的滑动窗口和选择性搜索方法,直接使用区域候选网络生成检测框,大大提高了检测精度和效率。YOLO 算法最突出的优势是速度快,可用于实时系统,直接通过主干网络同时检测出图像中物体的位置和类别信息。SSD 从多个角度对目标检测做出创新,结合Faster RCNN 和YOLO 各自的优点,使得目标检测速度和精度有了很大提升。DSFD 在继承SSD 检测框架的基础上,引入了一种特征增强模块来转换原始特征图,通过使用一些更小的锚点在底层引入辅助检测来有效简化特征。PyramidBox 通过低层级金字塔来更好地融合环境特征和面部特征,实现了较小、模糊和部分遮挡情况下的人脸检测。MTCNN 采用多任务级联人脸检测和人脸对齐框架,使得其能够在小型设备上运行。RetinaFace 是一种鲁棒性较强的单阶段人脸检测框架,通过联合外监督和自监督的多任务学习,可对各种尺度条件下的人脸做到像素级别的定位,并且通过采用轻量级骨干网络,可对视频图像进行实时检测,达到很好的检测效果。

上述算法在通用人脸检测数据集[10-11]上都达到了较高的检测水平,但煤矿井下光线昏暗、人工光源干扰等复杂环境导致监控视频图像存在对比度低、光照不均匀、人脸特征模糊等问题,上述算法应用在煤矿井下图像时会对人脸敏感度变弱,出现较多的误检、漏检现象,无法满足煤矿井下人脸检测要求。因此,本文将GAN(Generative Adversarial Network,生成对抗网络)与RetinaFace 人脸检测框架结合,提出了一种煤矿井下低光照人脸检测方法。该方法通过基于GAN 的增强模块提高输入图像的对比度和亮度,强化人脸区域,最大限度地保留图像中的人脸特征,再通过RetinaFace 检测模块对增强后的图像进行人脸检测,有效提高了煤矿井下人脸图像的检测精度。

1 方法原理

1.1 增强模块

常用的低光照图像增强方法包括基于直方图的方法[12]、基于Retinex 的方法[13]、基于频域变换和图像融合的方法[14]和基于深度学习的方法[15-17]等。基于直方图的方法可有效提高图像对比度,但易造成色彩保真度损失并产生噪声,导致图像失真。基于Retinex 的方法增强效果好,但可能会导致在某些边界清晰的区域出现光晕或导致整个图像太亮。基于频域变换和图像融合的方法需要同一场景的2 幅或多幅不同图像,很难在短时间内实现图像增强。基于深度学习的方法可解决图像存在的光照不均匀、局部曝光、视觉自然度低等问题,主要分为有监督学习和无监督学习,其中有监督学习需要大量同一场景下不同光照的图像作为数据集进行网络训练,而煤矿井下环境特殊,无法采集大量成对图像,因此本文使用无监督学习对煤矿井下图像进行增强。

增强模块由基于无监督学习的GAN[18]构成,其通过生成器对输入图像进行注意力自调整,使用双判别器来引导全局和局部信息,并利用自特征保留损失函数来指导训练过程并保持低光照图像的纹理结构。

1.1.1 生成器

GAN 采用自调整注意力引导的U-Net[19]作为生成器,结构如图1 所示。将输入RGB 图像的光照通道归一化为[0,1],使用光照通道的反通道图作为注意力引导图,这样能在光线空间变换中尽可能地增强光线较暗区域,避免出现曝光或对比度增强不足的现象。将注意力引导图输入U-Net 中,注意力引导图经过5 次卷积和4 次最大池化操作后,裁剪注意力引导图的大小以适应每个特征图层。在上采样阶段,用1 个双线性上采样层和卷积层代替标准的反卷积层,以减轻特征图的伪影。U-Net 通过提取不同深度的多层次特征,保留了丰富的纹理信息,并利用多尺度上下文信息合成高质量的增强结果。

图1 GAN 结构Fig.1 Structure of generative adversarial network

1.1.2 判别器

为自适应地增强局部区域的同时提高全局光照亮度,本文采用一种全局-局部双判别器,结构如图2所示。该判别器使用PatchGAN[20]进行真假鉴别,局部判别器从输出和真实的正常光照图像中随机裁剪局部小块,并学习区分它们是真实的还是虚假的,保证了图像全局和局部亮度、对比度提升的自然度,能有效避免图像出现局部曝光。

图2 双判别器结构Fig.2 Double discriminator structure

全局判别器利用相对判别器结构[21]估计真实数据比虚假数据更真实的概率,并指导生成器生成接近真实图像的伪图像。相对判别器的标准函数为

式中:D(xr,xf)为判别器判别真实数据相对于虚假数据更为真实的概率,xr和xf分别为真实数据和虚假数据;σ(·)为sigmoid 激活函数;C(·)为判别器网络;为对训练虚假数据样本的期望;为对训练真实数据样本的期望;D(xf,xr)为判别器判别虚假数据相对于真实数据更为真实的概率。

1.2 增强模块损失函数

生成器的目标是要使判别器认为虚假数据xf是真,因此D(xf,xr)越大越好,D(xr,xf)越小越好;而判别器要分辨出虚假数据xf为假,因此D(xr,xf)越大越好,D(xf,xr)越小越好。对于全局的判别器和生成器,迭代过程中的损失函数可表示为

对于局部的判别器和生成器,迭代过程中的损失函数可表示为

为限制感知相似性,提出自特征保留损失函数来限制输入低光照图像与其增强后正常图像之间在VGG 网络中的特征距离,使其能更好地保留图像的内容特征。自特征保留损失函数为

式中:W,H分别为提取的特征图的最大网络块数和卷积层数;ϕX,Y为输入图像在VGG 网络中第X(X=1,2,···,W)个网络块的第Y(Y=1,2,···,H)个卷积层得到的特征图;G为生成器输出的增强图像。

增强模块的损失函数为

1.3 检测模块

检测模块采用RetinaFace 人脸检测框架来检测图像中的人脸。RetinaFace 结构如图3 所示。首先通过主干网络ResNet50 对图像进行特征提取,接着采用特征金字塔结构和单阶段检测模式进行人脸检测,在基本不增加计算量的同时,提高对小尺度人脸检测的能力。然后使用类别标注、预测框标注和特征点标注从特征中获取预测结果,并对预测结果进行解码。最后通过非极大值抑制技术去除重复检测值,得出最终结果。

图3 RetinaFace 网络结构Fig.3 RetinaFace network structure

1.4 检测模块损失函数

对于任何训练锚i,RetinaFace 多任务联合损失函数定义为

2 实验及结果分析

2.1 实验条件

网络训练采用公开低光照人脸数据集DARK FACE[22]和自建煤矿井下人脸数据集。其中自建煤矿井下人脸数据集主要由3 个部分组成:①来自煤矿井下监控视频和拍摄的人脸图像,对视频进行拆帧处理,获取每一帧图像,然后筛选掉大量相似图像和不合格图像。② 使用国内外公开煤矿井下数据集,筛选其中含有人脸或人脸个数较多的图像进行数据集扩充。③利用公开的正常光照人脸数据集,使用CycleGAN 进行图像风格迁移,获得伪煤矿井下人脸图像进行数据集扩充。

实验基于PyTorch 深度学习框架,在NVIDIA GeForce RTX 3 090 GPU 下进行训练。为使网络更快适应训练,设置初始学习率为0.01,使用随机梯度下降算法优化更新梯度,训练轮数为150,批量大小为8。损失变化曲线如图4 所示,可看出训练轮数在大约130 时损失变化趋于平稳。

图4 损失变化曲线Fig.4 Loss change curve

2.2 结果分析

为验证本文方法在低光照环境下的有效性,选取DSFD,PyramidBox,SSD,Faster RCNN 和RetinaFace在公开低光照人脸数据集DARK FACE 上进行平均精度测试,结果如图5 所示。可看出DSFD,PyramidBox,SSD,Faster RCNN 的人脸检测精度较低,而RetineaFace 的检测精度相对较高,但也只达到30.9%,而本文方法由于在RetinaFace 的基础上加入了增强模块,对低光照图像进行增强预处理,强化了人脸特征,可较为准确地提取到图像中的人脸信息,检测精度达49%,比原始RetinaFace 提高了58.6%。

图5 不同方法平均精度对比Fig.5 Comparison of average precision of different methods

在自建煤矿井下人脸数据集上对本文方法进行测试,结果如图6 所示。可看出本文方法可有效检测出矿井低光照环境下的人脸,并且可视化效果好,提高了图像对比度的同时,清晰地恢复了图像中的人脸特征。

图6 本文方法人脸检测结果Fig.6 Face detection results of the proposed method

为进一步证明本文方法针对煤矿井下图像的实用性和有效性,采用自建煤矿井下人脸数据集对RetinaFace 和本文方法进行主观和客观评价。

不同方法下煤矿井下人脸图像(编号为T125,T196,T218,T421,T563)的检测结果如图7 所示。可看出由于煤矿井下光照不均匀导致采集到的图像出现曝光、局部区域信息丢失等现象,使得RetinaFace出现漏检,在图像T563 中甚至出现误检,将安全帽检测为人脸;而本文方法在图像T125,T196,T218,T421 中正确检测人脸数均有提升,在图像T563 中也能精确检测人脸,这是由于本文方法引入了增强模块对RetinaFace 进行改进,充分恢复了图像中人脸的特征细节,避免了煤矿井下光照问题引起的误检,提高了检测精度。

图7 不同方法下人脸检测效果对比Fig.7 Comparison of face detection effects under different methods

对RetinaFace 和本文方法在自建煤矿井下人脸数据集上进行客观评价,结果见表1。可看出本文方法在准确率、召回率、平均精度上均优于RetinaFace,分别提升了0.65%,8.92%,8.26%。

表1 不同方法下客观评价结果Table 1 Objective evaluation results of different methods%

3 结论

1)采用无监督学习的GAN 进行人脸图像增强,提高煤矿井下人脸图像对比度,避免图像中人工光源区域过度增强,使图像中的人脸特征得到恢复,图像视觉效果更真实。

2)使用RetinaFace 人脸检测框架对增强后的图像进行人脸检测,采用特征金字塔结构和单阶段检测模式对强化后的人脸特征进行检测,提高了模型对图像中人脸检测的敏感度。

3)实验结果表明,该方法能较为准确地对煤矿井下图像进行人脸检测,并提取到图像中人脸的细节信息,有效克服了煤矿井下低光照、光照不均匀导致的漏检、误检,有效提升了煤矿井下人脸检测精度。

猜你喜欢

人脸光照煤矿
节能环保 光照万家(公益宣传)
有特点的人脸
节能环保光照万家(公益宣传)
春光照瑶乡
三国漫——人脸解锁
大型煤矿自动化控制系统的设计与应用
上半年确定关闭煤矿名单513处
去年95.6%煤矿实现“零死亡”
马面部与人脸相似度惊人
长得象人脸的十种动物