CN109564686B - 在视频分析中更新用于对象追踪器的运动模型的方法和系统 - Google Patents

在视频分析中更新用于对象追踪器的运动模型的方法和系统 Download PDF

Info

Publication number
CN109564686B
CN109564686B CN201780047379.3A CN201780047379A CN109564686B CN 109564686 B CN109564686 B CN 109564686B CN 201780047379 A CN201780047379 A CN 201780047379A CN 109564686 B CN109564686 B CN 109564686B
Authority
CN
China
Prior art keywords
blob
tracker
video frame
motion model
merged
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
Application number
CN201780047379.3A
Other languages
English (en)
Other versions
CN109564686A (zh
Inventor
高经纶
陈颖
王雷
毕宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN109564686A publication Critical patent/CN109564686A/zh
Application granted granted Critical
Publication of CN109564686B publication Critical patent/CN109564686B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30232Surveillance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)
  • Closed-Circuit Television Systems (AREA)

Abstract

提供了用于处理视频数据的技术和系统。举例来说,提供技术和系统以用于执行情境感知对象或斑点追踪器更新(例如,通过更新斑点追踪器的运动模型)。在一些情况下,为了执行情境感知斑点追踪器更新,斑点追踪器与第一斑点相关联。所述第一斑点包含一或多个视频帧中的一或多个前景对象的至少一部分的像素。可以检测到在当前视频帧中所述第一斑点与第二斑点的分离,并且响应于检测到所述第一斑点与所述第二斑点的所述分离重新设置所述斑点追踪器的运动模型。在一些情况下,与合并斑点相关联的斑点追踪器的运动模型经过更新以包含在下一视频帧中的所述斑点追踪器的预测位置。通过响应于斑点追踪器与所述合并斑点相关联使用所述斑点追踪器的先前预测位置作为所述下一视频帧中的所述斑点追踪器的所述预测位置可以更新所述运动模型。可以使用来自先前视频帧的斑点的斑点位置确定所述斑点追踪器的所述先前预测位置。

Description

在视频分析中更新用于对象追踪器的运动模型的方法和系统
技术领域
本发明大体上涉及视频分析,且更确切地说涉及用于在视频分析中更新用于对象追踪器的运动模型的技术和系统。
背景技术
许多装置和系统允许通过产生场景的视频数据来俘获场景。举例来说,因特网协议相机(IP相机)是可用于监控或其它应用的一种类型的数码摄像机。不同于模拟闭路电视(CCTV)相机,IP相机可经由计算机网络和因特网发送和接收数据。来自这些装置和系统的视频数据可以被俘获且输出以用于处理和/或消耗。
视频分析(也被称作视频内容分析(VCA))是用于描述通过相机获取的视频序列的计算机化的处理和分析的通用术语。视频分析提供了多种任务,包含所关注的事件的立即检测、出于在长时间周期中提取事件的目的的预记录视频分析,以及许多其它任务。举例来说,使用视频分析,系统可以自动地分析来自一或多个相机的视频序列以检测一或多个事件。在一些情况下,视频分析可以发送用于某些所关注的事件的警示或警报。需要更高级的视频分析以提供有效的且稳固的视频序列处理。
发明内容
在一些实施例中,描述了用于对用于在视频分析中进行对象追踪的对象(或斑点)追踪器执行情境感知运动模型更新的技术和系统。斑点表示视频帧(也被称作“图片”)中的一或多个对象的至少一部分。在一些实例中,用于与一或多个斑点相关联的斑点追踪器的情境感知运动模型可基于相关联的一或多个斑点(空间情境)和/或当前帧中的追踪器的时间情境(例如,追踪器的寿命状态)自适应地更新。
在一些实例中,使用视频分析,对所俘获视频的一或多个帧应用背景减除并且针对每个帧产生前景-背景二元掩模(在本文中被称为前景掩模)。在一些情况下,可对帧的前景掩模应用形态操作以减少前景掩模中存在的噪声。可以(在背景减除之后或在形态操作之后)执行连接分量分析以从前景掩模中产生连接分量。随后可基于连接分量识别当前帧的斑点。斑点可提供例如用于斑点处理、对象追踪和其它视频分析功能。
在识别斑点之后,可执行数据关联以基于斑点与追踪器之间的成本使斑点与斑点追踪器匹配(或相关联)。一旦追踪器与一或多个斑点匹配,则相应地更新追踪器的运动模型。举例来说,追踪器的经过更新的信息传送当前帧的追踪信息而且还有下一帧中的追踪器的预测两者。鉴于追踪器的当前帧信息用于下一帧的追踪器的预测是对象追踪的成功的关键。本文中所描述的技术和系统可以执行斑点追踪器的情境感知运动模型更新。
根据维持一或多个斑点追踪器的一或多个运动模型的至少一个实例,提供一种方法,其包含使第一追踪器与第一斑点相关联。第一斑点包含一或多个视频帧中的一或多个前景对象的至少一部分的像素。所述方法进一步包含检测当前视频帧中的第一斑点与第二斑点的分离。所述方法进一步包含响应于检测到第一斑点与第二斑点的分离重新设置第一追踪器的运动模型。
在另一实例中,提供一种用于维持一或多个斑点追踪器的一或多个运动模型的设备,其包含经配置以存储视频数据的存储器以及处理器。处理器经配置以且可以使第一追踪器与第一斑点相关联。第一斑点包含一或多个视频帧中的一或多个前景对象的至少一部分的像素。处理器经配置以且可以检测当前视频帧中的第一斑点与第二斑点的分离。处理器经配置以且可以响应于检测到第一斑点与第二斑点的分离重新设置第一追踪器的运动模型。
在另一实例中,提供一种上面存储有指令的计算机可读媒体,所述指令在由处理器执行时执行一种方法,其包含:使第一追踪器与第一斑点相关联,第一斑点包含一或多个视频帧中的一或多个前景对象的至少一部分的像素;检测当前视频帧中的第一斑点与第二斑点的分离;以及响应于检测到第一斑点与第二斑点的分离重新设置第一追踪器的运动模型。
在另一实例中,提供一种设备,其包含用于使第一追踪器与第一斑点相关联的装置,第一斑点包含一或多个视频帧中的一或多个前景对象的至少一部分的像素。所述设备进一步包括用于检测当前视频帧中的第一斑点与第二斑点的分离的装置。所述设备进一步包括用于响应于检测到第一斑点与第二斑点的分离重新设置第一追踪器的运动模型的装置。
在一些方面中,重新设置运动模型包含从运动模型中排除一或多个先前针对第一追踪器确定的位置。
在一些方面中,上文所描述的方法、设备和计算机媒体进一步包括使用当前视频帧中的第一斑点的位置重新初始化第一追踪器的运动模型。
在一些方面中,第一斑点和第二斑被合并到先前视频帧中的合并斑点中,先前视频帧与当前视频帧相比在时间上更早地获得。
在一些方面中,第一追踪器和第二追踪器与先前视频帧中的合并斑点相关联。
在一些方面中,上文所描述的方法、设备和计算机媒体进一步包括:使第三追踪器与当前视频帧中的合并斑点相关联,合并斑点包含与第四斑点合并的第三斑点,并且其中多个追踪器与当前视频帧中的合并斑点相关联;以及更新第三追踪器的运动模型以包含下一视频帧中的第三追踪器的预测位置,其中通过响应于第三追踪器与合并斑点相关联使用第三追踪器的先前预测位置作为下一视频帧中的第三追踪器的预测位置来更新运动模型,使用先前视频帧中的斑点位置确定第三追踪器的先前预测位置。
在一些方面中,第三追踪器与先前视频帧中的第三斑点相关联,并且其中第四追踪器与先前视频帧中的第四斑点相关联。
在一些方面中,先前视频帧中的斑点位置包含在第三斑点与第四斑点合并之前先前视频帧中的第三斑点的位置。
在一些方面中,使用卡尔曼滤波器维持第一追踪器的运动模型。
在一些方面中,第一追踪器的运动模型包含第一追踪器的一或多个位置、第一追踪器的速度以及与第一追踪器相关联的一或多个斑点的一或多个大小。
根据维持一或多个斑点追踪器的一或多个运动模型的至少一个其它实例,提供一种方法,其包含使第一追踪器和第二追踪器与当前视频帧的合并斑点相关联。合并斑点包含当前视频帧中的一或多个前景对象的至少一部分的像素,并且包含与第二斑点合并的第一斑点。所述方法进一步包含更新第一追踪器的运动模型以在下一视频帧中包含第一追踪器的预测位置。通过响应于第一追踪器与合并斑点相关联使用第一追踪器的先前预测位置作为下一视频帧中的第一追踪器的预测位置更新运动模型。使用先前视频帧中的斑点位置确定第一追踪器的先前预测位置。
在另一实例中,提供一种设备,其包含经配置以存储视频数据的存储器以及处理器。处理器经配置以并且可以使第一追踪器和第二追踪器与当前视频帧的合并斑点相关联。合并斑点包含当前视频帧中的一或多个前景对象的至少一部分的像素,并且包含与第二斑点合并的第一斑点。处理器经配置以并且可以更新第一追踪器的运动模型以在下一视频帧中包含第一追踪器的预测位置。通过响应于第一追踪器与合并斑点相关联使用第一追踪器的先前预测位置作为下一视频帧中的第一追踪器的预测位置更新运动模型。使用先前视频帧中的斑点位置确定第一追踪器的先前预测位置。
在另一实例中,提供一种上面存储有指令的计算机可读媒体,所述指令在由处理器执行时执行一种方法,其包含:使第一追踪器和第二追踪器与当前视频帧的合并斑点相关联,合并斑点包含当前视频帧中的一或多个前景对象的至少一部分的像素,其中合并斑点包含与第二斑点合并的第一斑点;以及更新第一追踪器的运动模型以包含下一视频帧中的第一追踪器的预测位置,其中通过响应于第一追踪器与合并斑点相关联使用第一追踪器的先前预测位置作为下一视频帧中的第一追踪器的预测位置更新运动模型,使用先前视频帧中的斑点位置确定第一追踪器的先前预测位置。
在另一实例中,提供一种设备,其包含用于使第一追踪器和第二追踪器与当前视频帧的合并斑点相关联的装置。合并斑点包含当前视频帧中的一或多个前景对象的至少一部分的像素,并且包含与第二斑点合并的第一斑点。所述设备进一步包括用于更新第一追踪器的运动模型以在下一视频帧中包含第一追踪器的预测位置的装置。通过响应于第一追踪器与合并斑点相关联使用第一追踪器的先前预测位置作为下一视频帧中的第一追踪器的预测位置更新运动模型。使用先前视频帧中的斑点位置确定第一追踪器的先前预测位置。
在一些方面中,第一追踪器与先前视频帧中的第一斑点相关联,并且第二追踪器与先前视频帧中的第二斑点相关联。
在一些方面中,先前视频帧中的斑点位置包含在第一斑点与第二斑点合并之前先前视频帧中的第一斑点的位置。
在一些方面中,上文所描述的方法、设备和计算机可读媒体进一步包括:检测后续视频帧中的合并斑点的分离,所述分离包含第一斑点从合并斑点中分离,其中后续视频帧在与当前视频帧相比稍后的时间获得;以及响应于检测到第一斑点从合并斑点中分离重新设置第一追踪器的运动模型。
在一些方面中,重新设置运动模型包含从运动模型中排除一或多个先前针对第一追踪器确定的位置。
在一些方面中,上文所描述的方法、设备和计算机可读媒体进一步包括使用后续视频帧中的斑点的位置重新初始化第一追踪器的运动模型。在此类方面中,第一追踪器与后续视频帧中的斑点相关联。
在一些方面中,使用卡尔曼滤波器维持第一追踪器的运动模型。
在一些方面中,运动模型包含第一追踪器的一或多个位置、第一追踪器的速度,以及与第一追踪器相关联的一或多个斑点的一或多个大小。
本发明内容并非意图识别所主张的标的物的关键特征或基本特征,也并非意图单独用于确定所主张的标的物的范围。标的物应参考此专利的整个说明书的适当部分、任何或所有图式以及每一权利要求来理解。
在参考以下说明书、权利要求书以及附图之后,前述内容连同其它特征和实施例将变得更显而易见。
附图说明
下文参考以下图式详细描述本发明的说明性实施例:
图1是根据一些实施例说明包含视频源和视频分析系统的系统的实例的框图。
图2是根据一些实施例的视频分析系统处理视频帧的实例。
图3是根据一些实施例说明斑点检测引擎的实例的框图。
图4是根据一些实施例说明对象追踪引擎的实例的框图。
图5是根据一些实施例说明与斑点相关联的多个斑点追踪器的实例。
图6是根据一些实施例说明与多个斑点相关联的斑点追踪器的实例的图式。
图7A是在其中追踪各种对象的环境的视频帧的图示。
图7B是具有被追踪的各种对象的另一视频帧的图示。
图7C是具有被追踪的各种对象的另一视频帧的图示。
图8A是在其中追踪各种对象的环境的视频帧的图示。
图8B是具有被追踪的各种对象的另一视频帧的图示。
图8C是具有被追踪的各种对象的另一视频帧的图示。
图9A是在其中追踪各种对象的环境的视频帧的图示。
图9B是具有被追踪的各种对象的另一视频帧的图示。
图9C是具有被追踪的各种对象的另一视频帧的图示。
图10A是在其中追踪各种对象的环境的视频帧的图示。
图10B是具有被追踪的各种对象的另一视频帧的图示。
图10C是具有被追踪的各种对象的另一视频帧的图示。
图11是根据一些实施例说明维持一或多个斑点追踪器的一或多个运动模型的过程的实例的流程图。
图12是根据一些实施例说明维持一或多个斑点追踪器的一或多个运动模型的过程的另一实例的流程图。
具体实施方式
下文提供了本发明的某些方面和实施例。如对于所属领域的技术人员来说将显而易见的是,这些方面和实施例中的一些可独立地应用且它们中的一些可组合应用。在以下描述中,出于解释的目的,阐述特定细节以便提供对本发明的实施例的透彻理解。然而,将显而易见的是,可在没有这些特定细节的情况下实践各种实施例。图式和描述并不意图是限制性的。
以下描述仅提供示例性实施例,且并不意图限制本发明的范围、适用性或配置。实际上,示例性实施例的以下描述将为所属领域的技术人员提供用于实施示例性实施例的启发性描述。应理解,在不脱离如在所附权利要求书中所阐述的本发明的精神和范围的情况下,可对元件的功能和布置进行各种改变。
在以下描述中给出特定细节以提供对实施例的透彻理解。然而,所属领域的技术人员应理解,所述实施例可以在没有这些特定细节的情况下加以实践。举例来说,电路、系统、网络、过程和其它组件可以框图形式示出为组件以免以不必要的细节混淆实施例。在其它例子中,可以在没有不必要的细节的情况下示出众所周知的电路、过程、算法、结构以及技术以免混淆实施例。
并且,应注意,个体实施例可被描述为经描绘为流程图、作业图、数据流图、结构图或框图的过程。虽然流程图可将操作描述为依次过程,但是许多操作可并行或同时执行。另外,可以重新安排操作的次序。过程在其操作完成时终止,但是可具有不包含在图中的额外步骤。过程可以对应于方法、函数、流程、子例程、子程序等。当过程对应于函数时,过程的终止可对应于函数返回到调用函数或主函数。
术语“计算机可读媒体”包含但不限于,便携式或非便携式存储装置、光学存储装置,以及能够存储、含有或携带指令和/或数据的各种其它媒体。计算机可读媒体可包含非暂时性媒体,在非暂时性媒体中可存储数据,且非暂时性媒体并不包含无线地或在有线连接上传播的载波和/或暂时性电子信号。非暂时性媒体的实例可包含但不限于,磁盘或磁带、光学存储媒体,例如光盘(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)。在一些实例中,用于当前帧中的斑点追踪器的限界框可以是与斑点追踪器相关联的先前帧中的先前斑点的限界框。举例来说,当斑点追踪器在先前帧中更新时(在与先前帧中的先前斑点相关联之后),斑点追踪器的经过更新的信息可以包含用于先前帧的追踪信息并且还包含在下一帧(其在此实例中是当前帧)中的斑点追踪器的位置的预测。当前帧中的斑点追踪器的位置的预测可以基于先前帧中的斑点的位置。可以为斑点追踪器维持历史或运动模型,包含斑点追踪器的各种状态的历史、速度的历史,以及位置的历史、连续帧的历史,如下文更详细地描述。
如下文更详细地描述,斑点追踪器的运动模型可以确定和维持用于每个帧的斑点追踪器的两个位置(例如,包含当前帧中的预测位置的第一位置以及包含追踪器在当前帧中与其相关联的斑点的当前帧中的位置的第二位置)。同样如下文更详细地描述,斑点追踪器的速度可以包含连续帧之间的斑点追踪器的位移。
使用斑点检测引擎104和对象追踪引擎106,视频分析系统100可以为视频序列的每个帧或图片执行斑点产生和检测。举例来说,斑点检测引擎104可以为帧执行背景减除,并且可以随后在帧中检测前景像素。前景斑点是使用形态操作和空间分析从前景像素中产生的。另外,来自先前帧的斑点追踪器需要与当前帧中的前景斑点相关联,并且还需要更新。追踪器与斑点的数据相关联和追踪器更新两者都可以依赖于成本函数计算。举例来说,当斑点是从当前输入视频帧中检测到的时,根据成本计算来自先前帧的斑点追踪器可以与检测到的斑点相关联。追踪器随后根据数据相关联更新,包含更新追踪器的状态和位置使得可以实现当前帧中的对象的追踪。相对于图3到4描述涉及斑点检测引擎104和对象追踪引擎106的其它细节。
图2是跨越时间t视频分析系统(例如,视频分析系统100)处理视频帧的实例。如图2中所示,视频帧A202A通过斑点检测引擎204A被接收。斑点检测引擎204A为当前帧A 202A产生前景斑点208A。在执行斑点检测之后,前景斑点208A可用于通过对象追踪引擎206A的时间追踪。在斑点追踪器与斑点之间的成本(例如,包含距离、经加权的距离的成本,或其它成本)可以通过对象追踪引擎206A计算。对象追踪引擎206A可以执行数据相关联以使用计算出的成本(例如,使用成本矩阵或其它合适的相关联技术)使斑点追踪器(例如,基于先前帧产生或更新的斑点追踪器或新近产生的斑点追踪器)与斑点208A相关联或匹配。斑点追踪器可以根据数据相关联更新,包含就追踪器的位置而言,以产生经过更新的斑点追踪器310A。举例来说,可以计算和更新用于视频帧A202A的斑点追踪器的状态和位置。也可以从当前视频帧A 202A中预测下一视频帧N202N中的斑点追踪器的位置。举例来说,用于下一视频帧N 202N的斑点追踪器的预测位置可以包含当前视频帧A 202A中的斑点追踪器(以及其相关联的斑点)的位置。一旦产生经过更新的斑点追踪器310A,则可以执行当前帧A 202A的斑点的追踪。
当接收到下一视频帧N 202N时,斑点检测引擎204N为帧N 202N产生前景斑点208N。对象追踪引擎206N可以随后执行斑点208N的时间追踪。举例来说,对象追踪引擎206N获得基于之前视频帧A 202A更新的斑点追踪器310A。对象追踪引擎206N可以随后计算成本并且可以使用新近计算的成本使斑点追踪器310A与斑点208N相关联。斑点追踪器310A可以根据数据相关联更新以产生经过更新的斑点追踪器310N。
图3是说明斑点检测引擎104的实例的框图。斑点检测用于分段来自场景中的全局背景的移动对象。斑点检测引擎104包含接收视频帧302的背景减除引擎312。背景减除引擎312可以执行背景减除以检测视频帧302中的一或多个中的前景像素。举例来说,背景减除可用于分段来自视频序列中的全局背景的移动对象并且产生前景-背景二元掩模(在本文中被称作前景掩模)。在一些实例中,背景减除可以在当前帧或图片与包含场景的背景部分(例如,场景的静态或大部分静态的部分)的背景模型之间执行减除。基于背景减除的结果,形态引擎314和连接分量分析引擎316可以执行前景像素处理以出于追踪目的将前景像素分组成前景斑点。举例来说,在背景减除之后,形态操作可应用于移除噪声像素以及使前景掩模光滑。连接分量分析可以随后被应用于产生斑点。可以随后执行斑点处理,其可以包含进一步滤出一些斑点并且将一些斑点合并在一起以提供限界框作为用于追踪的输入。
背景减除引擎312可以使用任何合适的背景减除技术(也被称作背景提取)对场景的背景(例如,在视频序列中俘获)进行建模。由背景减除引擎312使用的背景减除方法的一个实例包含基于不被视为属于任何移动区的先前帧中的相对静态的像素将场景的背景建模为统计模型。举例来说,背景减除引擎312可使用高斯分布模型用于每个像素位置,具有平均值和方差的参数以对视频序列的帧中的每个像素位置进行建模。在特定像素位置处的先前像素的所有值用于计算像素位置的目标高斯模型的平均值和方差。当在新视频帧中的给定位置处的像素经处理时,其值将通过此像素位置的当前高斯分布来评估。通过比较指定高斯模型的像素值与平均值之间的差而完成将像素分类为前景像素或背景像素。在一个说明性实例中,如果像素值和高斯平均值的距离小于方差的3倍,那么像素被分类为背景像素。否则,在此说明性实例中,像素被分类为前景像素。在相同时间,用于像素位置的高斯模型将通过考虑当前像素值进行更新。
背景减除引擎312也可以使用高斯的混合(也被称作高斯混合模型(GMM))执行背景减除。GMM将每个像素建模为高斯的混合且使用在线学习算法来更新模型。用平均值、标准偏差(或如果像素具有多个通道则为协方差矩阵)和权重来表示每个高斯模型。权重表示高斯在过去历史中发生的概率。
Figure BDA0001962778520000111
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也可以获得从先前视频帧(例如,视频帧A 202A)更新的斑点追踪器410A。成本函数可以随后用于计算斑点追踪器410A与斑点408之间的成本。任何合适的成本函数可用于计算成本。在一些实例中,成本确定引擎412可以通过计算追踪器(例如,追踪器的限界框)的质心与前景斑点的限界框的质心之间的欧几里得距离测量斑点追踪器与斑点之间的成本。在使用2D视频序列的一个说明性实例中,此类型的成本函数被如下计算为:
Figure BDA0001962778520000141
项(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相机)输出到服务器或其它系统存储装置。元数据可以随后经分析用于事件检测(例如,通过规则解译器)。未被提升为正常追踪器的追踪器可以被移除(或消灭),在这之后所述追踪器可以被视为失效的。
如上文所描述,当前帧的前景斑点可从斑点检测的处理中产生。在斑点检测之后,前景斑点可用于时间追踪。举例来说,可以计算斑点追踪器与斑点之间的成本(例如,距离),并且可以使用计算出的成本(例如,使用成本矩阵)执行数据相关联以使追踪器与斑点相关联。斑点追踪器可以随后根据数据相关联更新,在此情况下可以计算经过更新的状态和位置并且可以实现当前帧的追踪。如先前所描述,简单位置更新策略的实例包含当斑点追踪器与一个斑点相关联时直接地使用斑点的位置作为斑点追踪器的位置,其可用于更新或校正追踪器的运动模型(例如,在卡尔曼滤波器中)。如果追踪器并不与当前帧中的任何斑点相关联,那么简单位置更新策略可以从最后一个帧中识别追踪器的预测位置作为其在当前帧中的位置(意味着运动模型并未得到校正并且预测通过其最后一个模型传播)。
在一些情况下,用于对象追踪的简单追踪器位置更新方式可能造成各种问题。举例来说,在现实世界中,对象可能相交或分组在一起,并且在此类情形下,斑点检测引擎104可检测含有多于一个关注对象(例如,所追踪的多个对象)的一个斑点(合并斑点)。举例来说,如图5A中所示,两个追踪器(追踪器T1 502和追踪器T2 504)与一个斑点(斑点B1 506)相关联。由于斑点B1 506是两个被追踪对象(例如,追踪器T1 502和T2 504在一或多个先前帧中与其相关联的对象)的联合,所以追踪器T1 502和T2 504都与单个检测到的斑点B1506相关联。图7A和7B示出在其中追踪包含个人702和个人704的两个对象的环境的视频帧700A和700B的实例。斑点检测引擎可以检测用于两个个人702和704的斑点。在帧700A中,使用具有标识符9(ID 9)的斑点追踪器追踪个人702并且使用具有ID 10的斑点追踪器追踪个人704。如帧700B中所示,当个人702更接近个人704时,用于个人702和704的限界框变为合并限界框706(对应于合并斑点,例如,斑点B1 506)。通过具有ID 10的单个斑点追踪器追踪合并限界框706。在此类场景中,具有ID 9和ID 10的两个限界框与针对个人702和704产生的单个合并斑点相关联(在图7B中示出为限界框706)。因为斑点B1 506是用于两个被追踪对象(例如,个人702和个人704)的斑点的联合,所以斑点B1 506的大小和位置可能并不能够正确地表示被追踪对象的大小和位置。在一些情况下,如果合并斑点用于更新追踪器T1502和T2 504两者,那么可能产生问题。举例来说,合并斑点大小和位置可能无法正确地反映组成合并斑点的个体对象的大小和位置。因此,如果追踪器T1 502和T2 504中的每一个直接地使用相关联的合并斑点用于它们的相应的运动模型的运动校正和预测(例如,在卡尔曼滤波器中),那么追踪器T1 502和T2 504中的每一个可能无法在后续帧中追踪它们的相应的相关联的对象(例如,在合并之前用于个人702和个人704的斑点)。
由简单追踪器位置更新方式的使用产生的另一问题是当在一个斑点内传送的对象的群组在某一时间从斑点中分离时。举例来说,图6示出了分离情况的实例,其中先前包含于合并斑点中的斑点B1 604和斑点B2 606从合并斑点中分离。当发生分离时,追踪器T1602可以通过数据相关联引擎与斑点B1 604和B2 606两者相关联。图7B和7C示出其中当个人702和个人704走过环境时他们开始彼此分开的视频帧700B和700C的实例。当个人702与个人704分开时,用于两个个人702和704的斑点可以从合并斑点中分离,如帧700C中所示。一旦发生分离,则使用具有ID 9的斑点追踪器再次追踪个人702并且使用具有ID 10的斑点追踪器再次追踪个人704,如帧700C中所示。当发生分离时,分离的对象可能开始具有不同轨迹。另外,当发生分离时斑点大小可显著地改变。给定帧中的斑点的轨迹和大小的此类改变可能并不有利于更新斑点的原始运动模型(例如,用于斑点的通过原始卡尔曼滤波器传送的),并且因此在斑点的运动模型中的渐进改变可能无法在后续帧中跟随对象(例如,此类改变可能使卡尔曼滤波器的运动模型失败)。
由于简单位置更新方式的使用可以产生的另一问题是指派给斑点追踪器的标识符(ID)中的切换(被称作ID切换)。举例来说,当发生分离时,原始运动模型的混淆(例如,由于分离斑点的轨迹和大小的改变)可能造成斑点-追踪器相关联中的误差,这可以引起ID切换。当两个或大于两个被追踪对象具有视频序列中的它们的追踪ID彼此互换时发生ID切换。举例来说,图8A、图8B和图8C说明在其中追踪包含个人802和个人804的两个对象的环境的视频帧800A、800B和800C。斑点检测引擎可以检测用于两个个人802和804的斑点。在帧800A中,使用具有标识符9(ID 9)的斑点追踪器追踪个人802并且使用具有ID 10的斑点追踪器追踪个人804。如帧800B中所示,当个人802更接近个人804时用于个人802和804的限界框变为合并限界框806(对应于合并斑点)。通过具有ID 10的单个斑点追踪器追踪合并限界框806。当个人802与个人804分开时,用于两个个人802和804的斑点可以从合并斑点中分离,如帧800C中所示。一旦发生分离,则追踪个人802和804的斑点追踪器切换,其中具有ID9的斑点追踪器现在追踪个人804并且具有ID 10的斑点追踪器追踪个人802。虽然ID切换可以在许多场景中发生,但是它更有可能在被追踪对象合并在一起且在某些帧之后分开时发生。
本文中描述了用于针对斑点追踪器执行情境感知运动模型更新的系统和方法。在一些实例中,与一或多个斑点相关联的斑点追踪器的情境感知运动模型可以基于相关联的一或多个斑点的状态和/或基于斑点追踪器的时间状态适应性地更新。如先前所描述,追踪器的经过更新的位置是用于在视频序列中匹配斑点和追踪器的关键。情境感知运动模型更新系统和方法可用于预测下一帧中的斑点追踪器位置,给出在当前帧中的其相关联的斑点和其它时间信息,例如,斑点追踪器的寿命状态(例如,新的、丢失的、失效的或其它合适的寿命状态)。相应地,本文中所描述的追踪器运动模型更新系统和方法考虑与斑点追踪器相关联的斑点和斑点追踪器的时间状态两者。所提出的技术可独立地或联合地工作以提供更稳固同时精确的追踪器位置更新。在一些实例中,对象追踪引擎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帧每秒,或其它合适的帧率),所以在速度计算中可能并不需要时间变量。在一些情况下,可使用时间常量(根据时刻帧率)和/或可使用时间戳。如上文所指出,卡尔曼滤波器在一些实例中用于基于当前帧中的追踪器的当前观察到的位置预测追踪器的下一位置(在下一帧中)。在一些情况下,可以使用卡尔曼滤波器更新追踪器(以及其相关联的斑点/对象)的速度。举例来说,追踪器的中心的(x,y)坐标被用作待预测的参数。在一些情况下,未预测追踪器(以及相关联的斑点/对象)的宽度和高度,在此情况下从与先前帧中的追踪器匹配的斑点的信息中复制宽度和高度。
对象追踪引擎106可以相对于在当前帧中与斑点追踪器相关联的斑点基于斑点追踪器的相关联状态更新斑点追踪器的情境感知运动模型。举例来说,斑点追踪器的相关联状态可以包含在数据相关联期间追踪器与当前帧中的单个斑点相关联(或匹配)、追踪器不与当前帧中的任何斑点相关联、包含追踪器的多个追踪器在当前帧中与单个斑点相关联(斑点合并场景)、追踪器与当前帧中的多个斑点相关联(斑点分离场景),或其它合适的相关联状态。
在一个斑点追踪器在当前帧的数据相关联期间与一个斑点匹配的情况下,斑点追踪器可以直接地使用其相关联的斑点来更新用于当前帧的其运动模型。举例来说,当前帧中的斑点追踪器的位置可以从预测位置更新到当前帧中的斑点的位置,其随后可以被指派为追踪器的运动模型中的斑点追踪器的实际位置。在一些情况下,当前帧中的斑点追踪器的实际位置可以被用作下一帧中的斑点追踪器的预测位置。在一些实例中,可以通过卡尔曼滤波器维持运动模型,并且斑点的位置可以用于更新卡尔曼滤波器,并且随后预测下一帧中的追踪器的位置。在一些实例中,斑点的位置和大小可以用于更新卡尔曼滤波器以及预测下一帧中的追踪器的位置。举例来说,如先前所描述,斑点的大小可以被用作关于下一帧中的斑点追踪器与斑点之间的所确定的成本的权重。在一个说明性实例中,下一帧中的斑点追踪器与斑点之间的成本可以通过比率值加权(例如,通过用比率值乘以所确定的距离)。比率值可以包含斑点追踪器限界框的面积与斑点限界框的面积之间的比率。
在一些情况下,斑点追踪器并不与当前帧中的任何检测到的斑点匹配。在此类情形下,追踪器可以将原始运动模型保持在当前帧之前。举例来说,对象追踪引擎106可以不对斑点追踪器的运动模型进行校正,并且可以使用原始运动模型计算用于下一帧的斑点追踪器的预测位置。不对运动模型进行校正是因为在用于斑点追踪器的当前帧中不存在相关联的斑点。因此当前帧中的斑点追踪器的预测位置(包含先前帧中的追踪器的相关联的斑点的位置)可以得到维持并且不更新到实际位置,在此情况下当前帧中的斑点追踪器的预测位置可以被用作用于下一帧的斑点追踪器的预测位置。
当对象追踪引擎106检测到多个斑点追踪器与当前帧中的单个斑点相关联并且需要更新斑点追踪器的运动模型时,它可以考虑时间信息,例如,追踪器匹配的状态。举例来说,在斑点合并场景中(如图5中所说明),被认为是合并的斑点追踪器(基于来自一或多个先前帧的其相关联的斑点与一或多个其它斑点合并)可能并不直接地利用当前帧中的其相关联的斑点来更新用于当前帧的其运动模型。替代地,对象追踪引擎106可以在发生合并之前通过运动模型的先前所获得的参数(例如,卡尔曼滤波器的参数)更新斑点追踪器的运动模型。举例来说,替代于使用合并斑点来更新斑点追踪器的位置,当前帧中的斑点追踪器的预测位置(先前帧中的相关联的斑点的位置)可以用作当前帧中的斑点追踪器的实际位置。通过先前所获得的参数更新斑点追踪器的运动模型的一个原因是相关联的斑点是多个被追踪对象的联合(合并斑点),并且因此合并斑点的位置和大小可能无法表示个体追踪器并且可以在基于卡尔曼滤波器的运动预测(或其它形式的运动预测)中造成误差。在合并场景的一个说明性实例中,当在当前帧中的两个斑点合并到合并斑点中时,引起先前与两个斑点相关联的两个追踪器与合并斑点相关联,斑点追踪器的预测位置(来自先前帧中的斑点位置)可以被视为用于当前帧的斑点追踪器的实际位置。当前帧中的斑点追踪器的实际位置(其在此场景中是预测位置)可以随后被用作下一帧中的斑点追踪器的预测位置。
当追踪器在当前帧中分离时(如图6中所示),组成引起合并斑点的被追踪对象的群组的原始个体斑点(例如,在图7A中针对个人702和704产生的斑点)可能并不适合在与原始斑点相关联的追踪器的运动模型中使用。在发生分离并且斑点追踪器与两个或大于两个斑点相关联的情况下,可以重新设置斑点追踪器的运动模型的参数。在一些情况下,重新设置运动模型的参数包含从运动模型中排除先前针对斑点追踪器确定的位置。在一些情况下,重新设置运动模型的参数还包含排除用于计算运动模型的所有先前轨迹以及斑点大小。在重新设置参数之后,与斑点追踪器匹配的新近相关联的斑点可用于起始斑点追踪器的新运动模型,包含新位置,并且在一些情况下包含新轨迹和大小信息。
在通过卡尔曼滤波器维持对象追踪器的运动模型的实例中,卡尔曼滤波器的其它参数也可以替代于是常数自适应到时间信息。举例来说,用于已经活跃达某一时间量(例如,超过阈值数量的帧,例如,10、20、30、45、60,或其它合适的数量)的斑点追踪器的卡尔曼滤波器中的更新速率可以被设置成与新近创建的追踪器的更新速率相比更大的速率。卡尔曼滤波器中的更新速率与卡尔曼滤波器的更新周期相关。举例来说,如果卡尔曼滤波器更新的周期较小,那么当前位置的改变也将较小。类似地,如果周期较大,那么当前位置的改变也将较大。更新速率可以被视为卡尔曼增益的因素。更新参数是当卡尔曼滤波器初始化时可以初始化的参数。增大更新速率使得有可能快速地跟随斑点追踪器的轨迹。在一些情况下,更新速率可以稍后减小使得更新变得更加平滑的。此改变也是通过考虑追踪器的时间状态情境感知的。
在一些实例中,情境感知运动模型更新方法可以包含用于当前帧的每个斑点追踪器的2步骤实施方案。举例来说,第一步骤可以包含获得斑点追踪器的时间状态信息以及其相关联的斑点信息(例如,斑点的大小、斑点的位置,或其它信息)。在一些实例中,时间状态信息可以包含追踪器已经在其当前状态中的时间(例如,追踪器已经在此状态下的状态和时间)。在针对当前帧执行数据相关联之后可以获取用于所有斑点追踪器的时间和相关联的斑点信息。第二步骤可以包含更新斑点追踪器的运动模型。
可以如上文所描述的执行第二步骤的运动模型更新。举例来说,对于具有与斑点1对1匹配的追踪器(1个追踪器,1个斑点),可以通过直接地使用匹配的(或相关联的)斑点更新运动模型。对于在当前帧中不具有匹配的斑点的追踪器,运动模型并不在当前帧中更新并且预测可以通过先前模型传播。
对于具有多对1匹配的追踪器(多个追踪器对1个斑点),其考虑合并情况,追踪器可以在没有运动模型更新(例如,相关联的合并斑点并不用于更新运动模型)的情况下更新。在一些情况下,运动模型(例如,卡尔曼滤波器)中的大小信息并不改变并且运动预测传播而不使用相关联的斑点(合并斑点)的信息。在一些实例中,相关联的斑点(合并斑点)可用于提供追踪器更新的约束条件。举例来说,有时追踪器的预测位置可以在检测到的斑点之外,因为模型不再通过测量值更新。约束条件可用于将预测位置限制到总是在检测到的斑点区域中。
对于分离的追踪器,可以重新设置对应的斑点追踪器的运动模型(例如,在卡尔曼滤波器中)。举例来说,可以排除分离斑点追踪器的原始运动模型并且与斑点追踪器相关联的最新斑点(例如,在分离之后与斑点追踪器相关联的一或多个斑点)可用于起始斑点追踪器的新运动模型(例如,用于斑点追踪器的卡尔曼滤波器)。
本文中所描述的情境感知运动模型更新方法和系统可以在端对端IP相机系统中评估,在此情况下斑点/对象检测速率和斑点/对象追踪速率是与实际情况进行比较的两个重要数值。另外,应注意所提出的方法可以通过用更稳固的机制更新运动模型来解决ID切换的问题。如下在表1中示出了一个说明性测试集的结果。
Figure BDA0001962778520000221
表1
如表1中所示,追踪速率和检测速率都得到改进。另外,ID切换已经显著减小。
为了强调所提出的方法的性能,在图7A到7C、8A到8C、9A到9C和10A到10C中说明在ID切换情况中提出的方法与简单方法之间的比较。举例来说,图7A到图7C说明执行情境感知追踪器更新方法的视频帧700A-700C。视频帧700A-700C俘获在其中追踪个人702和个人704的环境。在帧700A中,使用具有标识符9(ID 9)的斑点追踪器追踪个人702并且使用具有ID 10的斑点追踪器追踪个人704。如帧700B中所示,当个人702接近个人704时,个人702和704的限界框变为合并限界框706(对应于合并斑点)。通过具有ID 10的单个斑点追踪器追踪合并限界框706。当发生合并时,具有ID 9和ID 10的两个限界框与针对个人702和704产生的单个合并斑点(示出为限界框706)相关联。
在图7C中所示的帧700C中,当个人702和个人704走过环境时他们开始彼此分开。当个人702与个人704分开时,用于两个个人702和704的斑点可以从合并斑点中分离。一旦发生分离,则使用具有ID 9的斑点追踪器再次追踪个人702并且使用具有ID 10的斑点追踪器再次追踪个人704,如帧700C中所示。使用所描述的情境感知运动模型更新,个人702继续被校正斑点追踪器(具有ID 9)追踪并且个人704继续被具有ID 9的斑点追踪器追踪。
图8A到图8C说明俘获与在视频帧700A-700C中所俘获的场景类似的场景的帧800A-800C,但是其中使用简单位置更新策略。举例来说,在视频帧800A中,使用具有ID 9的斑点追踪器追踪个人802并且使用具有ID 10的斑点追踪器追踪个人804。用于个人802和804的限界框在视频帧800B中变为合并限界框806。通过具有ID 10的单个斑点追踪器追踪合并限界框806。当个人802和个人804彼此分开时,用于两个个人802和804的斑点可以从合并斑点中分离。如视频帧800C中所示当发生分离时,现在使用具有ID 10的斑点追踪器追踪个人802并且现在使用具有ID 9的斑点追踪器追踪个人804。可以看出,简单位置更新策略造成ID切换的发生,引起追踪个人802和804的斑点追踪器切换。
图9A到图9C说明其中执行情境感知追踪器更新方法的视频帧900A-900C的另一实例。视频帧900A-900C俘获在其中追踪汽车902和汽车904的环境。在帧900A中,使用具有ID53的斑点追踪器追踪汽车902并且使用具有ID 55的斑点追踪器追踪汽车904。当汽车902和904接近彼此且交叉路径时(如帧900B中所示),汽车902和904的限界框变为合并限界框906(对应于合并斑点)。通过具有ID 55的单个斑点追踪器追踪合并限界框906。当发生合并时,具有ID 53和ID 55的两个限界框与针对汽车902和904产生的单个合并斑点(示出为限界框906)相关联。
图9C的帧900C示出了当汽车902和汽车904沿道路向下行进时彼此分开的汽车902和汽车904。当汽车902与汽车904分开时,两个汽车902和904的斑点可以从合并斑点中分离。在分离之后,使用具有ID 53的斑点追踪器再次追踪汽车902并且使用具有ID 55的斑点追踪器再次追踪汽车904,如帧900C中所示。所描述的情境感知运动模型更新因此防止ID切换的发生,使得汽车902继续被具有ID 53的斑点追踪器追踪并且汽车904继续被具有ID 55的斑点追踪器追踪。
图10A到图10C说明俘获与在视频帧900A-900C中所俘获的场景类似的场景的帧1000A-1000C。然而,简单位置更新策略用于更新帧1000A-1000C中的追踪器的位置。举例来说,在视频帧1000A中,使用具有ID 54的斑点追踪器追踪汽车1002并且使用具有ID 56的斑点追踪器追踪汽车1004。用于汽车1002和1004的限界框在视频帧1000B中变为合并限界框1006。通过具有ID 56的单个斑点追踪器追踪合并限界框1006。当汽车1002和汽车1004彼此分开时,用于两辆汽车1002和1004的斑点可以从合并斑点中分离。如视频帧1000C中所示当发生分离时,现在使用具有ID 56的斑点追踪器追踪汽车1002并且现在使用具有ID 54的斑点追踪器追踪汽车1004。可以看出,当使用简单位置更新策略时ID切换发生,引起追踪汽车1002和1004的斑点追踪器切换。
引起合并和分离场景的对象的移动可以共用(例如,在视频监控使用情况中)。可以从实例中看出所提出的方法在当对象合并和分离时保持追踪ID对应于对象中是稳固的。
图11说明使用本文中所描述的情境自适应或情境感知追踪器更新技术维持一或多个斑点追踪器的一或多个运动模型的过程1100的实例。在1102处,过程1100包含使第一追踪器和第二追踪器与当前视频帧的合并斑点相关联。合并斑点包含在当前视频帧中的一或多个前景对象的至少一部分的像素。合并斑点包含与第二斑点合并的第一斑点。
在1104处,过程1100包含更新第一追踪器的运动模型以在下一视频帧中包含第一追踪器的预测位置。通过响应于第一追踪器与合并斑点相关联使用第一追踪器的先前预测位置作为下一视频帧中的第一追踪器的预测位置更新运动模型。使用先前视频帧中的斑点位置确定第一追踪器的先前预测位置。在一些实例中,第一追踪器与先前视频帧中的第一斑点相关联,并且第二追踪器与先前视频帧中的第二斑点相关联。也就是说,在当前帧之前(在先前帧中),第一追踪器与第一斑点相关联或匹配并且第二追踪器与第二斑点相关联或匹配。相关联可以使用上文所描述的技术由数据相关联引擎(例如,数据相关联引擎414)执行。
在一些实例中,先前视频帧中的斑点位置包含在第一斑点与第二斑点合并之前先前视频帧中的第一斑点的位置。在此类实例中,追踪器的先前预测位置是在第一斑点与第二斑点合并之前使用来自先前视频帧的斑点位置确定的。举例来说,如上文所描述,斑点追踪器的运动模型可以确定和维持用于每个帧的斑点追踪器的两个位置。用于当前帧的斑点追踪器的第一位置可以包含当前帧中的预测位置。当前帧中的斑点追踪器的预测位置包含在与斑点追踪器相关联的斑点的先前帧中的位置。用于当前帧的斑点追踪器的第二位置可以包含在与当前帧中的追踪器当前相关联的斑点的当前帧中的位置。在一些情况下,如先前所描述,第二(或实际)位置可用于更新或校正预测位置。然而,由于第一追踪器和第二追踪器与合并斑点(指示合并场景)相关联,使用来自先前帧的斑点位置的追踪器的先前预测位置被用作第一追踪器的实际位置。第一追踪器的运动模型因此通过在合并发生之前呈现的运动模型的先前所获得的参数更新。
在一些实例中,过程1100进一步包含检测后续视频帧中的合并斑点的分离。分离包含第一斑点从合并斑点中分离,并且后续视频帧在与当前视频帧相比稍后的时间获得。在此类实例中,过程1100进一步包含响应于检测到第一斑点从合并斑点中分离重新设置第一追踪器的运动模型。在一些情况下,重新设置运动模型包含从运动模型中排除一或多个先前针对第一追踪器确定的位置。举例来说,运动模型可以通过从运动模型中排除先前针对斑点追踪器确定的位置而重新设置。在一些情况下,重新设置运动模型还可包含排除用于计算运动模型的所有先前轨迹、斑点大小或轨迹和斑点大小两者。在一些实例中,过程1100进一步包含使用后续视频帧中的斑点的位置重新初始化第一追踪器的运动模型,在此情况下第一追踪器与后续视频帧中的斑点相关联。
如前文所述,斑点追踪器的运动模型可以含有追踪器的位置的预测,并且还可包含其速度(或位置)。在一些实例中,第一追踪器的运动模型包含第一追踪器的一或多个位置、第一追踪器的速度以及与第一追踪器相关联的一或多个斑点的一或多个大小。在一些实例中,使用卡尔曼滤波器维持第一追踪器的运动模型。
图12说明使用本文中所描述的情境自适应或情境感知追踪器更新技术维持一或多个斑点追踪器的一或多个运动模型的另一过程1200的实例。在1202处,过程1200包含使第一追踪器与第一斑点相关联。第一斑点包含一或多个视频帧中的一或多个前景对象的至少一部分的像素。
在1204处,过程1200包含检测当前视频帧中的第一斑点与第二斑点的分离。
在一些实例中,第一斑点和第二斑被合并到先前视频帧中的合并斑点中,在此情况下先前视频帧与当前视频帧相比在时间上更早地获得。在此类实例中,第一追踪器和第二追踪器与先前视频帧中的合并斑点相关联。举例来说,在一个说明性实例中,当一个个人更接近另一个人时,用于两个人的斑点可以合并到合并斑点中。
在一些实例中,第一斑点和第二斑点不与包含先前单独的斑点的合并斑点相关联。举例来说,第一斑点可以是针对对象在先前帧中检测到的唯一斑点。第一对象可在于先前帧之后接收到的后续帧中分段或破裂,引起待针对对象检测的多个对象,包含第二斑点。在一个说明性实例中,对象可以是在第一帧中完整的记录,并且在第二帧中破裂成一或多个片段。第一斑点可以针对第一帧中的记录被检测到,并且第一和第二斑点可以在第二帧中被检测到。所属领域的技术人员将了解对象可以包含任何合适的项,例如,个人、车辆、建筑物、动物或可以在一或多个视频帧中检测到的任何其它合适的对象。
在1206处,过程1200包含响应于检测到第一斑点与第二斑点的分离重新设置第一追踪器的运动模型。在一些情况下,重新设置运动模型包含从运动模型中排除一或多个先前针对第一追踪器确定的位置。举例来说,运动模型可以通过从运动模型中排除先前针对第一追踪器确定的位置而重新设置。在一些情况下,重新设置运动模型还可包含排除用于计算运动模型的所有先前轨迹、斑点大小或轨迹和斑点大小两者。在一些实例中,过程1200进一步包含使用当前视频帧中的第一斑点的位置重新初始化第一追踪器的运动模型,在此情况下第一追踪器与当前视频帧中的第一斑点相关联。
在一些实例中,过程1200进一步包含使第三追踪器与当前视频帧中的合并斑点相关联。合并斑点包含与第四斑点合并的第三斑点。多个追踪器与当前视频帧中的合并斑点相关联。在此类实例中,过程1200进一步包含更新第三追踪器的运动模型以在下一视频帧中包含第三追踪器的预测位置。通过响应于第三追踪器与合并斑点相关联使用第三追踪器的先前预测位置作为下一视频帧中的第三追踪器的预测位置更新运动模型。使用先前视频帧中的斑点位置确定第三追踪器的先前预测位置。在一些实例中,第三追踪器与先前视频帧中的第三斑点相关联,并且第四追踪器与先前视频帧中的第四斑点相关联。举例来说,在当前帧之前(在一或多个先前帧中),第三追踪器与第三斑点相关联或匹配并且第四追踪器与第四斑点相关联或匹配。相关联可以使用上文所描述的技术由数据相关联引擎(例如,数据相关联引擎414)执行。
在一些实例中,先前视频帧中的斑点位置包含在第三斑点与第四斑点合并之前先前视频帧中的第三斑点的位置。在此类实例中,第三追踪器的先前预测位置是使用在第三斑点与第四斑点合并之前来自先前视频帧的斑点位置确定的。举例来说,如先前所描述,斑点追踪器的运动模型可以确定和维持用于每个帧的斑点追踪器的两个位置。用于当前帧的斑点追踪器的第一位置可以包含当前帧中的预测位置,其包含在与斑点追踪器相关联的斑点的先前帧中的位置。用于当前帧的斑点追踪器的第二位置可以包含在与当前帧中的追踪器当前相关联的斑点的当前帧中的位置。在一些情况下,如先前所描述,第二(或实际)位置可用于更新或校正预测位置。然而,由于第三追踪器和第四追踪器与合并斑点(指示合并场景)相关联,使用来自先前帧的斑点位置的第三追踪器的先前预测位置被用作第三追踪器的实际位置。第三追踪器的运动模型因此通过在第三追踪器的合并和其它斑点出现之前呈现的运动模型的先前所获得参数更新。
如前文所述,斑点追踪器的运动模型可以含有追踪器的位置的预测,并且还可包含其速度(或位置)。在一些实例中,第一追踪器的运动模型包含第一追踪器的至少一或多个位置、第一追踪器的速度以及与第一追踪器相关联的一或多个斑点的一或多个大小。在一些实例中,使用卡尔曼滤波器维持第一追踪器的运动模型。
在一些实例中,过程1100和1200可通过例如视频分析系统100的计算装置或设备执行。举例来说,过程1100和1200可通过图1和图4中所示的视频分析系统100和/或对象追踪引擎106执行。在一些情况下,计算装置或设备可以包含处理器、微处理器、微计算机或经配置以执行过程1100和1200的步骤的装置的其它组件。在一些实例中,计算装置或设备可以包含经配置以俘获包含视频帧的视频数据(例如,视频序列)的相机。举例来说,计算装置可包含相机装置(例如,IP相机或其它类型的相机装置),所述相机装置可包含视频编解码器。在一些实例中,相机或俘获视频数据的其它俘获装置与计算装置分开,在此情况下计算装置接收所俘获的视频数据。计算装置可进一步包含经配置以传送视频数据的网络接口。网络接口可经配置以传送基于因特网协议(IP)的数据。
过程1100和1200被说明为逻辑流程图,其操作表示可以在硬件、计算机指令或其组合中实施的操作的序列。在计算机指令的情形下,操作表示存储在一或多个计算机可读存储媒体上的计算机可执行指令,这些计算机可执行指令在由一或多个处理器执行时执行所叙述的操作。一般而言,计算机可执行指令包含例程、程序、对象、组件、数据结构以及执行特定功能或实施特定数据类型的类似物。描述操作的次序并不意图解释为限制,且任何数目的所描述的操作可以按任何次序组合和/或并行以实施所述过程。
另外,过程1100和1200可以在配置有可执行指令的一或多个计算机系统的控制下执行并且可以实施为在一或多个处理器上、通过硬件或其组合共同地执行的代码(例如,可执行指令、一或多个计算机程序或一或多个应用程序)。如上文所指出,代码可例如以包括可由一或多个处理器执行的多个指令的计算机程序的形式存储在计算机可读或机器可读存储媒体上。计算机可读或机器可读存储媒体可以是非暂时性的。
本文中所论述的内容自适应追踪器更新操作可以使用经压缩视频或使用未经压缩视频帧(在压缩之前或之后)实施。实例视频编码和解码系统包含提供稍后待通过目的地装置解码的经编码视频数据的源装置。具体地说,源装置经由计算机可读媒体将视频数据提供到目的地装置。源装置和目的地装置可包括多种多样的装置中的任一者,包含桌上型计算机、笔记本型(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如,所谓的“智能”电话)、所谓的“智能”平板、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或类似者。在一些情况下,源装置和目的地装置可经装备以用于无线通信。
目的地装置可经由计算机可读媒体接收待解码的经编码视频数据。计算机可读媒体可包括能够将经编码视频数据从源装置移动到目的地装置的任何类型的媒体或装置。在一个实例中,计算机可读媒体可包括使源装置能够实时将经编码视频数据直接发射到目的地装置的通信媒体。经编码视频数据可根据通信标准(例如,无线通信协议)调制,且发射到目的地装置。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理发射线路。通信媒体可形成基于包的网络(例如,局域网、广域网或全球网络,例如因特网)的一部分。通信媒体可包含路由器、交换器、基站或可用于促进从源装置到目的地装置的通信的任何其它设备。
在一些实例中,经编码数据可从输出接口输出到存储装置。类似地,可以通过输入接口从存储装置存取经编码数据。存储装置可包含多种分布式或本地存取式数据存储媒体中的任一个,例如,硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或用于存储经编码视频数据的任何其它合适的数字存储媒体。在另一实例中,存储装置可以对应于文件服务器或可存储由源装置产生的经编码视频的另一中间存储装置。目的地装置可经由流式传输或下载从存储装置存取所存储的视频数据。文件服务器可以是能够存储经编码视频数据并且将所述经编码视频数据发射到目的地装置的任何类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置或本地磁盘驱动器。目的地装置可通过任何标准数据连接(包含因特网连接)来存取经编码视频数据。这可以包含无线通道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)或适用于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从存储装置的发射可以是流式传输发射、下载发射或其组合。
本发明的技术不必限于无线应用或设置。所述技术可以应用于支持多种多媒体应用中的任一个的视频译码,例如,空中协议电视广播、有线电视发射、卫星电视发射、因特网流式视频发射(例如,动态自适应HTTP流式传输(DASH))、经编码到数据存储媒体上的数字视频,存储在数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统可经配置以支持单向或双向视频发射,以支持例如视频流式传输、视频重放、视频广播和/或视频电话等应用。
在一个实例中,源装置包含视频源、视频编码器和输出接口。目的地装置可包含输入接口、视频解码器和显示装置。源装置的视频编码器可经配置以应用本文中所公开的技术。在其它实例中,源装置和目的地装置可包含其它组件或布置。举例来说,源装置可从外部视频源(例如,外部相机)接收视频数据。类似地,目的地装置可与外部显示装置介接,而非包含集成显示装置。
以上实例系统仅是一个实例。用于并行处理视频数据的技术可由任何数字视频编码和/或解码装置来执行。虽然本发明的技术通常通过视频编码装置执行,但是所述技术也可通过视频编码器/解码器(通常被称作“编解码器”)执行。此外,本发明的技术还可通过视频预处理器执行。源装置和目的地装置仅为源装置在其中产生经译码视频数据以供发射到目的地装置的此类译码装置的实例。在一些实例中,源装置和目的地装置可以基本上对称方式操作,使得所述装置中的每一者包含视频编码和解码组件。因此,实例系统可支持视频装置之间的单向或双向视频发射,例如,用于视频流式传输、视频重放、视频广播或视频电话。
视频源可包含视频俘获装置,例如,摄像机、含有先前所俘获视频的视频存档和/或用于从视频内容提供者接收视频的视频馈送接口。作为另一替代方案,视频源可产生基于计算机图形的数据作为源视频,或实况视频、存档视频与计算机产生的视频的组合。在一些情况下,如果视频源是摄像机,那么源装置和目的地装置可形成所谓的相机电话或视频电话。然而,如上文所提及,本发明中所描述的技术一般可适用于视频译码,且可应用于无线和/或有线应用。在每一情况下,可由视频编码器编码所俘获、预先俘获或计算机产生的视频。经编码视频信息可随后由输出接口输出到计算机可读媒体上。
如所提到,计算机可读媒体可包含暂时性媒体,例如,无线广播或有线网络发射,或存储媒体(即,非暂时性存储媒体),例如,硬盘、快闪驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未示出)可从源装置接收经编码视频数据并且例如经由网络发射将经编码视频数据提供到目的地装置。类似地,媒体生产设施(例如,光盘冲压设施)的计算装置可从源装置接收经编码视频数据并且产生含有经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体可理解为包含各种形式的一或多个计算机可读媒体。
在上述描述中,参考其具体实施例描述应用的方面,但是所属领域的技术人员将认识到本发明不限于此。因此,虽然已经在本文中详细地描述了应用的说明性实施例,但是应理解本发明概念可以其它方式不同地实施和采用,并且除了现有技术所限制的之外,所附权利要求书意图解释为包含此类变化。上文所描述的本发明的各种特征和方面可以单独或联合地使用。另外,实施例可以在本文中描述的那些环境和应用之外的任何数目的环境和应用中使用而不脱离本说明书的广泛的精神和范围。应将本说明书和图式相应地视为说明性的而非限制性的。出于说明的目的,方法是以特定次序描述的。应了解,在替代实施例中,方法可以与所描述的次序不同的次序执行。
在组件被描述为“经配置以”执行某些操作的情况下,可例如通过设计电子电路或其它硬件以执行所述操作、通过编程可编程电子电路(例如,微处理器或其它适合电子电路)以执行所述操作或其任何组合来实现此类配置。
结合本文中所公开的实施例描述的各种说明性逻辑块、模块、电路和算法步骤可实施为电子硬件、计算机软件、固件或其组合。为了清晰地说明硬件与软件的此可互换性,上文已大体就其功能性而言描述了各种说明性组件、块、模块、电路和步骤。此类功能性被实施为硬件还是软件取决于特定应用和施加于整个系统上的设计约束。所属领域的技术人员可针对每一特定应用以不同方式来实施所描述的功能性,但是此类实施决策不应被解译为会引起脱离本发明的范围。
本文中所描述的技术也可以在电子硬件、计算机软件、固件或其任何组合中实施。此类技术可实施于多种装置中的任一个中,例如,通用计算机、无线通信装置手持机或集成电路装置,其具有包含在无线通信装置手持机和其它装置中的应用的多种用途。被描述为模块或组件的任何特征可一起实施于集成逻辑装置中或单独地实施为离散但可互操作的逻辑装置。如果在软件中实施,那么所述技术可至少部分地由包括程序代码的计算机可读数据存储媒体来实现,所述程序代码包含在被执行时执行上文所描述的方法中的一或多个的指令。计算机可读数据存储媒体可形成计算机程序产品的一部分,所述计算机程序产品可包含封装材料。计算机可读媒体可包括存储器或数据存储媒体,例如,随机存取存储器(RAM)(例如,同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体等等。另外或替代地,所述技术可至少部分地由计算机可读通信媒体来实现,所述计算机可读通信媒体以指令或数据结构的形式运载或传送程序代码且可由计算机存取、读取和/或执行,例如,传播的信号或波。
程序代码可由处理器执行,所述处理器可包含一或多个处理器,例如,一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路。此类处理器可经配置以执行本发明中所描述的技术中的任一个。通用处理器可以是微处理器,但是在替代方案中,处理器可以是任何常规的处理器、控制器、微控制器或状态机。处理器还可以实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器的组合、一或多个微处理器与DSP核心结合,或任何其它此类配置。相应地,如本文中所使用的术语“处理器”可指代前述结构中的任一个、前述结构的任何组合,或适合于实施本文中所描述的技术的任何其它结构或设备。另外,在一些方面中,可将本文中所描述的功能性提供于经配置用于编码和解码的专用软件模块或硬件模块内或并入组合的视频编码器-解码器(编解码器)中。

Claims (30)

1.一种维持一或多个斑点追踪器的一或多个运动模型的方法,其包括:
使第一追踪器与第一斑点相关联,所述第一斑点包含一或多个视频帧中的一或多个前景对象的至少一部分的像素;
检测先前视频帧中的所述第一斑点与第二斑点的合并;
响应于所述第一斑点与所述第二斑点的所述合并而将所述先前视频帧中的所述第一追踪器的预测位置确定为所述先前视频帧中的所述第一追踪器的实际位置;
检测当前视频帧中的所述第一斑点与第二斑点的分离;以及
响应于检测所述第一斑点与所述第二斑点的所述分离重新设置所述第一追踪器的运动模型。
2.根据权利要求1所述的方法,其中重新设置所述运动模型包含从所述运动模型中排除一或多个先前针对所述第一追踪器确定的位置。
3.根据权利要求1所述的方法,其进一步包括:使用所述当前视频帧中的所述第一斑点的位置重新初始化所述第一追踪器的所述运动模型。
4.根据权利要求1所述的方法,其中所述先前视频帧与所述当前视频帧相比在时间上更早地获得。
5.根据权利要求4所述的方法,其中所述第一追踪器和第二追踪器与所述先前视频帧中的所述合并斑点相关联。
6.根据权利要求1所述的方法,其进一步包括:
使第三追踪器与所述当前视频帧中的合并斑点相关联,所述合并斑点包含与第四斑点合并的第三斑点,并且其中多个追踪器与所述当前视频帧中的所述合并斑点相关联;以及
更新所述第三追踪器的运动模型以包含下一视频帧中的所述第三追踪器的预测位置,其中通过响应于所述第三追踪器与所述合并斑点相关联使用所述第三追踪器的先前预测位置作为所述下一视频帧中的所述第三追踪器的所述预测位置来更新所述运动模型,使用先前视频帧中的斑点位置确定所述第三追踪器的所述先前预测位置。
7.根据权利要求6所述的方法,其中所述第三追踪器与所述先前视频帧中的所述第三斑点相关联,并且其中第四追踪器与所述先前视频帧中的所述第四斑点相关联。
8.根据权利要求6所述的方法,其中所述先前视频帧中的所述斑点位置包含在所述第三斑点与所述第四斑点合并之前所述先前视频帧中的所述第三斑点的位置。
9.根据权利要求1所述的方法,其中使用卡尔曼滤波器维持所述第一追踪器的所述运动模型。
10.根据权利要求1所述的方法,其中所述第一追踪器的所述运动模型包含所述第一追踪器的一或多个位置、所述第一追踪器的速度以及与所述第一追踪器相关联的一或多个斑点的一或多个大小。
11.一种用于维持一或多个斑点追踪器的一或多个运动模型的设备,其包括:
存储器,其经配置以存储视频数据;以及
处理器,其经配置以:
使第一追踪器与第一斑点相关联,所述第一斑点包含一或多个视频帧中的一或多个前景对象的至少一部分的像素;
检测先前视频帧中的所述第一斑点与第二斑点的合并;
响应于所述第一斑点与所述第二斑点的所述合并而将所述先前视频帧中的所述第一追踪器的预测位置确定为所述先前视频帧中的所述第一追踪器的实际位置;
检测当前视频帧中的所述第一斑点与第二斑点的分离;以及
响应于检测所述第一斑点与所述第二斑点的所述分离重新设置所述第一追踪器的运动模型。
12.根据权利要求11所述的设备,其中重新设置所述运动模型包含从所述运动模型中排除一或多个先前针对所述第一追踪器确定的位置。
13.根据权利要求11所述的设备,其中所述处理器进一步经配置以:使用所述当前视频帧中的所述第一斑点的位置重新初始化所述第一追踪器的所述运动模型。
14.根据权利要求11所述的设备,其中所述先前视频帧与所述当前视频帧相比在时间上更早地获得。
15.根据权利要求14所述的设备,其中所述第一追踪器和第二追踪器与所述先前视频帧中的所述合并斑点相关联。
16.根据权利要求11所述的设备,其中所述处理器进一步经配置以:
使第三追踪器与所述当前视频帧中的合并斑点相关联,所述合并斑点包含与第四斑点合并的第三斑点,并且其中多个追踪器与所述当前视频帧中的所述合并斑点相关联;以及
更新所述第三追踪器的运动模型以包含下一视频帧中的所述第三追踪器的预测位置,其中通过响应于所述第三追踪器与所述合并斑点相关联使用所述第三追踪器的先前预测位置作为所述下一视频帧中的所述第三追踪器的所述预测位置来更新所述运动模型,使用先前视频帧中的斑点位置确定所述第三追踪器的所述先前预测位置。
17.根据权利要求16所述的设备,其中所述第三追踪器与所述先前视频帧中的所述第三斑点相关联,并且其中第四追踪器与所述先前视频帧中的所述第四斑点相关联。
18.根据权利要求16所述的设备,其中所述先前视频帧中的所述斑点位置包含在所述第三斑点与所述第四斑点合并之前所述先前视频帧中的所述第三斑点的位置。
19.根据权利要求11所述的设备,其中使用卡尔曼滤波器维持所述第一追踪器的所述运动模型。
20.根据权利要求11所述的设备,其中所述第一追踪器的所述运动模型包含所述第一追踪器的一或多个位置、所述第一追踪器的速度以及与所述第一追踪器相关联的一或多个斑点的一或多个大小。
21.一种上面存储有指令的非暂时性计算机可读媒体,所述指令在由处理器执行时执行一种方法,其包括:
使第一追踪器与第一斑点相关联,所述第一斑点包含一或多个视频帧中的一或多个前景对象的至少一部分的像素;
检测先前视频帧中的所述第一斑点与第二斑点的合并;
响应于所述第一斑点与所述第二斑点的所述合并而将所述先前视频帧中的所述第一追踪器的预测位置确定为所述先前视频帧中的所述第一追踪器的实际位置;
检测当前视频帧中的所述第一斑点与第二斑点的分离;以及
响应于检测所述第一斑点与所述第二斑点的所述分离重新设置所述第一追踪器的运动模型。
22.根据权利要求21所述的非暂时性计算机可读媒体,其中重新设置所述运动模型包含从所述运动模型中排除一或多个先前针对所述第一追踪器确定的位置。
23.根据权利要求21所述的非暂时性计算机可读媒体,其进一步包括:使用所述当前视频帧中的所述第一斑点的位置重新初始化所述第一追踪器的所述运动模型。
24.根据权利要求21所述的非暂时性计算机可读媒体,其中所述先前视频帧与所述当前视频帧相比在时间上更早地获得。
25.根据权利要求24所述的非暂时性计算机可读媒体,其中所述第一追踪器和第二追踪器与所述先前视频帧中的所述合并斑点相关联。
26.根据权利要求21所述的非暂时性计算机可读媒体,其进一步包括:
使第三追踪器与所述当前视频帧中的合并斑点相关联,所述合并斑点包含与第四斑点合并的第三斑点,并且其中多个追踪器与所述当前视频帧中的所述合并斑点相关联;以及
更新所述第三追踪器的运动模型以包含下一视频帧中的所述第三追踪器的预测位置,其中通过响应于所述第三追踪器与所述合并斑点相关联使用所述第三追踪器的先前预测位置作为所述下一视频帧中的所述第三追踪器的所述预测位置来更新所述运动模型,使用先前视频帧中的斑点位置确定所述第三追踪器的所述先前预测位置。
27.根据权利要求26所述的非暂时性计算机可读媒体,其中所述第三追踪器与所述先前视频帧中的所述第三斑点相关联,并且其中第四追踪器与所述先前视频帧中的所述第四斑点相关联。
28.根据权利要求26所述的非暂时性计算机可读媒体,其中所述先前视频帧中的所述斑点位置包含在所述第三斑点与所述第四斑点合并之前所述先前视频帧中的所述第三斑点的位置。
29.根据权利要求21所述的非暂时性计算机可读媒体,其中使用卡尔曼滤波器维持所述第一追踪器的所述运动模型。
30.根据权利要求21所述的非暂时性计算机可读媒体,其中所述第一追踪器的所述运动模型包含所述第一追踪器的一或多个位置、所述第一追踪器的速度以及与所述第一追踪器相关联的一或多个斑点的一或多个大小。
CN201780047379.3A 2016-08-12 2017-06-01 在视频分析中更新用于对象追踪器的运动模型的方法和系统 Active CN109564686B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662374671P 2016-08-12 2016-08-12
US62/374,671 2016-08-12
US15/384,997 US10115005B2 (en) 2016-08-12 2016-12-20 Methods and systems of updating motion models for object trackers in video analytics
US15/384,997 2016-12-20
PCT/US2017/035485 WO2018031106A1 (en) 2016-08-12 2017-06-01 Methods and systems of updating motion models for object trackers in video analytics

Publications (2)

Publication Number Publication Date
CN109564686A CN109564686A (zh) 2019-04-02
CN109564686B true CN109564686B (zh) 2021-04-30

Family

ID=61159112

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780047379.3A Active CN109564686B (zh) 2016-08-12 2017-06-01 在视频分析中更新用于对象追踪器的运动模型的方法和系统

Country Status (3)

Country Link
US (1) US10115005B2 (zh)
CN (1) CN109564686B (zh)
WO (1) WO2018031106A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109344755B (zh) * 2018-09-21 2024-02-13 广州市百果园信息技术有限公司 视频动作的识别方法、装置、设备及存储介质
CN110570451B (zh) * 2019-08-05 2022-02-01 武汉大学 基于stc和分块重检测的多线程视觉目标跟踪方法
US11195024B1 (en) * 2020-07-10 2021-12-07 International Business Machines Corporation Context-aware action recognition by dual attention networks
CN112581507A (zh) * 2020-12-31 2021-03-30 北京澎思科技有限公司 目标跟踪方法、系统及计算机可读存储介质
CN112950672B (zh) * 2021-03-03 2023-09-19 百度在线网络技术(北京)有限公司 确定关键点的位置的方法、装置和电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101116107A (zh) * 2005-02-04 2008-01-30 英国电讯有限公司 识别视频帧中的乱真区

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050104958A1 (en) * 2003-11-13 2005-05-19 Geoffrey Egnal Active camera video-based surveillance systems and methods
US7706571B2 (en) * 2004-10-13 2010-04-27 Sarnoff Corporation Flexible layer tracking with weak online appearance model
DE602006017977D1 (de) * 2005-03-17 2010-12-16 British Telecomm Verfolgen von objekten in einer videosequenz
US7825954B2 (en) * 2005-05-31 2010-11-02 Objectvideo, Inc. Multi-state target tracking
JP4208898B2 (ja) 2006-06-09 2009-01-14 株式会社ソニー・コンピュータエンタテインメント 対象物追跡装置および対象物追跡方法
US8086036B2 (en) * 2007-03-26 2011-12-27 International Business Machines Corporation Approach for resolving occlusions, splits and merges in video images
US8098888B1 (en) * 2008-01-28 2012-01-17 Videomining Corporation Method and system for automatic analysis of the trip of people in a retail space using multiple cameras
US8351649B1 (en) 2008-04-01 2013-01-08 University Of Southern California Video feed target tracking
US8325982B1 (en) * 2009-07-23 2012-12-04 Videomining Corporation Method and system for detecting and tracking shopping carts from videos
US8121618B2 (en) * 2009-10-28 2012-02-21 Digimarc Corporation Intuitive computing methods and systems
CN103456023A (zh) * 2012-05-28 2013-12-18 深圳迈瑞生物医疗电子股份有限公司 组织运动定量分析方法和系统
US9852511B2 (en) 2013-01-22 2017-12-26 Qualcomm Incoporated Systems and methods for tracking and detecting a target object
US9621917B2 (en) 2014-03-10 2017-04-11 Euclid Discoveries, Llc Continuous block tracking for temporal prediction in video encoding
PL411602A1 (pl) 2015-03-17 2016-09-26 Politechnika Poznańska System do estymacji ruchu na obrazie wideo i sposób estymacji ruchu na obrazie wideo
US20160379074A1 (en) * 2015-06-25 2016-12-29 Appropolis Inc. System and a method for tracking mobile objects using cameras and tag devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101116107A (zh) * 2005-02-04 2008-01-30 英国电讯有限公司 识别视频帧中的乱真区

Also Published As

Publication number Publication date
US20180046857A1 (en) 2018-02-15
US10115005B2 (en) 2018-10-30
WO2018031106A1 (en) 2018-02-15
CN109564686A (zh) 2019-04-02

Similar Documents

Publication Publication Date Title
US10282617B2 (en) Methods and systems for performing sleeping object detection and tracking in video analytics
US10553091B2 (en) Methods and systems for shape adaptation for merged objects in video analytics
US20180048894A1 (en) Methods and systems of performing lighting condition change compensation in video analytics
US20190130191A1 (en) Bounding box smoothing for object tracking in a video analytics system
US10019633B2 (en) Multi-to-multi tracking in video analytics
US10223590B2 (en) Methods and systems of performing adaptive morphology operations in video analytics
US10269135B2 (en) Methods and systems for performing sleeping object detection in video analytics
US10269123B2 (en) Methods and apparatus for video background subtraction
US20190130189A1 (en) Suppressing duplicated bounding boxes from object detection in a video analytics system
US20190034734A1 (en) Object classification using machine learning and object tracking
CN109564686B (zh) 在视频分析中更新用于对象追踪器的运动模型的方法和系统
US10878578B2 (en) Exclusion zone in video analytics
US10360456B2 (en) Methods and systems of maintaining lost object trackers in video analytics
US10152630B2 (en) Methods and systems of performing blob filtering in video analytics
US10140718B2 (en) Methods and systems of maintaining object trackers in video analytics
US10229503B2 (en) Methods and systems for splitting merged objects in detected blobs for video analytics
US20180047193A1 (en) Adaptive bounding box merge method in blob analysis for video analytics
US20180254065A1 (en) Methods and systems for splitting non-rigid objects for video analytics
US20180047173A1 (en) Methods and systems of performing content-adaptive object tracking in video analytics
US20180342070A1 (en) Methods and systems of determining object status for false positive removal in object tracking for video analytics
US20180144476A1 (en) Cascaded-time-scale background modeling
US20190130586A1 (en) Robust sleeping object detection in video analytics
US20180046877A1 (en) Methods and systems of determining a minimum blob size in video analytics
US10026193B2 (en) Methods and systems of determining costs for object tracking in video analytics

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