zoukankan      html  css  js  c++  java
  • 【转】 目标跟踪小结

    一、引言:在需要监控的环境里,如何能够判断出进入特定区域的目标,并且能够跟踪目标的轨迹。分为两种情况:一是静态背景下的目标跟踪;二是动态背景下的目标跟踪。

    二、静态背景下的目标跟踪方法

       1、单目标:目标跟踪还可以分为单目标的跟踪和多目标的跟踪。单目标的静态背景下的目标跟踪指的是摄像头是固定在某一方位,其所观察的视野也是静止的。通常采用背景差分法,即先对背景进行建模,然后从视频流中读取图像(我们称之为前景图像),将前景图像与背景图像做差,就可以得到进入视野的目标物体。对于目标的描述,通常用目标连通区域的像素数目的多少来表达目标的大小,或者用目标区域的高宽比等。目标的位置信息可采用投影的方式来定位。

    2、多目标:静态环境下的多目标跟踪,需要确定每个目标的特征,位置,运动方向,速度等信息。

    3、预处理:由于获得的图像总会有着噪声,需要对图像做一些预处理,如高斯平滑,均值滤波,或者进行一些灰度拉伸等图像增强的操作。

    三、动态背景下的目标跟踪

    摄像头在云台控制下的旋转,会使得他所采集的图像时可在变化,所以,对于整个目标跟踪过程来说,背景是变化,目标也是在整个过程中运动的,所以跟踪起来较有难度。

    目前课题组提出的方案是:跟踪过程:在摄像头不同偏角情况下取得若干背景图片,建立背景图片库――>摄像头保持固定时,取得当前帧图片,与图片库中的背景图像匹配,背景差分(灰度差分?),获得目标――>目标特征提取――>实时获得当前帧图片,采用跟踪算法动态跟踪目标。

    提取特征是一个难点,课题组提出多颜色空间分析的方法。根据彩色图像在不同的颜色空间里表征同一物体呈现出的同态性,可以把目标物体在不同的颜色空间里进行分解,并将这些关键特征信息进行融合,从而找出判别目标的本质特征。

    跟踪过程中采用的各种方法说明:

    1)在0-360度不同偏角时,获得背景图片,可进行混合高斯背景建模,建立图片库,以俯仰角和偏转角不同标志每张背景图片,以备匹配使用;

    2)背景差分获得目标后,对差分图像需要进行平滑、去噪等处理,去除干扰因素;

    3)对目标采用多颜色空间(HSV、YUV)特征提取,对不同颜色空间的特征相与(AND),得到目标特征,以更好的在当前帧图片中找到目标;

    4)实时得到的当前帧图片,进行混合高斯建模,排除树叶摇动等引起的背景变化;

    5)跟踪算法可采用多子块匹配方法、camshift方法等。

    四、相关理论介绍

    近几年来,一种名为CamShift的跟踪算法凭借其在实时性和鲁棒性方面良好的表现,正受到越来越多的关注。现阶段CamShift算法已经广泛应用到感知用户界面中的人脸跟踪中,以及一些半自动的运动目标跟踪。一方面,CamShift算法应该属于基于区域的方法,它利用区域内的颜色信息对目标进行跟踪;另一方面,CamShift算法却是一种非参数技巧,它是通过聚类的方式搜寻运动目标的。

    简单的说,CamShift算法利用目标的颜色特征在视频图像中找到运动目标所在的位置和大小,在下一帧视频图像中,用运动目标当前的位置和大小初始化搜索窗口,重复这个过程就可以实现对目标的连续跟踪。在每次搜寻前将搜索窗口的初始值设置为运动目标当前的位置和大小,由于搜索窗口就在运动目标可能出现的区域附近进行搜寻,这样就可以节省大量的搜寻时间,使CamShift算法具有了良好的实时性。同时,CamShift算法是通过颜色匹配找到运动目标,在目标运动的过程中,颜色信息变化不大,所以CamShift算法具有良好的鲁棒性。由于RGB颜色空间对光照亮度变化比较敏感,为了减少光照亮度变化对跟踪效果的影响,CamShift 算法将图像由RGB 颜色空间转化到HSV 颜色空间进行后续处理。

    CamShift 的算法流程如图3.4 所示。首先选择初始搜索窗口,使窗口恰好包含整个跟踪目标,然后对窗口中每个像素的H上的值采样,从而得到目标的色彩直方图,将该直方图保存下来作为目标的色彩直方图模型。在跟踪过程中,对视频图像处理区域中的每一个像素,通过查询目标的色彩直方图模型,可以得到该像素为目标像素的概率,图像处理区域之外的其他区域作为概率为0的区域。经上述处理,视频图像转换为目标色彩概率分布图,也称为目标颜色投影图。为便于显示,将投影图转化为8位的灰度投影图,概率为1 的像素值设为255,概率为0的像素值为0,其他像素也转换为相应的灰度值。所以,灰度投影图中越亮的像素表明该像素为目标像素的可能性越大。

    图中虚线标示的部分是CamShift算法的核心部分,主要目标是在视频图像中找到运动目标所在的位置,这一部分被称为Mean Shift算法。由于Mean Shift是CamShift的核心,所以正确理解MeanShift就成了理解CamShift算法的关键,下面就重点讨论Mean Shift算法。

    2、混合高斯模型

    背景中当树叶在摇动时,它会反复地覆盖某像素点然后又离开,此像素点的值会发生剧烈变化,为有效地提取感兴趣的运动目标,应该把摇动的树叶也看作背景。这时任何一个单峰分布都无法描述该像素点的背景,因为使用单峰分布就表示己经假定像素点的背景在除了少量噪声以外是静止的,单模态模型无法描述复杂的背景。在现有效果较好的背景模型中有些为像素点建立了多峰分布模型(如混合高斯模型),有些对期望的背景图像进行预测,这些算法的成功之处在于定义了合适的像素级稳态(Stationarity )准则,满足此准则的像素值就认为是背景,在运动目标检测时予以忽略。对于特定的应用场景,要想对特定算法的弱点与优势进行评价,必须明确这种像素级稳态准则。

    对于混 乱的复杂背景,不能使用单高斯模型估计背景,考虑到背景像素值的分布是多峰的,可以根据单模态的思想方法,用多个单模态的集合来描述复杂场景中像素点值的变化,混合高斯模型正是用多个单高斯函数来描述多模态的场景背景。

    混合高斯模型的基本思想是:对每一个像素点,定义K个状态来表示其所

    呈现的颜色,K值一般取3-5之间(取决于计算机内存及对算法的速度要求),

    K值越大,处理波动能力越强,相应所需的处理时间也就越长。K个状态中每

    个状态用一个高斯函数表示,这些状态一部分表示背景的像素值其余部分则

    表示运动前景的像素值。

    转:http://blog.csdn.net/tumblerman/article/details/4025627

  • 相关阅读:
    nginx能访问html静态文件但无法访问php文件
    LeetCode "498. Diagonal Traverse"
    LeetCode "Teemo Attacking"
    LeetCode "501. Find Mode in Binary Search Tree"
    LeetCode "483. Smallest Good Base" !!
    LeetCode "467. Unique Substrings in Wraparound String" !!
    LeetCode "437. Path Sum III"
    LeetCode "454. 4Sum II"
    LeetCode "445. Add Two Numbers II"
    LeetCode "486. Predict the Winner" !!
  • 原文地址:https://www.cnblogs.com/eleclsc/p/5819058.html
Copyright © 2011-2022 走看看