戴志远, 闫克丁, 杨树蔚, 刘咏梅, 李 露
(1.西安工业大学, 陕西 西安 710021; 2.西北工业集团, 陕西 西安 710043; 3.西安北方光电科技防务有限公司, 陕西 西安 710043)
在目标识别跟踪系统中,运动目标在图像中的像素位置是非常重要的数据信息[1-3]。随着科学技术的快速进步,跟踪目标的瞬时变化特征和参数信息已经成为跟踪系统的性能评价和验收指标。但是在实际追踪过程中,由于运动目标方向不确定,且背景复杂多变,很难提取目标特征,所以大大增加了动态目标跟踪的难度。目标跟踪方法和目标识别技术为跟踪路径上运动目标的位置获取和准确识别提供了极大的理论知识与技术支持,因此研究目标识别和跟踪技术,具有较高的理论价值和实践意义[4-6]。
基于图像的目标检测与跟踪是指对获取的运动目标图像序列进行图像处理,检测和识别到运动目标后对其进行定位和跟踪。目标检测和识别的主要依据是目标的特征,如颜色、形状、空间关系等[7-9]。其中,基于颜色特征的目标检测是最直观、应用最广泛的实现方式。本文中待检测的目标为人脸,不宜选择复杂度太高的算法[10]。
本文提出了一种基于模板匹配的人脸识别算法,分析了基于方向梯度直方图(Histogram of Oriented Gradient,HOG)的人脸特征提取算法和基于欧氏距离的人脸匹配算法,并阐述了人脸识别与跟踪的原理和算法。
1.1.1 基于几何特征的方法
基于几何特征的方法是利用人脸上眼睛、眉毛、鼻子、下巴等器官的几何特征信息进行识别的方法,是最早用于人脸识别的方法之一。1973 年,KANADE T[10]首先使用基于几何特征的方法构建了人脸识别系统,在 20 个人的人脸库中,该系统识别率达到了75%。该系统的优点是理论性不强,容易理解,实现过程比较简单;缺点是适用性不强,容易受到环境变化的影响,且识别率不高。
1.1.2 基于子空间的方法
人脸图像一般比较复杂,往往受到光照、表情、姿态等因素的影响,因此很难用几何特征来表示。人脸图像中包含着丰富的信息,但数据维数较高,且高维空间不利于样本的分类。子空间方法就是将这些高维数据映射到低维子空间,映射后每类样本的分布更加有规律,也更有利于样本的分类。
该方法将人脸图像设为一个随机向量,通过K-L变换得到正交的K-L基底。这些特征基底有着人脸的形状,所以该方法又称为特征脸方法。特征脸示意如图1所示。
图1 特征脸示意
1.1.3 基于模板匹配的方法
模板匹配是图像识别中最具代表性的方法之一。它是从待识别的图像中提取若干特征向量,并与模板对应的特征向量进行比较,同时计算图像与模板特征向量之间的距离,用最小距离法判定所属类别。基于模板匹配的方法通常需要建立标准模板库。基于模板匹配的人脸识别算法的流程如图2所示。
图2 人脸识别算法流程示意
从摄像头采集的图像中检测人脸,然后提取人脸的128维特征值,并计算欧氏距离,根据设定的阈值判定是否为同一个人。由于人脸识别没有对应的人脸数据库,因此不能用最小距离法,只能用阈值作为判别依据。阈值的选取应兼顾识别率和识别的准确性,实验中取训练样本与平均脸的欧氏距离平均值作为分类阈值。其公式为
(5)
式中:d12——两点间的欧氏距离;
(x1,y1),(x2,y2)——二维空间中两点的坐标。
根据给定的人脸图像建立模板库,提取模板库中的人脸特征并存储,在跟踪识别时采集图像并获取当前图像中的人脸部分,通过计算128维特征值之间的欧氏距离,与预存的人脸特征模板库值进行比对,以判断特征是否匹配,并进而识别人脸。
本文采用的模板匹配算法是基于HOG的人脸特征提取算法。预先采集由不同角度拍摄的同一个跟踪人员的8幅面部图像,然后基于HOG算法获取每幅图像的人脸轮廓和特征点,由每张照片提取出128维特征值,并将这些特征值存储在文件中。
在图像中,梯度可以很好地表示目标的形状和表象,主要存在于轮廓的边缘位置。HOG通过计算在图像目标区域的方向梯度,并使用直方图统计,从而得到目标特征。具体方法为:首先将图像划分为最小单元cell,然后统计cell中像素点的HOG,并将cell整合为一个较大的单位区域,最后就构成了直方图类型的特征。
物体的局部外观和形状能够通过其局部梯度或边缘信息来表征和描述。HOG就是对图像指定区域内梯度方向分布的统计直方图。物体HOG特征的提取,首先需要取得每个位置的梯度信息,具体步骤如下。
步骤1 选取特征区域。
步骤2 在水平和垂直方向,使用梯度算子[-1,0,1]对所选区域进行卷积运算,得到该像素点在水平方向的梯度分量Gx(x,y)和垂直方向的梯度分量Gy(x,y)分别为
(1)
式中:H(x,y)——像素点(x,y)的像素值。
步骤3 利用步骤2得到的梯度分量可得
(2)
式中:G(x,y)——像素点(x,y)的梯度幅值;
α(x,y)——像素点(x,y)的梯度方向角度。
步骤4 设定统计HOG特征的单位为cell。每个cell为一个正方形,在HOG特征中,边长需要满足2的倍数关系。设每个cell为8×8像素块,梯度方向范围为360°,将该范围分为9个区间,分别是0~40°,40°~80°,…,320°~360°。分别统计所有cell单位中梯度方向角度值落入这9个区间的像素点个数,该梯度向量C(i,j)表示为
C(i,j)={x1,x2,x3,…,x9}
(3)
式中:xi——第i个区间中的梯度角度个数,i=1,2,3,…,9。
步骤5 为了更好地表述局部区域特征,选取相邻cell的特征向量组成新的特征向量,选取范围块称为区域。本文设定每个区域单位由2×2个cell单位组成,区域的梯度直方图就是将4个cell单位的直方图组合,区域的向量单位B(i,j)为
(4)
此时,梯度直方图信息由9维变为36维,HOG的特征选择完毕。利用HOG计算每个区域范围内的梯度信息,存储时表示为一个cell的梯度信息。
根据HOG方法拍摄人脸照片,并进行特征提取,结果如图3所示。
图3 基于HOG的人脸识别结果
在本文设计的人脸识别跟踪系统中,成像系统和跟踪转台是重要的组成部分。该系统将跟踪路径中的开始点、终止点与摄像头根据光学成像原理相互结合起来,通过发送串口指令让跟踪转台开始工作,建立路径上的跟踪模型。由于运动目标具有加速、匀速和减速的过程,将根据理论得到的图像中心坐标和图像中识别到的目标位置进行对比,所以可以检测模型是否实现了准确跟踪。在跟踪路径中,当运动目标始终位于成像视场中心范围之内时,速度变化较小,这时的转台跟踪控制策略是可行的[8]。
令M为跟踪的开始点,跟踪转台与开始点之间的距离为l1;N为跟踪的终止点,跟踪终止点与转台之间的距离为l2;P为跟踪系统的观测点,P点与跟踪路径的垂直距离为lPH。按照跟踪路径中目标载体的特点,建立跟踪原理示意图如图4所示。
注:θi,θi+1,θi+n+1—跟踪转台的控制旋转角度;Si,Si+1,Si+n+1—控制旋转角度相对应的跟踪路径上的位移量。
从图4可以看出,M点、N点和P点之间的区域为跟踪区域。通常,M点与N点相距较远,垂直距离lPH较小,成像视场受到一定的限制,且不能覆盖全部的跟踪范围。跟踪系统中,成像视场的扩大是借助跟踪转台完成的,跟踪转台能够辅助完成对跟踪路径上每一位置的变化状态的实时跟踪。通过确定合理的方位轴和俯仰轴旋转角度,能够扩大跟踪视场范围,使跟踪更加准确[9]。
采用相等的单位时间将跟踪路径划分为一系列的水平位移量,并按照水平位移量分析跟踪路径上每一位置的状态信息,则跟踪路径上各位置的位移量Si与跟踪路径总长度lMN之间的关系式为
(6)
跟踪转台旋转的总角度θd可以用水平位移量对应的旋转角度之和来表示,即为
(7)
为了对整个跟踪路径上运动目标的每一位置进行实时跟踪,只需让二维跟踪转台转动一定的角度就能够实现。该角度为每一位置的时域内旋转的对应理论角度。检测到跟踪路径上对应时刻的目标图像后,借助图像处理方法提取运动目标的参数特征[11-13]。
在跟踪系统中,通过跟踪转台的控制与目标图像的跟踪算法相结合的方式对运动目标进行实时跟踪。目标跟踪控制判断阈值框如图5所示。
图5 目标跟踪控制判断阈值框
图5中矩形abcd为相机成像平面,图像中心为点O,跟踪算法得到的目标位置为点O′,矩形mnpq为发出控制指令的判断阈值框。当跟踪算法得到的目标图像的位置与图像中心位置之间的偏差即Δux和Δuy超出阈值框设定的值Δuxmax和Δuymax时,表示运动目标偏离了图像中心一定范围。基于这个像素偏差,首先使用PID算法计算输出角度,再通过串口发送相应的转动角度,二维跟踪转台得到转动角度后向目标图像阈值框方向转动,减小运动目标的跟踪偏差,使运动目标始终在相机的成像视场范围内。
由图5可以看出,当前目标位置已经超出了设定的阈值框,即Δux>Δuxmax,Δuy>Δuymax。根据图像像素偏差可以得出转台的旋转角度偏差,上位机通过串口发送对应的角度数据,下位机接收到数据后控制跟踪转台方位轴和俯仰轴方向的舵机做相应的转动调整,减小像素偏差,以保证目标跟踪的准确性,提高跟踪精度。
图像坐标系和运动坐标系如图6所示。
图6 图像坐标系和运动坐标系
在图像坐标系中,θ为方位视角范围,φ为俯仰视角范围,成像平面中水平方向的像素为H,垂直方向的像素为V,像素方位偏差为ΔH,像素俯仰偏差为ΔV;在运动坐标系中,位置方位偏差为Δx,位置俯仰偏差为Δy。一个像素在水平方向上的物理尺寸为dx,在垂直方向上的物理尺寸为dy,单位均为mm/像素。
当图像像素方位偏差为ΔH时,相机方位视场角度刚好旋转Δθ;图像像素俯仰偏差为ΔV时,相机俯仰视场角度刚好旋转Δφ。焦距与视场成像关系如图7所示。
图7 焦距与视场成像关系
令f为相机焦距(单位为mm),则有
(8)
(9)
进一步可得
(10)
一般情况下,相机方位视角范围和俯仰视角范围都较小,可认为tanθ/2=θ/2,tanφ/2=φ/2,则式(10)可转化为
(11)
式(11)为由跟踪算法得到的图像像素偏差与二维跟踪转台相应的旋转角度之间对应关系的计算公式。
基于图像像素偏差与二维跟踪转台相应旋转角度间的对应关系,在实际的跟踪过程中,具体的跟踪方法如图8所示。
图8 跟踪方法示意
本文搭建的人脸识别跟踪系统包括上位机图像采集、云台控制器和跟踪转台3个模块,如图9所示。
具体实验方法为:上位机软件采集图像,通过前文所述的人脸识别算法获取人脸坐标;根据跟踪算法计算出需要移动的数据,通过串口与下位机之间进行通信;下位机软件接收上位机发送的指令和角度数据,并通过云台控制器控制跟踪转台做出相应的运动。实验结果如图10所示。
图9 人脸识别跟踪系统
图10 人脸识别跟踪实验结果
实验测试数据及角度和目标中心图像像素位置(x,y)数据分别如表1和表2所示。
表1 测试数据
表2 角度和目标中心图像像素位置数据
由表2中目标中心图像的像素位置变化结果可以看出,在水平方向上中心位置有明显变化,而在垂直方向上中心位置的变化较小。这说明在均匀单位时间内,跟踪系统存在结构上的设计误差和控制误差,使得目标中心并不是固定在一定区域内,而是随着目标与光学跟踪系统之间距离的变化,中心位置也在发生变化。但是,整个系统跟踪锁定的中心点基本在有效视场内。经过多轮测试,图形识别跟踪系统已经基本完成。
本文研究了基于模板匹配的人脸识别算法,分析了基于HOG的人脸特征提取算法和基于欧氏距离的人脸匹配算法,给出人脸识别跟踪原理和算法。目标图像通过摄像头读入,在上位机软件中,借助图像处理库识别图像中的人脸,并根据预存特征判断是否为特定目标,进而提取出目标的位置信息,通过串口发送给下位机,下位机接收指令并控制跟踪转台转动,从而实现了人脸识别跟踪。将人脸识别算法植入上位机软件中,通过动态目标视觉检测以及PID控制的角度输出,经实验结果表明,跟踪转台实现了不错的控制效果,可以在有效视场内对特定目标的人脸进行识别和跟踪。