CN112184766B - 一种对象的跟踪方法、装置、计算机设备和存储介质 - Google Patents
一种对象的跟踪方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112184766B CN112184766B CN202010997030.XA CN202010997030A CN112184766B CN 112184766 B CN112184766 B CN 112184766B CN 202010997030 A CN202010997030 A CN 202010997030A CN 112184766 B CN112184766 B CN 112184766B
- Authority
- CN
- China
- Prior art keywords
- image data
- target
- point
- points
- reference 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
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000003068 static effect Effects 0.000 claims abstract description 28
- 239000011159 matrix material Substances 0.000 claims description 125
- 238000013507 mapping Methods 0.000 claims description 25
- 238000001514 detection method Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims description 4
- 239000000758 substrate Substances 0.000 claims 1
- 230000006978 adaptation Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000013506 data mapping Methods 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000004888 barrier function Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000008685 targeting Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012806 monitoring device Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/248—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例提供了一种对象的跟踪方法、装置、计算机设备和存储介质,该方法包括:获取对一对象采集的视频数据,从目标图像数据中分别确定当前适于静态跟踪的第一参考图像数据、适于动态跟踪的第二参考图像数据,在当前帧目标图像数据上,通过第一参考图像数据查找与内点匹配的特征点、作为第一目标点,在当前帧目标图像数据上,通过第二参考图像数据查找与外点匹配的特征点、作为第二目标点,根据相互匹配的内点与第一目标点、外点与第二目标点,实现多种方式选择跟踪对象的参考,自适应内点、外点的特性,使得内点与第一参考图像数据、外点与第二参考图像数据的适配度高,可以提高匹配内点、外点的成功率,从而提高跟踪对象的成功率。
Description
技术领域
本发明实施例涉及计算机视觉的技术领域,尤其涉及一种对象的跟踪方法、装置、计算机设备和存储介质。
背景技术
在智能视频监控、自动化监测、智能交通、人机交互、虚拟现实、医学诊断等业务场景下经常需要在平面跟踪对象,即对视频数据中的目标状态进行持续推断的过程,其任务在于通过在视频数据的每一帧图像数据中定位对象,以生成对象的运动轨迹。
目前,通常是使用固定的方式选择跟踪对象的参考图像数据,这种固定的方式灵活性较差,导致跟踪对象的成功率较差,甚至是失效。
发明内容
本发明实施例提出了一种对象的跟踪方法、装置、计算机设备和存储介质,以解决使用固定的方式选择作为跟踪对象的参考图像数据导致跟踪对象的成功率较差,甚至是失效的问题。
第一方面,本发明实施例提供了一种对象的跟踪方法,包括:
获取对一对象采集的视频数据,所述视频数据具有多帧目标图像数据;
从所述目标图像数据中分别确定当前适于静态跟踪的第一参考图像数据、适于动态跟踪的第二参考图像数据;
在当前帧所述目标图像数据上,通过所述第一参考图像数据查找与内点匹配的特征点、作为第一目标点,所述内点为已匹配的、所述对象的特征点;
在当前帧所述目标图像数据上,通过所述第二参考图像数据查找与外点匹配的特征点、作为第二目标点,所述外点为噪点;
根据相互匹配的所述内点与所述第一目标点、所述外点与所述第二目标点,在当前帧所述目标图像数据上检测所述对象。
第二方面,本发明实施例还提供了一种对象的跟踪装置,包括:
视频数据获取模块,用于获取对一对象采集的视频数据,所述视频数据具有多帧目标图像数据;
参考图像数据确定模块,用于从所述目标图像数据中分别确定当前适于静态跟踪的第一参考图像数据、适于动态跟踪的第二参考图像数据;
内点匹配模块,用于在当前帧所述目标图像数据上,通过所述第一参考图像数据查找与内点匹配的特征点、作为第一目标点,所述内点为已匹配的、所述对象的特征点;
外点匹配模块,用于在当前帧所述目标图像数据上,通过所述第二参考图像数据查找与外点匹配的特征点、作为第二目标点,所述外点为噪点;
对象检测模块,用于根据相互匹配的所述内点与所述第一目标点、所述外点与所述第二目标点,在当前帧所述目标图像数据上检测所述对象。
第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的对象的跟踪方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方所述的对象的跟踪方法。
在本实施例中,获取对一对象采集的视频数据,视频数据具有多帧目标图像数据,从目标图像数据中分别确定当前适于静态跟踪的第一参考图像数据、适于动态跟踪的第二参考图像数据,在当前帧目标图像数据上,通过第一参考图像数据查找与内点匹配的特征点、作为第一目标点,内点为已匹配的、对象的特征点,在当前帧目标图像数据上,通过第二参考图像数据查找与外点匹配的特征点、作为第二目标点,外点为噪点,根据相互匹配的内点与第一目标点、外点与第二目标点,在当前帧目标图像数据上检测对象,考虑到内点所在的区域出现动态的障碍物的概率比较低,外点所在的区域出现动态的障碍物的概率比较高,分别以适于静态追踪的第一参考图像数据作为匹配内点的参考、以适于动态跟踪的第二参考图像数据作为匹配外点的参考,一方面,实现多种方式选择跟踪对象的参考,自适应内点、外点的特性,使得内点与第一参考图像数据、外点与第二参考图像数据的适配度高,可以提高匹配内点、外点的成功率,从而提高跟踪对象的成功率,另一方面,区分内点、外点进行匹配,计算简单,耗时少,可以满足实时性的需求。
附图说明
图1为一种跟踪对象的示例图;
图2为本发明实施例一提供的一种对象的跟踪方法的流程图;
图3是本发明实施例二提供的一种对象的跟踪方法的流程图;
图4为本发明实施例二提供的一种跟踪对象的架构图;
图5A为本发明实施例二提供的一种匹配内点的示意图;
图5B为本发明实施例二提供的一种匹配外点的示意图;
图6为本发明实施例二提供的一种单应性矩阵的示意图;
图7是本发明实施例三提供的一种对象的跟踪方法的流程图;
图8是本发明实施例三提供的一种计算差异程度的示意图;
图9为本发明实施例四提供的一种对象的跟踪装置的结构示意图;
图10为本发明实施例五提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
如图1所示,为在平面跟踪指定的对象,目前通常使用如下两种方式设置参考图像数据:
第一种方式,针对指定的对象拍摄一个平面的模版图像数据101,使用模版图像数据101作为参考,在当前帧图像数据103中跟踪该对象。
由于模版图像数据101是固定的,所以在视频数据跟踪对象会比较稳定。
但是,在采集视频数据时,会受到拍摄设备和环境的影响,如分辨率、光照等,使得模版图像数据101可能与当前帧图像数据103中的对象在纹理有比较大的差别,导致跟踪的失败率较高。
第二种方式,使用视频数据中上一帧图像数据102作为参考,由于上一帧图像数据102已检测到对象,可在当前帧图像数据103中跟踪对象,此种方式又称之为连续跟踪。
由于上一帧图像数据102与当前帧图像数据103之前的时间近接,所以上一帧图像数据102与当前帧图像数据103之间的纹理差异较少,能提高跟踪的成功率。
但是,当前帧图像数据103不断变换,上一帧图像数据102相应地不断进行更新,使得上一帧图像数据102可能会受到场景的影响,例如,待跟踪的对象上出现了动态的障碍物,该障碍物遮挡了待跟踪的对象,若将出现障碍物的图像数据102作为参考的话,会使得跟踪对象变得不稳定甚至是失效。
针对上述情况,本发明实施例提出了一种解决遮挡问题的平面对象跟踪方法,一方面使用连续跟踪的策略提高跟踪对象的成功率,另一方面采取策略排除出现了遮挡的图像数据作为参考图像数据,避免遮挡带来的跟踪不稳定的问题。
实施例一
图2为本发明实施例一提供的一种对象的跟踪方法的流程图,本实施例可适用于区分静态匹配内点、动态匹配外点从而跟踪对象的情况,该方法可以由对象的跟踪装置来执行,该对象的跟踪装置可以由软件和/或硬件实现,可配置在计算机设备中,例如,无人设备、监控设备、移动终端(如手机、平板电脑等)、个人电脑、服务器,等等,具体包括如下步骤:
步骤201、获取对一对象采集的视频数据。
在本实施例中,可以根据业务的需求设置待在平面跟踪的对象,在不同的场景下,该对象有所不同,跟踪的目的也有所不用。
在一个示例中,对于智能视频监控,该对象可以为人,从而对人进行跟踪标定,如对运动员跟踪标定号码、个人历史数据等信息。
在另一个示例中,对于自动化监测,该对象可以为人,从而监测该人是否出现可疑行为。
在又一个示例中,对于智能交通,该对象可以为车辆,从而实时收集交通数据用来指挥交通流动。
在再一个示例中,对于人机交互,该对象可以为人,从而识别和理解人的姿态、动作、手势等信息,实现交互。
在诸如无人设备、移动终端等计算机设备中,可以内置一个或多个摄像头,在追踪对象时,可实时驱动该一个或多个摄像头面向对象采集视频数据。
对于诸如监控设备、个人电脑、服务器等计算机设备,可以连接一个或多个外置的摄像头,在追踪对象时,可实时驱动该一个或多个摄像头面向对象采集视频数据。
当然,除了计算机设备实时获取视频数据之外,还可以离线获取视频数据并加载至计算机设备,本实施例对此不加以限制。
在视频数据中具有多帧图像数据,为便于区分,本实施例称之为目标图像数据,由于跟踪对象是一个动态的过程,该对象的动作并不确定,或者,动态的障碍物遮挡该对象,因此,除了采集到全部对象之外,在部分目标图像数据中可能出现对象缺失、对象存在遮挡等情况。
步骤202、从目标图像数据中分别确定当前适于静态跟踪的第一参考图像数据、适于动态跟踪的第二参考图像数据。
在本实施例中,可设置参考图像数据,该参考图像数据对跟踪指定的对象起参考的作用。
为保证跟踪的效果,该参考图像数据是干净的,即参考图像数据上待跟踪的对象少障碍物或者没有障碍物。
在具体实现中,为表征待跟踪的对象,可以将该待跟踪的对象区分为内点外点/>
其中,内点为已匹配的、对象的特征点,即匹配正确的特征点;外点为噪点,例如,匹配错误的特征点、被障碍物遮挡的特征点,等等。
设定内点的集合/>设外点/>的集合 即待跟踪的对象可表示为特征点的集合/>
在本实施例中,针对内点的集合/>与外点/>的集合/>可以使用不同的跟踪策略。
由于内点所在的区域出现动态的障碍物的概率比较低,因此,对于内点可以在先已匹配的目标图像数据中,寻找适于静态跟踪的目标图像数据,作为第一参考图像数据Ipre。
由于外点所在的区域出现动态的障碍物的概率比较高,因此,对于外点可以在先已匹配的目标图像数据中,寻找适于动态跟踪的目标图像数据,作为第二参考图像数据Iref。
步骤203、在当前帧目标图像数据上,通过第一参考图像数据查找与内点匹配的特征点、作为第一目标点。
在本实施例中,按照时间顺序依次遍历视频数据中的每帧目标图像数据,以在每帧目标图像数据中检测指定的对象。
针对当前帧的目标图像数据Icur,以适于静态跟踪的第一参考图像数据Ipre作为匹配内点的参考,在当前帧的目标图像数据Icur上查找与内点/>匹配的特征点、作为第一目标点/>
步骤204、在当前帧目标图像数据上,通过第二参考图像数据查找与外点匹配的特征点、作为第二目标点。
针对当前帧的目标图像数据Icur,以适于动态跟踪的第二参考图像数Iref作为匹配外点的参考,在当前帧的目标图像数据Icur上查找与外点/>匹配的特征点、作为第二目标点/>
步骤205、根据相互匹配的内点与第一目标点、外点与第二目标点,在当前帧目标图像数据上检测对象。
在匹配完成之后,对于相互匹配的内点与第一目标点/>外点与第二目标点/>可使用随机采样一致法(random sample consensus,RANSAC)、穷举法等方式,在当前帧目标图像数据Icur上检测对象,实现对象的跟踪。
在本实施例中,获取对一对象采集的视频数据,视频数据具有多帧目标图像数据,从目标图像数据中分别确定当前适于静态跟踪的第一参考图像数据、适于动态跟踪的第二参考图像数据,在当前帧目标图像数据上,通过第一参考图像数据查找与内点匹配的特征点、作为第一目标点,内点为已匹配的、对象的特征点,在当前帧目标图像数据上,通过第二参考图像数据查找与外点匹配的特征点、作为第二目标点,外点为噪点,根据相互匹配的内点与第一目标点、外点与第二目标点,在当前帧目标图像数据上检测对象,考虑到内点所在的区域出现动态的障碍物的概率比较低,外点所在的区域出现动态的障碍物的概率比较高,分别以适于静态追踪的第一参考图像数据作为匹配内点的参考、以适于动态跟踪的第二参考图像数据作为匹配外点的参考,一方面,实现多种方式选择跟踪对象的参考,自适应内点、外点的特性,使得内点与第一参考图像数据、外点与第二参考图像数据的适配度高,可以提高匹配内点、外点的成功率,从而提高跟踪对象的成功率,另一方面,区分内点、外点进行匹配,计算简单,耗时少,可以满足实时性的需求。
实施例二
图3为本发明实施例二提供的一种对象的跟踪方法的流程图,本实施例以前述实施例为基础,进一步细化确定第一参考图像数据Ipre、第二参考图像数据Iref、匹配内点匹配外点/>与检测对象的操作,该方法具体包括如下步骤:
步骤301、获取对一对象采集的视频数据。
在本实施例中,视频数据具有多帧目标图像数据。
步骤302、查询排序在当前帧目标图像数据之前的第g帧目标图像数据,作为当前适于静态跟踪的第一参考图像数据。
一般情况下,视频数据的帧率较高,使得目标图像数据之间的时间间隔较小,例如,若视频数据的帧率为24帧,则每两帧目标图像数据之间的时间间隔为0.042秒,因此,目标图像数据之间的内容改变较小,如图排序在当前帧目标图像数据Icur之前的目标图像数据与当前帧目标图像数据Icur之间出现动态的障碍物的概率比较低,并且,排序在当前帧目标图像数据Icur之前的目标图像数据与当前帧目标图像数据Icur之间在纹理的差异较小。
如图4所示,针对内点可选择排序在当前帧目标图像数据Icur 404之前的第g帧目标图像数据,作为当前适于静态跟踪的第一参考图像数据Ipre 403,其中,g为正整数。
进一步而言,为了减少与当前帧目标图像数据Icur之间在纹理的差异,提高跟踪的精确度,g=1,即查询上一帧目标图像数据,作为当前适于静态跟踪的第一参考图像数据Ipre。
当然,除了上一帧目标图像数据之外,还可以选择其他目标图像数据作为当前适于静态跟踪的第一参考图像数据Ipre,例如,选择在先第二帧(n=2)目标图像数据作为当前适于静态跟踪的第一参考图像数据Ipre,选择在先第三帧(n=3)目标图像数据作为当前适于静态跟踪的第一参考图像数据Ipre,等等,本实施例对此不加以限制。
在本实施例中,以排序在当前帧目标图像数据之前的第g帧目标图像数据,作为当前适于静态跟踪的第一参考图像数据,复用连续跟踪策略,可以提高跟踪指定对象的成功率。
步骤303、查询与模板图像数据相似的目标图像数据,作为当前适于动态跟踪的第二参考图像数据。
在本实施例中,如图4所示,可针对待追踪的对象设置模板图像数据Iori 401,该模板图像数据Iori 401可用于表示待跟踪的对象,即表示跟踪的对象的像素点为模板图像数据Iori 401中像素点的全集。
一般情况下,用户可使用专业的摄影设备对待跟踪的对象拍摄图像数据,并从该图像数据中删除并非用于表示跟踪的对象的像素点,从而得到模板图像数据Iori。
如图4所示,由于外点所在的区域出现动态的障碍物的概率比较高,因此,对于外点/>可以选择与模板图像数据Iori 401相似的目标图像数据,作为适于动态跟踪对象的第二参考图像数据Iref 402。
进一步而言,为了减少与当前帧目标图像数据Icur之间在纹理的差异,提高跟踪的准确率,可查询与模板图像数据Iori相似、且距离当前时间最近的目标图像数据,作为当前适于动态跟踪的第二参考图像数据Iref。
当然,对于与模板图像数据相似的目标图像数据,除了且距离当前时间最近的目标图像数据之外,也可以选择其他时间点的目标图像数据作为动态跟踪对象的第二参考图像数据Iref,例如,选择距离当前时间少于时间阈值的目标图像数据作为动态跟踪对象的第二参考图像数据Iref,等等,本实施例对此不加以限制。
需要说明的是,如图4所示,虽然第二参考图像数据Iref 402并不一定会出现动态的障碍物,但是选择第二参考图像数据Iref 402的条件较为严格,第二参考图像数据Iref402与当前帧目标图像数据Icur404之间间隔的时间较大,一般大于第一参考图像数据Ipre403与当前帧目标图像数据Icur404之间间隔的时间,沿时间轴T上,第二参考图像数据Iref402排序在第一参考图像数据Ipre 403之前。
第二参考图像数据Iref 402(即与模板图像数据Iori 401相似的目标图像数据)与当前帧目标图像数据Icur 404之间在纹路上的差异一般大于第一参考图像数据Ipre 403(即排序在当前帧目标图像数据Icur404之前的第g帧目标图像数据)与当前帧目标图像数据Icur404之间在纹路上的差异。
因此,在匹配内点时,使用排序在当前帧目标图像数据Icur 404之前的第g帧目标图像数据作为参考,从而提高匹配的成功率,而并非使用与模板图像数据Iori 401相似的目标图像数据作为参考。
在本实施例中,以与模板图像数据相似的目标图像数据,作为当前适于动态跟踪的第二参考图像数据,可以通过相似度排除出现遮挡的目标图像数据作为参考,避免由于遮挡带来的跟踪不稳定甚至失效的问题。
步骤304、将内点投影至第一参考图像数据上,获得第一候选点。
在具体实现中,如图5A和图5B所示,在跟踪对象的匹配过程中,模版图像数据Iori(即待跟踪的对象)511既包含内点5111、也包含外点/>5112,在环境中可能出现动态的障碍物520,该障碍物520可能会对待跟踪的对象造成遮挡。
如图5A所示,可以查询模版图像数据Iori(即待跟踪的对象)511与第一参考图像数据Ipre 512之间的转换关系,按照该转换关系将内点5111投影至第一参考图像数据Ipre 512上,获得第一候选点/>
在本发明的一个实施例中,以单应性矩阵(Homography)描述待跟踪的对象。
如图6所示,在世界坐标系603下有平面上的三维点X=[X,Y,1]T,它在图象数据I602中的投影坐标为x=[u,v,1]T,它们之间有关系sx=K[r1,r2,t]X。
其中,K为摄像头的内参,该内参通常为3×3的矩阵,[R,t]分别为世界坐标系到摄像头坐标系601的旋转参数和平移参数,该旋转参数通常为3×3的矩阵,该平移参数通常为3×1的向量。
R=[r1,r2,r3],r1,r2表示旋转参数的第一列参数、第二列参数,s为尺度参数,可以为任意值。
在本实施例可定义单应性矩阵H:
H=K[r1,r2,t]=[Kr1,Kr2,Kt]=[h1,h2,h3]
其中,H为3×3矩阵,hi为矩阵的第i列,因此:
单应性矩阵H能够将平面上的三维点X映射到图像数据I 602的二维点x上。
由于平面上的三维点X=[X,Y,1]T其中一维(即Z轴)是固定的,因此可以将X当作是XY二维平面上的一个点。
所以,本实施例可以认为单应性矩阵H能够将二维平面上的点X映射到图像数据I的二维点x上,即单应性矩阵表示了两个平面之间的几何关系。
如果定义X为模版图像数据Iori上的像素点的位置,x为目标图像数据上的像素点的位置,通过单应性矩阵H,可以在目标图像数据上定位出模版图像数据Iori上的位置,所以单应性矩阵H可以作为跟踪对模版图像数据Iori(即待跟踪的对象)的表示。
在本实施例中,可以查询第一参考图像数据Ipre的单应性矩阵、作为第一参考矩阵Hpre,第一参考矩阵Hpre用于在第一参考图像数据Ipre中表示对象。
基于第一参考矩阵Hpre将内点映射至第一参考图像数据Ipre上,获得第一候选点/>则第一候选点/>的集合Psrc_inliers表示如下:
其中,warp(Pori_inliers,Hpre)表示对内点的集合Pori_inliers中的每一个内点根据第一参考矩阵Hpre映射得到第一候选点/>得到第一候选点的集合Psrc_inliers。
在本实施例中,第一参考矩阵用于在第一参考图像数据中表示对象,基于第一参考矩阵将内点映射至第一参考图像数据上,获得第一候选点,复用在先跟踪对象的单应性矩阵,操作简单,可以降低计算量,减少耗时。
步骤305、在当前帧目标图像数据上,查找与第一候选点匹配的特征点,作为第一目标点。
在具体实现中,如图5A所示,可以使用KLT(Kanade Lucas Tomasi,卡纳德卢卡斯托马斯)、SIFT(scale invariant feature transform,尺度不变特征转换)、SURF(SpeededUp Robust Features,加速稳健特征)、ORB(Oriented FAST and Rotated BRIEF,快速定向旋转)等特征点匹配法,对第一参考图像数据Ipre 512上的每一个特征点,即第一目标点5111,在当前帧目标图像数据Icur 513上匹配的特征点,作为第一目标点
需要说明的是,如图5A所示,由于采集视频数据的环境中的光线、动态的障碍物520,部分第一目标点5111可能存在匹配失败的情况。
步骤306、将第二参考图像数据映射为第三参考图像数据。
在本实施例中,如图5B所示,可查询第二参考图像数据Iref 514与第一参考图像数据Ipre之间的转换关系,按照该转换关系将第二参考图像数据Iref 514映射为第三参考图像数据Isrc_outliers 515,从而使得第三参考图像数据Isrc_outliers 515中的对象与第一参考图像数据Ipre中的对象大小相同。
在本发明的一个实施例中,以单应性矩阵描述待跟踪的对象,则一方面,查询第一参考图像数据Ipre的单应性矩阵,作为第一参考矩阵Hpre,该第一参考矩阵Hpre用于在第一参考图像数据Ipre中表示对象。
另一方面,查询第二参考图像数据Iref的单应性矩阵,作为第二参考矩阵Href,该第二参考矩阵Href用于在第二参考图像数据Iref中表示对象。
基于第一参考矩阵Hpre与第二参考矩阵Href的转置矩阵映射第二参考图像数据Iref中的像素点,作为第三参考图像数据Isrc_outliers,则第三参考图像数据Isrc_outliers表示如下:
其中,表示对第二参考图像数据Iref中的每一个像素点,根据第一参考矩阵Hpre与第二参考矩阵Href的转置矩阵/>映射得到第三参考图像数据Isrc_outliers,第二参考图像数据Iref的大小与第三参考图像数据Isrc_outliers的大小相同。
步骤307、将外点投影至第三参考图像数据上,获得第二候选点。
在具体实现中,如图5B所示,可以查询模版图像数据Iori(即待跟踪的对象)511与第三参考图像数据Isrc_outliers 515之间的转换关系,按照该转换关系将外点5112投影至第三参考图像数据Isrc_outliers 515上,获得第二候选点/>
在本发明的一个实施例中,以单应性矩阵描述待跟踪的对象,则在本实施例中,查询第一参考图像数据Ipre的单应性矩阵,作为第一参考矩阵Hpre,该第一参考矩阵Hpre用于在第一参考图像数据Ipre中表示对象。
基于第一参考矩阵Hpre将外点映射至第三参考图像数据Isrc_outliers上,获得第二候选点/>则第二候选点/>的集合/>表示如下:
其中,表示对外点的集合/>中的每一个内点/>根据第一参考矩阵Hpre映射得到第二候选点/>得到第二候选点/>的集合
在本实施例中,第一参考矩阵用于在第一参考图像数据中表示对象,基于第一参考矩阵将外点映射至第三参考图像数据上,获得第二候选点,复用在先跟踪对象的单应性矩阵,操作简单,可以降低计算量,减少耗时。
步骤308、在当前帧目标图像数据上,查找与第二候选点匹配的特征点,作为第二目标点。
在具体实现中,如图5B所示,可以使用KLT、SIFT、SURF、ORB等特征点匹配法,对第三参考图像数据Isrc_outliers 515上的每一个特征点,即第二候选点,在当前帧目标图像数据Icur 513上匹配特征点,作为第二目标点
步骤309、选择部分相互匹配的内点与第一目标点、外点与第二目标点,作为匹配点。
步骤310、将匹配点进行线性变换,以计算单应性矩阵。
由于有内点的匹配过程,则当前可以获得匹配成功的内点的集合/>其中,ninliers为匹配成功的内点/>的数目。
由于有外点的匹配过程,则当前可以获得匹配成功的外点的集合/>其中,noutliers为匹配成功的外点/>的数目。
对于匹配成功的内点的集合Sinliers、匹配成功的外点的集合Soutliers,可以统称为匹配成功的特征点的集合在匹配成功的特征点的集合S中存在匹配错误的异常数据,不适合使用直接法求取单应性矩阵,本实施例中可使用RANSAC算法求取单应性矩阵,可保证跟踪对象的准确性。
具体而言,给定的匹配成功的特征点的集合随机从集合S中选取多组匹配成功的特征点,作为匹配点Sselect∈S,该多组匹配点Sselect为相互匹配的内点/>与第一目标点/>和/或,相互匹配的外点/>与第二目标点即该多组匹配点Sselect可以为相互匹配的内点/>与第一目标点也可以为相互匹配的外点/>与第二目标点/>还可以包括互匹配的内点/>以及,第一目标点/>与相互匹配的外点/>与第二目标点/>
对匹配点Sselect进行归一化处理,使用直接法求取单应性矩阵Hselect,该单应性矩阵Hselect用于在当前帧目标图像数据Icur上表示对象Hcur。
在直接法中,给定平面上的点x=[x,y,1]T和它在图象数据I中的投影得到的点x′=[x′,y′,1]T,它们之间有关系x′=Hx。
因为单应性矩阵则可设定:
h=[h11,h12,h13,h21,h22,h23,h31,h32,h33]T
展开h,可得:
如果够提供n(n为正整数)对匹配成功的特征点的集合对每一对匹配点构建Aih=0,叠加得:
此时,A为包含匹配点的位置信息的矩阵,大小为2n×9且内容已知;h为代表待求向量的单应性矩阵,大小为9×1。
当n≥4时,可以对A使用SVD(Singular Value Decomposition,奇异值分解)进行分解,求取h的值,对h恢复得单应性矩阵H。
进一步而言,为了提高求取单应性矩阵H的精度,一般不会直接使用匹配点x和x′来求取单应性矩阵H,而是先对点集进行归一化处理T。T包含了缩放和位移操作,使得点集的中心处于原点,并且点到原点的平均距离为√2。
对匹配成功的特征点的集合S中的匹配点x和x′分别进行归一化处理T和T′,得 对归一化后的匹配点x和x′使用直接法求取满足/>关系的单应性矩阵/>根据下式反解出H:
实施例三
图7为本发明实施例二提供的一种对象的跟踪方法的流程图,本实施例以前述实施例为基础,进一步增加初始化及更新内点与外点/>更新第二参考图像数据Iref的操作,该方法具体包括如下步骤:
步骤701、在模板图像数据上检测特征点、作为初始的内点。
步骤702、将初始的外点设置为空集。
在本实施例中,可针对待追踪的对象设置模板图像数据Iori,模板图像数据Iori用于表示待跟踪的对象。
在跟踪对象之前,可使用Harris(哈里斯)、ORB、BRIEF(Binary RobustIndependent Elementary Features,二进制鲁棒独立的基本特征)、FAST(快速检测算法)、SURF、SIFT等特征点检测算法,在模板图像数据Iori上检测特征点从而获得模版图像数据上特征点的集合/>n为特征点的数目。
在初始化内点时,可将特征点的集合Pori赋值给内点的集合Pori_inliers,即Pori_inliers=Pori,此外,将外点/>设置为空集,即Pori_outliers={},通过初始化内点、外点,可保证跟踪对象的实用性。
步骤703、获取对一对象采集的视频数据。
其中,视频数据具有多帧目标图像数据。
步骤704、从目标图像数据中分别确定当前适于静态跟踪的第一参考图像数据、适于动态跟踪的第二参考图像数据。
步骤705、在当前帧目标图像数据上,通过第一参考图像数据查找与内点匹配的特征点、作为第一目标点。
步骤706、在当前帧目标图像数据上,通过第二参考图像数据查找与外点匹配的特征点、作为第二目标点。
步骤707、根据相互匹配的内点与第一目标点、外点与第二目标点,在当前帧目标图像数据上检测对象,以及,更新内点。
对于匹配成功的内点的集合Sinliers、匹配成功的外点的集合Soutliers,可以统称为匹配成功的特征点的集合在本实施例中,在使用匹配成功的特征点的集合S在当前帧目标图像数据Icur上检测对象时,根据匹配的情况,更新当前的内点
在本发明的一个实施例中,若使用RANSAC算法求取单应性矩阵,以表示待跟踪的对象,则可以将所有相互匹配的内点与第一目标点/>外点/>与第二目标点/>设置为匹配点,即该匹配点包括相互匹配的内点/>与第一目标点/>以及,相互匹配的外点/>与第二目标点/>
查询当前帧目标图像数据Icur的单应性矩阵,作为目标矩阵Hselect,其中,目标矩阵Hselect用于在当前帧目标图像数据Icur中表示待跟踪的对象。
基于目标矩阵Hselect计算每一对匹配点xi和xi′之间的距离∈i,表示如下:
其中,为目标矩阵Hselect的转置矩阵。
若距离∈i小于预设的距离阈值∈max(∈max一般为经验值,如7.0),即∈i<∈max,则得到匹配点的集合Pinliers={xi|∈i<∈max},表示匹配点中的第一目标点或第二目标点/>将匹配点中的第一目标点/>或第二目标点/>更新为新的内点/>从而更新内点/>的集合Pori_inliers=Pinliers。
此外,可统计内点的数量m,若该数量m大于预设的数量阈值mmax,即m>mmax,则将该数量阈值mmax设置为该数量m,即mmax=m。
步骤708、若更新完成,则将外点与内点之间的差值更新为外点。
如果更新内点完成,则可以外点/>与内点/>之间的差值更新为新的外点/>从而更新外点的集合Pori_outliers={Pori_outliers-Pinliers}。
在本实施例中,根据相互匹配的内点与第一目标点、外点与第二目标点,更新内点、若更新完成,则将外点与内点之间的差值更新为外点,通过内点、外点的实时更新,可保证内点、外点的准确性,从而保证跟踪对象的准确性。
步骤709、将当前帧目标图像数据中的对象映射为特征图像数据。
在本实施例中,如图8所示,可对当前帧目标图像数据Icur 801中已跟踪的对象进行反投影,从而将将当前帧目标图像数据Icur 801中的对象映射为特征图像数据I′ori 802,其中,特征图像数据I′ori 802与模板图像数据Iori 803的大小相同,其中,模板图像数据Iori用于表示待跟踪的对象。
在本发明的一个实施例中,以单应性矩阵描述待跟踪的对象,则在本实施例中,查询当前帧目标图像数据Icur的单应性矩阵、作为目标矩阵Hcur,该目标矩阵Hcur用于在当前帧目标图像数据Icur中表示待跟踪的对象。
基于目标矩阵Hcur的转置矩阵映射当前帧目标图像数据Icur中的对象的像素点,作为特征图像数据I′ori,则特征图像数据I′ori表示如下:
其中,表示对当前帧目标图像数据Icur中的对象的每一个像素点,根据目标矩阵Hcur的转置矩阵/>映射得到特征图像数据I′ori,模板图像数据Iori的大小与特征图像数据I′ori的大小相同。
步骤710、计算模板图像数据与特征图像数据之间的差异程度。
在本实施例中,可将模板图像数据Iori与特征图像数据I′ori进行对比,从而计算模板图像数据Iori与特征图像数据I′ori之间的差异程度R。
在一个示例中,可使用计算模板图像数据Iori与特征图像数据I′ori之间的均方根误差,作为差异程度R。
在本示例中,对模板图像数据Iori中各个像素点与特征图像数据I′ori中各个像素点的之间差值取平方,获得目标值,对目标值的平均值开平方,获得模板图像数据Iori与特征图像数据I′ori之间的差异程度R,表示如下:
其中,i为表示像素点的索引,M为像素点的数目。
当差异程度R值越小时,说明模板图像数据Iori与特征图像数据I′ori之间的差异越小,反之,当差异程度R值越大时,说明模板图像数据Iori与特征图像数据I′ori之间的差异越大。
一般情况下,如果当前帧目标图像数据Icur上不存在动态的障碍物遮挡待跟踪的对象时,差异程度R值会比较小,反之,如果当前帧目标图像数据Icur上存在动态的障碍物遮挡待跟踪的对象时,差异程度R值会比较大。
当然,上述计算差异程度的方法只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他计算差异程度的方法,例如,方差、标准差、均方误差、平均绝对误差,等等,本发明实施例对此不加以限制。另外,除了上述计算差异程度的方法外,本领域技术人员还可以根据实际需要采用其它计算差异程度的方法,本发明实施例对此也不加以限制。
步骤711、若差异程度小于预设的差异阈值,则确定当前帧目标图像数据与模板图像数据相似,将第二参考图像数据更新为当前帧目标图像数据。
在具体实现中,给定差异阈值Rmax,差异阈值Rmax一般为经验值,如29。
如果模板图像数据Iori与特征图像数据I′ori之间的差异程度R小于差异阈值Rmax,即R<Rmax,表示模板图像数据Iori与特征图像数据I′ori足够相似,当前帧目标图像数据Icur上跟踪的对象精确,并且,当前帧目标图像数据Icur中跟踪的对象上没有动态的障碍物遮挡,可以将第二参考图像数据Iref更新为当前帧目标图像数据Icur,即Iref=Icur。
在本实施例中,将当前帧目标图像数据中的对象映射为特征图像数据,计算模板图像数据与特征图像数据之间的差异程度,若差异程度小于预设的差异阈值,则确定当前帧目标图像数据与模板图像数据相似,出现动态的障碍物阻挡待跟踪的对象的可能性较小,将第二参考图像数据更新为当前帧目标图像数据,可以排除出现遮挡的目标图像数据作为参考,并且,实时更新第二参考图像数据,可以减少第二参考图像数据与当前帧目标图像数据之间的差异,提高匹配外点的准确性。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
实施例四
图9为本发明实施例四提供的一种对象的跟踪装置的结构框图,具体可以包括如下模块:
视频数据获取模块901,用于获取对一对象采集的视频数据,所述视频数据具有多帧目标图像数据;
参考图像数据确定模块902,用于从所述目标图像数据中分别确定当前适于静态跟踪的第一参考图像数据、适于动态跟踪的第二参考图像数据;
内点匹配模块903,用于在当前帧所述目标图像数据上,通过所述第一参考图像数据查找与内点匹配的特征点、作为第一目标点,所述内点为已匹配的、所述对象的特征点;
外点匹配模块904,用于在当前帧所述目标图像数据上,通过所述第二参考图像数据查找与外点匹配的特征点、作为第二目标点,所述外点为噪点;
对象检测模块905,用于根据相互匹配的所述内点与所述第一目标点、所述外点与所述第二目标点,在当前帧所述目标图像数据上检测所述对象。
在本发明的一个实施例中,所述参考图像数据确定模块902包括:
第一参考图像数据查询子模块,用于查询排序在当前帧所述目标图像数据之前的第g帧所述目标图像数据,作为当前适于静态跟踪的第一参考图像数据;
第二参考图像数据查询子模块,用于查询与模板图像数据相似的所述目标图像数据,作为当前适于动态跟踪的第二参考图像数据,所述模板图像数据用于表示所述对象。
在本发明的一个实施例中,所述第一参考图像数据查询子模块还用于:
查询在上一帧所述目标图像数据,作为当前适于静态跟踪的第一参考图像数据。
在本发明的一个实施例中,所述第二参考图像数据查询子模块还用于:
查询与模板图像数据相似、且距离当前时间最近的所述目标图像数据,作为当前适于动态跟踪的第二参考图像数据。
在本发明的一个实施例中,所述内点匹配模块903包括:
内点投影子模块,用于将内点投影至所述第一参考图像数据上,获得第一候选点;
第一目标点查找子模块,用于在当前帧所述目标图像数据上,查找与所述第一候选点匹配的特征点,作为第一目标点。
在本发明的一个实施例中,所述内点投影子模块包括:
第一参考矩阵查询单元,用于查询所述第一参考图像数据的单应性矩阵、作为第一参考矩阵,所述第一参考矩阵用于在所述第一参考图像数据中表示所述对象;
第一参考矩阵映射单元,用于基于所述第一参考矩阵将内点映射至所述第一参考图像数据上,获得第一候选点。
在本发明的一个实施例中,所在外点匹配模块904包括:
参考图像数据映射子模块,用于将所述第二参考图像数据映射为第三参考图像数据,所述第三参考图像数据中的所述对象与所述第一参考图像数据中的所述对象大小相同;
外点投影子模块,用于将外点投影至所述第三参考图像数据上,获得第二候选点;
第二目标点查找子模块,用于在当前帧所述目标图像数据上,查找与所述第二候选点匹配的特征点,作为第二目标点。
在本发明的一个实施例中,所述参考图像数据映射子模块包括:
第一参考矩阵查询单元,用于查询所述第一参考图像数据的单应性矩阵,作为第一参考矩阵,所述第一参考矩阵用于在所述第一参考图像数据中表示所述对象;
第二参考矩阵查询单元,用于查询所述第二参考图像数据的单应性矩阵,作为第二参考矩阵,所述第二参考矩阵用于在所述第二参考图像数据中表示所述对象;
像素点映射单元,用于基于所述第一参考矩阵与所述第二参考矩阵的转置矩阵映射所述第二参考图像数据中的像素点,作为第三参考图像数据。
在本发明的一个实施例中,所述外点投影子模块包括:
第一参考矩阵查询单元,用于查询所述第一参考图像数据的单应性矩阵,作为第一参考矩阵,所述第一参考矩阵用于在所述第一参考图像数据中表示所述对象;
外点映射单元,用于基于所述第一参考矩阵将外点映射至所述第三参考图像数据上,获得第二候选点。
在本发明的一个实施例中,所述对象检测模块905包括:
匹配点选择子模块,用于选择部分相互匹配的所述内点与所述第一目标点、所述外点与所述第二目标点,作为匹配点;
线性变换子模块,用于将所述匹配点进行线性变换,以计算单应性矩阵,所述单应性矩阵用于在当前帧所述目标图像数据上表示所述对象。
在本发明的一个实施例中,还包括:
内点初始化模块,用于在模板图像数据上检测特征点、作为初始的内点,所述模板图像数据用于表示所述对象;
外点初始化模块,用于将初始的外点设置为空集。
在本发明的一个实施例中,还包括:
内点更新模块,用于根据相互匹配的所述内点与所述第一目标点、所述外点与所述第二目标点,更新所述内点;
外点更新模块,用于若更新完成,则将所述外点与所述内点之间的差值更新为所述外点。
在本发明的一个实施例中,所述内点更新模块包括:
匹配点设置子模块,用于将所有相互匹配的所述内点与所述第一目标点、所述外点与所述第二目标点设置为匹配点;
目标矩阵查询子模块,用于查询当前帧所述目标图像数据的单应性矩阵,作为目标矩阵,所述目标矩阵用于在当前帧所述目标图像数据中表示所述对象;
距离计算子模块,用于基于所述目标矩阵计算所述匹配点之间的距离;
匹配点更新子模块,用于若所述距离小于预设的距离阈值,则将所述匹配点中的所述第一目标点或所述第二目标点更新为新的内点。
在本发明的一个实施例中,所述内点更新模块还包括:
数量统计子模块,用于统计所述内点的数量;
数量阈值更新子模块,用于若所述数量大于预设的数量阈值,则将所述数量阈值设置为所述数量。
在本发明的一个实施例中,还包括:
特征图像数据映射模块,用于将当前帧所述目标图像数据中的所述对象映射为特征图像数据,所述特征图像数据与模板图像数据的大小相同,所述模板图像数据用于表示所述对象;
差异程度计算模块,用于计算所述模板图像数据与所述特征图像数据之间的差异程度;
参考图像数据更新模块,用于若所述差异程度小于预设的差异阈值,则确定当前帧所述目标图像数据与所述模板图像数据相似,将所述第二参考图像数据更新为当前帧所述目标图像数据。
在本发明的一个实施例中,所述特征图像数据映射模块包括:
目标矩阵查询子模块,用于查询当前帧所述目标图像数据的单应性矩阵、作为目标矩阵,所述目标矩阵用于在当前帧所述目标图像数据中表示所述对象;
对象反投射子模块,用于基于所述目标矩阵的转置矩阵映射当前帧所述目标图像数据中的所述对象的像素点,作为特征图像数据。
在本发明的一个实施例中,所述差异程度计算模块包括:
目标值计算子模块,用于对所述模板图像数据中各个像素点与所述特征图像数据中各个像素点的之间差值取平方,获得目标值;
目标值处理子模块,用于对所述目标值的平均值开平方,获得所述模板图像数据与所述特征图像数据之间的差异程度。
本发明实施例所提供的对象的跟踪装置可执行本发明任意实施例所提供的对象的跟踪方法,具备执行方法相应的功能模块和有益效果。
实施例五
图10为本发明实施例五提供的一种计算机设备的结构示意图。图10示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图10显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图10未显示,通常称为“硬盘驱动器”)。尽管图10中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的对象的跟踪方法。
实施例六
本发明实施例六还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述对象的跟踪方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (19)
1.一种对象的跟踪方法,其特征在于,包括:
获取对一对象采集的视频数据,所述视频数据具有多帧目标图像数据;
从所述目标图像数据中分别确定当前适于静态跟踪的第一参考图像数据、适于动态跟踪的第二参考图像数据;
在当前帧所述目标图像数据上,通过所述第一参考图像数据查找与内点匹配的特征点、作为第一目标点,所述内点为已匹配的、所述对象的特征点;
在当前帧所述目标图像数据上,通过所述第二参考图像数据查找与外点匹配的特征点、作为第二目标点,所述外点为噪点;
根据相互匹配的所述内点与所述第一目标点、所述外点与所述第二目标点,在当前帧所述目标图像数据上检测所述对象。
2.根据权利要求1所述的方法,其特征在于,所述从所述目标图像数据中分别确定当前适于静态跟踪的第一参考图像数据、适于动态跟踪的第二参考图像数据,包括:
查询排序在当前帧所述目标图像数据之前的第g帧所述目标图像数据,作为当前适于静态跟踪的第一参考图像数据;
查询与模板图像数据相似的所述目标图像数据,作为当前适于动态跟踪的第二参考图像数据,所述模板图像数据用于表示所述对象。
3.根据权利要求2所述的方法,其特征在于,
所述查询排序在当前帧所述目标图像数据之前的第g帧所述目标图像数据,作为当前适于静态跟踪的第一参考图像数据,包括:
查询在上一帧所述目标图像数据,作为当前适于静态跟踪的第一参考图像数据;
所述查询与模板图像数据相似的所述目标图像数据,作为当前适于动态跟踪的第二参考图像数据,包括:
查询与模板图像数据相似、且距离当前时间最近的所述目标图像数据,作为当前适于动态跟踪的第二参考图像数据。
4.根据权利要求1所述的方法,其特征在于,所述在当前帧所述目标图像数据上,通过所述第一参考图像数据查找与内点匹配的特征点、作为第一目标,包括:
将内点投影至所述第一参考图像数据上,获得第一候选点;
在当前帧所述目标图像数据上,查找与所述第一候选点匹配的特征点,作为第一目标点。
5.根据权利要求4所述的方法,其特征在于,所述将内点投影至所述第一参考图像数据上,获得第一候选点,包括:
查询所述第一参考图像数据的单应性矩阵、作为第一参考矩阵,所述第一参考矩阵用于在所述第一参考图像数据中表示所述对象;
基于所述第一参考矩阵将内点映射至所述第一参考图像数据上,获得第一候选点。
6.根据权利要求1所述的方法,其特征在于,所在当前帧所述目标图像数据上,通过所述第二参考图像数据查找与外点匹配的特征点、作为第二目标点,包括:
将所述第二参考图像数据映射为第三参考图像数据,所述第三参考图像数据中的所述对象与所述第一参考图像数据中的所述对象大小相同;
将外点投影至所述第三参考图像数据上,获得第二候选点;
在当前帧所述目标图像数据上,查找与所述第二候选点匹配的特征点,作为第二目标点。
7.根据权利要求6所述的方法,其特征在于,所述将所述第二参考图像数据映射为第三参考图像数据,包括:
查询所述第一参考图像数据的单应性矩阵,作为第一参考矩阵,所述第一参考矩阵用于在所述第一参考图像数据中表示所述对象;
查询所述第二参考图像数据的单应性矩阵,作为第二参考矩阵,所述第二参考矩阵用于在所述第二参考图像数据中表示所述对象;
基于所述第一参考矩阵与所述第二参考矩阵的转置矩阵映射所述第二参考图像数据中的像素点,作为第三参考图像数据。
8.根据权利要求6所述的方法,其特征在于,所述将外点投影至所述第三参考图像数据上,获得第二候选点,包括:
查询所述第一参考图像数据的单应性矩阵,作为第一参考矩阵,所述第一参考矩阵用于在所述第一参考图像数据中表示所述对象;
基于所述第一参考矩阵将外点映射至所述第三参考图像数据上,获得第二候选点。
9.根据权利要求1所述的方法,其特征在于,所述根据相互匹配的所述内点与所述第一目标点、所述外点与所述第二目标点,在当前帧所述目标图像数据上检测所述对象,包括:
选择部分相互匹配的所述内点与所述第一目标点、所述外点与所述第二目标点,作为匹配点;
将所述匹配点进行线性变换,以计算单应性矩阵,所述单应性矩阵用于在当前帧所述目标图像数据上表示所述对象。
10.根据权利要求1-9任一项所述的方法,其特征在于,还包括:
在模板图像数据上检测特征点、作为初始的内点,所述模板图像数据用于表示所述对象;
将初始的外点设置为空集。
11.根据权利要求1-9任一项所述的方法,其特征在于,还包括:
根据相互匹配的所述内点与所述第一目标点、所述外点与所述第二目标点,更新所述内点;
若更新完成,则将所述外点与所述内点之间的差值更新为所述外点。
12.根据权利要求11所述的方法,其特征在于,所述根据相互匹配的所述内点与所述第一目标点、所述外点与所述第二目标点,更新所述内点,包括:
将所有相互匹配的所述内点与所述第一目标点、所述外点与所述第二目标点设置为匹配点;
查询当前帧所述目标图像数据的单应性矩阵,作为目标矩阵,所述目标矩阵用于在当前帧所述目标图像数据中表示所述对象;
基于所述目标矩阵计算所述匹配点之间的距离;
若所述距离小于预设的距离阈值,则将所述匹配点中的所述第一目标点或所述第二目标点更新为新的内点。
13.根据权利要求12所述的方法,其特征在于,所述根据相互匹配的所述内点与所述第一目标点、所述外点与所述第二目标点,更新所述内点,还包括:
统计所述内点的数量;
若所述数量大于预设的数量阈值,则将所述数量阈值设置为所述数量。
14.根据权利要求1-9任一项所述的方法,其特征在于,还包括:
将当前帧所述目标图像数据中的所述对象映射为特征图像数据,所述特征图像数据与模板图像数据的大小相同,所述模板图像数据用于表示所述对象;
计算所述模板图像数据与所述特征图像数据之间的差异程度;
若所述差异程度小于预设的差异阈值,则确定当前帧所述目标图像数据与所述模板图像数据相似,将所述第二参考图像数据更新为当前帧所述目标图像数据。
15.根据权利要求14所述的方法,其特征在于,所述将当前帧所述目标图像数据中的所述对象映射为特征图像数据,包括:
查询当前帧所述目标图像数据的单应性矩阵、作为目标矩阵,所述目标矩阵用于在当前帧所述目标图像数据中表示所述对象;
基于所述目标矩阵的转置矩阵映射当前帧所述目标图像数据中的所述对象的像素点,作为特征图像数据。
16.根据权利要求14所述的方法,其特征在于,所述计算所述模板图像数据与所述特征图像数据之间的差异程度,包括:
对所述模板图像数据中各个像素点与所述特征图像数据中各个像素点的之间差值取平方,获得目标值;
对所述目标值的平均值开平方,获得所述模板图像数据与所述特征图像数据之间的差异程度。
17.一种对象的跟踪装置,其特征在于,包括:
视频数据获取模块,用于获取对一对象采集的视频数据,所述视频数据具有多帧目标图像数据;
参考图像数据确定模块,用于从所述目标图像数据中分别确定当前适于静态跟踪的第一参考图像数据、适于动态跟踪的第二参考图像数据;
内点匹配模块,用于在当前帧所述目标图像数据上,通过所述第一参考图像数据查找与内点匹配的特征点、作为第一目标点,所述内点为已匹配的、所述对象的特征点;
外点匹配模块,用于在当前帧所述目标图像数据上,通过所述第二参考图像数据查找与外点匹配的特征点、作为第二目标点,所述外点为噪点;
对象检测模块,用于根据相互匹配的所述内点与所述第一目标点、所述外点与所述第二目标点,在当前帧所述目标图像数据上检测所述对象。
18.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-16中任一所述的对象的跟踪方法。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1-16中任一项所述的对象的跟踪方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010997030.XA CN112184766B (zh) | 2020-09-21 | 2020-09-21 | 一种对象的跟踪方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010997030.XA CN112184766B (zh) | 2020-09-21 | 2020-09-21 | 一种对象的跟踪方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112184766A CN112184766A (zh) | 2021-01-05 |
CN112184766B true CN112184766B (zh) | 2023-11-17 |
Family
ID=73956787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010997030.XA Active CN112184766B (zh) | 2020-09-21 | 2020-09-21 | 一种对象的跟踪方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112184766B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113177481B (zh) * | 2021-04-29 | 2023-09-29 | 北京百度网讯科技有限公司 | 目标检测方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108470354A (zh) * | 2018-03-23 | 2018-08-31 | 云南大学 | 视频目标跟踪方法、装置和实现装置 |
CN109584275A (zh) * | 2018-11-30 | 2019-04-05 | 哈尔滨理工大学 | 一种目标跟踪方法、装置、设备和存储介质 |
CN109872344A (zh) * | 2019-02-25 | 2019-06-11 | 广州视源电子科技股份有限公司 | 图像特征点的跟踪方法、匹配方法和坐标获取方法、装置 |
WO2020048396A1 (zh) * | 2018-09-06 | 2020-03-12 | 郑州云海信息技术有限公司 | 一种连续图像的目标检测方法、装置、设备及存储介质 |
CN111091590A (zh) * | 2019-12-18 | 2020-05-01 | Oppo广东移动通信有限公司 | 图像处理方法、装置、存储介质及电子设备 |
-
2020
- 2020-09-21 CN CN202010997030.XA patent/CN112184766B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108470354A (zh) * | 2018-03-23 | 2018-08-31 | 云南大学 | 视频目标跟踪方法、装置和实现装置 |
WO2020048396A1 (zh) * | 2018-09-06 | 2020-03-12 | 郑州云海信息技术有限公司 | 一种连续图像的目标检测方法、装置、设备及存储介质 |
CN109584275A (zh) * | 2018-11-30 | 2019-04-05 | 哈尔滨理工大学 | 一种目标跟踪方法、装置、设备和存储介质 |
CN109872344A (zh) * | 2019-02-25 | 2019-06-11 | 广州视源电子科技股份有限公司 | 图像特征点的跟踪方法、匹配方法和坐标获取方法、装置 |
CN111091590A (zh) * | 2019-12-18 | 2020-05-01 | Oppo广东移动通信有限公司 | 图像处理方法、装置、存储介质及电子设备 |
Non-Patent Citations (1)
Title |
---|
基于定点航拍图像序列的运动目标跟踪方法;郭清达;武彦林;于广平;;信息技术(07);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112184766A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110555901B (zh) | 动静态场景的定位和建图方法、装置、设备和存储介质 | |
CN108805917B (zh) | 空间定位的方法、介质、装置和计算设备 | |
Baak et al. | A data-driven approach for real-time full body pose reconstruction from a depth camera | |
WO2020259481A1 (zh) | 定位方法及装置、电子设备、可读存储介质 | |
JP6430064B2 (ja) | データを位置合わせする方法及びシステム | |
JP6095018B2 (ja) | 移動オブジェクトの検出及び追跡 | |
CN110111388B (zh) | 三维物体位姿参数估计方法及视觉设备 | |
Herrera et al. | Dt-slam: Deferred triangulation for robust slam | |
GB2538751A (en) | Modelling a three-dimensional space | |
CN110986969B (zh) | 地图融合方法及装置、设备、存储介质 | |
JP2011008687A (ja) | 画像処理装置 | |
CN111709973A (zh) | 目标跟踪方法、装置、设备及存储介质 | |
Zhang et al. | Hand-held monocular SLAM based on line segments | |
CN110070578B (zh) | 一种回环检测方法 | |
WO2022252487A1 (zh) | 位姿获取方法及装置、电子设备、存储介质和程序 | |
GB2567245A (en) | Methods and apparatuses for depth rectification processing | |
Lisanti et al. | Continuous localization and mapping of a pan–tilt–zoom camera for wide area tracking | |
CN110111364B (zh) | 运动检测方法、装置、电子设备及存储介质 | |
CN112184766B (zh) | 一种对象的跟踪方法、装置、计算机设备和存储介质 | |
CN113240656B (zh) | 视觉定位方法及相关装置、设备 | |
Santos et al. | A real-time low-cost marker-based multiple camera tracking solution for virtual reality applications | |
CN115705651A (zh) | 视频运动估计方法、装置、设备和计算机可读存储介质 | |
CN110956131B (zh) | 单目标追踪方法、装置及系统 | |
CN112085842B (zh) | 深度值确定方法及装置、电子设备和存储介质 | |
Zhang et al. | An improved SLAM algorithm based on feature contour extraction for camera pose estimation |
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 |