一种在动态场景下以深度为主导线索的多目标跟踪方法
技术领域
本发明属于计算机视觉技术领域,涉及一种多目标跟踪方法,尤其是涉及一种在动态场景下以深度为主导线索的多目标跟踪方法。
背景技术
计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,达到让计算机理解所看的东西,形成高层次的感知。
在目标跟踪领域中,长期以来所采用的方法都是基于颜色的表观模型,通过在前一帧的目标区域附近寻找与目标表观(颜色,形状,轮廓等)最为相似的颜色块。基于Meanshift(D.Comaniciu and P.Meer.Mean shift A robust approach toward feature space analysis.IEEE Trans.PAMI,2003.)的目标跟踪方法采用梯度下降找寻局部最优点,而particle filter()则维持着一片目标候选窗口的粒子云从而推算出目标当前最有可能位置。S.Avidan (S.Avidan.EnsembleTracking.IEEE Trans.CVPR,2005)则将目标跟踪转化为在时间轴上视频序列中前景与背景的分类问题,并且与在时间轴上积累的训练数据共同来决策当前帧的目标区域。而L.Lu (L.Luand G.Hager.A Nonparametric Treatment for Location Segmentation Based Visual Tracking.CVPR,2007.)和X.Ren(X.Ren and J.Malik.Tracking as Repeated Figure/GroundSegmentation.CVPR,2007.)等人基于超级像素训练分类器。之后基于检测的跟踪成为了目标跟踪的主流。
在目标跟踪领域的多目标跟踪方法中,许多方法将所有的跟踪目标组合成一个整体,将多目标跟踪作为一个全局最优问题。每一个目标的表观模型都纳入一个全局表列,并且目标之间的相互作用都通过图等方式进行描述,让每个目标的跟踪器之间相互纠正相互优化,较为准确地预测每个目标的轨迹。这些方法大多是离线算法。
在目标跟踪领域,深度信息往往并没有得到有效的利用。这主要是由于深度信息较难准确地从现实场景中提取。目前提取深度信息的方法大致有两种:1.利用双目或者多目图像和相机参数对场景进行三维重建。2.基于其它信息的的成熟的深度成像系统(利用红外,激光等技术)进行深度提取。Kinect(J.Shotton,A.Fitzgibbon,and et al.Real-Time Human PoseRecognition in Parts from Single Depth Images.CVPR,2011.)体感器无疑是后一种深度提取设备的杰出代表,利用lightcoding技术,Kinect能够较为精确地提取离相机一定距离内的深度信息。但是,Kinect并不能获取较近和较远的深度信息并且在强光下深度预测会不准确。因此采用第一种方法,通过双目的深度提取方法来适应在任何情况下对深度的有效提取。
深度信息由于受现有深度提取算法本身固有局限的制约一直无法得到对场景完全精确的深度描述。由于基于双目或多目的三维重建会受到立体视觉中遮挡区域的影响,深度预测很容易受到噪声干扰。而且现有算法在表观特征不显著的区域(无纹理区域)往往无法找到准确的立体视觉中的匹配点。因此这需要设计鲁棒算法来有效处理深度信息中的噪声。
近几年,目标跟踪领域有些方法利用深度信息作为辅助工具来增强目标跟踪的鲁棒性。其中最具代表性的是B.Leibe(A.Ess,B.Leibe,K.Schindler,and L.Gool.Robust Multi-personTracking from a Mobile Platform.IEEE Trans.PAMI,2009.)等人所建立的双目行人检测和跟踪系统(2007~2009)。他们将深度信息作为辅助信息来增强目标检测中对于目标的估计,利用深度一致性假设对于每个目标候选窗口融入深度信息来判断目标出现的概率。上述的目标跟踪系统虽然进行了深度信息的挖掘,但是只限于将深度信息作为增强目标假设的辅助线索,并没有深入挖掘深度信息强大的前景背景分离的能力和在目标表观变化剧烈以及遮挡下的鲁棒性。
此外,在深度辅助的跟踪方法中,Darell(T.Darrell,G.Gordon,M.Harville,and J.Woodfill.Integrated Person Tracking Using Stereo,Color,and Pattern Detection.IJCV,2000.)等人融合人脸检测和连接引擎(Connected Component)在深度图上形成前景区域。这种方法很大程度上会受到人类检测和连接引擎的不稳定性的干扰使得跟踪出错。Bleiweiss和Werman (A.Bleiweissand M.Werman.Fusing Time-of-Flight Depth and Color for Real-Time Segmentation andTracking.Dynamic 3D Imaging,2009.)则将深度信息加入到meanshift的分割算法中,成为独立于颜色信息的另一维度来进行图像分割。这种启发式的方法并没有明确深度信息的作用,因此对于深度信息的优势挖掘也很有限。还有一些其他的方法利用深度图所提供的Z方向的位移生成平面俯视的占位图(occupancy map)来更好地提供跟踪目标的场景信息。
发明内容
本发明的目的是提供一种在动态场景下以深度为主导线索的多目标跟踪方法。
本发明包括以下步骤:
A.从双目摄像机中获取当前帧,并且根据相机内外参数对双目图像进行校正;
B.然后对图像进行颜色分割得到颜色块(超级像素);
C.结合颜色块和相对应的左右两幅图像对场景进行三维重构,获得稠密深度图;
D.在前一帧目标区域的扩大域内对深度信息进行聚类,获得主要的深度类别;
E.根据步骤D中获取的主要深度类别对该区域的超级像素进行分类,进行粗略的前景和背景分割;
F.对步骤E中提取的前景根据前一帧所记录的表观模型做进一步分割,提取最终的前景;
G.若跟踪器处于遮挡状态,则转入步骤I;若最终所分割前景没有被遮挡,则返回步骤A,否则跟踪器记录前一帧的目标表观模型,转入步骤H;
H.提取遮挡原目标的深度块(遮挡块),并将跟踪器置于遮挡状态;
I.在当前遮挡块周围对原目标进行搜索,若发现原目标,跟踪器重新被置于正常状态,则返回步骤A。
所述步骤C包括以下子步骤:
C1.利用sobel算子对双目图像进行边缘提取;
C2.将双目图像的超级像素集合,边缘像素集合和双目图像所对应的灰度图输入置信扩散引擎;
C3.对超级像素内像素之间的深度信息交换赋予较高的信息传播置信度,而对于不同超级像素间的深度信息交换则赋予较低的信息传播置信度;
C4.对处于颜色梯度变化较大的边缘像素(由子步骤C1获得)在传播信息给相邻像素时赋予较低的传播置信度;
C5.利用置信扩散算法结合子步骤C3和子步骤C4中得到的先验知识对场景进行三维重建,获取双目图像对应的稠密深度图;
C6.通过在深度图上的双向检测方法找寻遮挡区域,并对遮挡区域进行标记,降低它们本身的深度信息置信度;
C7.结合子步骤C3、C4和C6中得到的先验知识进行置信传播,得到最终的稠密深度图。
所述步骤E包括以下子步骤:
E1.对扩大区域内的每一个超级像素计算属于主要深度类的像素的百分比(前景概率);
E2.将该区域内的所有前景概率大于设定阈值T(40%≤T≤70%)的超级像素进行组合,形成目标前景。
所述步骤F包括以下子步骤:
F1.将步骤E中所获得的目标前景向X轴方向进行投射,得到X轴方向上的前景分布直方图;
F2.子步骤F1中得到的直方图上寻找局部极小值点的集合,并在相邻的局部极小值点之间计算质心作为该区间内的轴,由此得到极大值轴的集合;
F3.如果局部极小值点比相邻的极大值轴的a(40%≤a≤60%)来的大,那么就去掉该极小值点,之后,极大值轴和极小值点组成分类轴集合;
F4.根据空间位置信息将前景中所有的超级像素分类到子步骤F2和F3中获得的分类轴集合,得到一系列的超级像素群;
F5.根据目标位置空间的连续性假设,将超级像素群在X轴方向上进行排列组合构成一系列的候选前景,计算每一个候选前景与前一帧中的表观模型相似度(巴氏系数);
F6.选择相似度最高的候选前景作为最终的前景。
所述步骤G包括以下子步骤:
G1.若跟踪器处于遮挡状态,则转入步骤I;
G2.若前景的深度相较于前一帧的前景深度没有太大变化,并且该前景的表观相似度和位置并没有发生巨变,则返回步骤A,否则转入子步骤G3;
G3.记录前一帧目标的表观模型(前景的颜色和形状直方图)。
所述步骤H包括以下子步骤:
H1.在前一帧目标位置附近种植深度种子,每一个深度种子的尺度与前一帧目标尺度相同;
H2.在每一个深度种子区域内找寻主要深度类,并根据该类别分割得到深度块;
H3.选择最近的并且更接近相机的深度块(深度值更大)作为遮挡原目标的遮挡块。
所述步骤I包括以下子步骤:
I1.在当前位置随机种植深度种子,每一个深度种子的尺度与原目标在遮挡前的尺度相同;
I2.在每一个深度种子区域内找寻主要深度类,并根据该类别分割得到深度块;
I3.选择与原目标表观最相近的深度块,如果最佳候选深度块的与原目标的表观相似度大于一定阈值R(0.4≤R≤0.6),则认为目标重新出现,置跟踪器为正常状态,返回步骤A。
与现有技术比较,本发明具有如下突出优点:
本发明所述的一种在动态场景下以深度为主导线索的多目标跟踪方法是通过深度信息引导所获得的颜色信息进行前景与背景分割,根据深度信息和颜色信息判断目标是否被遮挡,建立鲁棒多目标跟踪系统,该系统能有效地处理目标跟踪中所出现的漂移和遮挡问题,并且能适应复杂动态环境下的跟踪任务。
附图说明
图1为本发明实施例的流程图。
图2为本发明实施例前景-背景分割的流程图。
图3为本发明实施例的前景抽取流程图(基于向X轴投射的前景直方图的前景抽取流程图)。
图4为本发明实施例的前景抽取示意图(基于向X轴投射的前景直方图的前景抽取示意图)。
图5为本发明实施例的深度信息和颜色信息在视频序列中的稳定性对比曲线图。其中曲线图的上部浅色圆圈标明表观变化巨大的序列,曲线图的下部深色椭圆圈标明目标被遮挡的序列。在图5中,横坐标表示帧号;左侧纵坐标表示深度值(深度值为离散序列,是相对深度值,没有单位),右侧纵坐标表示表观相似度(相似度中1表示完全相同,0代表完全不相同,当相似度介于0和1之间,相似度越大表明目标表观与前一帧中物体表观越相近)。
具体实施方式
以下结合附图及实施例对本发明进行进一步详细说明。
参见图1,本发明实施例的实施方式包括以下步骤:
S1、利用外触发源触发双目摄像机在时刻t同时进行图像序列帧的采集,而后实时将图像数据传入计算机缓存中。双目摄像机由于只采取颜色信息因此可以工作在大部分环境下,并且可以搭建在静止或者移动平台上。需要注意的是,由于深度算法需要双目图像有着较大面积的重叠区域供立体匹配算法找寻对应点,因此双目摄像机之间需要有相对较小的间距,并且平行放置。
S2、当获取当前的双目图像后,根据已知的双目摄像机的内外参数(需要事先标定双目摄像机),对双目图像进行校正,使得左目图像的每个像素对应点都能在右目图像水平方向上找到。
S3、对矫正后的双目图像进行颜色分割,这里可以采用基于meanshift的图像分割方法得到双目图像的超级像素集合S={segi}。接着,利用sobel算子进行边缘检测得到边缘像素集合Bx。
S4、将双目图像,超级像素集合S和边缘像素集合Bx输入置信扩散引擎,经过置信扩散算法的反复迭代得到初始深度图:
具体包括:对于相邻的两个像素Xi和Xj,如果Xi和Xj不属于同一个segi,那么它们之间在信息交互过程中只能以较低置信度的信息来影响对方。如果xj∈Bx,那么它只能以较低的置信度去影响与它相邻的像素。之后置信扩散引擎通过驱动每个像素与相邻像素之间关于深度信息的交换,经过反复迭代逐步使得由马尔科夫随机场所定义的后验概率达到最大:
其中Y为双目图像,X为双目深度图。N(S)是与像素S相邻的像素集合。
是像素点的深度值为y
s本地数据代价,而ω
st(x
s,x
t)是像素点与邻近数据深度的平滑代价。
σst(xs,xt)则定义为:
而θ(xt)则定义为:
此时,os(xs)=1。
S5、对所获得的粗糙深度图进行再优化。通过粗糙的双目深度图根据双向校正方法标记在立体视觉中的遮挡区域:
具体包括:对于左目图像的每个像素点xi,获取xi在深度图上的值Dl(xi)。接着找到在右目图像中的对应点的横坐标(纵坐标相同)xc=xi-Dl(xi)。如果xi和xc的深度差与灰度强度差的乘积大于特定阈值,即|Dl(xi)-Dr(xc)|*|Il(xi)-Ir(xc)|>ε(对于彩色图像则把RGB三通道转换为灰度值),那么像素点xi处于遮挡区域。此时,os(xs)则定义为:
S6、结合σst(xs,xt),θ(xt)和O(xs)优化后验概率公式。经过若干次迭代后得到最终的深度图。其中,参数τseg,τboundary,τocc和ε(15≤ε≤35)均为手工设定。τseg,τboundary,τocc的值均介于0.2~0.6之间。
S7、扩大前一帧的目标区域Bboxt-1,得到当前帧下用于搜索目标的扩大区域EBboxt-1。在EBboxt-1中进行深度聚类,可以采用meanshift的聚类方法:
其中,meanshift的核函数如下定义
这里设p=3。对于空间维度xs采用高斯核函数而对于深度维度xd采用均匀核函数。
在meanshift聚类后,通过计算像素点最多的极大类获得主要深度类Ld。对于在EBboxt-1的所有超级像素spt(i)根据Ld计算它们属于前景的概率:
其中N(spt(r))表示当前超级像素spt(r)中的像素个数,DD函数用于判断像素i是否属于Ld。对于所有C(spt(r))≥γ(40%≤γ≤70%)的超级像素设定为前景。
将前景投射到X轴上,得到水平方向的形状分布直方图,直方图中每个箱子的值等于该横坐标下前景像素数目。此后,对于直方图每k(3≤k≤7)个箱子进行均值平滑,得到平滑的前景形状分布直方图。
在形状分布直方图上获得局部极小值坐标点集合{vi},而后在每两个相邻的局部极小值点间寻找局部质心pi:
S8、通过pi和vi得到超级像素分类轴集合:
C={pi}∨{vi|hist(vi)<σ*max{pi,pi+1}}
其中,hist(vi)为局部极小值点的值,而参数σ一般取40%~70%之间。
S9、对每一个前景像素,按照空间位置信息将它们分类到某个特定的分类轴Ci。
S10、将分类轴按X轴坐标的大小进行排序。定义,分类轴上超级像素的组合为:Θ={Ci|X(Ck)<X(Ck+1)(0≤k≤N(C))}。之后,将每个分类轴上的超级像素集合进行排列组合,得到候选前景集:
Ψ={{Θi,Θi+1,...,Θi+k}|i≥0&i+k≤N(C)&k≥0}。
此时,计算每个候选前景Ψi与前一帧中目标的表观模型的相似度。
具体如下:首先通过算出当前候选前景在X,Y方向的质心C。而后以C为中心每β角度(20≤β≤40)将前景进行划分,并且计算每个区域的前景像素占总前景像素数的比例αi,同时计算每个区域与模板相对应区域直方图的巴氏系数bi。由此,颜色相似度的计算如下:
S11、挑选出相似度最高的候选前景作为当前帧的目标区域:
S12、如果当前跟踪器不处于遮挡状态,那么需要检测当前的跟踪目标是否有被遮挡。首先统计当前目标区域的主要深度D(Lt)(该深度覆盖最多的前景区域),如果|D(Lt-1)-D(L)|>g(D(Lt-1)),其中g函数为根据深度值大小变化的线性函数(越靠近摄像机的目标越有深度剧变的容忍性),那么原目标则被更靠近摄像机的物体遮挡。此时,跟踪器立即将当前的前景区域作为遮挡原目标的遮挡块,并作为接下来的视频帧中追踪的目标。否则跳至S15。
如果当前的前景区域相比前一帧的目标区域有着表观上的巨大变化以及空间位置的突变S(Ft)<λ&||X(pt-1)-X(pt)||>h(s(pt-1))(其中0.45≤λ≤0.65,h(.)函数为线性函数,s(.)函数提取前目标区域pt-1的尺度),那么目标同样被认为出现了遮挡。此时在前一帧目标区域附近种植随机种子,每个随机种子的尺度与前一帧目标的尺度相同,并按照前述方法对每一个随机种子进行主要深度类别的提取,并结合超级像素进行分割。之后选取与原位置最近的并且深度值更大(更靠近相机)的深度块作为遮挡块作为接下来的视频帧中追踪的目标。否则跳至S15。
S13、如果遮挡发生,跟踪器将记录前一帧目标的表观模型,并将跟踪器的状态置为遮挡状态。
S14、如果跟踪器当前处于遮挡状态,那么在当前分割出的深度块附近种植随机种子,随机种子的尺度与目标遮挡前的尺度相同。对每一个随机种子进行主要深度类别的提取,并结合超级像素进行分割得到候选深度块,如果某个候选深度块与目标遮挡前的表观相似度大于某设定阈值,那么跟踪器则将该深度块作为目标重新出现的证据,在接下来的视频帧中继续跟踪原目标,并将跟踪状态设为正常状态。
S15、接收下一帧的双目图像。