张大禹 黄灿
(中国人民解放军92124部队,辽宁大连 116023)
基于双目视觉的人体检测是根据不同视点捕获的两幅图像对其进行推导得到三维信息的图像处理过程,其中需要解决检测图像立体匹配问题与人体检测信息的三维重建问题。其中三维重建的先决条件是建立两幅人体检测图像中的即立体匹配关系。人体检测的立体匹配算法主要是通过建立一个能量代价函数,通过此能量代价函数最小化来估计像素点视差值的最优化求解问题。通过建立合理的能量函数,增加一些约束,采用最优化理论的方法进行方程求解。在双目视觉系统的人体检测过程中由于拍摄角度、光线等环境变化,使图像存在着严重的灰度失真和几何畸变影响,故所采用的立体匹配算法在复杂度、处理速度等方面要求较高,因此如何准确、快速的实现对人体图像进行检测在模式识别研究方面具有重要意义。
本论文主要介绍了一种改进了的WTA立体匹配算法,并对其在满足运动人体检测与识别对立体匹配准确性和实时性的要求上进行了实验验证。
WTA立体匹配算法是一种利用两幅视图的差异将视图分为特征点和非特征点后对特征点采用WTA匹配处理。这种算法利用视差的分段连续性,对非特征点只进行简单的验证, 得出致密的视差图,大大减少了运算量。
在基准图像中以当前像素点为中心取一个n×n匹配模板窗口,然后在匹配图像中计算视差搜索范围0-dmax内的所有像素点的匹配代价,选取匹配代价符合条件的最优像素点作为匹配点,当前点与匹配点的列坐标差值即为视差。
对如图1所示Tsukuba图像对用WTA立体匹配算法匹配。假定立体匹配方向自左向右,以左图像L为基准图像。视差搜索范围为0-15,匹配模板窗口大小分别为3×3、5×5、7×7。进行立体匹配后的结果如图2所示。
可见窗口大小对匹配质量的影响较大:窗口太小则会由于没有包含足够多的亮度信息和噪声影响导致错误匹配数量的上升;窗口太大造成视差值过于平滑,计算量也会增加。并在所有匹配模板窗口大小下视差边缘误匹配都较严重。
图1 Tsukuba图像对
图2 Tsukuba图像对用WTA立体匹配算法匹配后的结果
WTA立体匹配算法在变化平缓且细节丰富的地方可以达到较高的精度,但是匹配窗口大小难以选择、计算量大、视差边缘效果不好。于是提出了一种改进的WTA立体匹配算法。
由于视差的分段连续性,对人体检测场景中大部分区域的视差差别不大,只有在部分像素点处存在视差跳变,改进算法提取这些像素点为特征点。对人体特征点用WTA立体匹配算法进行匹配;对非特征点进行简单的验证,用邻近的视差带入。该改进算法不但简化了运算,而且很大程度上减少了视差边缘匹配误差。
在人体检测过程中,由于边缘点处视差可能存在跳变,因此提取边缘点作为特征点。边缘点的提取通过边缘检测实现,在图像边缘检测中,抑制噪声和边缘精确定位是无法同时满足的。一些算法在进行去噪处理的同时增加了边缘定位的不确定性;而提高边缘检测算子对边缘敏感性的同时,也提高了对噪声的敏感性。
如图3所示为提取的Tsukuba图像对的差异点,这些点相对集中于部分边缘附近。差异点一是可以消除部分边缘检测定位不准确产生的虚假边缘带来的影响;二是通过对可能存在视差跳变的差异点进行密集的匹配运算可以更加精确的定位视差跳变边缘。
图3 Tsukuba图像对的差异点
若特征点是差异点,以该点为中心取一个n×n的窗口,分别计算差异点与另一幅图像中视差范围0-dmax内点的匹配代价C(x,y,d);若是边缘点,只需分别计算其与另一幅图像中视差范围0-dmax内边缘点的匹配代价。匹配代价最接近1的点即为特征点的最佳匹配点,对应的视差值即为特征点的视差结果df,当前视差dpre=df。
对于左图像中非特征点(x0,y0)只需验证其与右图像中像素点(x0,y0-dpre)的匹配代价C(x0,y0,dpre),若C(x0,y0,dpre)≥Tnf,当前视差为dpre即为非特征点的视差结果df;若C(x0,y0,dpre) 本论文在Microsoft Visual Studio 2008下调用opencv库编程实现以上算法并进行了实验,计算机配置为Turion RM72,,2.1GHz,4G内存。实验对象采用Middlebury立体图像库中的Tsukuba, venus, Sawtooth图像对,阈值Tth=2,Tnf=0.6,匹配模板窗口选为5×5,匹配搜索范围分别为0-15,0-19,0-15。可以看出改进算法得到的视差边缘特性相对较好,这是因为提取的特征点为可能的视差跳变点。评价立体匹配效果的常用指标为PBM,可通过式(1)计算。 其中dc(x,y)是进行立体匹配后得到的视差图中像素点(x,y)的视差值,dt(x,y)是真实视差图中像素点(x,y)的视差值。Δd是可接受错误阈值,一般取为1。 如表1所示为几种立体匹配算法PBM值比较,可见改进算法的匹配精度与常用算法相当。而且视差边缘处误匹配率较低,实现了算法改进的一个目标。 表1 几种立体匹配算法PBM值比较 由2所示看出,由于改进算法立体匹配主要集中于特征点处,而非特征点处只进行简单的验证,极大地减少了运算量,匹配速度明显增快,进行算法改进以降低匹配耗时的目标也充分实现。 表2 几种立体匹配算法运算时间比较 用改进的WTA立体匹配算法对校正后的第12帧、13帧图像对进行立体匹配,阈值Tth=2,Tnf=0.6,匹配模板窗口选为11×11,匹配搜索范围分别为0-35。立体匹配结果如图4所示,在缺乏纹理细节的地方误匹配较多,在变化平缓且细节纹理丰富的地方匹配效果较好。虽然整体和视差边缘的误匹配尚存在,但是从人体检测与识别需求的角度来看,已经可以用于后续的人体检测研究。 图4 立体匹配结果 本论文首先论述了人体检测立体匹配方法的主要过程,包括确定匹配基元、选择匹配准则、选取相似性测度、选定匹配搜索策略四个步骤。详细介绍了WTA立体匹配算法,并对其在不同匹配模板窗口下的匹配结果和运算时间进行了比较,发现结果受匹配模板窗口大小影响较大且计算速度较慢。改进了WTA立体匹配算法,在提取图像特征点方面采用了WTA算法进行人体图像的立体匹配,并对其进行了基于WTA匹配方法的人体检测实验。实验结果证明提出的改进WTA立体匹配算法是可行的,可以满足人体检测与识别对准确性和实时性的要求。 [1] 刘继艳.基于双目视觉运动背景下的目标检测[D].西安:西北大学, 2009: 1, 57, 44, 31-33, 37-38. [2] 王昕, 马岩, 杨剑, 等.区域立体匹配算法的实现与改进。光学精密工程, 2008, 16(10), 2002-2008. [3] 姜宏志, 赵慧洁, 梁宵月, 等.基于极线校正的快速相位立体匹配[J].光学精密工程, 2011, 19(10): 2520-2525. [4] 张铮, 王艳平, 薛桂香.数字图像处理与机器视觉-Visual C++与Matlab实现[M].北京:人民邮电出版社, 2010: 511-512. [5] 王红梅.基于视频的人体检测与计数技术研究[D].成都:四川师范大学, 2011. [6] 何淑贤.运动人体检测与跟踪方法研究[D].广州:广东工业大学, 2011.2.3 实验结果与分析
3 结论