本发明涉及使用迭代模板匹配的目标跟踪方法和系统,特别涉及在目标与控制服务器之间的5g低延迟、高可靠性链路的应用场景中,基于模板匹配的目标跟踪方法。
背景技术:
有两种使用照相机追踪或定位目标的常用方式,即通过检测或追踪。相机在跟踪过程中生成视频帧,并将结果输出到一个控制服务器(服务器)。目标定位方法将每个视频帧作为输入,然后产生输出,例如目标的类型、角度和坐标。为了进行检测,用户必须分析整个视频帧。此方法的优点是,它不需要任何先前视频帧,服务器(或处理器)的处理速度大约为数百毫秒(ms)。为了进行跟踪,用户仅分析视频帧的一小部分,服务器(或处理器)的处理速度约为几十毫秒。因此,跟踪的处理速度比检测的速度快。
开源跟踪器,如corr、csrt、boosting、goturn、kcf、median、flow、mil、mosse和tld能够跟踪非刚性目标,这些目标的形状可能会不断变化,如面孔和动物。但是,开源跟踪器跟踪非刚性目标无法精确到视频帧的几个像素,并且处理速度很慢。在跟踪刚性目标时搜索固定的几何形状或图案(称为刚性目标)可以精确到几个像素,例如矩形、圆形、虚线等。但是,开源跟踪器无法处理遮挡(occlusion)。另一方面,在跟踪刚性目标时,与模板的匹配可以精确到几个像素,并且处理速度非常快,但仍然无法满足目标缩放和旋转要求。
模板匹配是计算机视觉中使用的经典技术。模板匹配使用原始像素值以及像素的空间关系来找到图像中的目标对象。用户定义的用于计算置信度分数的度量标准用于测量模板和图像块(imagepatch)之间的相似性。使用模板匹配的原因是因为模板匹配速度快,因为它使用原始信息,无需预处理。实际上,其他预处理技术不仅会消耗更多的时间,而且还会限制目标对象的对象特征。模板匹配也是精确的,因为它进行了像素到像素的计算以获得置信度分数。
但是,在图1和图2中显示了模板匹配的问题。使用该技术时,其简单性伴随一些常见问题。出现以下任一情况时,模板匹配可能会失败。如图1所示,当模板和目标对象不在同一方位(旋转)(即图1中的情况1)时,模板和目标对象不在同一比例(即图1中的情况2)时,模板和目标对象的方位和比例都不同(即图1中的情况3)时,和/或模板和目标对象对于服务器而言看起来太不同,模板匹配可能会失败。如图2所示,模板和目标对象看起来不同的示例可能是模糊、光照差异或遮挡的结果。
技术实现要素:
为了克服以上和/或其他技术障碍,本发明包括使用迭代模板匹配的跟踪方法和系统,以通过使用相机来有效地定位目标物体,而不需要任何额外的传感器或相机。
根据一个实施例,迭代模板匹配方法减少了用于实时应用目的的服务器的计算时间。在目标时间内,该方法将经过一个细化过程以提高准确性。
根据一个实施例,该方法能够使用校准过程、模板更新过程和角度检测过程来调整适应目标物体的外观变化。
根据一个实施例,该方法通过缩小目标物体附近的搜索区域来估计目标物体的新位置。在该搜索区域内执行搜索。假定目标物体的位置和方位在相机拍摄的视频帧之间不会有太大变化,这通常在目标位远离相机时是正确的。
根据一个实施例,一种用于跟踪二维平面上移动的目标物体的位置和方向的迭代方法,包括:使用相机生成目标物体的视频帧;校正一个当前视频帧的透视比例;使用运动模型或其先前的位置/角度来估计目标物体的当前位置和角度;在估计的当前位置周围从当前视频帧切出感兴趣的区域;调整感兴趣区域的大小以按预定比例m(宽度=宽度/m,高度=高度/m)缩小其尺寸,或等效地以比例m降低感兴趣区域的图像分辨率(分辨率=分辨率/m);通过将当前感兴趣区域与先前存储的模板进行模板匹配来跟踪目标物体的新位置;如果达到了指示成功跟踪的停止标准,则得出结论跟踪的目标物体的位置和角度是准确的,并更新模板,或者继续采用细化方法细化跟踪的位置和角度,直到最终达到停止标准。
根据另一实施例,一种用于跟踪二维平面上移动的目标物体的位置和方向的系统,包括:用于产生目标物体的视频帧的相机,以及处理器,其被配置以:校正一个当前视频帧的透视比例;使用运动模型或其先前的位置/角度来估计目标物体的当前位置和角度;在估计的当前位置周围从当前视频帧中切出感兴趣的区域;调整感兴趣区域的大小以按预定比例m(宽度=宽度/m,高度=高度/m)缩小其尺寸,或等效地以比例m降低感兴趣区域的图像分辨率(分辨率=分辨率/m);通过将当前感兴趣区域与先前存储的模板进行模板匹配来跟踪目标物体的新位置;如果达到了指示成功跟踪的停止标准,则得出结论跟踪的目标物体的位置和角度是准确的,并更新模板,或者继续采用细化方法细化跟踪的位置和角度,直到最终达到停止标准。
根据又一个实施例,一种非暂时性计算机可读介质,其通过在处理器上运行程序来控制迭代地跟踪二维平面上移动的目标物体的位置和方向的方法。该方法包括:使用相机生成目标物体的视频帧;校正一个当前视频帧的透视比例;使用运动模型或其先前的位置/角度来估计目标物体的当前位置和角度;在估计的当前位置周围从当前视频帧切出感兴趣的区域;调整感兴趣区域的大小以按预定比例m(宽度=宽度/m,高度=高度/m)缩小其尺寸,或等效地以比例m降低感兴趣区域的图像分辨率(分辨率=分辨率/m);通过将当前感兴趣区域与先前存储的模板进行模板匹配来跟踪目标物体的新位置;如果达到了指示成功跟踪的停止标准,则得出结论跟踪的目标物体的位置和角度是准确的,并更新模板,或者继续采用细化方法细化跟踪的位置和角度,直到最终达到停止标准。
本发明的其他方面和/或优点将在下面的描述中阐述,这些优点从描述中也是显而易见的,或者可以通过实施本发明而获悉。
附图说明
通过以下结合附图对实施例的描述,本发明的这些和/或其他方面和优点将变得显而易见,并且更加容易理解,其中:
图1显示现有技术的模板和目标物体之间模板匹配的相关问题示例;
图2显示模板和目标物体之间模板匹配的相关问题的其他示例;
图3显示本发明实施例的使用模板匹配的系统的透视图;
图4显示图3系统中使用的计算机服务器的示意性框图;
图5显示工厂地面的透视图;
图6显示根据实施例的根据映射过程的相机校准;
图7显示跟踪物体在高照度区域中的跟踪方法;
图8显示一个实施例的提供跟踪方法最佳跟踪结果的最终更新过程;
图9显示从视频帧的最粗到最细分辨率的迭代的方法;
图10显示图9所示方法的第一次迭代的处理流程;
图11显示图9所示方法的第二次迭代的处理流程;
图12显示一个实施例的跟踪方法的相应比例、外观、变化和旋转步骤流程图;
图13显示用于跟踪目标物体并控制目标物体的跟踪系统。
具体实施方式
现在将详细参考本发明的当前实施例,其示例在附图中示出,其中,相同的附图标记始终表示相同的元件。为了说明本发明,以下参照附图对实施方式进行说明。
在学术文献中,已经有研究开发复杂的特征提取器以执行目标对象跟踪。通常,对于每个相应的目标对象跟踪方法,在时间与准确性之间存在一个权衡曲线。本发明涉及特定的应用环境,特定环境中的对应方法优于其他跟踪方法。但是,请注意某些假设被嵌入在本发明的跟踪方法中,针对该特定环境优化了跟踪方法以充分利用该特定环境的特性,但代价是使该跟踪方法不太通用。
如上发明内容中所指出的,为了克服上述如图1和图2所示和/或其他技术障碍,本发明包括使用迭代模板匹配的跟踪方法和系统,以通过使用相机来有效地定位目标物体,而不需要任何额外的传感器或相机。
根据一个实施例,迭代模板匹配的方法减少了用于实时应用目的的服务器的计算时间。在目标时间内,该方法经过一个细化过程以提高准确性。
根据一个实施例,一种方法能够使用校准过程、模板更新过程和角度检测过程来调整适应目标物体的外观变化。
根据一个实施例,一种方法通过缩小目标物体附近的搜索区域来估计目标物体的新位置。在该搜索区域内执行搜索。假定目标物体的位置和方向在相机的视频帧之间不会有太大变化,当目标对象远离相机时这通常是正确的。
除了已知的与模板匹配有关的先前提到的问题的缺点之外,对本发明采用的方法的处理速度的额外要求是该方法将实时运行。由于实时运行的时间限制,本发明可以采用蛮力的方式解决预先制作大量模板的模板匹配问题,每个模板都代表不同的比例/角度/照明状态,因为需要更有效的方法来解决与以前的模板匹配方法有关的问题。
因此,本发明方法引入解决方案来解决以下有关的问题:缩放比例、旋转、外观变化和速度。
通常,由于目标物体在三维(3-d)空间中的动态变化,解决缩放比例问题可能很困难。如果目标物体不是刚性的(也就是说物体的形状可能会不断变化),甚至会变得更加困难。
本发明使用以下假设:
相机(视觉设备)是固定的,例如固定在工厂的天花板上,并且目标物体是刚性的,在平坦的地面上移动,因此,以下描述的方法假定:
1、目标物体只能在2d空间中移动;
2、目标物体是刚性的。
图3是一种适用于上述假设环境的一个示例。图3显示工厂100的环境,在该环境中,自动引导车辆(agv)102上附着或有一个目标物体104,并且沿着工厂地面106移动。agv102需要导航以避开障碍物108,例如人或桌子或任何可能会出现在工厂地面106上的其他对象,以到达诸如机架110之类的目的地。相机112直接固定在工厂地面106上方的天花板上,以提供所有出现在并在工厂地面106上移动的物体的视频帧(视频图像)。
相机112具有工厂地面106上的物体的鸟瞰图,包括在工厂地面106上移动的目标物体104。相机112将视频帧转发给计算机服务器114(不一定是在工厂100中,可以位于任何地方),agv102和控制服务器114有通信链路,包括但不限于5g低延迟高可靠性链路(图4所示的元素202)。
除工厂外的环境,其他移动物体和目标物体以及其他障碍物和目的地均被完全考虑在本发明的范围内。
图4显示用于实现本发明实施例方法的跟踪系统200。相机112通过如有线、wi-fi、蜂窝、3g、4g、5g等通信链路202连接到服务器114。服务器114包括处理器204,该处理器204通过运行操作系统程序以及存储在存储器206中的一个或多个应用程序来控制服务器114的整体运行。处理器204可以是单个或多个,可以是但不限于cpu、gpu、dsp、apu或fpga。存储器206可以是单个或多个,可以是但不限于易失性或非易失性,例如sdram、dram、sram、闪存、mram、f-ram或p-ram。处理器204接收由相机112拍摄的视频帧,其通过通信链路202发送并由服务器114的接收器/发送器208接收。
存储器206可以包括非暂时性机器可读介质、机器可读存储介质、计算机可读存储介质或其任意合适的组合,其存储非暂时性的、有形计算机程序产品,包括计算机程序代码,当其在处理器204上执行时,被布置为执行以下任何方法。
通过agv(移动物体)102使目标物体104在2-d空间中移动,假设目标物体104被限制在2-d空间工厂地面106上移动,并且不会离开工厂地面106的表面。因此,假定目标物体104不会“飞”或“跳”向相机112。另一个假设是相机拍摄的对象的比例仅取决于目标对象104的运动,而没有其他。因此,假定目标物体104可能显示为不同比例的唯一原因是由于透视比例。透视比例如图5所示,由于视角以及目标物体104与相机112之间的距离变化,目标物体104可能显得更大或更小。
为了解决这个问题,处理器204通过预先的映射过程对相机进行了校准,如图6所示。可以使用棋盘格校准或使用opencv相机校准等现有方法进行相机校准。简而言之,期望知道像素(在由相机112拍摄的视频帧中)和工厂地面106的面积的米(meter,真实世界的物理量)之间的映射函数。目标是使目标物体104的像素-面积在拍摄的视频帧中的任何地方都是相同的,从而可以执行模板匹配而无需考虑比例问题。换句话说,通过估计相机光学特性(包括相机固有矩阵和畸变系数),通过在相机112生成的视频帧上标记多个真实世界坐标以在相机112中建立坐标系,来执行照相机校准。
尽管所提及的相机校准技术几乎已经是一个标准方法以使相机拍摄图像不失真,但将其应用于透视校正目的也几乎不需要额外的工作。因此,模板匹配中的比例问题可以相对容易地解决。
处理器204跟踪目标物体104,这里目标物体104是由具有清晰边缘的简单图案形成,如图7和8所示(简单图案是两条平行的虚线)。通过检测这些边缘的角度,可以确定简单图案的方位,从而指示目标物体的方位角(headingangle)(其他形状也被考虑并认为在本发明范围内)。由于清晰的边缘在视频帧中显示为直线,因此可以使用各种现有的线检测器来找到边缘的角度。尽管简单明了,但由于线在各处都很普遍,因此该方法可能会产生许多误报(falsepositives)。因此,添加了两个额外的过滤条件,以减少误报的数量。
第一个条件:在当前视频帧中检测到的线角度(linesangle)应与上一帧中物体的方位角相似。由于正在进行物体跟踪,因此物体信息(角度、位置、外观)是连续的,这意味着值在帧之间不应有太大变化。第二个条件是:线检测器仅在小区域内检测线。区域越小,误报就越少。在随后将要说明的分层搜索结构中,线检测器使用的区域越来越小。
外观变化
再次参考图2,由于环境变化,同一物体在像素级上(pixel-wise)可能看起来不同。例如,场景的照明可能是不均匀的,从而对于同一目标物体104可能存在非常亮以及非常暗的版本/部分。因此,当前方法自适应地更改当前模板以解决这些变化。一种选择是积极地使用新拍摄的目标物体104图像作为新模板。缺点是面临错误传播(errorpropagation),因为新匹配的图像块(原始视频帧的一小块子图像)可能不可避免地包含一些错误(不是来自目标物体104的像素)或暂时模糊(像素是来自目标物体104的图像,但在某种程度上是模糊的,使得相机112可能无法拍摄真实的目标物体104的特征)。例如,如果这些像素具有误导性,如图7所示,在高照度区域中,跟踪方法可能会逐渐偏离目标物体104。
为了在模板的“无更新”和“过度更新”之间取得平衡,该方法通过使用一种相应置信度分数以自适应方式更新模板。所述置信度分数(标准化为0到1之间的值),可以认为是特定图像块包含目标物体104的概率。在标准模板匹配中,其在数学上被公式化为:
因此,在模板匹配过程结束时,获得了具有最高置信度分数的图像块,并且使用先前公式中的置信度分数r(x,y)来更新模板:如果高置信度,则更积极地进行更新;否则,更新会更加保守。最终更新过程如图8所示,根据经验提供最佳跟踪结果。从数学上讲,此更新过程是基于以下公式:
tnew=tcurrent-rout×(e*(tcurrent-tout))
其中tnew,tcurrent和tout是相同尺寸的模板矩阵,tnew是为视频下一帧制作的模板,tcurrent是当前帧中用于进行模板匹配的模板,tout是此视频帧的模板匹配产生的图像块。rout是tout的相应置信度。e是侵蚀矩阵,*是卷积运算符。
速度
如前所述,期望能实时跟踪。例如,相机112可以以每秒10帧(fps)的速度通过通信链路202来馈送视频帧给服务器114。不希望该跟踪方法成为整个跟踪系统200的瓶颈,因此目的是以不低于10fps的速度进行跟踪。等效地,给定每一帧,在100毫秒内跟踪目标物体104。
根据一个实施例,使用具有提前停止标准的从粗到细搜索层次。本质上,跟踪方法执行从最粗到最细的分辨率迭代(称为图像金字塔),如图9所示。也就是说,在最粗的比例下,图像已被下采样到最小分辨率(由用户定义的比例确定),进而可以更快地处理该图像,但代价是精度,因为只使用了一部分给定帧。在最细的比例下,使用全分辨率帧。注意,图像金字塔化的想法是计算机视觉领域中使用的常用技术。当前方法基于此金字塔构建精细结构,以下将对此进行更清晰的说明。
在迭代过程中,要花费一定的时间(从最初的当前帧开始累积),该过程确保一帧的处理时间小于100ms。如果在该时限内,该方法可以再执行一次迭代以提高跟踪精度,或者如果该方法获得足够高的置信度分数以至于已经正确跟踪到目标物体104,则可以选择提早离开。有关置信度分数的详细信息,请参见图12。如果模板匹配的输出超过一个恒定的置信度阈值,则该方法对模板匹配有足够信心继续进行。
另一方面,如果在任一迭代中都超过了时间限制,则该方法应立即停止。当强制停止时,根据置信度,该方法可以选择输出跟踪结果,或者也可以选择停止跟踪(跟踪丢失)。强制停止的原因是为了防止在连续帧中丢帧。丢帧可能导致信息不连续,也就是说,跟踪对象的当前位置、方位角和外观的变化可能比预期大得多,可能失去视频跟踪的优势,这会导致方法失败。
再次参考图12的迭代过程,如上所述,在每次迭代中,该方法将视频帧设置为一个特定的降低的分辨率。方法迭代的次数越多,分辨率的降低就越少。例如,假设我们有一个1000x1000分辨率的图像。在第一次迭代中,该方法将其大小调整为100x100,在第二次迭代中,该方法将原始1000x1000图像大小调整为200x200。随着执行的迭代次数越多,分辨率就越高(分辨率比之前的迭代更高)。200x200图像的分辨率降低幅度小于100x100的图像分辨率降低幅度,而100x100和200x200均为原始1000x1000图像分辨率降低的版本。需要注意的一个相关点是,该方法重用上一次迭代的结果,因此不会浪费任何信息。优点是在以后的迭代中缩小候选区域,这又节省了一些计算时间。这是细化(refinement)的想法,因为基于中间结果进行改进。下面的示例进一步说明了这一想法。
在图9中,迭代模板匹配过程在步骤902开始,在步骤904使用分辨率为1000×1000的一个视频帧。首先将视频帧的大小调整为最低分辨率,例如100×100。此最低分辨率是预定的。在步骤906,进行跟踪。然后,在步骤908,该过程检查模板匹配的置信度分数是否大于一个预定阈值(足够好)。如果“是”,则过程完成。如果“否”,则在步骤912,该过程将视频帧的大小调整为例如200×200(提高分辨率)。该分辨率比第一次迭代的分辨率稍好。然后,在步骤914,再次进行跟踪。然后,在步骤916,该过程检查置信度分数是否足够大。如果“是”,则完成迭代模板匹配过程(步骤910)。如果“否”,则该过程重复增加分辨率(步骤918),进行跟踪(步骤920)并确定置信度分数是否足够高(步骤922)。
细化迭代的示例
图10显示第一次迭代的流程。在图像1,接收到视频帧。同样,接收来自前一帧的信息,以白虚线绘制。
在图像2,从视频帧中裁剪出感兴趣的区域。这种裁剪加快了跟踪过程,仅关注高度可能的区域。裁剪以目标物体104的先前帧位置为中心,并以用户定义的比例扩展。
在图像3,分辨率缩小(请参阅步骤1010)。如前所述,这是从粗到细搜索的概念。
之后,执行一些实施细节。由于模板以固定分辨率和角度存储,因此请执行以下操作。1)如对视频帧所做的那样缩小模板(步骤1010);2)将角度a设置为前一帧角度(步骤1012),并将视频帧旋转角度a(步骤1014)(或者可以选择旋转模板,其效果相同)。然后,从前一帧的角度直接旋转有两个原因:第一点是仅对新目标对象中心有一个非常粗略的了解,因此不需要精确的方位角。第二点是,即使检测到角度,环境噪声也会极大地影响角度精度。例如,线检测器用于确定方位角,其很容易被工厂地面106上的黄色交通线所欺骗。在以后的迭代中,第二点会得到缓解(来自环境的噪声更少),因此,检测的方位角有更准确的值。
通过基于边缘的算法估计多个角度候选者,聚类(clustering)多个角度候选者,计算原始角度(有多个角度簇)之间的绝对数值差,并找到最低差,来估计先前角度。使用线检测器是估计先前角度的一种示例方法。
在目标物体没有清晰边缘图案来检测线的情况下,可以使用另一种方法(盲检)来检测先前角度,以降低图像处理分辨率,从当前帧中切出目标物体先前位置周围的感兴趣区域;以多个相邻角度旋转当前感兴趣区域,并分别在存储模板和多个旋转感兴趣区域之间进行模板匹配,找出多个最高置信度分数;并找到具有最大最高置信度分数的角度。
在图像4,获得来自模板匹配1016的结果。可以看出,方位角是不正确的。同样,中心可能也不够准确。但这很好,因为迭代过程可以继续完善此结果。初始迭代仅用于提供粗略的信息,而不是输出准确的结果。
图11显示第二次迭代。在图像5,该方法返回到输入视频帧。这次,从第一次迭代而不是先前的位置和方位角得出结果。这就是细化的概念。在图像6,再次裁剪出感兴趣区域。但是这次,裁剪一个更小的区域。使用来自第一次迭代的置信度分数,因此置信度分数越高,裁剪区域越小。在图像7,视频帧缩小了。与图像3相比,生成的图像具有更高的分辨率。
角度a还是前一帧角度(步骤1012),检测并设置视频帧角度a(步骤1102)。然后,在步骤1104,将缩小的视频帧旋转角度a,在步骤1106,将旋转后的视频帧与当前模板进行模板匹配。
之后,由于该方法更确信感兴趣区域主要包含目标物体104,因此可以检测角度。然后,执行与之前相似的步骤进行模板匹配。
图12显示功能块9、10和11对应于先前所讨论的比例、外观变化和旋转步骤。环路1228对应于速度部分。
在步骤1202,执行透视缩放以校正比例。在步骤1204,使用有先前信息的视频帧,这意味着本方法的输入是帧和目标的先前信息:角度、位置、外观。设置前一帧的角度a,并将时间t设置为当前时间。在步骤1206,确定估计的物体当前位置l。在步骤1208,在估计的物体当前位置l周围切出感兴趣区域。然后,在步骤1210,将感兴趣区域和模板的分辨率降低到i/m,其中,i是当前迭代,m是允许的最大迭代次数。在步骤1212,将感兴趣区域旋转a度,在步骤1214,执行模板匹配并确定置信度分数。在步骤1216,如果置信度分数大于置信度阈值,则在步骤1218,更新模板和角度、位置和外观信息,并且处理返回到步骤1204。如果置信度分数不大于置信度阈值,则检查是否i>=m。
如果i没有>=m,则在步骤1222,更新估计的物体当前位置l,并检测和更新新的角度a。在步骤1224,确定时间(现在时间-t)是否超过一个时间阈值。如果现在时间-l大于时间阈值,则过程在步骤1226处停止。
如果在步骤1220中i>=m,则该过程直接进行到步骤1226,停止迭代模板匹配过程。
估计当前位置的另一种方法是使用运动模型。例如,可以假设目标始终在所述方位方向上以恒定速度移动,那么估计的当前位置将是像素从先前位置开始的一个恒定位移。可以根据目标对象类型(例如,轮式和有腿车辆将具有不同的模型)使用更复杂的运动模型。
图13显示跟踪系统100,该跟踪系统100用于在目标物体104在工厂地面106上移动时跟踪固定在agv102上的目标物体104,并且用于控制目标物体104在用户控制的期望路径上移动。相机112拍摄包括目标物体104的工厂地面106的视频帧,并将视频帧转发到服务器114,其中用户可以通过查看显示器116上呈现的内容来查看和控制整个系统100。服务器114的处理器204执行本发明实施例的迭代模板匹配,使得用户可以实时地准确地跟踪目标物体104(以及agv102,当然跟踪物体104是附着于其上的)。一旦用户有目标物体104的准确位置和方位数据,用户就可以通过显示器116和计算机服务器114,通过通信链路从接收器/发送器208发送控制信号至agv102,来控制agv102的前进方向和速度。
如上所述,本发明包括使用迭代模板匹配的跟踪方法和系统,以通过使用相机来有效地定位目标对象,而不需要任何额外的传感器或相机。
根据一种方法,迭代模板匹配减少了用于实时应用目的的服务器的计算时间。在目标时间内,该方法将经过一个细化过程以提高准确性。
该方法能够使用校准过程、模板更新过程和角度检测过程来调整适应目标物体的外观变化。
该方法通过缩小目标物体附近的搜索区域来估计目标物体的新位置。假定目标物体的位置和方位在相机的视频帧之间不会有太大变化,这通常在目标物体远离相机时是正确的。
尽管已经显示和描述了本发明的一些实施例,但是本领域技术人员将理解,可以在不脱离本发明的原理和精神的情况下对该实施例进行改变。本发明范围由权利要求及其等同物定义。
1.一种跟踪二维平面上移动的目标物体的位置和方向的迭代方法,包括:
使用相机生成目标物体的视频帧;
校正一个当前视频帧的透视比例;
使用运动模型或所述目标物体先前的位置/角度来估计所述目标物体的当前位置和角度;在所述估计的当前位置周围从所述当前视频帧中切出感兴趣的区域;
调整所述感兴趣区域的大小以按预定比例m(宽度=宽度/m,高度=高度/m)缩小其尺寸,或等效地以比例m降低所述感兴趣区域的图像分辨率(分辨率=分辨率/m);
通过将当前感兴趣区域与先前存储的模板进行模板匹配,来跟踪所述目标物体的新位置;并且
如果达到了指示成功跟踪的停止标准,则得出结论:所述跟踪的目标物体的位置和角度是准确的,并更新模板;或者
继续采用细化方法细化所述跟踪位置和角度,直到最终达到停止标准。
2.根据权利要求1所述的迭代方法,所述细化方法包括:
通过以下迭代进一步细化所述目标物体的当前位置和角度:
在当前位置周围从所述当前视频帧中切出一个新的更小的感兴趣区域;
使用所述目标物体的新角度,旋转新的感兴趣区域;
以大于1但小于m的比例r缩小新的感兴趣区域的尺寸,或者以小于m的比例等效地缩小感兴趣区域的图像分辨率;通过将新的感兴趣区域与先前存储的模板进行匹配,从而跟踪所述目标物体的新位置,直到达到停止标准为止。
3.根据权利要求2所述的迭代方法,所述比值r的确定:
取决于执行的迭代次数;
其中,如果执行较多的迭代,则r接近1;如果执行较少的迭代,则r接近所述预定比率m。
4.根据权利要求1所述的迭代方法,所述透视比例的校正包括:
估计相机光学特性,包括相机固有矩阵和畸变系数;
通过在所述相机生成的视频帧上标记多个真实世界坐标来在所述相机中建立坐标系。
5.根据权利要求1所述的迭代方法,所述模板匹配直接使用先前存储的模板来计算归一化互相关以获得置信度分数。
6.根据权利要求1所述的迭代方法,所述模板匹配包括:
在所述先前存储的模板上分离前景和背景像素;
将所述先前存储的模板中的所述背景像素标记为“无关”;
使用所述标记的模板来计算归一化互相关,同时忽略所有所述“无关”像素。
7.根据权利要求1所述的迭代方法,其中如果满足以下条件之一,则达到所述停止标准:
模板匹配的置信度分数高于一个预定阈值分数,表明成功跟踪;
迭代降低图像处理分辨率的运行时间高于一个预定的时间阈值,表示跟踪失败,或者
迭代次数大于一个预定的最大迭代次数,表示跟踪失败。
8.根据权利要求2所述的迭代方法,其中所述新角度通过以下方式估计:
通过基于边缘的算法估计多个角度候选;聚类所述多个角度候选;
计算具有多个角度簇的原始角度之间的绝对数值差,并找到最低差。
9.根据权利要求2所述的迭代方法,其中所述新角度通过以下方式估计:
降低图像处理分辨率;
从当前帧中切出所述目标物体先前位置周围的感兴趣区域;以多个相邻角度旋转所述当前感兴趣区域;
在所述存储模板和所述多个旋转的感兴趣区域之间分别进行模板匹配,并找出多个最高置信度分数;
找到所述最高置信度分数最大的那个角度。
10.根据权利要求1所述的迭代方法,所述模板图像的更新包括:
根据以下标准化为0到1之间的所述置信度分数,执行模板匹配:
从所述旋转的感兴趣区域中裁剪出具有最高模板匹配置信度分数的图像块;所述图像块用tout表示,对应的置信度分数用rout表示;
根据以下执行模板图像的更新:
tnew=tcurrent-rout×(e*(tcurrent-tout));
其中tnew,tcurrent和tout是相同尺寸的模板矩阵,tnew是为下一个视频帧制作的模板,tcurrent是当前视频帧中用于模板匹配的模板,e是侵蚀矩阵,*是卷积运算符。
11.一种用于跟踪二维平面上移动的目标物体的位置和方向的系统,包括:相机,用于生成所述目标物体的视频帧;
处理器,其被配置为:
校正一个当前视频帧的透视比例;
使用运动模型或所述目标物体先前的位置/角度来估计所述目标物体的当前位置和角度;
在所述估计的当前位置周围从所述当前视频帧中切出感兴趣的区域;
调整所述感兴趣区域的大小以按预定比例m(宽度=宽度/m,高度=高度/m)缩小其尺寸,或等效地以比例m降低所述感兴趣区域的图像分辨率(分辨率=分辨率/m);
通过将当前感兴趣区域与先前存储的模板进行模板匹配,来跟踪所述目标物体的新位置;且
如果达到了指示成功跟踪的停止标准,则得出结论:所述跟踪的目标物体的位置和角度是准确的,并更新模板;或者
继续采用细化方法细化所述跟踪位置和角度,直到最终达到停止标准。
12.根据权利要求11所述的系统,其中所述处理器还通过以下迭代过程以细化所述目标物体的当前位置和角度:
在当前位置周围从所述当前视频帧中切出一个新的更小的感兴趣区域;
使用所述目标物体的新角度,旋转新的感兴趣区域;
以大于1但小于m的比例r缩小新的感兴趣区域的尺寸,或者以小于m的比例等效地缩小感兴趣区域的图像分辨率;
通过将新的感兴趣区域与先前存储的模板进行匹配,从而跟踪所述目标物体的新位置,直到达到停止标准为止。
13.根据权利要求12所述的系统,其中所述比例r的确定:
取决于执行的迭代次数;
其中,如果执行较多的迭代,则r接近1;如果执行较少的迭代,则r接近所述预定比率m。
14.根据权利要求11所述的系统,其中所述处理器通过以下步骤校正所述透视比例:
估计相机光学特性,包括相机固有矩阵和畸变系数;
通过在所述相机生成的视频帧上标记多个真实世界坐标来在所述相机中建立坐标系。
15.根据权利要求11所述的系统,其中所述模板匹配直接使用先前存储的模板来计算归一化互相关以获得置信度分数。
16.根据权利要求11所述的系统,所述模板匹配包括:
在所述先前存储的模板上分离前景和背景像素;
将所述先前存储的模板中的所述背景像素标记为“无关”;
使用所述标记的模板来计算归一化互相关,同时忽略所有所述“无关”像素。
17.根据权利要求13所述的系统,其中如果满足以下条件之一,则满足所述停止标准:
模板匹配的置信度分数高于一个预定阈值分数,表明成功跟踪;
迭代降低图像处理分辨率的运行时间高于一个预定的时间阈值,表示跟踪失败,或者
迭代次数大于一个预定的最大迭代次数,表示跟踪失败。
18.根据权利要求11所述的系统,所述模板图像的更新包括:
根据以下标准化为0到1之间的所述置信度分数,执行模板匹配:
从所述旋转的感兴趣区域中裁剪出具有最高模板匹配置信度分数的图像块;所述图像块用tout表示,对应的置信度分数用rout表示;
根据以下执行模板图像的更新:
tnew=tcurrent-rout×(e*(tcurrent-tout));
其中tnew,tcurrent和tout是相同尺寸的模板矩阵,tnew是为下一个视频帧制作的模板,tcurrent是当前视频帧中用于模板匹配的模板,e是侵蚀矩阵,*是卷积运算符。
19.一种非暂时性计算机可读介质,通过在处理器上运行程序来控制迭代地跟踪二维平面上移动的目标物体的位置和方向的方法,所述方法包括:
使用相机生成所述目标物体的视频帧;
校正一个当前视频帧的透视比例;
使用运动模型或其先前的位置/角度来估计所述目标物体的当前位置和角度;
在估计的当前位置周围从所述当前视频帧切出感兴趣的区域;
调整所述感兴趣区域的大小以按预定比例m(宽度=宽度/m,高度=高度/m)缩小其尺寸,或等效地以比例m降低所述感兴趣区域的图像分辨率(分辨率=分辨率/m);
通过将当前感兴趣区域与先前存储的模板进行模板匹配,来跟踪所述目标物体的新位置;且
如果达到了指示成功跟踪的停止标准,则得出结论:所述跟踪的目标物体的位置和角度是准确的,并更新模板;或者
继续采用细化方法细化所述跟踪位置和角度,直到最终达到停止标准。
技术总结