王俊南 赖惠成 杨东旭
摘 要: 针对Camshift算法在对人脸跟踪时,容易受到肤色背景的影响,且当跟踪环境中背景较为复杂时,易失败的问题,提出一种基于肤色分割的改进Camshift人脸跟踪算法。在YCbCr空间中进行肤色分割,提取每一帧的肤色区域,排除帧图像中非肤色背景的干扰;引入人脸几何特征,对潜在的人脸肤色区域进行约束;使用Camshift算法跟踪人脸。同时为了提高算法的性能,文中引入改进的Adaboost算法。实验结果表明,该算法对视频帧中的特定人脸可以获得出色的跟踪结果,具有实时性强、跟踪稳定的优点。
关键词: 人脸跟踪; 肤色分割; 形态学操作; YCbCr空间; 几何特征; Adaboost算法; Camshift
中图分类号: TN820.4?34; TP391.41 文献标识码: A 文章编号: 1004?373X(2019)06?0166?05
Improved Camshift face tracking algorithm based on skin color segmentation
WANG Junnan, LAI Huicheng, YANG Dongxu
(College of Information Science and Engineering, Xinjiang University, Urumqi 830046, China)
Abstract: In allusion to the problems that the Camshift algorithm is easy to be affected by the skin color background during face tracking, and the tracking is easy to fail if the tracking environment background is complex, an improved Camshift face tracking algorithm based on skin color segmentation is proposed. The skin color segmentation is performed in the YCbCr space to extract the skin color region of each frame, so as to eliminate the interference of the non?skin color background in the frame image. The face geometric features are introduced to constrain the potential face skin color region. The Camshift algorithm is used to perform face tracking in the end. The improved Adaboost algorithm is introduced to improve the performance of the algorithm. The experimental results show that the algorithm can obtain excellent tracking results of the specific face in the video frame, and has the advantages of strong real?time performance and stable tracking ability.
Keywords: face tracking; skin color segmentation; morphological operation; YCbCr space; geometric feature; Adaboost algorithm; Camshift
0 引 言
经过多年的努力,人脸跟踪技术已经广泛应用于视频监控、人机交互、机器人控制等领域。近来,国内外的很多学者在人脸跟踪研究方面取得了一些成果。文献[1]提出一种改进的Camshift跟踪算法——ERC(Environmental Robust Camshift)。该算法可以在强烈的光照变化、复杂背景和快速移动下有效跟踪人脸。文献[2]提出将卡尔曼滤波器与Camshift算法结合进行人脸跟踪,以提高跟踪速度。文献[3]将多视角人脸检测算法与Camshift算法结合,解决了复杂背景中人脸实时跟踪的问题[3]。文献[4]提出一种自适应的多模式转换的Camshift人脸跟踪算法,实现了人脸跟踪的稳定性与准确性。文献[5]通过使用直方图分块加权对Camshift算法进行改进,一定程度增强了抗肤色干扰能力。文献[6]将图割理论与Camshift相结合,有效克服了跟踪时其他肤色区域的干扰。
针对以上分析,本文提出一种基于肤色分割的改进Camshift人脸跟踪算法,首次实现了YCbCr颜色空间中的肤色分割[7]与Camshift人脸跟踪算法的结合。经过实验验证得知,对于视频中绝大部分的视频帧,本文算法均可以获得出色的跟踪结果。
1 YCbCr颜色空间肤色分割
YCbCr空间中,因为亮度与色度信息没有关联,肤色聚类性好,计算较为简单[8],所以本文选择在YCbCr空间中分割肤色。
肤色在Cb?Cr空间中的二维分布如图1所示。
图1 肤色在Cb?Cr空间的二维分布
从RGB颜色空间到YCbCr颜色空间的转换公式为:
[YCbCr=16128128+ 0.256 8 0.504 1 0.097 9-0.148 2-0.291 0-0.439 2 0.439 2-0.367 7-0.071 4RGB] (1)
由于不同的视频中的背景及周围环境的差异,在对不同视频中的目标人体进行肤色分割时,需要先对Cb,Cr,Y进行设置,取不同的参数。本文在对视频seq_mb中的目标人体进行肤色分割时,需要将YCbCr空间中相应的参数设为135
2 改进的Adaboost算法
跟踪开始时,为了自动检测目标人脸以初始化搜索窗口,文中引入了改进的Adaboost算法。对于传统的Adaboost算法,有一些弱分类器的功能是近乎相同的。减少具有相似功能的弱分类器数量,就可以减少算法的处理时间,提高算法的性能[9]。
选用Q统计量法[10]求分类器间的关联性。分类器hi将Nab个待检测样本分类为a,分类器hj将Nab个待检测样本分类为b,分类器hi和分类器hj之间的Q统计量[Qi,j]为:
[Qi,j=N11N00-N01N10N11N00+N01N10] (2)
当a,b为0时,检测错误;a,b为1时,检测正确。当[0≤Q≤1]时,hi,hj的分类都是正确的;当[-1≤Q<0]时,表明hi,hj的分类是错误的。用Q的均值表示一个分类器集合中L个分类器的Q相关性,有:
[Qi,k=2L(L-1)i=1L-1k=l+1LQi,k] (3)
相关性判断的步骤为:
1) 用Adaboost挑出每轮最好的弱分类器hi;
2) 用式(2)计算弱分类器hi与已挑出的弱分类器的关联性Qi,1,Qi,2…(i>1);
3) 利用式(3)计算全部分类器的关联性[Q],若[argmin Qi 4) 反复进行,直至获得所需要数量的弱分類器; 5) 组建强分类器,把多个强分类器级联。 3 Camshift算法 Camshift(Continuously Adaptive Mean Shift)是由MeanShift算法优化得到的。设I(x,y)为点(x,y)处的概率密度值,W为搜索窗的大小,则搜索窗的形心坐标[(xc,yc)]可经下式计算得到,即: [xc=M10M00yc=M01M00] (4) 式中:[M00]为搜索窗中概率密度图的零阶矩;[M10,M01]分别为图中点(x,y)处x和y的一阶矩,且: [M00=xyI(x,y)M10=xyxI(x,y)M01=xyyI(x,y)] (5) 点(x,y)处x和y在密度图中的二阶混合矩为: [M11=xyxyI(x,y)M20=xyx2I(x,y)M02=xyy2I(x,y)] (6) 令: [a=M20M00-x2cb=2(M11M00-xcyc)c=M02M00-y2c] (7) 则不断更新的搜索窗口[W]的长度l和宽度w为: [l=(a+c)+b2+(a-c)22w=(a+c)-b2+(a-c)22] (8) 人脸的偏转角度θ为: [θ=12arctanb(a-c)] (9) Camshift算法的执行步骤为: 1) 对人脸位置、搜索窗参数初始化; 2) 导入下一帧图像,求其HSV图像; 3) 计算搜索窗的颜色直方图、概率分布图; 4) 用式(5)查找形心,将搜索窗的中心调整到该形心处; 5) 重复步骤3)和步骤4),直到形心的移动小于规定的阈值,即收敛时为止; 6) 由式(5)、式(9)计算新得到的形心,搜索窗大小。 4 基于肤色分割的改进Camshift人脸跟踪算法 为了解决视频中周围环境对Camshift算法跟踪结果的影响,并考虑到肤色在YCbCr颜色空间中的聚类性要优于在RGB颜色空间、HSV颜色空间中的聚类性,所以选择在YCbCr颜色空间中进行肤色分割的操作。此外,Camshift在对人脸跟踪时,需要手动选择目标人脸以初始化搜索窗口,比较麻烦,所以又引入改进后的Adaboost算法,使搜索窗口的初始化自动完成。基于肤色分割的改进Camshift人脸跟踪算法的流程见图3。 5 实验结果分析 本文在Matlab 2014a中对改进算法进行仿真,并与Camshift算法进行对比。测试中,选用了斯坦福大学的测试视频序列seq_mb和新疆地区学生的自拍视频。对seq_mb中的目标人脸跟踪的结果如图4、图5所示。图4为Camshift算法对部分帧的跟踪结果,图5为本文算法对相应帧的跟踪结果。
图3 改进Camshift人脸跟踪算法
圖4 Camshift算法对seq_mb部分帧跟踪结果
图5 本文算法对seq_mb部分帧跟踪结果
从图4中可以看出,将Camshift用于人脸跟踪时,其跟踪易受到目标人脸附近背景中非脸部区域肤色的干扰,使得跟踪效果不理想甚至跟踪失败。而从图5中可以看出,通过相关参数的合理设置,本文算法避免了目标人体其他非脸部区域肤色,周围环境中类肤色物体及其他因素对跟踪结果的干扰,确保了跟踪结果的有效性和可靠性。
由表1可以看出,seq_mb测试视频中本文算法的跟踪成功率要大于Camshift算法,虽跟踪速度较慢,但完全满足实时跟踪的要求。
本文通过分别求出每一视频帧图像中目标人脸的形心坐标、Camshift算法跟踪框形心坐标、本文算法跟踪框形心坐标,并把跟踪失败时的形心坐标设为(0,0),然后得到每种形心坐标的连线图,如图6所示。
图7为Camshift算法对自拍视频中部分帧的跟踪结果, 图8为本文算法对相应帧的跟踪结果。
图6 seq_mb中两种算法性能对比图
图7 Camshift算法跟踪结果
从图8中的实验结果也可以看出,本文算法在自拍视频中的跟踪效果也是要优于传统的Camshift算法,这也说明本文算法具有良好的适用性。表2列出了两种算法的性能情况。由表2中的数据可知,本文算法的跟踪成功率高,跟踪速度虽慢却仍可以保证跟踪的实时性。在此使用与上文同样的方法得到在对自拍视频进行实验时两种算法的性能情况,如图9所示。
通过以上两组实验对本文算法的性能进行了验证。实验结果表明,本文算法对视频中的目标人脸的跟踪性能是优于传统的Camshift算法的,保证了跟踪性能的情况下还具有良好的实时性。
图8 本文算法对自拍视频部分帧跟踪结果
图9 自拍视频中两种算法性能对比图
6 结 语
本文提出基于肤色分割的改进Camshift人脸跟踪算法,首次实现了YCbCr颜色空间中的肤色分割与Camshift人脸跟踪算法的结合。首先在YCbCr颜色空间中对人脸部分肤色区域进行有效分割,然后再用Camshift进行跟踪。实验结果表明该算法具有实时性好、跟踪稳定的优点。
参考文献
[1] CONG D, SHI P, LI Y. ERC: an environmental robust Camshift face tracking algorithm [C]// Proceedings of 8th International Congress on Image and Signal Processing. Shenyang: IEEE, 2015: 23?29.
[2] RANGANATHA S, GOWRAMMA Y P. An integrated robust approach for fast face tracking in noisy real?world videos with visual constraints [C]// Proceedings of International Conference on Advances in Computing, Communications and Informatics. Udupi: IEEE, 2017: 772?776.
[3] WANG C, LIN W, ZHANG Q Y, et al. Design of face tracking system based on rotatable camera [C]// Proceedings of 12th International Conference on Signal Processing. Hangzhou: IEEE, 2014: 2360?2364.
[4] SHAN Y G, WANG J B, HAO F. Camshift head tracking based on adaptive multi?model switching [C]// Proceedings of 2nd Advanced Information Technology, Electronic and Automation Control Conference. Chongqing: IEEE, 2017: 2484?2488.
[5] 骆绍烨,刘丽桑.基于改进Camshift的人脸跟踪算法[J].延边大学学报(自然科学版),2017,43(2):144?149.
LUO Shaoye, LIU Lisang. Face tracking algorithm based on improved Camshift [J]. Journal of Yanbian University (Natural science), 2017, 43(2): 144?149.
[6] 胡章芳,秦阳鸿.基于图割理论的尺度自适应人脸跟踪算法[J].计算机应用,2017,37(4):1189?1192.
HU Zhangfang, QIN Yanghong. Scale?adaptive face tracking algorithm based on graph cuts theory [J]. Journal of computer applications, 2017, 37(4): 1189?1192.
[7] RAHMAT R F, CHAIRUNNISA T, GUNAWAN D, et al. Skin color segmentation using multi?color space threshold [C]// Proceedings of 3rd International Conference on Computer and Information Sciences. Kuala Lumpur: IEEE, 2016: 391?396.
[8] 田原嫄,姚萌萌,潘敏凯,等.基于YCbCr肤色检测与AdaBoost联级算法的嘴部特征定位[J].计算机应用研究,2017,34(3):933?935.
TIAN Yuanyuan, YAO Mengmeng, PAN Minkai, et al. Human′s mouth location based on YCbCr complexion detection and AdaBoost cascade connection method [J]. Application research of computers, 2017, 34(3): 933?935.
[9] 王建玺,李玮瑶.基于改进Adaboost算法的人脸检测[J].微处理机,2015,36(5):57?60.
WANG Jianxi, LI Weiyao. Face detection based on improved Adaboost algorithm [J]. Microprocessors, 2015, 36(5): 57?60.
[10] KUNCHEVA L I, WHITAKER C J. Measures of diversity in classifier ensembles and their relationship with the ensemble accuracy [J]. Machine learning, 2003, 51(2): 181?207.
[11] DONG C, WANG X L, LIN T, et al. Face detection under particular environment based on skin color model and radial basis function network [C]// Proceedings of 5th International Conference on Big Data and Cloud Computing. Dalian: IEEE, 2015: 256?259.