精华内容
下载资源
问答
  • 为解决目标在形变、遮挡和快速运动时所导致的跟踪失败,在经典TLD算法的框架下,使用尺度自适应均值偏移算法重新设计跟踪器,提出了MS-TLD算法.通过引入颜色直方图特征和尺度自适应,跟踪器能准确跟踪形变和快速运动的...
  • TLD跟踪算法

    2016-11-28 12:38:17
    TLD跟踪算法
  • 盒马唠TLD跟踪算法

    千次阅读 2018-05-07 19:58:17
    目标视觉跟踪算法介绍 目标视觉跟踪(Visual Object Tracking),普遍认为可分为两大类:生成(generative)模型方法和判别(discriminative)模型方法,目前比较流行的是判别类方法,也叫检测跟踪tracking-by-detection...

    目标视觉跟踪算法介绍

            目标视觉跟踪(Visual Object Tracking),普遍认为可分为两大类:生成(generative)模型方法和判别(discriminative)模型方法,目前比较流行的是判别类方法,也叫检测跟踪tracking-by-detection,下面我做简单介绍。

            generative:在当前帧对目标区域建模,在下一帧寻找与模型最相似的区域就是预测位置,比较著名的有卡尔曼滤波,粒子滤波,mean-shift等。举个例子,从当前帧知道了目标区域80%是红色,20%是绿色,然后在下一帧,搜索算法就像无头苍蝇,到处去找最符合这个颜色比例的区域,推荐算法ASMS和DAT。

            其中,ASMS与DAT都是仅提取颜色特征的算法而且速度很快,依次是VOT2015的第20名和14名,在VOT2016分别是32名和31名(普通水平)。ASMS是VOT2015官方推荐的实时算法,平均帧率125FPS,在经典mean-shift框架下加入了尺度估计,经典颜色直方图特征,加入了两个先验(尺度不剧变+可能偏最大)作为正则项,和反向尺度一致性检查。已经有开源的C++代码:https://github.com/vojirt/asms

            discriminative:OTB50里面的大多数方法都是这一类,也就是CV中的经典套路图像特征+机器学习, 当前帧以目标区域为正样本,背景区域为负样本,利用机器学习方法去训练分类器,下一帧用训练好的分类器去寻找最优区域。


            与 generative最大的区别是,分类器采用机器学习,训练中用到了背景信息,这样分类器就能专注区分前景和背景,所以判别类方法普遍都比生成类好。举个例子,在训练时告诉tracker目标特征,还告诉它背景中有其他特征,要格外注意区分,这样的分类器知道更多信息,效果也相对更好。其实,tracking-by-detection我已经搞不清楚和检测算法里的区别了不过效果好比什么都强,如经典行人检测使用的是用HOG+SVM,Struck用到了haar+structured output SVM,跟踪中为了尺度自适应也需要多尺度遍历搜索,区别仅在于跟踪算法对特征和在线机器学习的速度要求更高,检测范围和尺度更小而已。这点其实并不意外,大多数情况检测识别算法复杂度都比较高不可能每帧都做,这时候用复杂度更低的跟踪算法就很合适了,只需要在跟踪失败(drift)或一定间隔以后再次检测去初始化tracker就可以了。其实我就想说在工程实际中FPS才是最重要的指标,慢的算法已经不适合我们做实际工程的人去研究,就让那些大神(非人类)去研究,嘻嘻我们只需拿来用就行。经典判别类方法推荐Struck和TLD,都能实时性能还行,Struck是2012年之前最好的方法,TLD是经典long-term的代表,它也是我们接下来需要认真去讲的,它里面的思想是十分值得借鉴的。

            其实,现在最为火热的跟踪算法类是相关滤波类方法(correlation filter)简称CF或DCF。其中最经典的相关滤波方法是CSK,KCF、DCF和CN。


            是不是看到这张表很兴奋啊,CF算法在precision和FPS都完全碾压其他算法。但是不好意思,我写这篇博客还是主要讲TLD跟踪算法。大家如果想要了解CF算法的话,可以自己去找找资料或者关注我后续的博客。

    TLD算法

            Tracking-Learning-Detection(TLD)Zdenek Kalal提出的一种对视频中单个物体长时间跟踪的算法,该算法主要由3个部分组成,分别为:跟踪器(tracking),学习模块(learning)和检测器(detection)。下面是算法框架图:


            算法首先在初始帧中,手动选取跟踪目标,然后跟踪器和检测器分别进行跟踪,通过综合模块对两者的结果进行综合输出。并且利用学习算法对跟踪器和检测器进行校正。

    跟踪器

            跟踪器的作用是跟踪连续帧间的运动。其工作原理为:利用目标在当前顿的位置估计其在下一帧中的位置,它能够准确跟踪的前提是:目标一直在场景中可见。在TLD算法中,主要用到的是中值光流(Median-Flow)跟踪算法。在进行跟踪前,首先需要选取特征点。TLD跟踪器采用的是光流特征,在选定的跟踪目标框中均匀撒点,最多有10*10共100个特征点。中值光流跟踪算法主要采用以LK光流算法(Lucas-Kanade)进行跟踪,同时利用前后向误差(FB)和特征点前后帧的相似度进行检测和判断。下面是FB误差计算原理图:


            TLD算法利用前后向误差进行跟踪的方法为:

            (1)对当前要跟踪的点,使用金字塔化光流法跟踪原理预测当前时刻到下一时刻的前向轨迹。

            (2)再用与步骤(1)同样的原理,从下一时刻往回跟踪,预测下一时刻到上一时刻的后向轨迹。

            (3)计算前向轨迹和后项轨迹的误差,得到FB误差。

            (4)对所有点的前向后向误差求和,取其平均值,作为判断前向后向误差是否符合条件的阈值。

            (5)再从当前图像帧和前一图像帧,分别特征点作为中心点,提取周围若干单位长度像素矩形,然前            后帧的这两个像素矩形进行匹配,得到匹配后的映射图像,最后求出点NCC相关系数,作为相似度。

            (6)求出所有点的相关系数,取其平均值,作为相似度的阐值,用来判断匹配的点是否符合条件。

            (7)如果某一个点的前向后向误差小于前向后向误差阈值并且该点相似度大于相似度阈值,就保留该特                征点,否则舍弃该点。

            (8)根据跟踪成功点的坐标分布,预测出目标框的位置。

            (9)如果认为跟踪结果有效,则将目标框对应的图像块归一化大小,并且计算该图像块与样本库目标的相            关相似度,如果相关相似度过小,则认为跟踪器跟踪失败,如果相关相似度大于一定的阀值,则认为跟踪器          跟踪成功。

            TLD算法的跟踪器具有计算量小,实时性好,在简单场景下可以稳定的跟踪目标等优点。但是该跟踪器也存在致命的缺点:如果出现跟踪目标从场景中消失再出现的情况,则无法继续跟踪,为了解决该问题,引入了检测器。


    检测器

            检测器的作用是通过检测方法,在当前帧中搜索目标,找出与目标相似度最大的目标作为本帧的跟踪结果输出。在TLD算法中检测器还具有估计跟踪器误差,如果误差过大,改正跟踪器结果的作用。检测器主要由3个分类器级联而成。这3个分类器分别为;方差分类器,集成分类器和最近邻分类器,这3个分类器是独立运行的。


            (1)方差分类器

            该分类器主要计算待分类样本像素灰度值的方差,把方差小于目标图像块方差50%的图像块(待分类样本)全部排除。50%是TLD作者自己定义的一个经验值,可根据实际项目进行更改。待检测的滑动窗口数量非常的大,而利用积分图方法计算其方差的速度很快,这样子就能在很短的时间內求出所有的方差,方差描述的是图像片与图像片之间幅度的相似性,选取目标框图像片方差的一半作为阈值的目的是一方面能最大可能过滤掉不符合要求的滑动矩形框,另一方面又能最大可能保证相似的目标框没有被过滤掉,从而最大程度的保留符合条件的目标框。

            (2)集成分类器

            进入集合分类器的待检测矩形框,都是已经被方差分类器筛选过的。集合分类器相当于决策树构建的森林,决策树用像素的灰度差值来判断不同的属性,决策树信息的采集是在每个在扫描窗口上按照初始化时确定的像素点对来采集的。每一个决策树会根据对应的灰度差值在对应的叶子节点确定结果,所有的结果节点的编码便构成了此棵决策树判断的结果。根据编码求出后验概率,再取森林中的所有这些独立的决策树的后验概率均值。均值大于指定的阔值就认为此扫描窗口有前景目标,通过了集合分类器,否则丢弃掉。

            集合分类器有n个基本分类器,每一个分类器有13个判断节点,每个判断节点的特征点是2bitBP特征,每一个节点的判断的结果是0或者1,这样每一个基本分类器就有2^13种可能。求出每一个基本分类器的0 1排列的可能情况,然后求出其后验概率,就是1的个数除于总数13,得出一个后验概率,这样对于一个图像片共有n个后验概率,再求出其后验概率的平均值,如果其后验概率的平均值大于给定的阈值,就认为这个矩形框图像片含有前景目标,予保留否则舍去。

             (3)最近邻分类器

                最后通过方差分类器与集合分类器后,只剩下非常少的部分扫描窗口。它们会通过最近邻分类器。最近邻分类器有两个功能,一是依次匹配每一个图像块(就是通过的扫描窗口)与在线模型的相似度,二是更新在线模型的正样本空间。具体过程如下图所示:

            将输入的图像片(通过前两个的分类器后剩余满足条件的矩形框),依次与在线模型进行比对(比对的意思就是计算图像片与在线模型的相似度),如果比对的结果大于给定的阈值,则认为图像片中含有前景目标,否则认为其没有前景目标就丢弃掉。如果含有前景目标,一方面就将此图像片输出存放在有关位置,用来定位最终被跟踪的目标框位置;另一方面将这些通过最近邻分类器的图像片作为正样本,用来更新在线模型中的样本库,在线模型的正样本库的数量是一定的,数量不足就添加,但是超过数量的上限就随机删除一些样本再添加新的正样本。

    学习模块

            TLD框架中学习模块,它主要有二大功能,其一,完成初始化过程,初始化主要指的是对在线模型、集合分类器和最近邻分类器进行初始化;其二,在TLD算法运行的过程中,更新在线模型的正样本库;其三,反馈训练检测模块中的随机森林分类器和最近邻分类器。它在整个过程中利用P-N学习理论区分正样本和负样本,从而完成相关模块样本库的更新,提高检测的性能。虽然两类专家自身都产生错误,但是P与N是相互独立的,它们又能彼此补偿判断错误。

            P-N学习理论:P-N学习是一种半监督学习,P指的是积极(正)约束,其作用是发现当前目标新的特性,以扩展样本中的正样本数,相反,N指的是消极(负)约束,其作用是生成负样本数,前景目标的周围均为负样本。P-N学习受到积极约束与消极约束共同控制,它对得到的结果进行相关的评估,寻找那些与约束条件相矛盾的样本,将这些样本重新训练,直到满足某个条件为止。由于在跟踪目标的时候,其目标的形态容易改变,跟丢的情况时有发生,如果对跟踪的目标进行P-N学习检测,将能动态改变判决条件提高检测的准确率。

            P-N学习主要过程如下:(1)准备少量的标记过的训练样本和大量需要测试的样本集;(2)初始化分类器使用标记过的样本,并对约束条件进行修正;(3)用分类器对测试的数据标签标记,找出和约束条件矛盾的样本;(4)将出现矛盾的样本予以修正,添加到训练集,重新训练分类器。(5)反复重复上述过程,直到满足相关条件。具体见下图所示:



            P-N学习由四部分构成:1、分类器—将没有标记的数据进行分类。2、训练集—存放要训练的正负样本。3、监督训练—训练改善分类器性能。4、P-N专家——在学习修正训练集中的正负样本。

            看前面是不是看得有点懵,在这我举个小栗子,假设对于一个要跟踪的视频目标,在这个视频目标中,存在有大量相关特征点,它们构成一个样本。在这些样本中有少量样本集合是被标记的标签,大量的样本是没有被标记待测的样本。P-N学习就是通过送些少量被标记的样本训练学习得到一个分类器,然后用这个分类器对大量未标记的样本进行测试,然后重新调整训练样本,进一步重新训练分类器,通过这样逐渐改进分类器的性能,提高准确度。通过这个例子,我们可以看出P专家增加了分类器的鲁棒性,N专家增加了分类器的判别能力。

            P-N理论在学习模块的应用:首先是如何产生大量的正负样本问题。具体步骤如下:在初始化的时候,会产生大量的滑动窗口,一一计算出滑动窗口与框定的目标框的重叠度,挑选出重叠度最好的若干个目标框作为训练的正样本,挑选出重叠度很低的矩形框的作为训练的负样本。随后将上述的负样本分为两部分,用其中的一部分负样本和所有正样本來训练分类器;在初始训练分类器的时候会给定一个初始经验阈值,利用P-N学习理论对正负样本进行划分,然后根据给定的正样本和负样本来不断纠正阈值,直到训练完所有的样本,最后在将剩余的一部分没有使用的负样本来检测训练的效果进一步纠正改善训练器的效果。



            当集合分类器和最近邻分类器都利用初始条件训练好了以后,就可用它来对每一帧运行过程中生成的滑动窗口进行检测,如果最后通过所有通过分类的滑动窗口满足一定的条件后,又可用这些满足条件的图像片作为样本来通过学习模块进一步训练分类器。这样每到视频序列每次走过一帧时,重复上述过程,集合分类器和最近邻分类器的阈值就能不断的进行修正,从而动态的保证这个过程最佳。

    综合模块

            综合模块是跟踪、检测结果汇总输出。检测模块会影响到跟踪模块的最终结果,没有跟踪到目标也有可能最终通过检测模块得到目标框,跟踪模块和检测模块共同定位输出的跟踪目标框位置。


            TLD算法综合模块的处理框架。首先,求得所有通过的检测模块(就是成功通过兰大分类器后的)的矩形框两两之间的重爵度和其相似度,然后将重叠度和相似度进行聚类得到聚类后的重叠度与相似度,将此结果保存;其次,求出跟踪模块的重叠度与相似度,将结果予保存。最后对两个结果进行比对,综合相关条件进行判断,从而输出最后定位的目标框位置。

            综合模块将跟踪与检测模块的结果予以汇总判断,完成定位跟踪目标的边界框。按照检测模块能否检测成功,跟踪模块是能否跟踪成功的原则,两两进行组合。会有四种情况,即就是跟踪成功检测成功;跟踪成功检测失败;跟踪失败检测成功;跟踪失败检测失败。

            (1)跟踪成功检测成功

            检测成功指的是至少有一个滑动窗口通过检测模块,所以根据通过通过检测的滑动窗口数量,分为3种情况考虑。一是,如果通过后只有一个矩形框,不进行聚类,直接计算相关相似度,得到的信息直接进入信息综合判定处。二是,如果通过后有两个矩形框,则首先计算两个矩形框的重叠度,再计算相似度,最后将他们的结果聚类输出到信息综合判定处。三是,如果通过后的矩形框多于两个,则分别计算窗口两两之间的重叠度,按照重叠度与阈值的关系将其分为多个等价类。为了便于理解,特举一实例。如果此时通过检测模块后有七个矩形框,通过计算两两间的重叠度并与阈值相比较,发现1,2,3是一类计为A类,4,5是一类计为B类,6,7是一类计为C类,这个过程就完成了聚类。然后统计出A类、B类、C类的相关信息,如坐标信息,高度、宽度,保守相似度等。对于每一种类型信息求其平均值作为最终的参数值保存输出到信息综合判定处。

            另一方面,跟踪模块也有通过的矩形框。计算通过检测模块的矩形框与通过跟踪模块的矩形框的重叠度。如果重叠度很小但是通过检测模块矩形框的保守相似度大于通过跟踪模块矩形框的保守相似度,这时候认为寻找成功了一个聚类中心离跟踪模块得到的矩形框距离较远但是比跟踪模块更加可信。这时候重新用检测模块的那个矩形框的参数重新初始化跟踪器,并输出定位目标。如果重叠度很大则将通过检测模块的矩形框和通过跟踪模块的矩形的信息值按照权位值累加方式求其平均值,其中跟踪模块占据的比重大,检测模块占据的比重小,即就是检测模块辅助纠正跟踪模块定位的矩形框。

            总之如果有跟踪到目标框并检测到目标框,那么对检测到的结果聚类得到相关输出结果,判断聚类中心、与跟踪器的重叠率和可信度,如果两者重叠度低且检测模块的可信度更高,那么用检测模块的结果修正跟踪模块的结果,也即用检测器修正跟踪器;如果重叠率接近,那么用检测器和跟踪器结果加权平均得到结果作为最终输出结果,其中跟踪器的权重更大。

            (2)跟踪成功检测失败

            如果特征矩形框通过跟踪模块后,跟踪成功。但是检测器分类后没有矩形框,这时候认为跟踪成功,直接将跟踪成功的矩形框输出作为最终的定位目标框的参数。

            (3)跟踪失败检测成功

            如果跟踪模块跟踪失败,但是通过检测模块有至少一个矩形框检测成功。将检测模块的矩形框进行聚类,如果最终聚类的结果只有一个聚类中心,则用此聚类的结果重新初始化跟踪模块,并将聚类的结果作为定位输出结果。如果聚类中也有多个,说明虽然通过了检测器,但是有多个不同的位置,也认为检测失败,不输出结果。

            (4)跟踪失败检测失败

            如果跟踪和检测模块均失败了,则认为此次检测之间无效,丢弃。

            对于综合模块来说,其实就是用跟踪模块和检测模块的结果进行综合考虑,前提是检测器有检测到目标框的结果,对目标框进行聚类得到聚类结果,然后根据跟踪器的结果的情况来分析:如果根据模块跟踪的结果存在,观察跟踪模块与检测模块聚类后的重叠率,如果重叠率低但是检测模块的可信度高,用检测模块聚类后的结果去修正跟踪模块的参数;如果重叠率接近,将跟踪模块的结果和检测模块聚类后加权平均得到当前倾跟踪结果的输出结果,但是跟踪器权重较大;如果跟踪模块没有跟踪到目标框,看检测模块中聚类结果是否只有一个中心,则其为当前帧跟踪结果,如果不只一个中心则将聚类结果丢弃,当前帧没有跟踪到。

    TLD开源代码:

                    给几个开源的代码。

                    https://www.cnblogs.com/molakejin/p/7396132.html


    展开全文
  • TLD跟踪算法源码及解析

    热门讨论 2013-08-23 16:52:18
    TLD跟踪算法在vs2012+opencv2.4.5环境下的C++源码
  • TLD跟踪算法中的类成员函数的分析,有利于理解TLD跟踪算法
  • 对跟踪-学习-检测(Tracking-Learning-Detection,TLD)目标跟踪算法进行改进,在原算法中的跟踪模块和检测模块之间引入了帧间差检测方法,将帧间差法检测到的含有前景目标的窗口传送给TLD检测模块的级联分类器,...
  • 网上的TLD跟踪算法,自己配置成了OpevCV2.4.10版本的,可以运行
  • TLD跟踪算法c++版

    2017-12-10 21:08:09
    提供了TLD算法的c++版本的所有代码,较为实用,方便使用
  • TLd跟踪算法

    2016-06-21 21:16:47
     TLD(Tracking-Learning-Detection)是英国萨里大学的一个捷克籍博士生Zdenek Kalal在其攻读博士学位期间提出的一种新的单目标长时间(long term tracking)跟踪算法。该算法与传统跟踪算法的显著区别在于将传

    文章来自:http://blog.csdn.net/zouxy09/article/details/7893011

                TLD(Tracking-Learning-Detection)是英国萨里大学的一个捷克籍博士生Zdenek Kalal在其攻读博士学位期间提出的一种新的单目标长时间(long term tracking)跟踪算法。该算法与传统跟踪算法的显著区别在于将传统的跟踪算法和传统的检测算法相结合来解决被跟踪目标在被跟踪过程中发生的形变、部分遮挡等问题。同时,通过一种改进的在线学习机制不断更新跟踪模块的“显著特征点”和检测模块的目标模型及相关参数,从而使得跟踪效果更加稳定、鲁棒、可靠。

              作者网站的链接http://info.ee.surrey.ac.uk/Personal/Z.Kalal/

              其开放源代码,在网站上可以下载到源代码已经其demo程序,但是源代码是由MatlabC写的,对于我这种不懂Matlab的菜鸟来说,看代码就像天书;但很庆幸,有一个大牛已经用c++TLD重新写好了,而且代码很规范。并且提供源码下载:

              https://github.com/arthurv/OpenTLD

              源码为Linux版本,基于Opencv2.3 在源码/doc文件夹下有其程序设计接口,很清晰。  ZK关于这个TLD框架发表了很多论文,感觉对理解代码非常有用的论文有下面三个:

            (1Tracking-Learning-Detection

            (2Forward-Backward Error Automatic Detection of Tracking Failures

            (3Online learning of robust object detectors during unstable tracking

             在作者的网站上好像也提供下载了,另外自己学习的过程中,也搜到了不少大牛对TLD的分析,得到了很多帮助,具体有:

           (1)《庖丁解牛TLD》系列:http://blog.csdn.net/yang_xian521/article/details/7091587

           (2)《再谈PN学习》:http://blog.csdn.net/carson2005/article/details/7647519

           (3)《比微软kinect更强的视频跟踪算法--TLD跟踪算法介绍》:http://blog.csdn.net/carson2005/article/details/7647500

           (4)《TLD视觉跟踪技术解析》:http://www.asmag.com.cn/number/n-50168.shtml

    展开全文
  • TLD跟踪算法(纯C++版本)

    热门讨论 2013-01-10 20:29:05
    TLD跟踪算法(纯C++版本) 某大牛重新编写的C++版本,脱离MATLAB,CSDN上有人有详细的代码注释
  • tld跟踪算法集合

    2015-08-20 17:45:20
    将自己收集的tld学习资料集合在一起,包括tld源码(matlab版本的,c++ubuntu版本的),c++的几乎都有注释,tld原始论文,tld原始论文的翻译,国内改进的tld算法论文,部分跟踪算法网址。
  • TLD目标跟踪算法

    千次阅读 2019-05-08 11:02:31
    TLD目标跟踪算法 原文地址:[https://wenku.baidu.com/view/7319071bf68a6529647d27284b73f242336c31a3.html]
    展开全文
  • TLD跟踪算法,用VC2008封装,做了详细注释,添加了相应的调试代码,可以直接使用。
  • tld跟踪算法安卓版

    2014-05-06 11:04:45
    tld跟踪算法安卓版,单目标长时间跟踪,可以感受一下这种跟踪效果
  • TLD跟踪算法的实现,VS2008下的实现,工程可用 OPencv246 ,请修改为自己的opencv版本; 其余注意事项见压缩文件夹内的说明.txt
  • VS2010的TLD跟踪算法

    2013-03-05 13:56:29
    VS2010环境的TLD跟踪算法,配置好的PC实时性不错,使用摄像头跟踪
  • 半自主单目标跟踪人工跟踪:每一帧都需要人互动输入主动跟踪:需要目标的先验信息初始化半主动跟踪:第一帧需要人互动输入去初始化跟踪程序1 Tracking:在这个方法中,没有目标的先验信息,需要外部的初始化。...


    半自主单目标跟踪
    人工跟踪:每一帧都需要人互动输入
    主动跟踪:需要目标的先验信息初始化
    半主动跟踪:第一帧需要人互动输入去初始化跟踪程序


    1 Tracking:
    在这个方法中,没有目标的先验信息,需要外部的初始化。在本文的方法中,初始化是通过在第一帧进行人为的干预。
    首先,在第t帧的边界框中构造一个等距的点集,在左边的图像中显示。接下来,使用Lucas和Kanade的方法对每一个点的光流进行估计。这个方法,对于位于拐角的点并且同一区域没有跟踪点是最合适的。
    通过使用Lucas-Kanade方法的信息之外,还引用了两个不同的误差指标,正则化交叉相关,和前向后向误差,去过滤掉错误的跟踪点。
    如果所有的点的FBerror的均值如果大于阈值,就会认为跟踪产生了漂移整个递归的跟踪会被全部停止。
    最后,剔除掉错误的跟踪点和不好的点,剩下的点被用于估计下一阵目标框的位置,通过使用一个位移和尺度的模型。
    1.1 光流法的估计:
    Lucas and Kanade 提出光流法, 基于以下 三个假设
    1,光照不变(亮度)

    d是位移向量
    2,小动作幅度(temporal persistence)于是有以下近似公式:
    所以位移向量能这样近似估计:
    3.空间协同性,在一个像素的附近小窗口内,所有像素协同运动,通过这个假设,d可以通过最小化(2.4):
    2.4闭式解:

    1.2 误差测量:
    三个指标
    1。G矩阵的两个的特征值:在两个方向上都有梯度时,只有当这两个特征值足够大时这个G矩阵才是确实可靠地可逆的。
    2。前向后向误差, p是原图的点, LK(p)是进行一次光流计算,p两飘是点经过前向和后向的光流传导后的点, 如果向前向后之后这个点的距离与原点差距很小(欧式距离)那么认为这个点适合作为光流法进行计算位移矢量计算。
    3。空间协同性: 第三个误差基于图块附近(P)以及跟踪结果的附近(P一飘)的相似程度。 另外,两个图块p1和p2的相似程度是用正则化交叉相关(NCC)来衡量的:
    u1,u2,theta1,theta2是均值和标准差。ncc越大越相似。
    1.3 平移模型:
    medFB:所有前后向误差的均值, medNCC:所有近似性(NCC)的平均值。
    几个规则: 只使用小于medFB并且大于medNCC的点去进行FB计算。
    如果medFB大于thetaFB阈值,那么终止跟踪,认为跟踪失败。
    算法流程
    2 Detection:
    当递归跟踪器自身无法维持目标模型进而无法从失败中恢复,目标检测就会让我们能够重新初始化。
    使用滑窗的方法进行全局搜索。
    一个分辨率640x480的图片,可以生成50000到200000个窗口,每个宽口都会单独进行目标检测。每一个次级窗口都会进行串联式的四个阶段的筛选,串联机制就是为了剔除掉不相关的次级窗口。
    第一阶段: 背景差分,剔除掉属于背景的次级宽口,把搜索区域限制在前景范围(需要一个背景的模型,如果没有这步会跳过)。
    第二阶段:方差抑制,剔除掉方差小于阈值的窗口。
    第三阶段:随机撅,一个集成分类器
    第四阶段:相似性检测模板匹配,基于正则化相关系数。
    2.1 滑窗方法:
    首先呢,一个输入图像的次级窗口有很多个,量级巨大,并且其数量级的增长呈n的4次方增长(nxn尺寸)。
    为了限制次级窗口的数量,建立这样一个亚空间:R
    两个相邻的次级窗口在边长上的增量dx and dy,=1/10初始窗口边长。
    然后尺度因子:s = 1.2a,a ∈ {−10. . .10}
    w,h是初始框的边长,n,m是图像的宽高
    例如:对于w=80,h=60,一个VGA图像中的次级窗口的数量是:146190个。
    每个亚窗口独立测试(多线程)。
    2.2 前景检测:
    背景去除可以加速程序,分为4步:
    1。Ibg and I的绝对距离,Ibg是背景图。
    2。Ibinary:阈值设置为16,大于100是前景置1,小于16是背景置0,生成一个二进制图像Ibinary。
    3,标签算法:在二进制图像中,为1的称为白像素,要把白像素连接成为组件,进而找到前景所在的组件,然后用一个最小的框把前景组件框起来。连接白像素点为组件的过程使用了标签算法。
    4。最小前景边框:在找到所有可能是前景的组件之后,还需要剔除掉比较小的组件,找到最主要的组件,然后用一个最小的框把前景组件框起来。
    2.3 方差滤波器:
    在这个部分,我们提出了一个机制:
    使用积分图去计算一个亚窗口的方差,如果一个图块的方差低于阈值theta2min,这个图块就会被去除。
    这个机制能快速地去除背景元素。但是不能区分不同的目标。
    计算反差步骤:
    一个图像块B被看成一个一维的向量。并且,第i个像素用xi符号去表示。对于图像来说,方差的公式是:
    n是图块像素总数,u是:
    3.4式子的一个替代公式是:
    如果直接使用3.6式子进行方差计算,对于n个像素的图块,需要进行n次记忆查询,并且对于有重合的两个图块来说,计算还会重复。所以提出一个新方法,把原图I转换成积分图I'。这样只需要进行8次记忆查询。
    积分图I':
    积分图的性质:可以被分解为四部分:

    那么对于某个图块(ABCD)中像素的总和,它可以使用积分图来计算:
    式子中的B是图块框B.(x y w h)
    用一维积分图的方法3.9(3.10)可以用来计算3.6式子中的u=I'(B)/n.
    然后3.6中还有一部分∑xi²同样也可以使用类似的方法,二维积分图。
    最终可以使用3.13式子,利用一维和二维积分图快速计算图块B方差。
    ABCD内像素的总和的计算步骤:从左上原点加到D,减去原点到B减去原点到C,加上原点到A.
    通过积分图进行四次查询就可以完成计算。
    2.4 集成分类器:
    随机厥:
    单个撅的步骤:
    随机撅步骤举例,在算法跟踪初始化的时候,在随机生成S个( 使用特征的个数)像素对位置(di,1 and di,2),初始化之后这些像素对位置就不再变化了(相当于一个随机生成的二进制特征提取)人,如上面例子所示:
    对于 单个撅来说:
    1。初始化,随机选定4个( S=4,使用特征的个数)像素对位置,(di,1 and di,2).
    2。亮度对比,对比每个像素对位置对应的像素的亮度.如果I(di,1)大于I(di,2),者置1,否则置0
    3。例子中是1101,翻译为十进制为F=13(特征值),S是特征的个数( S=4),这会决定特征值F的最大值 2S −1.。
    4。检索概率,特征值F是用来检索概率 P(y = 1 | F) ,y=1表示事件:当前亚窗口中含有正样本。具体的概率计算方法会在第4部分讲解。
    5。随机撅正样本概率分数:
    PFk是P-约束在当前特征提取中应用的次数,NFk是N-约束应用的次数。 概率分数具体的计算将在Learning中详细讲解。
    单个撅的算法流程:

    维数灾难:
    如果只使用单个撅,不得不使用大量的特征(大的S),但是与此同时训练样本的需求量同时也会增加,这个问题叫做维数灾难,具体解决方法被Amit and Geman 发现了,通过使用多个撅,最后把结果进行平均,这样就同样能获得满意的结果。
    对于TLD来说,使用了 3个撅 ,最后平均值(Ppos置信值)的计算公式:
    流程示例:
    2.5 模板匹配:
    这一部分的模板匹配更加严格,是像素级别的,把输入亚窗口图像resize到15X15,然后对比两个图像块 P1 and P2, 使用NCC(正则化相关系数):
    μ1,μ2,s1 and s2 是P1 and P2.的平均值和标准差 ,这个距离测量也叫做Pearson相关系数。
    从几何角度来翻译,这个系数代表了两个正则化向量的夹角余弦。NCC会生成-1到1的值,越接近1这两个图像块就越相似。 对于ncc值处于0-1之间的值,我们定义了一个距离公式:
    正样本模板P+ 和负样本模板 P−都会保存。模板在线学习。
    对于未知标签的输入图块P:
    与正样本的距离:
    与负样本的距离:
    置信度P+:
    知道输入样本点距离正样本的距离 d+以及与负样本的距离d-之后,引入一个 置信分数p+(代表是正样本的概率大小,越大越可能是正样本):


    正样本负样本例子
    置信分数P+与d+和d-的关系。
    2.6 非最大值抑制 :
    问题提出 :
    绿框是目标的检测,还款阿甘是其他同样拥有高置信度的重叠的亚窗口。
    Blaschk指出,只考虑产生最大置信度分数的那个亚窗口是有问题的,因为其可能不是最佳结果,其会导致其他局部最大值结果被忽视掉。所有引入非最大值抑制策略就很合适,可以用来识别有关的局部最大值。
    重叠度计算:

    算法策略:
    使用阶层式分群演算法( hierarchical clustering algorithm ):
    1。计算所有置信的边界框之间的两两重叠度。
    2。从一个边界框开始,搜寻最近的边界便借款, 如果这个距离小于给定的 中止阈值,我们就把这个框放进同样的集群中,而且,如果其中一个边框已经在集群中了,我们就会合并这些集群。 如果重叠率高于中止阈值(?????为什么是重叠度高) ,我们就把他们放进不同的集群中。
    3。然后进行到下一个边界框,我们使用0.5作为 中止阈值。
    detection汇总:
    各个部分计算量需求:
    detection递进算法 :
    3 Learning:
    由于tracking和detection是平行同步运行的,而Learning就是去结合这两个方法的输出变成一个唯一的结果。
    首先,除了背景模型和方差滤波器的阈值不是自适应的(需要提前给出,无法自适应改变)。 集成分类器和模板匹配都是在线训练的。
    在Learning中,我们实施了两个P/N-Learning 约束, 第一个约束是在最终结果附近的所有图块都要检测器识别为正样本。而其他图块必须被检测器识别为负样本(即不存在正样本误识别,负样本正识别的错误发生)。
    3.1 融合和有效性:
    融合递归tracker 结果Rt和置信度detection结果Dt为一个最终结果Bt的算法:

    p+Dt detection置信值,p+Rt tracking置信值。
    line4,5:当检测器的置信值比跟踪器的高时,然后就会把检测器的响应作为最后结果,这个过程称为 重-初始化过程,line7,否则就把置信度较高的跟踪器结果作为最终结果。对于其他特殊情况,最终结果为空,因为此时目标可能不可见。
    valid(Bt) 是表示最终结果Bt的正确性(表征着对最终结果的高度置信)。只有valid(Bt)是true,接下来的学习更新步骤才会进行。
    最终结果是否有效(valid(Bt) ),有几个条件:
    1,跟踪器没有被检测器 重-初始化 。line4
    2,跟踪器的置信值高于上阈值 theta+ 。line8
    3,或者在 前一帧的结果是有效的情况下(valid(Bt−1)=1)跟踪器的阈值高于下阈值theta-。line10
    上阈值 theta+表示结果属于正样本集合。
    下阈值 theta-(=0.5)表示结果属于负样本集合。
    3.2 P/N-Learning :
    一个半监督学习,既有标记的样本也有未标记的样本。
    在p/nlearning中,这里有两种约束:
    P-约束:识别哪些被错误分为负样本的样本(实际应该是正),并把其放入正样本集合中,(纠正漏检)。P约束要求所有与最终结果高度重合(>60%)的图块必须被分类为正样本。
    N-约束:识别哪些被错误分为正样本的样本(实际应该是负),并把其放入负样本集合中,(纠正误检)。N约束要求所有与有效的最终结果不重合(<20%)的必须被分类为负样本 。
    PN约束
    Xu:未标记样本,Xl:标记过的样本,Xc:分类错误的例子,Xt:用于训练分类器样本。R:滑窗亚窗口空间。
    流程:
    1。xu经过分类器,给定标签Yu-》Xu。
    2。P/N约束根据准则,识别分类错误的Xc,并给定标签Yc-》Xc。
    3。Xl与Xc一起作为训练集,进入训练模块。
    4。训练结果用于更新分类器。
    P/N算法流程:

    A:置信度高,学习在进行,但是没有更新正样本库,B:正样本库更新,C:置信度地狱下阈值,结果无效,学习不进行 D:虽然D在上下阈值之间,但是前一帧结果无效,故不满足结果Bt有效的条件3,所有结果无效,不学习无更新。
    P(y = 1 | Fk):
    随机撅中正样本概率分数P(y = 1 | Fk)的计算方法:
    PFk是P-约束在当前特征提取中应用的次数,NFk是N-约束应用的次数。
    3.3 算法主循环:
    3.4 其他人总结Learning:
    (1)初始化
    1 在扫描网格中选择距离初始目标框最近的10个方框,在每个方框的内部进行20次几何变换(±1%偏移和尺度变化,±10%平面内旋转), 则10个box产生200个仿射变换的方框,作为集成分类器的正样本Px;
    2 目标框外的其他图像块都是负样本,将其中方差大于阈值的图像块都加入集成分类器的负样本Nx;
    3 初始化后验概率。
    (2)P-约束
    P-expert根据在线模型评估跟踪器结果的可靠性。如果当前位置可靠,则生成一组正样本去更新目标模型和集合分类器。生成正样本的方法与初始化时类似,但是只生成100个正样本。
    (3)N-约束
    N-expert 生成负训练样本。如果跟踪器结果可靠,那么距离目标位置较远(重叠度 < 0.2)的方框将被标注为负样本。

    半自主单目标跟踪
    人工跟踪:每一帧都需要人互动输入
    主动跟踪:需要目标的先验信息初始化
    半主动跟踪:第一帧需要人互动输入去初始化跟踪程序


    1 Tracking:
    在这个方法中,没有目标的先验信息,需要外部的初始化。在本文的方法中,初始化是通过在第一帧进行人为的干预。
    首先,在第t帧的边界框中构造一个等距的点集,在左边的图像中显示。接下来,使用Lucas和Kanade的方法对每一个点的光流进行估计。这个方法,对于位于拐角的点并且同一区域没有跟踪点是最合适的。
    通过使用Lucas-Kanade方法的信息之外,还引用了两个不同的误差指标,正则化交叉相关,和前向后向误差,去过滤掉错误的跟踪点。
    如果所有的点的FBerror的均值如果大于阈值,就会认为跟踪产生了漂移整个递归的跟踪会被全部停止。
    最后,剔除掉错误的跟踪点和不好的点,剩下的点被用于估计下一阵目标框的位置,通过使用一个位移和尺度的模型。
    1.1 光流法的估计:
    Lucas and Kanade 提出光流法, 基于以下 三个假设
    1,光照不变(亮度)

    d是位移向量
    2,小动作幅度(temporal persistence)于是有以下近似公式:
    所以位移向量能这样近似估计:
    3.空间协同性,在一个像素的附近小窗口内,所有像素协同运动,通过这个假设,d可以通过最小化(2.4):
    2.4闭式解:

    1.2 误差测量:
    三个指标
    1。G矩阵的两个的特征值:在两个方向上都有梯度时,只有当这两个特征值足够大时这个G矩阵才是确实可靠地可逆的。
    2。前向后向误差, p是原图的点, LK(p)是进行一次光流计算,p两飘是点经过前向和后向的光流传导后的点, 如果向前向后之后这个点的距离与原点差距很小(欧式距离)那么认为这个点适合作为光流法进行计算位移矢量计算。
    3。空间协同性: 第三个误差基于图块附近(P)以及跟踪结果的附近(P一飘)的相似程度。 另外,两个图块p1和p2的相似程度是用正则化交叉相关(NCC)来衡量的:
    u1,u2,theta1,theta2是均值和标准差。ncc越大越相似。
    1.3 平移模型:
    medFB:所有前后向误差的均值, medNCC:所有近似性(NCC)的平均值。
    几个规则: 只使用小于medFB并且大于medNCC的点去进行FB计算。
    如果medFB大于thetaFB阈值,那么终止跟踪,认为跟踪失败。
    算法流程
    2 Detection:
    当递归跟踪器自身无法维持目标模型进而无法从失败中恢复,目标检测就会让我们能够重新初始化。
    使用滑窗的方法进行全局搜索。
    一个分辨率640x480的图片,可以生成50000到200000个窗口,每个宽口都会单独进行目标检测。每一个次级窗口都会进行串联式的四个阶段的筛选,串联机制就是为了剔除掉不相关的次级窗口。
    第一阶段: 背景差分,剔除掉属于背景的次级宽口,把搜索区域限制在前景范围(需要一个背景的模型,如果没有这步会跳过)。
    第二阶段:方差抑制,剔除掉方差小于阈值的窗口。
    第三阶段:随机撅,一个集成分类器
    第四阶段:相似性检测模板匹配,基于正则化相关系数。
    2.1 滑窗方法:
    首先呢,一个输入图像的次级窗口有很多个,量级巨大,并且其数量级的增长呈n的4次方增长(nxn尺寸)。
    为了限制次级窗口的数量,建立这样一个亚空间:R
    两个相邻的次级窗口在边长上的增量dx and dy,=1/10初始窗口边长。
    然后尺度因子:s = 1.2a,a ∈ {−10. . .10}
    w,h是初始框的边长,n,m是图像的宽高
    例如:对于w=80,h=60,一个VGA图像中的次级窗口的数量是:146190个。
    每个亚窗口独立测试(多线程)。
    2.2 前景检测:
    背景去除可以加速程序,分为4步:
    1。Ibg and I的绝对距离,Ibg是背景图。
    2。Ibinary:阈值设置为16,大于100是前景置1,小于16是背景置0,生成一个二进制图像Ibinary。
    3,标签算法:在二进制图像中,为1的称为白像素,要把白像素连接成为组件,进而找到前景所在的组件,然后用一个最小的框把前景组件框起来。连接白像素点为组件的过程使用了标签算法。
    4。最小前景边框:在找到所有可能是前景的组件之后,还需要剔除掉比较小的组件,找到最主要的组件,然后用一个最小的框把前景组件框起来。
    2.3 方差滤波器:
    在这个部分,我们提出了一个机制:
    使用积分图去计算一个亚窗口的方差,如果一个图块的方差低于阈值theta2min,这个图块就会被去除。
    这个机制能快速地去除背景元素。但是不能区分不同的目标。
    计算反差步骤:
    一个图像块B被看成一个一维的向量。并且,第i个像素用xi符号去表示。对于图像来说,方差的公式是:
    n是图块像素总数,u是:
    3.4式子的一个替代公式是:
    如果直接使用3.6式子进行方差计算,对于n个像素的图块,需要进行n次记忆查询,并且对于有重合的两个图块来说,计算还会重复。所以提出一个新方法,把原图I转换成积分图I'。这样只需要进行8次记忆查询。
    积分图I':
    积分图的性质:可以被分解为四部分:

    那么对于某个图块(ABCD)中像素的总和,它可以使用积分图来计算:
    式子中的B是图块框B.(x y w h)
    用一维积分图的方法3.9(3.10)可以用来计算3.6式子中的u=I'(B)/n.
    然后3.6中还有一部分∑xi²同样也可以使用类似的方法,二维积分图。
    最终可以使用3.13式子,利用一维和二维积分图快速计算图块B方差。
    ABCD内像素的总和的计算步骤:从左上原点加到D,减去原点到B减去原点到C,加上原点到A.
    通过积分图进行四次查询就可以完成计算。
    2.4 集成分类器:
    随机厥:
    单个撅的步骤:
    随机撅步骤举例,在算法跟踪初始化的时候,在随机生成S个( 使用特征的个数)像素对位置(di,1 and di,2),初始化之后这些像素对位置就不再变化了(相当于一个随机生成的二进制特征提取)人,如上面例子所示:
    对于 单个撅来说:
    1。初始化,随机选定4个( S=4,使用特征的个数)像素对位置,(di,1 and di,2).
    2。亮度对比,对比每个像素对位置对应的像素的亮度.如果I(di,1)大于I(di,2),者置1,否则置0
    3。例子中是1101,翻译为十进制为F=13(特征值),S是特征的个数( S=4),这会决定特征值F的最大值 2S −1.。
    4。检索概率,特征值F是用来检索概率 P(y = 1 | F) ,y=1表示事件:当前亚窗口中含有正样本。具体的概率计算方法会在第4部分讲解。
    5。随机撅正样本概率分数:
    PFk是P-约束在当前特征提取中应用的次数,NFk是N-约束应用的次数。 概率分数具体的计算将在Learning中详细讲解。
    单个撅的算法流程:

    维数灾难:
    如果只使用单个撅,不得不使用大量的特征(大的S),但是与此同时训练样本的需求量同时也会增加,这个问题叫做维数灾难,具体解决方法被Amit and Geman 发现了,通过使用多个撅,最后把结果进行平均,这样就同样能获得满意的结果。
    对于TLD来说,使用了 3个撅 ,最后平均值(Ppos置信值)的计算公式:
    流程示例:
    2.5 模板匹配:
    这一部分的模板匹配更加严格,是像素级别的,把输入亚窗口图像resize到15X15,然后对比两个图像块 P1 and P2, 使用NCC(正则化相关系数):
    μ1,μ2,s1 and s2 是P1 and P2.的平均值和标准差 ,这个距离测量也叫做Pearson相关系数。
    从几何角度来翻译,这个系数代表了两个正则化向量的夹角余弦。NCC会生成-1到1的值,越接近1这两个图像块就越相似。 对于ncc值处于0-1之间的值,我们定义了一个距离公式:
    正样本模板P+ 和负样本模板 P−都会保存。模板在线学习。
    对于未知标签的输入图块P:
    与正样本的距离:
    与负样本的距离:
    置信度P+:
    知道输入样本点距离正样本的距离 d+以及与负样本的距离d-之后,引入一个 置信分数p+(代表是正样本的概率大小,越大越可能是正样本):


    正样本负样本例子
    置信分数P+与d+和d-的关系。
    2.6 非最大值抑制 :
    问题提出 :
    绿框是目标的检测,还款阿甘是其他同样拥有高置信度的重叠的亚窗口。
    Blaschk指出,只考虑产生最大置信度分数的那个亚窗口是有问题的,因为其可能不是最佳结果,其会导致其他局部最大值结果被忽视掉。所有引入非最大值抑制策略就很合适,可以用来识别有关的局部最大值。
    重叠度计算:

    算法策略:
    使用阶层式分群演算法( hierarchical clustering algorithm ):
    1。计算所有置信的边界框之间的两两重叠度。
    2。从一个边界框开始,搜寻最近的边界便借款, 如果这个距离小于给定的 中止阈值,我们就把这个框放进同样的集群中,而且,如果其中一个边框已经在集群中了,我们就会合并这些集群。 如果重叠率高于中止阈值(?????为什么是重叠度高) ,我们就把他们放进不同的集群中。
    3。然后进行到下一个边界框,我们使用0.5作为 中止阈值。
    detection汇总:
    各个部分计算量需求:
    detection递进算法 :
    3 Learning:
    由于tracking和detection是平行同步运行的,而Learning就是去结合这两个方法的输出变成一个唯一的结果。
    首先,除了背景模型和方差滤波器的阈值不是自适应的(需要提前给出,无法自适应改变)。 集成分类器和模板匹配都是在线训练的。
    在Learning中,我们实施了两个P/N-Learning 约束, 第一个约束是在最终结果附近的所有图块都要检测器识别为正样本。而其他图块必须被检测器识别为负样本(即不存在正样本误识别,负样本正识别的错误发生)。
    3.1 融合和有效性:
    融合递归tracker 结果Rt和置信度detection结果Dt为一个最终结果Bt的算法:

    p+Dt detection置信值,p+Rt tracking置信值。
    line4,5:当检测器的置信值比跟踪器的高时,然后就会把检测器的响应作为最后结果,这个过程称为 重-初始化过程,line7,否则就把置信度较高的跟踪器结果作为最终结果。对于其他特殊情况,最终结果为空,因为此时目标可能不可见。
    valid(Bt) 是表示最终结果Bt的正确性(表征着对最终结果的高度置信)。只有valid(Bt)是true,接下来的学习更新步骤才会进行。
    最终结果是否有效(valid(Bt) ),有几个条件:
    1,跟踪器没有被检测器 重-初始化 。line4
    2,跟踪器的置信值高于上阈值 theta+ 。line8
    3,或者在 前一帧的结果是有效的情况下(valid(Bt−1)=1)跟踪器的阈值高于下阈值theta-。line10
    上阈值 theta+表示结果属于正样本集合。
    下阈值 theta-(=0.5)表示结果属于负样本集合。
    3.2 P/N-Learning :
    一个半监督学习,既有标记的样本也有未标记的样本。
    在p/nlearning中,这里有两种约束:
    P-约束:识别哪些被错误分为负样本的样本(实际应该是正),并把其放入正样本集合中,(纠正漏检)。P约束要求所有与最终结果高度重合(>60%)的图块必须被分类为正样本。
    N-约束:识别哪些被错误分为正样本的样本(实际应该是负),并把其放入负样本集合中,(纠正误检)。N约束要求所有与有效的最终结果不重合(<20%)的必须被分类为负样本 。
    PN约束
    Xu:未标记样本,Xl:标记过的样本,Xc:分类错误的例子,Xt:用于训练分类器样本。R:滑窗亚窗口空间。
    流程:
    1。xu经过分类器,给定标签Yu-》Xu。
    2。P/N约束根据准则,识别分类错误的Xc,并给定标签Yc-》Xc。
    3。Xl与Xc一起作为训练集,进入训练模块。
    4。训练结果用于更新分类器。
    P/N算法流程:

    A:置信度高,学习在进行,但是没有更新正样本库,B:正样本库更新,C:置信度地狱下阈值,结果无效,学习不进行 D:虽然D在上下阈值之间,但是前一帧结果无效,故不满足结果Bt有效的条件3,所有结果无效,不学习无更新。
    P(y = 1 | Fk):
    随机撅中正样本概率分数P(y = 1 | Fk)的计算方法:
    PFk是P-约束在当前特征提取中应用的次数,NFk是N-约束应用的次数。
    3.3 算法主循环:
    3.4 其他人总结Learning:
    (1)初始化
    1 在扫描网格中选择距离初始目标框最近的10个方框,在每个方框的内部进行20次几何变换(±1%偏移和尺度变化,±10%平面内旋转), 则10个box产生200个仿射变换的方框,作为集成分类器的正样本Px;
    2 目标框外的其他图像块都是负样本,将其中方差大于阈值的图像块都加入集成分类器的负样本Nx;
    3 初始化后验概率。
    (2)P-约束
    P-expert根据在线模型评估跟踪器结果的可靠性。如果当前位置可靠,则生成一组正样本去更新目标模型和集合分类器。生成正样本的方法与初始化时类似,但是只生成100个正样本。
    (3)N-约束
    N-expert 生成负训练样本。如果跟踪器结果可靠,那么距离目标位置较远(重叠度 < 0.2)的方框将被标注为负样本。
    展开全文
  • TLD跟踪算法简介

    2015-01-23 11:16:21
    TLD(Tracking-Learning-Detection)是英国萨里大学的一个捷克籍博士生在其攻读博士学位期间提出的一种新的单目标长时间(long term tracking)跟踪算法。该算法与传统跟踪算法的显著区别在于将传统的跟踪算法和传统...
  • TLD算法跟CMT算法是同一个大神写的,不过现在已经停止更新了,原作者推荐使用CMT算法,不过还是要编译一下它比较一下两个有什么不同。因为TLD算法停止更新的时候还是OPenCV2.X,所以要移植到OPenCV3.0有点麻烦,所以...
  • 人脸跟踪:TLD跟踪算法

    千次阅读 2018-08-26 20:58:49
    https://github.com/arthurv/OpenTLD
  • C++代码写的TLD跟踪算法,直接编译运行,工程化案例,欢迎研究TLD目标跟踪的同道中人一起交流
  • TLD跟踪算法源代码(作者的MATLAB+C版本) 可以选择图区图片或是从摄像头采集视频源;可以选择图区图片或是从摄像头采集视频源
  • TLD跟踪算法介绍

    千次阅读 2013-01-23 15:24:46
    TLD(Tracking-Learning-Detection)是英国萨里大学的一个捷克籍博士生在其攻读博士学位期间提出的一种新的单目标长时间...该算法与传统跟踪算法的显著区别在于将传统的跟踪算法和传统的检测算法相结合来解决被跟踪
  • 尽管如此,还是希望大家耐心看下去,笔者相信通过我的程序也能使读者对TLD跟踪算法从理论上和编程实现上有一个比较全面清晰的认识。 程序中所包含的.cpp文件 其中 (1)源文件main为主体函数,主要包括读取...
  • TLD目标跟踪算法学习(二)

    万次阅读 2017-04-25 15:05:00
     正如名字所示,TLD算法主要由三个模块构成:追踪器(tracker),检测器(detector)和机器学习(learning)。  对于视频追踪来说,常用的方法有两种,一是使用追踪器根据物体在上一帧的位置预测它在下一帧的位置...
  • 视频跟踪算法--TLD跟踪算法介绍

    千次阅读 2016-03-11 15:25:43
    TLD(Tracking-Learning-Detection)是英国萨里大学的一个捷克籍博士生在其攻读博士学位期间提出的一种新的单目标长时间(long term tracking)跟踪算法。该算法与传统跟踪算法的显著区别在于将传统的跟踪算法和传统...
  • 最近在研究视频跟踪算法,在此将阅读论文及程序调试的结果进行记录与分享。欢迎高手指点! 1.视频跟踪 视频跟踪的任务是确定目标在视频图像序列中的位置、尺寸或者形状。 2、光流 光流是指图像中模式运动的速度...
  • TLD跟踪算法(单目标)相关资料

    千次阅读 2016-03-28 11:02:08
    一、目标跟踪 TLD(Tracking-Learning-Detection)学习与源码理解之(一) TLD(Tracking-Learning-Detection)学习与源码理解之(二) TLD(Tracking-Learning-Detection)学习与源码理解之(三) TLD...
  • TLD matlab版本源码链接:https://github.com/zk00006/OpenTLD 我所用的配置:64位win10 + visual studio 2015 + opencv 341 + matlab r2017b  源码下载之后直接run会发现报错:lk未定义,这是因为lk为mex文件夹...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,089
精华内容 835
关键字:

tld跟踪算法