首页> 中国专利> 基于单对象姿态估计器的多个对象的姿态跟踪设备和方法

基于单对象姿态估计器的多个对象的姿态跟踪设备和方法

摘要

一种多个对象的姿态跟踪方法、设备和非暂时性计算机可读介质。所述方法包括:由处理器从视频序列中的多个连续帧的每个帧中检测对象;由处理器估计所述多个连续帧的每个帧中的每个对象的姿态;以及由处理器跟踪所述每个对象跨越所述多个连续帧的姿态。

著录项

  • 公开/公告号CN112639873A

    专利类型发明专利

  • 公开/公告日2021-04-09

    原文格式PDF

  • 申请/专利号CN201980053505.5

  • 发明设计人 宁广涵;刘平;樊晓川;张弛;

    申请日2019-08-12

  • 分类号G06T7/20(20170101);G06K9/00(20060101);

  • 代理机构11021 中科专利商标代理有限责任公司;

  • 代理人刘丽丽

  • 地址 100086 北京市海淀区知春路76号8层

  • 入库时间 2023-06-19 10:32:14

说明书

交叉引用

本申请依据美国法典第35卷第119条(e)款要求于2018年8月28日提交的序列号为62/724,007的美国临时专利申请的优先权权益,其全部内容通过引用并入本文。

在本公开的描述中引用和讨论了可能包括专利、专利申请和各种出版物的一些参考文献。提供这样的参考文献的引用和/或讨论仅是为了阐明本公开的描述,而不是承认任何这样的参考文献是本文描述的公开内容的“现有技术”。在本说明书中引用和讨论的所有参考文献均通过引用将其整体并入本文,并入程度与每个参考文献通过引用单独并入的程度相同。

技术领域

本公开总体上涉及计算机视觉领域,更具体地,涉及基于多个单对象姿态估计器的多个对象的姿态跟踪设备和方法。

背景技术

本文提供背景描述是为了总体上呈现本公开的背景。在该背景技术部分所描述的范围内,当前指定的发明人的工作内容以及在申请时可能无法视为现有技术的描述内容,既未明确也未暗示其为抵触本公开的现有技术。

多对象姿态跟踪的任务是估计构成视频序列的一组图像中所有对象实例的人体关键点,并将唯一的ID分配给在视频序列中跨越帧的每个实例级别的关键点。多对象姿态跟踪是各种计算机视觉应用(例如,监视、体育视频分析)中最重要的组成部分之一。

现有的用于多个对象的姿态估计方法可以分为自上而下和自下而上的方法。一方面,自上而下的方法[8,16]依赖于检测模块来得到候选人,然后应用单人人体姿态估计器来定位人体关键点。另一方面,自下而上的方法[2,9,18,14]从所有潜在的候选人中检测人体关键点,然后基于各种数据关联技术将这些关键点组合到每个人的肢体中。自下而上的方法的优点是在估计精确度和计算成本之间的出色折衷,因为该方法的计算成本与图像中候选人的数量无关。相反,自上而下的方法的主要优点是具有将任务分解为多个相对容易的任务的能力,即,对象检测和单人姿态估计。对象检测器擅长检测硬(通常很小)的候选对象,因此姿态估算器在集中的回归空间下将表现更好。

对于多对象姿态跟踪的任务,准确地估计人体关键点的轨迹有助于人体动作识别和人体交互理解。PoseTrack[12]和ArtTrack[11]主要介绍了多对象姿态跟踪挑战,并提出了图形划分公式,将姿态跟踪问题转换为最小成本的多割问题。但是,手工制作的图形模型无法扩展到较长且看不见的剪辑。另一研究领域是通过对每个帧进行多对象姿态估计并基于外观相似性和时间邻接将它们链接起来,从而探索自上而下的方法[6,19,20]。一种解决方案是在跨帧的人体检测候选对象上应用多目标对象跟踪,然后针对每个人体小管估计人体姿态。尽管这是一种可行的方法,但它忽略了关键点的独特属性。与跟踪的边界框相比,关键点可能是边界框和关键点跟踪的有用提示。

因此,需要一种针对多对象姿态跟踪的改进方法。

发明内容

在一些方面,本公开涉及一种多个对象的姿态跟踪方法。所述方法可以包括:由一个或多个处理器从视频序列中的多个连续帧的每个帧中检测对象;由所述一个或多个处理器估计所述多个连续帧的每个帧中的每个对象的姿态;以及由所述一个或多个处理器跟踪所述每个对象跨越所述多个连续帧的姿态。

在一些实施例中,所述由一个或多个处理器从视频序列中的多个连续帧的每个帧中检测对象的步骤可以包括:由所述一个或多个处理器从所述多个连续帧的每个帧中确定针对所述每个对象的边界框;以及由所述一个或多个处理器确定所述多个连续帧之一中针对该对象的所述边界框的置信度得分。

在一些实施例中,所述由一个或多个处理器估计所述多个连续帧的每个帧中的每个对象的姿态的步骤可以包括:由所述一个或多个处理器从所述多个连续帧之一中由针对该对象的所述边界框限定的区域中,确定所述多个连续帧之一中该对象的关键点;以及由所述一个或多个处理器确定所述多个连续帧之一中该对象的所述关键点的置信度得分。

在一些实施例中,所述由一个或多个处理器估计所述多个连续帧的每个帧中的每个对象的姿态的步骤可以包括:由所述一个或多个处理器将所述多个连续帧之一中由针对该对象的所述边界框限定的区域回归为所述多个连续帧之一中该对象的热图;由所述一个或多个处理器,使用交叉热图姿态非极大值抑制(NMS),将所述多个连续帧之一中该对象的热图抑制为所述多个连续帧之一中该对象的关键点;以及由所述一个或多个处理器确定所述多个连续帧之一中该对象的关键点的置信度得分。

在一些实施例中,所述由一个或多个处理器估计所述多个连续帧的每个帧中的每个对象的姿态的步骤包括:由所述一个或多个处理器应用将两个或更多个姿态估计模型进行结合的模型集成模式,以确定所述多个连续帧之一中该对象的所述关键点,其中,所述两个或更多个姿态估计模型至少包括第一模型和第二模型。

在一些实施例中,所述模型集成模式包括专家模式,在所述专家模式中,针对所述多个连续帧的每个帧中的所述每个对象的每个关键点,将权重1分配给在针对所述第一模型的姿态估计结果和针对所述第二模型的姿态估计结果中平均精确度AP更高的姿态估计结果,将权重0分配给在针对所述第一模型的姿态估计结果和针对所述第二模型的姿态估计结果中的另一姿态估计结果。

在一些实施例中,所述模型集成模式包括平均模式,在所述平均模式中,针对所述多个连续帧的每个帧中的所述每个对象的所有关键点,将权重0.5分配给针对所述第一模型的姿态估计结果,将权重0.5分配给针对所述第二模型的姿态估计结果。

在一些实施例中,所述第一模型和所述第二模型中的一个模型是epoch 291,以及所述第一模型和所述第二模型中的另一模型是epoch293。

在一些实施例中,所述由一个或多个处理器从视频序列中的多个连续帧的每个帧中检测对象的步骤是由可变形特征金字塔网络(FPN)实现的,其中,所述可变形特征金字塔网络是基于对象检测器选择机制确定的。

在一些实施例中,所述由一个或多个处理器跟踪所述每个对象跨越所述多个连续帧的姿态的步骤可以包括:由所述一个或多个处理器向所述边界框分配相同的标识符,以指示跨越所述多个连续帧的对象中的同一对象;以及由所述一个或多个处理器,将跨越所述多个连续帧的具有所述相同的标识符的所述边界框内的关键点进行关联,以对跨越所述多个连续帧的所述每个对象建立姿态流。

在一些实施例中,所述由一个或多个处理器跟踪所述每个对象跨越所述多个连续帧的姿态的步骤还可以包括:由所述一个或多个处理器,使用自适应关键点修剪器对所述多个连续帧的每个帧中的所述每个对象的关键点进行自适应关键点修剪。

在一些实施例中,所述由一个或多个处理器使用自适应关键点修剪器对所述多个连续帧的每个帧中的所述每个对象的关键点进行自适应关键点修剪的步骤可以包括:由所述一个或多个处理器确定针对每种预定义的关键点类别的关键点丢弃阈值,其中,所述多个连续帧的每个帧中的所述每个对象的每个关键点属于一种预定义的关键点类别;由所述一个或多个处理器丢弃关键点,其中,该丢弃的关键点具有的置信度得分小于针对该丢弃的关键点所属的一种预定义的关键点类别的关键点丢弃阈值;以及由所述一个或多个处理器保留关键点,其中,该保留的关键点具有的置信度得分大于或等于针对该保留的关键点所属的一种预定义的关键点类别的关键点丢弃阈值。

在一些实施例中,所述由一个或多个处理器从视频序列中的多个连续帧的每个帧中检测对象的步骤还可以包括:由所述一个或多个处理器将针对所述多个连续帧的每个帧中的每个对象的检测结果转换为openSVAI标准化数据格式,以生成标准化检测结果。

在一些实施例中,所述由一个或多个处理器估计所述多个连续帧的每个帧中的每个对象的姿态的步骤还包括:由所述一个或多个处理器将针对所述多个连续帧的每个帧中的每个对象的估计结果转换为openSVAI标准化数据格式,以生成标准化估计结果。

在一些方面,本公开涉及一种多个对象的姿态跟踪设备。所述设备可以包括:处理器;以及存储器,其上存储有指令,当所述指令被所述处理器执行时,使所述处理器:从视频序列中的多个连续帧的每个帧中检测对象;估计所述多个连续帧的每个帧中的每个对象的姿态;以及跟踪所述每个对象跨越所述多个连续帧的姿态。

在一些实施例中,当指令被处理器执行时,还可以使处理器:从所述多个连续帧的每个帧中确定针对所述每个对象的边界框;以及确定所述多个连续帧之一中针对该对象的所述边界框的置信度得分。

在一些实施例中,当指令被处理器执行时,还可以使处理器:从所述多个连续帧之一中由针对该对象的所述边界框限定的区域中,确定所述多个连续帧之一中该对象的关键点;以及确定所述多个连续帧之一中该对象的所述关键点的置信度得分。

在一些实施例中,当指令被处理器执行时,还可以使处理器:将所述多个连续帧之一中由针对该对象的所述边界框限定的区域回归为所述多个连续帧之一中该对象的热图;使用交叉热图姿态非极大值抑制(NMS),将所述多个连续帧之一中该对象的热图抑制为所述多个连续帧之一中该对象的关键点;以及确定所述多个连续帧之一中该对象的关键点的置信度得分。

在一些实施例中,当指令被处理器执行时,还可以使处理器:应用将两个或更多个姿态估计模型进行结合的模型集成模式,以确定所述多个连续帧之一中该对象的所述关键点,其中,所述两个或更多个姿态估计模型至少包括第一模型和第二模型。

在一些实施例中,所述模型集成模式包括专家模式,在所述专家模式中,针对所述多个连续帧的每个帧中的所述每个对象的每个关键点,将权重1分配给在针对所述第一模型的姿态估计结果和针对所述第二模型的姿态估计结果中平均精确度(AP)更高的姿态估计结果,将权重0分配给在针对所述第一模型的姿态估计结果和针对所述第二模型的姿态估计结果中的另一姿态估计结果。

在一些实施例中,所述模型集成模式包括平均模式,在所述平均模式中,针对所述多个连续帧的每个帧中的所述每个对象的所有关键点,将权重0.5分配给针对所述第一模型的姿态估计结果,将权重0.5分配给针对所述第二模型的姿态估计结果。

在一些实施例中,所述第一模型和所述第二模型中的一个模型是epoch 291,以及所述第一模型和所述第二模型中的另一模型是epoch293。

在一些实施例中,当指令被处理器执行时,还可以使处理器:向所述边界框分配相同的标识符,以指示跨越所述多个连续帧的对象中的同一对象;以及将跨越所述多个连续帧的具有所述相同的标识符的所述边界框内的关键点进行关联,以对跨越所述多个连续帧的所述每个对象建立姿态流。

在一些实施例中,当指令被处理器执行时,还可以使处理器:使用自适应关键点修剪器对所述多个连续帧的每个帧中的所述每个对象的关键点进行自适应关键点修剪。

在一些实施例中,当指令被处理器执行时,还可以使处理器:确定针对每种预定义的关键点类别的关键点丢弃阈值,其中,所述多个连续帧的每个帧中的所述每个对象的每个关键点属于一种预定义的关键点类别;丢弃关键点,其中,该丢弃的关键点具有的置信度得分小于针对该丢弃的关键点所属的一种预定义的关键点类别的关键点丢弃阈值;以及保留关键点,其中,该保留的关键点具有的置信度得分大于或等于针对该保留的关键点所属的一种预定义的关键点类别的关键点丢弃阈值。

在一些实施例中,当指令被处理器执行时,还可以使处理器:将针对所述多个连续帧的每个帧中的每个对象的检测结果转换为openSVAI标准化数据格式,以生成标准化检测结果。

在一些实施例中,当指令被处理器执行时,还可以使处理器:将针对所述多个连续帧的每个帧中的每个对象的估计结果转换为openSVAI标准化数据格式,以生成标准化估计结果。

在一些方面,本公开涉及一种非暂时性计算机可读介质,其上存储有计算机可执行指令,当所述指令被计算设备的处理器执行时,使处理器执行任何上述方法。

附图说明

附图示出了本公开的一个或多个实施例,并且与书面描述一起用于解释本公开的原理。在所有附图中,尽可能使用相同的附图标记指代实施例的相同或相似的元件。

图1A示意性地示出了根据本公开的一些实施例的用于基于多个单对象姿态估计器跟踪多个对象的姿态的计算设备的配置结构的示例性框图。

图1B示意性地示出了根据本公开的一些实施例的交叉热图姿态非极大值抑制NMS模块的配置结构的示例性框图。

图1C示意性地示出了根据本公开的一些实施例的自适应关键点修剪器的配置结构的示例性框图。

图2A至图2L示例性地示出了根据本公开的一些实施例的由人体姿态估计模块执行的姿态估计过程。

图3A至图3C分别示例性地示出了根据本公开的一些实施例的由候选人检测模块、人体姿态估计模块和人体姿态跟踪模块产生的输出结果。

图4示意性地示出了根据本公开的一些实施例的基于多个单对象姿态估计器的多个对象的姿态跟踪方法的流程图。

图5示意性地示出了根据本公开的其他实施例的基于多个单对象姿态估计器的多个对象的姿态跟踪方法的流程图。

图6示例性地示出了根据本公开的一些实施例的使用交叉热图非极大值(NMS)抑制将对象的热图抑制为关键点的方法的流程图。

图7示例性地示出了根据本公开的一些实施例的使用自适应关键点修剪器修剪关键点的方法的流程图。

具体实施方式

以下实施例更具体地描述了本公开,这些实施例仅旨在举例说明,其中的许多修改和变化对本领域技术人员而言是显而易见的。本公开的各种实施例在此详细描述。参考附图,在整个附图中,相同的数字表示相同的组件。如本文的说明书中及整个权利要求书中所使用的,“一个”、“一种”和“所述”的含义包括复数形式,除非上下文另外明确指出。同样,如本文的说明书和整个权利要求书中所使用的,“在...中”的含义包括“在...中”和“在...上”,除非上下文另外明确指出。此外,为了方便读者,在说明书中可能使用标题或副标题,这将不影响本公开的范围。另外,以下对本说明书中使用的一些术语更具体地定义。

在本公开的上下文中以及在使用每个术语的特定语境中,本说明书中使用的术语通常具有其本领域的普通含义。在下文或说明书的其他地方讨论了用于描述本公开的某些术语,以向从业者提供关于本公开的描述的附加指导。应当理解,可以以一种以上的方式说同一事物。因此,可选的语言和同义词可用于本文讨论的任何一个或多个术语,术语是否在此阐述或讨论也没有任何特殊意义。在此提供了某些术语的同义词,但一个或多个同义词的列举不排除使用其他同义词。在本说明书中任何地方使用的示例,包括在此讨论的任何术语的示例,仅是示例性的,绝不限制本公开或任何示例性术语的范围和含义。同样,本公开不限于本说明书中给出的各种实施例。

本文中使用的所有术语(包括技术术语和科学术语)具有与本公开所属领域的普通技术人员通常理解的相同含义,除非另外定义。还应理解的是,诸如在常用词典中定义的术语应被解释为具有与它们在相关领域和本公开的上下文中的含义一致的含义,而不应以理想化或过于刻板的方式来解释,除非在此明确定义。

如本文所用,“大约”、“左右”、“基本上”或“接近”应通常是指给定值或范围的百分之二十以内,优选地为百分之十以内,更优选地为百分之五以内。本文给出的数值是近似的,意味着如果没有明确说明,则可以推断出术语“大约”、“左右”、“基本上”或“接近”。

如本文所用,“多个”是指两个或更多个。

如本文所使用的,术语“包括”、“包含”、“具有”、“涉及”等应被理解为开放式的,即意指包括但不限于。

如本文中所使用的,短语“A、B和C中的至少一个”应被解释为表示使用非排他性逻辑“或”的逻辑(A或B或C)。应当理解,在不改变本公开的原理的情况下,可以以不同的顺序(或同时)执行方法内的一个或多个步骤。如本文所使用的,术语“和/或”包括一个或多个相关联的所列项目的任何和所有组合。

如本文所使用的,术语“模块”可以包括或属于专用集成电路(ASIC)、电子电路、组合逻辑电路、现场可编程门阵列(FPGA)、执行代码的处理器(共享的、专用的或处理器组)、提供上述功能的其他合适的硬件组件、或上述部分或全部的组合,例如在片上系统中,术语“模块”可以包括存储由处理器执行的代码的存储器(共享的、专用的或处理器组)。

如本文中所使用的,术语“代码”可以包括软件、固件和/或微代码,并且可以指代程序、例程、功能、类和/或对象。如上文所使用的,术语“共享”是指可以使用单个(共享)处理器执行来自多个模块的部分或全部代码。另外,来自多个模块的部分或全部代码可以由单个(共享)存储器存储。如上所使用的,术语“组”是指可以使用一组处理器执行来自单个模块的部分或全部代码。另外,可以使用一组存储器存储来自单个模块的部分或全部代码。

本公开涉及计算机系统。如图所示,计算机组件可以包括物理硬件组件(示为实线框)和虚拟软件组件(示为虚线框)。本领域普通技术人员将理解,实现这些计算机组件的形式可以包括但不限于软件、固件、硬件组件或上述三者的组合,除非另外指出。

本文描述的设备、系统和方法可以由一个或多个处理器执行的一个或多个计算机程序来实现。该计算机程序包括存储在非暂时性有形计算机可读介质上的处理器可执行指令。该计算机程序还可以包括存储的数据。非暂时性有形计算机可读介质的非限制性示例是非易失性存储器、磁性存储器和光学存储器。

现在将参考附图更充分地描述本公开,在附图中示出了本公开的一些实施例。然而,本公开可以以许多不同的形式来体现,并且不应该被解释为限于本文阐述的实施例,相反,提供这些实施例是为了使本公开更加透彻和完整,并将本公开的范围充分传达给本领域技术人员。

在下文中,将参照图1A至图1C、图2A至图2L以及图3A至图3C详细描述根据本公开的一些实施例的基于多个单对象姿态估计器跟踪多个对象(或人)的姿态的设备的具体示例。

图1A示意性地示出了根据本公开的一些实施例的用于基于多个单对象姿态估计器跟踪多个对象的姿态的计算设备100的配置结构的示例性框图。在一些实施例中,所述计算设备100可以是服务器计算机、群集、云计算机、通用计算机、移动设备、平板电脑或专用计算机。所述计算设备100可以从视频序列中的多个连续帧的每个帧中检测对象;估计所述多个连续帧的每个帧中的每个对象的姿态;以及跟踪每个对象跨越所述多个连续帧的姿态。在一些实施例中,所述计算设备100可以与其他计算设备或服务进行通信。在一些实施例中,所述通信经由网络进行,该网络可以是有线网络或无线网络,并且可以具有各种形式,例如,公共网络和私有网络。

如图1A所示,计算设备100可以包括但不限于处理器112和存储器114。此外,所述计算设备100还可以包括可选的存储设备116。在一些实施例中,计算设备100可以包括其他硬件组件和软件组件(未示出),以执行该计算设备100相应的任务。这些硬件组件和软件组件的示例可以包括但不限于其他所需的存储器、接口、总线、输入/输出(I/O)模块或设备、网络接口以及外围设备等。

所述处理器112可以是中央处理单元(CPU),所述中央处理单元被配置为控制所述计算设备100的操作。所述处理器112可以为计算设备100执行操作系统(OS)或其他应用。在一些实施例中,所述计算设备100可以具有一个以上的CPU作为处理器,例如,具有两个CPU、四个CPU、八个CPU或任意合适数量的CPU。所述存储器114可以是易失性存储器,例如,随机存取存储器(RAM),以用于存储用于计算设备100的操作的数据和指令。在一些实施例中,所述存储器114可以是易失性存储器阵列。在一些实施例中,所述计算设备100可以在一个以上的存储器114上运行。此外,存储器114也可以是非易失性存储器,诸如只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、带电可擦除可编程只读存储器(EEPROM)之类。

存储设备116可以是用于存储用于计算设备100的OS(未示出)和其他应用的非易失性数据存储介质。所述存储设备116的示例可以包括非易失性存储器,例如,闪存、存储卡、USB驱动器、硬盘驱动器、软盘、光盘驱动器、固态驱动器(SSD)或任何其他类型的数据存储设备。在一些实施例中,存储设备116可以是本地存储、远程存储或云存储。在一些实施例中,计算设备100可以具有多个存储设备116,所述多个存储设备116可以是相同的存储设备或不同类型的存储设备,并且用于计算设备100的应用可以存储于所述计算设备100的一个或多个存储设备116中。在一些实施例中,计算设备100可以是云计算机,处理器112、存储器114和存储设备116是通过互联网按需提供的共享资源。在一些其他实施例中,计算设备100可以是通信地连接至大型机服务器的工作站,所述大型机服务器存储用于操作所述计算设备100的所有数据和指令,并且在这种情况下,可以可选地省略存储设备116。

如图1A所示,在所述存储设备116上可以存储有图像数据库150和训练数据160中的至少一者、以及多对象姿态跟踪应用118。然而,图像数据库150和训练数据160中的至少一者、以及多对象姿态跟踪应用118中的部分或全部可以被存储在其他位置,本公开不限于此。

在一些实施例中,所述多对象姿态跟踪应用118包括候选人检测模块120、人体姿态估计模块130以及人体姿态跟踪模块140。在一些实施例中,多对象姿态跟踪应用118可以包括该多对象姿态跟踪应用118操作所必需的其他应用或模块。应该注意的是,每个模块都是由计算机可执行代码或指令、或数据表或数据库共同实现的,它们共同构成一个应用。在一些实施例中,每个模块还可以包括子模块。在一些其他实施例中,一些模块可以被组合为一个堆叠。在另一些其他实施例中,某些模块可以被实现为电路而不是可执行代码。在一些其他实施例中,多对象姿态跟踪应用118中的部分模块或全部模块可以位于远程计算设备处或分布在云中。

在一些实施例中,所述候选人检测模块120在被加载到存储器114中并由处理器112执行时,可以使处理器112从视频序列中的多个连续帧的每个帧中检测对象。在一些实施例中,所述候选人检测模块120在被加载到存储器114中并由处理器112执行时,可以使处理器112从多个连续帧的每个帧中确定针对每个对象的边界框,以及确定多个连续帧之一中针对该对象的边界框的置信度得分。本实施例中,多个连续帧的每个帧中的对象可以是待跟踪的人。视频序列可以存储在图像数据库150中。然而,本公开不限于此。

候选人检测模块120可以由卷积神经网络(CNN)实现。作为示例,候选人检测模块120可以由可变形特征金字塔网络(FPN)实现(例如,参见Lin,T.Y.,Dollar,P.,Girshick,R.B.,He,K.,Hariharan,B.,Belongie,S.J.:Feature pyramid networks for objectdetection.In:CVPR.vol.1,p.3(2017),通过引用将其全部内容并入本文)。在一些实施例中,候选人检测模块120可以由具有ResNet 101主干的FPN网络实现。在其他实施例中,候选人检测模块120可以由具有ResNet 151主干的FPN网络来实现。在一些实施例中,候选人检测模块120可以由用ImageNet和COCO数据集训练的FPN网络来实现。在另外的实施例中,候选人检测模块120可以由用CrowdHuman[17]数据集训练的FPN网络来实现。

可以基于对象检测器选择机制确定上述可变形FPN网络。具体地,可以使用来自可变形卷积神经网络(ConvNets)[5]的预训练模型。为了提高候选人的查全率,在PoseTrack2017[1]和PoseTrack 2018的验证集上进行实验,以选择最佳的对象检测器。首先,由于在PoseTrack2017数据集中,标注中未提供边界框位置,因此从带标注的关键点推断候选人的地面实况边界框。在特定的示例性实施方式中,本公开根据15个关键点的最小坐标和最大坐标对边界框进行定位,然后在水平方向和垂直方向上将边界框放大20%。即使在PoseTrack 2018数据集中提供了地面实况边界框,也可以基于关键点的地面实况位置推断出更一致的版本。推断出的地面实况边界框用于训练姿态估计器。

对于对象检测器,比较均带有残差网(ResNet)101主干[10]的区域全卷积网络(R-FCN)[4]的可变形卷积版本和特征金字塔网络(FPN)[13]的可变形卷积版本。FPN特征提取器附接至快速区域卷积网络(Fast R-CNN)[7]头部进行检测。根据PoseTrack 2017验证集的准确性和查全率,将检测结果与地面实况进行比较。为了消除冗余的候选者,具有较低似然性或置信度得分的候选者会被丢弃。表1示出了PoseTrack 2017验证集的精确度-查全率,针对边界框的各个丢弃阈值,给出了检测器的精确度和查全率。如果边界框与GT的交并比(IoU)高于某个阈值(该阈值在所有实验中均设置为0.4),则该边界框是准确的。在这种情况下,可变形FPN的精确度达到34.2,查全率达到83.0,而可变形R-FCN的精确度达到30.3,查全率达到82.6,明确表明可变形FPN网络在精确度和查全率上表现的更好。对于PoseTrack2018验证集,可变形FPN网络也表现的更好。因此,利用上述对象检测器选择机制,可以将可变形FPN网络选择为候选人检测器,以实现候选人检测模块120。

表1

另外,为了测量理想的检测结果与使用所选的可变形FPN网络生成的检测结果之间的差距,还进行了实验。具体地,基于检测的上限是地面实况边界框位置的事实,地面实况边界框被输入至随后的人体姿态估计模块130和人体姿态跟踪模块140(将在下文详细描述),并将地面实况边界框的性能与基于验证集所选对象检测器(即可变形FPN网络)的性能进行比较。表2示出了在PoseTrack 2017验证集上使用各种检测器对单帧姿态估计结果的比较,针对各种预定义的关键点,给出了通过地面实况检测,可变形FPN和可变形R-FCN实现的平均精确度(AP)。可以看出,使用地面实况检测时,姿态估计的性能要好大约7%(使用地面实况检测时,总精确度为81.7,使用可变形FPN时,总精确度为74.6)。此外,与可变形R-FCN网络相比,可变形FPN网络的姿态估计性能要好0.9%(可变形FPN网络的总精确度为74.6,以及可变形R-FCN网络的总精确度为73.7),这进一步验证了可变形FPN网络而不是可变形R-FCN网络作为目标检测器是合适的选择。

表2

此外,如表3所示,说明了在PoseTrack 2017验证集上使用各种检测器对多帧姿态跟踪结果的比较,对于各个预定义的关键点,给出了通过地面实况检测,可变形FPN和可变形R-FCN实现的多对象跟踪准确度(MOTA)结果。术语“MOTA”可以指用于评估人体姿态跟踪系统和/或装置的性能的标准。MOTA结果或值越高,人体姿态跟踪系统或装置越好。可以看出,使用地面实况检测时,姿态跟踪的性能要好大约6%(使用地面实况检测时的MOTA值为67.0,使用可变形FPN时的MOTA得分为61.3)。此外,可变形FPN网络的姿态跟踪性能比可变形R-FCN网络的性能好2.3%(使用可变形FPN网络的MOTA值为61.3,使用可变形R-FCN网络的MOTA得分为59.0),这也进一步验证了可变形FPN网络而不是可变形R-FCN网络作为对象检测器是合适的。

表3

在基于对象检测器选择机制将可变形FPN网络确定为对象检测器并利用来自训练数据160的数据集对可变形FPN网络进行训练之后,可以获取/检索由存储在图像数据库150中的多个连续帧组成的视频序列,并输入至候选人检测模块120,以从多个连续帧的每个帧中检测对象。例如,图3A示例性地示出了根据本公开的一些实施例的由候选人检测模块120产生的输出。具体地,如图3A所示,检测到多个边界框中的每个边界框定位在一帧内的多个对象中的相应的一个对象处。

然后,将对多个连续帧的每个帧中的每个对象的检测结果转换为openSVAI标准化数据格式(https://doc-opensvai.readthedocs.io/en/latest/;https://media.readthedocs.org/pdf/doc-opensvai/latest/doc-opensvai.pdf,通过引用将其全部内容并入本文),以便为多个连续帧中的每个帧的每个对象生成标准化检测结果。

OpenSVAI是一个提供组件的模块化实现的库,诸如对象检测、单人姿态估计、姿态跟踪、语义分割之类。现有的开源项目通常是不兼容的。为了构建一个包含多个组件的复杂系统(每个组件都是一个自给自足的研究主题),我们提供了一个这样的库,该库还标准化了每个组件的输入和输出。因此,每个组件的方法都是可方便替换的,从而使系统的构建更加容易。输入和输出是具有标准化数据结构的JavaScript对象标记(JSON)文件,其中涵盖视觉系统所需的信息:图像ID、图像路径、图像名称、候选者、候选者ID、候选者的姿态、候选者遮罩等。

在一些实施例中,候选人检测模块120在被加载到存储器114中并由处理器112执行时,还可以在生成针对多个连续帧的每个帧中每个对象的标准化检测结果后,使处理器112将该标准化检测结果发送至人体姿态估计模块130。

在一些实施例中,人体姿态估计模块130在被加载到存储器114中并由处理器112执行时,可以响应于接收到针对多个连续帧的每个帧中每个对象的标准化检测结果,使处理器112估计多个连续帧的每个帧中的每个对象的姿态。在一些实施例中,人体姿态估计模块130在被加载到存储器114中并由处理器112执行时,可以使处理器112从多个连续帧的每个帧中由针对每个对象的边界框限定的区域中确定多个连续帧的每个帧中的每个对象的关键点,并且确定多个连续帧的每个帧中的每个对象的关键点的置信度得分。

在此,术语“关键点”可以指满足由人体模型施加的一组几何约束和相互依赖性的身体关键点。在一些实施例中,可以限定多个类别的关键点。在下文中,将通过采用15类关键点(例如,颈部关键点、左肩关键点、右肩关键点、左肘关键点、右肘关键点、左腕关键点、右腕关键点,左膝关键点,右膝关键点,左踝关键点,右踝关键点等)作为实例来描述和解释人体姿态估计的细节。然而,应当注意,关键点的类别的数量不限于此,与示例实施例中描述的相比,可以存在更多或更少的关键点的类别。

在一些实施例中,人体姿态估计模块130可以由卷积神经网络(CNN)实现。在一些实施例中,人体姿态估计模块130可以由级联的金字塔网络(CPN)实现(例如,参见Chen,Y.,Wang,Z.,Peng,Y.,Zhang,Z.,Yu,G.,Sun,J.:Cascaded Pyramid Network for Multi-object Pose Estimation.In:CVPR(2018),通过引用将其全部内容并入本文)。

具体地,上述CPN网络使用PoseTrack 2018和COCO的合并数据集训练了260个时期,然后仅在PoseTrack 2018训练集上针对40个时期进行微调,以缓解头部的回归。对于COCO数据集,没有给出头底和头顶的位置。这些关键点可以通过对带标注的关键点进行粗略插值推断得出。经发现,通过对PoseTrack数据集进行微调,可以优化对头部关键点(包括颈部关键点等)的预测。在微调过程中,使用在线硬性关键点挖掘技术,该技术仅关注15个关键点中最困难的7个关键点的损失。

此后,将在PoseTrack 2017和PoseTrack 2018验证集上测试CPN网络。也就是说,将PoseTrack 2017和PoseTrack 2018验证集都输入到经训练的CPN网络中,并在图像坐标系中生成一组预测的节点坐标(或关键点坐标),然后将这组预测的节点坐标与地面实况节点坐标进行比较,从而测试训练模型的姿态估计性能。表4的前两行示出了PoseTrack 2017验证集上具有不同集成模式的单帧姿态估计结果的比较,显示了不同的模型(例如,epoch291和epoch 293,这是就平均精确度(AP)而言性能相对较好的两个训练模型)在不同类别的关键点上的执行情况有所不同。例如,针对PoseTrack 2017验证集和PoseTrack 2018验证集,对于epoch 291,肩膀(AP为81.2)和臀部(AP为72.6)的预测提供的结果要比epoch293(肩膀的AP为80.8,髋关节的AP为70.1)的预测提供的结果更好。然而,epoch 293在手腕(AP为71.3)和脚踝(AP为65.7)等端部肢体上,表现的比epoch291(手腕的AP为70.2,脚踝的AP为64.7)更好。因此,在一些实施例中,为了进行更准确的估计,可以在测试期间使用来自epoch 291和epoch 293的两个模型的集合。

集合模式有以下两种:(1)平均模式,对于所有预定义的关键点类别,将权重0.5分配给epoch 291,将权重0.5分配给epoch 293;以及(2)专家模式,对于每个预定义的关键点类别,将权重1分配给epoch 291和epoch 293中具有更高AP的模型,将权重0分配给两个模型中的另一个模型。对该两种集合模式进行测试,测试结果在表4的最后两行中说明。从表4可以看出,平均模式对所有类别的关键点有一个总AP为74.8,而专家模式采用epoch 291模型的肩/臀的预测,以及epoch 293模型的端部肢体的预测,且总AP为75.0。两种模式均优于epoch 291(74.6)和epoch 293(74.6),表明这两种模式在姿态估计任务上的表现均优于普通测试。但是,应注意,尽管表4仅显示了PoseTrack 2017验证集上的姿态估计结果,但平均模式和专家模式在PoseTrack 2017和PoseTrack 2018验证集上均表现出更好的一致性。

表4

因此,在一些实施例中,可以将模型集成模式应用于确定多个连续帧的每个帧中的每个对象的关键点,这可以提高人体姿态估计模块130的性能。作为示例,在平均模式中,对于所有预定义的关键点类别,将权重0.5分配给第一模型,且将权重0.5分配给第二模型,以用于确定多个连续帧的每个帧中每个对象的关键点。作为另一示例,在专家模式中,对于每个预定义的关键点类别,将权重1分配给第一模型和第二模型中对于相应关键点类别具有更高AP的模型,将权重0分配给两个模型中的另一个模型,以确定多个连续帧的每个帧中每个对象的关键点。这里,需要注意的是,模型集成模式不限于此,可以存在两个以上的用于形成模型集成模式的模型。在一些实施例中,第一模型和第二模型中的一者可以是epoch291,另一者可以是epoch293。在一些实施例中,平均模式和专家模式被组合,第一模型和第二模型中每个类别被分配0.5:0.5或0:1或1:0的权重。权重的分配基于相应的AP。在一示例中,将类别“头”的权重以0.5:0.5分配给epoch 291和epoch 293,将类别“臀”的权重分配给epoch 291,将类别“肘”、“腕”、“膝”和“踝”的权重分配给epoch 293,将类别“肩”的权重分配给epoch 291,或者平均分配给epoch 291和epoch293。

在使用来自训练数据160的数据集训练CPN网络并确定使用根据两个模型epoch291和epoch 293的集合来实现人体姿态估计后,由候选人检测模块120生成针对多个连续帧的每个帧中每个对象的标准化检测结果,可以将该标准化检测结果输入至人体姿态估计模块130,以便估计多个连续帧的每个帧中每个对象的姿态。对来自候选人检测模块120的所有边界框(即,候选者)进行姿态估计。具体地,将多个连续帧的每个帧中由针对每个对象的边界框限定的区域回归为多个连续帧的每个帧中的每个对象的热图。然后,为了渲染更准确的关键点位置,对于每个边界框,可以使用交叉热图姿态非极大值抑制(NMS)对预测的热图进行后期处理(例如,参见Ning,G.,Zhang,Z.,He,Z.:Knowledge-guided deepfractal neural networks for human pose estimation.IEEE Transactions onMultimedia 20(5),1246-1259(2018),通过引用将其全部内容并入本文)。特别地,可以使用交叉热图姿态NMS模块132将多个连续帧的每个帧中每个对象的热图抑制为多个连续帧的每个帧中每个对象的关键点。

例如,图1B示意性地示出了根据本公开的一些实施例的交叉热图姿态NMS模块132的配置结构的示例性框图。在一些实施例中,交叉热图姿态NMS模块132可以包含在人体姿态估计模块130中。如图1B所示,交叉热图姿态NMS模块132可以包括:热图获取模块133、斑点收集模块134、斑点抑制模块135和热图数量比较模块136。在一些实施例中,当热图获取模块133被加载到存储器114中并且由处理器112执行时,可以使处理器112接收从对象的图像回归的一组(例如,N个)热图,其中,N为正整数。在一些实施例中,斑点收集模块134在被加载到存储器114中并由处理器112执行时,可以使处理器112从所有N个热图中收集斑点以进行抑制。在一些实施例中,斑点抑制模块135在被加载到存储器114中并且由处理器112执行时,可以使处理器112确定具有最大响应的斑点,抑制来自同一热图的其他斑点和在图像坐标系中非常接近确定出的斑点的其他热图中的斑点,并从该组热图中删除该热图,并令N=N-1。在一些实施例中,热图数量比较模块136在被加载到存储器114中并由处理器112执行时,可以使处理器112将当前热图数量N=N-1与0进行比较。该过程可能会重复直到当前热图数量N=N-1等于0。因此,可以确定多个连续帧的每个帧中每个对象的关键点以及相应关键点的相应置信度得分。

在一些实施例中,热图NMS过程如下。

1从所有热图中检测斑点。

2.基于斑点的响应对所有斑点进行排序,所述斑点的响应是该斑点的峰值。

3.对排序第一的(具有最大响应的)斑点进行抑制:(1)将该斑点对应的节点位置确定为该斑点的峰值位置;(2)抑制来自同一热图的其他斑点和在图像坐标系中非常接近所确定的斑点的其他热图中的斑点,并从该组热图中删除该热图。

4.对于剩余的斑点,对其继续进行排序,并对排序第一的斑点执行抑制。

5.重复步骤4,直到所有斑点都被执行了抑制为止。

6.对于尚未确定节点位置的热图,使用其热图峰值响应位置。

上述实现方式在此处是开源的:https://github.com/Guanghan/GNet-pose/blob/master/testing/utils/utils_n ms.py,通过引用将其全部内容并入本文。

请注意:关键点对应于热图中的单个像素,而斑点是通过斑点检测从热图中获得的。斑点是相邻像素的集合,斑点可以是任何形状,可以将斑点视为一个连接的部分。在热图中,可以检测到一个以上斑点。

在热图NMS之后,每个热图通道具有不超过一个斑点。关键点可以是斑点对应通道图的峰值位置。对于一些关键点,它们对应的热图可能没有其余的斑点。在这种情况下,针对这些通道的关键点将是峰值位置。

作为示例,图2A至图2L示例性地示出了根据本公开的一些实施例的由人体姿态估计模块130执行的姿态估计过程,其中,图2A示例性地示出了根据本公开的一些实施例的由相应的边界框定位的一帧内的多个对象中的一个对象。图2B至图2K示例性地示出了根据本公开的一些实施例的由针对该对象的边界框所限定的图像区域的部分回归热图结果。图2L示例性地示出了根据本公开的一些实施例的对该对象使用交叉热图NMS抑制的姿态估计结果,关键点以及连接两个相邻关键点的线可以表示该对象的姿态。在一些实施例中,对象的RGB通道图像可以被回归到15个热图的集合中,每个热图可以对应于一个关键点。另外,应注意,从对象的图像回归的热图的数量不限于此。

例如,图3B示例性地示出了根据本公开的一些实施例的由人体姿态估计模块130产生的输出结果。具体地,图3A中示出的多个对象的局部关键点是从图3A中示出的由多个边界框限定的区域中确定的,如图3B所示,其中多个对象中的每个对象对应于相同数量的(例如15个)预定义的局部关键点。

然后,将多个连续帧的每个帧中每个对象的估计结果转换成openSVAI标准化数据格式,以便针对多个连续帧的每个帧中的每个对象生成标准化估计结果。

人体姿态估计模块130在被加载到存储器114中并由处理器112执行时,还可以使处理器112在针对多个连续帧的每个帧中每个对象生成标准化估计结果后,将该标准化估计结果发送至人体姿态跟踪模块140。

在一些实施例中,人体姿态跟踪模块140在被加载到存储器114中并由处理器112执行时,可以响应于接收到针对多个连续帧的每个帧中每个对象的标准化估计结果,使处理器112跟踪每个对象跨越多个连续帧的姿态。在一些实施例中,人体姿态跟踪模块140在被加载到存储器114中并由处理器112执行时,可以使处理器112向边界框分配相同的标识符,以指示跨越多个连续帧的对象中的同一对象,并将跨越多个连续帧的具有相同标识符的边界框内的关键点相关联,从而为跨越多个连续帧的每个对象建立一个姿态流。在此,术语“姿态流”可以是指示在多个连续帧中同一人实例(即,对象)的一组姿态。

在一些实施例中,人体姿态跟踪模块140可以由基于流的姿态跟踪器来实现(例如,参见Xiu,Y.,Li,J.,Wang,H.,Fang,Y.,Lu,C.:Pose flow:Efficient online posetracking.In:BMVC(2018),通过引用将其全部内容并入本文)。具体地,人体姿态跟踪模块140可以建立由人体姿态估计模块130确定的跨帧姿态的关联并由此形成姿态流,然后减少冗余的姿态流,并用姿态流非极大值抑制(NMS)来重新链接时间不相交的姿态流。该过程的细节可以参考上述内容。

为了改善人体姿态跟踪模块140的性能,进行了广泛的实验。姿态跟踪器的性能可以经由MOTA进行评估,MOTA非常严格。MOTA会惩罚不匹配、误报和漏报情况。为了获得更高的MOTA结果,需要删除置信度得分较低的关键点,因此牺牲了准确的关键点的查全率。表5说明了关键点的丢弃阈值如何影响(在PoseTrack 2018验证集上执行)的AP和MOTA性能的敏感度分析。从表5中可以看出,随着丢弃阈值从0.5增加到0.8,姿态估计的AP从76.3下降到69.7,而姿态跟踪的MOTA结果从40.4显著增加到62.4,这表明MOTA评估标准对关键点的丢弃率非常敏感。

表5

考虑到关键点的明显难点(例如,肩膀比脚踝更容易定位),每个节点的置信度分布可能不均匀。仅基于姿态估计器(例如,由人体姿态估计模块130实现)所估计的关键点置信度来丢弃关键点可能不是用于姿态跟踪的理想策略。在一些实施例中,从不同节点收集关键点的丢弃率的统计信息,如表6所示,该表说明了对具有不同丢弃阈值的关键点的丢弃率的统计分析(该分析在PoseTrack 2018验证集上执行,并且数字指示修剪后保留的关键点的百分比)。由关键点各自的保留率可以看出,从左到右,关键点的估计越来越困难。最简单和最困难的节点分别是肩膀和脚踝。也就是说,姿态估计器针对肩膀的关键点估计最自信,而针对脚踝的关键点估计最不自信。因此,自适应关键点修剪器可以帮助提高MOTA性能,同时保持较高的查全率。

表6

在一些实施例中,可以通过卷积神经网络(CNN)实现自适应关键点修剪器。在一些实施例中,自适应关键点修剪器对仅基于固定阈值的关键点的修剪表现出色,该固定阈值对测试数据和姿态估计器敏感。

图1C示意性地示出了根据本公开的一些实施例的自适应关键点修剪器142的配置结构的示例性框图。在一些实施例中,自适应关键点修剪器142可以包含在人体姿态跟踪模块140中。

如图1C所示,自适应关键点修剪器142可以包括:关键点丢弃阈值确定模块144和置信度得分比较模块146。在一些实施例中,关键点丢弃阈值确定模块144在被加载到存储器114中并由处理器112执行时,可以使处理器112为每个预定义的关键点类别确定关键点丢弃阈值。在一些实施例中,置信度得分比较模块146在被加载到存储器114中并由处理器112执行时,可以使处理器112将每一帧内的每个对象的每个关键点的置信度得分与相应的关键点丢弃阈值进行比较,丢弃置信度得分小于相应的关键点丢弃阈值的关键点,并保留置信度得分大于或等于相应的关键点丢弃阈值的关键点。因此,可以基于相应关键点类别的相应丢弃阈值自适应地丢弃具有较低置信度得分的关键点。

在对从人体姿态估计模块130接收到的多个连续帧的每个帧中每个对象的关键点进行自适应关键点修剪后,可以将多个连续帧的每个帧中每个对象的保留的关键点输入至人体姿态跟踪模块140。姿态跟踪过程可以从检测到候选人的第一帧开始。人体姿态跟踪模块140可以为跨越多个帧的每个对象分配标识符。为了防止为已经离开可见图像区域的人(即,对象)分配ID,仅将ID保留有限的帧数,之后将该ID丢弃。例如,图3C示例性地示出了根据本公开的一些实施例的由人体姿态跟踪模块140产生的输出结果。如图3C所示,图3B中多个对象中的每个对象都分配有唯一的标识符,并且在多个连续帧中的同一对象具有相同的标识符。

需要注意的是,图1A至图1C示出了计算设备100的装置和模块,在其他实施例中,计算设备100可以包含比图1A至图1C所描绘的更少的、不同的、不同布置的或另外的装置和/或模块。另外地或可选地,计算设备100的一个或多个装置和/或模块可以执行被描述为由计算设备100的一个或多个其他装置和/或模块执行的一个或多个任务。

在下文中,将参照图4至图7详细描述根据本公开的一些实施例的多个对象的姿态跟踪方法。应当特别注意的是,除非在本公开中另有说明,任何方法的步骤可以以不同的顺序设置,因此不限于附图中所示的顺序。另外,将省略与上述用于跟踪多个对象的姿态的设备相同的描述。

图4示意性地示出了根据本公开的一些实施例的基于多个单对象姿态估计器的多个对象的姿态跟踪方法的流程图。在一些实施例中,该方法可以由图1A所示的计算设备100来实现。在一些实施例中,图4示出的方法可以对应于多对象姿态跟踪应用118的部分或全部功能。多个对象的姿态跟踪方法可以包括以下步骤。

在步骤401中,候选人检测模块120在被加载到存储器114中并由处理器112执行时,可以使处理器112从视频序列中的多个连续帧的每个帧中检测对象,并将检测结果发送至执行的人体姿态估计模块130。在一些实施例中,该结果包括每个帧中的边界框。在一些实施例中,该结果以openSVAI格式描述。

在步骤402中,人体姿态估计模块130在被加载到存储器114中并由处理器112执行时,可以使处理器112响应于接收到来自候选人检测模块120的检测结果,使用检测结果估计多个连续帧的每个帧中的每个对象的姿态,并将所估计的姿态发送至执行的人体姿态跟踪模块140。在一些实施例中,所估计的姿态以openSVAI格式描述。

在步骤403中,人体姿态跟踪模块140在被加载到存储器114中并由处理器112执行时,可以使处理器112响应于接收到对象的估计姿态,跟踪每个对象跨越多个连续帧的姿态。

图5示意性地示出了根据本公开的其他实施例的基于多个单对象姿态估计器的多个对象的姿态跟踪方法的流程图。在一些实施例中,该方法可以由图1A所示的计算设备100来实现。在一些实施例中,图5示出的方法可以对应于多对象姿态跟踪应用118的部分或全部功能。多个对象的姿态跟踪方法可以包括以下步骤。

在步骤501中,候选人检测模块120在被加载到存储器114中并由处理器112执行时,可以使处理器112确定视频序列中多个连续帧的每个帧中针对每个对象的边界框并确定该边界框的置信度得分,并将确定出的边界框及其置信度得分发送至执行的人体姿态估计模块130。

在步骤502中,人体姿态估计模块130在被加载到存储器114中并由处理器112执行时,可以使处理器112响应于接收到边界框及其置信度得分,从所述多个连续帧的每个帧中由针对每个对象的所述边界框限定的区域中,确定多个连续帧的每个帧中每个对象的关键点,并确定每个关键点的置信度得分,并将关键点和置信度得分的结果发送至执行的人体姿态跟踪模块140。

在一些实施例中,所述从所述多个连续帧的每个帧中由针对每个对象的所述边界框限定的区域中,确定多个连续帧的每个帧中每个对象的关键点,并确定每个关键点的置信度得分的步骤,可以包括:将多个连续帧的每个帧中由针对每个对象的边界框限定的区域回归为多个连续帧的每个帧中每个对象的热图;使用交叉热图姿态非极大值抑制NMS将多个连续帧的每个帧中的每个对象的热图抑制为多个连续帧的每个帧中的每个对象的关键点;以及确定多个连续帧的每个帧中每个对象的关键点的置信度得分。交叉热图姿态NMS的细节将在下文参考图6进行描述。

在一些实施例中,所述从所述多个连续帧的每个帧中由针对每个对象的所述边界框限定的区域中,确定出多个连续帧的每个帧中每个对象的关键点,并确定每个关键点的置信度得分的步骤,还可以包括:应用结合两个或更多个姿态估计模型的模型集成模式,以确定多个连续帧的每个帧中每个对象的关键点,其中,所述两个或更多个姿态估计模型至少包括第一模型和第二模型。在一些实施例中,模型集成模式可以包括平均模式,在平均模式中,对于多个连续帧的每个帧中每个对象的所有关键点,将权重0.5分配给针对第一模型的姿态估计结果,将权重0.5分配给针对第二模型的姿态估计结果。在其他实施例中,模型集成模式包括专家模式,在专家模式中,对于多个连续帧的每个帧中每个对象的每个关键点,将权重1分配给在针对第一模型的姿态估计结果和针对第二模型的姿态估计结果中平均精确度AP更高的姿态估计结果,将权重0分配给在针对第一模型的姿态估计结果和针对第二模型的姿态估计结果中的另一姿态估计结果。在一些实施例中,第一模型和第二模型中的一个模型是epoch 291,第一模型和第二模型中的另一模型是epoch 293。

在步骤503中,人体姿态跟踪模块140在被加载到存储器114中并由处理器112执行时,可以使处理器112响应于接收到来自姿态估计模块130的姿态估计结果,使用自适应关键点修剪器对多个连续帧的每个帧中每个对象的关键点进行自适应关键点修剪。所述自适应关键点修剪器142执行过程的细节将在下文参考图7进行描述。

在步骤504中,人体姿态跟踪模块140在被加载到存储器114中并由处理器112执行时,可以使处理器112在执行自适应关键点修剪后,向边界框分配相同的标识符,以指示跨越多个连续帧的对象中的同一对象。

在步骤505中,人体姿态跟踪模块140在被加载到存储器114中并由处理器112执行时,可以使处理器112在向边界框分配指示跨越多个连续帧的对象中的同一对象的相同的标识符后,将跨越多个连续帧的具有相同标识符的边界框内的关键点相关联,以为跨越多个连续帧的每个对象建立姿态流。

图6示例性地示出了根据本公开的一些实施例的利用交叉热图NMS将对象的热图抑制为关键点的方法的流程图。在一些实施例中,该方法可以由图1B所示的交叉热图姿态NMS模块132来实现。交叉热图NMS抑制的方法可以包括以下步骤。

在步骤601中,热图获取模块133在被加载到存储器114中并由处理器112执行时,可以使处理器112接收从对象的图像回归的一组(例如,N个)热图,其中N为正整数,并且将该组热图发送至执行的斑点收集模块134。

在步骤602中,斑点收集模块134在被加载到存储器114中并由处理器112执行时,可以使处理器112响应于接收到该组热图,从所有N个热图中收集斑点以进行抑制,并将收集的斑点发送至执行的斑点抑制模块135。

在步骤603中,斑点抑制模块135在被加载到存储器114中并由处理器112执行时,可以使处理器112响应于接收到所收集的斑点,确定具有最大响应的斑点,抑制同一热图中的其他斑点和在图像坐标系中非常接近确定出的斑点的其他热图中的斑点,并从该组热图中删除该热图(N=N-1)。

在步骤604中,热图数量比较模块136在被加载到存储器114中并且由处理器112执行时,可以使处理器112将当前热图数量N=N-1与0进行比较。如果N=N-1大于零,则过程返回到步骤603,而如果N=N-1不大于零,则过程终止。在此,应当注意,术语“终止”是指针对本对象的抑制过程终止,而其他对象可以遵循相同的抑制过程。利用上述交叉热图NMS方法,可以确定多个连续帧的每个帧中每个对象的关键点。

图7示例性地示出了根据本公开的一些实施例的利用自适应关键点修剪器修剪关键点的方法的流程图。在一些实施例中,该方法可以由图1C所示的自适应关键点修剪器142实现。修剪关键点的方法可以包括以下步骤。

在步骤701中,关键点丢弃阈值确定模块144在被加载到存储器114中并由处理器112执行时,可以使处理器112为每个预定义的关键点类别确定关键点丢弃阈值,并将该关键点丢弃阈值发送至置信度得分比较模块146。

在步骤702中,置信度得分比较模块146在被加载到存储器114中并且由处理器112执行时,可以使处理器112响应于接收到关键点丢弃阈值,确定每个帧中每个对象的每个关键点的置信度得分是否大于或等于相应的关键点丢弃阈值。如果是,则进入步骤703,而如果否,则进入步骤704。

在步骤703中,置信度得分比较模块146在被加载到存储器114中并且由处理器112执行时,可以使处理器112响应于关键点的置信度得分大于或等于相应的关键点丢弃阈值而保留该关键点。

在步骤704中,置信度得分比较模块146在被加载到存储器114中并且由处理器112执行时,可以使处理器112响应于关键点的置信度得分小于相应的关键点丢弃阈值而丢弃该关键点。利用上述关键点修剪方法,可以基于相应关键点类别的相应丢弃阈值来自适应地丢弃具有较低置信度得分的关键点。

作为示例,在表7中示出了用上述装置和方法实现的PoseTrack2018的部分测试集的最终性能,表7示出了在PoseTrack 2018部分测试集上的单帧姿态估计结果,而表8示出了在PoseTrack 2018部分测试集上的多帧姿态跟踪结果。

表7

表8

综上所述,本公开的一些实施例提供了一种精确且鲁棒的多对象姿态跟踪系统,所述系统包括当前技术水平的对象检测器、单人姿态估计器以及人体姿态跟踪器。在一些实施例中,多对象姿态跟踪系统被配置为在当前技术水平中选择通用对象检测器以检测候选人,利用级联的金字塔网络估计对应的人体姿态,并利用基于流的姿态跟踪器,跨帧渲染关键点关联,即为了进行多目标姿态跟踪,为每个候选人分配一个唯一的且暂时一致的ID。进行了广泛的烧蚀实验,以验证模型的各种选择和配置结构并获得较好的性能。

要注意的是,基于多个单对象姿态估计器的多对象姿态跟踪系统的子模块可以是通用的,例如,人体姿态估计模块130和人体姿态跟踪模块140可以是通用的,这些子模块是可更换的并且可以升级。

本公开的优点尤其包括:(1)提供了一种端到端的人体姿态估计及跟踪系统,该系统具有在一系列帧中检测对象的对象检测模块、在一系列帧中估计对象姿态的单人姿态估计模块以及基于估计的姿态在一系列帧中跟踪对象姿态的姿态跟踪模块;(2)姿态估计模块结合了不同模型的优点,其中使用不同模型时,每个关键点的权重可以不同;(3)为整个自上而下的方法提供了openSVAI标准化数据格式。

仅出于说明和描述的目的给出了对本公开的示例性实施例的前述描述,而并不旨在穷举本公开或将本公开限制为所公开的精确形式。根据以上教导,可以进行许多修改和变化。

选择和描述实施例是为了解释本公开的原理及其实际应用,以便使本领域的其他技术人员能够利用本公开和各种实施例并进行各种修改,以适合于预期的特定用途。在不脱离本申请的精神和范围的情况下,替代实施例对于本公开所属领域的技术人员是显而易见的。因此,本公开的范围由所附权利要求书而不是前述说明书和其中描述的示例性实施方式限定。

参考文献

1.Andriluka,M.,Iqbal,U.,Milan,A.,Insafutdinov,E.,Pishchulin,L.,Gall,J.,Schiele,B.,Posetrack:A benchmark for human pose estimation andtracking.In:Proceedings of the IEEE Conference on Computer Vision and PatternRecognition,2018,pp.5167-5176.

2.Cao,Z.,Simon,T.,Wei,S.E.,Sheikh,Y.,Realtime multi-object 2d poseestimation using part affinity fields,CVPR,2017,pp.7291-7299.

3.Chen,Y.,Wang,Z.,Peng,Y.,Zhang,Z.,Yu,G.,Sun,J.,Cascaded PyramidNetwork for Multi-object Pose Estimation,CVPR,2018,pp.7103-7112.

4.Dai,J.,Li,Y.,He,K.,Sun,J.:R-FCN:Object detection via region-basedfully convolutional networks,Advances in neural information processingsystems,2016.

5.Dai,J.,Qi,H.,Xiong,Y.,Li,Y.,Zhang,G.,Hu,H.,Wei,Y.,Deformableconvolutional networks,2017,arXiv:1703.06211.

6.Girdhar,R.,Gkioxari,G.,Torresani,L.,Paluri,M.,Tran,D.,Detect-and-track:Efficient pose estimation in videos.In:Proceedings of the IEEEConference on Computer Vision and Pattern Recognition,2018,pp.350-359.

7.Girshick,R.:Fast R-CNN,Proceedings of the IEEE internationalconference on computer vision,2015,pp.1440-1448.

8.Hao-Shu Fang,Shuqin Xie,Y.W.T.,Lu,C.,RMPE:Regional multi-objectpose estimation,ICCV,2017,arXiv:1612.00137.

9.He,K.,Gkioxari,G.,Dollar,P.,Girshick,R.:Mask R-CNN,2017IEEEInternational Conference on Computer Vision(ICCV),2017,pp.2961-2969.

10.He,K.,Zhang,X.,Ren,S.,Sun,J.,Deep residual learning forimagerecognition,CVPR,2016,pp.770-778.

11.Insafutdinov,E.,Andriluka,M.,Pishchulin,L.,Tang,S.,Levinkov,E.,Andres,B.,Schiele,B.,Arttrack:Articulated multi-object tracking inthe wild,CVPR,2017,pp.6457-6465.

12.Iqbal,U.,Milan,A.,Gall,J.:Posetrack,Joint multi-objectposeestimation and tracking,IEEE Conference on Computer Vision andPatternRecognition(CVPR),2017,pp.2011-2020.

13.Lin,T.Y.,Dollar,P.,Girshick,R.B.,He,K.,Hariharan,B.,Belongie,S.J.,Feature pyramid networks for object detection,CVPR,2017,pp.2117-2125.

14.Newell,A.,Huang,Z.,Deng,J.,Associative embedding:End-to-endlearning for joint detection and grouping,Advances in NeuralInformationProcessing Systems,2017,pp.1-11.

15.Ning,G.,Zhang,Z.,He,Z.,Knowledge-guided deep fractalneuralnetworks for human pose estimation,IEEE Transactions onMultimedia,2018,arXiv:1705.02407.

16.Papandreou,G.,Zhu,T.,Kanazawa,N.,Toshev,A.,Tompson,J.,Bregler,C.,Murphy,K.,Towards accurate multi-object pose estimation inthe wild,CVPR,2017,pp.4903-4911.

17.Shao,S.,Zhao,Z.,Li,B.,Xiao,T.,Yu,G.,Zhang,X.,Sun,J.,Crowdhuman:Abenchmark for detecting human in a crowd,2018,arXiv:1805.00123.

18.Xia,F.,Wang,P.,Chen,X.,Yuille,A.L.,Joint multi-objectposeestimation and semantic part segmentation,CVPR,2017,pp.6769-6778.

19.Xiao,B.,Wu,H.,Wei,Y.,Simple baselines for human poseestimation andtracking,ECCV,2018,pp.1-16.

20.Xiu,Y.,Li,J.,Wang,H.,Fang,Y.,Lu,C.:Pose flow,Efficientonline posetracking,BMVC,2018,arXiv:1802.00977.

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号