1 引言
基于双目视觉系统的运动人体检测与识别方法研究在移动机器人定位与导航、人体跟踪等方面具有重要的地位。由于运动人体检测受到移动机器人复杂应用环境的限制,给检测增加了难度[1]。本论文以双目立体视觉系统为背景,针对在双目视觉系统中对运动的人体特征检测检测与识别对立体匹配高准确性和实时性的要求,研究了连续视差图差分算法,实现了利用视差图从背景中分割人体,并通过实验验证了方法的正确性与可行性。
2 全局运动估计
全局运动估计[2]是一种典型的参数估计方法,即利用鲁棒的参数估计方法建立运动参数的模型。本论文利用特征角点的运动矢量来获取全局运动参数,并对视频图像序列进行运动计算补偿。该方法具有运算效率高,抗干扰能力强的优点。
2.1 建立运动参数模型
建立全局运动估计运动参数模型。其中三维运动物体在图像平面上的二维投影如图1所示。
图1 三维运动的二维投影
P1、P2为第k、k-1帧场景图像中物体位置,在图像平面内投影为p1、p2。基于移动机器人进行慢速运动,因此选用仿射运动参数模型表示由移动机器人运动引起的背景运动。
2.2 LMedS估计法
在进行全局运动估算时视频图像序列中人体运动的区域会影响到全局运动估计的结果,故选用具有较强鲁棒性的估计方法—LMedS估计法[3]。LMeds具有最大的崩溃点为50%,因而具有很好的鲁棒性。
2.3 全局运动估计的实现
全局运动补偿是指在估计出全局运动模型参数后,以当前图像帧视差图为基准对参考图像帧视差图做几何校正,并通过双线性差值进行几何校正对得到像素点的灰度值进行校正的处理过程[4]。
3 运动人体特征处理
3.1 差分图像二值化
视差图是以图像对中任一幅图像为基准,其大小为该基准图像的大小,元素值为视差值的图像。对图像帧视差图和校正后的参考图像帧视差图进行差分运算,得到包含运动人体区域的差分图像。采用最大方差阈值法来将图像中运动目标区域从差分图像中分离出来,需要选择有效的图像分割算法对其进行二值化处理。其原理是将图像灰度直方图在某一阈值处分割为两组,并将分成的两组间方差为最大时决定阈值。设图像的灰度值级数为1-m,灰度值为i的像素点个数为ni。
此时得到像素点总数为:
u是图像的灰度平均值,u(T)是阈值为T时的灰度平均值,全部采样的灰度平均值为u=w0u0+w1u1。
从1-m改变T,求max(δ2(T))时的T*值,此时T*便是阈值。δ2(T)为阈值选择函数。无论直方图有无明显的双峰,最大方差阈值法都能得到比较好的结果。
3.2 形态学滤波
通过开闭运算对运动人体特征进行形态学滤波,是运动人体检测重要的环节[5]。
首先对图像进行腐蚀与膨胀处理后对图像进行开闭运算。开运算和闭运算都由腐蚀和膨胀复合而成:开运算是先腐蚀后膨胀,而闭运算是先膨胀后腐蚀[6]。
差分图像进行二值化处理后产生的孤立孔洞、断裂边缘和随机噪声点等可以通过合理的形态学滤波组合解决。但是运算的先后顺序要进行适当的安排。
3.3 连通分量提取
本论文中采用基于形态学膨胀操作的方法提取连通分量,连通性分析的判据为8连通。如图2所示为连通分量提取效果模拟。
图2 连通分量提取效果模拟
A中有多个连通分量,从连通分量A1内部某个点的图像C开始,不断对结构元素B进行膨胀。由于A2与A1间至少有一条1个像素宽的空白缝隙,则每次膨胀都不会产生位于A中其它连通区域之内的点,故只需将每次膨胀后的图像和原始图像A相交,就能把膨胀限制在A1的内部。
完成连通分量提取后由于连通区域的每个像素点都有对应编号,因此可得到每个编号对应的总像素点占图像总像素点的比例。再与预先规定的人体大小阈值相比,小于阈值为误判,并将此连通区域变为背景;其余连通区域为检测到的正确人体区域。
4 实验结果与分析
图3为对运动人体检测图像第17和18帧图像进行立体匹配的结果图。然后在对进行全局运动估计时选取第17帧图像为参考图像帧,第18帧为当前图像帧,完成全局运动模型参数估计后对第17帧图像对的视差图进行全局运动补偿。
LMeds的随机特征点对的次数h=45,取1。如图4所示为补偿后的第17帧图像对视差图。
图3 立体匹配结果
图4 全局运动补偿后的视差图
将第17帧图像对补偿后的视差图与第18帧图像对的视差图进行差分运算,并对得到的差分图像进行二值化处理,得到的二值图像如图5所示。
图5 二值图像
对图中存在大量的孤立的孔洞、断裂的边缘、随机噪声点等进行闭运算、开运算处理。闭运算、开运算的实验结果如图6、7所示:
图6 闭运算后的图像
图7 开运算后的图像
图8 运动人体区域
对形态学滤波后的图像进行连通分量提取,同时去掉总像素点个数小于1000的连通区域,在检测出运动人体区域的同时也能够得到运动人体的数目。最后提取的运动人体区域如图8所示。
5 结束语
本论文在对运动人体检测过程中提取的图象进行图像差分、二值化、形态学滤波、连通分量提取等处理;对相邻两帧视差图进行差分运算,并二值化差分图像;然后采用形态学滤波处理二值图像中的孤立孔洞、随机噪声点以及断裂边缘等;最后进行连通分量提取,并去掉一些较小的连通区域,从而得到准确的运动人体区域,完成运动人体检测,实验验证表明,该方法可以获得准确的运动人体检测结果,并在检测精度和检测速度之间取得了平衡。
参考文献:
[1] D M LI,L SHEN,D G Xie,et al. Camera linear calibration algorithm based on features of calibration plate. Proceedings of the 2012 2nd International Conference on Electric and Electronics[C],Sanya,2012.Berlin,Springer Verlag Press:689-697.
[2] S M SMITH,J M BRADY.SUSAN-a new approach to low level image processing[J].International Journal of Computer Vision,1997,23(1):45-78.
[3] P ROUSSEEUW,B DANIELS,A Leroy.Applying robust regression to insurance[J].Insurance Mathematics & Economics,1984,3(1):67-72.
[4] 颜宇甲.多Agent近化算法在图像分割中的应用研究[M]. 西安: 西安石油大学,2011.
[5] 徐俊成.基于机器视觉的精密注塑零件的识别与检测[M] .北京: 北京化工大学, 2011,16(2):34-39.
[6] 姜宏志, 赵慧洁, 梁宵月等.基于极线校正的快速相位立体匹配[J].光学精密工程,2011,19(10):2520-2525.