CN115699102A - 使用遮挡感知单对象跟踪在视频流中跟踪多个对象 - Google Patents
使用遮挡感知单对象跟踪在视频流中跟踪多个对象 Download PDFInfo
- Publication number
- CN115699102A CN115699102A CN202180038305.XA CN202180038305A CN115699102A CN 115699102 A CN115699102 A CN 115699102A CN 202180038305 A CN202180038305 A CN 202180038305A CN 115699102 A CN115699102 A CN 115699102A
- Authority
- CN
- China
- Prior art keywords
- trajectory
- passive
- trajectories
- affinity
- tracking
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/277—Analysis of motion involving stochastic approaches, e.g. using Kalman filters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
- G06V20/53—Recognition of crowd images, e.g. recognition of crowd congestion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Image Analysis (AREA)
Abstract
本文的公开使得能够跟踪实时视频流中的多个对象。针对从视频流接收的每个个体帧,该帧的帧类型被确定。基于个体帧是对象检测帧类型,对象提议集在个体帧中被检测,对象提议集和对象轨迹集之间的关联被分配,并且该对象轨迹集的状态基于所分配的关联被更新。基于个体帧是对象跟踪帧类型,基于对象轨迹集中的每个对象轨迹对该帧执行单对象跟踪,并且该对象轨迹集基于所执行的单对象跟踪被更新。针对接收到的每个帧,实时对象位置数据流基于对象轨迹集被提供。
Description
背景技术
理解视频流中的对象移动是计算机视觉技术发展的基本问题之一。多对象跟踪的任务是检测感兴趣的对象并跨不同的帧跟踪它们,同时维护对象的正确身份。理解人类的时空动态是很有趣的,因为它可以实现下游任务,诸如活动和/或意图识别。在线实时跟踪侧重于基于人或其他对象的当前帧和过去帧推断运动的轨迹和/或轨迹。跟踪具有多个对象的视频流中的人或其他对象的移动提出了巨大的挑战,包括由场景中的其他对象对被跟踪对象的部分或全部遮挡,以及与一致且准确地检测视频流的每个帧内的对象相关联的大量资源和时间要求。
发明内容
提供本发明内容是为了以简化形式介绍概念的选择,这些概念将在下面的具体实施方式中进一步描述。本发明内容并非旨在标识所要求保护的主题的关键特征或基本特征,也不旨在用作确定所要求保护的主题的范围的帮助。
描述了一种用于在实时视频流中跟踪多个对象的计算机化方法。对于从视频流接收的每个个体帧,该帧的帧类型被确定。基于个体帧是对象检测帧类型,对象提议集在个体帧中被检测,对象提议集和对象轨迹集之间的关联被分配,以及对象轨迹集的状态基于所分配的关联被更新。基于个体帧是对象跟踪帧类型,基于对象轨迹集中的每个对象轨迹对该帧执行单对象跟踪,并且对象轨迹集基于所执行的单对象跟踪被更新。针对接收到的每个帧,实时对象位置数据流基于对象轨迹集被提供。
附图说明
从以下结合附图阅读的具体实施方式中将更好地理解本说明书,在附图中:
图1是示出根据实施例的用于在视频流中跟踪多个对象并实时提供相关联的对象位置数据的系统的框图;
图2是示出根据实施例的用于使用主动(active)对象轨迹和被动(passive)对象轨迹以及与对象提议的基于亲和度的关联来跟踪视频流中的多个对象的系统的框图;
图3是示出根据实施例的用于训练用于在视频流中跟踪对象和更新对象轨迹的单对象跟踪模型的系统的框图;
图4是示出根据实施例的在视频流中跟踪多个对象并提供相关联的对象位置数据的过程的流程图;
图5是示出根据实施例的分配对象提议和对象轨迹之间的关联的过程的流程图;以及
图6将根据实施例的计算装置图示为功能框图。
对应的附图标记在整个附图中指示对应的部分。在图1至6中,系统被图示为示意图。附图可能不是按比例绘制的。
具体实施方式
理解视频流中的对象运动是计算机视觉技术发展的基本问题之一。多对象跟踪的任务是检测感兴趣的对象并跨不同的帧跟踪它们,同时保持对象的正确身份。理解人类的时空动态是很有趣的,因为它可以实现下游任务,诸如活动和/或意图识别。在线实时跟踪侧重于基于人或其他对象的当前帧和过去帧推断运动的轨迹和/或轨迹。跟踪具有多个对象的视频流中的人或其他对象的移动提出了巨大的挑战,包括由场景中的其他对象对被跟踪对象的部分或全部遮挡,以及与一致且准确地检测视频流的每个帧内的对象相关联的大量资源和时间要求。
对象跟踪过程可能由在视频流中包括诸如由深度相机、RGB-深度(RGBD)相机等捕获的深度信息进一步加复杂化,除了跟踪对象跨视频帧的场景的移动之外,这还需要精确的对象跟踪过程来确定对象在三维空间中朝向或远离相机的移动,这在诸如通过机器人的导航和碰撞避免、虚拟环境构建和动画或手势和接近检测等应用中可能很有用。
该领域的最新发展包括基于对象检测的系统,诸如“Detect-to-Track(检测以跟踪)”和“Tracktor”,它们被设计为使用边界框回归和/或基于相关性的跟踪回归来优化每帧准确度,但是这些系统忽略时间一致性考虑,往往会在几帧内丢失对对象的轨迹,并且无法恢复由于临时遮挡而丢失的对象的身份,这是拥挤场景中跟踪错误的主要原因。附加的示例包括双匹配注意力网络(DMAN)和“Detect or Track(检测或跟踪)”,双匹配注意力网络将每帧对象检测与对象跟踪相组合,并使用时空注意力机制来跟踪对象,引起高时延和大存储器占用,使其在实时应用中无法使用,“Detect or Track”在每一帧上使用基于神经网络的调度器以基于帧中存在的当前轨迹的质量来确定是检测还是跟踪,但是当应用于具有许多对象要跟踪的拥挤的场景时,质量分析变得非常昂贵。
本公开描述了使用视频流的帧中的周期性对象检测和介于中间的帧中的单对象跟踪的两阶段过程的系统和方法。对象检测过程和对象跟踪过程由关联分配过程链接,该关联分配过程使系统和方法能够利用这两种类型的分析来跟踪所描述的多个对象。对象检测虽然在计算上比对象跟踪更昂贵,但仅周期性地执行以标识场景中的新对象并匹配和/或校准当前对象跟踪实例。对象跟踪过程用于对象检测之间的帧上,以沿轨迹传播场景中对象的位置数据并实现场景中可能由于遮挡而在先前的对象检测中已经丢失的对象的重新标识。
所描述的系统和方法使得能够如所描述的那样跟踪实时视频流中的多个对象。对于从视频流接收的每个个体帧,该帧的帧类型被确定。基于个体帧是物体检测帧类型,对象提议集在个体帧中被检测,对象提议集和对象轨迹集之间的关联被分配,并且对象轨迹集的状态基于分配的关联被更新。基于个体帧是对象跟踪帧类型,基于对象轨迹集中的每个对象轨迹对该帧执行单对象跟踪,并且对象轨迹集基于执行的单对象跟踪被更新。针对所接收的每个帧,实时对象位置数据流基于对象轨迹集被提供。
所提出的系统被配置用于实时和低时延的多对象或多人跟踪,在一些示例中,其使用卷积神经网络(例如,Faster-RCNN)进行对象检测和相关滤波器跟踪(例如,CFNet)用于单对象跟踪。其他系统在每帧基础上执行对象检测,这对于对象跟踪来说是次优的,因为对象检测器独立地定位每个图像帧中的区域,这可能会由于拥挤环境中的遮挡和目标交互而引起丢失检测和虚假检测。这种基于对象检测的系统无法显式地利用视频流的时间方面。例如,一些基于对象检测的系统使用分开的重新标识(ReID)网络,该重新标识网络被训练以跨多个帧链接对象检测,但这些ReID网络也没有考虑视频流的时间上下文,这可以引起跟踪错误,诸如链接彼此相距很远的轨迹,或者当多个人近距离穿着相似的衣服时错误地标识人。本文所描述的系统和方法通过在对象检测的实例之间引入新颖的跟踪丢失过程以非传统方式操作,该跟踪丢失过程利用视频流的时间上下文并提高跟踪器用于在遮挡和/或多人或多对象设置中跟踪一个或多个人或对象的性能。系统在两种状态匹配或关联方法中优先化对象提议和主动对象轨迹之间的匹配。通过在对象检测的实例之间使用单对象跟踪,实时执行一致的对象检测所需的资源被减少,并且系统的性能被提高,从而以低时延和低存储器占用实现实时、准确的对象跟踪,同时以高准确度跟踪数十个人或对象。例如,使用相关滤波器执行单对象跟踪(如本文针对一些示例所描述的)与针对单对象跟踪的更复杂的方法相比具有竞争力,其使用一小部分计算能力,并且可以实时执行每秒数百帧。用以链接在对象检测期间标识的对象提议和在介于中间的单对象跟踪过程期间维护的对象轨迹的所描述的关联分配过程的使用增强了系统从由于视频流中的对象的全部或部分的临时遮挡而“丢失”的对象中恢复的能力。此外,通过利用多对象视频流数据进行训练,提高了相关滤波器跟踪模型在拥挤场景中跟踪对象的准确性,并且通过完全基于大型合成数据集来训练模型,减少了与训练相关滤波器跟踪模型相关联的时间和精力成本,消除了利用标签注释真实视频流以使其能够用于训练所需的工作。
图1是示出根据实施例的用于跟踪视频流104中的多个对象并实时提供相关联的对象位置数据122的系统100的框图。系统100包括对象跟踪模块102,其以帧(例如,帧106、108、110和112)的流的形式实时接收视频流104。对象跟踪模块102包括硬件、固件和/或软件,这些硬件、固件和/或软件被配置为在帧被接收时对其进行分析并实时或近实时地提供与在帧中描绘的多个对象相关联的对象位置数据122。在一些示例中,对象跟踪模块102在包括一个或多个计算机设备的计算机系统上实现或以其他方式与计算机系统相关联。视频流104可以由对象跟踪模块102经由计算设备的通信接口接收,诸如计算机设备的数据存储组件与处理组件之间的接口和/或视频捕获设备与计算机设备的处理组件之间的网络接口。此外,对象位置数据122可以经由相同或不同的通信接口被提供给另一模块、组件或实体,诸如提供对象位置数据122以供在计算机设备的用户接口上显示和/或提供对象位置数据122以供存储在计算机设备的数据存储组件上。在不脱离本文描述的情况下,系统100可以在其他布置中配置有更多、更少或不同的组件。
视频流104包括多个帧(例如,帧106至112),这些帧以定义的速率以连续顺序被提供给对象跟踪模块102。对象跟踪模块102被配置为将每个接收到的帧分类为定义的帧类型。如图所示,帧可以是检测帧类型(例如,检测帧106和112)或跟踪帧类型(例如,跟踪帧108和110)。帧的类型由对象跟踪模块102使用来确定如何分析帧以进行如本文所述的对象跟踪。针对视频流104的帧的帧类型的分类基于定义的帧间隔114,其可以包括帧的数量(例如,30帧的间隔)和/或时间间隔(例如,一秒的间隔)。间隔中的帧集合包括作为间隔的第一帧的检测帧(例如,检测帧106)和作为间隔中的剩余帧的跟踪帧(例如,跟踪帧108至110)。在一些示例中,当该帧集合中的每个帧被对象跟踪模块102接收时,一次一个帧如本文所述被处理。因此,对象检测过程和相关联的分析在每个间隔中针对间隔的第一帧被执行一次,并且对象跟踪过程和相关联的分析针对间隔的每个跟踪帧被执行(例如,如果间隔为30帧,则对象检测过程被执行一次,随后是针对29个接下来的帧中的每个帧执行的对象跟踪过程)。在间隔的所有帧已经被对象跟踪模块102接收之后,接收到的下一帧被分类为新间隔的第一帧(例如,检测帧112)。在其他一些示例中,检测帧和跟踪帧的不同间隔和/或模式可以被使用而不脱离本文的描述。
对象跟踪模块102包括对象检测器116、对象轨迹管理器118和提议-轨迹关联模块120。这些模块的组合过程产生对象位置数据122,该对象位置数据122可以从对象跟踪模块102提供给另一模块和/或接口。如果当前正在处理的帧是检测帧,则将其提供给对象检测器116并且对象检测过程被执行。备选地,如果当前正在处理的帧是跟踪帧,则将其提供给对象轨迹管理器118并且对象跟踪过程被执行。对象检测过程还涉及提议-轨迹关联模块120。
在一些示例中,对象检测器116被配置为分析接收到的检测帧以生成一个或多个对象提议124。在一些示例中,对象提议124是基于将对象检测算法和/或过程应用于当前检测帧而生成的(例如,检测的对象是基于每个检测帧的独立分析,而不使用相邻帧进行对象检测过程)。对象检测器116可以使用机器学习过程或技术来训练以检测帧中的对象,此外,对象检测器116的训练可以包括与特定类型的对象(例如,人、汽车、动物等)相关联的训练。使用的训练数据可能包括大量数据集,这些数据集捕获不同的相机视点、可见性或遮挡大小。在一些示例中,对象检测器116包括一个或多个卷积神经网络(CNN)和/或基于区域的CNN(R-CNN),它们被训练以检测帧中特定类型对象(诸如人)的位置并且以包括边界框的对象提议124的形式提供相关联的位置数据。然而,在其他一些示例中,其他类型的对象检测过程或算法可以被使用而不脱离本文的描述。
对象跟踪管理器118包括经训练的对象跟踪模型126并且被配置为创建和管理与视频流104相关联的当前对象轨迹128。接收到的跟踪帧(例如跟踪帧108至110)被提供给对象跟踪管理器118,并且被管理器118用来基于跟踪帧中提供的新信息更新当前对象轨迹128。在一些示例中,对象跟踪管理器118被配置为执行单对象跟踪过程和/或算法,以在检测帧之间随时间传播和链接由对象检测器116进行的对象检测。在这样的示例中,经训练的对象跟踪模型126被训练为对每个当前对象轨迹128执行单对象跟踪并且基于相关联的单对象跟踪执行的结果来更新每个当前对象轨迹128。单对象跟踪用于维护和更新每个被跟踪对象的状态信息,因为它从一帧到另一帧在空间中移动,并且使用状态信息将暂时被遮挡的对象在解除遮挡后链接回其原始状态。
在一些示例中,对象轨迹管理器118被配置为使用相关滤波器跟踪器(例如,基于CFNet算法),相关滤波器跟踪器使用经训练的对象跟踪模型126来区分图像及其平移。它利用了两个小块的卷积(即它们在不同相对平移处的点积)等效于傅里叶域中的逐元素乘积这一事实。因此,通过在傅里叶域中制定跟踪目标,它可以一次为多个平移或图像移位指定线性分类器的期望输出。
相关滤波器跟踪器的目标函数可以表示为图像空间中的以下岭回归:
在上面的等式中,w表示经学习的模板,φ(x)是图像到搜索的特征图,并且g是模型回归到的目标(理想响应)形状(例如,二维(2D)高斯)。2D高斯表示其峰值位于图像中心的分布。★运算符指示经变换的输入与模板之间的循环互相关。
该目标在等效的拉格朗日对偶中求解,以使其具有计算效率。根据表示定理(Representer Theorem),w被基样本的线性组合代替。因此,基于核技巧,该算法可以用点积的形式编写,点积可以使用核函数计算:
核矩阵K表示图像与模板的特征图之间的所有成对点积。因此,解决此问题的解如下:
相关滤波器跟踪器(CFNet)将跟踪问题表述为区分图像及其平移的能力。在数学上,图像平移可以由循环移位来表示,即通过利用循环置换矩阵来置换图像样本。循环矩阵的属性是它们通过离散傅里叶变换成为对角的。因此,将上述优化映射到傅里叶域以实现两个计算优势。首先,图像空间中的互相关变成傅里叶空间中的逐元素乘法。其次,循环核矩阵是傅里叶域中的对角矩阵,使得计算逆变得更容易,从而问题变得从端到端可微。上述解可以表示为傅里叶域中的以下两步解:
初始化对象状态:
φ(z)=Conv2(w2*Conv1(w1*z))
检测响应:
cx,cy,s=argmax(f(x))
更新模型:
在其他一些示例中,其他单对象跟踪过程和/或算法可以由对象跟踪管理器118使用而不背离本文的描述。
当前对象轨迹128包括使用针对经训练的对象跟踪模型126确定的帧中检测到的每个对象的对象位置数据和与一个或多个先前帧相关联的当前对象轨迹128的对象位置数据。因此,对象轨迹管理器118基于当前跟踪帧并基于来自先前跟踪帧的当前对象轨迹128的对象位置数据来执行对象跟踪过程。在一些示例中,当前对象轨迹128包括例如对象的边界框形式的对象位置数据和/或与对象相关联的坐标,诸如与对象的中心对应的坐标。在一些示例中,当前对象轨迹128包括处于不同状态的对象轨迹的子集,诸如主动状态和/或被动状态,下面将参考图2更详细地描述。
提议-轨迹关联模块120被配置为分配由对象检测器116从检测帧创建的对象提议124与对象轨迹管理器118的当前对象轨迹128之间的关联。分配的关联将特定对象提议124连接到特定对象轨迹128。提议-轨迹关联模块120的操作可以进一步引起新的对象轨迹在对象轨迹管理器处被发起和/或终止或以其他方式移除针对相关联的对象在视频流104中不再可见或以其他方式可检测的对象轨迹。提议-轨迹关联模块120的操作将在下文关于图2更详细地描述。
对象位置数据122可以基于当前对象轨迹128和/或提议-轨迹关联模块120的分配的关联来生成和提供。在一些示例中,对象位置数据122包括对象标识符或标签、边界框和/或在视频流104的相关联帧中被检测和/或被跟踪的对象的坐标。备选地或附加地,对象位置数据122可以包括轨迹{T1,......TN},每个轨迹对应于在连续视频流104内移动的对象(诸如人)。每个轨迹Ti链接一系列检测到的对象状态{st......st+k},其中t标记针对对象的第一个可见帧并且t+k标记视频流104中相机的视点内的最后一个可见帧。对象p的状态由s=(P,S,K,M,C,δ,O)给出。对象状态以三个子状态来表征:当前位置、跟踪器模板和遮挡。P和S定义位置变量,其中P表示检测到的围绕对象的边界框的中心,并且S表示其大小。K、C和M保存每个对象的跟踪的状态,其中K定义对象模板,C表示置信度得分,并且M表示运动元数据。δ和O表示对象的遮挡的状态。O表示对象当前是否被遮挡,并且δ表示相关联的对象轨迹在遮挡下的持久性。这样的对象位置数据122可以作为对象跟踪模块102的输出被提供给另一组件、设备或其他实体以用于存储、显示或其他目的。例如,对象位置数据122的边界框可以经由用户接口叠加在视频流104的显示上,使得观察者可以实时看到视频流104中对象的轨迹。此外,对象轨迹信息可以用于空间内对象计数、跟踪由空间中对象进出的数目、跟踪对象在空间内花费的时间(停留时间)、跟踪对象在队列中花费的时间(例如,人们排队等候和/或汽车在交通拥堵中行驶)。此外,所描述的轨迹信息可以用于得益于保持对象在空间中的时间信息的其他事件而不脱离本文的描述。
图2是示出根据实施例的用于使用主动对象轨迹230和被动对象轨迹232以及与对象提议224的基于亲和度的关联242来跟踪视频流204中的多个对象的系统200的框图。在一些示例中,系统200被配置为与上述图1的系统100以基本相同的方式操作以提供对象位置数据222。另外,如图所示,系统200提供关于由提议-轨迹关联模块220分配关联的附加细节和关于当前对象轨迹228和经训练的对象跟踪模型226的相关联的细节。
在基于间隔214从视频流204接收检测帧(例如,检测帧206)时,对象跟踪模块202将该帧提供给对象检测器216,对象检测器216如上所述生成对象提议224。对象提议224由提议-轨迹关联模块220与当前对象轨迹228一起用于分配对象提议224和当前对象轨迹228之间的关联。分配的关联使对象跟踪模块202能够使用对象检测器216准确地标识视频流的帧中的对象,以及然后使用当前对象轨迹228跟踪那些对象的移动并处理那些对象的遮挡。因此,针对由对象检测器216检测到的每个对象,对象轨迹管理器218维护对象轨迹228,该对象轨迹228存储对象的状态并且经由由对象检测器216的对象检测的实例之间的单对象跟踪来推断对象的轨迹。
在一些示例中,作为关联分配过程的一部分,提议-轨迹关联模块220被配置为计算每个提议-轨迹对(例如,对象提议224和当前对象轨迹228的组合)的亲和度得分234,利用所计算的亲和度得分构建和/或填充亲和度矩阵236,基于主动亲和度要求238和/或被动亲和度要求240来评估亲和度矩阵236中的所计算的亲和度得分234,并且然后基于那些评估来分配提议-轨迹对之间的关联242。作为关联分配过程的结果,提议-轨迹关联模块220还被配置为使对象轨迹处于主动状态(例如,主动对象轨迹230),使对象轨迹处于被动状态(例如,被动对象轨迹232),使对象轨迹管理器218创建新的主动对象轨迹230,和/或使对象轨迹管理器218从当前对象轨迹228中移除被动对象轨迹232。
计算针对提议-轨迹对的亲和度得分234包括计算对象提议224的对象位置数据与对象轨迹228的对象位置数据之间的一种或多种类型的亲和度(例如,空间亲和度和/或外观亲和度)。在一些示例中,提议-轨迹关联模块220被配置为计算提议与轨迹之间的空间亲和度,计算提议和轨迹之间的外观亲和度,并且然后将这两个亲和度组合成与该提议-轨迹对相关联的单个加权亲和度得分。例如,在一个示例中,提议与轨迹之间的空间亲和度使用交并比(IoU)度量以及边界框中心之间的欧几里德距离在边界框之间被量化。这可以被组合成针对空间亲和度的等式,如下所示:
在上述等式中,Z用于将值在0和1之间归一化。零的IoU(即,当框不重叠时)向点之间的空间距离添加一的恒定惩罚。当框重叠时,IoU占主导地位并降低了匹配框的成本。
在示例中,基于外观的亲和度通过以下被确定:将与对象轨迹管理器218相关联的相关过滤器应用于对象提议并直接使用置信图中的最大得分作为外观亲和度。针对外观亲和度的等式如下:
所计算的空间亲和度和外观亲和度得分可以被组合成单个加权得分。例如,每个亲和度得分可以乘以权重0.5并加在一起以形成组合的亲和度得分,每个亲和度类型具有相同的权重。在其他一些示例中,可以使用其他权重和/或组合方法而不脱离描述。
在一些示例中,亲和度矩阵236被构建,使得每个提议-轨迹对由矩阵236中的位置表示并且与该对相关联的亲和度得分234被填充到该位置中。然后被填充的亲和度矩阵236可以基于亲和度得分值被求解以确定如何分配提议224和轨迹228之间的关联。例如,在一个示例中,亲和度矩阵236使用二分线性分配算法被求解,该二分线性分配算受制于如下约束:
其中,每对检测的对象提议i和每个对象轨迹j的亲和度矩阵236由∑ijMijxij表示。在一些示例中,Kuhn-Munkres(又名匈牙利算法)用于求解亲和度矩阵236的分配问题。它将分配问题提出为原始-对偶解决方案,其通过迭代行缩减和列缩减步骤来实现。备选地,可以使用Jonker-Volgenant算法(Kuhn-Munkres的近似),它使用类似Dijkstra的算法来进行最短路径行增强以近似匈牙利算法。O(n3)的总时间复杂度使该方法能够提供快速分配。
此外,关联242的分配可以基于主动亲和度要求238和/或被动亲和度要求240。使用要求238和要求240两者,提议-轨迹关联模块220被配置为在两状态过程中分配关联242。首先,与主动对象轨迹230的关联是基于主动亲和度要求238基于相关联的亲和度得分234被满足来做出的。然后,对于未分配与主动对象轨迹230的关联的对象提议224的子集,与被动对象轨迹232的关联是基于被动亲和度要求240基于相关联的亲和度得分234被满足来做出的。主动亲和度要求238可以被配置为比被动亲和度要求240更严格或限制(例如,符合主动亲和度要求238比符合被动亲和度要求240更罕见和/或更困难)。
在一些示例中,主动亲和度要求238和被动亲和度要求240被定义为组合的亲和度得分234阈值,使得为了将关联242分配给具有主动对象轨迹的提议-轨迹对,与其相关联的亲和度得分234必须满足或超过主动亲和度要求阈值。可以针对被动亲和度要求240设置较低的或以其他方式不同的阈值。备选地或附加地,要求238和要求240可以基于亲和度类型。例如,在一个示例中,主动亲和度要求238包括特定的空间亲和度阈值,该特定的空间亲和度阈值必须被针对与要被分配的与主动对象轨迹230的关联242的相关联的空间亲和度得分满足。类似地,被动亲和度要求240可以包括特定的外观亲和度阈值,该特定的外观亲和度阈值必须被针对与要被分配的与被动对象轨迹230的关联242的相关联的外观亲和度得分满足。在其他一些示例中,较多、较少或不同的主动亲和度要求和/或被动亲和度要求可以用于分配关联242而不脱离本文的描述。
在将关联242分配给所描述的提议-轨迹对之后,当前对象轨迹228的状态可以基于关联242如何被分配来改变。如果提议224被分配了与主动对象轨迹230的关联242,则主动对象轨迹230被认为准确地跟踪存在于视频流帧中的对象,因此,主动对象轨迹230保持在主动状态下。
如果提议224被分配与被动对象轨迹232的关联242,则被动对象轨迹232被认为与在过去已经不可检测之后可检测地可见的对象相关联(例如,由于先前帧中的部分或完全遮挡)。因此,被动对象轨迹232被改变为主动状态,使得它变成用于下一个关联分配过程的目的的主动对象轨迹230。
如果主动对象轨迹230没有被分配来自该组对象提议224的关联,则主动对象轨迹230被认为与暂时被遮挡或已经永久离开视频流204的对象相关联。因此,主动对象轨迹230被改变为被动状态,使得它变成用于下一个关联分配过程的目的的被动对象轨迹232。
如果被动对象轨迹232没有被分配来自该组对象提议224的关联,则被动对象轨迹232被认为与保持暂时被遮挡或已经永久离开视频流204的对象相关联。在一些示例中,被动对象轨迹232包括在对象轨迹变成被动对象轨迹232时被设置为初始值的对象生存时间计数器。如果被动对象轨迹232没有被分配关联,则其对象生存时间计数器递减,并且,当计数器达到零时,被动对象轨迹232被终止和/或从对象轨迹管理器218的当前对象轨迹228中移除。备选地或附加地,指示每个被动对象轨迹232何时变为被动的时间戳可用于基于定义的时段确定被动对象轨迹232应当被移除。在每个检测帧的处理期间,在关联被分配之后,具有指示它们已经超过定义的时段的时间戳的被动对象轨迹232被终止和/或移除。
如果对象提议224没有被分配与任何主动对象轨迹230或被动对象轨迹232的关联242,则对象提议224被认为与视频流204中的新对象相关联。因此,新主动对象轨迹230基于未关联的对象提议224的对象位置数据在当前对象轨迹228中被创建。在一些示例中,新主动对象轨迹基于的未分配的对象提议超过定义阈值被创建。然后,新的主动对象230被对象轨迹管理器218使用以基于由如本文所述的检测帧触发的对象检测过程之间的跟踪帧来跟踪相关联对象的轨迹。
此外,在一些示例中,对象轨迹状态缓存用于解决由对象检测器216的对象的漏检和/或视频流204中的对象的遮挡(例如,某些帧中对象被其他对象阻挡)。例如,如果对象轨迹是主动对象轨迹230,则其当前状态在计算相关联的亲和度得分234时被使用,如所描述的。备选地,如果对象轨迹进入被动状态,使得它变成被动对象轨迹232,其状态在那个时刻被缓存,尽管被动对象轨迹232在由对象轨迹管理器218基于跟踪帧的单对象跟踪期间继续被更新。当提议-轨迹关联模块220计算亲和度得分234时,它被配置为计算与被动对象轨迹232的当前状态和被动对象轨迹232的缓存状态中的每个状态相关联的亲和度得分234(从它先前进入被动状态时开始)。然后两个亲和度得分234中的最高值在分配关联242时被使用。因此,如果对象在检测期间被另一个对象显式地遮挡,则轨迹可能基于缓存状态被分配关联,或者,如果对象由于先前检测的漏检而隐式地被遮挡,则轨迹可能基于当前状态被分配关联。在这样的示例中,被动对象轨迹o与检测的对象提议d的亲和度可以根据如下等式表示,使得关于对象轨迹的当前状态所计算的亲和度得分与关于对象轨迹的缓存状态所计算的亲和度得分之间的最大值:
亲和度app(d,o被动)=max(亲和度app(d,o当前),Affinityapp(d,o缓存))
在其他一些示例中,对象提议和对象轨迹之间的关联可以根据亲和度得分计算的其他方法和/或其他亲和度要求来分配,而不脱离本文的描述。
图3是示出根据实施例的用于训练用于在视频流中跟踪对象(作为经训练的对象跟踪模型326)和更新对象轨迹328的单对象跟踪模型338的系统300的框图。在一些示例中,系统300是系统(诸如图1和图2各自的系统100和/或200)的一部分或以其他方式与系统相关联。此外,单对象跟踪模型338的训练可以在其用作对象跟踪管理器318中的经训练的对象跟踪模型326之前被执行。
单对象跟踪模型训练器334包括硬件、固件和/或软件,该硬件、固件和/或软件被配置为使用训练数据(例如,多对象训练数据336)来训练单对象跟踪模型338,单对象跟踪模型338然后可以被用于对一系列图像(例如,视频流204的帧206至212)执行单对象跟踪操作。在一些示例中,单对象跟踪模型训练器334被配置为使用单对象跟踪模型338对多对象训练数据336的第一部分执行单对象跟踪以产生跟踪结果,并且然后将跟踪结果与直接在第一部分之后的多对象训练数据336的第二部分相比较。基于跟踪结果和训练数据的第二部分之间的差异,单对象跟踪模型训练器334被配置为调整单对象跟踪模型338的规则、属性或其他方面,以这样的方式,单对象跟踪模型338关于基于训练数据336产生跟踪结果的准确性得到提高。在其他一些示例中,使用训练数据336的训练单对象跟踪模型338的其他方法可以被使用而不背离描述。
在一些示例中,多对象训练数据336包括用于训练单对象跟踪模型338的真实数据340和/或合成数据342。真实数据340可以包括区域的视频流,该区域具有移动通过它的若干对象(诸如人)。例如,真实数据340可以包括多个顾客在商店购物的视频流。此外,真实数据340可以包括在各种位置、设置和/或情况下的多个对象的大量视频流,使得真实数据340包括对象的多种可能的运动模式,以便稳健地训练单对象跟踪模型。在一些示例中,真实数据340包括已被注释以标识视频流中对象的位置的视频流,并且那些注释可以由模型训练器334在单对象跟踪模型338的训练期间使用。
合成数据342可以包括已经由计算机等合成地生成的移动通过环境的多个对象的视频流。与真实数据340类似,合成数据可以包括在各种位置、设置和/或情况下的多个对象的大量虚拟视频流。另外,合成数据342可以被生成以包括指示视频流中对象的位置的注释,这些注释可以由模型训练器334在单对象跟踪模型338的训练期间使用。在一些示例中,单对象跟踪模型训练器334仅使用合成数据342训练单对象跟踪模型338,从而能够避免从真实视频流生成和准备训练数据的大量成本。
在一些示例中,单对象跟踪模型338是相关滤波器跟踪器,诸如CFNet模型。训练器334被配置为将相同对象的一对时移小块(例如,视频流帧的部分)传递到Siamese CNN中,其在Siamese CNN的一侧生成目标小块的特征以及Siamese CNN的另一侧生成搜索小块的特征。目标小块的特征被传递到相关滤波器跟踪器模型中以计算判别模板。模板与搜索小块的特征相关以生成高斯分布,该高斯分布与理想的高斯响应相匹配,以计算相关滤波器跟踪器在计算模板时的性能与理想跟踪性能之间的损失。在另外的示例中,该训练例程不会将相关滤波器跟踪器模型暴露于小块的时间演变,因为它们经历了各种姿势和/或交互模式。而是,跟踪偏置在模型训练期间被引起。目标模板使用基准真相被初始化,并且然后模板与理想性能之间的损失随着模型在整个视频序列中被更新而在每个帧上按顺序被计算。因此,训练例程以与上述关于相关滤波器跟踪器描述的跟踪例程基本相同的方式被执行。然后总损失可以使用基准真相被计算,并在视频流的帧序列之上被求和。
在单对象跟踪模型338被单对象跟踪模型训练器334训练之后,应该理解,单对象跟踪模型338作为经训练的目标跟踪模型326被提供给对象轨迹管理器318,使得它可以在对象跟踪操作期间由对象轨迹管理器318与之相关联的对象跟踪模块(例如,模块102、202)使用,如本文所述。
图4是示出根据实施例的跟踪视频流中的多个对象并提供相关联的对象位置数据的过程400的流程图。在一些示例中,过程400由系统(诸如图1的系统100和/或图2的系统200)的一个或多个组件执行或以其他方式被执行。在402,视频流的帧被接收。过程400可以包括以帧被捕获和/或被记录的速率(例如,实时)接收连续序列中的视频流的帧。在一些示例中,视频流可能在过去已经被捕获并被存储和/或它当前可能随着帧由相关联的对象跟踪模块接收而正在被捕获。
在404,如果接收的帧是检测帧,则过程进行到406。备选地,如果接收的帧不是检测帧(例如,帧处于跟踪帧),则过程进行到412。在一些示例中,确定所接收的帧是否是检测帧是基于定义的帧间隔,如上面关于间隔114所描述的。例如,在定义的时间间隔中接收的首个帧可以被认为是检测帧,而该时间间隔中的其他帧是跟踪帧。备选地或附加地,在定义数量的连续帧中接收的首个帧可以被认为是检测帧,而在该数量的连续帧中的其他帧是跟踪帧。在其他一些示例中,其他间隔和/或模式可以在确定接收的帧是否是检测帧时被使用而不背离描述。
在406,对象提议集在接收的帧中被检测。在一些示例中,对象提议使用对象检测方法被检测,该对象检测方法分析帧中的模式以标识帧中可能与对象相关联的区域。此外,对象检测过程可以基于对象检测器组件或模块,该对象检测器组件或模块被训练以检测特定类型的对象,诸如人、汽车、动物等。检测的对象提议可以包括对象位置数据,诸如边界框、坐标、对象标识符等。
在408,对象提议集和对象轨迹集之间的关联被分配。关联可以基于个体对象提议与个体对象轨迹之间的确定的亲和度来分配。在410,该对象轨迹集的状态基于分配的关联被更新。下面参考图5更详细地描述关联过程和状态更新过程。
在状态被更新之后,过程进行到416,在该点,基于对象轨迹的实时位置数据流被提供以供系统的另一组件显示、存储或其他使用。
如果在404帧不是检测帧,则在412基于对象轨迹集对个体帧执行单对象跟踪。在一些示例中,单对象跟踪过程被执行以基于当前接收的帧和与先前分析的帧相关联的对象轨迹的对象位置数据来跟踪与对象轨迹集中的每个对象轨迹相关联的帧中对象的移动。附加地或备选地,单对象跟踪基于使用多对象训练数据训练以跟踪对象的单对象跟踪模型。此外,单对象跟踪模型的训练数据可以是大的合成生成的视频流集,该大的合成生成的视频流集描绘了在各种环境中移动和/或交互的对象的组。
在414处,对象轨迹集基于所执行的单对象跟踪被更新。在一些示例中,更新对象轨迹集包括调整存储在其上的对象位置数据(例如,边界框、坐标等)以反映针对每个对象轨迹执行的单对象跟踪的结果。在对象轨迹集被更新之后,在416,基于最近更新的对象轨迹集的实时位置数据流被提供,如本文所述。
在416之后,该过程可以返回到402以接收另一视频帧。过程400可以随着视频流的连续帧被接收而被重复执行,使得对象位置数据流在如所描述的每个帧的处理之后基本上实时地被提供。
图5是示出根据实施例的分配对象提议和对象轨迹之间的关联的过程500的流程图。在一些示例中,过程400由系统(诸如图1的系统100和/或图2的系统200)的一个或多个组件执行或以其他方式实施。此外,过程500可以作为图4的过程400的步骤408和/或410的一部分来执行。例如,502和504可以作为过程400的408的一部分来执行。在502,对象提议和主动对象轨迹之间的关联基于所计算的亲和度得分和主动亲和度要求被分配。在一些示例中,亲和度得分针对对象提议和对象轨迹的每个对被计算,并且那些亲和度得分使用主动亲和度要求被评估以确定哪些对象提议被分配与主动对象轨迹的关联。附加地或备选地,被计算的亲和度得分可以包括与不同类型的亲和度相关联的得分,诸如空间亲和度和/或外观亲和度。此外,主动亲和度要求可以包括与为了关联在对象提议和主动对象轨迹之间被分配而必须被符合的亲和度得分相关联的阈值或限制(例如,空间亲和度阈值必须被满足或超过以符合主动亲和度要求)。
类似地,在504,对象提议和被动对象轨迹之间的关联基于所计算的亲和度得分和被动亲和度要求被分配。在一些示例中,在502处被分配与主动对象轨迹的关联的对象提议在不在504处被评估以供关联到被动对象轨迹的分配。此外,与主动对象轨迹一样,对象提议与被动对象轨迹之间的关联的分配可以基于基于被动亲和度要求评估亲和度得分(例如,外观亲和度阈值必须被满足或超过才能符合被动亲和度要求)。附加地或备选地,主动亲和度要求可以被配置为比被动亲和度要求更严格,使得为对象提议和被动对象轨迹对分配关联比为对象提议和主动对象轨迹对分配关联更容易。
在一些示例中,506至512被执行为如本文所述的过程400的410的一部分。在506,在对象提议和对象轨迹之间的关联已经被分配之后,已经被分配了与对象提议的关联的任何被动对象轨迹被转换为主动对象轨迹。因此,在未来的关联分配过程期间,主动亲和度要求必须被符合,才能为对象提议分配与该被转换的对象轨迹的关联。
在508,与对象提议不相关联的任何主动对象轨迹(例如,没有关联被分配给包括主动对象轨迹的提议-轨迹对)被转换为被动对象轨迹。在一些示例中,从主动对象轨迹转换为被动对象轨迹包括存储时间戳和/或基于转换设置对象轨迹生存时间计数器。被动对象轨迹保持被动的时间长度和/或关联分配过程的数目被跟踪以确定被动对象轨迹何时应该被移除,如本文所述。此外,对象轨迹的状态可在其被转换时被缓存,使得缓存的状态可以用于如本文所述的未来关联分配中。
在510,对于与对象轨迹不相关联的每个对象提议(例如,没有关联被分配给包括对象提议的提议-轨迹对),新的主动对象轨迹在由系统维护的对象轨迹集中被创建。因此,新创建的对象轨迹在跟踪帧的整个处理中被维护,并且可以在未来的关联分配过程中被分配与对象提议的关联。
在512处,已经比定义的对象轨迹生存时间间隔长地处于被动的被动对象轨迹被终止或者以其他方式从由系统维护的对象轨迹集中移除。该间隔可以与被动对象轨迹保持被动的时间长度相关联(例如,基于当被动对象轨迹变为被动时创建的时间戳)和/或与被动对象轨迹针对其保持被动的检测帧的数目相关联(例如,基于当被动对象轨迹变为被动时发起的计数器)。
在512之后,对象轨迹的状态已经被更新并且图5的过程500结束。然而,在512之后,在一些示例中,过程500进行到处理视频流的帧的总体过程的下一步,诸如过程400。例如,在512之后,过程可以进行到如上所述的过程400的416。
附加的示例场景
本公开的方面能够实现各种附加场景,诸如接下来描述的。
在一个示例中,对象跟踪模块被配置为跟踪来自便利店中的相机的视频流中的多个人的轨迹。视频流由对象跟踪模块以每秒15帧的速度实时接收,并且定义的检测帧间隔为每15帧一个检测帧,或每秒一个检测帧。如本文所述,所有其他帧都被处理为跟踪帧。
对象跟踪模块在被跟踪的人在视频流的帧内四处移动时以围绕他们的边界框的形式提供与视频流相关联的对象位置数据流。对象位置数据流还包括标识符或标签,使得视频流中的每个被跟踪的人与帧中的其他人区分开来,并且标签在被跟踪的人在视频流的帧中四处移动时保持一致。边界框和标签叠加在视频流上,使得具有叠加的视频流的观看者可以在人们在视频流的帧中四处移动时观察边界框和相关联位置数据的变化。
在另外的示例中,对象跟踪模块包括与视频流的帧中的四个人相关联的四个主动对象轨迹。当视频流的一组跟踪帧被对象跟踪模块接收时,对象跟踪模块基于被训练用于跟踪人的单对象跟踪模型对主动对象轨迹中的每个主动对象轨迹执行单对象跟踪操作。因此,主动对象轨迹的对象位置数据被更新,并且已更新的对象位置数据被提供用于在视频流的叠加中显示。
在接收到检测帧时,基于定义的检测帧间隔,对象跟踪模块基于被训练专门检测视频帧中的人而对帧执行对象检测操作。对象跟踪模块检测帧中的四个人,并且与被检测的人和对象轨迹的每个对相关联的亲和度得分被计算,包括空间亲和度得分、外观亲和度得分和两个亲和度得分的组合加权得分。所有四个当前对象轨迹都是主动的,并且关联在被检测的人中的三个人和主动对象轨迹中的三个主动对象之间被关联。将没有被分配关联的第四个对象轨迹转换为被动对象轨迹,包括生成被设置为值二的对象轨迹生存时间计数器并且缓存被转换的被动对象轨迹的对象位置状态。基于未分配关联的被检测的人,对象跟踪模块创建与被检测的人相关联的新主动对象轨迹,用于在跟踪帧期间进行跟踪。
稍后,在另一检测帧期间,在检测到帧中的人之后,与被动对象轨迹相关联的亲和度得分针对对象轨迹的当前状态和对象轨迹的缓存状态两者被计算。最高的亲和度得分(例如,最有可能引起关联被分配给被动对象轨迹)在关联分配过程期间被使用。因此,被检测的人被分配与被动对象轨迹的关联,并且基于所分配的关联,被动对象轨迹被转换回主动对象轨迹。
在相关示例中,在检测帧的处理期间,另一个被动对象轨迹没有被分配与被检测的人的关联。基于缺少关联,对象轨迹生存时间计数器递减。被动对象轨迹的对象轨迹生存时间计数器达到零,并且被动对象轨迹从对象轨迹集中被移除,使得对象跟踪模块不再针对被移除的对象轨迹执行单对象跟踪。
示例性操作环境
本公开可以根据实施例与计算装置一起操作,如图6中的功能框图600。在一个实施例中,计算装置618的组件可以实现为根据本说明书中描述的一个或多个实施例的电子设备的一部分。计算装置618包括一个或多个处理器619,其可以是微处理器、控制器或任何其他合适类型的处理器,用于处理计算机可执行指令以控制电子设备的操作。备选地或附加地,处理器619是能够执行逻辑或指令的任何技术,诸如硬编码机器。附加地或备选地,在一些示例中,被配置用于执行逻辑或指令的图形处理单元627(GPU)被包括在计算装置618中。包括操作系统620的平台软件或任何其他合适的平台软件可以被提供在装置618上以使应用软件621能够在设备上执行。根据一个实施例,在传感器管理设备的SDL中接收和存储传感器定义数据以及将传感器定义数据提供给终端设备以用于配置和操作如本文所述的连接的传感器可以通过软件、硬件和/或固件实现。
计算机可执行指令可以使用由计算装置618可访问的任何计算机可读介质来提供。计算机可读介质可以包括例如计算机存储介质(诸如存储器622)和通信介质。计算机存储介质(诸如存储器622)包括以用于存储信息(诸如计算机可读指令、数据结构、程序模块等)的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EPROM、EEPROM、永久存储器、相变存储器、闪存或其他存储技术、CD-ROM、数字多功能磁盘(DVD)或其他光学存储、磁带盒、磁带、磁盘存储、叠瓦磁盘存储或其他磁存储设备,或可以用于存储信息以供计算装置访问的任何其他非传输介质。与之相对照,通信介质可以在调制数据信号(诸如载波或其他传送机制)中体现计算机可读指令、数据结构、程序模块等。如本文所定义,计算机存储介质不包括通信介质。因此,计算机存储介质本身不应被解释为传播信号。传播的信号本身不是计算机存储介质的示例。尽管计算机存储介质(存储器622)示出在计算装置618内,但是本领域技术人员将理解,存储可以远程分布或定位并经由网络或其他通信链路(例如,使用通信接口623)访问。
计算装置618可以包括输入/输出控制器624,该输入/输出控制器624被配置为将信息输出到一个或多个输出设备625,例如显示器或扬声器,其可以与电子设备分开或集成到电子设备中。输入/输出控制器624还可以被配置为接收和处理来自一个或多个输入设备626的输入,例如键盘、麦克风或触摸板。在一个实施例中,输出设备625也可以作为输入设备。这样的设备的示例可以是触敏显示器。输入/输出控制器624也可以将数据输出到除了输出设备之外的设备,例如本地连接的打印设备。在一些实施例中,用户可以向(多个)输入设备626提供输入和/或从(多个)输出设备625接收输出。
本文所述的功能可以至少部分地由一个或多个硬件逻辑组件来执行。根据一个实施例,计算装置618由程序代码配置为当由处理器619执行时执行所描述的操作和功能的实施例。备选地或附加地,本文描述的功能可以至少部分地由一个或多个硬件逻辑组件来执行。例如但不限于,可以使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、程序专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)、图形处理单元(GPU)(例如GPU 627)。
图中的各种元件的功能的至少一部分可以由图中的其他元件或者图中未示出的实体(例如,处理器、web服务、服务器、应用程序、计算设备等)执行。
尽管结合示例性计算系统环境进行了描述,但是本公开的示例能够利用许多其他通用或专用计算系统环境、配置或设备来实现。
可以适用于本公开的各方面的众所周知的计算系统、环境和/或配置的示例包括但不限于移动或便携式计算设备(例如,智能手机)、个人计算机、服务器计算机、手持式(例如平板电脑)或膝上型设备、多处理器系统、游戏控制台或控制器、基于微处理器的系统、机顶盒、可编程消费电子产品、移动电话、可穿戴或附件形式(例如手表、眼镜、头戴式耳机或耳机)的移动计算和/或通信设备、网络PC、小型计算机、大型计算机、包括任何上述系统或设备的分布式计算环境等。一般而言,本公开可以与具有处理能力的任何设备一起操作,使得它可以执行诸如本文所述的那些指令。这样的系统或设备可以以任何方式接受来自用户的输入,包括从输入设备(诸如键盘或指点设备)、经由手势输入、接近输入(诸如通过悬停)和/或经由语音输入。
本公开的示例可以在由一个或多个计算机或其他设备以软件、固件、硬件或其组合执行的计算机可执行指令(诸如程序模块)的一般上下文中描述。计算机可执行指令可以被组织成一个或多个计算机可执行组件或模块。通常,程序模块包括但不限于执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件和数据结构。本公开的各方面可以用任何数目和组织的这样的组件或模块来实现。例如,本公开的方面不限于图中所示和本文描述的特定的计算机可执行指令或特定组件或模块。本公开的其他示例可以包括不同的计算机可执行指令或组件,其具有比本文说明和描述的更多或更少的功能。
在涉及通用计算机的示例中,当被配置为执行本文描述的指令时,本公开的方面将通用计算机转换为专用计算设备。
一种用于在实时视频流中跟踪多个对象的示例系统包括:至少一个处理器;以及至少一个存储器,包括计算机程序代码,至少一个存储器和计算机程序代码被配置为利用至少一个处理器使该至少一个处理器:确定实时视频流的多个帧中的个体帧的帧类型;基于个体帧是对象检测帧类型:在个体帧中检测对象提议集,分配对象提议集与对象轨迹集之间的关联,以及基于所分配的关联来更新对象轨迹集的状态;基于个体帧是对象跟踪帧类型:基于对象轨迹集中的每个对象轨迹,对个体帧执行单对象跟踪;基于所执行的单对象跟踪来更新对象轨迹集;以及基于对象轨迹集来提供实时对象位置数据流。
一种用于跟踪实时视频流中的多个对象的示例计算机化方法包括:由处理器确定实时视频流的多个帧中的个体帧的帧类型;基于个体帧是对象检测帧类型:由处理器在个体帧中检测对象提议集,由处理器分配检测到的对象提议集与对象轨迹集之间的关联,由处理器基于多分配的关联来更新对象轨迹集的状态;基于个体帧是对象跟踪帧类型:由处理器基于对象轨迹集中的每个对象轨迹来对个体帧执行单对象跟踪,由处理器基于所执行的单对象来跟踪更新对象轨迹集,以及由处理器基于对象轨迹集提供实时对象位置数据流。
一种或多种计算机存储介质,具有用于跟踪实时视频流中的多个对象的计算机可执行指令,该计算机可执行指令在由处理器执行时使处理器至少:确定实时视频流的多个帧中的个体帧的帧类型;基于个体帧是对象检测帧类型:在个体帧中检测对象提议集,分配对象提议集与对象轨迹集之间的关联;以及基于所分配的关联来更新对象轨迹集的状态;基于个体帧是对象跟踪帧类型:基于对象轨迹集中的每个对象轨迹来对个体帧执行单对象跟踪,基于所执行的单对象跟踪更新对象轨迹集,以及基于对象轨迹集提供实时对象位置数据流。
备选地,或者除了本文描述的其他示例之外,示例包括以下的任何组合:
-分配对象提议集与对象轨迹集之间的关联包括:计算对象提议集与对象轨迹集之间的亲和度得分;基于所检测的对象提议集的第一子集的对象提议与对象轨迹集的主动对象轨迹集的主动对象轨迹之间的所计算的亲和度得分符合主动亲和度要求,将该第一子集与该主动对象轨迹集相关联;以及基于在所检测的对象提议集的第二子集的对象提议与对象轨迹集的被动对象轨迹集的被动对象轨迹之间的所计算的亲和度得分符合被动亲和度要求,将该第二子集与该被动对象轨迹集相关联。
-其中基于所分配的关联来更新对象轨迹集的状态包括:基于被动对象轨迹集中的被动对象轨迹与第二子集的对象提议相关联,将该被动对象轨迹转换为主动对象轨迹;基于主动对象轨迹集中的主动对象轨迹与第一子集的对象提议不相关联,将该主动对象轨迹转换为被动对象轨迹,并将与该主动对象轨迹相关联的对象生存时间计数器设置为对象生存时间值;基于对象提议集中的对象提议与对象轨迹集中的对象轨迹不相关联,将新的主动对象轨迹初始化到与对象提议相关联的对象轨迹集中;基于被动对象轨迹集中的被动对象轨迹与对象提议不相关联,递减与该被动对象轨迹相关联的对象生存时间计数器;以及基于被动对象轨迹集的被动对象轨迹具有等于零的对象生存时间计数器,从被动对象轨迹集中移除该被动对象轨迹。
-其中将主动对象轨迹转换为被动对象轨迹包括存储经转换的被动对象轨迹的缓存状态;并且其中计算与被动对象轨迹相关联的亲和度得分包括基于被动对象轨迹的当前状态计算亲和度得分,基于被动对象轨迹的缓存状态计算亲和度得分,以及在基于被动对象轨迹的当前状态计算的亲和度得分与基于被动对象轨迹的缓存状态计算的亲和度得分之间选择较高的亲和度得分。
-其中所计算的亲和度得分包括空间亲和度得分和外观亲和度得分;其中主动亲和度要求包括应被空间亲和度得分满足的空间亲和度阈值;以及其中被动亲和度要求包括应被外观亲和度得分满足的外观亲和度阈值。
-其中确定实时视频流的多个帧中的个体帧的帧类型包括:基于个体帧是帧间隔的第一帧,确定个体帧是检测帧;以及基于个体帧是除了帧间隔的第一帧之外的帧,确定个体帧是跟踪帧。
-还包括:由处理器基于一组多对象训练数据来训练单对象跟踪模型;以及其中基于对象轨迹集中的每个对象轨迹对个体帧执行单对象跟踪是基于经训练的单对象跟踪模型的。
-其中多对象训练数据包括合成多人训练数据,其中单对象跟踪模型被训练以跟踪所述视频流中的多个人;并且其中所检测的对象提议集中的每个对象提议与个体帧中的检测到的人相关联。
本文给出的任何范围或设备值都可以被扩展或改变而不会失去所寻求的效果,这对于本领域技术人员来说将是明显的。
虽然个人可标识信息没有被本公开的各方面跟踪,但是已经参考从用户监测和/或收集的数据描述了示例。在一些示例中,通知(例如,经由对话框或偏好设置)可以向收集数据的用户提供,并且用户被给出机会以给予或拒绝对监测和/或收集的同意。同意可以采取选择同意或选择退出同意的形式。
尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,在所附权利要求中定义的主题不一定限于上述特定特征或动作。相反,上述特定特征和动作被公开为实现权利要求的示例形式。
将理解,上述益处和优点可以涉及一个实施例或可以涉及几个实施例。实施例不限于解决任何或所有所述问题的那些实施例或具有任何或所有所述益处和优点的那些实施例。将进一步理解,提及“一个”项是指那些项中的一个或多个项。
本文所示和描述的实施例以及本文未具体描述但具有权利要求的方面的范围的实施例构成用于以下的示例性部件:由处理器确定视频流的多个帧中的个体帧的帧类型;基于个体帧是对象检测帧类型:用于由处理器在个体帧中检测对象提议集的示例性部件;用于由处理器分配检测到的对象提议集和对象轨迹集之间的关联的示例性部件;用于由处理器基于所分配的关联来更新对象轨迹集的状态的示例性部件;基于个体帧是对象跟踪帧类型:用于由处理器基于对象轨迹集中的每个对象轨迹对个体帧执行单对象跟踪的示例性部件;用于由处理器基于所执行的单对象跟踪来更新对象轨迹集的示例性部件;以及用于由处理器基于对象轨迹集提供实时对象位置数据流的示例性部件。
本说明书中使用的术语“包括”是指包括跟随其后的(多个)特征或(多个)动作,而不排除一个或多个附加特征或动作的存在。
在一些示例中,图中所示的操作可以被实现为被编码在计算机可读介质上的软件指令、在被编程或设计为执行操作的硬件中、或两者。例如,本公开的方面可以实现为片上系统或包括多个互连的导电元件的其他电路系统。
除非另有说明,否则本文说明和描述的本公开的示例中的执行顺序或操作的执行不是必需的。也就是说,除非另有说明,否则操作可以以任何顺序执行,并且本公开的示例可以包括比本文公开的那些更多或更少的操作。例如,预期在另一操作之前、同时或之后进行或执行特定操作在本公开的方面的范围内。
当介绍本公开的方面的元素或其示例时,冠词“一个(a)”、“一个(an)”、“该”和“所述”旨在表示存在一个或多个元素。术语“包括(comprising)”、“包括(including)”和“具有”旨在具有包容性,并表示可能存在除所列元素之外的其他元素。术语“示例性”旨在表示“示例”。短语“以下一项或多项:A、B和C”是指“A中的至少一项和/或B中的至少一项和/或C中的至少一项”。
已经详细描述了本公开的各方面,将明显的是可以在不脱离如所附权利要求中限定的本公开的各方面的范围的情况下进行修改和变化。由于可以对上述结构、产品和方法进行各种改变而不脱离本公开的各方面的范围,因此应将上述描述中包含的和附图中所示的所有内容解释为说明性的而不是限制性的。
Claims (15)
1.一种用于在实时视频流中跟踪多个对象的系统,所述系统包括:
至少一个处理器;以及
至少一个存储器,包括计算机程序代码,所述至少一个存储器和所述计算机程序代码被配置为利用所述至少一个处理器使所述至少一个处理器:
确定所述实时视频流的多个帧中的个体帧的帧类型;
基于所述个体帧是对象检测帧类型:
在所述个体帧中检测对象提议集;
分配所述对象提议集与对象轨迹集之间的关联;以及
基于所分配的所述关联来更新所述对象轨迹集的状态;
基于所述个体帧是对象跟踪帧类型:
基于所述对象轨迹集中的每个对象轨迹,对所述个体帧执行单对象跟踪;以及
基于所执行的所述单对象跟踪来更新所述对象轨迹集;以及
基于所述对象轨迹集来提供实时对象位置数据流。
2.根据权利要求1所述的系统,其中分配所述对象提议集与所述对象轨迹集之间的所述关联包括:
计算所述对象提议集与所述对象轨迹集之间的亲和度得分;
基于所述对象提议集的第一子集中的对象提议与所述对象轨迹集中的主动对象轨迹之间的所计算的所述亲和度得分符合主动亲和度要求,将所述第一子集与所述对象轨迹集的主动对象轨迹集相关联;以及
基于所述对象提议集的第二子集中的对象提议与所述对象轨迹集中的被动对象轨迹集中的被动对象轨迹之间的所计算的所述亲和度得分符合被动亲和度要求,将所述第二子集与所述被动对象轨迹集相关联。
3.根据权利要求2所述的系统,其中基于所分配的关联来更新所述对象轨迹集的状态包括:
基于所述被动对象轨迹集中的被动对象轨迹与所述第二子集中的对象提议相关联,将所述被动对象轨迹转换为主动对象轨迹;
基于所述主动对象轨迹集中的主动对象轨迹与所述第一子集中的对象提议不相关联,将所述主动对象轨迹转换为被动对象轨迹,并且将与所述主动对象轨迹相关联的对象生存时间计数器设置为对象生存时间值;
基于所述对象提议集中的对象提议与所述对象轨迹集中的对象轨迹不相关联,将新的主动对象轨迹与所述对象提议相关联地初始化到所述对象轨迹集中;
基于所述被动对象轨迹集中的被动对象轨迹与对象提议不相关联,递减与所述被动对象轨迹相关联的对象生存时间计数器;以及
基于所述被动对象轨迹集中的被动对象轨迹具有等于零的对象生存时间计数器,从所述被动对象轨迹集移除所述被动对象轨迹。
4.根据权利要求3所述的系统,其中将所述主动对象轨迹转换为被动对象轨迹包括存储被转换的所述被动对象轨迹的缓存状态;以及
其中计算与被动对象轨迹相关联的亲和度得分包括基于所述被动对象轨迹的当前状态来计算亲和度得分,基于所述被动对象轨迹的缓存状态来计算亲和度得分,以及在基于所述被动对象轨迹的当前状态而被计算的所述亲和度得分与基于所述被动对象轨迹的缓存状态而被计算的所述亲和度得分之间选择较高的亲和度得分。
5.根据权利要求2所述的系统,其中所计算的所述亲和度得分包括空间亲和度得分和外观亲和度得分;
其中所述主动亲和度要求包括应被所述空间亲和度得分满足的空间亲和度阈值;以及
其中所述被动亲和度要求包括应被所述外观亲和度得分满足的外观亲和度阈值。
6.一种用于在实时视频流中跟踪多个对象的计算机化方法,所述计算机化方法包括:
由处理器确定所述实时视频流的多个帧中的个体帧的帧类型;
基于所述个体帧是对象检测帧类型:
由所述处理器在所述个体帧中检测对象提议集;
由所述处理器分配所检测的对象提议集与对象轨迹集之间的关联;以及
由所述处理器基于所分配的所述关联来更新所述对象轨迹集的状态;
基于所述个体帧是对象跟踪帧类型:
由所述处理器基于所述对象轨迹集中的每个对象轨迹,对所述个体帧执行单对象跟踪;以及
由所述处理器基于所执行的所述单对象跟踪来更新所述对象轨迹集;以及
由所述处理器基于所述对象轨迹集来提供实时对象位置数据流。
7.根据权利要求6所述的计算机化方法,其中分配所检测的所述对象提议集与所述对象轨迹集之间的所述关联包括:
计算所述对象提议集与所述对象轨迹集之间的亲和度得分;
基于所检测的所述对象提议集的第一子集中的对象提议与所述对象轨迹集的主动对象轨迹集中的主动对象轨迹之间的所计算的所述亲和度得分符合主动亲和度要求,将所述第一子集与所述主动对象轨迹集相关联;以及
基于所检测的所述对象提议集的第二子集中的对象提议与所述对象轨迹集的被动对象轨迹集中的被动对象轨迹之间的所计算的所述亲和度得分符合被动亲和度要求,将所述第二子集与所述被动对象轨迹集相关联。
8.根据权利要求7所述的计算机化方法,其中基于所分配的关联来更新所述对象轨迹集的状态包括:
基于所述被动对象轨迹集中的被动对象轨迹与所述第二子集的对象提议相关联,将所述被动对象轨迹转换为主动对象轨迹;
基于所述主动对象轨迹集中的主动对象轨迹与所述第一子集的对象提议不相关联,将所述主动对象轨迹转换为被动对象轨迹,并且将与所述主动对象轨迹相关联的对象生存时间计数器设置为对象生存时间值;
基于所述对象提议集中的对象提议与所述对象轨迹集中的对象轨迹不相关联,将新的主动对象轨迹与所述对象提议相关联地初始化到所述对象轨迹集中;
基于所述被动对象轨迹集中的被动对象轨迹与对象提议不相关联,递减与所述被动对象轨迹相关联的对象生存时间计数器;以及
基于所述被动对象轨迹集中的被动对象轨迹具有等于零的对象生存时间计数器,从所述被动对象轨迹集移除所述被动对象轨迹。
9.根据权利要求8所述的计算机化方法,其中将所述主动对象轨迹转换为被动对象轨迹包括存储被转换的所述被动对象轨迹的缓存状态;以及
其中计算与被动对象轨迹相关联的亲和度得分包括基于所述被动对象轨迹的当前状态来计算亲和度得分,基于所述被动对象轨迹的缓存状态来计算亲和度得分,以及在基于所述被动对象轨迹的当前状态而被计算的所述亲和度得分与基于所述被动对象轨迹的缓存状态而被计算的所述亲和度得分之间选择较高的亲和度得分。
10.根据权利要求7所述的计算机化方法,其中所计算的所述亲和度得分包括空间亲和度得分和外观亲和度得分;
其中所述主动亲和度要求包括应被所述空间亲和度得分满足的空间亲和度阈值;以及
其中所述被动亲和度要求包括应被所述外观亲和度得分满足的外观亲和度阈值。
11.根据权利要求6所述的计算机化方法,其中确定所述实时视频流的所述多个帧中的所述个体帧的所述帧类型包括:
基于所述个体帧是帧间隔的第一帧,确定所述个体帧是检测帧;以及
基于所述个体帧是除了所述帧间隔的所述第一帧之外的帧,确定所述个体帧是跟踪帧。
12.根据权利要求6所述的计算机化方法,所述计算机化方法还包括:
由所述处理器基于一组多对象训练数据来训练单对象跟踪模型;以及
其中基于所述对象轨迹集中的每个对象轨迹对所述个体帧执行单对象跟踪是基于经训练的所述单对象跟踪模型的。
13.根据权利要求12所述的计算机化方法,其中所述多对象训练数据包括合成多人训练数据,其中所述单对象跟踪模型被训练以跟踪所述视频流中的多个人;以及
其中所检测的所述对象提议集中的每个对象提议与所述个体帧中的被检测的人相关联。
14.一种或多种计算机存储介质,具有用于跟踪实时视频流中的多个对象的计算机可执行指令,所述计算机可执行指令在由处理器执行时使所述处理器至少:
确定所述实时视频流的多个帧中的个体帧的帧类型;
基于所述个体帧是对象检测帧类型:
在所述个体帧中检测对象提议集;
分配所述对象提议集与对象轨迹集之间的关联;以及
基于所分配的所述关联来更新所述对象轨迹集的状态;
基于所述个体帧是对象跟踪帧类型:
基于所述对象轨迹集中的每个对象轨迹,对所述个体帧执行单对象跟踪;以及
基于所执行的所述单对象跟踪来更新所述对象轨迹集;以及基于所述对象轨迹集来提供实时对象位置数据流。
15.根据权利要求14所述的一种或多种计算机存储介质,其中分配所述对象提议集与所述对象轨迹集之间的所述关联包括:
计算所述对象提议集与所述对象轨迹集之间的亲和度得分;
基于所述对象提议集的第一子集中的对象提议与所述对象轨迹集的主动对象轨迹集中的主动对象轨迹之间的所计算的所述亲和度得分符合主动亲和度要求,将所述第一子集与所述主动对象轨迹集相关联;以及
基于所述对象提议集的第二子集中的对象提议与所述对象轨迹集中的被动对象轨迹集的被动对象轨迹之间的所计算的所述亲和度得分符合被动亲和度要求,将所述第二子集与所述被动对象轨迹集相关联。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/886,442 US11386662B2 (en) | 2020-05-28 | 2020-05-28 | Tracking multiple objects in a video stream using occlusion-aware single-object tracking |
US16/886,442 | 2020-05-28 | ||
PCT/US2021/028272 WO2021242445A1 (en) | 2020-05-28 | 2021-04-21 | Tracking multiple objects in a video stream using occlusion-aware single-object tracking |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115699102A true CN115699102A (zh) | 2023-02-03 |
Family
ID=75850709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180038305.XA Pending CN115699102A (zh) | 2020-05-28 | 2021-04-21 | 使用遮挡感知单对象跟踪在视频流中跟踪多个对象 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11386662B2 (zh) |
EP (1) | EP4158528A1 (zh) |
CN (1) | CN115699102A (zh) |
WO (1) | WO2021242445A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11948312B2 (en) * | 2019-04-17 | 2024-04-02 | Nec Corporation | Object detection/tracking device, method, and program recording medium |
US11386662B2 (en) * | 2020-05-28 | 2022-07-12 | Microsoft Technology Licensing, Llc | Tracking multiple objects in a video stream using occlusion-aware single-object tracking |
US11430221B2 (en) * | 2020-09-11 | 2022-08-30 | Sensormatic Electronics, LLC | Enhancing detection of occluded objects in a multiple object detection system |
US11335008B2 (en) | 2020-09-18 | 2022-05-17 | Microsoft Technology Licensing, Llc | Training multi-object tracking models using simulation |
NL2026528B1 (en) * | 2020-09-23 | 2022-05-24 | Navinfo Europe B V | Method and system for labelling objects in a roadside video |
CN114902649A (zh) * | 2020-10-30 | 2022-08-12 | 谷歌有限责任公司 | 非遮挡视频叠加 |
CN114663812B (zh) * | 2022-03-24 | 2024-07-26 | 清华大学 | 基于多维注意力机制的联合检测与跟踪方法、装置及设备 |
CN116017162A (zh) * | 2022-12-15 | 2023-04-25 | 普联技术有限公司 | 图像处理方法、装置及处理设备 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9785744B2 (en) | 2010-09-14 | 2017-10-10 | General Electric Company | System and method for protocol adherence |
US9904852B2 (en) | 2013-05-23 | 2018-02-27 | Sri International | Real-time object detection, tracking and occlusion reasoning |
US9996771B2 (en) | 2016-02-15 | 2018-06-12 | Nvidia Corporation | System and method for procedurally synthesizing datasets of objects of interest for training machine-learning models |
US10019652B2 (en) | 2016-02-23 | 2018-07-10 | Xerox Corporation | Generating a virtual world to assess real-world video analysis performance |
US10019633B2 (en) | 2016-08-15 | 2018-07-10 | Qualcomm Incorporated | Multi-to-multi tracking in video analytics |
US10346723B2 (en) | 2016-11-01 | 2019-07-09 | Snap Inc. | Neural network for object detection in images |
JP6942488B2 (ja) | 2017-03-03 | 2021-09-29 | キヤノン株式会社 | 画像処理装置、画像処理システム、画像処理方法、及びプログラム |
US10628961B2 (en) | 2017-10-13 | 2020-04-21 | Qualcomm Incorporated | Object tracking for neural network systems |
US20190130188A1 (en) | 2017-10-26 | 2019-05-02 | Qualcomm Incorporated | Object classification in a video analytics system |
US10755115B2 (en) | 2017-12-29 | 2020-08-25 | Here Global B.V. | Method, apparatus, and system for generating synthetic image data for machine learning |
US20190286938A1 (en) | 2018-03-13 | 2019-09-19 | Recogni Inc. | Real-to-synthetic image domain transfer |
US10817752B2 (en) | 2018-05-31 | 2020-10-27 | Toyota Research Institute, Inc. | Virtually boosted training |
US10713569B2 (en) | 2018-05-31 | 2020-07-14 | Toyota Research Institute, Inc. | System and method for generating improved synthetic images |
US11010905B2 (en) * | 2018-09-07 | 2021-05-18 | Apple Inc. | Efficient object detection and tracking |
US10846515B2 (en) * | 2018-09-07 | 2020-11-24 | Apple Inc. | Efficient face detection and tracking |
EP3736741A1 (en) | 2019-05-06 | 2020-11-11 | Dassault Systèmes | Experience learning in virtual world |
DE112020002602T5 (de) | 2019-06-03 | 2022-03-03 | Nvidia Corporation | Multi-objektverfolgung mit hilfe von korrelationsfiltern in videoanalyseanwendungen |
US11055861B2 (en) | 2019-07-01 | 2021-07-06 | Sas Institute Inc. | Discrete event simulation with sequential decision making |
WO2021101527A1 (en) | 2019-11-19 | 2021-05-27 | Google Llc | Ar-assisted synthetic data generation for training machine learning models |
US11386662B2 (en) * | 2020-05-28 | 2022-07-12 | Microsoft Technology Licensing, Llc | Tracking multiple objects in a video stream using occlusion-aware single-object tracking |
US20210390335A1 (en) | 2020-06-11 | 2021-12-16 | Chevron U.S.A. Inc. | Generation of labeled synthetic data for target detection |
US11335008B2 (en) | 2020-09-18 | 2022-05-17 | Microsoft Technology Licensing, Llc | Training multi-object tracking models using simulation |
-
2020
- 2020-05-28 US US16/886,442 patent/US11386662B2/en active Active
-
2021
- 2021-04-21 EP EP21724142.1A patent/EP4158528A1/en active Pending
- 2021-04-21 CN CN202180038305.XA patent/CN115699102A/zh active Pending
- 2021-04-21 WO PCT/US2021/028272 patent/WO2021242445A1/en unknown
-
2022
- 2022-05-28 US US17/827,695 patent/US11880985B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP4158528A1 (en) | 2023-04-05 |
US11880985B2 (en) | 2024-01-23 |
US20220292828A1 (en) | 2022-09-15 |
WO2021242445A1 (en) | 2021-12-02 |
US11386662B2 (en) | 2022-07-12 |
US20210374421A1 (en) | 2021-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115699102A (zh) | 使用遮挡感知单对象跟踪在视频流中跟踪多个对象 | |
JP7305251B2 (ja) | オブジェクト追跡方法、オブジェクト追跡装置、コンピュータプログラム、及び電子機器 | |
Cheng et al. | An image-to-class dynamic time warping approach for both 3D static and trajectory hand gesture recognition | |
Ji et al. | Advances in view-invariant human motion analysis: A review | |
JP6065427B2 (ja) | オブジェクト追跡方法及びオブジェクト追跡装置 | |
Ali et al. | Modeling, simulation and visual analysis of crowds: a multidisciplinary perspective | |
US20220254157A1 (en) | Video 2D Multi-Person Pose Estimation Using Multi-Frame Refinement and Optimization | |
CN109657537A (zh) | 基于目标检测的图像识别方法、系统和电子设备 | |
CN110807410B (zh) | 关键点定位方法、装置、电子设备和存储介质 | |
EP3937076A1 (en) | Activity detection device, activity detection system, and activity detection method | |
JP7192143B2 (ja) | オンライン学習を利用した物体追跡のための方法およびシステム | |
CN111209774A (zh) | 目标行为识别及显示方法、装置、设备、可读介质 | |
Kumar et al. | 3D sign language recognition using spatio temporal graph kernels | |
EP2899706B1 (en) | Method and system for analyzing human behavior in an intelligent surveillance system | |
Barbu et al. | Simultaneous object detection, tracking, and event recognition | |
CN111126515A (zh) | 基于人工智能的模型训练方法和相关装置 | |
CN112861808A (zh) | 动态手势识别方法、装置、计算机设备及可读存储介质 | |
Batool et al. | Telemonitoring of daily activities based on multi-sensors data fusion | |
JP2020109644A (ja) | 転倒検出方法、転倒検出装置及び電子機器 | |
Oszust et al. | Isolated sign language recognition with depth cameras | |
Yuan et al. | A systematic survey on human behavior recognition methods | |
Aftab et al. | A boosting framework for human posture recognition using spatio-temporal features along with radon transform | |
Takano et al. | Action database for categorizing and inferring human poses from video sequences | |
Saada et al. | A multi-object tracker using dynamic Bayesian networks and a residual neural network based similarity estimator | |
CN116433722A (zh) | 目标跟踪方法、电子设备、存储介质及程序产品 |
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 |