第2章 移动物体检测原理和关键技术
在进行视频检测时,获取的一帧帧的图像都是由摄像头捕捉到的,从摄像头输入的实际上是模拟信号,为了要进一步分析,必须通过视频采集卡的模数转换芯片,将其变成数字图像。因此在实际操作中,处理对象是从视频采集卡输入的实时图像序列。摄像头需对于背景图进行学习,获取静止的背景图像信息,这样可以更好的检测图像中的移动物体。但是其对于运动物体的检测会受到一定的影响,这是由于硬件的关系,读取到的图像信息会受到光照和昼夜变化的影响。为了减小这个影响,论文将对于采集到的帧图像进行图像处理分析,并且对其进行边缘检测。这样检测以及跟踪目标运动物体会更为准确。
2.1 视频中运动物体的检测原理
检测视频中的运动物体主要有两种措施:宏观和微观检测法[7]。对于获取到的整副图像进行检测的就是宏观检测法,相反的,对图像的ROI(感兴趣区域)进行检测的则是微观检测法,时下被较为广泛应用的是背景差法,帧间差法和综合法[8]。这些检测方法的流程图如图2.1所示:
图 2.1 检测运动物体流程图
Fig. 2.1 Moving object detection flow chart
1)帧间差分法是把实时获取的帧图像,一帧一帧的进行差值比较,从而得到的差值图像。由于目标物体是不停运动的,这样连续的帧差值图像就是目标物体的运动轨迹,然后,利用图像的分割技术,就可以得到移动物体的轮廓了。
2) 背景差分法是将获取到的背景图像和按照一定的算法或者人为的获取的没有目标物体的背景图像,进行相减,然后通过阈值得到二值图像,再根据二值图像分割出图像中的目标物体,从而检测出目标物体的方法。但此种方法必须对所比较的背景图示进行实时的更新,以满足一定的检测准确性,这对计算速度以及计算能力都是一个较大的挑战。
3)综合法就是结合以上两种算法各自的优势和适用范围,将其应用于实际的生产、生活中的方法。
2.2 基于OpenCV、Kinect的运动物体的视频检测
基于OpenCV、Kinect的运动物体的视频检测原理:主要是根据目标物体的某些特征信息,比如颜色、轮廓和形状等,在复杂的背景图中利用这些信息将目标移动物体进行分离出背景图像。
对于从图像中提取目标物体,其实质就是对于某个物体轮廓的检测,接着分割的过程。整个提取过程其实就是将每帧图像的差异所表现出来。
整个过程体系为:捕捉视频流—〉转换视频格式—〉预处理图像—〉提取目标前景物—〉减小环境对于图像处理的误差—〉提取运动物体的特征—〉精确的跟踪运动物体。
由于对运动物体的检测[9]直接影响到了后期对于运动物体跟踪的效果,图像检测处理的步骤可以简化成以下步骤:
(1)捕获视频流:利用现场的摄像头获取到实时的视频码流。
(2)图像预处理技术:为了使检测和跟踪的效果更为出色,对于捕获到的视频流图像,需要进行预处理,滤除图像中的噪点、平滑处理图像,为之后的分析和处理图像作好准备。
(3)初始化以及更新背景图像:由于需要分割前景物体和背景,对图像检测的时候背景都需要先进行初始化,或者实时更新背景图。
(4)从图像中提取目标物体:首先要进行分割采集到的图像,然后分离出前景物体和背景,最后阈值化得到运动物体的二值化图像。 OpenCV移动目标物体的检测跟踪的研究(5):http://www.youerw.com/jisuanji/lunwen_524.html