丁卫兵,秦会斌,董胜奎
(1.杭州电子科技大学电子信息学院,浙江杭州310018;2.南京电子技术研究所,江苏南京210013)
一种嵌入式实时人眼定位系统实现
丁卫兵1,秦会斌1,董胜奎2
(1.杭州电子科技大学电子信息学院,浙江杭州310018;
2.南京电子技术研究所,江苏南京210013)
眼睛的位置在视频图像处理过程中是一个很重要的信息。针对视频中实时人眼定位问题,提出了一种在嵌入式设备上实时运行的人眼定位系统。人眼定位算法采用改进了的平均合成的精确滤波算法(Average of Synthetic Exact Filters,ASEF),在构建稳定的平均滤波器的同时减少了训练图像的数量,使得在保证准确率的同时减少了训练时间。通过在ARM 11上移植OpenCV视觉库和QT实现了该系统的算法设计和界面设计。在多个标准人脸图像库和通过摄像头采集的视频流上进行的实验表明,该系统能够准确定位人眼,满足实时性的要求。
嵌入式系统;人眼定位;平均合成精确滤波器;OpenCV
随着物联网的发展,在终端设备上进行视频采集并分析引起了人们的广泛关注,而对视频中人眼的实时定位可以在多种应用中使用,例如智能视频监控设备和家庭及公司门禁系统中的人脸识别、疲劳驾驶检测系统中的人眼状态检测[1]、智能手机等都应用到了人眼定位技术。
人眼特征比较明显,本身具备对称性,使人眼定位易于实现,目前使用比较多且成熟的人眼定位技术主要有:级联Adaboost检测算法[2]、AAM算法[3]和灰度积分投影算法[4]等。Adaboost算法特点是检测效果好,运算速度快,但是算法的输出结果仅仅有检测框的信息,在处理特征的精准定位上性能不好,因此对眼睛的定位还要进一步处理。AAM算法通过关键点的定位给出人脸各个器官的位置与形状,但是计算复杂度较高,难以在嵌入式系统上实时实现。积分投影算法具有计算量小以及尺度不变性等优点,但是一般依赖其他方法首先分割出眼睛区域,如果分割出的区域里包含眉毛或睫毛,眼睛定位结果会大受影响[4]。本文使用的相关滤波器能够根据期望输出来进行定义和设计,具有良好的准确率和实时性。在研究了相关滤波器的基础上,重点研究并改进了平均合成的精确滤波ASEF[5]的方法,并在嵌入式平台上设计实现。嵌入式系统具有成本低、功耗小、可移植操作系统、网络功能强大、扩展性强的优点。
为了提高检测的准的率,分别对左眼和右眼进行训练以得到相应的滤波器。平均合成的精确滤波的原理如图1所示,以左眼为例,首先要计算得到每幅训练图像的精确滤波器。fi是训练集中的单幅人脸图像,gi表示期望预输出的图像,其中的亮点位置的像素值大于其他所有位置的像素值,即表示人左眼的位置,hi是fi的精确滤波器。通过hi对fi的卷积滤波可以获得期望输出的图像gi,检查该图像中像素最大值的坐标就是人眼的坐标。用一个中心点在(xi,yi),半径为σ的二维高斯分布图像来表示经过滤波得到的人眼图像gi,gi定义为:
图1 ASEF滤波器构建原理
根据卷积定理,两个二维连续函数在空间域中的卷积等于其相应的两个傅里叶变换乘积的反变换而求得。因此期望输出图像又可表示为:
式中,Fi、Hi分别是由fi、hi的二维傅里叶变换得到。在训练过程中,通过手工标注训练图像的人眼中心点(xi,yi),可以获得期望输出的图像gi(x,y),对其进行傅里叶变换得到Gi(w,v)。根据函数公式:
通过式(4)所求得的精确滤波器hi只能在检测相对应的训练图像fi时能准确检测到人眼中心像素点(xi,yi),对于其他的训练图像则检测效果较低,不满足鲁棒性的要求。因此为了获得适应性强的通用人眼滤波器,需要对得到的N个hi滤波器求平均,以适应对不同的检测图像都能有较高的检测准确率的要求。由于傅里叶变换属于线性变换,求平均的过程可以在空间域进行也可以在频域进行,本文在频域取平均,即将式(4)求得的所有精确滤波器H*i进行求平均:
通过上述过程可以看出,要得到稳定性强的平均滤波器需要训练大量的图像,使得训练时间较长,不适合在线训练。为了减少训练图像的数量,首先对式(5)进行了改进,分子分母同乘以Fi的复共轭得到:
通过式(6)可以看出,分母变为一个实数,当分母接近0或训练的图像数量较少时,所求得的平均滤波器检测准确率较低。根据现有相关滤波器OTF(Optimal Tradeoff Filters)[6]和UMACE(Unconstrained Minimum Average Coleration Energy)[7]的构造原理,在分母上加上一个正则系数ε可以减少训练图像的数量,并使平均滤波器更加稳定。如式(7)所示:
图2显示了是否增加正则系数ε对训练图像数量的影响。实验结果表明,增加正则系数后,在训练图像较少时依然可以取得较高的检测准确率。
图2ε对训练图像数量的影响
在人眼定位过程中,将待检测的人脸图像和ASEF通过FFT变换后在频域进行互相关运算,如式(3)在频域的相关运算变成了简单的相乘计算。计算结果经过IFFT变化后只需要在输出图像中寻找像素值最大的点的坐标即可。计算过程主要为两次FFT变换和一次频域相关计算,非常简单,可以快速定位出人眼坐标。
2.1 系统设计简介
系统采用嵌入式ARM11的微处理器S3C6410为主要硬件开发平台,稳定运行在667 MHz主频以上;以Linux操作系统为软件开发平台,通过摄像头采集视频数据,图像大小为640像素×480像素,帧率为30 fps。通过ARM11的MPEG硬件编解码获取每帧图像,每帧视频图像经过预处理后,首先采用经典的Adaboost算法进行人脸检测以缩小人眼定位的检测范围,提高时间性能。然后在检测出的人脸区域中分别进行左眼和右眼的定位检测。本系统的设计流程如图3所示。
图3 系统设计流程图
视频图像在采集过程中,受到环境噪声的干扰和光照不均匀的影响,导致了视频质量的下降。为了提高人脸检测的精度和速度,需要对原始图像进行预处理,采用了预处理方法有图像灰度变换、缩小图像尺寸、图像平滑、直方图均衡化等。Adaboost算法通过把大量分类能力一般的弱分类器通过一定的方法叠加起来,构成一个分类能力很强的强分类器[8-10],具有检测准确率高、实时性好的特点,非常适用于基于视频的动态人脸检测。ASEF算法也是基于由一系列弱分类器构建强分类器的思想产生的。
2.2 实验测试及结果分析
通过在ARM11上移植OpenCV开源视觉库,利用其提供的基本图像处理函数接口编程实现了改进了的ASEF算法。移植QT库编写了简洁的系统操作界面,实现了在线训练、在线单人和多人眼睛定位检测、拍照等功能。
系统在输入不同标准人脸库,使用ASEF算法的检测结果如图4所示。FERET标准人脸库由200个人,每人7幅图像组成;ORL标准人脸库由40个人,每个人10幅图像组成;Yale标准人脸库由15个人,每人11幅图像组成。检测结果表明该系统能适应多种姿态、有无眼镜、有无闭眼、多种肤色等条件。
图4 不同人脸库的测试结果
表1显示了在不同的标准人脸库中的检测准确率和每幅图像的平均检测时间。
表1 不同人脸库的测试结果
由于检测图像都是静态图像,检测准确率相对较高,检测准确率达到了98%以上,表明该人眼定位系统具有良好的检测率。实验中每幅图像的检测用时在16 ms左右,满足实时性的要求。
图5显示了在ARM11上通过红外摄像头采集到的视频中进行人眼定位的部分检测结果,圆圈的中心点即眼睛的坐标。试验中请了47名同学在不同的环境条件下,通过对50 000视频帧进行测试。实验结果表明,该系统在光照变化、多姿态、有无眼镜等条件的变化下检测准确率仍然达到了97.5%,人眼检测平均耗时19.4 ms,满足实时性的要求。
图5 视频检测结果
采用基于相关滤波器的原理重点研究和改进了平均合成的精确滤波器的算法,并成功将其应用到嵌入式平台中,试验结果表明该系统具有较高的检测准确率和实时性,鲁棒性强,达到了实验要求结果,并为以后功能的扩展,例如人脸识别中的姿态校正、疲劳驾驶检测中人眼状态检测等奠定了基础。
但是ASEF算法还有待改进的地方,文献[11]和文献[12]提出在人脸图像在外观、表情、姿态变化剧烈时,ASEF算法在性能上会有所下降,并各自提出了改进的方法。下一步改进的目标就是在保证实时性的同时,结合其他方法以提高本文设计的系统在多种环境的适应性。
[1]崔坚.基于眼部识别的驾驶员疲劳检测方法[D].大连:大连海事大学,2013:25-31.
[2]Viola P,Jones M J.Robust real-time face detec-tion[J].International Journal of Computer Vision,2004,57(2):137-154
[3]Cootes T F,Edwards G,Talylor C J.Active Appearance Models[C]∥Transactions on Pattern Analysisand Machine Intelligence.[S.l.]:IEEE Press,2001,23(6):681-685.
[4]孟春宁,白晋军,张太宁,等.基于梯度积分投影和最大期望算法的人眼定位[J].光电子·激光,2012,10,23(10):1971-1975.
[5]Bolme D S,Draper B A,Beveridge J R.Average of synthetic exact filters[C]∥Interna-tional Conference on Computer Vision and Pattern Recognition.[S.1]:IEEE Press,2009,2105-2112.
[6]Refregier P.Optimal Trade-off Filters for Noise Robustness,Sharpness of the Correlation Peak,and Horner Efficiency[J].Optics Letters,1991,16(11):829-832.
[7]Savvides M,Kumar B V K V.Efficient Design of Advanced Correlation Filters for Robust Distortion-tolerant Face Recognition[C]∥Conference on Advanced Video and Signal Based Surveillance.[S.l.]:IEEE Press,2003,45-52.
[8]张旭,李亚利,丁晓青,等.嵌入式驾驶员状态检测算法的实现与优化[J].自动化学报,2012,38(12):2014-2022.
[9]程如中,赵勇,戴勇,等.基于Adaboost方法的车载嵌入式疲劳驾驶预警系统[J].北京大学学报,2012,9,48(5):719-726.
[10]武楠.基于GLCM、CGA和Adaboost的人脸表情识别方法研究[J].无线电工程,2011,41,(6):50-53,61.
[11]葛仕明,杨睿,文辉,等.基于相关滤波器组的人眼定位方法[J].网络新媒体技术,2014,1,3(1):8-12.
[12]EstebanV F,Daniel G J.Improved Average of Synthetic Exact Filters for Precise Eye Localiza-tion Under Realistic Conditions[J].IET Biome-trics,2013,7,5(7):10-20.
Implementation of an Embedded Real Time Eye Location System
DINGWei-bing1,QIN Hui-bin1,DONG Sheng-kui2
(1.School of Electronics&Information,Hangzhou Dianzi University,Hangzhou Zhejiang 310018,China;
2.Nanjing Research Institute of Electronics Technology,Nanjing Jiangsu 210013,China)
A real-time eye location system on embedded devices is designed and implemented.The algorithm of eye location uses the improved Average of Synthetic Exact Filters(ASEF).The algorithm can build stable average filters and reduce the number of training images,guaranteeing the accuracy and reducing the training time at the same time.By transplanting OpenCV vision library and QT,the designed algorithm and the interface of the system are implemented on ARM11.The system is tested usingmultiple standard face image databases and the video stream collected by camera.The results show that this system can accurately locate eyes and satisfy the requirement of real-time.
embedded system;eye location;ASEF;OpenCV
TP391
A
1003-3114(2015)04-100-4
10.3969/j.issn.1003-3114.2015.04.26
丁卫兵,秦会斌,董胜奎.一种嵌入式实时人眼定位系统实现[J].无线电通信技术,2015,41(4):100-103.
2015-03-05
丁卫兵(1988—),男,硕士研究生,主要研究方向:嵌入式系统与应用、数字图像处理。秦会斌(1961—),男,博士,教授,主要研究方向:新型电子器件研发与应用。