APP下载

基于神经网络的飞行员头位跟踪方法研究

2021-06-02张立民

兵器装备工程学报 2021年5期
关键词:网络结构人脸卷积

张立民,姜 杰,方 伟,刘 凯

(海军航空大学, 山东 烟台 264001)

飞行员座舱模拟训练,是通过飞行训练模拟器还原真实的飞行环境,可以对飞行员进行起飞、降落、空中加油、编队飞行、战术对抗以及面对复杂情况下的应急处置训练,以低沉本、低风险和高效果、高回报的训练方式,对未来真实训练作战具有重要的战略意义。现有的座舱模拟器对飞行员的头位检测跟踪手段,还依旧停留在传统的光电法[1]、惯性法[2]、电磁法[3]等,这些方法通过在飞行员头部和座舱内安装传感器的方式,完成检测跟踪,实时性和准确度不高,且易受外界干扰。

近年来,深度学习理论不断发展,在图像处理、文字识别、大数据分析上取得较大突破。结合深度学习方法,通过训练卷积神经网络,结合姿态角解算算法,完成对飞行员的头位检测跟踪。首先在座舱内安装摄像头,以获取飞行员的实时训练画面,经图像处理提取特征,输入到卷积神经网络,得到人脸检测框和脸部特征点,根据脸部特征点进行空间坐标转换,得到飞行员的头部姿态角。结合头盔瞄准具,把得到的姿态数据输入到火控雷达,就可以迅速捕获敌机目标,在近距离空中格斗中抢占先机。

1 基于级联卷积神经网络的人脸检测

对于人脸检测的方法,主要有早期的模型匹配法、基于机器学习的HOG-SVM法[4]、Viola&Jones法[5]、DPM法[6]和基于深度学习的Facenet法[7]、Cascade CNN法[8]。但是这些方法在工业级的应用上并不是特别理想,而且由于人脸检测效果一般,致使建立在检测基础之上的人脸对齐效果也并不理想。针对上述情况,提出了一种基于级联卷积神经网络的人脸检测方法,在考虑到已有的深度学习方法没有兼顾人脸检测和对齐的内在关系,将检测和对齐放在一个网络结构中同时进行解决。另一方面,将头部姿态解算加入到网络结构中,通过训练卷积神经网络,从而得到飞行员的头位姿态数据,以端到端的方式,完成对飞行员头位的检测跟踪。首先通过级联卷积神经网络,对输入的人脸图像快速生成候选窗体,运用非极大抑制算法和边界框回归,对候选窗体进行筛选,得到精确的人脸检测框,同时标记5个脸部关键特征点,然后运用EPNP算法,经过空间坐标转换,最终得到飞行员的头部姿态角。具体流程图1所示。

图1 算法流程示意图

1.1 基于多尺度多模板的金字塔图像处理

图像金字塔是对输入图像的不同尺度表达,主要应用于计算机视觉和图像分割,是一种对图像进行预处理的方法。通过图像金字塔预处理的操作后,就可以得到多种不同分辨率下的图像,可以用于解释原输入图像的结构[9]。其结构通常按照金字塔的形状排列,图像分辨率由上至下逐级递减,如图2所示。

图2 图像金字塔结构示意图

在通过卷积网络对人脸检测前,需要对图像进行多尺度变换处理,通常将图像缩放成尺度大小不同的图片,构成图像金字塔,从而可以让卷积网络检测到大小不同的人脸,以起到扩充了数据集,提升网络检测精度的作用。相比于传统的多尺度变换处理,加入了多模板的处理方法,以丰富输入图像的表现形式,有效扩充了图像数据集,从而保证在复杂场景中的人脸检测精度。具体实现步骤为:首先对图像进行多尺度处理,得到分辨率不同的图像,然后采取8×8,12×12,16×16等3种不同规格的滑动窗口对不同尺度的图像进行滑动采样,最后将得到的不同尺度和模板的图像送入卷积神经网络中进行训练。其流程如图3所示。

图3 多尺度多模板图像金字塔流程示意图

1.2 网络结构

由三层卷积神经网络级联而成,分别为候选层(proposal network)、优化层(refine network)、输出层(output network)组成。由于人脸检测相比与其他多分类物体检测和分类任务,是二分类问题,不需要更大的卷积核而是更小的卷积核。因此,将卷积核由5×5变为3×3,减小卷积核大小,增加模型了深度,这样在减小模型大小的基础上,提高了模型精度。

1.2.1 候选层(proposal network,P-Net)

第一层P-Net为全卷积网络(FCN),全卷积网络的优点在于可以输入任意尺寸的图像,同时使用卷积运算代替了滑动窗口运算,大幅提高了计算效率,输入数据为所有训练样本shape=(12×12×3)的图像,获得候选窗体和边界回归向量,同时对候选窗体根据边界框进行校准,然后通过非极大抑制算法(non-maximum suppression,NMS)去除重叠窗体。其网络结构如图4所示。

图4 P-Net网络结构示意图

1.2.2 优化层(refine network,R-Net)

将经过P-Net处理过的图像输入到R-Net中,其图像shape=(24×24×3),同样利用边界框回归执行校准,微量调整候选窗体,通过NMS算法合并重叠窗体。与P-Net不同的是,R-Net多了一层全连接层,用于图像的分类,可以起到更好的抑制作用。其网络结构如图5所示。

图5 R-Net网络结构示意图

1.2.3 输出层(output network,O-Net)

将R-Net输出的结果传入O-Net中,输入图像shape=(48×48×3),该层相比于R-Net增加了一层卷积层,主要应用于对脸部细节的处理,其作用与R-Net一样,但因为该层加入了更多对人脸区域的监督,所以可以在去除重叠窗体的同时标记5个人脸关键点(左眼、右眼、鼻子、左嘴角、右嘴角)的位置。其网络结构如图6所示。

图6 O-Net网络结构示意图

从P-Net到R-Net再到O-Net,随着网络的输入图像尺寸越来越大,结构越来越深,可以使提取的特征越具有表现能力。运用了由粗到细的策略:第一步通过浅层的CNN选出候选窗口;第二步用更复杂的CNN过滤掉没有脸部的窗口;第三步用更强大的CNN调优结果。

1.3 损失函数

对于特征描述主要包含3个部分:人脸-非人脸二分类器、边界框回归、人脸特征点,下面分别介绍这3个部分的损失函数。

人脸分类的交叉熵损失函数为:

(1)

边界框回归(bounding box regression)采用欧式距离作为距离度量的回归损失函数,公式如下:

(2)

式(2)中:y′为预测值边框坐标;y为真值框坐标。由一个4元组(Xleft,Yleft,Width,Height)表示。

人脸特征点定位同样是一个回归问题,其损失函数是计算预测的关键点位置与实际位置之间的距离偏差,采用欧式距离作为距离度量。公式如下:

(3)

式(3)中:y′为预测结果;y为关键点实际位置.由于一共需要预测5个关键点位置,每个点为2个坐标值,所以y为十元数。

1.4 柔性非极大抑制(soft NMS)算法

非极大值抑制算法(non maximum suppression,NMS),常被用于目标检测、边缘检测、人脸检测等领域,用于对生成的候选框进行后处理,去除冗余的候选框,得到最佳检测框,以加快检测的效率[10]。其思想是通过搜索局部最大值,抑制非极大值。实现效果如图7所示。

图7 非极大抑制算法实现效果图

NMS算法是通过迭代的形式,将得分最高的框不断地与其他框做IOU操作,以过滤掉IOU较大(即交集较大)的框[11]。在NMS算法中,将IOU大于阈值的窗口的得分一律置为0,其公式表述为:

(4)

从式(4)可以看出,直接删除所有IOU大于阈值的框,将相邻检测框的分数均强制归零,在这种情况下,如果一个真实物体在重叠区域出现,则将导致对该物体的检测失败并降低算法的平均检测率(Average Precision,AP);另一方面NMS的阈值的设定同样容易出现问题,一旦设置过小就会出现误删的情况,如果设置过高又会导致误检[12]。针对上述情况,对传统的NMS算法进行了改进,即在算法执行过程中,不再是简单的删除IOU大于阈值的检测框,而是通过建立置信度函数,降低其置信度得分。置信度重置函数通过2种形式进行改进[12],一种是线性加权:

(5)

另一种是高斯加权,即:

(6)

通过对weight变量的不断更新,采用线性加权的方式,将更新值确定为1-ov,另一方面在高斯加权时引入sigma参数,从而使原始NMS算法中对IOU的取值不再直接为0或1。Soft NMS对于人脸检测框的确定更为精准,有效提升了网络训练效果。

2 基于Efficient Perspective-N-Point(EPNP)的头部姿态解算

PNP算法旨在解决从3D-2D匹配中求解摄像头位姿,通过确定相机的位置和方向,给定相机的内在参数以及3D点与其2D投影之间的n组对应关系。主要应用于摄影测量和计算机视觉领域,特别是在处理基于特征点的摄像机跟踪等问题时,通常需要实时处理数百个噪声特征点,这就需要高效的计算方法[13]。

EPNP算法是一种非迭代、封闭式的PNP算法,通过将世界坐标系中的3D坐标表示为一组虚拟的控制点的加权和[14],可用位姿的求解计算。对人脸姿态的解算,EPNP算法至少需要已知4个非共面人脸特征点三维空间坐标,通过与二维相机坐标系下对应点进行匹配,计算得到旋转矢量,将旋转矢量转换为四元数,最终计算得到包含姿态信息的欧拉角。对于人脸3d模型,采用科英布拉大学的通用头部模型,获取包括眼球、鼻尖、嘴角等5个脸部关键点的三维坐标信息。对于相机内部参数,采用张正友相机标定法[15]进行确定。根据卷积神经网络输出的5个人脸关键点,经过EPNP算法计算便可以得到飞行员的头部姿态数据。具体计算过程如下:

首先建立相机坐标系的数学模型,公式如下:

(7)

图像坐标系(x,y)与相机坐标系(Xi,Yi,Zi)之间的关系如下:

(8)

因为头部姿态为三自由度,因此,以3×3的矩阵表示为:

(9)

通过旋转矩阵和旋转角的关系,即可求得头部姿态角roll,pitch,yaw分别为:

(10)

3 实验

3.1 数据准备

选取Wider Face数据集作为人脸检测数据集,该数据集由3 233个图像中的393 703个标记的面部边界框组成[16],其中50%用于根据图像难度测试3个子集,40%用于训练,剩余用于验证。选取Annotated Facial Landmarks in the Wild(AFLW)数据集作为人脸特征点检测数据集,AFLW数据集包含24 386个面部的特征点标记。通过多尺度多模板的处理方法,在标注好的人脸图片上进行随机切割,根据切割到的边框和真实的人脸框进行IOU计算,将IOU>0.65的划分为正样本(Positive)数据,将IOU<0.3的划分为负样本(Negative)数据,将IOU在0.4~0.65之间的划分为部分面孔(Part)数据。将标注好的5个特征点划分为Landmark face数据。这4种数据的用途为:① negative和positive用于人脸分类;② positive和part faces用于边框回归;③ landmark face用于人脸特征点定位(人脸对齐/关键点检测)

3.2 网络训练

训练流程如图8所示。

图8 训练流程框图

3.3 实验结果分析

通过对数据集进行多尺度多模板处理后,得到训练样本数量如表1所示。

表1 训练样本数量

将得到的数据集按negative/positive/part faces/landmark =3∶1∶1∶2的比例进行采样,随后送入各个网络进行训练,最后对得到的检测结果计算召回率(recall)为:

(11)

式(11)中:TP表示正确识别为人脸的数量;FN表示未正确检测出人脸数量,即系统漏报。将召回率结果与多尺度处理相比较(见表2),可以看到多尺度多模板的图片预处理方式对检测结果有一定的提升。

表2 不同网络层召回率结果对比 %

NMS和Soft NMS算法在不同召回率(recall)下的检测精度(precision),如图9所示。

图9 NMS和Soft NMS的检测精度曲线

由图9可以看出,通过Soft NMS算法对重叠区域的检测框的得分进行调整而非直接归零,可以有效提升在高召回率下的检测精度。

绘制ROC曲线,与其他算法在Wider Face数据集下作比较,如图10所示。

从图10结果可以看出,相比与其他算法,召回率较高,且在误报样本为1 000时,召回率可达90.9%。

在实际场景中进行测试,对于光线变化、部分遮挡、大姿态变化均能有良好的检测效果。测试效果如图11所示。

图10 ROC曲线

图11 实际场景中测试效果图

在工程应用中,对于头位跟踪技术的实时性的标准为不低于30 fps,在硬件配置为Intel Core i5-8250U CPU,MX150显卡,8G内存的运行环境中进行测试,平均检测帧数可达46 fps,满足实时性要求,且相比于传统头位检测方法,本文方法对于检测误差和外界干扰等方面更加鲁棒。测试效果如图12所示。

图12 实时性测试效果图

4 结论

结合当前热门的深度学习方法,通过对卷积神经网络的训练,结合计算机视觉、图像处理的方式,完成对飞行员头位的检测跟踪,应用于飞行员的日常模拟训练中,相比于传统的头位检测跟踪方法,有很大的创新,并且在实际训练中,在检测精度和实时性方面有明显提升。未来工作将继续针对不同问题不断地优化网络结构,并借鉴其他检测算法,设计其他实用的深度学习模型,应用于飞行员座舱模拟训练中。

猜你喜欢

网络结构人脸卷积
基于全卷积神经网络的猪背膘厚快速准确测定
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
有特点的人脸
一种并行不对称空洞卷积模块①
玻璃窗上的人脸
试论分布式计算机网络结构分析与优化
带通信配网故障指示器故障监测方法及安装分析
“领家系”可爱脸VS“高冷系”美人脸
非常规突发事件跨组织合作网络结构演化机理研究