在视频分析中维持丢失对象追踪器的方法和系统与流程

文档序号:17439778发布日期:2019-04-17 04:36阅读:261来源:国知局
在视频分析中维持丢失对象追踪器的方法和系统与流程

本发明大体上涉及视频分析,且更确切地说涉及用于在视频分析中维持丢失对象追踪器的技术和系统。



背景技术:

许多装置和系统允许通过产生场景的视频数据来俘获场景。举例来说,因特网协议相机(ip相机)是可用于监控或其它应用的一种类型的数码摄像机。不同于模拟闭路电视(cctv)相机,ip相机可经由计算机网络和因特网发送和接收数据。来自这些装置和系统的视频数据可以被俘获且输出以用于处理和/或消耗。

视频分析(也被称作视频内容分析(vca))是用于描述通过相机获取的视频序列的计算机化的处理和分析的通用术语。视频分析提供了多种任务,包含所关注的事件的立即检测、出于在长时间周期中提取事件的目的的预记录视频分析,以及许多其它任务。举例来说,使用视频分析,系统可以自动地分析来自一或多个相机的视频序列以检测一或多个事件。在一些情况下,视频分析可以发送用于某些所关注的事件的警示或警报。需要更高级的视频分析以提供有效的且稳固的视频序列处理。



技术实现要素:

在一些实施例中,描述用于在视频分析中维持丢失对象追踪器(或斑点追踪器)的技术和系统。在一些实例中,使用视频分析,可以针对一或多个视频帧执行斑点检测以产生或识别用于一或多个视频帧的斑点。斑点表示视频帧(也被称作“图片”)中的一或多个对象的至少一部分。斑点的时间信息可用于识别稳定对象或斑点使得可以形成追踪层。举例来说,当斑点的运动状态相对稳定时可以使用斑点追踪器追踪针对视频帧中的对象检测到的斑点。然而,在一些情况下,有可能的是场景中的移动对象停止移动、变为被遮挡的或离开场景,在此情况下对象变为丢失的。在此类情况下,针对对象检测到的斑点和斑点追踪器也变为丢失的。

当被追踪对象变为丢失的并且随后被检测到且再次被追踪时,对象的识别可能是未对准的,因为对象即使是相同的可能也并不会通过视频分析被识别为相同对象(因此具有相同斑点追踪器标识符)。此类场景可以引起许多新对象或甚至输出事件(例如,警示或其它事件)在系统层级处创建,极大地影响视频分析的追踪性能。使用本文中所描述的技术和系统,当对象(和斑点)在丢失之后被再次检测到时,在对象(和斑点)丢失之前与对象(和斑点)相关联的丢失追踪器可以再次与对象匹配。

根据至少一个实例,提供一种维持用于一或多个视频帧的丢失斑点追踪器的方法,其包含识别针对视频帧的序列维持的一或多个斑点追踪器。一或多个斑点追踪器与视频帧的序列的一或多个斑点相关联。一或多个斑点包含在视频帧的序列中的一或多个前景对象的至少一部分的像素。所述方法进一步包含检测斑点追踪器从第一类型的追踪器过渡到丢失追踪器,其中当未在第一视频帧中检测到斑点追踪器在先前帧中与其相关联的斑点时斑点追踪器从第一类型的追踪器过渡到丢失追踪器。第一视频帧可被称作斑点追踪器的过渡到丢失视频帧,其是斑点追踪器被检测为丢失的帧。所述方法进一步包含确定在第一视频帧丢失追踪器的恢复持续时间。对于在第一视频帧之后所获得的一或多个后续视频帧,当丢失追踪器的丢失持续时间大于恢复持续时间时从针对视频帧的序列维持的一或多个斑点追踪器中移除丢失追踪器。

在另一实例中,提供一种设备,其包含经配置以存储视频数据的存储器以及处理器。处理器经配置以并且可以识别针对视频帧的序列维持的一或多个斑点追踪器。一或多个斑点追踪器与视频帧的序列的一或多个斑点相关联。一或多个斑点包含在视频帧的序列中的一或多个前景对象的至少一部分的像素。所述处理器经配置以并且可以检测斑点追踪器从第一类型的追踪器过渡到丢失追踪器,其中当未在第一视频帧中检测到斑点追踪器在先前帧中与其相关联的斑点时斑点追踪器从第一类型的追踪器过渡到丢失追踪器。所述处理器经配置以并且可以确定在第一视频帧丢失追踪器的恢复持续时间。对于在第一视频帧之后所获得的一或多个后续视频帧,当丢失追踪器的丢失持续时间大于恢复持续时间时从针对视频帧的序列维持的一或多个斑点追踪器中移除丢失追踪器。

在另一实例中,提供一种上面存储有指令的计算机可读媒体,所述指令在由处理器执行时执行包含以下项的方法:识别针对视频帧的序列维持的一或多个斑点追踪器,其中一或多个斑点追踪器与视频帧的序列的一或多个斑点相关联,一或多个斑点包含在视频帧的序列中的一或多个前景对象的至少一部分的像素;检测斑点追踪器从第一类型的追踪器过渡到丢失追踪器,其中当未在第一视频帧中检测到斑点追踪器在先前帧中与其相关联的斑点时斑点追踪器从第一类型的追踪器过渡到丢失追踪器;以及确定在第一视频帧丢失追踪器的恢复持续时间,其中对于在第一视频帧之后所获得的一或多个后续视频帧,当丢失追踪器的丢失持续时间大于恢复持续时间时从针对视频帧的序列维持的一或多个斑点追踪器中移除丢失追踪器。

在另一实例中,提供一种设备,其包含用于识别针对视频帧的序列维持的一或多个斑点追踪器的装置。一或多个斑点追踪器与视频帧的序列的一或多个斑点相关联。一或多个斑点包含在视频帧的序列中的一或多个前景对象的至少一部分的像素。所述设备进一步包括用于检测斑点追踪器从第一类型的追踪器过渡到丢失追踪器的装置,其中当未在第一视频帧中检测到斑点追踪器在先前帧中与其相关联的斑点时斑点追踪器从第一类型的追踪器过渡到丢失追踪器。所述设备进一步包括用于确定在第一视频帧丢失追踪器的恢复持续时间的装置。对于在第一视频帧之后所获得的一或多个后续视频帧,当丢失追踪器的丢失持续时间大于恢复持续时间时从针对视频帧的序列维持的一或多个斑点追踪器中移除丢失追踪器。

在一些方面中,上文所描述的方法、设备和计算机可读媒体进一步包括:获得视频帧的序列的后续视频帧,其中后续视频帧是在与第一视频帧相比稍后的时间获得的;确定丢失追踪器的丢失持续时间,丢失持续时间包含自斑点追踪器从第一类型的追踪器过渡到丢失追踪器的持续时间;确定丢失追踪器的丢失持续时间大于恢复持续时间;以及当丢失持续时间大于恢复持续时间时从针对视频帧的序列维持的多个斑点追踪器中移除丢失追踪器。

在一些方面中,上文所描述的方法、设备和计算机可读媒体进一步包括:获得视频帧的序列的后续视频帧,其中后续视频帧是在与第一视频帧相比稍后的时间获得的;使丢失追踪器与后续视频帧中的斑点相关联;以及当丢失追踪器与斑点相关联时并且当丢失追踪器丢失的丢失持续时间小于恢复持续时间时将斑点追踪器从丢失追踪器转换到第一类型的追踪器。

在一些方面中,当第一类型的追踪器从新追踪器转换到第一类型的追踪器时第一类型的追踪器和相关联的斑点作为所识别的斑点追踪器-斑点对被输出。

在一些方面中,丢失追踪器的恢复持续时间被适应性地设置成基于斑点追踪器的第一持续时间的值。第一持续时间包含斑点追踪器首先过渡到第一类型的追踪器直至第一视频帧的持续时间。当第一类型的追踪器从新追踪器转换到第一类型的追踪器时第一类型的追踪器和相关联的斑点作为所识别的斑点追踪器-斑点对被输出。在一些方面中,丢失追踪器的恢复持续时间被进一步修改为第一持续时间与最大恢复持续时间之间的最小值。在一些方面中,第一持续时间是基于斑点追踪器的全局持续时间确定的。全局持续时间包含自斑点追踪器创建的持续时间。在一些方面中,第一持续时间是基于斑点追踪器的全局持续时间和第二持续时间确定的。第二持续时间包含将斑点追踪器从新追踪器转换到第一类型的追踪器的持续时间。

在一些方面中,上文所描述的方法、设备和计算机可读媒体进一步包括:确定斑点追踪器的限界框在第一视频帧的排除区内;并且其中恢复持续时间被设置为预定值,预定值使得丢失追踪器与具有不在第一视频帧的一或多个排除区内的限界框的一或多个丢失斑点追踪器相比更早从多个斑点追踪器中被移除。在一些方面中,排除区包含第一视频帧的边界。

在一些方面中,上文所描述的方法、设备和计算机可读媒体进一步包括:当丢失追踪器的丢失持续时间大于恢复持续时间时确定视频帧的序列的后续视频帧以从多个斑点追踪器中移除丢失追踪器,其中在与第一视频帧相比稍后的时间获得后续视频帧。

在一些方面中,当斑点追踪器从第一类型的追踪器过渡到第一视频帧中的丢失追踪器时丢失持续时间开始,并且其中从当斑点追踪器从第一类型的追踪器过渡到丢失追踪器时直至斑点追踪器被转换成第一类型的追踪器适用恢复持续时间。

本发明内容并非意图识别所主张的标的物的关键特征或基本特征,也并非意图单独用于确定所主张的标的物的范围。标的物应参考此专利的整个说明书的适当部分、任何或所有图式以及每一权利要求来理解。

在参考以下说明书、权利要求书以及附图之后,前述内容连同其它特征和实施例将变得更显而易见。

附图说明

下文参考以下图式详细描述本发明的说明性实施例:

图1是根据一些实施例说明包含视频源和视频分析系统的系统的实例的框图。

图2是根据一些实施例的视频分析系统处理视频帧的实例。

图3是根据一些实施例说明斑点检测引擎的实例的框图。

图4是根据一些实施例说明对象追踪引擎的实例的框图。

图5是根据一些实施例说明基础丢失追踪器管理过程的实例的状态图。

图6是根据一些实施例说明使用丢失状态管理的丢失追踪器管理过程的实例的状态图。

图7是根据一些实施例说明斑点追踪器的实例时间线的图式。

图8是根据一些实施例说明斑点追踪器的另一实例时间线的图式。

图9a是根据一些实施例在其中追踪对象的环境的视频帧的图示。

图9b是根据一些实施例在其中被追踪的对象在丢失之后的环境的视频帧的图示。

图10a是根据一些实施例在其中追踪对象的环境的视频帧的图示。

图10b是根据一些实施例在其中被追踪的对象在丢失之后的环境的视频帧的图示。

图11a是根据一些实施例在其中追踪对象的环境的视频帧的图示。

图11b是根据一些实施例在其中被追踪的对象丢失的环境的视频帧的图示。

图11c是根据一些实施例在其中被追踪的对象在丢失之后的环境的视频帧的图示。

图11d是根据一些实施例在其中被追踪的对象在丢失之后的环境的视频帧的图示。

图12a是根据一些实施例在其中追踪对象的环境的视频帧的图示。

图12b是根据一些实施例在其中被追踪的对象丢失的环境的视频帧的图示。

图12c是根据一些实施例在其中被追踪的对象在丢失之后的环境的视频帧的图示。

图12d是根据一些实施例在其中被追踪的对象在丢失之后的环境的视频帧的图示。

图13是根据一些实施例说明维持斑点追踪器的过程的实例的流程图。

具体实施方式

下文提供了本发明的某些方面和实施例。如对于所属领域的技术人员来说将显而易见的是,这些方面和实施例中的一些可独立地应用且它们中的一些可组合应用。在以下描述中,出于解释的目的,阐述特定细节以便提供对本发明的实施例的透彻理解。然而,将显而易见的是,可在没有这些特定细节的情况下实践各种实施例。图式和描述并不意图是限制性的。

以下描述仅提供示例性实施例,且并不意图限制本发明的范围、适用性或配置。实际上,示例性实施例的以下描述将为所属领域的技术人员提供用于实施示例性实施例的启发性描述。应理解,在不脱离如在所附权利要求书中所阐述的本发明的精神和范围的情况下,可对元件的功能和布置进行各种改变。

在以下描述中给出特定细节以提供对实施例的透彻理解。然而,所属领域的技术人员应理解,所述实施例可以在没有这些特定细节的情况下加以实践。举例来说,电路、系统、网络、过程和其它组件可以框图形式示出为组件以免以不必要的细节混淆实施例。在其它例子中,可以在没有不必要的细节的情况下示出众所周知的电路、过程、算法、结构以及技术以免混淆实施例。

并且,应注意,个体实施例可被描述为经描绘为流程图、作业图、数据流图、结构图或框图的过程。虽然流程图可将操作描述为依次过程,但是许多操作可并行或同时执行。另外,可以重新安排操作的次序。过程在其操作完成时终止,但是可具有不包含在图中的额外步骤。过程可以对应于方法、函数、流程、子例程、子程序等。当过程对应于函数时,过程的终止可对应于函数返回到调用函数或主函数。

术语“计算机可读媒体”包含但不限于,便携式或非便携式存储装置、光学存储装置,以及能够存储、含有或携带指令和/或数据的各种其它媒体。计算机可读媒体可包含非暂时性媒体,在非暂时性媒体中可存储数据,且非暂时性媒体并不包含无线地或在有线连接上传播的载波和/或暂时性电子信号。非暂时性媒体的实例可包含但不限于,磁盘或磁带、光学存储媒体,例如光盘(cd)或数字通用光盘(dvd)、快闪存储器、存储器或存储器装置。计算机可读媒体可具有存储在其上的可表示过程、函数、子程序、程序、例程、子例程、模块、软件包、类别的代码和/或机器可执行指令,或指令、数据结构或程序语句的任何组合。一个代码段可通过传递和/或接收信息、数据、自变量、参数或存储器内容耦合到另一代码段或硬件电路。信息、自变量、参数、数据等可经由包含存储器共享、消息传递、令牌传递、网络发射或类似者的任何合适的装置传递、转发或发射。

此外,实施例可通过硬件、软件、固件、中间件、微码、硬件描述语言或其任何组合来实施。当以软件、固件、中间件或微码实施时,用于执行必要任务的程序代码或代码段(例如,计算机程序产品)可存储在计算机可读或机器可读媒体中。处理器可以执行必要任务。

视频分析系统可以从视频源获得视频序列并且可以处理视频序列以提供多种任务。视频源的一个实例可以包含因特网协议相机(ip相机),或其它视频俘获装置。ip相机是可用于监控、家庭安全性或其它合适应用的一种类型的数码摄像机。不同于模拟闭路电视(cctv)相机,ip相机可经由计算机网络和因特网发送和接收数据。在一些例子中,一或多个ip相机可以位于场景或环境中,并且可以在俘获场景或环境的视频序列时保持静态。

ip相机可用于经由计算机网络和因特网发送和接收数据。在一些情况下,ip相机系统可用于双向通信。举例来说,数据(例如,音频、视频、元数据或类似者)可以使用一或多个网络电缆或使用无线网络通过ip相机发射,允许用户与他们所看到的内容通信。在一个说明性实例中,加油站售货员可以使用从ip相机提供的视频数据帮助顾客如何使用付费泵(例如,通过查看顾客在付费泵处的动作)。也可经由单个网络或多个网络发射用于摇摄、倾斜、变焦(ptz)相机的命令。此外,ip相机系统提供灵活性和无线能力。举例来说,ip相机提供到网络的容易连接、可调节的相机位置以及在因特网上对服务的远程可存取性。ip相机系统还提供分布式智能。举例来说,通过ip相机,视频分析可置于相机自身中。加密和验证也容易通过ip相机提供。举例来说,ip相机通过用于基于ip的应用的已经定义的加密和验证方法提供安全的数据发射。更进一步的是,通过ip相机增大了劳动成本效率。举例来说,视频分析可产生针对某些事件的警报,这减少监视系统中的所有相机(基于警报)的劳动成本。

视频分析提供了范围从所关注的事件的立即检测到出于在长时间周期中提取事件的目的的预记录视频分析的多种任务,以及许多其它任务。各种探索研究和现实经验表明在监控系统中,例如人类操作者通常无法保持警觉和注意多于20分钟,即使是在监视来自一个相机的图片时。当存在两个或大于两个相机要监视时或者在时间超出某一时间周期(例如,20分钟)时,操作者的监视视频且有效地响应于事件的能力显著降低。视频分析可以自动分析来自相机的视频序列且发送针对所关注的事件的警报。因此,人类操作者可在被动模式中监视一或多个场景。此外,视频分析可分析巨大量的所记录视频且可提取含有所关注的事件的特定视频片段。

视频分析还提供各种其它特征。举例来说,视频分析可通过检测移动对象且通过追踪移动对象而作为智能视频运动检测器来操作。在一些情况下,视频分析可以围绕有效对象产生和显示限界框。视频分析也可充当侵入检测器、视频计数器(例如,通过对人、对象、车辆或类似物计数)、相机篡改检测器、对象离开检测器、对象/资产移除检测器、资产保护器、徘徊检测器和/或滑动和下落检测器。视频分析可以进一步用于执行各种类型的识别功能,例如,面部检测和识别、车牌识别、对象识别(例如,包、标志、身体标记,或类似者),或其它识别功能。在一些情况下,视频分析可经训练以识别某些对象。可由视频分析执行的另一功能包含提供顾客度量(例如,顾客计数、性别、年龄、花费的时间量和其它合适的度量)的人口统计资料。视频分析也可执行视频搜索(例如,提取给定区的基本活动)和视频概述(例如,关键移动的提取)。在一些例子中,可通过视频分析执行事件检测,包含火情、烟雾、打架、人群形成的检测,或视频分析经编程或学习以检测的任何其它合适的事件。检测器可以触发所关注的事件的检测且将警示或警报发送到中央控制室以向用户警示所关注的事件。

如前所述,视频分析系统可以产生和检测可用于执行各种操作的前景斑点,所述各种操作例如对象追踪或上文所描述的其它操作。斑点追踪器可用于追踪视频序列中的一或多个斑点。斑点追踪器可以开始与一个帧中的斑点相关联,并且可以跨越一或多个后续帧与斑点连接。在一些情况下,有可能的是移动对象变为丢失的,例如,当对象变为被遮挡的或离开场景时。在此类情况下,针对对象检测到的斑点和斑点追踪器也变为丢失的。如下文更详细地描述,本文中所描述的用于维持丢失的斑点追踪器的系统和方法使得当对象(以及其斑点)在丢失之后再次被检测到时,在对象丢失之前与对象(以及其斑点)相关联的丢失追踪器可以再次与对象匹配。

图1是说明视频分析系统100的实例的框图。视频分析系统100从视频源130接收视频帧102。视频帧102也可以在本文中被称作视频图片或图片。视频帧102可以是一或多个视频序列的部分。视频源130可以包含视频俘获装置(例如,摄像机、相机电话、视频电话,或其它合适的俘获装置)、视频存储装置、含有所存储的视频的视频存档、提供视频数据的视频服务器或内容提供商、从视频服务器或内容提供商接收视频的视频馈送接口、用于产生计算机图形视频数据的计算机图形系统、此类来源的组合,或视频内容的其它来源。在一个实例中,视频源130可以包含一个ip相机或多个ip相机。在说明性实例中,多个ip相机可以位于整个环境中,并且可以将视频帧102提供到视频分析系统100。举例来说,ip相机可以放置在环境内的各种视野处,使得监控可以基于环境的所俘获的视频帧102执行。

在一些实施例中,视频分析系统100和视频源130可以是相同计算装置的部分。在一些实施例中,视频分析系统100和视频源130可以是单独的计算装置的部分。在一些实例中,计算装置(或装置)可以包含一或多个无线收发器以用于无线通信。计算装置(或装置)可以包含电子装置,例如,相机(例如,ip相机或其它摄像机、相机电话、视频电话,或其它合适的俘获装置)、移动或静止电话手持机(例如,智能电话、蜂窝式电话,或类似者)、桌上型计算机、膝上型计算机或笔记本计算机、平板计算机、机顶盒、电视、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置,或任何其它合适的电子装置。

视频分析系统100包含斑点检测引擎104和对象追踪引擎106。对象检测和追踪允许视频分析系统100提供各种端对端特征,例如,上文所描述的视频分析特征。举例来说,智能运动检测、入侵检测和其它特征可以直接地使用来自对象检测和追踪的结果以产生端对端事件。例如人、车辆或其它对象计数和分类的其它特征可以基于对象检测和追踪的结果极大地简化。斑点检测引擎104可以检测视频序列的视频帧(例如,视频帧102)中的一或多个斑点,并且对象追踪引擎106可以跨越视频序列的帧追踪一或多个斑点。如本文中所使用,斑点是指视频帧中的对象的至少一部分的像素。举例来说,斑点可以包含构成视频帧中的前景对象的至少一部分的连续像素群组。在另一实例中,斑点可以指构成图像数据的帧中的背景对象的至少一部分的连续像素群组。斑点也可以被称作对象、对象的部分、像素的斑、像素斑片、像素的群集、像素的印迹、像素的点、大量的像素,或参考对象或其部分的像素群组的任何其它术语。在一些实例中,限界框可以与斑点相关联。在一些实例中,追踪器也可以由追踪器限界框表示。在追踪层中,在不需要知晓斑点如何在限界框内调配的情况下,术语斑点和限界框可互换使用。

如下文更详细地描述,斑点可以使用斑点追踪器来追踪。斑点追踪器可以与追踪器限界框相关联并且可以被指派追踪器标识符(id)。在一些实例中,用于当前帧中的斑点追踪器的限界框可以是与斑点追踪器相关联的先前帧中的先前斑点的限界框。举例来说,当斑点追踪器在先前帧中更新时(在与先前帧中的先前斑点相关联之后),用于斑点追踪器的经过更新的信息可以包含用于先前帧的追踪信息并且还包含在下一帧(其在此实例中是当前帧)中的斑点追踪器的位置的预测。当前帧中的斑点追踪器的位置的预测可以基于先前帧中的斑点的位置。可以为斑点追踪器维持历史或运动模型,包含斑点追踪器的各种状态的历史、速度的历史,以及位置的历史、连续帧的历史,如下文更详细地描述。

在一些实例中,用于斑点追踪器的运动模型可以确定和维持用于每个帧的斑点追踪器的两个位置。举例来说,用于当前帧的斑点追踪器的第一位置可以包含当前帧中的预测位置。第一位置在本文中被称作预测位置。当前帧中的斑点追踪器的预测位置包含在与斑点追踪器相关联的斑点的先前帧中的位置。因此,与先前帧中的斑点追踪器相关联的斑点的位置可以用作当前帧中的斑点追踪器的预测位置。用于当前帧的斑点追踪器的第二位置可以包含在与当前帧中的追踪器相关联的斑点的当前帧中的位置。第二位置在本文中被称作实际位置。相应地,与斑点追踪器相关联的斑点的当前帧中的位置被用作当前帧中的斑点追踪器的实际位置。当前帧中的斑点追踪器的实际位置可以用作下一帧中的斑点追踪器的预测位置。斑点的位置可以包含斑点的限界框的位置。

斑点追踪器的速度可以包含连续帧之间的斑点追踪器的位移。举例来说,位移可以在两个连续帧中的斑点追踪器的两个限界框的中心(或质心)之间确定。在一个说明性实例中,斑点追踪器的速度可以被定义为vt=ct-ct-1,其中ct-ct-1=(ctx-ct-1x,cty-ct-1y)。项ct(ctx,cty)表示当前帧中的追踪器的限界框的中心位置,其中ctx是限界框的x坐标,并且cty是限界框的y坐标。项ct-1(ct-1x,ct-1y)表示先前帧中的追踪器的限界框的中心位置(x和y)。在一些实施方案中,还可能的是使用四个参数在相同时间估计x、y、宽度、高度。在一些情况下,因为视频帧数据的时序是恒定的或至少不会随时间显著地不同(根据帧率,例如,30帧每秒、60帧每秒、120帧每秒,或其它合适的帧率),所以在速度计算中可能并不需要时间变量。在一些情况下,可使用时间常量(根据时刻帧率)和/或可使用时间戳。

使用斑点检测引擎104和对象追踪引擎106,视频分析系统100可以为视频序列的每个帧或图片执行斑点产生和检测。举例来说,斑点检测引擎104可以为帧执行背景减除,并且可以随后在帧中检测前景像素。前景斑点是使用形态操作和空间分析从前景像素中产生的。另外,来自先前帧的斑点追踪器需要与当前帧中的前景斑点相关联,并且还需要更新。追踪器与斑点的数据相关联和追踪器更新两者都可以依赖于成本函数计算。举例来说,当斑点是从当前输入视频帧中检测到的时,根据成本计算来自先前帧的斑点追踪器可以与检测到的斑点相关联。追踪器随后根据数据相关联更新,包含更新追踪器的状态和位置使得可以实现当前帧中的对象的追踪。相对于图3到4描述涉及斑点检测引擎104和对象追踪引擎106的其它细节。

图2是跨越时间t视频分析系统(例如,视频分析系统100)处理视频帧的实例。如图2中所示,视频帧a202a通过斑点检测引擎204a被接收。斑点检测引擎204a为当前帧a202a产生前景斑点208a。在执行斑点检测之后,前景斑点208a可用于通过对象追踪引擎206a的时间追踪。在斑点追踪器与斑点之间的成本(例如,包含距离、经加权的距离的成本,或其它成本)可以通过对象追踪引擎206a计算。对象追踪引擎206a可以执行数据相关联以使用计算出的成本(例如,使用成本矩阵或其它合适的相关联技术)使斑点追踪器(例如,基于先前帧产生或更新的斑点追踪器或新近产生的斑点追踪器)与斑点208a相关联或匹配。斑点追踪器可以根据数据相关联更新,包含就追踪器的位置而言,以产生经过更新的斑点追踪器310a。举例来说,可以计算和更新用于视频帧a202a的斑点追踪器的状态和位置。也可以从当前视频帧a202a中预测下一视频帧n202n中的斑点追踪器的位置。举例来说,用于下一视频帧n202n的斑点追踪器的预测位置可以包含当前视频帧a202a中的斑点追踪器(以及其相关联的斑点)的位置。一旦产生经过更新的斑点追踪器310a,则可以执行当前帧a202a的斑点的追踪。

当接收到下一视频帧n202n时,斑点检测引擎204n为帧n202n产生前景斑点208n。对象追踪引擎206n可以随后执行斑点208n的时间追踪。举例来说,对象追踪引擎206n获得基于之前视频帧a202a更新的斑点追踪器310a。对象追踪引擎206n可以随后计算成本并且可以使用新近计算的成本使斑点追踪器310a与斑点208n相关联。斑点追踪器310a可以根据数据相关联更新以产生经过更新的斑点追踪器310n。

图3是说明斑点检测引擎104的实例的框图。斑点检测用于分段来自场景中的全局背景的移动对象。斑点检测引擎104包含接收视频帧302的背景减除引擎312。背景减除引擎312可以执行背景减除以检测视频帧302中的一或多个中的前景像素。举例来说,背景减除可用于分段来自视频序列中的全局背景的移动对象并且产生前景-背景二元掩模(在本文中被称作前景掩模)。在一些实例中,背景减除可以在当前帧或图片与包含场景的背景部分(例如,场景的静态或大部分静态的部分)的背景模型之间执行减除。基于背景减除的结果,形态引擎314和连接分量分析引擎316可以执行前景像素处理以出于追踪目的将前景像素分组成前景斑点。举例来说,在背景减除之后,形态操作可应用于移除噪声像素以及使前景掩模光滑。连接分量分析可以随后被应用于产生斑点。可以随后执行斑点处理,其可以包含进一步滤出一些斑点并且将一些斑点合并在一起以提供限界框作为用于追踪的输入。

背景减除引擎312可以使用任何合适的背景减除技术(也被称作背景提取)对场景的背景(例如,在视频序列中俘获)进行建模。由背景减除引擎312使用的背景减除方法的一个实例包含基于不被视为属于任何移动区的先前帧中的相对静态的像素将场景的背景建模为统计模型。举例来说,背景减除引擎312可使用高斯分布模型用于每个像素位置,具有平均值和方差的参数以对视频序列的帧中的每个像素位置进行建模。在特定像素位置处的先前像素的所有值用于计算像素位置的目标高斯模型的平均值和方差。当在新视频帧中的给定位置处的像素经处理时,其值将通过此像素位置的当前高斯分布来评估。通过比较指定高斯模型的像素值与平均值之间的差而完成将像素分类为前景像素或背景像素。在一个说明性实例中,如果像素值和高斯平均值的距离小于方差的3倍,那么像素被分类为背景像素。否则,在此说明性实例中,像素被分类为前景像素。在相同时间,用于像素位置的高斯模型将通过考虑当前像素值进行更新。

背景减除引擎312也可使用高斯的混合(gmm)执行背景减除。gmm将每个像素建模为高斯的混合且使用在线学习算法来更新模型。用平均值、标准偏差(或如果像素具有多个通道则为协方差矩阵)和权重来表示每个高斯模型。权重表示高斯在过去历史中发生的概率。

gmm模型的等式在等式(1)中示出,其中存在k个高斯模型。每个高斯模型具有平均值μ和方差∑的分布,且具有权重ω。此处,i是高斯模型的索引且t是时间实例。如所述等式所示,gmm的参数在一个帧(时间t处)经处理之后随时间改变。

上文所提及的背景减除技术是基于相机静止安装的假设,且如果任何时候相机移动或相机的定向改变,那么将需要计算新背景模型。还存在可基于移动背景处理前景减除的背景减除方法,包含例如追踪关键点、光流、突出性和其它基于运动估计的方法等技术。

背景减除引擎312可以基于背景减除的结果通过前景像素产生前景掩模。举例来说,前景掩模可以包含含有在场景中构成前景对象(例如,移动对象)的像素和背景的像素的二值图像。在一些实例中,前景掩模的背景(背景像素)可以是纯色的,例如,纯白背景、纯黑背景,或其它纯色。在此类实例中,前景掩模的前景像素可以是与用于背景像素的色彩(例如,纯黑、纯白或其它纯色)相比不同的色彩。在一个说明性实例中,背景像素可以是黑色(例如,在8位灰度中的像素色彩值0或其它合适的值)并且前景像素可以是白色(例如,在8位灰度中的像素色彩值255或其它合适的值)。在另一说明性实例中,背景像素可以是白色并且前景像素可以是黑色。

使用从背景减除中产生的前景掩模,形态引擎314可以执行形态函数以对前景像素进行滤波。形态函数可以包含冲蚀和扩大函数。在一个实例中,冲蚀函数可以在一系列一或多个扩大函数之后应用。可以应用冲蚀函数以移除对象边界上的像素。举例来说,形态引擎314可以将冲蚀函数(例如,filtererode3x3)应用到目前正在处理的中心像素的3x3滤波窗口。3x3窗口可以应用于前景掩模中的每个前景像素(作为中心像素)。所属领域的一般技术人员将了解可使用除3x3窗口之外的其它窗口大小。冲蚀函数可以包含冲蚀操作,如果3x3窗口内的当前前景像素的相邻像素中的一或多个是背景像素,那么冲蚀操作将前景掩模中的当前前景像素(充当中心像素)设置成背景像素。此类冲蚀操作可被称作强冲蚀操作或单个相邻冲蚀操作。此处,当前中心像素的相邻像素包含3x3窗口中的八个像素,其中第九个像素是当前中心像素。

扩大操作可用于增强前景对象的边界。举例来说,形态引擎314可以将扩大函数(例如,filterdilate3x3)应用到中心像素的3x3滤波窗口。3x3扩大窗口可以应用于前景掩模中的每个背景像素(作为中心像素)。所属领域的一般技术人员将了解可使用除3x3窗口之外的其它窗口大小。扩大函数可以包含扩大操作,如果3x3窗口中的当前背景像素的相邻像素中的一或多个是前景像素,那么扩大操作将前景掩模中的当前背景像素(充当中心像素)设置为前景像素。当前中心像素的相邻像素包含3x3窗口中的八个像素,其中第九个像素是当前中心像素。在一些实例中,多个扩大函数可以在应用冲蚀函数之后应用。在一个说明性实例中,3x3窗口大小的扩大的三个函数调用可在前景掩模被发送到连接分量分析引擎316之前应用于前景掩模。在一些实例中,可以首先应用冲蚀函数以移除噪声像素,并且可以随后应用一系列扩大函数以优化前景像素。在一个说明性实例中,首先调用具有3x3窗口大小的一个冲蚀函数,并且在3x3窗口大小的扩大的三个函数调用在前景掩模被发送到连接分量分析引擎316之前应用于前景掩模。下文描述关于内容自适应形态操作的细节。

在执行形态操作之后,连接分量分析引擎316可以应用连接分量分析以连接相邻前景像素以调配连接分量和斑点。通过连接分量分析引擎316执行的连接分量分析的一个实例如下实施:

对于前景掩模的每个像素{

-如果它是前景像素并且尚未得到处理,那么应用以下步骤:

-应用floodfill函数以将此像素连接到其它前景并且产生连接分量

-将连接分量插入在连接分量的列表中。

-将连接分量中的像素标记为处理过的}

floodfill(种子填充)函数是确定在多维阵列(例如,在此情况下是2d图像)中连接到种子节点的区域的算法。此floodfill函数首先获得在源前景掩模的种子位置(例如,前景像素)处的色彩或强度值,并且随后基于4或8连接性找到具有相同(或类似)值的所有相邻像素。举例来说,在4连接性情况中,当前像素的相邻者被定义为具有坐标(x+d,y)或(x,y+d)的那些,其中d等于1或-1并且(x,y)是当前像素。所属领域的一般技术人员将了解可使用其它数量的连接性。一些对象被分成不同连接分量并且一些对象被分组到相同连接分量(例如,具有相同或类似值的相邻像素)中。可以应用额外处理以进一步处理连接分量以用于分组。最后,根据连接分量产生包含相邻前景像素的斑点308。在一个实例中,斑点可以由一个连接分量组成。在另一实例中,斑点可以包含多个连接分量(例如,当两个或大于两个斑点合并在一起时)。

斑点处理引擎318可以执行额外处理以进一步处理由连接分量分析引擎316产生的斑点。在一些实例中,斑点处理引擎318可以产生限界框以表示检测到的斑点和斑点追踪器。在一些情况下,斑点限界框可以从斑点检测引擎104输出。在一些实例中,斑点处理引擎318可以执行某些斑点的基于内容的滤波。举例来说,机器学习方法可以确定当前斑点含有噪声(例如,场景中的叶子)。使用机器学习信息,斑点处理引擎318可以确定当前斑点是噪声斑点并且可以从提供到对象追踪引擎106的所得斑点中移除它。在一些实例中,斑点处理引擎318可以将接近斑点合并到一个大斑点中以移除具有可属于一个对象的过多小斑点的风险。在一些实例中,斑点处理引擎318可以滤出低于某一大小阈值的一或多个小斑点(例如,围绕斑点的限界框的面积低于面积阈值)。在一些实施例中,斑点检测引擎104不包含斑点处理引擎318,或者在一些情况下并不使用斑点处理引擎318。举例来说,由连接分量分析引擎316产生的斑点没有进一步的处理可以输入到对象追踪引擎106以执行斑点和/或对象追踪。

图4是说明对象追踪引擎106的实例的框图。视频序列中的对象追踪可用于许多应用,包含监控应用,以及许多其它应用。举例来说,检测和追踪同一场景中的多个对象的能力是在许多安全性应用中极为感兴趣的。当从输入视频帧中检测到斑点(构成对象的至少部分)时,来自先前视频帧的斑点追踪器需要根据成本计算与输入视频帧中的斑点相关联。斑点追踪器可以基于相关联的前景斑点更新。在一些例子中,可以串联方式进行对象追踪中的步骤。

对象追踪引擎106的成本确定引擎412可以从斑点检测引擎104获得当前视频帧的斑点408。成本确定引擎412也可以获得从先前视频帧(例如,视频帧a202a)更新的斑点追踪器410a。成本函数可以随后用于计算对象追踪器410a与斑点408之间的成本。任何合适的成本函数可用于计算成本。在一些实例中,成本确定引擎412可以通过计算追踪器(例如,追踪器的限界框)的质心与前景斑点的限界框的质心之间的欧几里得距离测量斑点追踪器与斑点之间的成本。在使用2d视频序列的一个说明性实例中,此类型的成本函数被如下计算为:

项(tx,ty)和(bx,by)分别是斑点追踪器和斑点限界框的中心位置。如在本文中所提及,在一些实例中,斑点追踪器的限界框可以是与先前帧中的斑点追踪器相关联的斑点的限界框。在一些实例中,可以执行在x方向或y方向上使用最小距离来计算成本的其它成本函数方式。此类技术可以有利于某些可控的场景,例如,很好对准的通路传送。在一些实例中,成本函数可以基于斑点追踪器和斑点的距离,其中替代于使用斑点和追踪器的限界框的中心位置来计算距离,考虑限界框的边界使得当两个限界框在几何学上重叠时引入负距离。另外,此类距离的值是根据两个相关联的限界框的大小比率进一步调节的。举例来说,成本可以是基于斑点追踪器限界框的面积与斑点限界框的面积之间的比率加权的(例如,用所述比率乘以所确定的距离)。

在一些实施例中,针对每个追踪器与每个斑点之间的每个追踪器-斑点对确定成本。举例来说,如果存在包含追踪器a、追踪器b和追踪器c的三个追踪器以及包含斑点a、斑点b和斑点c的三个斑点,那么可以确定追踪器a与斑点a、b和c中的每一个之间的单独的成本,以及追踪器b和c与斑点a、b和c中的每一个之间的单独的成本。在一些实例中,成本可以布置在成本矩阵中,其可用于数据相关联。举例来说,成本矩阵可以是2维矩阵,具有一个维度是斑点追踪器410a且第二维度是斑点408。追踪器410a与斑点408之间的每个追踪器-斑点对或组合包含成本,所述成本包含在成本矩阵中。追踪器410a与斑点408之间的最佳匹配可以通过识别矩阵中的最低成本追踪器-斑点对来确定。举例来说,追踪器a与斑点a、b和c之间的最低成本用于确定使其与追踪器a相关联的斑点。

追踪器410a与斑点408之间的数据相关联以及追踪器410a的更新可基于所确定的成本。数据相关联引擎414匹配或分配追踪器与对应的斑点且反之亦然。举例来说,如先前所描述,最低成本追踪器-斑点对可由数据相关联引擎414使用以使斑点追踪器410a与斑点408相关联。用于使斑点追踪器与斑点相关联的另一技术包含匈牙利法,匈牙利法是在多项式时间中解决此类分配问题和预期的稍后原始对偶方法的组合的优化算法。举例来说,匈牙利法可以优化所有斑点追踪器410a与斑点408的全局成本以便最小化全局成本。最小化全局成本的成本矩阵中的斑点追踪器-斑点组合可以得到确定并且被用作相关联。

除了匈牙利法之外,其它稳固方法可用于在斑点与斑点追踪器之间执行数据相关联。举例来说,相关联问题可以通过额外约束条件以使得解对噪声更稳固同时匹配尽可能多的追踪器和斑点得到解决。

无论所使用的相关联技术如何,数据相关联引擎414可以依赖于斑点与追踪器之间的距离。前景斑点的位置通过斑点检测引擎104识别。然而,当前帧中的斑点追踪器位置可能需要从先前帧中预测(例如,使用与先前帧中的斑点追踪器相关联的斑点的位置)。所识别的斑点与所估计的追踪器之间的计算出的距离用于数据相关联。在当前帧的数据相关联之后,当前帧中的追踪器位置可以通过当前帧中的其相关联的斑点的位置来识别。追踪器的位置可以进一步用于更新追踪器的运动模型并且预测其在下一帧中的位置。

一旦在斑点追踪器410a与斑点408之间的相关联已经完成,则斑点追踪器更新引擎416可以使用相关联的斑点的信息以及追踪器的时间状态来更新当前帧的追踪器410a的状态。在更新追踪器410a之后,斑点追踪器更新引擎416可以使用经过更新的追踪器410n执行对象追踪,并且也可以提供更新的追踪器410n以供用于下一帧。

斑点追踪器的状态可以包含当前帧中的追踪器的所识别的位置(或实际位置)以及其在下一帧中的预测位置。所述状态也可以或替代地包含追踪器的时间状态。时间状态可以包含追踪器是否是在当前帧之前不存在的新追踪器,追踪器是否已经活跃达某些帧,或其它合适的时间状态。另外或替代地,其它状态可以包含当追踪器并不与当前帧中的任何前景斑点相关联时追踪器是否被视为丢失,如果追踪器未能与任何斑点相关联达某一数量的连续帧(例如,2个或大于2个),那么追踪器是否被视为失效的追踪器,或其它合适的追踪器状态。

除追踪器的位置之外,可能存在更新追踪器所需的其它状态信息,其可能需要用于对象追踪的状态机。给定相关联的斑点的信息和追踪器的自身状态历史表,状态也需要经过更新。状态机收集所有必需的信息并且相应地更新状态。各种状态可以是经过更新的。举例来说,除了追踪器的寿命状态(例如,新的、丢失的、失效的或其它合适的寿命状态)之外,追踪器的相关联置信度和与其它追踪器的关系也可以是经过更新的。列举追踪器关系的一个实例,当两个对象(例如,个人、车辆或其它所关注的对象)相交时,与两个对象相关联的两个追踪器将合并在一起达某些帧,并且需要记录合并或遮挡状态用于高级视频分析。

用于执行追踪器位置更新的一个方法是使用卡尔曼滤波器。卡尔曼滤波器是包含两个步骤的架构。第一步骤是预测追踪器的状态,并且第二步骤是使用测量值来校正或更新状态。在此情况下,来自最后一个帧的追踪器(使用斑点追踪器更新引擎416)预测其在当前帧中的位置,并且当接收到当前帧时,追踪器首先使用斑点的测量值以校正其位置状态并且随后预测其在下一帧中的位置。举例来说,斑点追踪器可以采用卡尔曼滤波器以测量其轨迹以及预测其未来位置。卡尔曼滤波器依赖于相关联的斑点的测量以校正斑点追踪器的运动模型并且预测对象追踪器在下一帧中的位置。在一些实例中,如果斑点追踪器与当前帧中的斑点相关联,那么斑点的位置直接地用于校正斑点追踪器在卡尔曼滤波器中的运动模型。在一些实例中,如果斑点追踪器并不与当前帧中的任何斑点相关联,那么斑点追踪器在当前帧中的位置被识别为来自先前帧的其预测位置,意味着斑点追踪器的运动模型并未被校正并且预测通过斑点追踪器的最后一个模型(来自先前帧)传播。

无论所使用的追踪方法如何,新追踪器开始与一个帧中的斑点相关联并且向前移动,新追踪器可以与可能地跨越多个帧移动的斑点连接。当追踪器已经连续地与斑点相关联并且已经经过一段持续时间时,追踪器可以被提升为正常追踪器并且输出为所识别的追踪器-斑点对。当追踪器被提升为正常追踪器时追踪器-斑点对在系统层级处作为事件被输出(例如,作为被追踪对象呈现在显示器上、作为警示被输出,或其它合适的事件)。在一些实施方案中,正常追踪器(例如,包含正常追踪器的某些状态数据、正常追踪器的运动模型或关于正常追踪器的其它信息)可以作为对象元数据的一部分被输出。包含正常追踪器的元数据可以从视频分析系统(例如,运行视频分析系统的ip相机)输出到服务器或其它系统存储装置。元数据可以随后经分析用于事件检测(例如,通过规则解译器)。未被提升为正常追踪器的追踪器可以被移除(或消灭),在这之后所述追踪器可以被视为失效的。

如上文所描述,可以针对一或多个视频帧执行斑点检测以产生或识别用于一或多个视频帧的斑点。当斑点的运动状态相对稳定时可以使用斑点追踪器追踪针对视频帧中的对象检测到的斑点。举例来说,可以计算斑点追踪器与斑点之间的成本(例如,距离),并且可以使用计算出的成本(例如,使用成本矩阵)执行数据相关联以使追踪器与斑点相关联。斑点追踪器可以随后根据数据相关联更新,在此情况下可以计算经过更新的状态和位置并且可以实现当前帧的追踪。在一些情况下,场景中的一或多个移动对象可以停止移动,变为被遮挡的,或离开场景,在此情况下对象变为丢失的。当对象丢失时,针对对象检测到的斑点和相关联的斑点追踪器也变为丢失的。举例来说,如果对于当前帧正常追踪器并不匹配任何斑点并且因此它丢失其追踪,那么正常追踪器被视为丢失追踪器。

当被追踪对象变为丢失的并且随后被检测到并且再次被追踪时,对象的识别可能是未对准的。举例来说,因为对象即使是相同的可能也并不会通过视频分析被识别为相同对象(因此具有相同标识符)。此类场景可以引起许多新对象或甚至输出事件(例如,警示或其它事件)在系统层级处创建,极大地影响视频分析的追踪性能。管理丢失追踪器是困难的,并且如果丢失追踪器无法被重新识别,那么可以产生许多问题。

在一些实例中,当对象被检测为多个不同对象时可以产生问题。举例来说,如果移动对象的运动轨迹自其创建起并不总是连续的,那么对象可以被检测为多个不同对象。当对象被检测到时对象可以被检测为多个不同对象、随后丢失,并且随后再次被检测到。当对象丢失并且随后再次被找到时的情况也可以被称作断点。当对象被再次检测到时,对象可以与具有与对象丢失之前与对象相关联的斑点追踪器相比不同斑点标识符(id)的不同斑点追踪器相关联。这造成至少两个缺点。举例来说,从系统视角,一个对象可引起仅一个事件最终由视频分析报告,但是如果对象的轨迹具有两个到三个断点,那么与一个相比三个到四个事件被报告给系统。此类事件的增加可以被系统解译为假阳性的增加、追踪精确度的极大下降或可以对视频分析系统不利的其它显著情况。

另一缺点在于可以降低每帧追踪精确度。举例来说,新斑点追踪器在被转换成正常斑点追踪器之前通常必须连续地与一或多个斑点相关联达新到正常持续时间(被称作t1)。当追踪器已经连续地与斑点相关联并且已经经过新到正常持续时间时,追踪器可以被提升为正常追踪器并且随后输出为所识别的追踪器-斑点对。当追踪器被提升为正常追踪器时追踪器-斑点对在系统层级处作为事件被输出(例如,作为被追踪对象呈现在显示器上、作为警示被输出,或其它合适的事件)。如果不存在识别回丢失的斑点追踪器的方式,那么在断点之后的对象的斑点追踪器可无法立刻变回到正常追踪器,因为通常需要新到正常持续时间以将追踪器转换成正常的并且因此将追踪器输出为追踪器-斑点对。因此,在断点之后的重新识别的对象具有来自系统视角的缺失检测的持续时间(等同于新到正常持续时间)。

在一些实例中,使用定义丢失追踪器将保持活跃多久的丢失追踪器的简单丢失追踪器持续时间阈值(被称作t2)可以产生问题。图5是说明用于斑点追踪器的基础丢失追踪器管理过程的实例的状态图。对象追踪引擎106可执行丢失追踪器管理过程。举例来说,用于当前帧(被处理的当前帧)的斑点追踪器具有正常状态502(并且因此是正常追踪器)。只要斑点追踪器的检测到的状态(ds)被确定为未丢失,那么具有正常状态502的斑点追踪器将维持正常状态502,如在516处所示。在稍后的点,在508处斑点追踪器的检测到的状态被确定为丢失状态504。举例来说,当斑点针对其产生的对象在场景中停止、变为被遮挡的、离开场景或防止对象在当前帧中被检测到的一些其它事件发生时斑点追踪器与其在先前帧中相关联的斑点可能变为丢失的。在一个说明性实例中,当对象停止时,它可以被检测为当前帧的背景,在此情况下斑点将不针对当前帧的对象产生。

对于后续帧(当前帧之后的帧),如在510处所示,只要斑点追踪器丢失的持续时间小于丢失追踪器持续时间阈值t2并且斑点追踪器的检测到的状态是丢失,那么斑点追踪器将保持在丢失状态504中。当斑点追踪器具有丢失状态504时,对象追踪引擎106可以针对后续帧在514处确定斑点追踪器的检测到的状态是否变为不丢失的并且可以监视丢失追踪器持续时间阈值t2。举例来说,当斑点追踪器与另一斑点相关联时斑点追踪器可以被检测为不再丢失的。在此情况下,丢失追踪器可以立刻变为正常追踪器。如果在丢失追踪器持续时间阈值t2内在514处追踪器的状态被检测为未丢失的,那么斑点追踪器可以被转换回到正常状态502。然而,如果丢失追踪器保持丢失的检测到的状态并且追踪器已经丢失的持续时间大于或等于(或者在一些情况下,仅大于)丢失追踪器持续时间阈值t2,如在512处所示,那么斑点追踪器过渡到失效状态506并且被从视频分析系统所维持的追踪器中移除。

然而,在一些情况下使用例如简单丢失追踪器持续时间阈值t2可以是成问题的并且可能无法恰当地工作。在一个实例中,存在可以出现在类似位置中的噪声斑点追踪器(其追踪假阳性对象)。因此,一旦噪声斑点追踪器丢失,并且在小于t2的某一持续时间之后新追踪器被识别,则噪声追踪器将再次活跃。这可能引起越来越多的假阳性对象被追踪,尤其是在丢失追踪器持续时间阈值t2并不极其小的情况下。实验示出即使丢失追踪器持续时间阈值t2小于30帧,许多假阳性也可以被识别。在另一实例中,斑点追踪器可追踪巨大背景对象(例如,建筑物或卡车)所传送的对象(例如,个人),并且因此可能变为丢失达较长持续时间。因此,在一些情况下,即使大丢失追踪器持续时间阈值t2值(例如,150帧、200帧或其它大数目)可能也并不足以维持此类追踪器。

此外,追踪器的持续时间通常在其状态改变之后重新设置(例如,从新追踪器到正常追踪器、从正常追踪器到丢失追踪器、从丢失追踪器到正常追踪器,或类似者)。当对象远离相机和/或具有接近背景的外观时,对象可以仅偶尔被检测到。在一个说明性实例中,此类对象可能仅每2-3个连续帧被检测为前景,随后是对象可能无法被检测到的3-8个连续帧的间隙。在此情况下,简单丢失持续时间(例如,具有指派给所有追踪器的固定值)可能失败,因为为了降低假阳性率,此类固定丢失持续时间必须被设置成极小的值,所以在此情况下追踪器(如上文所提到的)即使在它已经变成正常的之后可能仍被过于频繁的消灭,这是因为丢失追踪的短周期可能已经大于持续时间。因此,此类对象在被再次检测到时将必须作为新追踪器重新开始,其可以采用例如一秒的连续检测以待被再次拾取作为正常追踪器,其输出可以是整个系统的部分。

本文中描述了用于维持丢失斑点追踪器(或对象追踪器)使得当对象(和斑点)在丢失之后被检测到时在对象(和斑点)丢失之前与对象(和斑点)相关联的丢失追踪器可以再次与对象匹配的系统和方法。另外,通过所提出的方法,与真实对象相关联的稳定追踪器可以是更加容易恢复的(具有相同追踪器id),即使所述对象已经跨越遮挡区域离开或者已经保持静止达较长时间也是如此(在此情况下追踪器也可能丢失)。在一些实例中,对象追踪引擎106可以执行本文中所描述的方法。所提出的技术可独立地或联合地工作以改进对象追踪。

图6是说明使用丢失状态管理过程606的丢失追踪器管理的实例的状态图。当前帧的斑点追踪器具有正常状态602。一旦被检测到,则正常追踪器将保持其状态不变直至它变为丢失的。举例来说,只要斑点追踪器的检测到的状态(ds)被确定为未丢失,那么具有正常状态602的斑点追踪器将维持正常状态602,如在616处所示。在稍后的时间点,在608处斑点追踪器的检测到的状态可以被确定为丢失状态604。如果对于当前帧正常追踪器并不匹配任何斑点,那么正常追踪器可以被认为是丢失追踪器。斑点追踪器过渡到丢失追踪器的视频帧在本文中可以被称作丢失追踪器的过渡到丢失视频帧。举例来说,当斑点针对其产生的对象在场景中停止、变为被遮挡的、离开场景或防止对象在当前帧中被检测到的一些其它事件发生时斑点追踪器与其在先前帧中相关联的斑点可能变为丢失的。

对于后续帧(当前帧之后的帧),在丢失管理过程620被执行时或直至在614处斑点追踪器的检测到的状态变为未丢失,斑点追踪器将保持在丢失状态604中。每当斑点追踪器的状态被检测为丢失时,调用丢失状态管理过程620。丢失状态管理过程620可用于确定用于确定追踪器是否应该保持丢失604还是过渡到失效状态606的相关参数。在一些情况下,如果追踪器尚未被视为正常追踪器(且因此是新追踪器)并且追踪器随后丢失,那么追踪器可以被立刻移除。在此类情况下,仅对于那些已经被转换成正常且随后丢失的追踪器,丢失的状态可以维持使得追踪器可以稍后被再次拾取并且如果追踪器与未来帧的斑点匹配,那么被转换回到正常追踪器。

对象追踪引擎106的丢失状态管理引擎(未示出)可以确定丢失追踪器是否是阳性丢失追踪器626还是阴性丢失追踪器624。举例来说,如果引擎确定丢失斑点追踪器是阳性丢失追踪器,那么丢失斑点追踪器可以维持在丢失状态604中,或者如果引擎确定丢失斑点追踪器是阴性丢失追踪器,那么丢失斑点追踪器过渡到失效状态606。在丢失状态管理引擎中的此类确定过程是基于斑点追踪器已经丢失的持续时间(在本文中被称作丢失持续时间或状态持续时间)、自斑点追踪器被创建(追踪器的生存期)直至执行丢失状态管理过程的持续时间(在本文中被称作全局持续时间),以及追踪器从新追踪器变成正常追踪器的持续时间(在本文中被称作新持续时间或新到正常持续时间t1)。新到正常持续时间t1可以是帧的数量(例如,至少n个帧)或时间量。在一个说明性实例中,典型的追踪器在被转换成正常追踪器之前可以在新状态中达30帧(对应于在30帧/秒(fps)的帧率下的近似地1秒)。本文中所描述的持续时间中的任一个可以是帧的数量、时间量或时间的任何其它合适的测量值。

举例来说,当丢失斑点追踪器被首先确定为丢失时丢失状态管理引擎可以确定丢失斑点追踪器的自适应追踪器恢复持续时间(adaduration)。自适应追踪器恢复持续时间可以被设置成基于斑点追踪器的生存期(包含状态历史)的值。斑点追踪器已经丢失的持续时间(丢失持续时间)可以与自适应追踪器恢复持续时间相比以确定丢失追踪器是否是阳性丢失追踪器626还是阴性丢失追踪器624。简单丢失追踪器持续时间阈值可以因此被自适应追踪器恢复持续时间代替。当斑点追踪器变为丢失(追踪器从正常状态过渡到丢失状态604)时计算自适应追踪器恢复持续时间。自适应追踪器恢复持续时间可以是每次斑点追踪器过渡到丢失状态604时针对斑点追踪器确定的。丢失状态管理引擎可以基于全局持续时间(gduration)、新到正常持续时间(newduration)以及被称作最大自适应追踪器恢复持续时间的固定持续时间(并且可以被表示为lost_tracker_longest)设置自适应追踪器恢复持续时间。

在一些实例中,丢失斑点追踪器的自适应追踪器恢复持续时间被设置成丢失斑点追踪器的正常持续时间(nrmlduration)与最大自适应追踪器恢复持续时间(被表示为lost_tracker_longest)之间的最小值。举例来说,自适应追踪器恢复持续时间可以被定义为adaduration=min(nrmlduration,lost_tracker_longest)。正常持续时间包含在过渡到丢失状态604之前(在变为丢失之前)斑点追踪器在正常状态602中的持续时间。举例来说,正常持续时间包含斑点追踪器首先过渡到正常追踪器直至斑点追踪器过渡到丢失追踪器的过渡到丢失视频帧的持续时间。正常持续时间也可以被称作示出持续时间,因为它是追踪器在变为丢失之前示出为输出追踪器的时间量。正常持续时间可以被定义为全局持续时间与新到正常持续时间之间的差(nrmlduration=gduration-newduration)。当斑点追踪器在正常状态与在首先变为正常追踪器之后的其它状态之间过渡时此类计算可以精确地确定正常持续时间。斑点追踪器的状态通常可以改变。举例来说,斑点追踪器可以从正常变为隐藏并且随后再次变为正常。在另一实例中,斑点追踪器可以是正常的、丢失的,并且随后再次正常的。在斑点追踪器转换成正常追踪器之后可以出现许多其它状态过渡。

当正常持续时间小于(或者在一些情况下小于或等于)最大自适应追踪器恢复持续时间时自适应追踪器恢复持续时间可以被设置成正常持续时间。然而,如果正常持续时间大于(或者在一些情况下大于或等于)给定最大自适应追踪器恢复持续时间(lost_tracker_longest),那么自适应追踪器恢复持续时间被削减到最大自适应追踪器恢复持续时间的值。最大自适应追踪器恢复持续时间可以被设置成在斑点追踪器过渡到失效状态606之前设置斑点追踪器可以在丢失状态中的最大时间量的任何合适的值。举例来说,最大自适应追踪器恢复持续时间可以被设置成50帧、75帧、100帧、125帧、150帧、175帧、200帧、1秒(对应于在30fps下的30帧、在60fps下的60帧,或其它合适的帧率)、2秒或任何其它合适的数量的帧或时间量。在一个说明性实例中,最大自适应追踪器恢复持续时间可以被设置成200帧,对应于在30fps下的近似地7秒。

斑点追踪器的丢失持续时间可以随后与所确定的自适应追踪器恢复持续时间相比以确定丢失追踪器是否是阳性追踪器626还是阴性追踪器624。举例来说,如果丢失斑点追踪器的丢失持续时间(或stateduration)大于自适应追踪器恢复持续时间(或者在一些情况下大于或等于),那么丢失追踪器被推导为是阴性的624并且将被设置成失效状态606且被从视频分析系统所维持的斑点追踪器中移除。否则,如果丢失斑点追踪器的丢失持续时间小于自适应追踪器恢复持续时间(或者在一些情况下小于或等于),那么丢失追踪器被推导为是阳性的626并且将保持为丢失的(维持在丢失状态604中)且因此由视频分析系统维持。

只要斑点追踪器丢失的持续时间小于(或者在一些情况下小于或等于)自适应追踪器恢复持续时间并且斑点追踪器的检测到的状态是丢失,则斑点追踪器将保持在丢失状态604中。当斑点追踪器具有丢失状态604时,对象追踪引擎106可以针对后续帧在614处确定斑点追踪器的检测到的状态是否变为不丢失的并且可以监视自适应阈值。举例来说,当斑点追踪器与另一斑点相关联时斑点追踪器可以被检测为不再丢失的。如果在自适应阈值内在614处追踪器的状态被检测为不丢失,那么斑点追踪器可以被转换回到正常状态602。举例来说,当丢失追踪器被确定为匹配检测到的斑点(因此在614处检测到的状态并不丢失)时,斑点追踪器可以立刻变为正常的,而不用必须等待转换到正常状态通常所需要的新到正常持续时间t1。

在一些实例中,丢失追踪器的位置可以得到估计并且用于在每个后续帧中(在追踪器丢失之后)维持斑点追踪器的位置。在对象(以及其追踪器)的轨迹被假设为一致的情况下丢失追踪器的位置可用于维持所述位置。维持斑点追踪器的位置允许当被检测为不再丢失时斑点追踪器与未来帧中的新近检测到的斑点匹配。举例来说,当数据相关联引擎414匹配斑点追踪器和斑点时,斑点追踪器与斑点之间的距离可以在成本确定中使用。通过基于丢失斑点追踪器的位置维持丢失斑点追踪器的位置,斑点追踪器更可能与对应的对象(它先前与其相关联的对象)匹配,因为其成本(限界框之间的距离)将是相对于所述对象最小的。

考虑追踪器的寿命的优点是设置丢失追踪器的自适应追踪器恢复持续时间使得如果追踪器通过作为正常的达有意义的持续时间已经示出了一致轨迹,那么斑点追踪器更长地为阳性626(替代于过渡到失效状态606维持在丢失状态604中),指示斑点追踪器更有可能是真阳性的。从在自适应追踪器恢复持续时间计算中的使用中排除新到正常持续时间(追踪器是新的的周期),例如,以避免通过此机制拾起假阳性对象的机会。举例来说,假阳性追踪器可很可能具有短生存期,即使在它已经过渡到正常状态之后也是如此。

在一些实例中,当确定自适应追踪器恢复持续时间时当帧(或图片)中的斑点追踪器的位置丢失时可以考虑它。举例来说,除了上文所描述的持续时间参数之外,自适应追踪器恢复持续时间可以取决于当前丢失追踪器是否是当它丢失时在帧的某一排除区中估计的。排除区可以是在帧内的任何区域,并且可以由帧的边界或边缘界定或者可以是界定的排除区带(下文描述)。可以有利的是考虑斑点追踪器是否在图片的排除区内,例如,因为如果在排除区附近,那么排除区内的对象(在丢失之后)可以是不大可能被再次检测到的。举例来说,在一些情况下,假设对象维持它们正在其中行进的轨迹,并且因此在排除区中丢失的对象不大可能返回到帧(并且再次从丢失转换到正常)。在一些实例中,当根据丢失追踪器的斑点的所估计的限界框位置确定斑点追踪器在帧的排除区中时,可以为斑点追踪器设置排除状态(例如,边界状态或排除区带状态)(例如,通过设置边界旗标到1的值,或其它合适的技术)。在一些实例中,斑点追踪器的排除状态可仅针对丢失追踪器产生和/或检查(例如,当斑点追踪器从正常过渡到丢失时)。

在此类实例中,如果当前丢失追踪器被确定为在帧的排除区中,那么自适应追踪器恢复持续时间被设置成预定值。设置预定值使得斑点追踪器与不与当前帧的排除区相关联的丢失斑点追踪器相比将更早从所维持的斑点追踪器中被移除。举例来说,预定值可以被设置成非常小的值(例如,3帧、4帧、5帧、6帧、10帧或其它合适的值)。

使用任何合适的技术,丢失斑点追踪器可以被确定为在帧的排除区中。如上文所指出,排除区由帧的边界或所界定的排除区带界定。举例来说,如果斑点追踪器的限界框的左上角或右下角在当前帧的外部,那么丢失斑点追踪器可以被确定为在排除区中。在此类实例中,排除区是当前帧的边界外部的任何区域。在另一实例中,排除区可以包含针对视频序列的帧界定的排除区带。当存在所界定的排除区带时,排除状态可以扩展到限界框与排除区带重叠或者完全属于排除区带的情况。排除区带可以外部地或内部地界定为视频分析内的某一引擎的结果(例如,通过对象追踪引擎106、通过丢失状态管理引擎或视频分析系统100外部的引擎)。举例来说,排除区带可以被界定为是在其内任何实际对象并不应该被检测到的区域,并且可以包含图像的任何区域。举例来说,排除区带可含有噪声背景区域或不具有移动(噪声)的背景区域。在一个说明性实例中,由静态相机在环境中俘获的场景可以已知为包含在相机视图的右下方部分中的大量的树。在此类实例中,由相机俘获的帧的右下方部分可以被定义为排除区带。

图7说明斑点追踪器的时间线的实例。时间线示出了斑点追踪器的不同状态过渡和当斑点追踪器变为丢失时可用于确定斑点追踪器的自适应追踪器恢复持续时间的各种持续时间。举例来说,对象追踪引擎106在帧1产生斑点追踪器并且向斑点追踪器分配新状态。在连续地与一或多个斑点相关联达30帧的新到正常持续时间之后,斑点追踪器过渡到具有正常状态的正常追踪器。当在正常状态中时,斑点追踪器可被监视以确定追踪器是否变为丢失的。在帧120,对象追踪引擎106确定斑点追踪器已经变为丢失并且向斑点追踪器分配丢失状态。

当斑点追踪器被检测为丢失时对象追踪引擎106可以调用丢失状态管理引擎。丢失状态管理引擎可以响应于斑点追踪器变为丢失确定自适应追踪器恢复持续时间。举例来说,丢失状态管理引擎可以获得对应于自斑点追踪器被创建直至斑点追踪器丢失的持续时间的斑点追踪器的全局持续时间,以及对应于将追踪器从新追踪器转变为正常追踪器需要的持续时间的斑点追踪器的新到正常持续时间。在一些情况下,新到正常持续时间是所有斑点追踪器的预设值。在一些情况下,新到正常持续时间可以是对于一或多个斑点追踪器唯一的。丢失状态管理引擎可以通过从全局持续时间减去新到正常持续时间确定斑点追踪器的正常持续时间(或示出持续时间)(nrmlduration=gduration-newduration)。

丢失状态管理引擎可以将自适应追踪器恢复持续时间设置为正常持续时间与最大自适应追踪器恢复持续时间(lost_tracker_longest)之间的最小值。在图7的实例中,最大自适应追踪器恢复持续时间被设置成200帧。在此实例中,自适应追踪器恢复持续时间将被设置成正常持续时间。使用图7中所示的持续时间值和最大自适应追踪器恢复持续时间的200帧的值,自适应追踪器恢复持续时间被设置成90帧。举例来说,如图7中所示,全局持续时间是120帧并且新到正常持续时间是30帧,使得正常持续时间是90帧。正常持续时间(90)与最大自适应追踪器恢复持续时间(200)之间的最小值是90的正常持续时间值,并且因此自适应追踪器恢复持续时间被设置成90帧。

追踪引擎106可以监视斑点追踪器已经丢失的周期(追踪器的丢失持续时间),并且可以比较所监视的丢失持续时间与自适应追踪器恢复持续时间。如图7中所示,一旦追踪器的丢失持续时间达到91帧,则它已经超过自适应追踪器恢复持续时间。在所述时刻,追踪引擎106确定斑点追踪器已经丢失达长于关于丢失斑点追踪器计算的自适应追踪器恢复持续时间的持续时间。斑点追踪器可以过渡到失效状态并且被从视频分析系统所维持的斑点追踪器中移除。在一些实例中,当斑点追踪器已经丢失与自适应追踪器恢复持续时间相同的持续时间时(在此情况下状况是追踪器丢失大于或等于自适应追踪器恢复持续时间的持续时间),斑点追踪器可以过渡到失效状态。

图8是说明斑点追踪器的另一实例时间线的图式,包含斑点追踪器的不同状态过渡和可用于确定在斑点追踪器变为丢失之后斑点追踪器的自适应追踪器恢复持续时间的各种持续时间。在帧1,对象追踪引擎106产生斑点追踪器并且向斑点追踪器分配新状态。在连续地与一或多个斑点相关联30帧的新到正常持续时间之后,斑点追踪器转换成正常状态的正常追踪器。当在正常状态中时,斑点追踪器可被监视以确定追踪器是否变为丢失的。在帧250,斑点追踪器变为丢失,此时对象追踪引擎106将追踪器过渡到丢失状态。

当斑点追踪器被检测为丢失时对象追踪引擎106调用丢失状态管理引擎。丢失状态管理引擎可以响应于斑点追踪器变为丢失确定丢失斑点追踪器的自适应追踪器恢复持续时间。举例来说,丢失状态管理引擎可以获得斑点追踪器的全局持续时间(自斑点追踪器被创建直至斑点追踪器丢失的持续时间)以及斑点追踪器的新到正常持续时间(将追踪器从新转变为正常的持续时间)。丢失状态管理引擎可以随后从全局持续时间减去新到正常持续时间以确定斑点追踪器的正常持续时间(或示出持续时间)。

自适应追踪器恢复持续时间随后被设置为正常持续时间与最大自适应追踪器恢复持续时间(lost_tracker_longest)之间的最小值。在图8的实例中,最大自适应追踪器恢复持续时间被设置成200帧。在此实例中,自适应追踪器恢复持续时间将被设置成最大自适应追踪器恢复持续时间。使用图8中所示的持续时间值和最大自适应追踪器恢复持续时间的200帧的值,自适应追踪器恢复持续时间被设置成200帧。举例来说,如图8中所示,全局持续时间是250帧并且新到正常持续时间是30帧,使得正常持续时间是220帧。正常持续时间(220)与最大自适应追踪器恢复持续时间(200)之间的最小值是200的最大自适应追踪器恢复持续时间值,并且因此自适应追踪器恢复持续时间被设置成200帧。

追踪引擎106可以监视斑点追踪器已经丢失的周期(追踪器的丢失持续时间),并且可以比较所监视的丢失持续时间与自适应追踪器恢复持续时间。举例来说,如图8中所示,追踪引擎106可以在帧300检查斑点追踪器的丢失持续时间,并且可以确定斑点追踪器已经丢失达50帧。基于在帧300的丢失持续时间,追踪引擎106可以维持追踪器的丢失状态,因为尚未超过200帧的自适应阈值。可以维持斑点追踪器的丢失状态直至追踪器的检测到的状态变为未丢失且斑点追踪器过渡到具有正常状态的正常追踪器,或直至到达帧451(或者在一些情况下450)且由于斑点追踪器丢失大于(或者在一些情况下大于或等于)200的自适应追踪器恢复持续时间的持续时间追踪器过渡到失效状态。如果斑点追踪器过渡到失效状态,那么对象追踪引擎106可以从视频分析系统所维持的斑点追踪器中移除追踪器。

下文描述比较视频序列的各种实例,其中自适应追踪器恢复持续时间被应用于视频序列,在所述视频序列中应用简单丢失追踪器持续时间阈值。

图9a和图9b包含场景的视频帧900a和视频帧900b,在所述视频帧中追踪个人902。虽然出于说明性目的仅示出个人902为在视频帧900a中被追踪,但是许多对象也可以被追踪。在帧900a中的个人902通过具有id1015的斑点追踪器被追踪。在某一时刻个人902停止移动,并且被检测为背景。当个人902被检测为背景时,斑点追踪器1015变为丢失,因为它不再与针对个人902产生的斑点相关联。

一旦个人902再次开始移动,则可以针对个人902检测到至少一个斑点并且个人902可以再次被追踪。举例来说,在图9b中所示的帧900b处,个人902再次被追踪,但是此时通过具有id1033的斑点追踪器。当使用简单丢失追踪器持续时间阈值时产生此类场景,并且可以引起在系统层级处创建多个新对象和输出事件(例如,警示或其它事件)。简单丢失追踪器持续时间阈值可能失败,因为当阈值过期时具有id1015的追踪器可以被消灭,使得当在900b帧中个人902再次被追踪时引起创建新追踪器1033。举例来说,视频分析系统可以将个人902解译为两个不同的对象,一个对象在个人902停止之前并且第二对象在个人902再次开始移动之后。

图10a和图10b包含场景的视频帧1000a和视频帧1000b,在所述视频帧中追踪个人1002。类似于图9a和图9b中所示的场景,个人1002移动、变为停止,并且再次开始移动。举例来说,在帧1000a中,个人1002通过具有id34的斑点追踪器被追踪。个人1002随后变为停止,此时个人被检测为背景。当个人1002被检测为背景时,斑点追踪器34变为丢失,因为它不再与针对个人1002产生的斑点相关联。

个人1002随后再次开始移动,并且可以针对个人1002检测到至少一个斑点并且个人1002可以再次被追踪。举例来说,在图10b中所示的帧1000b,个人1002通过具有id34的相同追踪器被再次追踪。上文所描述的基于自适应持续时间的技术(使用自适应追踪器恢复持续时间)允许当个人1002停止时具有id34的追踪器通过对象追踪引擎106保持活跃(在丢失状态中),并且因此允许具有id34的追踪器在帧1000b再次与个人1002相关联。

图11a到图11d包含视频帧的序列的另一实例,在所述视频帧中使用简单丢失追踪器持续时间阈值。视频帧的序列包含场景的视频帧1100a、视频帧1100b、视频帧1100c和视频帧1100d,在所述视频帧中追踪个人1102。在帧1100a中的个人1102通过具有id1060的斑点追踪器被追踪。多个帧后,在图11b中所示的帧1100b,个人1102走到汽车1104后面并且因此从场景中消失,防止通过斑点检测引擎104在帧1100b中检测到个人1102。当个人1102从场景中消失时,斑点追踪器1160变为丢失,因为它不再与针对个人1102产生的斑点相关联。

一些数量的帧后,在图11c中所示的帧1100c,个人1102返回到场景,并且可以针对个人1102检测到至少一个斑点。一旦在帧1110c针对个人1102产生斑点,则通过使斑点追踪器与斑点相关联可以再次追踪个人1102。举例来说,在帧1100c,个人1102被再次追踪,但是此时通过具有id1162的斑点追踪器。在某一时刻,个人1102停止移动,并且被检测为背景。斑点追踪器1162随后变为丢失,因为它不再与针对个人1102产生的斑点相关联。一旦个人1102再次开始移动,则可以针对个人1102检测到至少一个斑点并且个人1102可以再次被追踪。举例来说,在图11d中所示的帧1100d,个人1102被再次追踪,但是通过具有id1167的甚至不同的斑点追踪器。简单丢失追踪器持续时间阈值因此引起许多新对象被检测到。

图12a到图12d包含与图11a到图11d中所示的类似的场景,但是此时应用基于自适应持续时间的技术。视频帧的序列包含场景的视频帧1200a、视频帧1200b、视频帧1200c和视频帧1200d,在所述视频帧中追踪个人1202。在帧1200a中的个人1202通过具有id159的斑点追踪器被追踪。一些数量的帧后,在图12b中所示的帧1200b,个人1202走到汽车1204后面并且从场景中消失,防止通过斑点检测引擎104在帧1200b中检测到个人1202。当个人1202从场景中消失时,斑点追踪器159变为丢失,因为追踪器159不再与针对个人1202产生的斑点相关联。

多个帧后,在图12c中所示的帧1200c,个人1202从汽车1204后面重新出现,此时可以针对个人1202检测到至少一个斑点。一旦在帧1210c针对个人1202产生斑点,则通过使斑点追踪器与斑点相关联可以再次追踪个人1202。举例来说,在帧1200c,个人1202通过具有id159的斑点追踪器被再次追踪。使用自适应追踪器恢复持续时间,斑点追踪器id159得到维持并且重新与个人1202相关联。在稍后的一些时间点,个人1202停止移动,此时个人1202被检测为背景对象。斑点追踪器159再次变为丢失,因为它不再与针对个人1202产生的斑点相关联。一旦个人1202再次开始移动,则可以针对个人1202检测到至少一个斑点并且个人1202可以再次被追踪。举例来说,在图12d中所示的帧1200d,个人1202通过具有id159的斑点追踪器被再次追踪。上文所描述的基于自适应持续时间的技术允许当个人1202被遮挡时并且当个人1202停止时具有id159的追踪器通过对象追踪引擎106保持活跃(在丢失状态中),允许具有id159的追踪器在许多断点之后与个人1202相关联。

在图12a到图12c中所示的实例中,虽然上文中未示出,但是已经观察到基于简单丢失追踪器持续时间阈值的方法具有在未来将对象变成正常的少的多的机会,并且在对象变成正常时的情况下,具有不同id的不同追踪器用于追踪对象。然而,使用基于自适应阈值的技术,对象具有被转换成正常的多的多的机会(虽然偶尔它会再次丢失),并且id总是一致。

使用上文所描述的系统和方法,可以有效方式维持丢失追踪器,防止通过视频分析系统产生不必要的对象和事件。此类系统和方法可以引起通过视频分析系统的追踪精确度的显著增加,以及其它优点。

图13说明使用本文中所描述的自适应持续时间技术维持用于一或多个视频帧的丢失斑点追踪器的过程1300的实例。在框1302处,过程1300包含识别针对视频帧的序列维持的一或多个斑点追踪器。一或多个斑点追踪器与视频帧的序列的一或多个斑点相关联。一或多个斑点包含在视频帧的序列中的一或多个前景对象的至少一部分的像素。

在框1304处,过程1300包含检测斑点追踪器从第一类型的追踪器过渡到丢失追踪器。斑点追踪器在第一视频帧被检测为丢失。第一视频帧可以被称作斑点追踪器的过渡到丢失视频帧。如先前所描述,斑点追踪器的过渡到丢失视频帧是斑点追踪器被检测为丢失的帧(当斑点追踪器从正常追踪器过渡到丢失追踪器时)。第一类型的追踪器也可以被称作正常追踪器。如上文所描述,如果追踪器并不匹配针对当前帧检测到的任何斑点,那么正常追踪器可以被认为是丢失追踪器。举例来说,当斑点追踪器在先前视频帧中与其相关联的斑点并未在第一视频帧(例如,斑点追踪器的过渡到丢失视频帧)中被检测到时斑点追踪器从第一类型的追踪器(例如,正常追踪器)过渡到丢失追踪器。当追踪器从新追踪器转换到第一类型的追踪器时追踪器和相关联的斑点被输出为所识别的斑点追踪器-斑点对。举例来说,当追踪器-斑点对的追踪器被提升为正常追踪器时追踪器-斑点对在系统层级处作为事件被输出(例如,作为被追踪对象呈现在显示器上、作为警示被输出,或其它合适的事件)。

在框1306处,过程1300包含确定在第一视频帧丢失追踪器的恢复持续时间。举例来说,当斑点追踪器的状态被检测为丢失时,可以确定恢复持续时间。恢复持续时间也可以被称作上文所描述的自适应追踪器恢复持续时间。对于在第一视频帧之后所获得的一或多个后续视频帧,当丢失追踪器的丢失持续时间大于恢复持续时间时从针对视频帧的序列维持的一或多个斑点追踪器中移除丢失追踪器。丢失持续时间可以包含自斑点追踪器从正常追踪器过渡到丢失追踪器的持续时间。举例来说,当斑点追踪器过渡到丢失追踪器时可以开始丢失持续时间。在一些实例中,自适应追踪器恢复持续时间是对于斑点追踪器唯一的。举例来说,当相应的追踪器过渡到丢失追踪器时可以向针对视频帧的序列维持的每个追踪器指派唯一自适应追踪器恢复持续时间。

在一些实例中,丢失追踪器的自适应追踪器恢复持续时间被适应性地设置成基于斑点追踪器的第一持续时间的值。如上文所描述,第一持续时间也可以被称作正常持续时间。第一持续时间(或正常持续时间)包含斑点追踪器首先过渡到第一类型的追踪器(例如,正常追踪器)直至第一视频帧(例如,追踪器的过渡到丢失视频帧)的持续时间。如前所述,当追踪器从新追踪器转换到第一类型的正常追踪器时追踪器和相关联的斑点作为所识别的斑点追踪器-斑点对被输出。在一些方面中,丢失追踪器的恢复持续时间被进一步修改为第一持续时间与最大恢复持续时间(也被称作最大自适应追踪器恢复持续时间)之间的最小值。在一个说明性实例中,恢复持续时间可以被定义为adaduration=min(nrmlduration,lost_tracker_longest)。最大恢复持续时间lost_tracker_longest可以被设置成在斑点追踪器被消灭或从针对视频帧的序列维持的追踪器中移除之前设置斑点追踪器可以是丢失追踪器的最大时间量的任何合适的值。

在一些实例中,第一持续时间是基于斑点追踪器的全局持续时间确定的。全局持续时间包含自斑点追踪器被创建(例如,自斑点追踪器变为新追踪器)的持续时间。在一些实例中,第一持续时间是基于斑点追踪器的全局持续时间和第二持续时间确定的。第二持续时间也可以被称作新到正常持续时间,并且包含用于将斑点追踪器从新追踪器转换成第一类型的追踪器(例如,从新追踪器到正常追踪器)的持续时间。在一个说明性实例中,斑点追踪器的正常持续时间可以通过从全局持续时间中减去新到正常持续时间确定(nrmlduration=gduration-newduration)。

在一些实例中,过程1300进一步包含确定斑点追踪器的限界框在第一视频帧的排除区内。如上文所指出,视频帧的排除可以由视频帧的边界或所界定的排除区带界定。举例来说,排除区可以包含第一视频帧的边界。在另一实例中,排除区可以包含第一视频帧的所界定的排除区带。在斑点追踪器的限界框被确定为在排除区内的此类实例中,恢复持续时间被设置为预定值。预定值使得丢失追踪器与具有不在第一视频帧的一或多个排除区内的限界框的一或多个丢失斑点追踪器相比更早从多个斑点追踪器中被移除。在一些情况下,为了确保丢失追踪器被快速地移除,预定值可以被设置成非常小的值(例如,3帧、4帧、5帧、6帧、10帧或其它合适的值)。

在一些实例中,过程1300进一步包含当丢失追踪器的丢失持续时间大于恢复持续时间时确定视频帧的序列的后续视频帧以从多个斑点追踪器中移除丢失追踪器。在与第一视频帧相比稍后的时间获得后续视频帧。

在一些实例中,过程1300进一步包含获得视频帧的序列的后续视频帧。在与第一视频帧相比稍后的时间获得后续视频帧。在此类实例中,过程1300进一步包含确定丢失追踪器的丢失持续时间。如上文所解释,丢失持续时间包含自斑点追踪器从第一类型的追踪器(例如,正常追踪器)过渡到丢失追踪器的持续时间。过程1300进一步包含确定丢失持续时间大于丢失追踪器的恢复持续时间,并且当丢失持续时间大于恢复持续时间时从针对视频帧的序列维持的多个斑点追踪器中移除丢失追踪器。

在一些实例中,过程1300进一步包含获得视频帧的序列的后续视频帧。在与第一视频帧相比稍后的时间获得后续视频帧。在此类实例中,过程1300进一步包含使丢失追踪器与后续视频帧中的斑点相关联,并且当丢失追踪器与斑点相关联时并且当丢失追踪器丢失的丢失持续时间小于恢复持续时间时将斑点追踪器从丢失追踪器转换成第一类型的追踪器。在一些情况下,当检测到丢失追踪器的第一视频帧(例如,过渡到丢失视频帧)时丢失持续时间开始,并且从当丢失追踪器被检测到时直至斑点追踪器被转换成第一类型的追踪器(例如,被转换成正常追踪器)适用恢复持续时间。举例来说,当斑点追踪器从第一类型的追踪器过渡到第一视频帧中的丢失追踪器时丢失持续时间开始,并且从当斑点追踪器从第一类型的追踪器过渡到丢失追踪器时直至斑点追踪器被转换成第一类型的追踪器适用恢复持续时间。

在一些实例中,过程1300可通过例如视频分析系统100的计算装置或设备执行。举例来说,过程1300可通过图1中所示的视频分析系统100和/或对象追踪引擎106执行。在一些情况下,计算装置或设备可以包含处理器、微处理器、微计算机或经配置以执行过程1300的步骤的装置的其它组件。在一些实例中,计算装置或设备可以包含经配置以俘获包含视频帧的视频数据(例如,视频序列)的相机。举例来说,计算装置可包含相机装置(例如,ip相机或其它类型的相机装置),所述相机装置可包含视频编解码器。在一些实例中,相机或俘获视频数据的其它俘获装置与计算装置分开,在此情况下计算装置接收所俘获的视频数据。计算装置可进一步包含经配置以传送视频数据的网络接口。网络接口可经配置以传送基于因特网协议(ip)的数据。

过程1300被说明为逻辑流程图,其操作表示可以在硬件、计算机指令或其组合中实施的操作的序列。在计算机指令的情形下,操作表示存储在一或多个计算机可读存储媒体上的计算机可执行指令,这些计算机可执行指令在由一或多个处理器执行时执行所叙述的操作。一般而言,计算机可执行指令包含例程、程序、对象、组件、数据结构以及执行特定功能或实施特定数据类型的类似物。描述操作的次序并不意图解释为限制,且任何数目的所描述的操作可以按任何次序组合和/或并行以实施所述过程。

另外,过程1300可以在配置有可执行指令的一或多个计算机系统的控制下执行并且可以实施为在一或多个处理器上、通过硬件或其组合共同地执行的代码(例如,可执行指令、一或多个计算机程序或一或多个应用程序)。如上文所指出,代码可例如以包括可由一或多个处理器执行的多个指令的计算机程序的形式存储在计算机可读或机器可读存储媒体上。计算机可读或机器可读存储媒体可以是非暂时性的。

本文中所论述的斑点追踪操作可以使用经压缩视频或使用未经压缩视频帧(在压缩之前或之后)实施。实例视频编码和解码系统包含提供稍后待通过目的地装置解码的经编码视频数据的源装置。具体地说,源装置经由计算机可读媒体将视频数据提供到目的地装置。源装置和目的地装置可包括多种多样的装置中的任一者,包含桌上型计算机、笔记本型(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如,所谓的“智能”电话)、所谓的“智能”平板、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或类似者。在一些情况下,源装置和目的地装置可经装备以用于无线通信。

目的地装置可经由计算机可读媒体接收待解码的经编码视频数据。计算机可读媒体可包括能够将经编码视频数据从源装置移动到目的地装置的任何类型的媒体或装置。在一个实例中,计算机可读媒体可包括使源装置能够实时将经编码视频数据直接发射到目的地装置的通信媒体。经编码视频数据可根据通信标准(例如,无线通信协议)调制,且发射到目的地装置。通信媒体可包括任何无线或有线通信媒体,例如射频(rf)频谱或一或多个物理发射线路。通信媒体可形成基于包的网络(例如,局域网、广域网或全球网络,例如因特网)的一部分。通信媒体可包含路由器、交换器、基站或可用于促进从源装置到目的地装置的通信的任何其它设备。

在一些实例中,经编码数据可从输出接口输出到存储装置。类似地,可以通过输入接口从存储装置存取经编码数据。存储装置可包含多种分布式或本地存取式数据存储媒体中的任一个,例如,硬盘驱动器、蓝光光盘、dvd、cd-rom、快闪存储器、易失性或非易失性存储器或用于存储经编码视频数据的任何其它合适的数字存储媒体。在另一实例中,存储装置可以对应于文件服务器或可存储由源装置产生的经编码视频的另一中间存储装置。目的地装置可经由流式传输或下载从存储装置存取所存储的视频数据。文件服务器可以是能够存储经编码视频数据并且将所述经编码视频数据发射到目的地装置的任何类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、ftp服务器、网络附接存储(nas)装置或本地磁盘驱动器。目的地装置可通过任何标准数据连接(包含因特网连接)来存取经编码视频数据。这可以包含无线通道(例如,wi-fi连接)、有线连接(例如,dsl、电缆调制解调器等)或适用于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从存储装置的发射可以是流式传输发射、下载发射或其组合。

本发明的技术不必限于无线应用或设置。所述技术可以应用于支持多种多媒体应用中的任一个的视频译码,例如,空中协议电视广播、有线电视发射、卫星电视发射、因特网流式视频发射(例如,动态自适应http流式传输(dash))、经编码到数据存储媒体上的数字视频,存储在数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统可经配置以支持单向或双向视频发射,以支持例如视频流式传输、视频重放、视频广播和/或视频电话等应用。

在一个实例中,源装置包含视频源、视频编码器和输出接口。目的地装置可包含输入接口、视频解码器和显示装置。源装置的视频编码器可经配置以应用本文中所公开的技术。在其它实例中,源装置和目的地装置可包含其它组件或布置。举例来说,源装置可从外部视频源(例如,外部相机)接收视频数据。类似地,目的地装置可与外部显示装置介接,而非包含集成显示装置。

以上实例系统仅是一个实例。用于并行处理视频数据的技术可由任何数字视频编码和/或解码装置来执行。虽然本发明的技术通常通过视频编码装置执行,但是所述技术也可通过视频编码器/解码器(通常被称作“编解码器”)执行。此外,本发明的技术还可通过视频预处理器执行。源装置和目的地装置仅为源装置在其中产生经译码视频数据以供发射到目的地装置的此类译码装置的实例。在一些实例中,源装置和目的地装置可以基本上对称方式操作,使得所述装置中的每一者包含视频编码和解码组件。因此,实例系统可支持视频装置之间的单向或双向视频发射,例如,用于视频流式传输、视频重放、视频广播或视频电话。

视频源可包含视频俘获装置,例如,摄像机、含有先前所俘获视频的视频存档和/或用于从视频内容提供者接收视频的视频馈送接口。作为另一替代方案,视频源可产生基于计算机图形的数据作为源视频,或实况视频、存档视频与计算机产生的视频的组合。在一些情况下,如果视频源是摄像机,那么源装置和目的地装置可形成所谓的相机电话或视频电话。然而,如上文所提及,本发明中所描述的技术一般可适用于视频译码,且可应用于无线和/或有线应用。在每一情况下,可由视频编码器编码所俘获、预先俘获或计算机产生的视频。经编码视频信息可随后由输出接口输出到计算机可读媒体上。

如所提到,计算机可读媒体可包含暂时性媒体,例如,无线广播或有线网络发射,或存储媒体(即,非暂时性存储媒体),例如,硬盘、快闪驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未示出)可从源装置接收经编码视频数据并且例如经由网络发射将经编码视频数据提供到目的地装置。类似地,媒体生产设施(例如,光盘冲压设施)的计算装置可从源装置接收经编码视频数据并且产生含有经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体可理解为包含各种形式的一或多个计算机可读媒体。

在上述描述中,参考其具体实施例描述应用的方面,但是所属领域的技术人员将认识到本发明不限于此。因此,虽然已经在本文中详细地描述了应用的说明性实施例,但是应理解本发明概念可以其它方式不同地实施和采用,并且除了现有技术所限制的之外,所附权利要求书意图解释为包含此类变化。上文所描述的本发明的各种特征和方面可以单独或联合地使用。另外,实施例可以在本文中描述的那些环境和应用之外的任何数目的环境和应用中使用而不脱离本说明书的广泛的精神和范围。应将本说明书和图式相应地视为说明性的而非限制性的。出于说明的目的,方法是以特定次序描述的。应了解,在替代实施例中,方法可以与所描述的次序不同的次序执行。

在组件被描述为“经配置以”执行某些操作的情况下,可例如通过设计电子电路或其它硬件以执行所述操作、通过编程可编程电子电路(例如,微处理器或其它适合电子电路)以执行所述操作或其任何组合来实现此类配置。

结合本文中所公开的实施例描述的各种说明性逻辑块、模块、电路和算法步骤可实施为电子硬件、计算机软件、固件或其组合。为了清晰地说明硬件与软件的此可互换性,上文已大体就其功能性而言描述了各种说明性组件、块、模块、电路和步骤。此类功能性被实施为硬件还是软件取决于特定应用和施加于整个系统上的设计约束。所属领域的技术人员可针对每一特定应用以不同方式来实施所描述的功能性,但是此类实施决策不应被解译为会引起脱离本发明的范围。

本文中所描述的技术也可以在电子硬件、计算机软件、固件或其任何组合中实施。此类技术可实施于多种装置中的任一个中,例如,通用计算机、无线通信装置手持机或集成电路装置,其具有包含在无线通信装置手持机和其它装置中的应用的多种用途。被描述为模块或组件的任何特征可一起实施于集成逻辑装置中或单独地实施为离散但可互操作的逻辑装置。如果在软件中实施,那么所述技术可至少部分地由包括程序代码的计算机可读数据存储媒体来实现,所述程序代码包含在被执行时执行上文所描述的方法中的一或多个的指令。计算机可读数据存储媒体可形成计算机程序产品的一部分,所述计算机程序产品可包含封装材料。计算机可读媒体可包括存储器或数据存储媒体,例如,随机存取存储器(ram)(例如,同步动态随机存取存储器(sdram))、只读存储器(rom)、非易失性随机存取存储器(nvram)、电可擦除可编程只读存储器(eeprom)、快闪存储器、磁性或光学数据存储媒体等等。另外或替代地,所述技术可至少部分地由计算机可读通信媒体来实现,所述计算机可读通信媒体以指令或数据结构的形式运载或传送程序代码且可由计算机存取、读取和/或执行,例如,传播的信号或波。

程序代码可由处理器执行,所述处理器可包含一或多个处理器,例如,一或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程逻辑阵列(fpga)或其它等效集成或离散逻辑电路。此类处理器可经配置以执行本发明中所描述的技术中的任一个。通用处理器可以是微处理器,但是在替代方案中,处理器可以是任何常规的处理器、控制器、微控制器或状态机。处理器还可以实施为计算装置的组合,例如,dsp与微处理器的组合、多个微处理器的组合、一或多个微处理器与dsp核心结合,或任何其它此类配置。相应地,如本文中所使用的术语“处理器”可指代前述结构中的任一个、前述结构的任何组合,或适合于实施本文中所描述的技术的任何其它结构或设备。另外,在一些方面中,可将本文中所描述的功能性提供于经配置用于编码和解码的专用软件模块或硬件模块内或并入组合的视频编码器-解码器(编解码器)中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1