背景建模

一张图感兴趣的区域 :前景   不感兴趣的:背景

前提,相机静止镜头不动,背景固定

帧差法: 由于场景中的目标在运动,目标的影响在不同图像帧中的位置不同。该类算法对时间上连续的两帧图像进行差分运算,不同帧对应的像素点相减,判断灰度差的绝对值,当绝对值超过一定阈值时,即可判断为运动目标,从而实现目标的检测功能。

帧差法非常简单,但是会引入噪音和空洞问题

混合高斯模型

在进行前景检测之前,先对背景进行训练,对图像中每个背景采用一个混合高斯模型进行模拟,每个背景的混合高斯个数可以自适应。在测试阶段,对新来的像素进行GMM匹配,如果该像素值能够匹配其中一个高斯,则认为是背景,否则认为是前景。 整个过程中GMM模型在不断学习,所以对动态背景有一定鲁棒性。

背景的实际分布应该是多个高斯分布混合在一起,每个高斯模型也可以带有权重

步骤:1、首先初始化每个高斯模型矩阵参数;        

        2、去视频中T帧数据图像用来训练高斯模型,来了第一个像素之后用他来做第一个高斯分布; 3、当后面来的像素值时,与前面已有的高斯的均值比较,如果该像素点的值与其模型均值差在三倍方差之内则属于该分布,并对进行参数更新;4、如果下一次来的像素不满足当前的高斯分布,则用它来创建一个高斯分布。

光流估计 

光流是空间运动物体在观测成像平面上的像素运动的瞬时速度,根据个像素点的速度矢量特征,可以对图像进行动态分析,例如目标跟踪。

亮度恒定:同一点随着时间的变化,其亮度不会发生改变。

小运动:随着时间的变化不会引起位置的剧烈变化,只有小运动情况下才能用前后帧之间单位位置变化引起的灰度变化去近似灰度对位置的偏导

空间一致:一个场景上近邻的点投影到图像上也是邻近点,且邻近点速度一致,因为光流法基本方程约束只有一个,而要求x,y方向的速度,有两个位置变量,所以需要连立N多个方程求解。

opencv的深度学习模块  cv2.dnn.readNetFromCaffe   readNetFromTensorflow   readNetFromTorch