CN107665495B - 对象跟踪方法及对象跟踪装置 - Google Patents
对象跟踪方法及对象跟踪装置 Download PDFInfo
- Publication number
- CN107665495B CN107665495B CN201610597193.2A CN201610597193A CN107665495B CN 107665495 B CN107665495 B CN 107665495B CN 201610597193 A CN201610597193 A CN 201610597193A CN 107665495 B CN107665495 B CN 107665495B
- Authority
- CN
- China
- Prior art keywords
- current image
- group
- consistency
- determining
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
本发明提供一种对象跟踪方法及对象跟踪装置。本发明的各个方面中的一个方面公开了所述对象跟踪方法。所述对象跟踪方法包括以下步骤:从当前图像的至少一个先前图像中,确定第一对象与第二对象之间的运动差异;针对各第二对象,根据所述第一对象与该第二对象之间的相应运动差异,来计算这两个对象之间的参数;其中,所述参数表示这两个对象的运动一致性;基于相应参数,将所述第一对象和相应的第二对象确定为移动组;通过将相应参数与预定义阈值进行比较,来确定所述移动组的类型;以及根据与所述移动组的所述类型相对应的预定义跟踪方法,来确定所述第一对象在所述当前图像中的位置。根据本发明,将提高对象跟踪精度。
Description
技术领域
本发明涉及图像处理,特别是涉及例如对象跟踪。
背景技术
对象(例如,面部、行人)跟踪是在视频的每个帧(即,每个图像)中确定对象位置。在交通安全、监控或顾客行为分析领域中,对象跟踪变得日益重要。并且,在动态、复杂的真实世界场景中,尤其是在拥挤的情景中,鲁棒地对人进行检测和跟踪是至关重要的。传统方法是单独基于各对象自身过去的轨迹,而不考虑其他对象,来确定该对象的位置。然而,实际上,一个对象很少被孤立并与整个场景无关。因此,可能存在具有与该对象的短期或长期的运动相关性的其他一些对象。
在“Multi-Target Tracking by Online Learning of Non-linear MotionPatterns and Robust Appearance Models”(基于非线性运动模式及鲁棒外观模型的在线学习的多目标跟踪)(Bo Yang and Ram Nevatia,Institute for Robotics andIntelligent Systems,University of Southern California,Los Angeles,CA 90089,USA,in CVPR2012)(Bo Yang,Ram Nevatia,机器人与智能系统协会,南加利福尼亚大学,洛杉矶,CA 90089,USA,CVPR2012)中,公开了一种在确定一个被跟踪对象(object to betracked)的位置时考虑其他对象的示例性技术。上述技术引入了一种移动组(movinggroup)方法来提高对象跟踪精度,其中,所述移动组是如下的一组人,这些人以相近的速度和相近的方向移动,而且保持彼此接近。在上述技术中,在某一时间内、一个被跟踪对象和该被跟踪对象周围的对象的位置保持足够接近的情况下,该被跟踪对象与其周围的对象将被视为同属于移动组;否则,该被跟踪对象将被视为单个对象。而后,对于单个对象,将由对象检测器来确定被跟踪对象在当前图像中的位置。对于移动组中的被跟踪对象,将先由对象检测器,来确定被跟踪对象在当前图像中的位置。并且,在未能由对象检测器确定出位置的情况下,将根据移动组中的对象在当前图像的先前图像当中的移动轨迹,来估计位置。
如上所述,对于移动组中的被跟踪对象,在对象检测器未能确定出位置的情况下,将根据移动组中的对象在当前图像的先前图像当中的移动轨迹,来估计位置。然而,在移动组中的对象之间存在严重遮挡的情况下,所估计的被跟踪对象的位置将是错误的。例如,如图1A所示,人A是被跟踪对象,并且人A被人B严重遮挡。如上所述,人A和人B将被视为同属于移动组。当在当前图像的搜索区域中确定人A的位置时,根据上述技术确定的人A的位置(即,图1B中所示的矩形框)将包含人B的许多信息。换言之,所确定的人A的位置是不准确的。因此,对象跟踪精度不理想。
发明内容
因此,鉴于上面在背景技术中的叙述,本公开旨在解决如上所述的问题。
根据本发明的一个方面,提供了一种对象跟踪方法,该对象跟踪方法包括:运动确定步骤,从当前图像的至少一个先前图像中,确定第一对象与第二对象之间的运动差异;其中,所述第一对象是所述当前图像中的被跟踪对象,所述第二对象是所述当前图像中的所述第一对象周围的对象;计算步骤,针对各第二对象,根据所述第一对象与该第二对象之间的相应运动差异,来计算这两个对象之间的参数;其中,所述参数表示这两个对象的运动一致性;移动组确定步骤,基于相应参数,将所述第一对象和相应的第二对象确定为移动组;类型确定步骤,通过将相应参数与预定义阈值进行比较,来确定所述移动组的类型;以及位置确定步骤,根据与所述移动组的所述类型相对应的预定义跟踪方法,来确定所述第一对象在所述当前图像中的位置。
利用本发明,将提高对象跟踪精度。
通过以下参照附图的描述,本发明进一步的特征及优点将变得清楚。
附图说明
被并入本说明书并构成本说明书的一部分的附图例示了本发明的实施例,并且与文字描述一起用来说明本发明的原理。
图1A至图1B示意性地示出了人A被人B严重遮挡的示例性的当前图像。
图2是示意性地示出能够实施根据本发明的实施例的技术的硬件结构的框图。
图3示意性地示出了根据本发明的实施例的对象跟踪处理的流程图。
图4示意性地示出了由照相机拍摄的图像的示例性样本。
图5示意性地示出了阈值、移动组的类型和与移动组相对应的跟踪方法间的关系。
图6A至图6C示意性地示出了与移动组的类型相对应的示例性样本。
图7是示意性地示出根据本发明的跟踪方法1的过程的流程图。
图8示意性地示出了示例性的当前图像中的第一对象的预测尺寸与局部搜索区域的尺寸之间的关系。
图9示意性地示出了根据本发明的示例性的“点到区域”图像匹配方法。
图10是示意性地示出根据本发明的跟踪方法3的过程的流程图。
图11是示意性地示出图10中所示的步骤S1030的过程的流程图。
图12是例示根据本发明的实施例的对象跟踪装置1200的结构的框图。
具体实施方式
下面,将参照附图来详细描述本发明的示例性实施例。应当指出,以下的描述实质上仅仅是说明性和示例性的,并且决非旨在限定本发明及其应用或用途。在实施例中陈述的构成要素及步骤的相对布置、数值表达式和数值并不限定本发明的范围,除非另外特别指明。此外,本领域技术人员公知的技术、方法及设备可能不作详细讨论,但在适当的情况下应当作为本说明书的一部分。
请注意,类似的附图标记及字母指代图中的类似项目,因而,一旦项目在一个图中被定义,则对于之后的图不需要再讨论该项目。
(硬件结构)
首先,将参照图2,来描述能够实施下文所述的技术的硬件结构。图2是示意性地示出能够实施根据本发明的实施例的技术的硬件结构200的框图。
硬件结构200例如包括中央处理单元(CPU)210、随机存取存储器(RAM)220、只读存储器(ROM)230、硬盘240、输入设备250、输出设备260、网络接口270及系统总线280。此外,可以通过诸如个人数据助理(PDA)、移动电话、照相机、网络摄像机、笔记本电脑、台式电脑或其他合适的电子设备,来实施硬件结构200。
CPU 210是任何合适的可编程控制设备(诸如处理器等),并且通过执行存储在ROM230或硬盘240(诸如存储器等)中的各种应用程序,来执行下文所述的各种功能。RAM 220用来临时存储从ROM 230或硬盘240中加载的程序或数据,并且还用作如下的空间,在该空间中,CPU 210执行各种程序,诸如实施下文将参照图3至图11详细描述的公开的技术,以及其他可用的功能。硬盘240存储许多种类的信息,诸如操作系统(OS)、各种应用、控制程序,以及由制造商预存储或预生成的数据,其中,所述数据例如可以是下文所述的阈值(TH)。
输入设备250是输入接口,并且例如接收从图像获取装置输出的自然场景图像,其中,所述图像获取装置例如可以是照相机、数字照相机、网络摄像机,或者其他合适的电子设备。并且,输出设备260是输出接口,并且将对象跟踪结果输出给用户。
网络接口270提供用于将硬件结构200连接到网络(未示出)的接口。例如,硬件结构200经由网络接口270,来与经由网络而连接的其他电子设备进行数据通信。作为另一选择,可以为硬件结构200配设无线接口,以进行无线数据通信。系统总线280提供如下的数据传送路径,该数据传送路径用于向如下的部件、从如下的部件、或者在如下的部件之间相互传送数据,所述部件是CPU 210、RAM 220、ROM 230、硬盘240、输入设备250、输出设备260及网络接口270等。虽然被称为总线,但是,系统总线280并不限于任何特定的数据传送技术。
上述的硬件结构200仅仅是说明性的,并且决非旨在限定本发明及其应用或用途。并且,为了简单起见,在图2中仅示出了一个硬件结构。然而,也可以按照需要使用多个硬件结构。
(对象跟踪)
下面,将参照图3,来描述通过图2中所示的硬件结构200所执行的对象跟踪处理。图3示意性地示出了根据本发明的实施例的对象跟踪处理的流程图300。
在硬盘240中,存储了图3中的流程图中所示的对象跟踪所需的程序,连同其他的程序。当CPU 210需要实施图3的流程图时,存储在硬盘240中的程序将被加载到RAM 220中。后述流程图的处理也以相同的方式,被CPU 210加载到RAM 220中并被实施。
如上所述,首先,图2中所示的输入设备250将获取从图像获取装置(诸如数字照相机)输出的一个自然场景图像(即,当前图像)。其次,输入设备250将经由系统总线280,将当前图像传送到CPU 210。
而后,如图3所示,在运动确定步骤S310中,CPU 210将从当前图像的至少一个先前图像中,确定第一对象与第二对象之间的运动差异;其中,所述第一对象是当前图像中的被跟踪对象,所述第二对象是当前图像中的第一对象周围的对象。其中,一个先前图像中的第一对象与一个第二对象之间的运动差异包括以下各差异中的至少一者:位置距离、移动速度差异、移动方向差异、对象尺寸差异,以及这两个对象出现在同一图像中的持续时间。
在一种实施方式中,在当前图像中的被跟踪对象(即,第一对象)已在先前图像中被跟踪到的情况下,运动确定步骤S310包括以下的步骤:
首先,CPU 210从先前图像中,获得当前图像的至少一个先前图像,所述各先前图像被存储在图2中所示的ROM 230或硬盘240中,和/或被存储在经由网络(未示出)而与硬件结构200连接的服务器中。
其次,CPU 210通过手动标记,或者通过经由检测器检测第一对象的相应ID,来获得第一对象在各先前图像中的位置及尺寸。此外,CPU 210还通过手动标记,或者通过经由检测器检测第二对象的相应ID,来获得第二对象在各先前图像中的位置及尺寸。
第三,CPU 210根据以下的函数,来预测第一对象在当前图像中的位置及尺寸。
第一对象在当前图像中的位置为:
predict_cx=previous_cx+speed_x*timeDiff;
predict_cy=previous_cx+speed_y*timeDiff;
其中,(predict_cx,predict_cy)是第一对象在当前图像中的预测位置的中心。(previous_cx,previous_cy)是第一对象在先前图像中的位置的中心。例如,在CPU 210获得一个先前图像的情况下,(previous_cx,previous_cy)是第一对象在该先前图像中的位置的中心。例如,在CPU 210获得多于一个的先前图像的情况下,(previous_cx,previous_cy)是第一对象在这些先前图像中的任何一个中的位置的中心。speed_x及speed_y分别是第一对象在x方向和y方向上的移动速度,并且根据第一对象在先前图像中的位置来计算。timeDiff是当前图像与获得(previous_cx,previous_cy)的先前图像之间的时间差。
第一对象在当前图像中的尺寸为:
predict_width=previous_width;
predict_height=previous_height;
其中,predict_width及predict_height是第一对象在当前图像中的预测尺寸。previous_width及previous_height是第一对象在获得(previous_cx,previous_cy)的先前图像中的尺寸。
而后,针对各第二对象,CPU 210在各先前图像中,计算第一对象与该第二对象之间的以下运动差异中的至少一者:
1)位置距离(positionDiff):表示这两个对象之间的距离;其中,越小的值意味着这两个对象越接近。此外,位置距离被如下地计算:
positionDiffX=|position1_cx–position2_cx|
positionDiffY=|position1_cy–position2_cy|
其中,position1_cx及position1_cy是第一对象在该先前图像中的位置的中心;position2_cx及position2_cy是第二对象在该先前图像中的位置的中心。
2)移动速度差异(speedDiff):表示这两个对象之间的移动速度差异;其中,越小的值意味着这两个对象具有越相近的速度。此外,根据一个对象在先前图像中的位置,来计算该对象的移动速度。例如,对象在时间T内的移动速度按以下公式来估计:
speed_x=(positionTimeM_cx–positionTimeN_cx)/timeDiff;
speed_y=(positionTimeM_cy–positionTimeN_cy)/timeDiff;
其中,speed_x及speed_y分别是对象在x方向和y方向上的移动速度;(positionTimeM_cx,positionTimeM_cy)是对象在时间M的位置的中心,(positionTimeN_cx,positionTimeN_cy)是对象在时间N的位置的中心,并且timeDiff是时间M与时间N之间的时间差(即,时间T)。
因此,移动速度差异被如下地计算:
speedDiffX=|speed1_x–speed2_x|
speedDiffY=|speed1_y–speed2_y|
其中,speed1_x及speed1_y是第一对象的移动速度;speed2_x及speed2_y是第二对象的移动速度。
3)移动方向差异(directionDiff):表示这两个对象之间的移动方向差异;其中,越小的值意味着这两个对象正在以越相近的方向移动。此外,移动方向差异被计算如下:
direction1=arctan(speed1_y/speed1_x)
direction2=arctan(speed2_y/speed2_x)
directionDiff=|direction1–direction2|
其中,direction1是第一对象在该先前图像中的移动方向,并且direction2是第二对象在该先前图像中的移动方向。
4)对象尺寸差异(sizeDiff):表示这两个对象之间的尺寸差异;其中,越小的值意味着这两个对象越接近。
通常,由于照相机的透视,两个对象的中心可能非常接近,但是,这两个对象的中心在真实世界中是非常远的。如图4所示,人A的中心和人B的中心是接近的,但在真实世界中,人A的中心和人B的中心是远离的,因此,人A和人B不应当在相同移动组中,其中将在下文描述所述移动组。与人B相比,人A的中心和人C的中心是远离的,但在真实世界中,人A的中心和人C的中心是接近的,因此,人A和人C应当在相同的移动组中。换言之,相同移动组中的对象应当具有相同的尺寸。
因此,对象尺寸差异被如下地计算:
sizeDiff=1-MIN(width1,width2)/MAX(width1,width2)
其中,width1是第一对象的宽度,并且width2是第二对象的宽度。
5)这两个对象出现在同一图像中的持续时间(timeSameFrame)。
通常,相同移动组中的对象应当具有相近的尺寸,应当邻近地出现,并且应当连续在长的时段内以相近的速度行走。因此,这两个对象出现在同一图像中的持续时间被如下地计算:
TimeSameFrame=(T1∩T2)
其中,T1是第一对象出现的时段,T2是第二对象出现的时段,(T1∩T2)是这两个对象出现在相同图像中的持续时间。
现在,回到图3,在CPU 210确定第一对象与第二对象之间的运动差异之后,在计算步骤S320中,对于各第二对象,CPU 210将根据第一对象与该第二对象之间的相应运动差异,来计算这两个对象之间的参数;其中,所述参数表示这两个对象的运动一致性。具体而言,参数越大,则这两个对象的运动一致性越高。在真实世界中,一个对象很少被孤立并与整个场景无关,并且,该对象一般与该对象周围的其他对象一起,具有某些社会行为。换言之,该对象一般与该对象周围的其他对象一起,具有运动一致性。因此,本发明使用两个对象之间的运动一致性,来确定这两个对象是否在相同移动组中。
在一种实施方式中,CPU 210根据上述的位置距离(positionDiff)和对象尺寸差异(sizeDiff),来计算参数。例如,CPU 210通过使用以下的公式(1)来计算参数(即,P):
P=1-(λ0*positionDiff+λ3*sizeDiff)…(1)
在另一实施方式中,CPU 210根据全部的上述运动差异来计算参数。例如,CPU 210通过使用以下的公式(2)来计算参数(即,P):
P=1-(λ0*positionDiff+λ1*speedDiff+λ2*directionDiff+λ3*sizeDiff+λ4*timeSameFrame)
…(2)
其中,在上述的两公式中,λ0,λ1,λ2,λ3,λ4是定义的常数,这些常数是预先通过使用机器学习方法而学习的。
在CPU 210在当前图像的先前图像中、计算第一对象与所有各第二对象之间的相应参数之后,在移动组确定步骤S330中,CPU 210将基于相应的参数,把第一对象和相应的第二对象确定为移动组。具体而言,将第一对象和相应的第二对象确定为移动组,其中该第一对象与该相应的第二对象之间的参数最大。在一个实例中,可以将正在相互交谈的两个人视为移动组。在另一实例中,可以将正在一同行走的两个人视为移动组。在又一实例中,可以将一个人和跟随该人的对象(诸如宠物、包)视为移动组。
而后,在类型确定步骤S340中,CPU 210将通过把相应参数与预定义阈值进行比较,来确定移动组的类型,其中,所述预定义阈值是预定义的常数。如图5所示,在相应参数小于或等于第一预定义阈值(即,P≦TH1)的情况下,CPU 210将把移动组的类型确定为单个移动组。在相应参数大于或等于第二预定义阈值(即,P≥TH2)的情况下,CPU 210将把移动组的类型确定为具有高一致性的移动组。通常,在具有高一致性的移动组中,一个对象被相同移动组中的另一对象遮挡。此外,在相应参数大于第一预定义阈值且小于第二预定义阈值(即,TH1<P<TH2)的情况下,CPU 210将把移动组的类型确定为具有低一致性的移动组。通常,在具有低一致性的移动组中,一个对象未被相同移动组中的其他对象遮挡。例如,根据本发明,图6A中所示的圈中的人将被视为单个移动组,图6B中所示的圈中的两个人将被视为具有高一致性的移动组,并且图6C中所示的圈中的两个人将被视为具有低一致性的移动组。
最后,在CPU 210确定移动组的类型之后,在位置确定步骤S350中,CPU 210将根据与移动组的类型相对应的预定义跟踪方法,来确定第一对象在当前图像中的位置。如图5所示,与单个移动组相对应的预定义跟踪方法是跟踪方法1,与具有高一致性的移动组相对应的预定义跟踪方法是跟踪方法2,并且与具有低一致性的移动组相对应的预定义跟踪方法是跟踪方法3,其中,将在下文中详细描述上述的跟踪方法1-3。
在本发明的一个方面中,针对单个移动组,CPU 210通过使用对象检测器,来确定第一对象在当前图像中的位置(即,上述的跟踪方法1)。通常,由于慢的跟踪速度,对象跟踪不能达到实时跟踪,并且不能在FullHD视频中被逐帧地在整个图像上执行。因此,为了提高跟踪速度,一般使用在局部搜索区域中搜索对象的最佳位置的方法,来跟踪对象,其中,该方法根据对象在当前图像的先前图像中的位置,来估计对象在当前图像中的位置。
在一种实施方式中,参照图7来确定第一对象在当前图像中的位置。图7是示意性地示出根据本发明的跟踪方法1的过程的流程图。
如图7所示,在步骤S710中,CPU 210根据在上述的运动确定步骤S310中预测的、第一对象在当前图像中的位置及尺寸,在当前图像中确定局部搜索区域。在一个实例中,局部搜索区域的位置及尺寸被如下地确定:
region_cx=predict_cx;
region_cy=predict_cy;
region_width=predict_width*width_ratio;
region_height=predict_height*height_ratio;
其中,(region_cx,region_cy)是局部搜索区域在当前图像中的位置的中心,(predict_cx,predict_cy)是第一对象在当前图像中的上述预测位置的中心,region_width及region_height是局部搜索区域在当前图像中的尺寸,predict_width及predict_height是第一对象在当前图像中的上述预测尺寸,width_ratio及height_ratio是预定义常数或经验值。如图8所示,矩形框表示第一对象在当前图像中的预测尺寸,并且虚线框表示局部搜索区域在当前图像中的尺寸。
在步骤S720中,CPU 210以滑动窗口的方式,在局部搜索区域中生成大量的窗口图像,并从生成的窗口图像中,确定可能覆盖第一对象的候选窗口图像。
在一个实例中,通过使用图像相似性度量方法,来确定候选窗口图像,其中,图像相似性度量方法度量第一对象的模板图像与所生成的窗口图像中的各个之间的相似性。具体而言,针对所生成的窗口图像中的各个,使用“点到区域”图像匹配方法来度量相似性,所述的“点到区域”图像匹配方法在计算上是高效的,并且对于对象变形和光线变化是鲁棒的。图9示意性地示出了根据本发明的示例性的“点到区域”图像匹配方法。如图9所示,假定生成的窗口图像的尺寸和模板图像的尺寸都是D=3*3像素,则首先,将把模板图像上的各像素P(i,j)与生成的窗口图像中的像素进行比较。在P(i,j)与生成的窗口图像上的任意像素匹配的情况下,P(i,j)将被认为是与生成的窗口图像匹配。其中,两个像素是否匹配被如下地确定:
Diff=(R1-R2)2+(G1-G2)2+(B1-B2)2
其中,Diff是这两个像素之间的色差,(R1,G1,B1)及(R2,G2,B2)是像素值。如果色差小于预定义阈值(例如,TH3),则这两个像素被认为是相互匹配,否则不匹配。而后,图像匹配得分(image matching score)或图像相似性度量值被如下地计算:
其中,Nmatched是匹配像素的数量,并且Ntotal是模板图像上的像素的总数。在图像匹配得分大于预定义阈值(例如,TH4)的情况下,将该生成的窗口图像确定为候选窗口图像。
而后,由于在步骤S720中可能确定多于一个的候选窗口图像,因此,在步骤S730中,CPU 210从候选窗口图像中确定最佳窗口图像,作为第一对象在当前图像中的位置。在一个实例中,使用均值偏移(mean-shift)算法,来从候选窗口图像中确定最佳窗口图像。
在步骤S740中,CPU 210判断在当前图像中是否检测到第一对象。在步骤S730中确定了第一对象在当前图像中的位置的情况下,确定第一对象被检测到(步骤S740:是),否则,确定第一对象未被检测到(步骤S740)。
最后,在步骤S750中,CPU 210输出第一对象的位置,并且结束当前图像中的对象跟踪。
在本发明的另一个方面中,针对具有高一致性的移动组,CPU 210根据第一对象在当前图像的先前图像当中的移动轨迹,来确定第一对象在当前图像中的位置(即,上述的跟踪方法2)。对于具有高一致性的移动组中的第一对象,由于第一对象被第一对象的组成员(即,该移动组中的上述第二对象)遮挡,因此,当确定第一对象在当前图像中的位置时,将不考虑该第二对象的移动轨迹。换言之,将根据第一对象在当前图像的先前图像当中的移动轨迹,来确定第一对象在当前图像中的位置。在一个实例中,第一对象在当前图像中的位置被如下地确定:
在本发明的又一个方面中,针对具有低一致性的移动组,CPU 210根据第一对象在当前图像的先前图像当中的移动轨迹,以及该移动组中的第二对象在当前图像的先前图像当中的移动轨迹,来确定第一对象在当前图像中的位置(即,上述的跟踪方法3)。在一种实施方式中,参照图10来确定第一对象在当前图像中的位置。图10是示意性地示出根据本发明的跟踪方法3的过程的流程图。
首先,CPU 210通过使用对象检测器,来确定第一对象在当前图像中的位置。如图10所示,步骤S710-步骤S740是该处理的详细步骤。由于图10中所示的步骤S710-步骤S740与图7中所示的步骤S710-步骤S740相同,因此,这里将不再重复详细的描述。
而后,在CPU 210在步骤S740中、判断由对象检测器在当前图像中确定了第一对象的位置的情况下,过程将进入到步骤S1010;否则,过程将进入到步骤S1030。
在步骤S1010中,CPU 210判断所确定的第一对象的位置是否准确。在所确定的第一对象的位置不准确的情况下,过程将进入到步骤S1020;否则,过程将进入到步骤S1040。
通常,在两个相邻图像中与相同移动组相对应的参数不会改变许多(即,在参数之间不存在大的差异)。因此,在参数改变许多的情况下,这意味着所确定的第一对象在当前图像中的位置可能不准确。因此,在一个实例中,在步骤S1010中,CPU 210根据以下的步骤,来判断所确定的第一对象的位置是否准确:
首先,CPU 210根据第一对象与第二对象在当前图像中的运动差异,来更新与具有低一致性的移动组相对应的参数。其中,参照在图3中所示的上述的运动确定步骤S310中描述的相应处理,来确定第一对象与第二对象在当前图像中的运动差异。并且,参照在图3中所示的上述的计算步骤S320中描述的相应处理,来更新参数。
其次,在更新后的参数与未更新的参数(即,在上述的计算步骤S320中计算的参数)之间存在大的差异的情况下,CPU 210判断所确定的第一对象的位置不准确;否则,CPU210判断所确定的第一对象的位置是准确的。例如,CPU 210首先计算更新后的参数与未更新的参数之差,而后确定所计算的差是否大于预定义阈值(例如,TH5)。在所计算的差大于TH5的情况下,CPU 210确定在更新后的参数与未更新的参数之间存在大的差异;否则,CPU210确定在更新后的参数与未更新的参数之间不存在大的差异。
在步骤S1020中,CPU 210根据第一对象在当前图像的先前图像当中的移动轨迹,来调整所确定的第一对象的位置。例如,CPU 210如下地调整所确定的第一对象的位置:
new_cx=detection_cx*(1-shift)+predict_cx*shift;
new_cy=detection_cy*(1-shift)+predict_cy*shift;
其中,(new_cx,new_cy)是在步骤S1020中获得的调整后的第一对象在当前图像中的位置的中心,(detection_cx,detection_cy)是在步骤S730中获得的所确定的第一对象在当前图像中的位置的中心,(predict_cx,predict_cy)是在图3中所示的上述的步骤S310中获得的第一对象在当前图像中的预测位置的中心,并且“shift”(偏移)是作为预定义值或经验值的权重系数。其中,在确定(new_cx,new_cy)时,“shift”被用于确定(detection_cx,detection_cy)与(predict_cx,predict_cy)的比例。
在步骤S1030中,CPU 210根据第一对象和第二对象在当前图像的先前图像当中的移动轨迹,来确定第一对象在当前图像中的位置。在一种实施方式中,CPU 210参照图11来确定第一对象在当前图像中的位置。图11是示意性地示出图10中所示的步骤S1030的过程的流程图。
如图11所示,在步骤S1031中,CPU 210确定在移动组中是否能够检测到第二对象。在移动组中能够检测到第二对象的情况下,过程将进入到步骤S1032;否则,过程将进入到步骤S1033。
在步骤S1032中,CPU 210根据第一对象和第二对象在当前图像的先前图像当中的移动轨迹,来确定第一对象在当前图像中的位置。例如,CPU 210如下地确定第一对象在当前图像中的位置:
其中,表示第一对象在先前第k个图像中的位置。表示第二对象在先前第k个图像中的位置。表示在最后数个图像中的至少一个中的、第一对象与第二对象之间的平均位置差异。表示第一对象在当前图像中的位置。并且,表示第二对象在当前图像中的位置。
在步骤S1033中,CPU 210根据第一对象在当前图像的先前图像当中的移动轨迹,来确定第一对象在当前图像中的位置。例如,步骤S1033的处理与上述的跟踪方法2的处理相同。
最后,在步骤S1040中,CPU 210输出第一对象的位置,并且结束当前图像中的对象跟踪。
如上所述,本发明在确定被跟踪对象的位置时,考虑了该被跟踪对象与该被跟踪对象周围的其他对象之间的运动一致性,因此,根据本发明,将提高对象跟踪精度。
接下来,将参照图12来描述用于对象跟踪的结构。图12是例示根据本发明的实施例的对象跟踪装置1200的结构的框图。
图12中所示的块被实施为上面参照图2所述的CPU 210,并且用于执行被加载到RAM 220的程序,以及用于与图2中所示的各硬件协作。可以由专用的硬件来实施部分或全部的块。
如图12所示,对象跟踪装置1200包括:运动确定单元1210、计算单元1220、移动组确定单元1230、类型确定单元1240,以及位置确定单元1250。
首先,如上所述,图2中所示的输入设备250将获取从图像获取装置(诸如数字照相机等)输出的一个自然场景图像(即,当前图像)。其次,输入设备250将经由系统总线280,将当前图像传送到CPU 210。
而后,如图12所示,运动确定单元1210将从当前图像的至少一个先前图像中,确定第一对象与第二对象之间的运动差异;其中,所述第一对象是当前图像中的被跟踪对象,所述第二对象是当前图像中的第一对象周围的对象(对应于图3中所示的步骤S310)。
对于各第二对象,计算单元1220将根据第一对象与该第二对象之间的相应运动差异,来计算这两个对象之间的参数(对应于图3中所示的步骤S320);其中,所述参数表示这两个对象的运动一致性。
移动组确定单元1230将基于相应的参数,把第一对象和相应的第二对象确定为移动组(对应于图3中所示的步骤S330)。
类型确定单元1240将通过把相应参数与预定义阈值进行比较,来确定移动组的类型(对应于图3中所示的步骤S340)。
而后,位置确定单元1250将根据与移动组的类型相对应的预定义跟踪方法,来确定第一对象在当前图像中的位置(对应于图3中所示的步骤S350)。
对象跟踪装置1200中的各个单元可以被构造为进行图3至图11中的流程图中所示的各个步骤。
上述所有的单元均是用于实施本公开中描述的处理的示例性的和/或优选的模块。这些单元可以是硬件单元(诸如现场可编程门阵列(FPGA)、数字信号处理器、专用集成电路等)和/或软件模块(诸如计算机可读程序)。上面未详尽地描述用于实施各种步骤的单元。然而,在存在进行某一处理的步骤的情况下,可以存在用于实施相同处理的相应功能模块或单元(由硬件和/或软件实施)。在本申请的公开中,包括基于描述的步骤以及与这些步骤相对应的单元的全部组合的技术方案,只要所构成的这些技术方案是完整的且适用的即可。
可以通过多种方式来实施本发明的方法及装置。例如,可以通过软件、硬件、固件或这三者的任意组合,来实施本发明的方法及装置。上面描述的方法的步骤的顺序仅旨在进行说明,并且,本发明的方法的步骤并不限定于上面具体描述的顺序,除非另外特别指明。此外,在一些实施方式中,本发明还可以体现为记录在记录介质中的程序,包括用于实施根据本发明的方法的机器可读指令。因此,本发明还涵盖存储有用于实施根据本发明的方法的程序的记录介质。
虽然上面利用示例详细说明了本发明的一些具体实施例,但是,本领域的技术人员应当理解,上述的示例仅旨在进行说明,而不是限定本发明的范围。本领域的技术人员应当理解,可以在不偏离本发明的范围和精神的情况下,对上述实施例进行修改。本发明的范围是由所附的权利要求来定义的。
Claims (7)
1.一种对象跟踪方法,所述对象跟踪方法包括:
运动确定步骤,从当前图像的至少一个先前图像中,确定第一对象与第二对象之间的运动差异;其中,所述第一对象是所述当前图像中的被跟踪对象,所述第二对象是所述当前图像中的所述第一对象周围的对象;
计算步骤,针对各第二对象,根据所述第一对象与该第二对象之间的相应运动差异,来计算这两个对象之间的参数;其中,所述参数表示这两个对象的运动一致性;
移动组确定步骤,基于相应参数,将所述第一对象和相应的第二对象确定为移动组;
类型确定步骤,通过将相应参数与预定义阈值进行比较,来确定所述移动组的类型;其中,所述移动组的类型包括单个移动组、高一致性移动组和低一致性移动组;其中,所述单个移动组仅包括所述第一对象,所述高一致性移动组和所述低一致性移动组包括所述第一对象和相应的第二对象;以及
位置确定步骤,根据与所述移动组的所述类型相对应的预定义跟踪方法,来确定所述第一对象在所述当前图像中的位置;其中,与所述高一致性移动组相对应的预定义跟踪方法不根据该高一致性移动组中的第二对象在所述当前图像的先前图像当中的移动轨迹,而根据所述第一对象在所述当前图像的先前图像当中的移动轨迹,来确定所述第一对象在所述当前图像中的所述位置。
2.根据权利要求1所述的对象跟踪方法,其中,一个先前图像中的所述第一对象与一个第二对象之间的所述运动差异包括以下各差异中的至少一者:位置距离、移动速度差异、移动方向差异、对象尺寸差异,以及这两个对象出现在同一图像中的持续时间。
3.根据权利要求1所述的对象跟踪方法,
其中,所述参数越大,则所述两个对象的所述运动一致性越高;并且,
其中,所述类型确定步骤包括:
在相应参数小于或等于第一预定义阈值的情况下,将所述移动组的所述类型确定为单个移动组;
在相应参数大于或等于第二预定义阈值的情况下,将所述移动组的所述类型确定为高一致性移动组;以及
在相应参数大于所述第一预定义阈值且小于所述第二预定义阈值的情况下,将所述移动组的所述类型确定为低一致性移动组。
4.根据权利要求3所述的对象跟踪方法,其中:
与所述单个移动组相对应的预定义跟踪方法是通过使用对象检测器,来确定所述第一对象在所述当前图像中的所述位置;
与所述低一致性移动组相对应的预定义跟踪方法是根据所述第一对象在所述当前图像的先前图像当中的移动轨迹,以及该低一致性移动组中的第二对象在所述当前图像的先前图像当中的移动轨迹,来确定所述第一对象在所述当前图像中的所述位置。
5.根据权利要求4所述的对象跟踪方法,其中,与所述低一致性移动组相对应的所述预定义跟踪方法包括以下步骤:
通过使用对象检测器,来确定所述第一对象在所述当前图像中的所述位置;
在由所述对象检测器在所述当前图像中未确定所述第一对象的所述位置的情况下,根据所述第一对象和所述第二对象在所述当前图像的先前图像当中的移动轨迹,来确定所述第一对象在所述当前图像中的所述位置;以及
在由所述对象检测器在所述当前图像中确定了所述第一对象的所述位置的情况下,
判断所确定的位置是否准确;以及
在所确定的位置不准确的情况下,根据所述第一对象在所述当前图像的先前图像当中的移动轨迹,来调整所确定的位置。
6.根据权利要求5所述的对象跟踪方法,其中,所述判断所确定的位置是否准确的步骤包括:
根据所述第一对象与第二对象在所述当前图像中的所述运动差异,来更新与所述低一致性运动组相对应的所述参数;以及
在所更新后的参数与未更新的参数之间存在大的差异的情况下,判断所确定的位置不准确;否则,判断所确定的位置是准确的。
7.一种对象跟踪装置,所述对象跟踪装置包括:
运动确定单元,其被构造为从当前图像的至少一个先前图像中,确定第一对象与第二对象之间的运动差异;其中,所述第一对象是所述当前图像中的被跟踪对象,所述第二对象是所述当前图像中的所述第一对象周围的对象;
计算单元,其被构造为针对各第二对象,根据所述第一对象与该第二对象之间的相应运动差异,来计算这两个对象之间的参数;其中,所述参数表示这两个对象的运动一致性;
移动组确定单元,其被构造为基于相应参数,将所述第一对象和相应的第二对象确定为移动组;
类型确定单元,其被构造为通过将相应参数与预定义阈值进行比较,来确定所述移动组的类型;其中,所述移动组的类型包括单个移动组、高一致性移动组和低一致性移动组;其中,所述单个移动组仅包括所述第一对象,所述高一致性移动组和所述低一致性移动组包括所述第一对象和相应的第二对象;以及
位置确定单元,其被构造为根据与所述移动组的所述类型相对应的预定义跟踪方法,来确定所述第一对象在所述当前图像中的位置;其中,与所述高一致性移动组相对应的预定义跟踪方法不根据该高一致性移动组中的第二对象在所述当前图像的先前图像当中的移动轨迹,而根据所述第一对象在所述当前图像的先前图像当中的移动轨迹,来确定所述第一对象在所述当前图像中的所述位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610597193.2A CN107665495B (zh) | 2016-07-26 | 2016-07-26 | 对象跟踪方法及对象跟踪装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610597193.2A CN107665495B (zh) | 2016-07-26 | 2016-07-26 | 对象跟踪方法及对象跟踪装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107665495A CN107665495A (zh) | 2018-02-06 |
CN107665495B true CN107665495B (zh) | 2021-03-16 |
Family
ID=61114477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610597193.2A Active CN107665495B (zh) | 2016-07-26 | 2016-07-26 | 对象跟踪方法及对象跟踪装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107665495B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110458861B (zh) * | 2018-05-04 | 2024-01-26 | 佳能株式会社 | 对象检测与跟踪方法和设备 |
CN108897777B (zh) | 2018-06-01 | 2022-06-17 | 深圳市商汤科技有限公司 | 目标对象追踪方法及装置、电子设备和存储介质 |
CN111695429B (zh) * | 2020-05-15 | 2022-01-11 | 深圳云天励飞技术股份有限公司 | 视频图像目标关联方法、装置及终端设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7391907B1 (en) * | 2004-10-01 | 2008-06-24 | Objectvideo, Inc. | Spurious object detection in a video surveillance system |
CN101228555A (zh) * | 2005-07-07 | 2008-07-23 | 独创目标实验室公司 | 用于目标的运动行为的三维监控和分析的系统 |
CN201114551Y (zh) * | 2007-10-31 | 2008-09-10 | 北京航空航天大学 | 多模多目标精密跟踪装置 |
CN102369729A (zh) * | 2009-03-31 | 2012-03-07 | 日本电气株式会社 | 跟踪对象确定设备、跟踪对象确定方法和跟踪对象确定程序 |
US8249299B1 (en) * | 2009-08-17 | 2012-08-21 | Adobe Systems Incorporated | Systems and methods of tracking objects in video |
CN104392445A (zh) * | 2014-11-21 | 2015-03-04 | 中国计量学院 | 一种监控视频中人群小群体分割方法 |
CN104574379A (zh) * | 2014-12-24 | 2015-04-29 | 中国科学院自动化研究所 | 一种基于目标多部件学习的视频分割算法 |
-
2016
- 2016-07-26 CN CN201610597193.2A patent/CN107665495B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7391907B1 (en) * | 2004-10-01 | 2008-06-24 | Objectvideo, Inc. | Spurious object detection in a video surveillance system |
CN101228555A (zh) * | 2005-07-07 | 2008-07-23 | 独创目标实验室公司 | 用于目标的运动行为的三维监控和分析的系统 |
CN201114551Y (zh) * | 2007-10-31 | 2008-09-10 | 北京航空航天大学 | 多模多目标精密跟踪装置 |
CN102369729A (zh) * | 2009-03-31 | 2012-03-07 | 日本电气株式会社 | 跟踪对象确定设备、跟踪对象确定方法和跟踪对象确定程序 |
US8249299B1 (en) * | 2009-08-17 | 2012-08-21 | Adobe Systems Incorporated | Systems and methods of tracking objects in video |
CN104392445A (zh) * | 2014-11-21 | 2015-03-04 | 中国计量学院 | 一种监控视频中人群小群体分割方法 |
CN104574379A (zh) * | 2014-12-24 | 2015-04-29 | 中国科学院自动化研究所 | 一种基于目标多部件学习的视频分割算法 |
Non-Patent Citations (1)
Title |
---|
Multi-Target Tracking by Online Learning of Non-linear Motion Patterns and Robust Appearance Models;Bo Yang等;《2012 IEEE Conference on Computer Vision and Pattern Recognition》;20121231;第1918-1925页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107665495A (zh) | 2018-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Simo-Serra et al. | Single image 3D human pose estimation from noisy observations | |
US9134399B2 (en) | Attribute-based person tracking across multiple cameras | |
EP2548174B1 (en) | Method and apparatus for trajectory estimation, and method for segmentation | |
Ozyildiz et al. | Adaptive texture and color segmentation for tracking moving objects | |
US20090296989A1 (en) | Method for Automatic Detection and Tracking of Multiple Objects | |
US20150077323A1 (en) | Dynamic object tracking for user interfaces | |
Rout | A survey on object detection and tracking algorithms | |
US9147114B2 (en) | Vision based target tracking for constrained environments | |
JP7272024B2 (ja) | 物体追跡装置、監視システムおよび物体追跡方法 | |
CN110782483A (zh) | 基于分布式相机网络的多视图多目标跟踪方法及系统 | |
Jiang et al. | Multiple pedestrian tracking using colour and motion models | |
Ko | A survey on behaviour analysis in video surveillance applications | |
AU2015203666A1 (en) | Methods and systems for controlling a camera to perform a task | |
KR101681104B1 (ko) | 부분적 가림을 갖는 영상 객체 내의 주요 특징점 기반 다중 객체 추적 방법 | |
Chamveha et al. | Head direction estimation from low resolution images with scene adaptation | |
Hassan et al. | An adaptive sample count particle filter | |
CN107665495B (zh) | 对象跟踪方法及对象跟踪装置 | |
Maddalena et al. | Exploiting color and depth for background subtraction | |
CN104219488A (zh) | 目标图像的生成方法和装置、以及视频监控系统 | |
Nodehi et al. | Multi-metric re-identification for online multi-person tracking | |
Talukdar et al. | Human action recognition system using good features and multilayer perceptron network | |
Farazi et al. | Real-time visual tracking and identification for a team of homogeneous humanoid robots | |
Sourtzinos et al. | People counting in videos by fusing temporal cues from spatial context-aware convolutional neural networks | |
Chen et al. | A computationally efficient pipeline for camera-based indoor person tracking | |
Emami et al. | Novelty detection in human tracking based on spatiotemporal oriented energies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |