【装备理论与装备技术】
飞行员座舱模拟训练,是通过飞行训练模拟器还原真实的飞行环境,可以对飞行员进行起飞、降落、空中加油、编队飞行、战术对抗以及面对复杂情况下的应急处置训练,以低沉本、低风险和高效果、高回报的训练方式,对未来真实训练作战具有重要的战略意义。现有的座舱模拟器对飞行员的头位检测跟踪手段,还依旧停留在传统的光电法[1]、惯性法[2]、电磁法[3]等,这些方法通过在飞行员头部和座舱内安装传感器的方式,完成检测跟踪,实时性和准确度不高,且易受外界干扰。
近年来,深度学习理论不断发展,在图像处理、文字识别、大数据分析上取得较大突破。结合深度学习方法,通过训练卷积神经网络,结合姿态角解算算法,完成对飞行员的头位检测跟踪。首先在座舱内安装摄像头,以获取飞行员的实时训练画面,经图像处理提取特征,输入到卷积神经网络,得到人脸检测框和脸部特征点,根据脸部特征点进行空间坐标转换,得到飞行员的头部姿态角。结合头盔瞄准具,把得到的姿态数据输入到火控雷达,就可以迅速捕获敌机目标,在近距离空中格斗中抢占先机。
对于人脸检测的方法,主要有早期的模型匹配法、基于机器学习的HOG-SVM法[4]、Viola&Jones法[5]、DPM法[6]和基于深度学习的Facenet法[7]、Cascade CNN法[8]。但是这些方法在工业级的应用上并不是特别理想,而且由于人脸检测效果一般,致使建立在检测基础之上的人脸对齐效果也并不理想。针对上述情况,提出了一种基于级联卷积神经网络的人脸检测方法,在考虑到已有的深度学习方法没有兼顾人脸检测和对齐的内在关系,将检测和对齐放在一个网络结构中同时进行解决。另一方面,将头部姿态解算加入到网络结构中,通过训练卷积神经网络,从而得到飞行员的头位姿态数据,以端到端的方式,完成对飞行员头位的检测跟踪。首先通过级联卷积神经网络,对输入的人脸图像快速生成候选窗体,运用非极大抑制算法和边界框回归,对候选窗体进行筛选,得到精确的人脸检测框,同时标记5个脸部关键特征点,然后运用EPNP算法,经过空间坐标转换,最终得到飞行员的头部姿态角。具体流程图1所示。
图1 算法流程示意图
图像金字塔是对输入图像的不同尺度表达,主要应用于计算机视觉和图像分割,是一种对图像进行预处理的方法。通过图像金字塔预处理的操作后,就可以得到多种不同分辨率下的图像,可以用于解释原输入图像的结构[9]。其结构通常按照金字塔的形状排列,图像分辨率由上至下逐级递减,如图2所示。
图2 图像金字塔结构示意图
在通过卷积网络对人脸检测前,需要对图像进行多尺度变换处理,通常将图像缩放成尺度大小不同的图片,构成图像金字塔,从而可以让卷积网络检测到大小不同的人脸,以起到扩充了数据集,提升网络检测精度的作用。相比于传统的多尺度变换处理,加入了多模板的处理方法,以丰富输入图像的表现形式,有效扩充了图像数据集,从而保证在复杂场景中的人脸检测精度。具体实现步骤为:首先对图像进行多尺度处理,得到分辨率不同的图像,然后采取8×8,12×12,16×16等3种不同规格的滑动窗口对不同尺度的图像进行滑动采样,最后将得到的不同尺度和模板的图像送入卷积神经网络中进行训练。其流程如图3所示。
图3 多尺度多模板图像金字塔流程示意图
由三层卷积神经网络级联而成,分别为候选层(proposal network)、优化层(refine network)、输出层(output network)组成。由于人脸检测相比与其他多分类物体检测和分类任务,是二分类问题,不需要更大的卷积核而是更小的卷积核。因此,将卷积核由5×5变为3×3,减小卷积核大小,增加模型了深度,这样在减小模型大小的基础上,提高了模型精度。
第一层P-Net为全卷积网络(FCN),全卷积网络的优点在于可以输入任意尺寸的图像,同时使用卷积运算代替了滑动窗口运算,大幅提高了计算效率,输入数据为所有训练样本shape=(12×12×3)的图像,获得候选窗体和边界回归向量,同时对候选窗体根据边界框进行校准,然后通过非极大抑制算法(non-maximum suppression,NMS)去除重叠窗体。其网络结构如图4所示。
图4 P-Net网络结构示意图
将经过P-Net处理过的图像输入到R-Net中,其图像shape=(24×24×3),同样利用边界框回归执行校准,微量调整候选窗体,通过NMS算法合并重叠窗体。与P-Net不同的是,R-Net多了一层全连接层,用于图像的分类,可以起到更好的抑制作用。其网络结构如图5所示。
图5 R-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调优结果。
对于特征描述主要包含3个部分:人脸-非人脸二分类器、边界框回归、人脸特征点,下面分别介绍这3个部分的损失函数。
人脸分类的交叉熵损失函数为:
(1)
式(1)中:pi为人脸出现的概率;为该区域的真实标签。
边界框回归(bounding box regression)采用欧式距离作为距离度量的回归损失函数,公式如下:
(2)
式(2)中:y′为预测值边框坐标;y为真值框坐标。由一个4元组(Xleft,Yleft,Width,Height)表示。
人脸特征点定位同样是一个回归问题,其损失函数是计算预测的关键点位置与实际位置之间的距离偏差,采用欧式距离作为距离度量。公式如下:
(3)
式(3)中:y′为预测结果;y为关键点实际位置.由于一共需要预测5个关键点位置,每个点为2个坐标值,所以y为十元数。
在不同的CNN层,对不同的损失函数,分配的比重不同。在P-Net和R-Net中,主要任务是将是不是人脸给区分开来,因此占的比重大;在O-Net中,主要目标是将人脸的关键点找出来,因此占的比重大。
非极大值抑制算法(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对于人脸检测框的确定更为精准,有效提升了网络训练效果。
PNP算法旨在解决从3D-2D匹配中求解摄像头位姿,通过确定相机的位置和方向,给定相机的内在参数以及3D点与其2D投影之间的n组对应关系。主要应用于摄影测量和计算机视觉领域,特别是在处理基于特征点的摄像机跟踪等问题时,通常需要实时处理数百个噪声特征点,这就需要高效的计算方法[13]。
EPNP算法是一种非迭代、封闭式的PNP算法,通过将世界坐标系中的3D坐标表示为一组虚拟的控制点的加权和[14],可用位姿的求解计算。对人脸姿态的解算,EPNP算法至少需要已知4个非共面人脸特征点三维空间坐标,通过与二维相机坐标系下对应点进行匹配,计算得到旋转矢量,将旋转矢量转换为四元数,最终计算得到包含姿态信息的欧拉角。对于人脸3d模型,采用科英布拉大学的通用头部模型,获取包括眼球、鼻尖、嘴角等5个脸部关键点的三维坐标信息。对于相机内部参数,采用张正友相机标定法[15]进行确定。根据卷积神经网络输出的5个人脸关键点,经过EPNP算法计算便可以得到飞行员的头部姿态数据。具体计算过程如下:
首先建立相机坐标系的数学模型,公式如下:
(7)
式(7)中:为相机的内部参数;为旋转矩阵;t=(tx,ty,tz)T为平移向量。
图像坐标系(x,y)与相机坐标系(Xi,Yi,Zi)之间的关系如下:
(8)
因为头部姿态为三自由度,因此,以3×3的矩阵表示为:
(9)
通过旋转矩阵和旋转角的关系,即可求得头部姿态角roll,pitch,yaw分别为:
(10)
选取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用于人脸特征点定位(人脸对齐/关键点检测)
训练流程如图8所示。
图8 训练流程框图
通过对数据集进行多尺度多模板处理后,得到训练样本数量如表1所示。
表1 训练样本数量
PositiveNegativePartLandmarkP-NET89 25136 758 547623 871635 847R-NET225 176674 412224 713312 478O-NET283 679854 178289 745547 894
将得到的数据集按negative/positive/part faces/landmark =3∶1∶1∶2的比例进行采样,随后送入各个网络进行训练,最后对得到的检测结果计算召回率(recall)为:
(11)
式(11)中:TP表示正确识别为人脸的数量;FN表示未正确检测出人脸数量,即系统漏报。将召回率结果与多尺度处理相比较(见表2),可以看到多尺度多模板的图片预处理方式对检测结果有一定的提升。
表2 不同网络层召回率结果对比 %
P-NETR-NETO-NET多尺度94.695.495.7多尺度多模板94.897.795.9
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 实时性测试效果图
结合当前热门的深度学习方法,通过对卷积神经网络的训练,结合计算机视觉、图像处理的方式,完成对飞行员头位的检测跟踪,应用于飞行员的日常模拟训练中,相比于传统的头位检测跟踪方法,有很大的创新,并且在实际训练中,在检测精度和实时性方面有明显提升。未来工作将继续针对不同问题不断地优化网络结构,并借鉴其他检测算法,设计其他实用的深度学习模型,应用于飞行员座舱模拟训练中。
[1] ZHANG Limin,JIANG Jie,FANG Wei,et al.Real Time Detection and Tracking Method of Pilot’s Head Position Based on MTCNN-DeepSORT[C]//International Conference on Machine Learning and Computer Application,2020(9):445-453.
[2] 王勇军,徐景硕,冯连鸣.基于惯性与光学技术的头位测量方法设计[J].压电与声光,2014(06):143-146.
[3] ZHANG Limin,JIANG Jie,Fang Wei,Liu Kai.Research on the Fast Solution Method of Pilots’ Head Attitude[C]//3rd International Conference on Mechatronics and Computer Technology Engineering,2020(9):1132-1139.
[4] ZHAO F.Face Detection Based on SVM and HOG[J].Information Technology and Information,2013(6):45-49.
[5] LI S Z,ZHU L,ZHANG Z Q,et al.Statistical learning of multi-view face detection[C]//Proc.of the European Conference on Computer Vision,2002:67-81.
[6] MATHIAS M,BENENSON R,PEDERSOLI M,et al.Face detection without bells and whistles[C]//Proc.of the European Conference on Computer Vision,2014:720-735.
[7] SCHROFF F,KALENICHENKO D,PHILBIN J.Facenet:a unified embedding for face recognition and clustering[J].IEEE computer society,2015(8).
[8] LI H,LIN Z,SHEN X,et al.A convolutional neural network cascade for face detection[C]//Proc.of the 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2015.
[9] SHIN A,YAMAGUCHI M,OHNISHI K,et al.Dense Image Representation with Spatial Pyramid VLAD Coding of CNN for Locally Robust Captioning[C]//Proc.of the 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2016.
[10] HOSANG J,BENENSON R,SCHIELE B.Learning Non-maximum Suppression[C]//Proc.of the 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2017.
[11] HOSANG J,BENENSON R,SCHIELE B.A convnet for non-maximum suppression[C]//Proc.of the German Conference on Pattern Recognition,2016:192-204.
[12] BODLA N,SINGH B,CHELLAPPA R,et al.Soft-NMS ——Improving Object Detection With One Line of Code[C]//Proc.of the 2017 IEEE International Conference on Computer Vision (ICCV),2017.
[13] ROCCA F,MANCAS M,GOSSELIN B.Head Pose Estimation by Perspective-n-Point Solution Based on 2D Markerless Face Tracking[C]//Proc.of the International Conference on Intelligent Technologies for Interactive Entertainment.Springer International Publishing,2014.
[14] XIONG G,DING T H,WANG P.Perspective-n-point pose measurement with two line array cameras[J].Optical Engineering,2013,52(01):177-182.
[15] LI S J,LIU X P.An accurate and fast algorithm for camera pose estimation[J].Journal of Image and Graphics,2014(1):21-27.
[16] YANG S,LUO P,LOY C C,et al.WIDER FACE:A Face Detection Benchmark[C].IEEE,2016:5525-5533.
Citation format:ZHANG Limin, JIANG Jie, FANG Wei, et al.Research on Pilot Head Position Tracking Method Based on Neural Network[J].Journal of Ordnance Equipment Engineering,2021,42(05):88-93.