zoukankan      html  css  js  c++  java
  • 运动目标检测跟踪各过程算法综述

    运动目标检测跟踪各过程算法综述

    图像预处理
    数字图像中的几种典型噪声有:高斯噪声来源于电子电路噪声和低照明度或高温带来的传感器噪声;椒盐噪声类似于随机分布在图像上的胡椒和盐粉微粒,主要由图像切割引起或变换域引起的误差;加性噪声是图像在传输中引进的信道噪声。
    一般来说,引入的都是加性随机噪声,可以采用均值滤波、中值滤波、高斯滤波等方法去除噪声,提高信噪比。均值滤波在噪声分布较平均,且峰值不是很高的情况下能够得到较好的应用;中值滤波对尖脉冲噪声的滤除有较好的效果,并且能突出图像的边缘和细节;高斯滤波对滤除高斯白噪声有较好的效果。

    运动目标检测

    背景差分法:能完整、快速地分割出运动对象。不足之处易受光线变化的影响,背景的更新是关键。不适用摄像头运动的情况。
    光流法:能检测独立运动的对象,可用于摄像头运动的情况,但计算复杂耗时,很难实时检测。
    帧差法:受光线变化影响较小,简单快速,但不能分割出完整的运动对象,需进一步运用目标分割算法。还有一些改进的算法,主要致力于减少光照影响和检测慢速物体变化。

    图像标识
    图像标识的作用是确定物体是否独立,图像中有几个运动目标。
    1)领域:常取周围的4或8个像素作为领域。
    2)连通域:二值图像中互相连通的0像素集或1像素集称之为连通域。被1像素包围的0像素叫做孔。1像素连通域不含孔时,叫做单连通成分,含有一个或多个孔的连通成为叫做多重连通成分。
    3)标记:差值后的一帧图像可能存在多个连通域,每个非连通域对应一个目标图像区,给各目标区分配相应标号的工作成为标记。
    标识过程大致为:按一定顺序逐个扫描像素,扫描到1的像素,检测其领域的像素值,若一样则为连通域,并标记为第一个目标,然后依次寻找下一个目标。
    在所有可能的目标都找到了之后,可以为每个目标划出一个波门,将目标框起来。并建立一个多目标位置链表,找到的每一个目标区域的中心位置都作为一个结点加入该链表储存起来。波门的划分有可能将同一个目标分为两个部分,或者一个波门里包括了两个目标,使得目标数据错误增加或减少,所以还要判断当前的目标是属于同一个目标还是不同的目标,这将在后面的图像分割中完成。

    图像分割

    图像分割用于分离目标和背景的组合或者分离不同目标的组合。图像分割不仅可以大量压缩数据,减少储存容量,而且能大大简化其后的分析和处理步骤。
    1)直方图阈值分割法
    灰度直方图即为灰度级的像素数与灰度的二维关系,反映了一副图像灰度分布的统计特性。如果前景物体内部灰度值分布比较均匀,背景灰度值的分布也比较均匀,这个图像的直方图将有明显的双峰,这时可以选择两峰之间的谷底作为阈值。由于直方图不含目标的位置信息,还要结合图像的内容来确定。
    2)最大类间方差阈值分割法
    利用图像目标与背景这两类的总体灰度之间存在的差距确定阈值从而进行分割。
    3)区域生长法
    指将周围特性相似的像素再次合并到目标区域中。
    4)边缘检测和轮廓提取分割法
    5)形态学分割法
    主要作用是使运动目标的区域更加完整。
    腐蚀的作用是消除物体边界点,把小于结构元素的物体去除。如果两物体之间有细小的连通,那么当结构元素足够大时,通过腐蚀运算可以将两个物体分开。
    膨胀运算的作用是把图像周围的背景点合并到物体中。如果两个物体比较接近,那么膨胀运算可能会使这两个物体连通在一起。膨胀对填补图像的空洞很有用,膨胀最简单的应用之一就是将裂缝接起来。
    形态学也可用于图像滤波、增强等方面。

    运动轨迹预测
    在分割出运动目标后,应提取出目标的特征,然后在下一帧图像中匹配特征从而跟踪目标。但为了减少搜索特征匹配的区域,提高实时性,在此加入对目标运动轨迹预测这一步骤。运动轨迹预测也有利于增强遮挡情况下跟踪的鲁棒性。
    1)线性预测算法
    2)Kalman滤波算法及其扩展算法
    3)粒子滤波算法

    目标跟踪
    1)特征选取
    灰度特征,对于灰度图像,像素灰度值是最基本的目标图像特征;
    几何特征,它反映的是目标的几何性质,它仅与目标像素点的位置有关,而与其灰度无关。常用的几何特征有目标周长、面积、扁率和高度等;
    统计特征,如目标灰度均值与方差、直方图、熵、矩以及目标相对于背景的对比度等;
    变换域特征,包括Forier、Gabor、Wavelet等变换域特征;
    颜色特征。
    2)跟踪算法
    a.模板匹配跟踪
    模板在图像上滑动,对应于图像的各个位置的灰度值,与模板上像素的灰度值比较,每个位置计算出一个累积误差,挑选出最合适的位置,完成匹配。
    b.camshift跟踪
    颜色直方图匹配。
    c.主动轮廓线跟踪
    又称snake算法,最小化图像的能量函数。
    d.多模跟踪
    使用多个跟踪算法(模型)同时跟踪。

    运动目标检测跟踪的复杂性表现在
    1、光线变化。由于时间变化,一天的早晚,上午和下午,日光的照射强度和角度变化会引起光线变化;再由于天气原因,同样会导致照射光线的变化。由于光线的变化,要使一种检测算法适应各种光照情况是比较困难的。
    2、场景中运动目标的干扰。比如,大面积区域中各种目标的运动,车辆的的突然停止与突然启动;场景中某些目标的频繁变动,比如,摇摆的树枝和树叶,水面的波动等。
    3、初始化问题。在一些监视场景中,要得到无噪声干扰的纯背景图像(不含检测目标和运动背景目标的图像)是很困难的。比如,人车繁忙的交通场景。
    4、遮挡与孔洞问题。要检测的运动目标,被背景中的目标所遮挡情况下,怎样判断遮挡。
    5、阴影问题。在目标检测当中,如何将被检测目标与其产生的阴影区分开来,从而仅检测目标部分。
    6、目标的失踪。运动目标长期停留在场景中,有可能变成背景目标。
    由于目标检测的复杂性,想要建立一个通用的,适合所有情况的目标检测算法是不现实,也是不可能的。因此,根据具体情况,建立符合实际条件的目标检测算法是目标检测方法的研究方向。
    http://hi.baidu.com/gilbertjuly/blog/item/be956217178f8712962b43ce.html
  • 相关阅读:
    spring boot banner设置关闭以及关闭特定的自动配置
    spring boot 初始及快速搭建
    spring scheduling 计划任务
    idea database 导入实体带注解
    idea mapper下的方法找不到 Invalid bound statement (not found)
    spring jwt token 认证
    spring event 事件
    FrontEnd-Basis-6th
    FrontEnd-Basis-5th
    FrontEnd-Basis-4th
  • 原文地址:https://www.cnblogs.com/ct1104/p/4042535.html
Copyright © 2011-2022 走看看