一种基于改进的判决与生成联合模型的目标跟踪方法与流程

文档序号:11953587阅读:144来源:国知局
一种基于改进的判决与生成联合模型的目标跟踪方法与流程
本发明涉及一种改进的目标跟踪方法,可用于安全监控、交通监测、人机交互及军事等领域,属于计算机视觉技术研究领域。
背景技术
:随着科技发展的日新月异,越来越多的商店、银行、饭店、学校、车站、机场等公共场所,和军事相关的安全区域,甚至有些私人住宅都安放了视频监控系统。但其中多数应用场景中的监控系统,只能简简单单的完成视频的录制和保存。对于后续视频流的观察和分析都需要后续人力来执行。但这种监控方法存在明显的缺点,如高昂的人力成本,突发事件不能做到及时预警,人工监控错过异常的概率高等。为此,智能视频监控系统的研究就显得尤为重要了。作为智能监控领域最基本、最重要的研究方向——目标的检测与跟踪,其终极目标是希望机器能够像人类一样“看”世界,从而代替人眼完成目标的识别、分类、跟踪等任务。具体而言:在输入的视频或连续图像序列中,将目标物体检测、提取、识别和跟踪,从而获取目标的相关属性,比如在图像中的位置、目标本身尺度大小及外观变化,进一步可以获得目标的运动轨迹和速度等;此外还可以将跟踪结果进行更深一步的处理和分析,实现对目标行为的分析理解,或其他更高级别的任务,可广泛应用于安全监控、交通监测、人机交互、军事及医学等领域。因此,目标跟踪问题的研究,具有良好的发展和应用前景。目标跟踪技术发展至今已有三十余年,研究人员根据不同的应用场景,提出了很多种跟踪方法。按照不同的属性,跟踪方法可以分成不同的类别。从跟踪算法本身所使用的原理和框架角度上区分,跟踪算法可以分为判决模型和生成模型。基于判决模型的跟踪算法,把跟踪问题看做分类问题中的一种特例,特别是对于单目标跟踪时,可以认为是二分类问题,即搜索整个图片,将图片中的前景(跟踪目标)和背景进行正确判断、区分,最终得到跟踪结果。比较常用且性能较好的分类器有SVM和Adaboost分类器。如:文献2中,Avidan将一系列弱分类器集合成强分类器,通过在线学习训练方式,将目标从背景中检测区分开。基于生成模型的跟踪算法,利用前一帧图片的跟踪结果,从其邻域中寻找与目标特征最相近的区域,即寻找使得目标相似度函数最大的区域,其中比较有效的算法有卡尔曼滤波、粒子滤波等。如:文献3中,Adam等人提出一种算法,将目标描述成多个图像块,每个图像块与对应的模板图像块比较直方图,每个图像块对目标的最终位置和尺度投票,对上述的投票图统计联合分析得出跟踪目标。目标跟踪技术难点,主要有以下四个方面:a)复杂的背景干扰:在视频序列中,不断变化的背景是造成目标出现跟踪偏移的一个主要因素。例如,背景的纹理干扰信息可以使基于边缘检测的跟踪器失效;相似颜色的背景信息会导致基于颜色跟踪的跟踪器失效b)目标外观变化:跟踪目标有可能刚性物体,也同样有可能是非刚性物体。对非刚性跟踪目标,在视频序列中,目标物体本身外观在不断地变化,例如,跟踪目标为一个大熊猫,熊猫的蜷缩,站立等动作都会导致跟踪目标外观变化。对刚性跟踪目标,目标的旋转,例如,行人由正面转到侧面动作,同样会导致跟踪目标外观变化。由于目标外观在持续变化,这意味着跟踪器需要动态地更新目标表现模型,在算法中表现为,需要不断地更新模板。c)遮挡问题:被跟踪目标在跟踪场景中经常会遇到局部或完全的遮挡,如何解决处理遮挡问题,一直是跟踪算法改进的研究方向d)实时性:在一些跟踪场景中,除了精度的要求外,实时性指标也同样需要保证。但就现有技术来看,实时性和精度属于一对互斥的指标。与本发明相关的现有技术算法名称:SCM算法SCM算法模型的框图见附图1。SCM算法,(基于稀疏表示的联合模型),分为两个阶段,第一阶段:使用判决模型(DM)和生成模型(GM)的联合模型,得到每个候选目标的总相似度,取相似度最大的候选目标作为跟踪结果;第二阶段:根据跟踪结果,更新判决模型中模板T和生成模型中字典D,并将跟踪结果返回,当新一帧到达时,作为输入,通过仿射变换获取下一帧的候选目标。a)仿射变换仿射变换是一种二维坐标到二维坐标之间的线性变换,它保持了二维图形的“平直性”(即:直线经过变换之后依然是直线)和“平行性”(即:二维图形之间的相对位置关系保持不变,平行线依然是平行线,且直线上点的位置顺序不变)。仿射变换可以写为如下的形式:x′=ax+by+my′=cx+dy+n]]>仿射变换可以通过一系列的原子变换的复合来实现,包括:平移(Translation)、缩放(Scale)、翻转(Flip)、旋转(Rotation)和错切(Shear)。如附图2所示:因此,对上一帧的跟踪结果进行N次仿射变换,便可以得到N个候选目标,接下来送往判决模型和生成模型进行下一步处理。b)判决模型SCM算法,使用的判决模型为基于稀疏性的判决分类器。训练集由Np个正模板和Nn负模板构成。初始化时,首先选取跟踪目标。正模板的选取方式,从离跟踪目标比较近的半径区域内采样得到Np个正模板,同样可以由仿射变换得到。同理,负样本,从离初始跟踪目标较远的半径区域内获得Nn个负样本。由上述生成Np的和Nn个正负模板组合构成模板集T=[NpNn]。对每一个输入候选目标,首先进行特征选择。特征选择的目的是,降低计算的维数,提高计算速度。特征选择方式,PCA降维。T'=ST,S为投影矩阵,经过投影矩阵映射后,将会得到有判别性的特征空间,在该特征空间中更容易将前景(跟踪目标)和背景区分开。每个候选目标和模板T都将被映射到该特征空间中,得到其对应的特征。每个候选目标得到上述特征后,输入到分类器中去,求其置信值。首先,给定一个候选目标,尝试用训练模板集线性表示,可以得到其对应的稀疏系数,并可以求出其对应的重建误差。因为一个候选目标并不一定恰好可以由模板集中元素线性表示,若不能,则必然存在重建误差。minα||x′-T′α||22+λ||α||1]]>ϵ+=||x′-T+′α+′||22]]>ϵ-=||x′-T-′α-′||22]]>HC=exp(-(ε+-ε_)/σ)其中x'为候选目标特征,α为稀疏系数。T+'为Np对应的特征,T-'为Nn对应的特征,ε+为候选目标在前景模板集中的重建误差,ε-为候选目标在背景模板集中的重建误差。HC为候选目标的置信度值,σ为固定常量。不难理解,若候选目标为正样本,ε+必然小于ε-,因此,置信度值HC必然大于1;若候选目标为负样本,ε+必然大于ε_,因此,置信度值HC必然小于1。因此,该置信度值HC可以作为一个权值,和生成模型中的相似度值相乘得到最终的总相似度。c)生成模型SCM算法,采用的是基于稀疏表示的生成模型。初始化时,需要先生成字典D,字典的方法:首先对初始跟踪目标(已归一化为32*32图像块)进行分块,分成6*6的小块,任意两个相邻小块中心的距离为2,因此将得到196个6*6小块,通过k-means聚类算法,得到J(文中为50)个簇,这50个簇中心的灰度特征构成字典D。之后计算初始跟踪目标的每个6*6小块的稀疏系数,得到目标直方图ψ。minβ||yi-Dβi||22+λ2||βi||1]]>ψ=[β1T,β2T,...,βMT]T]]>其中yi为每个6*6小块的灰度特征,β为其稀疏表示系数,M为小块个数(本文中为196),ψ位初始跟踪目标直方图。同样,对每一个候选目标都进行相同方式的分块,得到每个候选目标的直方图。之后,进行遮挡判断,遮挡判断的目的是,判断上述的(6*6)小块,是否已经处于被遮挡的状态。遮挡判断的方式,求上述每个小块重建误差εi,并与预设阈值ε0比较,若小于ε0,则认为没有被遮挡,反之,认为该小块已经被遮挡。ϵi=||yi-Dβi||22]]>fi=1ϵi<ϵo0other]]>其中fi为每个小块是否被遮挡的标志。因此,对一个给定的候选目标,便可以得到其M个小块的遮挡标志,并最终得到该候选目标的遮挡矩阵F。该遮挡矩阵与上述得到的候选目标的直方图相乘,便可得到目标的加权直方图维的矩阵。候选目标与跟踪目标相似度Lc,计算如下:总相似度pc,计算如下:d)模板更新无论是目标外观的变化,遮挡,或是复杂的背景环境因素,都需要基于模板的检测/跟踪中的模板动态更新变化。SCM算法,更新判决模型中模板模式:每隔固定的帧数num_frame,对模板进行更新,只更新模板中的负模板,正模板不更新。具体更新方式:在远离该帧跟踪结果周围的区域内,通过仿射变换产生Nn个负模板,与初始化时采取相同的方式。更新生成模型的模式:每隔固定的帧数num_frame,根据该帧跟踪结果的遮挡程度决定是否更新,并且在更新时,只更新初始目标直方图,字典D不更新。具体更新方式如下:ψ=μψ+(1-μ)ρicOc<O0ψother]]>其中ρic为第i帧中第c个候选目标的直方图,表示第c个候选目标第i帧的跟踪结果。O0为直方图更新时,遮挡情况的阈值,Oc表示该候选目标的遮挡情况,具体如下:Oc=Σi=1J×M(1-fci)]]>现有技术的缺点上述SCM算法的缺点:a)在上述的生成模型中,由于模板更新时只更新了跟踪目标直方图,而没有更新用于计算正方图的字典D,将导致后续跟踪过程中,如果图像中的目标外观的相较于初始时目标外观变化很大时,无法正确跟踪目标b)在上述的生成模型中,对每个候选目标都进行了分块,但后续的判断过程都只是基于其灰度特征的判断,没有考虑每个小块在整个候选目标中的位置信息,在后续的跟踪过程中,容易产生跟踪漂移c)在上述的判决模型中,模板更新时,没有考虑现有跟踪结果与生成该帧的跟踪结果使用的候选目标集间的关系。比如生成最终的跟踪结果时使用的候选目标的置信度值在1附近,则说明当前的分类器,无法对这些现有的候选目标集合进行正确分类,此时,需要做的是根据跟踪结果,更新分类器,使其能够对当前候选目标集合进行正确分类,而不是像SCM算法中提到的那样,直接忽略,重新初始化模板,这样做会导致,分类器在后续跟踪中,错判的几率变大,进而导致跟踪出现差错。缩略语和关键术语定义AdaboostAdaptiveboosting自适应增强学习APGAcceleratedProximalGradient加速近端梯度法DMDiscriminativeModel判决模型GMGenerativeModel生成模型PCAPrincipalComponentAnalysis主成分分析SCMSparsity-basedCollaborativeModel基于稀疏性的联合模型SIFTScale-InvariantFeatureTransform尺度不变特征变换SVMSupportVectorMachine支持向量机参考文献:[1].WeiZhong,HuchuanLu,andMing-HsuanYang.RobustObjectTrackingviaSparseCollaborativeAppearanceModel[J].IEEETransactionOnImageProcessing,2014,23(5):2256-2368.[2].S.Avidan.Ensembletracking[J].IEEETransactionOnPatternAnalysisandMachineIntelligence,2007,29(2):261-271[3].AdamA,RivlinE,ShimshoniI.Robustfragments-basedtrackingusingtheintegralhistogram[C].IEEEConferenceonComputerVisionandPatternRecognition(CVPR),2006,798-805.技术实现要素:发明目的:本发明提供一种基于改进的判决与生成联合模型的目标跟踪方法,针对现有技术方案中存在的问题,进行分析解决:a)对上述SCM算法生成模型中,模板更新时只更新了跟踪目标直方图,而没有更新用于计算正方图的字典D导致后续出现跟踪错误的问题,提出采用基于增量子空间的方式更新字典D,从而提高跟踪精度。b)对上述SCM算法生成模型中,没有考虑使用小块在候选目标中的位置信息,导致后续跟踪出现跟踪漂移的问题,提出在现有生成模型的基础上,增加一个模块——基于小块位置信息的局部稀疏模型,来提高跟踪的精度。c)对上述SCM算法判决模型中,没有考虑现有分类器能否正确分类现有候选目标集合,使得后续分类器性能降低,进而导致跟踪错误的问题,提出使用半监督学习的方式更新分类器,使得分类器对现有候选目标集合进行正确判决,进而提高跟踪精度。技术方案:一种基于改进的判决与生成联合模型的目标跟踪方法,包括如下步骤:a)初始化步骤初始化部分,主要完成以下几个工作:(1)设置相关的参数,包括:用于生成候选目标的仿射变换参数affineparam;阈值的设置,主要有生成DM模板T时的正模板距目标中心的距离dp,负模板距目标中心的距离dn,GM模型中遮挡判断时每个小块被遮挡时的重建误差阈值εo,及模板更新过程中需要更新模板T时,跟踪结果对应的候选目标的置信度值分割整个候选目标集的置信度值集合的比例ω0,和更新GM字典D2、更新目标直方图ψ时的遮挡程度阈值O0;一些常量的设置,有仿射变换生成候选目标集合的大小Nsample,生成字典D2需要的帧数ND,生成DM模板T中,正模板数Np,负模板数Nn,需要更新GM模型时的帧间距Nupdate,生成DM置信度值的σ,候选目标归一化为块的大小psize0,第一种分块方式的块大小psize1,相邻块间距dp1,第二种分块方式的块大小psize2,相邻块间距dp2,及采用第一种分块时,生成字典D1的k-means聚类的簇中心数J。(2)产生初始的GM模型的字典D1和D2,获取初始目标的直方图ψ,得到初始DM模型的模板T,其中字典D1和模板T的生成方式与SCM算法一样。字典D2的生成方式,稍有不同。除了使用第一帧中的初始目标特征外,还要利用接下来ND-1帧中的跟踪目标特征。得到前ND帧跟踪结果之后,归一化到指定大小psize0,使用第二种分块方式对上述跟踪结果进行分块。注意上述的每种分块都要保证是正方形。psize0(1)和psize2(1)都是取正方形的边长。M2=psize0(1)-psize2(1)dp2+1]]>M2为第二种分块方式得到的psize2小块的个数。共ND帧,便可得到ND×M2个psize2小块。每个小块的灰度特征为Dij,组合便可得到字典D2。D2=[D11,D12,...,D1M,D21,D22,...,D2M,......,DND1,DND2,...,DNDM]]]>b)仿射变换生成候选目标集使用随机数发生器产生Nsample个随机数randi,利用前一帧的跟踪结果R和仿射变换参数affineparam,便可得到候选目标集{candi}。candi=randi*affineparam+R注意:一个跟踪结果在一张图片中直观上表现为图片中的一片区域,但同时也可以由一个仿射变换来表示,affineparam=[dxdyscthsrphi],其中dxdy表示平移变换,可以表示一块区域的中心点是如何得来的,scsr代表图片的尺度及宽高比,决定了一块区域的大小,th表示旋转的角度,phi表示错切变换的扭动角度。c)候选目标通过GM模型处理采用第一种分块方式的后续处理操作,与之前的SCM算法相同。首先对每一个候选目标分块,求出每个小块在字典为D1的条件下的稀疏系数,并算出与之对应的重建误差。之后通过遮挡判断,求出每个候选目标中的遮挡情况Oc和遮挡矩阵F,最后得到该候选目标的相似度L1c。采用第二种分块方式的处理过程。首先对每个候选目标按照第二种分块方式进行分块,之后,对每个小块求出在字典为D2的条件下的稀疏系数,即:minβ||yi-D2βi||22+λ2||βi||1]]>则βi为ND×M维列向量,M为每个候选目标分的块数。由于在生成字典D2时,将前ND帧的跟踪结果与候选目标采取了相同方式的分块,则可以将βi进行分组,即每M个向量分为1组,则可以分ND组,得到βi=[βi1,βi2,βi3,...,βiND]T]]>其中可以认为该小块仅由第j帧跟踪结果的M个小块线性表示时的稀疏系数。将上述分组得到的ND个M维列向量求和得到αi(1×M),对αi做归一化处理,便可以得到每个小块在字典D2作用下的结构化稀疏系数vi(1×M)维。αi=Σj=1NDβij]]>A=Σj=1Mαij]]>vi=1Aαi]]>则,每个候选目标的结构化稀疏系数可表示为一个(M×M)维矩阵。V=[v1,v2,...vM]对一个指定的跟踪目标来讲,若一个候选目标最终被判定为跟踪结果,则,当对指定的跟踪目标和候选目标按照同样的方式进行分块,并按照上述步骤获取候选目标的每个小块的结构化稀疏系数时,每个位置的小块对应的结构化稀疏系数应该主要由相同位置的分量构成。对候选目标的结构化稀疏系数矩阵,进行对角化,只保留其对角线元素,并将得到的对角线元素求和,便可得到该候选目标的相似度L2c。将上述得到的两个相似度相乘便可得到总相似度,Lc=L1c×L2c。d)经过DM模型分类器处理经过特征选择来降维,之后进过分类器得到每个候选目标的置信度值Hc,该置信度值与GM模型得到的相似度值Lc乘积,得到最终相似度pc。即:pc=HcLce)模板更新对目标直方图的更新,每隔Nupdate帧,通过对遮挡程度的判断,决定目标直方图是否需要更新。对字典D2的更新,采用增量子空间的方式进行更新。首先生成一个[0,1]区间内的增量序列,序列长度为ND,每个值代表对应的跟踪结果被替换掉的概率。例如增量序列p(n)可以是如下形式:a(n)={0,21-1,22-1,23-1,...2ND-1}]]>p(n)=a(n)/sum(a(n));之后,产生一个0到1之间的随机数r,不难求出r属于增量序列p(n)的哪个区段,由此便可得到哪个跟踪结果将被替换。取而代之的为,从该帧开始,向前Nupdate帧的跟踪结果的平均值。对DM模型中模板T的更新,与原始的SCM算法完全不同。首先什么时候更新模板T。若分类器依然能够正确地将正负样本区分开时,没必要对模板进行更新,即没必要更新分类器,只有当现有分类器无法正确区分正负样本时,特别是将许多负样本都判决为正样本时,需要对分类器进行更新。因此,本发明,采用:以最终跟踪结果对应的候选目标经过DM模型产生的置信度值为置信度门限,如果候选目标集合中大于该置信度值的候选目标数,占有的比例大于20%时,需要对模板集合T进行更新。此时,本应该为跟踪结果的候选目标经过分类器得到的置信度值却很小,认为分类器判决出错,需要进行更新。更新方式:半监督学习的方式,进行更新。原理:若将视频流切割成一帧一帧的图片,并依此排列,此时,将每帧中跟踪目标的中心点连接起来,将构成一条连续的曲线;记录下每帧中跟踪目标的尺度变化,并显示在坐标平面中时,将确定一条连续的曲线;记录下每帧中跟踪目标的旋转角度变化,并显示在坐标平面中时,也将确定一条连续的曲线。根据以上三点,可以对模板T集合中的模板进行处理。首先计算现有候选目标集合中所有候选目标,和前一帧的跟踪结果的中心点的相对距离d,可以由仿射变换求得。由前面的描述(通过仿射变换生成候选目标集部分)可知,图片中的一个区域可以通过一个仿射变换获得,前两个参数表示平移变换,代表中心点位置。即:da=(dx1-dx2)2+(dy1-dy2)2]]>d=da/w2+h2]]>其中da为两个点间的绝对距离,w为图片的宽,h为图片的高度,注意在图像处理中宽、高的单位都是像素。其次计算现有候选目标集合中所有候选目标,和前一帧的跟踪结果的相对尺度变化s,同样可以由仿射变换系数获得:s=(sc1-sc2)2+(sr1-sr2)2]]>之后,计算现有候选目标集合中所有候选目标,和前一帧的跟踪结果的旋转角度变化th,需要由仿射变换系数获得:th=(th1-th2)2=|th1-th2|]]>最后得到,每个候选目标相对于跟踪目标的偏移量off:off=(d+s+th)/3将上述偏移量和预设定阈值thr_off比较,若偏移量大于阈值,认为该候选目标应该为负模板,但作为了候选目标,默认为正模板,因此接下来的模板更新时,需要将该候选目标更新到负模板集合中。上述过程可以看做改进的P-N学习,更新分类器的过程。完成以上步骤后,余下的负模板与初始化时产生负模板方式类似,不过是在距离现有跟踪目标较远的图片区域内选取负样本。正模板不用更新。附图说明图1为SCM算法模型的框图;图2为仿射变换实例;图3为改进的SCM算法框图;图4为分块实例;图5为200个候选目标时SCM算法跟踪结果图;图6为200个候选目标时本发明算法跟踪结果图;图7为400个候选目标时SCM算法跟踪结果图;图8为400个候选目标时本发明算法跟踪结果图;图9为SCM算法存在跟踪漂移错位问题,其中左图为SCM算法,右图为本发明;图10为SCM算法与本发明算法跟踪精度对比。具体实施方式下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。图3为改进的SCM算法框图,现对改进的SCM算法,进行详细的阐述。a)初始化步骤初始化部分,主要完成以下几个工作:(1)设置相关的参数,包括:用于生成候选目标的仿射变换参数affineparam;阈值的设置,主要有生成DM模板T时的正模板距目标中心的距离dp,负模板距目标中心的距离dn,GM模型中遮挡判断时每个小块被遮挡时的重建误差阈值εo,及模板更新过程中需要更新模板T时,跟踪结果对应的候选目标的置信度值分割整个候选目标集的置信度值集合的比例ω0,和更新GM字典D2、更新目标直方图ψ时的遮挡程度阈值O0;一些常量的设置,有仿射变换生成候选目标集合的大小Nsample,生成字典D2需要的帧数ND,生成DM模板T中,正模板数Np,负模板数Nn,需要更新GM模型时的帧间距Nupdate,生成DM置信度值的σ,候选目标归一化为块的大小psize0,第一种分块方式的块大小psize1,相邻块间距dp1,第二种分块方式的块大小psize2,相邻块间距dp2,及采用第一种分块时,生成字典D1的k-means聚类的簇中心数J。(2)产生初始的GM模型的字典D1和D2,获取初始目标的直方图ψ,得到初始DM模型的模板T,其中字典D1和模板T的生成方式与SCM算法一样。字典D2的生成方式,稍有不同。除了使用第一帧中的初始目标特征外,还要利用接下来ND-1帧中的跟踪目标特征。由于多数情况下,跟踪初期,跟踪环境变化不大,遮挡情况几乎不存在且跟踪目标的外观几乎无变化,因此可以采用简单的跟踪策略,如光流法等,来快速实现跟踪。得到前ND帧跟踪结果之后,归一化到指定大小psize0,使用第二种分块方式对上述跟踪结果进行分块。注意上述的每种分块都要保证是正方形。psize0(1)和psize2(1)都是取正方形的边长。M2=psize0(1)-psize2(1)dp2+1]]>M2为第二种分块方式得到的psize2小块的个数。共ND帧,便可得到ND×M2个psize2小块。每个小块的灰度特征为Dij,组合便可得到字典D2。D2=[D11,D12,...,D1M,D21,D22,...,D2M,......,DND1,DND2,...,DNDM]]]>b)仿射变换生成候选目标集通过仿射变换生成候选目标集步骤,与上述的SCM算法相同。使用随机数发生器产生Nsample个随机数randi,利用前一帧的跟踪结果R和仿射变换参数affineparam,便可得到候选目标集{candi}。candi=randi*affineparam+R注意:一个跟踪结果在一张图片中直观上表现为图片中的一片区域,但同时也可以由一个仿射变换来表示,affineparam=[dxdyscthsrphi],其中dxdy表示平移变换,可以表示一块区域的中心点是如何得来的,scsr代表图片的尺度及宽高比,决定了一块区域的大小,th表示旋转的角度,phi表示错切变换的扭动角度。c)候选目标通过GM模型处理采用第一种分块方式的后续处理操作,与之前的SCM算法相同。首先对每一个候选目标分块,求出每个小块在字典为D1的条件下的稀疏系数,并算出与之对应的重建误差。之后通过遮挡判断,求出每个候选目标中的遮挡情况Oc和遮挡矩阵F,最后得到该候选目标的相似度L1c。采用第二种分块方式的处理过程。首先对每个候选目标按照第二种分块方式进行分块,之后,对每个小块求出在字典为D2的条件下的稀疏系数,即:minβ||yi-D2βi||22+λ2||βi||1]]>其中,yi为小块的灰度特征,λ2为L1最小化参数则βi为ND×M维列向量,M为每个候选目标分的块数。由于在生成字典D2时,将前ND帧的跟踪结果与候选目标采取了相同方式的分块,则可以将βi进行分组,即每M个向量分为1组,则可以分ND组,得到βi=[βi1,βi2,βi3,...,βiND]T]]>其中可以认为该小块仅由第j帧跟踪结果的M个小块线性表示时的稀疏系数,因此上述求解每个小块在字典为D2时的稀疏系数过程可以认为是“多任务学习”过程,使用多任务学习考虑到了该小块在不同跟踪结果间的关联性,其结果更加准确,并且多任务学习的求解有很多简便解法,如APG算法等,较最原始的l1最小化算法有更快的求解速度。将上述分组得到的ND个M维列向量求和得到αi(1×M),对αi做归一化处理,便可以得到每个小块在字典D2作用下的结构化稀疏系数vi(1×M)维。αi=Σj=1NDβij]]>A=Σj=1Mαij]]>vi=1Aαi]]>则,每个候选目标的结构化稀疏系数可表示为一个(M×M)维矩阵。V=[v1,v2,...vM]对一个指定的跟踪目标来讲,若一个候选目标最终被判定为跟踪结果,则,当对指定的跟踪目标和候选目标按照同样的方式进行分块,并按照上述步骤获取候选目标的每个小块的结构化稀疏系数时,每个位置的小块对应的结构化稀疏系数应该主要由相同位置的分量构成。即:若按照附图4方案进行分块,则一个候选目标将被分为M=9个小块,若一个候选目标为最终被判定为跟踪结果,则第一个小块的结构化稀疏系数中,9维的列向量中第1个分量应该比较大,其余8个分量值比较小;同理,第二个小块的结构化稀疏系数中,9维的列向量中第2个分量应该比较大,其余8个分量值比较小。依照上述规律,对候选目标的结构化稀疏系数矩阵,进行对角化,只保留其对角线元素,并将得到的对角线元素求和,便可得到该候选目标的相似度L2c。将上述得到的两个相似度相乘便可得到总相似度,Lc=L1c×L2c。候选目标通过第一种方式分块处理,可以保证得到的结果整体的灰度特征与跟踪目标相似,但没考虑到内部局部灰度的信息;通过第二种分块处理,可以保证结果的局部灰度特征与跟踪目标相似。因此经过上述两个操作处理,可以保证整体和局部均相似,达到精确跟踪的目的。d)经过DM模型分类器处理该步骤与原始的SCM算法,过程相同,都是经过特征选择来降维,之后进过分类器得到每个候选目标的置信度值Hc,该置信度值与GM模型得到的相似度值Lc乘积,得到最终相似度pc。即:pc=HcLc经过DM分类器处理的目的,主要是得到每个候选目标属于前景的概率(置信度),排除置信度值低的候选目标。e)模板更新同样,由于跟踪环境中可能有复杂的背景信息、存在遮挡或目标外观的变化,都要求模板要及时更新。包括对目标直方图ψ、字典D2和模板T的更新。对目标直方图的更新,与原始的SCM算法一样,不做改进,每隔Nupdate帧,通过对遮挡程度的判断,决定目标直方图是否需要更新。对字典D2的更新,采用增量子空间的方式进行更新。字典D2是由前ND帧跟踪结果,通过分块获取每个小块的灰度特征初始化的。对字典D2的更新,实质上是对上述跟踪结果集中的跟踪结果进行更新。原理:在整个跟踪环境中,多数情况下,第一帧的初始跟踪目标一定是正确的,因此其在整个过程中不能被更新;相反,最新加入到的跟踪结果集中的跟踪结果其正确性不能得到百分百保证,因此考虑在对生成字典D2的跟踪结果集进行更新的时候,最新加入的跟踪结果被替换掉的概率大,而早加入跟踪结果集中的跟踪结果被替换掉的概率小。可以采用增量子空间的方式完成上述过程。具体来讲,首先生成一个[0,1]区间内的增量序列,序列长度为ND,每个值代表对应的跟踪结果被替换掉的概率。例如增量序列p(n)可以是如下形式:a(n)={0,21-1,22-1,23-1,...2ND-1}]]>p(n)=a(n)/sum(a(n));之后,产生一个0到1之间的随机数r,不难求出r属于增量序列p(n)的哪个区段,由此便可得到哪个跟踪结果将被替换。取而代之的为,从该帧开始,向前Nupdate帧的跟踪结果的平均值,每Nupdate帧,对GM模型D2进行更新。对DM模型中模板T的更新,与原始的SCM算法完全不同。首先什么时候更新模板T。若分类器依然能够正确地将正负样本区分开时,没必要对模板进行更新,即没必要更新分类器,只有当现有分类器无法正确区分正负样本时,特别是将许多负样本都判决为正样本时,需要对分类器进行更新。因此,本发明,采用:以最终跟踪结果对应的候选目标经过DM模型产生的置信度值为置信度门限,如果候选目标集合中大于该置信度值的候选目标数,占有的比例大于20%时,需要对模板集合T进行更新。此时,本应该为跟踪结果的候选目标经过分类器得到的置信度值却很小,认为分类器判决出错,需要进行更新。更新方式:半监督学习的方式,进行更新。原理:若将视频流切割成一帧一帧的图片,并依此排列,此时,将每帧中跟踪目标的中心点连接起来,将构成一条连续的曲线(如附图6所示);记录下每帧中跟踪目标的尺度变化,并显示在坐标平面中时,将确定一条连续的曲线;记录下每帧中跟踪目标的旋转角度变化,并显示在坐标平面中时,也将确定一条连续的曲线。根据以上三点,可以对模板T集合中的模板进行处理。首先计算现有候选目标集合中所有候选目标,和前一帧的跟踪结果的中心点的相对距离d,可以由仿射变换求得。由前面的描述(通过仿射变换生成候选目标集部分)可知,图片中的一个区域可以通过一个仿射变换获得,前两个参数表示平移变换,代表中心点位置。即:da=(dx1-dx2)2+(dy1-dy2)2]]>d=da/w2+h2]]>其中da为两个点间的绝对距离,w为图片的宽,h为图片的高度,注意在图像处理中宽、高的单位都是像素。其次计算现有候选目标集合中所有候选目标,和前一帧的跟踪结果的相对尺度变化s,同样可以由仿射变换系数获得:s=(sc1-sc2)2+(sr1-sr2)2]]>之后,计算现有候选目标集合中所有候选目标,和前一帧的跟踪结果的旋转角度变化th,需要由仿射变换系数获得:th=(th1-th2)2=|th1-th2|]]>最后得到,每个候选目标相对于跟踪目标的偏移量off:off=(d+s+th)/3将上述偏移量和预设定阈值thr_off比较,若偏移量大于阈值,认为该候选目标应该为负模板,但作为了候选目标,默认为正模板,因此接下来的模板更新时,需要将该候选目标更新到负模板集合中。上述过程可以看做改进的P-N学习,更新分类器的过程。完成以上步骤后,余下的负模板与初始化时产生负模板方式类似,不过是在距离现有跟踪目标较远的图片区域内选取负样本。正模板不用更新。P-N学习,一种半监督学习更新分类器的方式,只使用了“将视频流切割成一帧一帧的图片,并依此排列,此时,将每帧中跟踪目标的中心点连接起来,将构成一条连续的曲线”一条规则,所以当跟踪目标发生旋转或尺度变化时,无法对目标进行正确分类。本发明技术方案带来的有益效果按照下表参数进行仿真分析women_sequence行人跟踪测试集,特点:包含有复杂的跟踪背景,有大量的图片含有与跟踪目标相近的背景,容易产生背景干扰;其次,有大量多张图片存在遮挡。上述特点比较适宜用作目标跟踪测试算法的抗遮挡能力和抗复杂背景干扰的能力。测试集共550张图片,每张图片大小为352*288像素。跟踪结果对比见附图。结果分析首先对于图5,在women_sequence行人跟踪测试集前100帧,SCM算法可以实现行人跟踪,但在120帧时,出现跟踪漂移,在128帧以后,已经彻底跟踪失败。经过多次尝试实验,这种失败是概率性的,相对而言,失败的概率很大。失败原因,有三个方面:1).在120帧左右,图片的背景中有大量的干扰背景,特别时车顶的颜色和行人未被遮挡的部分颜色都属于白色。2).主要原因一,此次设置的候选样本集大小Nsample为200,由于候选目标在生成的时候是在前一帧跟踪结果周围按照仿射变换系数affineparam随机生成的,有可能出现未找到匹配结果。3).主要原因二,SCM算法由于模板更新时,没对字典D1更新,致使最新跟踪结果中的目标特征的变化没被保存,导致跟踪失败。图6和图5结果仿真参数设置相同,但算法采用本发明提出的算法,可以看出本发明方法在第550帧中同样可以跟踪目标。进过多次仿真测试,本发明算法,在候选目标数Nsample为200时,也有可能会出现失败,但其失败概率很低。失败的原因,候选目标数太少,候选目标集合中,不存在匹配的跟踪结果。对比图7和图8,首先,不难发现,在最初的前80帧中,两种算法都可以实现较好的跟踪结果。但在90帧左右时,目标外观开始有轻微变化(图中行人的侧面面积比初始跟踪目标面积要小),图片背景也逐渐变的复杂,干扰程度加大,此时SCM算法跟踪出现了很大的跟踪偏差,同样的跟踪结果在之后的许多帧中也同样会出现,比如第153帧、第369帧。出现跟踪偏差的原因,主要有:1).GM模型中字典D未将最新的跟踪结果更新考虑在内,使得跟踪出现很大差错;2).DM模型中模板T更新时,未考虑现有分类器是否能够对现有的候选目标集进行正确分类,导致后续跟踪结果出现跟踪偏差。相比SCM算法,本发明算法结果图6要明显优于图5,首先在SCM算法,出现很大跟踪偏差的结果帧中,如第94/153/369等帧中,本发明算法跟踪结果几乎与实测结果吻合。其次,在第131等帧中,还存在另一个问题,跟踪结果和实测结果不能很好重叠,即跟踪结果窗口中有许多背景成分。见图9所示出现该类问题的主要原因是,在SCM算法中,只考虑分块的灰度特征应该匹配,但未考虑分块的位置信息,导致跟踪结果窗口和实测结果窗口间有些错位,跟踪结果中夹杂了一些背景成分;相反,本发明算法中,考虑了分块之间的位置关系,并加以利用,就可以避免该类问题。本发明算法跟踪精度分析一个跟踪结果窗口的跟踪准确度评估计算:s=wc∩wowc∪wo]]>其中wc为当前帧跟踪结果窗口的面积,wo为实测的真实跟踪窗口的面积,s为当前跟踪结果窗口的跟踪准确度。设定跟踪准确度阈值εr,求出在所有的帧中,跟踪准确度大于阈值εr的帧的比例,即为跟踪精度S。即S=Nframe_num(s>ϵr)Nframe_num]]>图10,为根据所设置阈值的不同,得出的跟踪算法的精度获得的曲线。横坐标100个单位对应阈值范围为[0,1],即每个单位为0.01的阈值。从上述曲线可以看出本发明算法要明显优于SCM算法,并且当阈值εr为0.7左右时,仍能保证90%的精度。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1