运动车体目标追踪及区域检测

目标追踪是对摄像头视频中的移动目标进行定位的过程。为了跟踪视频中的所有目标,首先要完成的任务是识别视频帧中的那些可能包含移动目标的区域。

基本的检测方法是对帧做差,或考虑“背景”帧与其他帧之间的差异。但这种方法需要通过提前设置“默认”帧作为背景。在一些情况下(例如室外),由于光照变化频繁,这种处理方法就显得相当不灵活,所以考虑在追踪系统中采用intelligent方法。

计算机视觉库OpenCV提供了一个称为BackgroundSubtractor的类。包含三种背景分割器:K-Nearest(KNN),Mixture of Gaussians(MOG2),Geometric Multigid(GMG)。BackgroundSubtractor类可以计算阴影,这对于精确读取视频帧绝对是至关重要的;通过检测阴影,可排除检测图像的阴影区域(设阈值),从而能关注实际特征。这就很少出现合并不需要对象的情况。

笔者尝试用KNN的背景分割器,写了一个用于停车位区域监控摄像头的API程序,实现对视野内车辆的追踪,直到车辆正确停到指定车位上,测试场景为楼下小区的露天停车位(抽取了物业的一段监控),程序在Ubuntu 16.04系统上测试通过。

运动车体目标追踪及区域检测_第1张图片

图一:正确停车检测

运动车体目标追踪及区域检测_第2张图片

图二:运动车体追踪

运动车体目标追踪及区域检测_第3张图片

图三:停到车位区域,检测完成

你可能感兴趣的:(项目实战)