CN111582204A - 姿态检测方法、装置、计算机设备及存储介质 - Google Patents

姿态检测方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN111582204A
CN111582204A CN202010402654.2A CN202010402654A CN111582204A CN 111582204 A CN111582204 A CN 111582204A CN 202010402654 A CN202010402654 A CN 202010402654A CN 111582204 A CN111582204 A CN 111582204A
Authority
CN
China
Prior art keywords
camera coordinate
coordinate system
target
key point
image
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
Application number
CN202010402654.2A
Other languages
English (en)
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.)
Beijing Sensetime Technology Development Co Ltd
Original Assignee
Beijing Sensetime Technology Development Co Ltd
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 Beijing Sensetime Technology Development Co Ltd filed Critical Beijing Sensetime Technology Development Co Ltd
Priority to CN202010402654.2A priority Critical patent/CN111582204A/zh
Publication of CN111582204A publication Critical patent/CN111582204A/zh
Pending legal-status Critical Current

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/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Biology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

本公开提供了一种姿态检测方法、装置、计算机设备及存储介质;该方法包括:获取第一图像;利用预先训练的姿态检测模型,对所述第一图像进行姿态检测处理,得到所述第一图像中至少一个第一目标的姿态检测结果;其中,所述姿态检测模型是利用第二图像中至少一个第二目标的关键点在不同视角下的相对位置关系信息训练而成。本公开能够使得姿态检测模型能够学习到不同第二目标之间的相互位置关系,在使用该姿态检测模型对第一图像中的第一目标进行姿态检测时,对于被遮挡的第一目标也能够获得检测精度更高的姿态检测结果。

Description

姿态检测方法、装置、计算机设备及存储介质
技术领域
本公开涉及图像处理技术领域,具体而言,涉及一种姿态检测方法、装置、计算机设备及存储介质。
背景技术
三维人体姿态检测计被广泛应用于安防、游戏、娱乐等领域。当前的三维人体姿态检测方法通常为识别人体关键点在图像中的第一二维位置信息,然后根据预先确定的人体关键点之间的位置关系,将第一二维位置信息转换为三维位置信息。
当前的三维人体姿态检测方法所得到的人体姿态存在较大的误差。
发明内容
本公开实施例至少提供一种姿态检测方法、装置、计算机设备及存储介质。
第一方面,本公开实施例提供了一种姿态检测方法,包括:获取第一图像;利用预先训练的姿态检测模型,对所述第一图像进行姿态检测处理,得到所述第一图像中至少一个第一目标的姿态检测结果;其中,所述姿态检测模型是利用第二图像中至少一个第二目标的关键点在不同视角下的相对位置关系信息训练而成。
这样,使得姿态检测模型能够学习到不同第二目标之间的相互位置关系,在使用该姿态检测模型对第一图像中的第一目标进行姿态检测时,对于被遮挡的第一目标也能够获得检测精度更高的姿态检测结果。
一种可能的实施方式中,所述不同视角下的相对位置关系信息包括在不同相机坐标系下至少一个关键点对中每个关键点对的深度差;所述关键点对包括所述第二图像中至少一个第二目标的任意两个关键点。
这样,不同相机坐标系下至少一个关键点对中每个关键点对的深度差来表征不同视角下的相对位置关系信息,能够更好的将不同的第二目标之间的遮挡关系表征出来。
一种可能的实施方式中,所述不同相机坐标系包括:真实相机坐标系、以及至少一个虚拟相机坐标系,或者,所述不同相机坐标系包括:不同虚拟相机坐标系。
这样,通过构建至少一个虚拟相机坐标系,来确定不同的视角。
一种可能的实施方式中,采用下述方法训练得到所述姿态检测模型:利用待训练的神经网络确定所述第二图像中每个第二目标的多个关键点分别在真实相机坐标系中的第一位置信息;基于所述第一位置信息,确定所述相对位置关系信息;基于所述相对位置关系信息,确定神经网络损失;基于所述神经网络损失训练所述待训练的神经网络,得到所述姿态检测模型。
这样,利用第二图像中至少一个第二目标的关键点在不同视角下的相对位置关系信息训练得到姿态检测模型。
一种可能的实施方式中,基于所述第一位置信息,确定在虚拟相机坐标系下至少一个关键点对中每个关键点对的深度差,包括:针对每个所述关键点对,基于所述关键点对中的两个关键点分别在真实相机坐标系中的第一位置信息,以及所述真实相机坐标系与第一虚拟相机坐标系之间的转换关系信息,确定所述关键点对中的每个关键点分别在所述第一虚拟相机坐标系中的第二位置信息;基于所述关键点对中的每个关键点分别在所述第一虚拟相机坐标系中的第二位置信息,确定所述关键点对在所述第一虚拟相机坐标系中的深度差,所述第一虚拟相机坐标系为虚拟相机坐标系中的任一个坐标系。
这样,通过真实相机坐标系,来构建虚拟相机坐标系,从而实现了基于关键点对的多视角相互位置关系信息的监督姿态检测模型的训练过程。
一种可能的实施方式中,所述姿态检测方法还包括:基于所述至少一个第二目标的关键点在真实相机坐标系中的第一位置信息,确定所述至少一个第二目标的中心位置点在所述真实相机坐标系中的位置信息,以及确定第一虚拟相机位置点在所述真实相机坐标系中的位置信息;基于所述中心位置点在所述真实相机坐标系中的位置信息、以及所述第一虚拟相机位置点在所述真实相机坐标系中的位置信息,生成所述第一虚拟相机位置点对应的第一虚拟相机坐标系与所述真实相机坐标系之间的转换关系信息。
这样,能够随机的确定虚拟相机坐标系,得到虚拟相机坐标系和真实相机坐标系之间的转换关系信息。
一种可能的实施方式中,所述在所述真实相机坐标系中,确定第一虚拟相机位置点在所述真实相机坐标系中的位置信息,包括:基于所述中心位置点在所述真实相机坐标系中的位置信息、以及所述至少一个第二目标的关键点分别在真实相机坐标系中的第一位置信息,确定包围球半径;所述包围球将所述至少一个第二目标的关键点包围在内;基于所述中心位置点在所述真实相机坐标系中的位置信息、以及所述包围球半径,在所述包围球的球面上或球面外确定所述第一虚拟相机位置点在所述真实相机坐标系中的位置信息。
这样,能够保证第二图像中的第二目标的所有关键点都位于虚拟相机的拍摄视角下。
一种可能的实施方式中,,所述基于所述相对位置关系信息确定神经网络损失,包括:基于所述至少一个关键点对在所述不同相机坐标系中的深度差,以及各关键点对中的两个关键点在所述不同相机坐标系中的实际深度关系信息,确定所述神经网络损失。
一种可能的实施方式中,所述基于所述至少一个关键点对在所述不同相机坐标系中的深度差,以及各关键点对中的两个关键点在所述不同相机坐标系中的实际深度关系信息,确定所述神经网络损失,包括:针对所述至少一个关键点对中的每个关键点对,根据每个关键点对在所述不同虚拟相机坐标系中的深度差、以及所述实际深度关系信息,确定每个关键点对的损失惩罚值;基于所述至少一个关键点对分别对应的损失惩罚值,确定所述神经网络损失。
这样,利用了相对位置关系所表征的关键点对在不同视角下的前后位置是否正确,来确定神经网络损失;若关键点对在不同视角下的前后位置正确率越高,则对应的神经网络损失越小。
第二方面,本公开实施例还提供一种姿态检测装置,包括:获取模块,用于获取第一图像;处理模块,用于利用预先训练的姿态检测模型,对所述第一图像进行姿态检测处理,得到所述第一图像中至少一个第一目标的姿态检测结果;其中,所述姿态检测模型是利用第二图像中至少一个第二目标的关键点在不同视角下的相对位置关系信息训练而成。
一种可能的实施方式中,所述不同视角下的相对位置关系信息包括在不同相机坐标系下至少一个关键点对中每个关键点对的深度差;所述关键点对包括所述第二图像中至少一个第二目标的任意两个关键点。
一种可能的实施方式中,所述不同相机坐标系包括:真实相机坐标系、以及至少一个虚拟相机坐标系,或者,所述不同相机坐标系包括:不同虚拟相机坐标系。
一种可能的实施方式中,还包括:训练模块,用于采用下述方法训练得到所述姿态检测模型:利用待训练的神经网络确定所述第二图像中每个第二目标的多个关键点分别在真实相机坐标系中的第一位置信息;基于所述第一位置信息,确定所述相对位置关系信息;基于所述相对位置关系信息,确定神经网络损失;基于所述神经网络损失训练所述待训练的神经网络,得到所述姿态检测模型。
一种可能的实施方式中,所述训练模块,在基于所述第一位置信息,确定在虚拟相机坐标系下至少一个关键点对中每个关键点对的深度差时,用于:针对每个所述关键点对,基于所述关键点对中的两个关键点分别在真实相机坐标系中的第一位置信息,以及所述真实相机坐标系与第一虚拟相机坐标系之间的转换关系信息,确定所述关键点对中的每个关键点分别在所述第一虚拟相机坐标系中的第二位置信息;基于所述关键点对中的每个关键点分别在所述第一虚拟相机坐标系中的第二位置信息,确定所述关键点对在所述第一虚拟相机坐标系中的深度差,所述第一虚拟相机坐标系为虚拟相机坐标系中的任一个坐标系。
一种可能的实施方式中,所述训练模块,还用于:基于所述至少一个第二目标的关键点在真实相机坐标系中的第一位置信息,确定所述至少一个第二目标的中心位置点在所述真实相机坐标系中的位置信息,以及确定第一虚拟相机位置点在所述真实相机坐标系中的位置信息;基于所述中心位置点在所述真实相机坐标系中的位置信息、以及所述第一虚拟相机位置点在所述真实相机坐标系中的位置信息,生成所述第一虚拟相机位置点对应的第一虚拟相机坐标系与所述真实相机坐标系之间的转换关系信息。
一种可能的实施方式中,所述训练模块,在所述真实相机坐标系中,确定第一虚拟相机位置点在所述真实相机坐标系中的位置信息时,用于:基于所述中心位置点在所述真实相机坐标系中的位置信息、以及所述至少一个第二目标的关键点分别在真实相机坐标系中的第一位置信息,确定包围球半径;所述包围球将所述至少一个第二目标的关键点包围在内;基于所述中心位置点在所述真实相机坐标系中的位置信息、以及所述包围球半径,在所述包围球的球面上或球面外确定所述第一虚拟相机位置点在所述真实相机坐标系中的位置信息。
一种可能的实施方式中,所述训练模块,在基于所述相对位置关系信息确定神经网络损失时,用于:基于所述至少一个关键点对在所述不同相机坐标系中的深度差,以及各关键点对中的两个关键点在所述不同相机坐标系中的实际深度关系信息,确定所述神经网络损失。
一种可能的实施方式中,所述训练模块,在所述基于所述至少一个关键点对在所述不同相机坐标系中的深度差,以及各关键点对中的两个关键点在所述不同相机坐标系中的实际深度关系信息,确定所述神经网络损失时,用于:针对所述至少一个关键点对中的每个关键点对,根据每个关键点对在所述不同虚拟相机坐标系中的深度差、以及所述实际深度关系信息,确定每个关键点对的损失惩罚值;基于所述至少一个关键点对分别对应的损失惩罚值,确定所述神经网络损失。
第三方面,本公开实施例还提供一种计算机设备,包括:相互连接的处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述机器可读指令被所述处理器执行以实现如第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种姿态检测方法的流程图;
图2示出了本公开实施例所提供的示出一个关键点对在不同视角下具备不同相互位置关系的俯视示例;
图3示出了本公开实施例所提供的训练姿态检测模型的具体方法的流程图;
图4示出了本公开实施例所提供的基于所述第一位置信息,确定在虚拟相机坐标系下至少一个关键点对中每个关键点对的深度差的具体方法的流程图;
图5示出了本公开实施例所提供的姿态检测装置的示意图;
图6示出了本公开实施例所提供的一种计算机设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
三维人体姿态检测方法通常为通过神经网络识别人体关键点在待识别图像中的第一二维位置信息,然后根据人体关键点之间的相互位置关系(如不同关键点之间的连接关系、相邻关键点之间的距离范围等)将各个人体关键点的第一二维位置信息转换为三维位置信息;但这种方法依赖于人体关键点的精确检测;但当前的人体三维姿势估计方法在对包括多人的图像进行人体三维姿势检测时,由于多人人体之间会存在相互遮挡,在很多情况下并不能精确的从图像中将人体关键点识别出来,导致基于当前方法进行人体三维姿势检测的精确性差的问题。
基于上述研究,本公开提供了一种姿态检测方法及装置,用于进行三维姿态检测的姿态检测模型,是利用第二图像中至少一个第二目标的关键点在不同视角下的相对位置关系训练而成,从而使得姿态检测模型能够学习到不同第二目标之间的相互位置关系,在使用该姿态检测模型对第一图像中的第一目标进行姿态检测时,对于被遮挡的第一目标也能够获得检测精度更高的姿态检测结果。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种姿态检测方法进行详细介绍,本公开实施例所提供的姿态检测方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该姿态检测方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
本公开实施例提供的图像处理方法,不止可以用于对人体进行三维姿态检测,还可以用于对其他的目标进行三维姿态检测。
下面对本公开实施例提供的姿态检测方法加以说明。
参见图1所示,为本公开实施例提供的姿态检测方法的流程图,所述方法包括步骤S101~S102,其中:
S101:获取第一图像;
S102:利用预先训练的姿态检测模型,对所述第一图像进行姿态检测处理,得到所述第一图像中至少一个第一目标的姿态检测结果;
其中,所述姿态检测模型是利用第二图像中至少一个第二目标的关键点在不同视角下的相对位置关系信息训练而成。
下面分别对上述S101~S102加以详细说明。
I:在上述S101中,第一图像中包括有至少一个第一目标。第一目标例如包括人、动物、机器人、车辆等需要确定姿态的对象。
一种可能的实施方式中,在第一图像中包括的第一目标多于一个的情况下,不同第一目标的类别可以相同,也可以不同;例如,多个第一目标均为人;或者,多个第一目标均为车辆。又例如,第一图像中的第一目标包括:人和动物;或者,第一图像中的第一目标包括人和车辆,具体根据实际的应用场景需要来确定第一目标的类别。
II:在上述S102中,根据第一图像中的第一目标的不同,训练姿态检测模型时所采用的第二图像也有所区别。
例如在要识别的第一目标包括仅包括人的情况下,则训练姿态检测模型时所采用的第二图像中的第二目标也包括人;在要识别的第一目标包括人、车辆和动物的情况下,则训练姿态检测模型时所采用的第二图像中的第二目标也包括人、车辆和动物。
第二目标的关键点,例如是位于第二目标上,且按照一定的顺序连接后,能够表征第二目标的三维姿态的位置点;例如,在第二目标为人体时,关键点例如包括人体各个关节所在的位置点。该位置点在图像坐标系中,坐标值为二维坐标值;在相机坐标系中,坐标值为三维坐标值。
在本公开实施例中,至少一个第二目标的关键点在不同视角下的相对位置关系信息,例如包括:在不同相机坐标系下至少一个关键点对中每个关键点对的深度差;所述关键点对包括所述第二图像中至少一个第二目标的任意两个关键点。
其中,相机坐标系为以相机的光轴为z轴,以相机的光心所在、且垂直于相机的光轴的平面为x轴和y轴所在平面建立的三维坐标系。其中,z轴方向称深度方向。
不同相机坐标系例如有下述几种情况中任一种:(1)真实相机坐标系、以及至少一个虚拟相机坐标系;(2):至少两个虚拟相机坐标系。
其中,真实相机坐标系是基于拍摄第二图像的真实相机建立的坐标系。
虚拟相机坐标系例如是基于拍摄位置、拍摄角度不同于真实相机的虚拟相机建立的坐标系。
示例性的,例如在第二图像中包括2个第二目标,分别为A、和B,其中,第二目标A的关键点包括:a1至an共n个关键点;第二目标B的关键点包括b1至bn共n个关键点。
则至少一个关键点对表示为:(p,q);其中,p∈{a1,a2,…,an,b1,b2,…,bn},q∈{a1,a2,…,an,b1,b2,…bn},且p≠q。
这里,针对构成关键点对中的两个不同关键点,当两个关键点的位置发生变化,其表征不同的关键点对。例如(a3,b4)和(b4,a3)是两个不同的关键点对。
在不同的相机坐标系中,由于“看向”第二目标的视角不同,因而造成同一关键点对在不同的相机坐标系下,具有不同的深度差。
如图2所示,示出一个关键点对在不同视角下具备不同相互位置关系的俯视示例;该示例中,不同相机坐标系包括真实相机坐标系、以及两个虚拟相机坐标系为例,其中,真实相机坐标系是基于真实相机建立的坐标系;两个虚拟相机坐标系,是分别基于虚拟相机1和虚拟相机2建立的坐标系。
关键点对(p,q),在真实相机坐标系下,p的深度等于q的深度(这里的等于是指p和q的深度差小于预设的深度差阈值);在基于虚拟相机1建立的虚拟相机坐标系中,p的深度小于q的深度;在基于虚拟相机2建立的虚拟相机坐标系中,p的深度大于q的深度。可见,即使对于同一对关键点对而言,当视角发生变化时,该关键点对中的两个关键点之间的相互位置关系可以相应发生变化。
基于此,本公开实施例利用第二图像中至少一个第二目标的关键点在不同视角下的相互位置关系,训练姿态检测模型;在姿态检测模型无法精确识别被遮挡的第二目标上的关键点的情况下,通过该相互位置关系来监督姿态检测模型的训练过程,从而使得姿态检测模型能够学习到不同第二目标之间的相互位置关系,在使用该姿态检测模型对第一图像中的第一目标进行姿态检测时,对于被遮挡的第一目标也能够获得检测精度更高的姿态检测结果。
参见图3所示,本公开实施例提供一种训练姿态检测模型的具体方法,包括:
S301:利用待训练的神经网络确定所述第二图像中每个第二目标的多个关键点分别在真实相机坐标系中的第一位置信息。
在具体实施中,待训练的神经网络例如包括:目标检测网络、关键点检测网络以及深度预测网络三个分支网络;目标检测网络用于获得所述第二目标的目标区域;关键点检测网络用于基于目标区域确定第二目标中的各个关键点,在与第二图像对应的图像坐标系中的第一二维位置信息、以及各个关键点与第二目标的参考节点之间的相对深度;深度预测网络用于基于目标区域预测第二目标的参考节点在真实相机坐标系中的绝对深度。然后根据上述第一二维位置信息、各个关键点的相对深度、以及参考节点的绝对深度,确定第二图像中每个第二目标的对个关键点分别在真实相机坐标系中的第一位置信息。这里,第一位置信息为三维位置信息。
此处,参考节点例如为在第二目标上预先确定某个部位所在的位置点。示例性的,可以根据实际的需要来预先确定该参考节点;例如在第二目标为人体时,可以将人体骨盆所在的位置点确定为参考节点,或者将人体上任一关键点确定为参考节点,或者将人体的胸腹中央所在的位置点确定为参考节点;具体的可以根据需要进行设定。
①:目标检测网络:例如可以采用下述方式识别第二图像中第二对象的目标区域:对所述第二图像进行特征提取,得到所述第二图像的特征图;基于所述特征图,从预先生成的多个候选边界框中,确定多个目标边界框,并基于所述目标边界框,确定所述第二目标对应的目标区域。
具体地:例如可以利用神经网络对第二图像进行特征提取,以得到第二图像的特征图。在得到第二图像的特征图后,例如可以利用边界框预测算法,得到多个目标边界框。边界框预测算法例如包括RoIAlign、ROI-Pooling等,以RoIAlign为例,RoIAlign可以对预先生成的多个候选边界框进行遍历,确定各个候选边界框对应的子图像属于第二图像中任一第二目标的感兴趣区域(region of interest,ROI)值,该ROI值越高,与之对应的候选边界框对应的子图像属于某个第二目标的概率也就越大;在确定了每个候选边界框对应的ROI值后,根据各个候选边界框分别对应的ROI值从大到小的顺序,从候选边界框中确定多个目标边界框。目标边界框例如为矩形;目标边界框的信息例如包括:目标边界框中任一顶点在第二图像中的坐标,以及目标边界框的高度值和宽度值。或者,目标边界框的信息例如包括:目标边界框中任一顶点在第二图像的特征图中的坐标,以及目标边界框的高度值和宽度值。在得到多个目标边界框后,基于多个目标边界框,确定第二图像中所有的第二目标分别对应的目标区域。
在基于目标边界框确定第二目标对应的目标区域时,例如可以采用下述方法:基于多个所述目标边界框,以及所述特征图,确定每个所述目标边界框对应的特征子图;基于多个所述目标边界框分别对应的特征子图进行边界框回归处理,得到所述第二目标对应的目标区域。
具体地,在目标边界框的信息包括目标边界框上的任一顶点在第二图像中的坐标,以及目标边界框的高度值和宽度值的情况下,特征图中的特征点和第二图像中的像素点具有一定的位置映射关系;根据该目标边界框的相关信息、以及特征图和第二图像之间的映射关系,从第二图像的特征图中确定各个目标边界框分别对应的特征子图。
在目标边界框的信息包括目标边界框中任一顶点在第二图像的特征图中的坐标,以及目标边界框的高度值和宽度值的情况下,可以直接基于该目标边界框,从第二图像的特征图中确定与各个目标边界框分别对应的特征子图。
在得到每个目标边界框分别对应的特征子图后,例如可以利用边界框回归算法,基于每个目标边界框对应的特征子图,对目标边界框进行边界框回归处理,以得到包括完整第二目标的多个边界框。多个边界框中的每个边界框,与一个第二目标对应,基于与该第二目标对应的边界框确定的区域,即为对应第二目标的目标区域。此时,所得到的目标区域的数量,与第二图像中第二目标的数量一致,且每个第二目标对应一个目标区域;若不同的第二目标之间存在相互遮挡的位置关系,则存在相互遮挡关系的第二目标分别对应的目标区域具有一定的重叠度。
②:关键点检测网络:例如可以直接利用神经网络基于第二目标的目标特征图进行关键点检测处理,得到第二目标的多个关键点分别在第二图像中的二维位置信息,以及每个关键点相对于第二目标的参考节点的相对深度。
此处,例如可以基于对第二图像进行特征提取所得到的特征图、以及所述目标区域,从所述特征图中确定所述目标特征图。
③:深度预测网络:例如可以采用下述方式基于第二目标的目标区域,确定第二目标的参考节点在相机坐标系中的绝对深度:基于所述第二目标对应的目标区域以及所述第二图像,确定所述目标图像对应的目标特征图;基于所述第二目标对应的目标特征图执行深度识别处理,得到所述第二目标的参考节点的归一化绝对深度;基于所述归一化绝对深度以及所述相机的参数矩阵,得到所述第二目标的参考节点在所述相机坐标系中的绝对深度。
此处,例如可以采用下述方式得到参考节点的归一化绝对深度:基于所述第二图像,获取初始深度图像;其中,所述初始深度图像中任一第一像素点的像素值,表征所述第二图像中与所述第一像素点位置对应的第二像素点在所述相机坐标系中的初始深度值;基于所述第二目标对应的目标特征图,确定与所述第二目标对应的参考节点在所述第二图像中的第二二维位置信息,并基于所述第二二维位置信息、以及所述初始深度图像,确定所述第二目标对应的参考节点的初始深度值;基于所述第二目标对应的参考节点的初始深度值,以及所述第二目标对应的所述目标特征图,确定所述第二目标的参考节点的归一化绝对深度。
具体地,例如可以采用深度预测网络,确定第二图像中每个像素点(第二像素点)初始深度值;各个第一像素点的初始深度值,构成了第一图像的初始深度图像;在初始深度图像中的任一像素点(第一像素点)的像素值,即为在第二图像中对应位置的像素点(第二像素点)的初始深度值。
例如可以利用预先训练的参考节点检测网络,基于目标特征图中确定第二目标的参考节点在第二图像中的第二二维位置信息。然后利用该第二二维位置信息,从初始深度图像确定与参考节点对应的像素点,并将该从初始深度图像中确定的像素点的像素值,确定为参考节点的初始深度值。
在得到参考节点的初始深度值后,例如可以第二目标对应的目标特征图进行至少一级第一卷积处理,得到所述第二目标的特征向量;将所述特征向量和所述初始深度值进行拼接,形成拼接向量,并对所述拼接向量进行至少一级第二卷积处理,得到所述初始深度值的修正值;基于所述初始深度值的修正值、以及所述初始深度值,得到所述归一化绝对深度。
此处,例如可以采用一个用于对初始深度值进行调整的神经网络,该神经网络包括多个卷积层;其中,多个卷积层中的部分卷积层用于对目标特征图进行至少一级第一卷积处理;其他卷积层用于对拼接向量进行至少一级第二卷积处理,进而得到修正值;然后根据该修正值对初始深度值进行调整,得到第二目标的参考节点的归一化绝对深度。
在得到参考节点的归一化绝对深度后,可以根据归一化绝对深度和相机内参,恢复参考节点的绝对深度。
示例性的,由于在对不同第二图像进行图像处理过程中,不同的第二图像可能通过不同的相机拍摄而成;而对于不同的相机,所对应的相机内参可能会不同;此处,相机内参例如包括:相机在x轴上的焦距、相机在y轴上的焦距、相机的光心在相机坐标系中的坐标。
相机内参不同,即使在相同视角、相同位置获取的第二图像也会有所区别;若直接基于目标特征图预测参考节点的绝对深度,会造成对不同相机在相同视角、相同位置获取的不同第二图像获取的绝对深度不同。
为了避免上述情况的产生,本公开实施例直接预测参考节点的归一化深度,该归一化绝对深度是在不考虑相机内参的情况下得到的;然后根据相机内参、以及归一化绝对深度,恢复参考节点的绝对深度。
示例性的,任一第二目标的参考节点的归一化绝对深度、和绝对深度满足下述公式(1):
Figure BDA0002490088890000111
其中,
Figure BDA0002490088890000112
表示参考节点的归一化绝对深度;
Figure BDA0002490088890000113
表示参考节点绝对深度;ABox表示目标区域的面积;ARoI表示目标边界框的面积。
(fx,fy)表示相机焦距。示例性的,相机坐标系为三维坐标系;包括x、y和z三个坐标轴;相机坐标系的原点为相机的光心;相机的光轴为相机坐标系的z轴;光心所在的、且平行于z轴的平面为x轴和y轴所在的平面;fx为相机在x轴上的焦距;fy为相机在y轴上的焦距。
这里需要注意的是,通过RoIAlign确定的目标边界框有多个;且多个目标边界框的面积均相等。
由于相机焦距在相机获取第二图像的时候已经确定,且第二目标和目标边界框在确定目标区域的时候也已经确定,因而在得到参考节点的归一化绝对深度后,根据上述公式(1)得到第二目标的参考节点的绝对深度。
④:例如可以采用下述方式根据第一二维位置信息、各个关键点的相对深度、以及参考节点的绝对深度,确定第二图像中每个第二目标的对个关键点分别在真实相机坐标系中的第一位置信息:
假设每个第二目标包括了J个关键点,且第二图像中的第二目标有N个;其中,N个第二目标的三维姿态表示为:
Figure BDA0002490088890000121
其中,第m个第二目标的三维姿态
Figure BDA0002490088890000122
可以表示为:
Figure BDA0002490088890000123
其中,
Figure BDA0002490088890000124
表示第m个第二目标的第j个关键点在相机坐标系中x轴方向的坐标值;
Figure BDA0002490088890000125
表示第m个第二目标的第j个关键点在相机坐标系中y轴方向的坐标值;
Figure BDA0002490088890000126
表示第m个第二目标的第j个关键点在相机坐标系中z轴方向的坐标值。
N个第二目标的目标区域表示为:
Figure BDA0002490088890000127
其中,第m个第二目标的目标区域
Figure BDA0002490088890000128
表示为:
Figure BDA0002490088890000129
此处,
Figure BDA00024900888900001210
Figure BDA00024900888900001211
表示目标区域的左上角所在的顶点的坐标值;
Figure BDA00024900888900001212
Figure BDA00024900888900001213
分别表示目标区域的宽度值和高度值。
N个第二目标的相对于参考节点的三维姿势表示为:
Figure BDA00024900888900001214
其中,第m个第二目标相对于参考节点的三维姿势
Figure BDA00024900888900001215
表示为:
Figure BDA00024900888900001216
其中,
Figure BDA00024900888900001217
表示第m个第二目标的第j个关键点在图像坐标系中x轴的坐标值;
Figure BDA00024900888900001218
表示第m个第二目标的第j个关键点在图像坐标系中y轴的坐标值;也即,
Figure BDA00024900888900001219
表示第m个第二目标的第j个关键点在图像坐标系中的二维坐标值。
Figure BDA00024900888900001220
表示第m个第二目标的第j个节点相对于第m个第二目标的参考节点的相对深度。
使用相机的内参矩阵K,通过反投影得到第m个第二目标的三维姿势,其中,第m个第二目标的第j个节点的三维坐标信息满足下述公式(2)
Figure BDA0002490088890000131
其中,
Figure BDA0002490088890000132
表示第m个第二目标的参考节点在相机坐标系中的绝对深度值。此处,需要注意的是,该
Figure BDA0002490088890000133
基于上述公式(1)对应的实施例获得。
内参矩阵K例如为:(fx,fy,cx,cy);
其中:fx为相机在相机坐标系中x轴上的焦距;fy为相机在相机坐标系中在y轴上的焦距;cx为相机的光心在相机坐标系中在x轴上的坐标值;cy表示相机的光心在相机坐标系中在y轴上的坐标值。
通过上述过程,能够得到第二目标的J个关键点分别在相机坐标系中的三维位置信息
Figure BDA0002490088890000134
也即第二目标的多个关键点分别在真实相机坐标系中的第一位置信息。
承接上述S301,本公开实施例提供的训练姿态检测模型的方法,还包括:
S302:基于所述第一位置信息,确定所述相对位置关系信息。
在具体实施中,在得到第二对象的多个关键点分别在真实相机坐标系下的第一位置信息后,就能够基于各个关键点的第一位置信息,确定至少一个关键点对中的每个关键点对在真实相机坐标系下的相对位置关系信息。
此处,将每个关键点对中位置在先的一个关键点作为第一关键点,位置在后的关键点作为第二关键点,每个关键点对在真实相机坐标系下的相对位置关系信息包括:关键点对中的第一关键点在真实相机坐标系下的深度值、和该关键点对中第二关键点在真实相机坐标系下的深度值的深度差。
例如,若关键点对(p,q)中,第一关键点p在真实相机坐标系下的第一位置信息表示为:p(x1,y1,z1),第二关键点q在真实相机坐标系下的第一位置信息表示为:q(x2,y2,z2),则该关键点对(p,q)在真实相机坐标系下的相对位置关系信息为:z1-z2
另外,可以基于至少一个虚拟相机,构建每个虚拟相机对应的虚拟相机坐标系,并根据每个第二目标的多个关键点分别在真实相机坐标系下的第一位置信息,确定至少一个关键点对中的每个关键点对在虚拟相机坐标系下的深度差。
示例性的,参见图4所示,本公开实施例提供一种基于所述第一位置信息,确定在虚拟相机坐标系下至少一个关键点对中每个关键点对的深度差的具体方法,包括:
S401:针对每个所述关键点对,基于所述关键点对中的两个关键点分别在真实相机坐标系中的第一位置信息,以及所述真实相机坐标系与第一虚拟相机坐标系之间的转换关系信息,确定所述关键点对中的每个关键点分别在所述第一虚拟相机坐标系中的第二位置信息。
在具体实施中,真实相机坐标系和第二虚拟相机坐标系之间的转换关系信息例如可以采用下述方式得到:
基于所述至少一个第二目标的关键点在真实相机坐标系中的第一位置信息,确定所述至少一个第二目标的中心位置点在所述真实相机坐标系中的位置信息,以及确定第一虚拟相机位置点在所述真实相机坐标系中的位置信息;基于所述中心位置点在所述真实相机坐标系中的位置信息、以及所述第一虚拟相机位置点在所述真实相机坐标系中的位置信息,生成所述第一虚拟相机位置点对应的第一虚拟相机坐标系与所述真实相机坐标系之间的转换关系信息。
此处,例如可以采用下述方式确定第二图像中至少一个第二目标的中心位置点:在确定了第二图像中的第二目标的关键点在真实相机坐标系中的第一位置信息后,计算所有关键点在真实相机坐标系中x轴的坐标值均值,作为中心位置点在真实相机坐标系中x轴的第一坐标值;计算所有关键点在真实相机坐标系中y轴的坐标值均值,作为中心位置点在真实相机坐标系中y轴的第二坐标值;并计算所有关键点在真实相机坐标系中z轴的坐标值均值,作为中心位置点在真实相机坐标系中z轴的第三坐标值。上述第一坐标值、第二坐标值和第三坐标值,即为中心位置点在真实相机坐标系中的位置信息。
在确定了第二图像中的至少一个第二目标的中心位置点在真实相机坐标系中的位置信息后,可以采用下述方式确定第一虚拟相机位置点在所述真实相机坐标系中的位置信息:
基于所述中心位置点在所述真实相机坐标系中的位置信息、以及所述至少一个第二目标的关键点分别在真实相机坐标系中的第一位置信息,确定包围球半径;所述包围球将所述至少一个第二目标的关键点包围在内;基于所述中心位置点在所述真实相机坐标系中的位置信息、以及所述包围球半径,在所述包围球的球面上或球面外确定所述第一虚拟相机位置点在所述真实相机坐标系中的位置信息。
示例性的,以在包围球的球面上确定第一虚拟相机位置点为例,例如第二图像中所有第二目标的中心位置点表示为Op;并在Op附近设置一系列虚拟相机
Figure BDA0002490088890000151
其中,Nc表示虚拟相机的数量;Tc表示第c个虚拟相机在真实相机坐标系中的位置,且Tc满足下述公式(3):
Figure BDA0002490088890000152
其中,r表示包围球的半径;θ~U[0,2π),u~U[0,1]。
Rc表示从真实相机坐标系变换至基于第一虚拟相机位置点构建的虚拟相机坐标系的旋转四元数,且Rc通过下述公式(4)和公式(5)来表示:
Figure BDA0002490088890000153
Figure BDA0002490088890000154
其中,
Figure BDA0002490088890000155
表示将真实坐标系变换至基于第一虚拟相机位置点构建的虚拟相机坐标系的旋转轴;φc表示将真实坐标系变换至基于第一虚拟相机位置点构建的虚拟相机坐标系的旋转角度。
O表示真实相机坐标系的原点,也即真实相机的位置。
其中,上述公式(4)和公式(5),也即真实相机坐标系与第一虚拟相机坐标系之间的转换关系信息。
在得到上述转换关系信息后,能够基于该转换关系信息,将关键点对中的各个关键点在真实相机坐标系下的第一位置信息,转换为在第一虚拟相机坐标系下的第二位置信息。
S402:基于所述关键点对中的每个关键点分别在所述第一虚拟相机坐标系中的第二位置信息,确定所述关键点对在所述第一虚拟相机坐标系中的深度差,所述第一虚拟相机坐标系为所述不同虚拟相机坐标系中的任一个坐标系。
承接上述S302,本公开实施例提供的训练姿态检测模型的方法,还包括:
S303:基于所述相对位置关系信息,确定神经网络损失。
在具体实施中,在基于相对位置关系信息,确定神经网络损失时,是基于相对位置关系所表征的关键点对在不同视角下的前后位置是否正确,来确定神经网络损失;若关键点对在不同视角下的前后位置正确率越高,则对应的神经网络损失越小。
在确定神经网络损失时,例如基于所述至少一个关键点对在所述不同相机坐标系中的深度差,以及各关键点对中的两个关键点在所述不同相机坐标系中的实际深度关系信息,确定所述神经网络损失。
此处,各关键点对中的两个关键点在所述不同虚拟相机坐标系中的实际深度关系信息是预先为第二图像标注确定的。
在确定神经网络损失时,例如可以针对所述至少一个关键点对中的每个关键点对,根据每个关键点对在所述不同虚拟相机坐标系中的深度差、以及所述实际深度关系信息,确定每个关键点对的损失惩罚值;
基于所述至少一个关键点对分别对应的损失惩罚值,确定所述神经网络损失;
示例性的,若该关键点对的深度差所表征的该关键点对的预测深度关系,与该关键点对的实际深度关系信息一致,则该关键点对的惩罚值为0;
若该关键点对的深度差所表征的该关键点对的预测深度关系,与该关键点对的实际深度关系信息不一致,则该关键点对的惩罚值大于0。
这样,对于预测深度关系和实际深度关系信息一致的关键点对,对应的惩罚值为0,也即在神经网络损失中,与该关键点对对应的损失项的值为0;对于预测深度关系和实际深度关系信息不一致的关键点对,对应的惩罚值大于0,也即在神经网络损失中,与该关键点对应的损失项的值大于0,进而保证了只有预测的第一位置信息出现错误的关键点对,才会造成神经网络损失的值的增加。
示例性的,对于任一关键点对(p,q),在任一坐标系下,该关键点对的实际深度关系信息定义为:s(p,q;c),其中,其中,若p的深度小于q的深度,且p和q之间的距离大于预设的距离阈值(也即p距离相机较之q更近),则s(p,q;c)=1;若p的深度大于q的深度,且p和q之间的距离大于预设的距离阈值,则s(pqc,;)=1-;若p和q之间的距离小于或者等于预设的距离阈值,则认为p的深度等于q的深度,此时s(p,q;c)=0。
假设关键点对的集合表示为I,则相机c损失满足下述公式(6):
Figure BDA0002490088890000161
其中,D(·)满足下述公式(7):
Figure BDA0002490088890000162
Figure BDA0002490088890000171
表示将p和q由真实相机坐标系下的第一位置信息,转换为第一虚拟相机坐标系下的第二位置信息后,基于p和q分别在第一虚拟相机坐标系下的第二位置信息,计算p和q在第一虚拟相机坐标系下的深度差。其中,n表示将真实相机的法向量;nRc表示将真实相机的法向量旋转到第一虚拟相机坐标系对应的第一虚拟相机方向Rc,也即该第一虚拟相机的法向量;
Figure BDA0002490088890000172
表示p在第一虚拟相机坐标系下的映射点;
Figure BDA0002490088890000173
表示q在第一虚拟相机坐标系下的映射点。
其中,若p在真实相机坐标系下的第一位置信息满足:p(x1,y1,z1),
Figure BDA0002490088890000174
在第一虚拟相机坐标系下的第二位置信息满足:
Figure BDA0002490088890000175
若q在真实相机坐标系下的第一位置信息满足:q(x2,y2,z2),
Figure BDA0002490088890000176
在第一虚拟相机坐标系下的第二位置信息满足:
Figure BDA0002490088890000177
Figure BDA0002490088890000178
上述公式(6)和(7)中,在第一虚拟相机坐标系中:若p和q之间的实际深度关系信息s(p,q;c)=1,也即p的深度小于q的深度,且p和q之间的距离大于预设的距离阈值,在该种情况下:
Figure BDA0002490088890000179
小于0,则表示对该关键点对的预测正确,此时
Figure BDA00024900888900001710
为负值,且s(p,q;c)=1,进而
Figure BDA00024900888900001711
为负值,
Figure BDA00024900888900001712
的值为0,也即该关键点对的损失惩罚值为0。其中,n为预设距离阈值。
Figure BDA00024900888900001713
大于0,则表征对该关键点对的预测错误,此时
Figure BDA00024900888900001714
为正值,且由于s(p,q;c)=1,进而
Figure BDA00024900888900001715
为正值,
Figure BDA00024900888900001716
的值为
Figure BDA00024900888900001717
也即该关键点对的损失惩罚值大于0。
类似的,若p和q之间的实际深度关系信息s(p,q;c)=-1,也即p的深度大于q的深度,且p和q之间的距离大于预设的距离阈值,在该种情况下:
Figure BDA00024900888900001718
大于0,则表征对该关键点对的预测正确,此时
Figure BDA00024900888900001719
为正值,且由于s(p,q;c)=-1,进而
Figure BDA00024900888900001720
为负值,
Figure BDA00024900888900001721
的值为0,也即该关键点对的损失惩罚值等于0。
Figure BDA00024900888900001722
小于0,则表示对该关键点对的预测错误,此时
Figure BDA00024900888900001723
为负值,且s(p,q;c)=-1,进而
Figure BDA00024900888900001724
为正值,
Figure BDA00024900888900001725
的值为
Figure BDA00024900888900001726
也即该关键点对的损失惩罚值大于0。
进而,通过上述公式,得到针对任一虚拟相机坐标系的损失值。
类似的,通过上述公式,也能够得到针对真实相机坐标系的损失值。
然后基于关键点对在不同视角分别对应的相机坐标系下的损失值,得到神经网络损失。
示例性的,例如可以将关键点对在不同视角分别对应的相机坐标系下的坐标值的均值,作为神经网络损失。
承接上述S303,本公开实施例提供的训练姿态检测模型的方法,还包括:
S304:基于所述神经网络损失训练所述待训练的神经网络,得到所述姿态检测模型。
本公开实施例中,用于进行三维姿态检测的姿态检测模型,是利用第二图像中至少一个第二目标的关键点在不同视角下的相对位置关系训练而成,从而使得姿态检测模型能够学习到不同第二目标之间的相互位置关系,在使用该姿态检测模型对第一图像中的第一目标进行姿态检测时,对于被遮挡的第一目标也能够获得检测精度更高的姿态检测结果。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与姿态检测方法对应的姿态检测装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述姿态检测方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图5所示,为本公开实施例提供的一种姿态检测装置的示意图,所述装置包括:获取模块51、以及处理模块52;其中,
获取模块51,用于获取第一图像;
处理模块52,用于利用预先训练的姿态检测模型,对所述第一图像进行姿态检测处理,得到所述第一图像中至少一个第一目标的姿态检测结果;
其中,所述姿态检测模型是利用第二图像中至少一个第二目标的关键点在不同视角下的相对位置关系信息训练而成。
一种可能的实施方式中,所述不同视角下的相对位置关系信息包括在不同相机坐标系下至少一个关键点对中每个关键点对的深度差;所述关键点对包括所述第二图像中至少一个第二目标的任意两个关键点。
一种可能的实施方式中,所述不同相机坐标系包括:真实相机坐标系、以及至少一个虚拟相机坐标系;或者
所述不同相机坐标系包括:不同虚拟相机坐标系。
一种可能的实施方式中,还包括:训练模块53,用于采用下述方法训练得到所述姿态检测模型:
利用待训练的神经网络确定所述第二图像中每个第二目标的多个关键点分别在真实相机坐标系中的第一位置信息;
基于所述第一位置信息,确定所述相对位置关系信息;
基于所述相对位置关系信息,确定神经网络损失;
基于所述神经网络损失训练所述待训练的神经网络,得到所述姿态检测模型。
一种可能的实施方式中,所述训练模块53,在基于所述第一位置信息,确定在虚拟相机坐标系下至少一个关键点对中每个关键点对的深度差时,用于:
针对每个所述关键点对,基于所述关键点对中的两个关键点分别在真实相机坐标系中的第一位置信息,以及所述真实相机坐标系与第一虚拟相机坐标系之间的转换关系信息,确定所述关键点对中的每个关键点分别在所述第一虚拟相机坐标系中的第二位置信息;
基于所述关键点对中的每个关键点分别在所述第一虚拟相机坐标系中的第二位置信息,确定所述关键点对在所述第一虚拟相机坐标系中的深度差,所述第一虚拟相机坐标系为虚拟相机坐标系中的任一个坐标系。
一种可能的实施方式中,所述训练模块53,还用于:
基于所述至少一个第二目标的关键点在真实相机坐标系中的第一位置信息,确定所述至少一个第二目标的中心位置点在所述真实相机坐标系中的位置信息,以及确定第一虚拟相机位置点在所述真实相机坐标系中的位置信息;
基于所述中心位置点在所述真实相机坐标系中的位置信息、以及所述第一虚拟相机位置点在所述真实相机坐标系中的位置信息,生成所述第一虚拟相机位置点对应的第一虚拟相机坐标系与所述真实相机坐标系之间的转换关系信息。
一种可能的实施方式中,所述训练模块53,在所述真实相机坐标系中,确定第一虚拟相机位置点在所述真实相机坐标系中的位置信息时,用于:
基于所述中心位置点在所述真实相机坐标系中的位置信息、以及所述至少一个第二目标的关键点分别在真实相机坐标系中的第一位置信息,确定包围球半径;所述包围球将所述至少一个第二目标的关键点包围在内;
基于所述中心位置点在所述真实相机坐标系中的位置信息、以及所述包围球半径,在所述包围球的球面上或球面外确定所述第一虚拟相机位置点在所述真实相机坐标系中的位置信息。
一种可能的实施方式中,所述训练模块53,在基于所述相对位置关系信息确定神经网络损失时,用于:
基于所述至少一个关键点对在所述不同相机坐标系中的深度差,以及各关键点对中的两个关键点在所述不同相机坐标系中的实际深度关系信息,确定所述神经网络损失。
一种可能的实施方式中,所述训练模块53,在所述基于所述至少一个关键点对在所述不同相机坐标系中的深度差,以及各关键点对中的两个关键点在所述不同相机坐标系中的实际深度关系信息,确定所述神经网络损失时,用于:
针对所述至少一个关键点对中的每个关键点对,根据每个关键点对在所述不同虚拟相机坐标系中的深度差、以及所述实际深度关系信息,确定每个关键点对的损失惩罚值;
基于所述至少一个关键点对分别对应的损失惩罚值,确定所述神经网络损失。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本公开实施例还提供了一种计算机设备10,如图6所示,为本公开实施例提供的计算机设备10结构示意图,包括:
处理器11和存储器12;所述存储器12存储有所述处理器11可执行的机器可读指令,当计算机设备运行时,所述机器可读指令被所述处理器执行以实现下述步骤:获取第一图像;利用预先训练的姿态检测模型,对所述第一图像进行姿态检测处理,得到所述第一图像中至少一个第一目标的姿态检测结果;
其中,所述姿态检测模型是利用第二图像中至少一个第二目标的关键点在不同视角下的相对位置关系信息训练而成。
上述指令的具体执行过程可以参考本公开实施例中所述的缺陷检测方法的步骤,此处不再赘述。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的姿态检测方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例所提供的姿态检测方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的姿态检测方法的步骤,具体可参见上述方法实施例,在此不再赘述。
本公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

Claims (12)

1.一种姿态检测方法,其特征在于,包括:
获取第一图像;
利用预先训练的姿态检测模型,对所述第一图像进行姿态检测处理,得到所述第一图像中至少一个第一目标的姿态检测结果;
其中,所述姿态检测模型是利用第二图像中至少一个第二目标的关键点在不同视角下的相对位置关系信息训练而成。
2.根据权利要求1所述的姿态检测方法,其特征在于,所述不同视角下的相对位置关系信息包括在不同相机坐标系下至少一个关键点对中每个关键点对的深度差;所述关键点对包括所述第二图像中至少一个第二目标的任意两个关键点。
3.根据权利要求2所述的姿态检测方法,其特征在于,所述不同相机坐标系包括:真实相机坐标系、以及至少一个虚拟相机坐标系,或者,所述不同相机坐标系包括:不同虚拟相机坐标系。
4.根据权利要求2或3所述的姿态检测方法,其特征在于,采用下述方法训练得到所述姿态检测模型:
利用待训练的神经网络确定所述第二图像中每个第二目标的多个关键点分别在真实相机坐标系中的第一位置信息;
基于所述第一位置信息,确定所述相对位置关系信息;
基于所述相对位置关系信息,确定神经网络损失;
基于所述神经网络损失训练所述待训练的神经网络,得到所述姿态检测模型。
5.根据权利要求4所述的姿态检测方法,其特征在于,基于所述第一位置信息,确定在虚拟相机坐标系下至少一个关键点对中每个关键点对的深度差,包括:
针对每个所述关键点对,基于所述关键点对中的两个关键点分别在真实相机坐标系中的第一位置信息,以及所述真实相机坐标系与第一虚拟相机坐标系之间的转换关系信息,确定所述关键点对中的每个关键点分别在所述第一虚拟相机坐标系中的第二位置信息;
基于所述关键点对中的每个关键点分别在所述第一虚拟相机坐标系中的第二位置信息,确定所述关键点对在所述第一虚拟相机坐标系中的深度差,所述第一虚拟相机坐标系为虚拟相机坐标系中的任一个坐标系。
6.根据权利要求4所述的姿态检测方法,其特征在于,所述姿态检测方法还包括:
基于所述至少一个第二目标的关键点在真实相机坐标系中的第一位置信息,确定所述至少一个第二目标的中心位置点在所述真实相机坐标系中的位置信息,以及确定第一虚拟相机位置点在所述真实相机坐标系中的位置信息;
基于所述中心位置点在所述真实相机坐标系中的位置信息、以及所述第一虚拟相机位置点在所述真实相机坐标系中的位置信息,生成所述第一虚拟相机位置点对应的第一虚拟相机坐标系与所述真实相机坐标系之间的转换关系信息。
7.根据权利要求6所述的姿态检测方法,其特征在于,所述在所述真实相机坐标系中,确定第一虚拟相机位置点在所述真实相机坐标系中的位置信息,包括:
基于所述中心位置点在所述真实相机坐标系中的位置信息、以及所述至少一个第二目标的关键点分别在真实相机坐标系中的第一位置信息,确定包围球半径;所述包围球将所述至少一个第二目标的关键点包围在内;
基于所述中心位置点在所述真实相机坐标系中的位置信息、以及所述包围球半径,在所述包围球的球面上或球面外确定所述第一虚拟相机位置点在所述真实相机坐标系中的位置信息。
8.根据权利要求4-7任一项所述的姿态检测方法,其特征在于,所述基于所述相对位置关系信息,确定神经网络损失,包括:
基于所述至少一个关键点对在所述不同相机坐标系中的深度差,以及各关键点对中的两个关键点在所述不同相机坐标系中的实际深度关系信息,确定所述神经网络损失。
9.根据权利要求8所述的姿态检测方法,其特征在于,所述基于所述至少一个关键点对在所述不同相机坐标系中的深度差,以及各关键点对中的两个关键点在所述不同相机坐标系中的实际深度关系信息,确定所述神经网络损失,包括:
针对所述至少一个关键点对中的每个关键点对,根据每个关键点对在所述不同虚拟相机坐标系中的深度差、以及所述实际深度关系信息,确定每个关键点对的损失惩罚值;
基于所述至少一个关键点对分别对应的损失惩罚值,确定所述神经网络损失。
10.一种姿态检测装置,其特征在于,包括:
获取模块,用于获取第一图像;
处理模块,用于利用预先训练的姿态检测模型,对所述第一图像进行姿态检测处理,得到所述第一图像中至少一个第一目标的姿态检测结果;
其中,所述姿态检测模型是利用第二图像中至少一个第二目标的关键点在不同视角下的相对位置关系信息训练而成。
11.一种计算机设备,其特征在于,包括:相互连接的处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述机器可读指令被所述处理器执行以实现如权利要求1至9任一所述的姿态检测方法。
12.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至9任意一项所述的姿态检测方法。
CN202010402654.2A 2020-05-13 2020-05-13 姿态检测方法、装置、计算机设备及存储介质 Pending CN111582204A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010402654.2A CN111582204A (zh) 2020-05-13 2020-05-13 姿态检测方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010402654.2A CN111582204A (zh) 2020-05-13 2020-05-13 姿态检测方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN111582204A true CN111582204A (zh) 2020-08-25

Family

ID=72122897

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010402654.2A Pending CN111582204A (zh) 2020-05-13 2020-05-13 姿态检测方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN111582204A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112733773A (zh) * 2021-01-18 2021-04-30 上海商汤智能科技有限公司 一种对象检测方法、装置、计算机设备和存储介质
CN113838133A (zh) * 2021-09-23 2021-12-24 上海商汤科技开发有限公司 一种状态检测方法、装置、计算机设备和存储介质
CN114187357A (zh) * 2021-12-10 2022-03-15 北京百度网讯科技有限公司 一种高精地图的生产方法、装置、电子设备及存储介质
CN115331265A (zh) * 2022-10-17 2022-11-11 广州趣丸网络科技有限公司 姿态检测模型的训练方法和数字人的驱动方法、装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108460338A (zh) * 2018-02-02 2018-08-28 北京市商汤科技开发有限公司 人体姿态估计方法和装置、电子设备、存储介质、程序
CN108830150A (zh) * 2018-05-07 2018-11-16 山东师范大学 一种基于三维人体姿态估计方法及装置
CN108960036A (zh) * 2018-04-27 2018-12-07 北京市商汤科技开发有限公司 三维人体姿态预测方法、装置、介质及设备
CN109064549A (zh) * 2018-07-16 2018-12-21 中南大学 标志点检测模型生成方法及标志点检测方法
CN109785322A (zh) * 2019-01-31 2019-05-21 北京市商汤科技开发有限公司 单眼人体姿态估计网络训练方法、图像处理方法和装置
CN110046534A (zh) * 2018-01-15 2019-07-23 山东师范大学 基于多视角图结构模型的人体目标再识别方法及装置
CN110246181A (zh) * 2019-05-24 2019-09-17 华中科技大学 基于锚点的姿态估计模型训练方法、姿态估计方法和***
WO2020057121A1 (zh) * 2018-09-18 2020-03-26 北京市商汤科技开发有限公司 数据处理方法及装置、电子设备及存储介质
CN111126272A (zh) * 2019-12-24 2020-05-08 腾讯科技(深圳)有限公司 姿态获取方法、关键点坐标定位模型的训练方法和装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110046534A (zh) * 2018-01-15 2019-07-23 山东师范大学 基于多视角图结构模型的人体目标再识别方法及装置
CN108460338A (zh) * 2018-02-02 2018-08-28 北京市商汤科技开发有限公司 人体姿态估计方法和装置、电子设备、存储介质、程序
CN108960036A (zh) * 2018-04-27 2018-12-07 北京市商汤科技开发有限公司 三维人体姿态预测方法、装置、介质及设备
CN108830150A (zh) * 2018-05-07 2018-11-16 山东师范大学 一种基于三维人体姿态估计方法及装置
CN109064549A (zh) * 2018-07-16 2018-12-21 中南大学 标志点检测模型生成方法及标志点检测方法
WO2020057121A1 (zh) * 2018-09-18 2020-03-26 北京市商汤科技开发有限公司 数据处理方法及装置、电子设备及存储介质
CN109785322A (zh) * 2019-01-31 2019-05-21 北京市商汤科技开发有限公司 单眼人体姿态估计网络训练方法、图像处理方法和装置
CN110246181A (zh) * 2019-05-24 2019-09-17 华中科技大学 基于锚点的姿态估计模型训练方法、姿态估计方法和***
CN111126272A (zh) * 2019-12-24 2020-05-08 腾讯科技(深圳)有限公司 姿态获取方法、关键点坐标定位模型的训练方法和装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112733773A (zh) * 2021-01-18 2021-04-30 上海商汤智能科技有限公司 一种对象检测方法、装置、计算机设备和存储介质
CN113838133A (zh) * 2021-09-23 2021-12-24 上海商汤科技开发有限公司 一种状态检测方法、装置、计算机设备和存储介质
CN114187357A (zh) * 2021-12-10 2022-03-15 北京百度网讯科技有限公司 一种高精地图的生产方法、装置、电子设备及存储介质
CN115331265A (zh) * 2022-10-17 2022-11-11 广州趣丸网络科技有限公司 姿态检测模型的训练方法和数字人的驱动方法、装置

Similar Documents

Publication Publication Date Title
CN111582207B (zh) 图像处理方法、装置、电子设备及存储介质
CN110135455B (zh) 影像匹配方法、装置及计算机可读存储介质
CN108764024B (zh) 人脸识别模型的生成装置、方法及计算机可读存储介质
CN111582204A (zh) 姿态检测方法、装置、计算机设备及存储介质
CN108875524B (zh) 视线估计方法、装置、***和存储介质
CN112767538B (zh) 三维重建及相关交互、测量方法和相关装置、设备
JP5771413B2 (ja) 姿勢推定装置、姿勢推定システム、および姿勢推定方法
EP3786900A2 (en) Markerless multi-user multi-object augmented reality on mobile devices
US20180321776A1 (en) Method for acting on augmented reality virtual objects
CN110363817B (zh) 目标位姿估计方法、电子设备和介质
CN105023010A (zh) 一种人脸活体检测方法及***
JP2015167008A (ja) 姿勢推定装置、姿勢推定方法およびプログラム
CN112257696B (zh) 视线估计方法及计算设备
CN111274943A (zh) 一种检测方法、装置、电子设备及存储介质
CN110598556A (zh) 一种人体身形姿态匹配方法和装置
CN108428224B (zh) 基于卷积神经网的动物体表温度检测方法及装置
JP2012022411A (ja) 情報処理装置及びその制御方法、プログラム
CN113190120B (zh) 位姿获取方法、装置、电子设备及存储介质
CN111311681A (zh) 视觉定位方法、装置、机器人及计算机可读存储介质
CN111353325A (zh) 关键点检测模型训练方法及装置
EP3185212A1 (en) Dynamic particle filter parameterization
CN116030136A (zh) 基于几何特征的跨视角视觉定位方法、装置和计算机设备
JP5083715B2 (ja) 三次元位置姿勢計測方法および装置
JP2014092922A (ja) 検出装置、検出方法及び検出プログラム
Ventura et al. Structure and motion in urban environments using upright panoramas

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
AD01 Patent right deemed abandoned
AD01 Patent right deemed abandoned

Effective date of abandoning: 20240614