精华内容
下载资源
问答
  • (1)多目标跟踪硬件系统 多目标跟踪硬件系统由以下几部分组成: 前视声呐传感器、PC104计算机、电源模块、隔离器、硫化电缆线、网线等。 其中,前视声呐传感器釆用Tritech公司的型号为...

    (1)多目标跟踪硬件系统
           多目标跟踪硬件系统由以下几部分组成:
    前视声呐传感器、PC104计算机、电源模块、隔离器、硫化电缆线、网线等。
           其中,前视声呐传感器釆用Tritech公司的型号为SeaKingDST的前视声呐,前视声呐安置在机器人头部,如图5.2所示。
    前视声呐通过水密加长的硫化电缆耐压舱中的PC104计算机相连。前视声呐采集到的数据由水密电缆传送给PC104。传感器的开关也由耐压舱内的继电器来控制,电源模块用来给传感器供电,隔离器用来保证信号稳定。
           PC104计算机选用盛博公司的CPU模块板,如图5.2所示。此CPU板上集成有一个网卡模块,通过网线与网络交换机相连。采用TCP/IP协议,用来实现多目标跟踪系统与其它系统,以及与水面声呐监控间的数据交换。另外集成有一个串口模块,采用RS232协议进行串口通信,用于接收通过水密电缆传输来的前视声呐数据。为了提高数据的存储能力,本系统另外装备有一个大容童的移动硬盘。

    多目标跟踪硬件系统结构图
    
      

    (2)多目标跟踪软件系统
            多目标跟踪软件系统是基于嵌入式操作系统VxWorks设计的。VxWorks操作系统是一个实时操作系统,可以对外界命令实现实时响应,并且可以进行多任务设计。实际设计过程中,VxWorks采用基于优先级的可抢占式调度,通过设定任务的优先级控制各任务的执行。为了完成声呐数据采集、传输、处理以及多任务间的调度,涉及到的内容主要有TCP/IP网络编程串口通信数字图像处理算法目标跟踪算法等。
            多目标跟踪的软件系统主要由以下几个模块组成:前视声呐数据接收模块声呐图像处理模块、声呐图像特征提取选择与融合模块、数据关联-粒子滤波跟踪模块、目标轨迹管理模块、与主控间数据交换模块、与上层监控间数据交换模块。

    多目标跟踪软件系统流程图
    

    左侧 为多目标跟踪算法,包括声呐数据读取、图像生成、图像处理、跟踪算法、目标轨迹生成几部分。
    中间 为数据通信方式,用于声呐与处理器、主控系统和上层监控间的通信。
    右部 为与多目标跟踪处理器有关的其他模块。


    多目标跟踪软件系统的程序运行中,首先执行初始化任务,将数据参数、网络参数、串口参数等进行初始化。随即启动主任务,从串口读取声呐数据,并通过图像处理和轨迹跟踪处理,得到目标的轨迹信息,并通过网络连接发送至主控系统和声呐上层监控。在跟踪任务完成时,按照先后顺序分别关闭主任务、串口、网络、信号量,最后释放内存。多目标跟踪任务在VxWorks系统下的任务实现如图5.5所示。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 目标跟踪算法

    千次阅读 2017-08-30 17:14:50
    运动目标跟踪主流算法大致分类:a) 不依赖先验知识,直接从图像序列中检测到运动目标,并进行目标识别,最终对目标进行跟踪.b) 依赖于目标的先验知识,首先为运动目标建模,然后在图像序列中实时找到相匹配的运动...

    运动目标跟踪主流算法大致分类:

    a) 不依赖先验知识,直接从图像序列中检测到运动目标,并进行目标识别,最终对目标进行跟踪.

    b) 依赖于目标的先验知识,首先为运动目标建模,然后在图像序列中实时找到相匹配的运动目标.

    一、运动目标检测

    对于不依赖先验知识的目标跟踪来讲,运动检测是实现跟踪的第一步。运动检测即为从图像序列图像中将变化区域从背景图像中提取出来。运动目标检测的算法依照目标与摄像机之间的关系可以分为静态背景下运动检测和动态背景下运动检测。

    (一)静态背景

    1.背景差

    2.帧差

    3.GMM

    4.光流

    背景建模算法可以对背景的光照变化、噪声干扰以及周期性运动等进行建模,在各种不同情况下它都可以准确地检测出运动目标。因此对于固定摄像头的情景,目前大多数的跟踪算法中都采用背景建模算法来进行目标检测。背景建模算法的局限性在于他需要一个静态的固定摄像头。

    (二)运动背景

    通常情况下,摄像机的运动形式可以分为两种:

    a)摄像机的支架固定,但摄像机可以偏转、俯仰以及缩放;

    b)将摄像机装在某个移动的载体上。由于以上两种情况下的背景及前景图像都在做全局运动,要准确检测运动目标的首要任务是进行图像的全局运动估计与补偿。

    考虑到图像帧上各点的全局运动矢量虽不尽相同(摄像机做平移运动除外),但它们均是在同一摄像机模型下的运动,因而应遵循相同的运动模型,可以用同一模型参数来表示。

    全局运动的估计问题就被归结为全局运动模型参数的估计问题,通常使用块匹配法或光流估计法来进行运动参数的估计。

    块匹配

    基于块的运动估算和补偿可算是最通用的算法。可以将图像分割成不同的图像块,假定统一图像小块上的运动矢量是相同的,通过像素域搜索得到最佳的运动矢量估算。块匹配法主要有如下三个关键技术:

    a) 匹配法则,如最大相关、最小误差等

    b) 搜索方法,如三步搜索打、交叉搜索法等

    c) 块大小的确定,如分级、自适应等

    光流法

    光流估计的方法都是基于以下假设:图像灰度分布的变化完全是目标或者场景的运动引起的,也就是说,目标的场景的灰度保持不变的这个假设条件下。另外,大多数的光流计算方法相当复杂,如果没有特别的硬件装置,其处理速度相当慢,达不到实时处理的要求。

    二、目标跟踪

    运动目标的跟踪,即通过目标的有效表达,在图像序列中寻找与目标模板最相似候选目标区位置的过程。简单说,就是在序列图像中为目标定位。运动目标的有效表达除了对运动目标建模外,目标跟踪中常常用到的目标特性表达主要包括视觉特征(图像边缘、轮廓、形状、纹理、区域)、统计特征(直方图、各种矩特征)、变换系数特征(傅里叶描绘子、自回归模型)、代数特征(图像矩阵的奇异值分解)等。除了使用单一特征外,也可以通过融合多个特征来提高跟踪的可靠性。

    相似性度量算法

    对运动目标进行特征提取之后,需要采用一定的相似性度量算法与帧图像进行匹配,从而实现目标跟踪。图像处理与分析理论,常见的相似性度量算法:欧氏距离、棋盘距离、加权距离、巴特查理亚系数、Hausdorff距离等。其中最常见的是欧氏距离。

    搜索算法

    目标跟踪过程中,直接对场景中的所有内容进行匹配计算,寻找最佳匹配位置,需要处理大量的冗余信息,这样运算量比较大,而且没有必要。采用一定的搜索算法对未来时刻目标的位置状态进行估计假设,缩小目标搜索范围便具有非常重要的意义。其中一类比较常用的方法是预测运动体下一帧可能出现的位置,在其相关区域内寻找最优点。常见的预测算法有卡尔曼滤波、扩展的卡尔曼滤波以及粒子滤波法等。

    卡尔曼滤波器是一个对动态系统的状态序列进行线性最小方差估计的算法。它通过状态方程和观测方程来描述一个动态系统,基于系统以前的状态序列对下一个状态作最优估计,预测时具有无偏、稳定和最优的特点,且具有计算量小、可实时计算的特点,可以准确预测目标的位置和速度,但其只适合于线性且呈高斯分布的系统。相对于卡尔曼滤波算法,粒子滤波器特别适用于非线性、非高斯系统。粒子滤波算法是一种基于蒙特卡洛和贝叶斯估计理论的最优算法,它以递归的方式对测量数据进行序贯处理,因而无须对以前的测量数据进行存储和再处理,节省了大量的存储空间。在跟踪多形式的目标以及在非线性运动和测量模型中,粒子滤波器具有极好的鲁棒性。

    另一类减小搜索范围的算法是优化搜索方向。均值漂移算法(Meanshift算法)、连续自适应均值漂移算法(Camshift算法)和置信区域算法都是利用无参数估计的方法优化目标模板和候选目标距离的迭代收敛过程,以达到缩小搜索范围的目的。Meanshift算法是利用梯度优化方法实现快速目标定位,能够对非刚性目标实时跟踪,适合于非线性运动目标的跟踪,对目标的变形、旋转等运动有较好的适用性。但是Meanshift算法在目标跟踪过程中没有利用目标空间中的运动方向和运动速度信息,当周围环境存在干扰时(如光线、遮挡),容易丢失目标。Camshift算法是在Meanshift算法的基础之上,进行了一定的扩展,结合目标色彩信息形成的一种改进的均值漂移算法。由于目标图像的直方图记录的是颜色出现的概率,这种方法不受目标形状变化的影响,可以有效地解决目标变形和部分遮挡的问题,且运算效率较高,但该算法在开始前需要由人工指定跟踪目标。

    目标跟踪分类

    依据运动目标的表达和相似性度量,运动目标跟踪算法可以分为四类:

    • 基于主动轮廓的跟踪
    • 基于特征的跟踪
    • 基于区域的跟踪
    • 基于模型的跟踪
    • 光流
    • meanshift和camshift

    跟踪算法的精度和鲁棒性很大程度上取决于对运动目标的表达和相似性度量的定义,跟踪算法的实时性取决于匹配搜索策略和滤波预测算法。

    基于主动轮廓的跟踪

    Kass等人提出的主动轮廓模型,即Snake模型,是在图像域内定义的可变形曲线,通过对其能量函数的最小化,动态轮廓逐步调整自身形状与目标轮廓相一致,该可变形曲线又称为Snake曲线。Snake技术可以出来任意形状物体的任意形变,首先将分割得到的物体边界作为跟踪的初始模板,然后确定表征物体真实边界的目标函数,并通过降低目标函数值,使初始轮廓逐渐向物体的真实边界移动。

    Snake模型比较适合单目标的跟踪,对于多目标跟踪更多地是采用基于水平集(Level-Set)方法的主动轮廓模型。基于主动轮廓跟踪的优点是不但考虑来自图像的灰度信息,而且考虑整体轮廓的几何信息,增强了跟踪的可靠性。由于跟踪过程实际上是解的寻优过程,带来的计算量比较大,而且由于Snake模型的盲目性,对于快速运动的物体或者形变较大的情况下,跟踪效果不够理想。

    基于特征的跟踪

    基于特征匹配的跟踪方法不考虑运动目标的整体特征,只通过目标图像的一些显著特征来进行跟踪。假定运动目标可以由唯一的特征集合表达,搜索到该相应的特征集合就认为跟踪上了目标。除了用单一的特征来实现跟踪外,还可以采用多个特征信息融合在一起作为跟踪特征。基于特征的跟踪主要包括特征提取和特征匹配两个方面。

    1)特征提取

    特征提取是指从景物的原始图像中提取图像的描绘特征,理想的图像特征应具备的特点是:

    • 特征应具备直观意义,符合人们的视觉特性
    • 特征应具备较好的分类能力,能够区分不同的图像内容
    • 特征计算应该相对简单,以便于快速识别
    • 特征应具备图像平移、旋转、尺度变化等不变性。

    目标跟踪中常用的运动目标的特征主要包括颜色、纹理、边缘、块特征、光流特征、周长、面积、质心、角点等。提取对尺度伸缩、形变和亮度变化不敏感的有效特征至今仍是图像处理研究领域一个比较活跃的方面。

    2)特征匹配

    特征匹配的目的是进行帧间目标特征的匹配,并以最优匹配来跟踪目标。常见的基于特征匹配的跟踪算法有:

    • 基于二值化目标图像匹配的跟踪
    • 基于边缘特征匹配或角点特征匹配的跟踪
    • 基于目标灰度特征匹配的跟踪
    • 基于颜色特征匹配的跟踪等

    在1994年提出的KLT 跟踪算法是一种被广泛应用的基于特征点跟踪算法。由于特征点分布在整个目标上,因此即使有一部分被遮挡,仍然可以跟踪到另外一部分特征点,这也是基于特征点跟踪算法的优点。基于特征的跟踪算法的优点在于对运动目标的尺度、形变和亮度等变化不敏感,即使目标的某一部分被遮挡,只要还有一部分特征可以被看到,就可以完成跟踪任务;另外,这种方法与Kalman滤波器联合使用,也具有很好的跟踪效果。但是其对于图像模糊、噪声等比较敏感,图像特征的提取效果也依赖于各种提取算子及其参数的设置。此外,连续帧间的特征对应关系也比较难确定。尤其是当每一帧图像的特征数目不一致、存在漏检、特征增加或减少等情况。

    基于区域的跟踪

    基于区域的跟踪算法基本思想是:

    • 得到包含目标的模板,该模板可以通过图像分割获得或预先人为确定,模板通常略大于目标的矩形,也可以为不规则形状。
    • 在序列图像中,运用相关算法跟踪目标。

    这种算法的优点在于目标未被遮挡时,跟踪精度非常高、跟踪非常稳定。但其缺点首先是费时,当搜索区域较大时情况尤其严重;其次,算法要求目标变形不大,且不能有太大遮挡,否则相关精度下降会造成目标的丢失。近年来,对基于区域的跟踪方法关注较多的是如何处理模板变化时的情况。这种变化是由目标姿态变化引起的,如果能正确预测目标的姿态变化,则可以实现稳定跟踪。

    基于模型的跟踪

    基于模型的跟踪是通过一定的先验知识对所跟踪目标建立模型没然后通过匹配跟踪目标进行模型的实时更新。对于刚体目标来说,其运动状态变换主要是平移、旋转等,可以利用该方法实现目标跟踪。但是实际应用中跟踪的不仅仅是刚体,还有一大部分是非刚体,目标确切的几何模型不容易得到。

    这种方法不易受观测角的影响,具有较强的鲁棒性,模型匹配跟踪精度高,适合于机动目标的各种运动变化,抗干扰能力强,但由于计算分析复杂、运算速度慢,模型的更新较为复杂,实时性较差。准确建立运动模型是匹配能否成功的关键。

    光流

    Lucas-Kanade稀疏光流calcOpticalFlowPyrLK(利用金字塔)

    Horn-Schunck稠密光流calcOpticalFlowHS

    稠密光流需要很大的计算量,OpenCV中对此方法做了简化,即对前后连续帧的一个像素的领域进行匹配,这种方法叫块匹配。

    稀疏光流需要在跟踪之前指定一组点,如果这些点具有某些明显特征,那么跟踪就会相对稳定和可靠。可见,其运算量比稠密光流要小很多。

    首先利用goodFeaturesToTrack函数得到图像中的强边界作为跟踪的特征点。接下来要调用calcOpticalFlowPyrLK函数,输入两幅连续的图像,并在第一幅图像里选择一组特征点,输出为这组点在下一幅图像中的位置。再把得到的跟踪结果过滤一下,去掉不好的特征点,再把特征点的跟踪路径标示出来。

    mean-shift和camshift

    meanshift算法用于视频目标跟踪时,采用目标的颜色直方图作为搜索特征,通过不断地迭代Meanshift向量使得算法收敛于目标的真实位置,从而达到跟踪的目的。

    传统的Meanshift算法在跟踪中有几个优势:

    • 算法计算量不打,在目标区域已知的情况下完全可以做到实时跟踪;
    • 采用核函数直方图模型,对边缘遮挡、目标旋转、变形和背景运动不敏感。

    同时,Meanshift算法也存在以下缺点:

    • 缺乏必要的模板更新
    • 跟踪过程中由于窗口宽度大小保持不变,当目标尺度有所变化时,跟踪就会失败
    • 当目标速度较快时跟踪效果不好
    • 直方图特征在目标颜色特征描述方面略显匮乏,缺少空间信息

    由于其计算速度快,对目标变形和遮挡有一定的鲁棒性,所以,在目标跟踪领域,Meanshift算法目前依然受到大家的重视。但考虑到其缺点,在实际工程中也可以对其作出一些改进和调整。例如:

    • 引入一定的目标位置变化的预测机制,从而更进一步减少Meanshift跟踪的搜索时间,降低计算量
    • 可以采用一定的方式来增加用于目标匹配的特征
    • 将传统Meanshift算法中的核函数固定宽带改为动态变化的带宽
    • 采用一定的方式对整体模板进行学习和更新

    camshift算法

    camshift算法的全称是”ContinuouslyAdaptive Mean-SHIFT”,即:连续自适应的MeanShift算法。其基本思想是对视频序列的所有图像帧都作为Meanshift运算,并将上一帧的结果(—即搜索窗口的中心位置和窗口大小)作为下一帧Meanshift算法的搜索窗口的初始值,如此迭代下去。简单点说,Meanshift是针对单张图片寻找最优迭代结果,而camshift则是针对视频序列来处理,并对该序列中的每一帧图片都调用Meanshift来寻找最优迭代结果。正是由于camshift针对一个视频序列进行处理,从而保证其可以不断调整窗口的大小,如此一来,当目标的大小发生变化时,该算法就可以自适应地调整目标区域继续跟踪。

    在OpenCV自带的camshift的例子中,是通过目标在HSV空间下的H分量直方图,通过直方图反向投影得到目标像素的概率分布,然后通过调研OpenCV的camshift算法,自动跟踪并调整目标窗口的中心位置与大小。该算法对于简单背景下的单目标跟踪效果较好,但如果被跟踪目标与背景颜色或周围其它目标颜色比较接近,则跟踪效果较差。另外,由于采用颜色特征,所以它对于被跟踪目标的形状有一定的抵抗力。

    OpenCV自带例子中的camshift算法,可以分为三个部分:

    1)计算色彩投影图(反向投影)
    • 为减少光照变化对目标跟踪的影响,首先将图像从RGB颜色空间转换到HSV颜色空间。
    • 对H分量进行直方图统计,直方图代表了不同H分量取值出现的概率,或者说可以据此查找出H分量的大小为x时的概率或像素个数,即得到颜色概率查找表。
    • 将图像中每一个像素的值用其颜色出现的概率进行替换,由此得到颜色概率分布图。

    以上三个步骤称之为反向投影,需要提醒的是,颜色概率分布图是一个灰度图像。

    2)Meanshift寻优

    前面提到过meanShift算法(http://blog.csdn.net/carson2005/article/details/7337432)是一种非参数概率密度估计方法,它通过不断迭代计算得到最优搜索窗口的位置和大小。

    3)camshift跟踪算法

    前面提到,camShift其实就是在视频序列的每一帧当中都运用meanShift,并将上一帧的meanShift结果作为下一帧的初始值,如此不断循环迭代,就可以实现目标的跟踪了。

    展开全文
  • 我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《多目标跟踪 DeepSort 代码与原理分析》, 一起来围观吧 https://blog.csdn.net/weixin_42823393/article/details/100335737?utm_source=app ...

    我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《多目标跟踪 DeepSort 代码与原理分析》, 一起来围观吧 https://blog.csdn.net/weixin_42823393/article/details/100335737?utm_source=app

    展开全文
  • 目标跟踪

    千次阅读 2012-05-12 10:41:43
    1、单目标:目标跟踪还可以分为单目标的跟踪和目标的跟踪。单目标的静态背景下的目标跟踪指的是摄像头是固定在某一方位,其所观察的视野也是静止的。通常采用背景差分法,即先对背景进行建模,然后从视频流中读取...

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

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

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

    2、混合高斯模型

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

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

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

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

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

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

    表示运动前景的像素值。

     

    http://hi.baidu.com/new8sun/blog/item/6e1cfe5d45e3d04afaf2c078.html

     

     

     

     

     

     

     

    计算机视觉目标检测跟踪 标准测试视频下载

     
       

    andrew31在ilovematlab论坛中分享的网址链接:

    1.PETS2001的测试视频

    http://www.filewatcher.com/b/ftp/ftp.cs.rdg.ac.uk/pub/PETS2001.0.0.html

    可以得到5个DATASET,有训练和测试视频:

    2. 阴影检测(ShadowDetection)测试视频及CVPR-ATON 阴影检测相关论文

    http://cvrr.ucsd.edu/aton/shadow/

    3.IBM人类视觉研究中心监视系统性能评价提供的视频

    http://www.research.ibm.com/peoplevision/performanceevaluation.html

     

    原文:http://blog.163.com/jw_67/blog/static/136199256201039104624436/

     

     

     

     

    在视频中获取移动目标,这涉及到图像分割,背景消除和阴影去除,主要思想,是去除背景,获取前景。这里一般把近似不动的物体默认为背景,而运动的物体为前景。除了采用分类器训练以外,还有一些很常见的算法。这里我参考一些论文和朋友总结把这些算法归类,如果要相应论文的,可以联系我,希望对有用到的朋友一点帮助。

     

    一,通过模板的图像分割:

    1.      将边缘点聚类成线

    2.      Hough变换

    3.      RANSAC

    二,背景消除:

    1.   基于像素方法

    a 帧差法(framedifferencing)

    b 均值-阈值方法(mean-thresholdmethod)

    c 混合高斯模型(Gaussian mixturemodel)

    d 非参数模型(non-parametric)

    2.   基于区域方法

    a LBP纹理(LBP-texture)

    b 共生矩阵(co-occurrencematrices)

    c 协方差矩阵(covariancematrices)

    d 直方图方法(accumulatedhistogram)

    3.   其他方法

    向量分解法(eigenspacedecomposition)

     

     

     

     

    西安电子科技大学张瑞娟的一篇硕士论文“图像配准理论及算法研究”,我收获很大,所以我也总结一些对我有用的算法,将来便于查找应用。

    我做的目标追踪这一块,虽然和图像配准不是一个方向,但是前期工作都是一样的,首先都需要物体检测,特征检测和匹配。这里我总结一些对我有用的,也希望对和我一样研究方向的人有帮助。这里图像配准可以换成物体匹配的。

    1, 图像配准要素结合:特征空间,搜索空间,搜索策略,近似性度量

    2, 图像配准方法:

    2.1基于灰度信息的方法,

    交叉相关(互相关)方法,相关系数度量,序贯相似检测算法,信息理论的交换信息相似性准则

    2.2基于变换域的方法

    相位相关法,Walsh Transform变换

    2.3基于特征的方法

    常用的图像特征有:特征点(包括角点、高曲率点等)、直线段、边缘(Robert、高斯-拉普拉斯LoG、Canny、Gabor滤波等边缘检测算子)或轮廓、闭合区域、特征结构以及统计特征如矩不变量等

    注:像素灰度信息的互相关算法相比,特征提取包含了高层信号信息,所以该类算法对光照、噪声等的抗干扰能力强。

    3,常用的空间变换模型

    刚体变换(平移、旋转与缩放的组合)、仿射变换、透射变换、投影变换、非线性变换

    4, 常用的相似性测度

    4.1距离测度

    均方根误差,差绝对值和误差,兰氏距离,Mahalanobis距离,绝对差,Hausdorff距离等

    4.2角度度量法(概率测度)。

    4.3 相关度量法

    5,配准算法的评价标准

    配准时间、配准率、算法复杂度、算法的可移植性、算法的适用性、图像数据对算法的影响等(这里虽然不是目标追踪的评价标准,但是我们可以借鉴这些评价算法的标准)

     

     

     

     


    机器视觉与计算机视觉概念是一样吗?

    初识机器视觉和计算机视觉这两个名词,感觉是差不多的,都是视觉,而且计算机也是机器,研究计算机视觉不就是研究机器视觉吗?也许很多人都跟我同感,但通过涉入这一领域,在通过系统的学习之后,我发觉它们两者既有许多相同点,但若把两者等同起来,就会束缚你的视野,它们属于不同的学科。我们研究计算机视觉的目的就是根据人类的视觉特性来给计算机带来“光明”,让它更好的来替代人来工作或者完成人类不能完成的工作,更好的为企业减少劳动力,也更大的提高生产效率,同时也不断在提高人们的生活质量。研究机器视觉是更好为工业中的制造业提供更多有利于提高产品质量和提高生产效率的支持。
    机器视觉中把计算机作为载体或者说是工具,主要是利用计算机高效率的cpu,因为视觉里看到的都是图像,而对图像的处理往往比较耗时,所以能更快的完成图像处理,为以后的控制赢得时间,计算机是“当仁不让”了,而随着大规模集成电路的发展,fpga、dsp等这些具有处理能力的芯片也在不断的提高性能,以后的机器视觉会不会把它们作为载体而产生fpga视觉或dsp视觉呢?
    什么是机器视觉?[/b][/b]
    机器视觉,即采用机器代替人眼来做测量和判断。
    机器视觉系统是指通过机器视觉产品(即图像摄取装置,分cmos和ccd两种)把图像抓取到,然后将该图像传送至处理单元,通过数字化处理,根据像素分布和亮度、颜色等信息,来进行尺寸、形状、颜色等的判别。进而根据判别的结果来控制现场的设备动作。
    机器视觉伴随计算机技术、现场总线技术的发展,技术日臻成熟,已是现代加工制造业不可或缺的产品,广泛应用于食品和饮料、化妆品、制药、建材和化工、金属加工、电子制造、包装、汽车制造等行业。
    机器视觉是个相对较新的技术,它为制造工业在提高产品质量、提高生产效率和操作安全性上提供了许多技术。机器视觉越来越受欢迎有这样一个主要原因:光学传感具有与生俱来的清洁、安全性和通用性。用视觉有可能去做其他人不知道用传感方法可以做到的事情,比如识别污点、铁锈或者表面腐蚀等等。
    在其他相关技术中,机器视觉包括图像数字化、图像操作和图像分析,通常使用计算机来完成,它是一门覆盖图像处理和计算机视觉的专业。然而,我们强调机器视觉、计算机视觉和图像处理不是同义的。它们其中之一都不是任何其他两个的子集。计算机视觉是计算机科学的一个分支,而机器视觉是系统工程一个特殊领域。机器视觉没有说明要使用计算机,但是在获取高速处理速度上经常会使用特殊的图像处理硬件,这个速度是普通计算机所不能达到的。
    尽管早在20世纪30年代用于工业监测的视频系统就已被使用,但工业机器视觉系统首次引起关注是在20世纪70年代中期。在整个20世纪80年代早期,机器视觉发展的很缓慢,主要就是学术研究,很少引起工业兴趣。到了20世纪80年代中期,机器视觉有了一个很大推动力,这个就是主要美国汽车制造商对视觉系统产生了较大兴趣。然后,在美国经历了一段严重的幻觉时期,许多视觉公司纷纷倒闭。而到了80年代末期和90年代早期,由于处理速度的大大提升,机器视觉系统引起了广泛关注。在90年代中期,随着现代risc处理器提供了在标准计算平台的高处理速度,于是具有通用目的的处理器的角色被修改。在这个时期,学术工作者一直在大范围的产品中稳步地提高灵活性,这个取代了制造工业的主要分支的所有研究。
    什么是计算机视觉?[/b][/b]
    “计算机视觉”是指用计算机实现人的视觉功能,对客观世界的三维场景的感知、识别和理解。这里主要有两类方法:一类是仿生学的方法,参照人类视觉系统的结构原理,建立相应的处理模块完成类似的功能和工作;另一类是工程的方法,从分析人类视觉过程的功能着手,并不去刻意模拟人类视觉系统内部结构,而仅考虑系统的输入和输出,并采用任何现有的可行的手段实现系统功能。
    计算机视觉是一个处于指示前沿的领域。我们认为计算机视觉,或简称位“视觉”,是一项事业,它与研究人类或动物的视觉是不同的。它借助于几何、物理和学习技术来构筑模型,从而用统计的方法来处理数据。因此从我们的角度看,在透彻理解摄像机性能与物理成像过程的基础上,视觉对每个像素进行简单的推理,将在多幅图像中可能得到的信息综合成和谐的整体,确定像素集之间的联系以便将它们彼此分割开,或推断一些形状信息,使用几何信息或概率统计技术来识别物体。
    计算机视觉成为一门独立的学科,至少可以从美国麻省理工学院marr教授这一代人所做的奠基工作开始,因此计算机视觉这门学科至少已有20~30年的历史。在此期间,由于计算机视觉具有的潜在应用十分广泛,所涉及的学科知识极其繁多,研究的问题又极富挑战性,因此它一直是计算机学科中的一门热门学科,并吸收了许多从事心理学、神经科学、生理学、生物物理学、数学与计算机学科等各种学科研究人员的关注,从而把图像处理、模式识别、人工智能、数学、认知科学、机器学习、计算机图形学等各方面的研究成果融会进来。
    计算机视觉是人工智能的一个子领域,它的目的是让计算机理解图像中的一个场景或者特征,它包括以下几个方面的解释:
    1. 为了控制目标而获取所需数据通过图像的自动获取和分析。
    2. 给一个有能力去做事和反应的机器人提供导航系统使之能改变位置。
    3.用视频摄像机、机器人或者其他设备的一个系统,并且用计算机去做可视化的分析操作或行为。典型应用包括自动监测、光学字符识别和其他的非接触应用。
    4.机器视觉是计算机视觉在工厂自动化的一个应用。正如监视员在一个装配线上工作,可视地监视物件并判断其质量,因此机器视觉系统使用照相机和图像处理软件来完成类似的监视。一个机器视觉系统是一个在基于数字图像分析上作决定的计算机。
    通过上面的定义,其实机器视觉和计算机视觉并没有很清晰的界限,而是紧密的联系在一起,它们有着相同的理论,只是在应用中根据具体实际应用目标的不同而不同。计算机视觉与机器视觉都是要从图像或图像序列中获取对世界的描述,因此,对基本层的图像获取、图像处理,中层的图像分割、图像分析和高层的图像理解这些理论知识的掌握对两者来说都是“万变不离其宗”。


    展开全文
  • 目标跟踪算法概述

    千次阅读 2017-08-14 10:05:35
    运动目标跟踪主流算法大致分类 主要基于两种思路: a)不依赖于先验知识,直接从图像序列中检测到运动目标,并进行目标识别,最终跟踪感兴趣的运动目标; b)依赖于目标的先验知识,首先为运动目标建模,然后在...
  • 目标跟踪算法分类

    千次阅读 2019-01-17 15:33:01
    运动目标跟踪主流算法大致分类 主要基于两种思路: a)不依赖于先验知识,直接从图像序列中检测到运动目标,并进行目标识别,最终跟踪感兴趣的运动目标;  b)依赖于目标的先验知识,首先为运动目标建模,然后在...
  • 多目标跟踪算法FairMOT深度解析

    千次阅读 2020-10-10 07:00:00
    目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流...
  • 目标视觉跟踪

    千次阅读 2017-08-29 16:41:10
    目标视觉跟踪方法综述 目标视觉跟踪发展到现在,已经有很成熟的方法,这些方法主要分为两大类:产生式方法和判别式方法。 产生式方法运用生成模型描述目标的外观特征,之后通过对候选区域进行搜索寻找与目标最...
  • 前言:本文作者@jasmine,是我们“AI产品经理大本营”成员,下面是她分享的第5篇文章,欢迎更有兴趣“主动输出”的朋友们一起加入、共同进步:)多目标跟踪(MOT, Multiple Object Tracking)多目标跟踪是CV领域一...
  • SAMF目标跟踪算法

    万次阅读 热门讨论 2018-06-03 16:03:33
    最近学习了相关滤波类的跟踪算法(MOSSE,KCF),相比于传统的目标跟踪类算法,相关滤波算法在速度上有很大的提高。KCF算法讲解的资源很,这里不仔细介绍,主要讲解下几种典型的改进算法,SAMF算法是最早出现的一...
  • 目标跟踪算法的分类(一)

    万次阅读 多人点赞 2015-09-14 11:41:37
    运动目标跟踪主流算法大致分类 主要基于两种思路: a)不依赖于先验知识,直接从图像序列中检测到运动目标,并进行目标识别,最终跟踪感兴趣的运动目标; b)依赖于目标的先验知识,首先为运动目标建模,然后在图像...
  • 运动目标跟踪简介

    万次阅读 2012-02-02 22:28:41
    运动目标跟踪在军事制导,视觉导航,机器人,智能交通,公共安全等领域有着广泛的应用。例如,在车辆违章抓拍系统中,车辆的跟踪就是必不可少的。在入侵检测中,人、动物、车辆等大型运动目标的检测与跟踪也是整个...
  • 运动目标跟踪主流算法大致分类 主要基于两种思路: a)不依赖于先验知识,直接从图像序列中检测到运动目标,并进行目标识别,最终跟踪感兴趣的运动目标; b)依赖于目标的先验知识,首先为运动目标建模,然后在图像...
  • 本系列博客将教大家在410c开发板上基于linux操作系统环境,采用QT+Opencv来实现视频目标跟踪,本文将首先向大家介绍常用的粒子滤波视频目标跟踪算法,对其原理进行简单的分析,为后续进一步选择和应用算法实现目标...
  • 2016视觉目标跟踪总结

    千次阅读 2017-01-15 10:00:57
    主流的跟踪算法,kcf,stc,dsst,算法原理网上很,这里就不再赘述,只对跟踪效果做了测试记录。
  • OpenCV中的目标跟踪算法

    千次阅读 2019-02-10 09:04:41
    原文出处: ...软硬件环境 ubuntu 18.04 64bit anaconda3 with python 3.6.4 opencv 3.4.2 跟踪算法 opencv中总共有8种目标跟踪算法,分别是BOOSTING、MIL、KCF、TLD、MEDIANFLOW、GOTURN、CSRT...
  • 目标跟踪方法总结

    万次阅读 多人点赞 2018-11-08 19:44:01
    1 数据集 1.1 OTB 最经典的benchmark,有2013的OTB50和2015的OTB100 OTB包括25%的灰度序列,分辨率相对...视觉跟踪领域国际顶级赛事,自2013年以来每年一届 VOT以short-term为主,用第一帧进行初始化,每次跟...
  • 计算机视觉之运动目标跟踪

    万次阅读 2012-03-08 19:56:23
    1、单目标:目标跟踪还可以分为单目标的跟踪和目标的跟踪。单目标的静态背景下的目标跟踪指的是摄像头是固定在某一方位,其所观察的视野也是静止的。通常采用背景差分法,即先对背景进行建模,然后从视频流中读取...
  • 然后,通过调整HSV空间各通道的阈值,生成二值化图像,并找出图像中存在的物体轮廓,从而检测出符合指定颜色特征的目标物体并进行跟踪。通过滤除面积过小和过大的物体,可仅对大小合适的物体进行分析。该系统可同时...
  • 基于深度学习的终端目标跟踪系统

    千次阅读 2019-04-18 11:52:33
    (~接上次目标跟踪部分开的头,做了个系统~) 摘 要 近年来,目标跟踪广泛应用于监控、机器人、无人机、人机交互、无人驾驶等领域,已成为计算机视觉领域的研究热点。使用传统方法的目标跟踪往往跟踪率较低,且难以...
  • 其次介绍多目标跟踪(MOT)算法的常用评估指标。 单目标跟踪 APE(Average Pixel Error) 定义:平均像素误差,一般指中心距离,即预测框与真实框中心位置的像素距离取帧平均 用途:用来判断两个矩形框的靠近...
  • 目标跟踪的评价指标(OTB与VOT)

    万次阅读 2019-05-20 10:40:49
    目标识别的评价指标主要有ROC曲线,missrate(MR,其实就是FALSE Positive)、FPPI、FPPW等。单图像跟踪的评价指标主要有两个,一个是pixel error,一般是算中心距离,另一个是overlap rate,区域重叠率,用重叠区域...
  • 目标跟踪方法--基于区域跟踪

    千次阅读 2016-06-24 09:25:48
    一、理论  该方法的基本思想是将检测阶段获得的活动区域作为匹配的模板,在系统中设定一个匹配度量值;在相邻帧图像中,全图搜索匹配模板,匹配度量值取极值的位置就是最佳的匹配...基于区域的跟踪方法还可以与多种预
  • 预期效果机器人可以在较为简单的生活环境背景中,实现对单个人体目标的检测和实时跟踪,做出...基本思路检测:我们要利用智能小车并不优秀的硬件设备来实现对人体目标的检测和实时跟踪,检测部分我们使用人脸来定位人
  • 点击上方“3D视觉工坊”,选择“星标”干货第一时间送达文章导读 本文介绍激光点云的目标跟踪算法,跟踪算法主要分为生成式和判别式两类,传统的滤波跟踪大多属于生成式,而近几年深度学习做跟踪基本...
  • @目标TOC 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对...
  • 基于视觉的目标检测与跟踪

    千次阅读 2018-09-19 15:12:08
    运动目标的检测和跟踪主要用于获取运动目标的位置、姿态、轨迹等基本运动信息。 目标检测 目标检测的目的是从不同复杂程度的背景中辨识出运动目标 , 并分离背景 , 从而完成跟踪、识别等后续任务 。 根据...
  • "SSD + SORT" 实现单目标跟踪

    千次阅读 2019-05-29 17:12:19
    因为本课题是简单的单目标跟踪,而且实测视频中每帧中都存在目标,检测时也并不是连续很帧中都检测不到目标,所以可以调整 SORT 算法使之输出卡尔曼滤波预测的框。 每次长视频跟踪到369帧时就会出现: Fail to ...
  • YOLO v4 当我第一次开始目标计数项目时,我使用YOLOv3,跟踪帧率大约是10FPS,很难一次运行个流。使用YOLOv4可以更容易地运行具有更高分辨率的两个流,并提供更好的检测精度。 依赖 Tensorflow-GPU 1.14 Keras ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 75,143
精华内容 30,057
关键字:

多目标跟踪硬件