(5)调试并且优化程序:对于建立好的项目进行测试,根据所得出的效果,改变阈值,加入更多的算法提高检测目标物体的精准性,最后,根据环境的不同和光照的变化,对不同的场景,进行调试阈值等,使检测和跟踪的性能效果更好。
整个过程的流程图,如图2.2所示:
图 2.2 检测运动目标物体的整体流程图
Fig. 2.2 The whole flow chart of Moving target detection object
2.2.1 目标运动物体的检测方法
检测运动目标物体的过程在流程图中简单的进行了描述。检测运动的目标物体的原理就是:实时不间断的利用算法检测场景环境中的运动目标物体,然后提取出前景物体。常用的方法有三种:
(1)连续帧间差分法[10]
连续帧间的差分法的原理是基于每个像素的运动检测方法。其借由对视频中的图像序列中相邻的每帧的图像进行差分运算,这样就可以捕获到运动物体的轮廓。因为帧间的差分方法是利用实时的每帧的图像进行比较从而得到运动物体的轮廓,所以此方法对于环境中的动态物体具有较好的自适应的能力,但是对于运动的物体的象素点的特征却很难完整的捕获,造成了运动物体的内部存在空洞,分离前景物和背景就会造成一定量的误差。
(2)光流法
光流就是:图像中模型运动的速度,拟定其一种2D的瞬时速度场。其实2D速度矢量就是可见的3D速度矢量在平面上的一个投影,给图像中的每个像素一个速度的矢量,从而形成一个图像的运动场,每时每刻图像上的点都与3D立体物体上的点一一对应,即,投影关系就是2D转换到3D的两者间的关系,根据速度矢量的特征,从而分析动态情况[11]。
在整个图像中,光流矢量其实是连续变化的,一点发现速度矢量出现了不连续,有断裂的情况,那么就可以得出运动物体的位置。
(3)背景差分法
背景差分法就是是:实时输入的图像和背景进行比较,才能从复杂背景中分离运动物体。首先,确定一张背景图像,然后对采集到的图像与之进行差分的计算,开辟一个新的存储空间存放差分的结果图。差分图像中,某点的像素值小于等于设定的阈值,认为视频中的图像的这个像素点归为背景区域;相对的,大于此阈值,就此像素点归为运动的目标区域。根据这个原理可以看出:运动物体的像素必须和背景像素的灰度值有一定的差别。其优势是:理论简单明了,实现较为简单,算法的速度快,检测结果相比较于其他的算法是较为完整的。
2.2.2 背景差分法
首先由公式3.1得到背景图像与当前捕获到的帧图像之间的差,然后根据公式对所得到的差分图像进行阈值二值化以及形态学的滤波处理,认定其是否为监测的目标是基于区域的连通性的分析处理方法,取决于连通区域是否大于设定的阈值[12],这样就可以确定目标的轮廓范围,其差分算法的流程图如图2.3所示。
图 2.3 背景差分法示意流程图
Fig. 2.3 Background difference method flow chart
由流程图可得,其差分公式为:
(2-1)
式中,F(x,y)是连续帧图像,Fb是背景的连续帧图像,D(x,y)是两帧图像的帧差图像。 OpenCV移动目标物体的检测跟踪的研究(6):http://www.youerw.com/jisuanji/lunwen_524.html