摄像头移动侦测原理

1、移动侦测技术定

传统的视频监视控制系统只是将各摄像机的信号在主控室的监视器显示出来,监视场景动态情况的判断,需要操作员目视完成。执行这种过程十分耗费时间和精力。因此引入移动侦测非常有必要,通过移动侦测,一旦移动程度超过了检测阈值,通过发出报警或启动存储装置方式来达到,从而及时通知监人员,避免重大损失。
本文主要讲述移动侦测相关知识,包括移动侦测灵敏度算法介绍、视频帧序分析算法设计。

相关图像基础简介
计算机最终显示彩色图像的时候要控制一个像素中Red,Green,Blue的值,来确定这个像素的颜色。计算机中无法模拟连续的存储从最暗到最亮的量值,而只能以数字的方式表示
。于是结合人眼睛的敏感程度,使用3个字节(3*8位)来分别表示一个像素里面的Red,Green和Blue的发光强度数值,这就是常见的RGB格式。但是对于视频捕获和编解码等应用来讲,这样的表示方式数据量太大了,需要想办法在不太影响感觉的情况下,对原始数据的表示方法进行更改,减少数据量。无论中间处理过程怎样,最终都是为了展示给人观看,这样的更改,也是从人眼睛的特性出发,于是我们使用Y,Cb,Cr模型(也叫YUV,亮度、色度、饱和度)来表示颜色。
人类视觉系统(其实就是人的眼睛)对亮度的感觉比对颜色更加敏感。在RGB色彩空间中,三个颜色的重要程度相同,所以需要3个颜色需要按照相同的分辨率进行存储,数据量还是很大的。所以利用人眼睛对亮度比对颜色更加敏感,将图像的亮度信息和颜色信息分离,并使用不同的分辨率进行存储,这样可以在对主观感觉影响很小的前提下,更加有效的存储图像数据。
YCbCr色彩空间和它的变形是最常用的有效的表示彩色图像的方法。Y是图像的亮度(luminance/luma)分量,使用以下公式计算,为R,G,B分量的加权平均值:
Y = kr R + kgG + kbB
在COLOUR SPACES .17 ITU-R recommendation BT.601 中,建议在计算Y时,权重选择为kr=0.299,kg=0.587,kb=0.114。于是常用的转换公式如下:
Y = 0.299R + 0.587G + 0.114B
而图像的亮度Y则是移动侦测算法中视频帧的唯一的对比参数,依靠各像素点的亮度Y变化进行后续移动侦测的判定。

1.3、移动侦测算法原理
1.3.1、帧差法
帧差法是最为常用的运动目标检测和分割方法之一,基本原理就是在图像序列相邻两帧或三帧间采用基于像素的时间差分通过阈值化来提取出图像中的运动区域。首先,将相邻帧图像对应像素值相减得到差分图像,然后对差分图像二值化,如果对应像素值变化小于事先确定的阈值时,可以认为此处为背景像素;如果图像区域的像素值变化很大,超过了设置的阈值,则认为这是由于图像中运动物体引起的,将这些区域标记为前景像素,利用标记的像素区域可以确定运动目标在图像中的位置。
帧差法优点:
由于相邻两帧间的时间间隔非常短,用前一帧图像作为当前帧的背景模型具有较好的实时性和自适应性,其背景不积累,且更新速度快、算法简单、计算量小。
帧差法不足:
算法的不足在于对环境噪声较为敏感,阈值的选择相当关键,选择过低不足以抑制图像中的噪声,过高则忽略了图像中有用的变化。对于比较大的、颜色一致的运动目标,有可能在目标内部产生空洞,无法完整地提取运动目标。

1.3.2、背景差分法

背景差分法是一种有效的运动对象检测算法,基本思想是利用背景的参数模型来近似背景图像的像素值,将当前帧与背景图像进行差分比较实现对运动区域的检测,其中区别较大的像素区域被认为是运动区域,而区别较小的像素区域被认为是背景区域。背景差分法必须要有背景图像,并且背景图像必须是随着光照或外部环境的变化而实时更新的,因此背景差分法的关键是背景建模及其更新。
背景差法的优点:
背景差分法检测运动目标速度快,检测准确,易于实现。
背景差法的不足:
由于现场场景的复杂性、不可预知性、以及各种环境干扰和噪声的存在,如光照的突然变化、实际背景图像中有些物体的波动、摄像机的抖动、运动物体进出场景对原场景的影响等,使得背景的建模和模拟变得比较困难。

背景建模方法:
针对如何建立对于不同场景的动态变化均具有自适应性的背景模型,减少动态场景变化对运动分割的影响,研究人员已提出了许多背景建模算法,但总的来讲可以概括为非回归递推和回归递推两类。非回归背景建模算法是动态的利用从某一时刻开始到当前一段时间内存储的新近观测数据作为样本来进行背景建模。回归算法在背景估计中无需维持保存背景估计帧的缓冲区,它们是通过回归的方式基于输入的每一帧图像来更新某个时刻的背景模型。

2、海思视频侦测分析

视频侦测分析(VDA)通过检测视频的亮度变化,得出视频侦测分析结果。VDA包含运动侦测(MD)和遮挡检测(OD)两种工作模式,视频侦测分析结果也由当前工作模式区分为运动侦测结果和遮挡检测结果。
2.1、VDA接口调用流程
2.2.1、VDA流程顺序
摄像头移动侦测原理_第1张图片

2.2.2、VDA接口调用流程
摄像头移动侦测原理_第2张图片
2.2、运动侦测(MD)
运动侦测(MD)侦测VDA通道接收的视频的运动状态,并输出运动侦测结果。包含每帧图像的宏块SAD值信息、运动区域(OBJ)信息和整帧报警像素个数。

2.2.1、可设置信息
(1)算法选择:帧差法和背景法;
(2)参考帧模式:支持静态参考帧模式和动态参考帧模式;
(3)VDA间隔:调整适合间隔,以在VDA性能范围之内。
(4)宏块大小:目前仅支持88和1616大小(以像素为单位);
(5)SAD输出bit位:支持8bit和16bit,其中8bit输出的值是16bit输出值的高8位;
(6)背景更新权重:仅当VDA算法选择为背景法时,该项有效;但需要配置,以作参数检查;范围:[1, 255];
(7)SAD阈值:4*4像素点的亮度平均值;
(8)运动区域输出最大个数:范围:[1, 128]。

2.2.2、输出信息
(1)宏块SAD值结果:包括宏块SAD值以及内存首地址、宏块数据以字节为单位的内存行宽度、SAD值输出bit位;
(2)运动区域结果:包括运动区域的个数、运动区域信息内存首地址(区域左上角和右下角的XY坐标值)、最大面积区域索引值、最大面积区域的面积和运动区域的总面积;
(3)报警像素总个数。

2.3、海思VDA基础上的智能算法详细设计
我们要在IPC机器内部实现移动侦测、遮挡检测,只能是粗略的确定当前画面上是否有以上几种行为,并不能实现对几种行为的准确定位,跟踪和识别。若要实现准确定位、目标跟踪和目标识别,需要有专门的后端智能视频分析处理机。

2.3.1、算法概要设计
判断策略是:
(1)设定SAD阈值,读取海思输出的MD检测结果,即SAD值,运动区域个数,总报警像素数和每个运动区域的坐标信息;
(2)读取检测到的运动区域个数,若个数不为零则进行下一步(3)的判断,若个数为零则认为当前帧不存在运动物体,等待下一帧判断;
(3)判断运动区域是否在用户划定的检测框内,给出检测框内的运动区域信息,随后其他检测到的运动区域都要做相同判断;
(4)确定用户划定的检测区域内的所有运动区域后,对检测区域内的所有运动区域面积进行求和得到TotalObjArea,然后求出TotalObjArea占此检测区域面积的比值AreaTh,若AreaTh大于等于用户设定的面积占比阈值,则报警;若AreaTh小于用户设定的面积占比阈值,则不进行报警。
摄像头移动侦测原理_第3张图片

你可能感兴趣的:(摄像头移动侦测原理)