基于HOG-SVM的飞行员头位跟踪方法研究∗
2021-06-28张立民
张立民 姜 杰 方 伟 刘 凯
(海军航空大学 烟台 264001)
1 引言
座舱模拟飞行训练,是指通过配备油门、拉杆、脚蹬等真实的操纵原件,结合视景系统和动感平台还原真实的飞行体验,可以对飞行员进行起飞、降落、空中加油、编队飞行、战术对抗以及面对复杂情况下的应急处置训练。其低成本、低风险和高效果、高回报的训练方式,对未来真实训练作战具有重要的战略意义。通过对座舱模拟飞行训练中的飞行员头部姿态进行解算和跟踪,可以实现头位跟踪瞄准、注意力分配、疲劳度检测等功能,这对于提升飞行员训练水平具有十分重要的意义。
目前对于飞行员头位跟踪的方法还停留在传统的光电法和电磁法,运用机械、传感器等手段对飞行员头部进行跟踪定位,在座舱模拟飞行训练环境中,通过计算机视觉结合机器学习算法,可以实现对飞行员头位的实时跟踪解算,有效提升训练效果。相较于传统方法,简单便捷,对飞行员头部无负担,结算定位快速准确,受干扰小,采用HOG对特征提取相比于Haar,可以很好地描述了形状、外观信息,提取特征点多,并且对光线变化和小量的空间平移不敏感,计算复杂度小。
2 主要方法
飞行员头位跟踪方法,首先通过HOG提取视频中单帧图像的特征,经SVM对特征进行分类,完成人脸检测,然后通过Heatmaps对图像中人脸关键点进行标记,最后运用Posit算法完成对飞行员头位的跟踪定位。
2.1 基于HOG-SVM的人脸检测方法
HOG即方向梯度直方图(Histogram of Orient⁃ed Gradient),是被广泛应用于计算机视觉和图像处理的一种特征提取算法,可以对图像特征加以描述的算子,通过计算图像中各个区域的方向梯度直方图,从而完成对特征的提取和统计[1]。其核心思想就是对图像进行梯度信息的统计,梯度主要存在于图像的边缘区域,局部目标可以被梯度和边缘密度分布加以描述,HOG具有对图像的几何变换、光学变化具有高鲁棒性的优点[2]。
对于图像中每个像素的梯度计算公式如下:
式中,Gx(x,y),Gy(x,y)分别为图像中位置为(x,y)的像素点的水平与竖直方向的梯度值,I(x,y)为像素点的灰度值。
像素点(x,y)的梯度幅值和大小由以下公式表示:
通过对于图像的每一个像素点计算其梯度,然后将每一个像素点的梯度方向进行汇总,以直方图的方式表示,把梯度幅度值的大小作为直方图的权重。
由于局部的光线变化和前后景对比度的变化会使梯度发生较大的变化,因此需要对梯度强度进行归一化处理,完成对光线、阴影和图像边缘的压缩,从而使得到的特征计算结果更具鲁棒性[3]。
归一化的过程为将上述所有图像块进行汇总,使其组合成大的、在空间上连通的区域,然后将所有小图像块的特征进行串联,用以反映图片的整体特征,在得到图像的特征向量后,通过训练支持向量机(SVM)对特征进行分类,完成人脸检测。通过训练后的二分类器判断该区域是否存在人脸,再运用非极大抑制算法(NMS)来合并重复检测区域,最终得到检测结果。其步骤如图1所示。
图1 HOG-SVM算法对人脸检测步骤图
由于HOG是基于边缘特征,只关注了物体的边缘和形状信息,对目标的表现信息并没有有效利用,因此对于遮挡问题不能很好地处理,并且因为梯度本身的性质,导致对噪声较为敏感,因此提出了结合人脸关键热图处理遮挡问题的方法。
2.2 基于Landmark Heatmaps的人脸关键点标记
关键点热图(Landmark Heatmaps)是在关键点位置周围具有高强度的图像,它随关键点位置的距离而变化,利用关键点热图,可以推断出人脸的关键点位置,从而对它们进行细化[4~5]。热图的计算公式如下:
其中,H表示热图图像,Tt(St-1)是根据前一阶段生成的关键点估计转换产生的标准位姿,Si是第i个关键点的标准位姿。
对于人脸关键点热图生成的过程可概括为以下步骤[6~7]。
1)设定内核形状的半径作为输出网格的大小。
2)获取x,y的最小值和最大值来生成序列号,将序列号用以构建网格。
3)通过添加x,y的网格坐标计算每个网格的中心点。
4)计算每个网格点的密度值,将密度值按强度大小进行排列,得到强度列表。
5)通过颜色网格得到可视化结果。
热力图对面部特征进行提取,可以有效克服遮挡问题,提升检测定位精度。
2.3 基于比例正交投影迭代变换(POSIT)算法的头部姿态估计
POSIT(Pose from Orthography and Scaling with Iterations)算法[8~9],是一种迭代算法,通过正交投影从单幅图像中估计物体的姿态。需要已知可检测和匹配图像中四个或更多不共面的特征点及其对应的坐标位置。算法的核心思想是首先建立人脸模型得到初始头部姿态,然后通过求解线性方程得到头部的旋转矩阵和平移向量,最后不断迭代近似姿态计算正交投影,经过尺寸变换得到头部姿态。
首先建立人脸的模型,模型公式如下[12]:
其中,(α,β,γ)表示头部姿态的三个旋转角度,N表示面部标定的特征点个数,qi表示待测的面部特征点,pi表示对应的三维通用标量,s为伸缩因子。旋转矩针R由三个矩阵相乘,表示如下:
在得到飞行员头部由世界坐标系到摄像机坐标系的旋转矩阵和平移向量后,通过旋转矩阵计算的得到欧拉角即为头部姿态。
POSIT算法的优势在于只需用到极少数点的信息,同时又避免了求解复杂非线性方程的过程。但是POSIT存在累计误差的问题,为此设定了图像误差的阈值,如果超过阈值,就重新进行初始化。
3 实验结果与分析
实验采用FDDB(Face Detection Data Set and Benchmark)数据集进行人脸检测实验,该数据集选取野外拍摄的2845图片中共计5171张人脸,是被广泛用于人脸检测的权威数据集,本文选取2000张正面人脸图像作为正样本,选取3000背景图片作为负样本,分别抽取用于600个正样本和1000个负样本用于训练分类器,训练后的分类器其结果见表1。
表1 训练后分类器结果
以误报样率为x轴,以召回率为y轴,绘制ROC曲线,见图2。
图2 SVM分类器ROC曲线图
将HOG-SVM法与Viola&Jones算法作对比,其结果如表2所示。
表2 两种方法实验结果对比
实验结果表明,该方法相比于Viola&Jones算法检出率高,鲁棒性好。
对于面部关键点测试,采用AFLW(Annotated Facial Landmarks in the Wild)数据集,该数据集包含多姿态、多视角的人脸数据,主要用于评估面部关键点检测效果,其中共有21997张图,25993张面孔,每张人脸标注21个关键点,共380k个关键点。
实验测试结果如图3所示。
图3 人脸关键点热力图
对人脸特征点检测,热力图法相比于基于模型的方法,可以有效克服遮挡问题,从而获得更为准确的定位。
最后,在真实场景中进行测试,效果见图4。
图4 真实场景下测试效果图
连续视频中每秒检测并输出头部姿态速率可达36帧,满足实时性要求。
4 结语
将计算机视觉的方法应用于飞行员的模拟飞行训练中,具有开创性的意义,相较于传统的光电法、电磁法测量飞行员头位数据,具有设备简单测量范围大、抗干扰强的优势,但相比于最新的深度学习的方法,仍需要手动标记人脸特征,人脸检测耗时长,准确度和实时性仍有待于提升,在后续的研究中,将进行有针对性的改进。