刘琪
摘要:在能够自动识别视频中的说话者的系统中,大部分采用的是声音和唇部运动相结合的方法。文中则采用了另一种方法有效地达到了目的,即通过检测人体头部和手部的运动来鉴别说话者。基于演讲者在说话时通常会伴有头部运动或是手部运动,该方法既能实现说话者的检测,又能避免由于观测点过远而导致无法判断人唇部运动的局限性。在系统的实施过程中,运用了多种图像处理方法,并且对三帧差运动法做出了改善,使其能更高效、更准确地检测到头部和手部的运动。经过多个不同的视频测试后,本系统的F1 score 高达91.91%,从而验证了该系统的可行性。
关键词:图像处理; 脸部检测; 手部检测; 运动检测; F1 score
中图分类号:TP391.4 文献标识码:A文章编号:2095-2163(2013)06-0085-03
0引言
近年来,图像处理技术飞速发展并且进入到了日常生活的应用领域中。例如,运用了脸部识别技术的数码相机,可以自动识别人脸的位置。很多和本文研究相关的成果和算法在近年来均得到了广泛的应用并且取得了实质性的成功。本文旨在通过检测人脸或人手的运动来判断被观察者是否在说话,而为了实现这一功能,本文详述了系统在实施时所需要的算法,并对不同情况下的测试结果进行了说明。
1算法
1.1肤色区域检测
分割出图像中的肤色区域,并且在该区域中检测人脸和手部能够提高算法的效率和准确率。利用公式(1),可以将RGB色彩空间转换为更易于分割肤色的YCbCr色彩空间。
在YCbCr色彩空间中,肤色像素聚集在一个类似高斯模型的小区域中[1]。利用该特性,每个像素点属于肤色的概率都可以通过高斯模型计算而得到,见公式(2)[2]。在公式(2)中,m代表均值,C代表了协方差矩阵,x=(Cb,Cr)T。
P(Cb,Cr)=-exp[-0.5(x-m)TC-1(x-m)](2)
通过公式(2)的计算,一个数字图像可以转变成肤色似然图像。在肤色似然图像中,肤色的区域将会比非肤色区域更加明亮。这样,完成了肤色的初步分割。接下来,通过调用自适应阈值,肤色似然图像将转换成二值图像。在二值图像中,每个代表肤色的像素,都会转变成值为1的白色像素点。同时,非肤色区域的像素点会转化成值为0的黑色像素点。此时,实现了肤色的分割。
另外,为了去除二值图像中的噪声,引用了形态学处理方法。其中包括腐蚀、膨胀、开运算和闭运算。开运算可以将小的噪声去除并且减弱单独物体之间的连接。闭运算则可以消除小的黑洞,同时将连接的物体连接得更为紧密。
1.2人脸检测
人脸检测部分应用了两个算法,第一个是应用广泛的Viola-Jones算法,第二个则是通过判断脸部的整体特征来识别人脸。Viola-Jones 算法基于外观特征且融合了简单的图像特征集和多种方法来进行人脸检测。在MATLAB R2012a版本中,Viola-Jones 算法集合于Computer Vision System Toolbox中,可以直接调用。但是在检测到的结果中,可能包含非人脸区域。因此,在第二种算法中,采用了Compactness、 Solidity和Orientation 三个连通算子来验证检测到的结果并且去除非人脸区域。其中的判断标准依据连通区域的面积、周长、最小包围盒的Dx与Dy[3]。
人脸和椭圆形相类似。公式(3)给出了Compactness算子的定义。 圆形物体可以依据该公式确定得到。对于该算子,大于其阈值的区域,可以认为是人脸区域。小于其阈值的,将会从人脸检测结果中移除。
Compactness=Ap2(3)
公式(4)中定义的Solidity,可以用来衡量一个连通区域在其最小包围盒中的面积占用率。该算子可以用于进一步的人脸检测验证。小于该阈值的区域将会从人脸检测结果中移除。
Solidity=ADxDy(4)
人脸的验证则是依据人脸的方向值总是波动在一个固定的取值区间。很多的区域将会因为越过了取值区间而被移除。算子Orientation的定义在公式(5)中给出。
Orientation=DyDx(5)
在经过一个包含了10 000个肤色像素点和10 000个非肤色像素点的训练集合的测试后,三个算子的阈值为:Compactness = 0.025; Solidity = 0.521 8; Orientation range=090 to 2.10[3]。
1.3手部检测
在这一阶段,手部的检测基于手的大小和位置。例如,通常,总会认为人手比脸的面积要小。而且,在检测的过程中,通过比较相邻的帧,可以实现进一步的验证。由于人手的特征变化各异,本文中采用的假设方法将大大简化程序的复杂度,并降低计算的消耗。
为了在肤色范围内找到手的区域,小于检测到的脸部面积的元素将会以递增的方式排列在列表中。
(1)区域中最靠近左边的元素的列表(记为L1):有助于找到左手;
(2)区域中最靠近右边的元素的列表(记为L2):有助于找到右手。
相邻帧之间的检测:
(1)与前一帧中左手的位置最近的元素的列表(记为Lcl);
(2)与前一帧中右手的位置最近的元素的列表(记为Lcr)。
判断左手的列表集合为(L1,Lcl)。判断右手的列表集合为(Lr,Lcr)[4]。在每一个列表中,第一个元素可认为是最有可能的候选。列表中的第二个元素只有在所有列表中的第一个元素不相同时,才会被认为是候选。
1.4检测到的物体的位置
通过以上两个步骤,输入图像中的所有不相关区域已经被移除,保留下来的就是检测到的头部和手部。每一个保留下来的区域都可看作是正方形。在公式(6)中,区域的质心则可认作正方形的中心计算得到[2]。由此,人脸和手的位置即可随之获得。其中,
1.5运动检测
在检测运动物体时,广泛应用的三帧差算法通过计算每相邻的三帧之间像素的不同来找到运动的物体。本文的运动物体检测将基于三帧差算法,通过对比检测到的人脸或手部区域来判断运动是否发生。通过检测特定区域中像素点的变化而不是检测整幅帧中变化的像素点,可以提高人脸和手部运动检测的准确度和效率。假设g1(x,y)代表了第k-1帧和第k帧在特定区域中的运动变化图像,g2(x,y)代表了第k帧和第k+1帧在特定区域中的运动变化图像。这两个图像可以通过计算公式(7)获得:
为了将运动变化图像转换为二值图像,应当选取一个基于灰度特征的恰当的阈值T[5]。其后,运动变化图像之间将会采用AND运算,见公式(8)。
通过对象聚类方法,可以获得AND运算后的图像中的运动物体的坐标[5]。
2结果和讨论
调用了Computer Vision System Toolbox后,图2展示了基于肤色分割后的人脸检测的结果。其中,在第一幅图中,准确并且成功地检测到了人脸。然而第二幅图中,交叉的双手则误认为是人脸区域,而与真正的人脸同时标记了出来。此时,需要利用三个连通算子来进一步排除检测结果中非人脸区域。最终结果将在图3中给出。下一步骤是检测手部,图4 展示了当图1(b)作为输入图像时的手部检测结果。
检测得到头和手之后,图5给出了系统自动检测运动的人脸和手部的结果。其中,当人脸和手部没有运动时,系统并未将其标出。
经过1 379帧包含不同背景、不同人物、不同衣服以及不同的头部和手部运动的图像的测试后,系统的F1 score值达到了91.91%。其中也有包含两个人的场景。此外,还可以得到不同的背景和不同的光照条件不会影响检测结果的结论。这就表明了以肤色分割作为人脸和手部检测的基础是可靠的。但是,关于人手检测的部分,在本系统中运用到了假设的方法,局限了能够检测的范围与准确度。比如,视频中说话者露出的部分上肢会有可能被检测为人手的部分。因为,关于人手的检测应当在其后的研究中得到进一步加强。
3结束语
本文提出了一种通过检测宏观运动(头部运动和手部运动)来判断说话者的方法。首先,将头部和手部在肤色区域内检测出。Viola-Jones算法和三个连通算子相结合以得到更为准确的人脸检测结果。检测手部时,运用了三种假设:手部的面积应当比检测到的人脸小;肤色区域中,最左边的元素和最右边的元素都被判定为是手;相邻帧中,和上一帧中手的位置最接近的区域被认定为手。由此,即检测出了手的位置。最后一步是运动的检测。在本文中,运动的检测算法基于三帧间差并做了调整。在相邻的三帧之间,只比较检测得到的人脸和手的区域。通过对比像素点的不同,来判断运动是否发生。由此,视频中其他运动的物体将不会被检测到。
参考文献:
[1]AHONEN T, HADID A, PIETIKAINEN M. Face description with local binary patterns: application to face recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2006, 12(28): 2037-2041.
[2]CHEN Z X, LIU C Y, CHANG F L, et al. Fast face detection algorithm based on improved skin-color model[J]. Arabian Journal for Science and Engineering, 2013, 3(38): 629-635.
[3]KUCHI P, GABBUR P, SUBBANNA B P, et al. Human face detection and tracking using skin color modeling and connected component operators[J]. Institution of Electronics and Telecommunication Engineers, 2002, 3-4(48): 289-293.
[4]GIRONDEL V, BONNAUD L, CAPLIER A. Hands detection and tracking for interactive multimedia applications[G]. International Conference on Computer Visio and Graphics, 2002: 25-29.
[5]SHARKhark L K, YU C. Denoising by optimal fuzzy thresholding in wavelet domain[J]. Electronics Letters, 2000, 6(36):581-582.