CN111951326B - 基于多摄像装置的目标对象骨骼关键点定位方法和装置 - Google Patents
基于多摄像装置的目标对象骨骼关键点定位方法和装置 Download PDFInfo
- Publication number
- CN111951326B CN111951326B CN201910401925.XA CN201910401925A CN111951326B CN 111951326 B CN111951326 B CN 111951326B CN 201910401925 A CN201910401925 A CN 201910401925A CN 111951326 B CN111951326 B CN 111951326B
- Authority
- CN
- China
- Prior art keywords
- dimensional
- dimensional coordinates
- bone
- image
- target object
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 97
- 210000000988 bone and bone Anatomy 0.000 claims abstract description 253
- 238000001514 detection method Methods 0.000 claims abstract description 121
- 238000009826 distribution Methods 0.000 claims description 79
- 238000003384 imaging method Methods 0.000 claims description 31
- 238000012545 processing Methods 0.000 claims description 25
- 238000003860 storage Methods 0.000 claims description 16
- 238000013528 artificial neural network Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 9
- 238000009499 grossing Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 5
- 238000005457 optimization Methods 0.000 claims description 5
- 230000033001 locomotion Effects 0.000 description 19
- 238000012937 correction Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 241000282414 Homo sapiens Species 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000003491 array Methods 0.000 description 5
- 239000003550 marker Substances 0.000 description 5
- 210000000707 wrist Anatomy 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 210000003423 ankle Anatomy 0.000 description 4
- 210000003127 knee Anatomy 0.000 description 4
- 238000002372 labelling Methods 0.000 description 3
- 230000004807 localization Effects 0.000 description 3
- 101100134058 Caenorhabditis elegans nth-1 gene Proteins 0.000 description 2
- 241000282472 Canis lupus familiaris Species 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000282693 Cercopithecidae Species 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 241000288906 Primates Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000003331 infrared imaging Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 210000000115 thoracic cavity Anatomy 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- 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/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
- G06T2207/10021—Stereoscopic video; Stereoscopic image sequence
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Image Analysis (AREA)
Abstract
公开了一种基于多摄像装置的目标对象骨骼关键点定位方法和装置,其中的方法包括:获取多个摄像装置在同一时刻从不同拍摄角度拍摄的多幅图像;从所述多幅图像中识别出同一目标对象的多个骨骼关键点在每一幅图像中的二维坐标,得到多个二维坐标;根据所述多个二维坐标及所述多个摄像装置的参数,生成所述多个骨骼关键点各自对应的初始三维坐标,得到多个初始三维坐标;根据所述多个初始三维坐标,确定所述目标对象在三维空间中的三维检测框;基于所述多个二维坐标以及所述三维检测框,确定所述多个骨骼关键点分别在三维空间中的三维坐标。本公开可以在目标对象身上无任何附着物的情况下,便捷准确的定位目标对象的骨骼关键点的三维坐标。
Description
技术领域
本公开涉及计算机视觉技术领域,尤其是涉及一种基于多摄像装置的目标对象骨骼关键点定位方法和装置、存储介质以及电子设备。
背景技术
在影视制作、体育运动以及虚拟现实交互等应用中,往往需要针对人体的运动以及动作进行3D骨骼重建。3D骨骼重建的结果可以用于动作捕捉以及动作分析等,从而可以实现虚拟人物制作、获得运动员运动规律以及体感交互等。
如何便捷准确的定位人体骨骼关键点在3D空间中的位置,是一个值得关注的技术问题。
发明内容
为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种基于多摄像装置的目标对象骨骼关键点定位方法、装置、存储介质以及电子设备。
根据本公开实施例的一方面,提供了一种基于多摄像装置的目标对象骨骼关键点定位方法,包括:获取多个摄像装置在同一时刻从不同拍摄角度拍摄的多幅图像;从所述多幅图像中识别出同一目标对象的多个骨骼关键点在每一幅图像中的二维坐标,得到多个二维坐标;根据所述多个二维坐标以及所述多个摄像装置的参数,生成所述多个骨骼关键点各自对应的初始三维坐标,得到多个初始三维坐标;根据所述多个初始三维坐标,确定所述目标对象在三维空间中的三维检测框;基于所述多个二维坐标以及所述三维检测框,确定所述多个骨骼关键点分别在三维空间中的三维坐标。
根据本公开实施例的另一方面,提供了一种基于多摄像装置的目标对象骨骼关键点定位装置,包括:第一获取模块,用于获取多个摄像装置在同一时刻从不同拍摄角度拍摄的多幅图像;识别模块,用于从所述第一获取模块所获取到的多幅图像中识别出同一目标对象的多个骨骼关键点在每一幅图像中的二维坐标,得到多个二维坐标;生成初始坐标模块,用于根据所述识别模块得到的多个二维坐标以及所述多个摄像装置的参数,生成所述多个骨骼关键点各自对应的初始三维坐标,得到多个初始三维坐标;确定三维检测框模块,用于根据所述生成初始坐标模块得到的多个初始三维坐标,确定所述目标对象在三维空间中的三维检测框;确定三维坐标模块,用于基于所述识别模块得到的多个二维坐标以及所述确定三维检测框模块确定的三维检测框,确定所述多个骨骼关键点分别在三维空间中的三维坐标。
根据本公开实施例的再一方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述基于多摄像装置的目标对象骨骼关键点定位方法。
根据本公开实施例的又一方面,提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于执行上述基于多摄像装置的目标对象骨骼关键点定位方法。
基于本公开上述实施例提供的一种基于多摄像装置的目标对象骨骼关键点定位方法和装置,通过利用多个摄像装置拍摄的图像中的同一目标对象的多个骨骼关键点的二维坐标,来确定目标对象的骨骼关键点的初始三维坐标,为获得骨骼关键点的初始三维坐标位提供了一种可行方式,且有利于便捷准确的获得骨骼关键点的初始三维坐标,从而有利于提高获得人体三维检测框的便捷性;通过利用骨骼关键点的二维坐标以及三维检测框来形成各骨骼关键点的三维坐标,为骨骼关键点的定位提供了一种可行方式,并有利于提高获得骨骼关键点的三维坐标的准确度。由此可知,本公开提供的技术方案可以在目标对象无任何附着物的情况下,便捷准确的定位目标对象的骨骼关键点的三维坐标。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1为本公开所适用的场景示意图;
图2为本公开的基于多摄像装置的目标对象骨骼关键点定位方法一个实施例的流程图;
图3为本公开的获得目标对象在三维空间中的三维检测框的方法的一个实施例的流程图;
图4为本公开的确定多个骨骼关键点分别在三维空间中的三维坐标的方法的一个实施例的流程图;
图5为本公开的确定每一幅图像中的多个骨骼关键点分别在三维检测框中的概率分布的方法的一个实施例的流程图;
图6为本公开的生成多个骨骼关键点分别在三维检测框中的概率分布的方法的一个实施例的流程图;
图7为本公开的基于多摄像装置的目标对象骨骼关键点定位装置一个实施例的结构示意图;
图8是本公开一示例性实施例提供的电子设备的结构图。
具体实施方式
下面将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或者两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅是一种描述关联对象的关联关系,表示可以存在三种关系,如A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开的实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或者专用计算系统环境或配置一起操作。适于与终端设备、计算机系统或者服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施。在分布式云计算环境中,任务可以是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
本公开概述
在实现本公开的过程中,发明人发现:目前实现目标对象骨骼关键点定位的方式通常包括:基于光学的骨骼关键点定位方式以及基于非光学的骨骼关键点定位方式。基于光学的骨骼关键点定位方式通常需要在目标对象的多个关节位置处分别贴上相应的标记物(如表面覆有荧光材料的标记物),用多台红外摄像装置对各标记物进行三维空间定位,从而可以实现骨骼关键点定位。基于非光学的各个关键点定位方式通常需要在目标对象的多个关节位置处分别设置惯性传感器等电子元件,从而可以利用各惯性传感器等电子元件输出的信息,实现目标对象的骨骼关键点定位。
上述基于光学的骨骼关键点定位方式,由于需要使用红外摄像装置,为了保证红外摄像装置接收到的红外光线是标记物反射回来的红外光线,因此,通常需要在较暗的环境下实现,在室外环境下,由于存在太阳光等光线,使红外摄像装置接收到较多干扰光线,从而很难实现骨骼关键点定位,因此,该方式对场地的要求较高。另外,在目标对象的关节位置处设置标记物,会对目标对象(例如,运动员等动作激烈的群体)的运动造成一定影响。
上述基于非光学的骨骼关键点定位方式,虽不存在对场地的要求,但是,由于需要在人体各关节处设置惯性式传感器等电子元件,而惯性传感器等电子元件不但具有一定体积,而且通常需要借助魔术贴或绑带等固定物将其固定在目标对象的身体上,因此,在目标对象运动过程中,往往较易出现惯性传感器在关节位置处发生移动,甚至滑脱等现象,从而会对骨骼关键点的定位产生干扰。再有,惯性传感器等电子元件由于其自身的物理特性,通常会在使用一段时间后出现漂移现象,需要进行复位清零,否则,会给骨骼关键点的定位结果带来误差。还有,惯性传感器等电子元件同样会对目标对象(尤其是运动员等动作激烈的群体)的运动造成一定影响。
示例性概述
利用本公开提供的基于多摄像装置的目标对象骨骼关键点定位方法,可以在场地不限,且不需要在目标对象的身体设置任何附着物的情况下,便捷准确的实现对目标对象的骨骼关键点的定位。
一个例子如图1所示。图1中,预先在运动员100需要进行训练的场地101上设置多台摄像装置。图1中仅示意性的示出了3台摄像装置,分别为第一摄像装置1021、第二摄像装置1022、第三摄像装置1023。本公开对摄像装置的具体数量不做限制,例如,可以设置更多数量的摄像装置。第一摄像装置1021、第二摄像装置1022、第三摄像装置1023分别被设置在场地上的不同位置处,第一摄像装置1021、第二摄像装置1022和第三摄像装置1023的镜头都对准运动员100的运动区域103。运动员100可以随时在该运动区域103自由的运动。第一摄像装置1021、第二摄像装置1022和第三摄像装置1023在运动员100运动过程中分别执行录像操作。之后,利用本公开提供的骨骼关键点定位方法即可从第一摄像装置1021、第二摄像装置1022和第三摄像装置1023分别录制的视频中,还原出运动员100在运动过程中的不同时刻,其多个骨骼关键点分别在三维空间(即运动区域103的三维空间)中的三维坐标。通过对还原出的多个骨骼关键点分别在三维空间中的三维坐标进行位置分析或者运动分析等,可以获得运动员的运动规律以及动作偏差等分析结果。
另外,在运动员100的运动区域103较大的情况下,本公开可以在场地101上设置多组摄像装置,每一组摄像装置均包括多台摄像装置(例如,第一摄像装置1021、第二摄像装置1022和第三摄像装置1023),且每一组摄像装置所对应的运动区域103可以不相同,多组摄像装置各自对应的运动区域103可以覆盖运动员100的所有运动空间;这样,运动员在不同运动区域103处的运动,可以通过相应组的摄像装置无缝捕捉,从而本公开可以根据不同组的摄像装置各自录制的视频,获得运动员在整个运动过程中,各骨骼关键点的三维坐标的连续变化情况。
需要特别说明的是,虽然上述是以运动员100为例进行说明的,然而,这并不表示本公开提供的技术方案只能对运动员100等人类进行骨骼关键点定位。本公开提供的技术方案也可以对灵长类动物或者猫或者狗等动物,进行骨骼关键点定位。在此不再详细说明。
示例性方法
图2为本公开基于多摄像装置的目标对象骨骼关键点定位方法一个实施例的流程图。如图2所示,该实施例方法包括步骤:S200、S201、S202、S203以及S204。
S200、获取多个摄像装置在同一时刻从不同拍摄角度拍摄的多幅图像。
可选的,本公开中的摄像装置可以是基于RGB的摄像装置。当然,也可以为其他类型的摄像装置,例如,基于深度的摄像装置等。由于多个摄像装置的具体架设位置不同,因此,多个摄像装置的拍摄角度不同。虽然多个摄像装置的拍摄角度不同,但是,多个摄像装置均可以对同一拍摄区域进行拍摄。该拍摄区域可以认为是目标对象的活动区域。本公开的多幅图像来自不同的摄像装置。
S201、从多幅图像中识别出同一目标对象的多个骨骼关键点在每一幅图像中的二维坐标,得到多个二维坐标。
可选的,本公开中的目标对象是指需要进行骨骼关键点定位的对象。目标对象包括但不限于:人、猫、狗、猴子等动物。本公开中的骨骼关键点通常是指骨骼与骨骼之间相互衔接的位置点或者骨骼的端点等。骨骼关键点通常用于描述目标对象的姿态或者行为等。本公开中的每一个骨骼关键点均具有语义,骨骼关键点的语义可以表示出该骨骼关键点在目标对象身体上的部位。骨骼关键点的数量是预先设定的,例如,14个骨骼关键点或者17个骨骼关键点或者更多数量的骨骼关键点等。本公开中的二维坐标是指在图像的二维坐标系中的坐标点。图像的二维坐标系通常是以图像中的一点(如左上角点或者左下角点)为原点而建立的二维坐标系。如果一个骨骼关键点由于被遮挡而不可见,该骨骼关键点的二维坐标可以为空,当然,本公开也可以通过预测等方式获得该骨骼关键点的二维坐标。
S202、根据多个二维坐标以及多个摄像装置的参数,生成多个骨骼关键点各自对应的初始三维坐标,得到多个初始三维坐标。
可选的,本公开中的摄像装置的参数通常包括:摄像装置的内部参数以及摄像装置的外部参数。本公开中的骨骼关键点对应的初始三维坐标可以表示出骨骼关键点在三维空间中的初始位置。本公开可以为具有二维坐标的每一个骨骼关键点分别生成一个初始三维坐标。
S203、根据多个初始三维坐标,确定目标对象在三维空间中的三维检测框。
可选的,本公开中的三维空间可以是指目标对象实际位于的空间,例如,真实世界空间等。本公开中的三维检测框是指具有立体空置空间,能够将位于三维空间中的目标对象框于其中的立体框。例如,三维检测框可以为长方体等。
S204、基于多个二维坐标以及上述三维检测框,确定多个骨骼关键点分别在三维空间中的三维坐标。
可选的,本公开中的一个骨骼关键点在三维空间中的三维坐标可以表示出骨骼关键点在三维空间中的位置,例如,骨骼关键点在真实世界中的位置。
本公开通过利用多个摄像装置拍摄的图像中的同一目标对象的多个骨骼关键点的二维坐标,来确定目标对象的骨骼关键点的初始三维坐标,为获得骨骼关键点的初始三维坐标位提供了一种可行方式,且有利于便捷准确的获得骨骼关键点的初始三维坐标,从而有利于提高获得人体三维检测框的便捷性;通过利用骨骼关键点的二维坐标以及三维检测框形成各骨骼关键点的三维坐标,为骨骼关键点的定位提供了一种可行方式,且有利于提高获得骨骼关键点的三维坐标的准确度。由此可知,本公开提供的技术方案可以实现在目标对象身上无任何附着物的情况下,便捷准确的定位目标对象的骨骼关键点的三维坐标。
在一个可选示例中,以人体为例,本公开的多个骨骼关键点可以包括但不限于:14个骨骼关键点。这14个骨骼关键点可以分别为:右肩关键点、右肘关键点、右腕关键点、左肩关键点、左肘关键点、左腕关键点、右髋关键点、右膝关键点、右踝关键点、左髋关键点、左膝关键点、左踝关键点、头顶关键点以及脖子关键点。需要说明的是,对于其他具有关节的可移动物体而言,多个骨骼关键点的数量视可移动物体的具体情形而定,本公开对此不做限制。下同,不再一一说明。
在一个可选示例中,以人体为例,本公开中的多个骨骼关键点可以包括但不限于:17个骨骼关键点。这17个骨骼关键点可以分别为:骨盆关键点、胸部关键点、右肩关键点、右肘关键点、右腕关键点、左肩关键点、左肘关键点、左腕关键点、右髋关键点、右膝关键点、右踝关键点、左髋关键点、左膝关键点、左踝关键点、头部关键点、头顶关键点以及脖子关键点。
在一个可选示例中,本公开可以采用多种方式来获取多个摄像装置在同一时刻从不同拍摄角度拍摄的多幅图像。下面进行举例说明:
第一种方式:通过触发器来触发多个摄像装置进行同时拍摄,从而可以获得多个摄像装置各自拍摄的多个视频,按照多个视频中的视频帧排列顺序,从多个视频中获取具有同样排列位置的视频帧,即可获得多个摄像装置在同一时刻从不同拍摄角度拍摄的多幅图像。例如,从多个视频中分别获取第n个视频帧。其中,触发器可以采用有线方式或者无线方式与多个摄像装置连接。可选的,触发器可以基于高精度时钟控制多个摄像装置同时进行拍摄。
本公开通过利用触发器触发多个摄像装置进行同时拍摄,可以方便快捷的根据各视频中的视频帧的排列顺序,获得多个摄像装置在同一时刻从不同拍摄角度拍摄的多幅图像。
第二种方式:先根据多个摄像装置从不同拍摄角度分别拍摄的多个视频中的包含预定特征物的视频帧,对多个视频进行视频帧序列时间戳上的对齐处理;然后,从对齐处理后的各视频中分别获取相应排列位置的视频帧,即可获取多个摄像装置在同一时间段从不同拍摄角度拍摄的多幅图像。例如,第一个视频中的第n1个视频帧分别与第二个视频中的第n2个和第三个视频中的第n3个视频帧开始对齐,则通过从第一视频中获取第n1+n个视频帧、从第二个视频中获取第n2+n个视频帧以及从第三个视频中获取第n3+n个视频帧,即可获得多个摄像装置在同一时间段从不同拍摄角度拍摄的多幅图像。
在第二种方式中,预定特征物可以为特征较为明显的物体(例如,颜色鲜艳且形状独特的物体等),也可以为高精度计时器等特定物。本公开可以使预定特征物快速运动,之后,可以根据该预定特征物在多个摄像装置各自拍摄的视频的视频帧中的位置,对多个视频进行视频帧对齐处理。另外,本公开也可以根据多个摄像装置各自拍摄的视频的视频帧中的高精度计时器上的精准计时值,对多个视频进行视频帧对其处理。
本公开通过利用多个视频中的预定特征物的位置来对多个视频进行视频帧对齐处理,可以在不需要额外的专业设备(如触发器等)的情况下,获得多个摄像装置在同一时刻从不同拍摄角度拍摄的多幅图像。
在一个可选示例中,本公开可以利用计算机视觉方式从多幅图像中识别出同一目标对象的多个骨骼关键点在每一幅图像中的二维坐标。例如,利用神经网络获得同一目标对象的多个骨骼关键点在每一幅图像中的二维坐标。该神经网络可以是现有的多种类型的用于检测骨骼关键点的神经网络,如卷积神经网络等。具体的,本公开可以利用多幅图像分别形成输入,并分别提供给神经网络,经由该神经网络对多幅图像分别进行目标对象检测,并对检测到的目标对象进行骨骼关键点检测,从而本公开可以根据神经网络的输出,获得同一目标对象的多个骨骼关键点分别在每一幅图像中的二维坐标,同时,还可以根据神经网络的输出,获得目标对象在每一幅图像中的二维检测框;例如,二维检测框的至少一个顶点的二维坐标以及二维检测框的长和宽等;再例如,二维检测框的中心点的二维坐标以及二维检测框的长和宽等。
本公开通过利用神经网络进行骨骼关键点检测,有利于便捷准确的获得每一幅图像中的骨骼关键点的二维坐标,从而有利于提高多个骨骼关键点各自对应的初始三维坐标的准确性。本公开中的骨骼关键点的初始三维坐标也可以被称为骨骼关键点的初始真值(GroundTruth)。
在一个可选示例中,本公开根据多个骨骼关键点的二维坐标以及多个摄像装置的内部参数以及外部参数,利用最小二乘法,生成多个骨骼关键点各自对应的初始三维坐标。利用最小二乘法生成初始三维坐标的具体过程可以参见现有的实现过程,在此不再详细说明。相较于现有技术中,初始三维坐标通常需要人工标注的方式而言,本公开为便捷的获得骨骼关键点的初始三维坐标提供了一种新的可行的实现方式,有利于避免通过人工标注方式获得初始三维坐标而导致的效率低以及工作量大等问题。
可选的,本公开中的摄像装置的内部参数可以包括:摄像装置的焦距以及光心偏移量等。摄像装置的外部参数可以包括:基于摄像装置的坐标系的三个轴的旋转参数以及基于摄像装置的坐标系的三个轴的平移参数等。如果摄像装置的内部参数和外部参数是预设已知值,则本公开可以直接获得摄像装置的内部参数和外部参数。如果摄像装置的内部参数和外部参数是未知值,则本公开可以通过标定的方式来获得各摄像装置的内部参数和外部参数。例如,本公开可以采用棋盘格标定方式(也可以称为张正友标定方式等)对各摄像装置进行标定处理,从而获得各摄像装置的内部参数。再例如,本公开可以在地面上设置标记点,并利用地面上的标记点的三维坐标与摄像装置拍摄的图像中的标记点的二维坐标之间的关系,使用已经获得的摄像装置的内部参数进行计算,从而根据计算结果可以获得摄像装置的外部参数。本公开不限制获得各摄像装置的内部参数和外部参数的实现方式。
在一个可选示例中,本公开获得目标对象在三维空间中的三维检测框的方法的一个实施例的流程如图3所示。图3所示的方法包括步骤:S300和S301。下面对这两个步骤分别进行说明。
S300、根据多个初始三维坐标确定目标对象中心点以及骨骼关键点间在三个坐标轴上的最大间距。
可选的,本公开可以计算所有初始三维坐标在三维空间中的X轴上的坐标均值、Y轴上的坐标均值以及Z轴上的坐标均值,从而获得三个均值,该三个均值所表示出的在三维空间中的点即为目标对象中心点。目标对象中心点即为三维检测框的中心点。
可选的,本公开可以计算所有初始三维坐标中的两两初始三维坐标之间在三个坐标轴上的距离,从而在每一个坐标轴上均获得多个距离。例如,在有14个骨骼关键点的情况下,本公开会获得14个初始三维坐标,进一步的,本公开可以计算出在X坐标轴上的91个距离、在Y坐标轴上的91个距离以及在Z坐标轴上的91个距离。再例如,在有17个骨骼关键点的情况下,本公开会获得17个初始三维坐标,进一步的,本公开可以计算出在X坐标轴上的136个距离、在Y坐标轴上的136个距离以及在Z坐标轴上的136个距离。本公开可以从计算出的所有距离(如96×3个距离或者136×3个距离)中选取一个最大值,并将选取出的最大值作为骨骼关键点间的最大间距。
S301、以目标对象中心点为三维检测框的中心点,以骨骼关键点间在三个坐标轴方向上的最大间距为三维检测框的边长,建立目标对象在三维空间中的三维检测框。
可选的,由于本公开采用中心点以及上述边长所建立的三维检测框的形状为立方体,因此,该三维检测框可以称为立方体检测框。当然,本公开也可以根据计算出的其中一个坐标轴上的所有距离,确定出三维检测框的长,根据计算出的其中另一个坐标轴上的所有距离,确定出三维检测框的宽,根据计算出的其中在一个坐标轴上的所有距离,确定出三维检测框的高,之后,根据中心点以及长宽高建立长方体形状的三维检测框。本公开对三维检测框的外部形状不作限定。
本公开通过计算骨骼关键点间在X、Y和Z坐标轴上的距离,并以目标对象中心点为三维检测框的中心点,以其中的最大距离作为边长,可以便捷的形成将所所有骨骼关键点均包含在内的三维检测框,有利于避免骨骼关键点未被包含在三维检测框内,而导致的无法准确获得该骨骼关键点的三维坐标的现象。
在一个可选示例中,本公开的基于多个二维坐标以及三维检测框,确定多个骨骼关键点分别在三维空间中的三维坐标的方法的一个实施例的流程,如图4所示。图4所示的方法包括步骤:S400和S401。下面对这两个步骤分别进行说明。
S400、根据每一幅图像中的多个骨骼关键点的二维坐标,确定每一幅图像中的多个骨骼关键点分别在三维检测框中的概率分布。
可选的,对于目标对象的任一骨骼关键点而言,该骨骼关键点在三维检测框中的概率分布可以表示出:该骨骼关键点在三维检测框中的多个位置处的可能性。也就是说,每一个概率分布均包括多个概率值,且每一个概率值各自对应三维检测框中的一个具体位置,不同概率值所对应的位置不相同,一个概率值表示该骨骼关键点在三维检测框中的相应位置处的可能性。
可选的,在目标对象的多个骨骼关键点为14个骨骼关键点,且多个摄像装置的数量为n(n大于等于2)的情况下,本公开中的所有图像中的多个骨骼关键点的二维坐标可以包括:14n个二维坐标,且确定出的所有图像中的多个骨骼关键点分别在三维检测框中的概率分布为14n个概率分布。同样的,在目标对象的多个骨骼关键点为17个骨骼关键点,且多个摄像装置的数量为n(n大于等于2)的情况下,本公开中的所有图像中的多个骨骼关键点的二维坐标可以包括:17n个二维坐标,且确定出的所有图像中的多个骨骼关键点分别在三维检测框中的概率分布为17n个概率分布。
例如,针对第一幅图像中的头顶关键点而言,本公开可以根据第一幅图像中的头顶关键点,确定出第一幅图像中的头顶关键点在三维检测框中的一个概率分布;针对第二幅图像中的头顶关键点而言,本公开可以根据第二幅图像中的头顶关键点,确定出第二幅图像中的头顶关键点在三维检测框中的一个概率分布;采用类似的方式,可以确定出后续图像中的头顶关键点在三维检测框中的一个概率分布;直到针对最后一幅图像中的头顶关键点而言,本公开可以根据最后一幅图像中的头顶关键点,确定出最后一幅图像中的头顶关键点在三维检测框中的一个概率分布;从而本公开针对目标对象的头顶关键点可以获得多个概率分布,这多个概率分布的数量为摄像装置的数量。以此类推,本公开可以针对目标对象的每一个骨骼关键点,均获得多个概率分布。
本公开获得骨骼关键点在三维检测框中的概率分布的一个具体例子可以参见下述针对图5的描述。
S401、根据每一幅图像中的多个骨骼关键点分别在三维检测框中的概率分布,确定多个骨骼关键点分别在三维空间中的三维坐标。
可选的,针对目标对象的任一骨骼关键点而言,本公开均可以获得多个概率分布,由于每一个概率分布均可以表示出相应的骨骼关键点在在三维检测框中的多个位置处的概率值,因此,同一个骨骼关键点对应的多个概率分布往往会在三维检测框中出现重叠区域,本公开可以利用重叠区域的概率值来确定该骨骼关键点在三维空间中的三维坐标。通常情况下,一个骨骼关键点在三维空间中的三维坐标应位于该骨骼关键点对应的重叠区域内。
本公开通过利用骨骼关键点在三维检测框中的概率分布,来确定骨骼关键点在三维空间中的三维坐标,由于三维检测框中的相应位置处的概率值可以表示出该点为一个骨骼关键点的概率,而不同图像中的同一个骨骼关键点各自对应有一个概率分布,因此,针对目标对象的任一个骨骼关键点而言,利用多个概率分布来确定该骨骼关键点在三维空间中的三维坐标,有利于提高确定出的骨骼关键点的三维坐标的准确性。
在一个可选示例中,本公开的根据每一幅图像中的多个骨骼关键点的二维坐标,确定每一幅图像中的多个骨骼关键点分别在三维检测框中的概率分布的方法的一个实施例的流程,如图5所示。图5所示的方法包括步骤:S500以及S501。下面对这两个步骤分别进行说明。
S500、根据每一幅图像中的多个骨骼关键点的二维坐标,生成多个骨骼关键点分别在每一幅图像中的二维概率分布。
可选的,针对任一幅图像中的任一个骨骼关键点而言,本公开可以以该图像中的该骨骼关键点的二维坐标为中心,生成具有预定大小的基于高斯分布的热图,从而可以获得该幅图像中的该骨骼关键点的热图。例如,上述预定大小可以为64像素×64像素。在目标对象的多个骨骼关键点为14个骨骼关键点,且多个摄像装置的数量为n(n大于等于2)的情况下,本公开所生成的基于高斯分布的热图的数量可以为:14n个。同样的,在目标对象的多个骨骼关键点为17个骨骼关键点,且多个摄像装置的数量为n(n大于等于2)的情况下,本公开所生成的基于高斯分布的热图的数量可以为:17n个。
本公开通过采用高斯分布方式,为各图像中的各骨骼关键点分别生成一个预定大小的热图,由于一个热图可以准确的描述出一个骨骼关键点在相应图像中的不同位置处的可能性,因此,在利用这样的热图形成相应的骨骼关键点在三维检测框中的概率分布时,有利于提高相应的骨骼关键点在三维检测框中的概率分布的准确性,从而有利于提高骨骼关键点的确定出的骨骼关键点的三维坐标的准确性。
S501、根据多个骨骼关键点分别在每一幅图像中的二维概率分布,生成多个骨骼关键点分别在三维检测框中的概率分布。
可选的,对于任一幅图像中的任一骨骼关键点而言,本公开均可以根据该骨骼关键点在该幅图像中的基于高斯分布的热图,生成该骨骼关键点在三维检测框中的一个概率分布。该概率分布可以呈现为立体的柱状,本公开可以称其为高斯柱。在目标对象的多个骨骼关键点为14个骨骼关键点,且多个摄像装置的数量为n(n大于等于2)的情况下,本公开可以生成14n个高斯柱。同样的,在目标对象的多个骨骼关键点为17个骨骼关键点,且多个摄像装置的数量为n(n大于等于2)的情况下,本公开可以生成17n个高斯柱。每一个高斯柱中的每一个概率值分别可以表示出相应的骨骼关键点在该概率值所对应的位置处的可能性。本公开利用一幅图像中的一个骨骼关键点的二维概率分布生成该骨骼关键点在三维检测框中的概率分布的一个例子如下述针对图6的描述。
本公开通过利用图像中的骨骼关键点的二维坐标生成该骨骼关键点在图像中的二维概率分布,使生成的二维概率分布可以准确的反映出该骨骼关键点在图像中的不同位置处的可能性,从而利用这样的二维概率分布生成骨骼关键点在三维检测框中的概率分布,使骨骼关键点在三维检测框中的概率分布可以较为准确的描述出相应的骨骼关键点在相应位置处的可能性。
在一个可选示例中,本公开的根据多个骨骼关键点分别在每一幅图像中的二维概率分布,生成多个骨骼关键点分别在三维检测框中的概率分布的方法的一个实施例的流程,如图6所示。图6所示方法包括步骤:S600、S601和S602。下面对这三个步骤分别进行说明。
S600、根据多幅图像各自对应的摄像装置的参数,将三维检测框的点云阵列中的各点分别映射到多幅图像中的目标对象的二维检测框中。
可选的,本公开中的点云阵列可以是指由多个点所形成的三维阵列。该点云阵列位于三维检测框中。例如,本公开可以将三维检测框划分为32×32×32的三维阵列,即形成32×32×32的点云阵列。再例如,本公开可以将三维检测框划分为64×64×64的三维阵列,即形成64×64×64的点云阵列。当然,点云阵列的长宽高所包含的点的数量可以不相同。本公开对点云阵列的大小不做限定。
对于任一摄像装置而言,本公开可以利用相应摄像装置的参数(例如,内部参数和外部参数等),将点云阵列中的所有点分别映射到该摄像装置所摄取的图像上。如果映射后的所有点中存在位于该图像中的目标对象的二维检测框之外的点,则本公开可以通过归一化等处理方式,使映射后的所有点分别位于该图像中的目标对象的二维检测框之内。
S601、根据每一幅图像中的每一个骨骼关键点的热图,确定映射后的各点分别为每一幅图像中的每一个骨骼关键点的二维概率分布。
可选的,本公开可以根据每一幅图像中的每一个骨骼关键点的热图,采用线性插值方式,分别对映射后的各点进行插值处理,以分别确定映射后的各点分别为每一幅图像中的每一个骨骼关键点的二维概率分布。也就是说,针对任一图像中的任一骨骼关键点而言,本公开可以根据该图像中的骨骼关键点的热图采用线性插值方式,对点云阵列映射后的所有点分别进行插值处理,从而使映射后的每一个点均具有一个数值,映射后的任一点所具有的数值即为该点的概率值。映射后的所有点各自具有的概率值,可以形成点云阵列映射后的各点分别为该图像中的该骨骼关键点的二维概率分布。
本公开通过利用线性插值处理的方式,以热图为基础,为映射后的每一个点均设置一个概率值,由于骨骼关键点的热图中的各点的概率值能够较好的反映出热图中的各点为骨骼关键点的可能性,因此,利用线性插值方式为点云阵列映射后的各点所设置的概率值也能够较好的反映出映射后的各点为骨骼关键点的可能性,从而在利用映射后的各点为一幅图像中的一个骨骼关键点的二维概率分布来确定点云阵列中的各点分别为各骨骼关键点的三维概率分布,有利于提高点云阵列中的各点分别为各骨骼关键点的三维概率分布的准确性。
S602、根据各点分别为每一幅图像中的每一个骨骼关键点的二维概率分布,获得点云阵列中的各点分别为各骨骼关键点的三维概率分布。
可选的,对于目标对象的任一骨骼关键点而言,每一幅图像均会对应一个高斯柱,每一个高斯柱均位于目标对象的三维检测框中。对于三维检测框中的任一高斯柱而言,三维检测框中的点云阵列中的属于该高斯柱的点,其具有的概率值不为零,而三维检测框中的点云阵列中的不属于该高斯柱的点,其具有的概率值为零。对于目标对象的任一骨骼关键点而言,三维检测框中会存在与该骨骼关键点对应的多个高斯柱,高斯柱的数量为摄像装置或者图像的数量。对于目标对象的任一骨骼关键点而言,本公开可以认为存在多个分别包含有一高斯柱的点云阵列,多个点云阵列的大小完全相同,本公开可以将多个点云阵列中的相同位置的点的概率值进行相乘,从而获得一个新的点云阵列,该新的点云阵列中的每一个点的取值为相应位置的点的相乘结果;之后,本公开可以根据该新的点云阵列中的各点的取值,确定出目标对象的该骨骼关键点的三维坐标。
假定存在三幅图像,分别为第一幅图像、第二幅图像和第三幅图像,第一幅图像对应第一点云阵列,第二幅图像对应第二点云阵列,第三幅图像对应第三点云阵列,则针对新的点云阵列中的其中任一点而言,如果第一点云阵列、第二点云阵列以及第三点云阵列中的该点位置处的概率值只要有一个为零,则该新的点云阵列中的该点的概率值即为零,只有第一点云阵列、第二点云阵列以及第三点云阵列中的该点位置处的概率值都不为零,则该新的点云阵列中的该点的概率值才会不为零。本公开骨骼关键点的获得的新的点云阵列中的不为零的点通常会形成一个大致为球的形状,本公开可以称其为高斯球。
为了清楚的描述概率值的相乘等内容,上述使用了多个点云阵列以及新的点云阵列的描述方式,但是,应该知道本公开只存在一个点云阵列,只是该点云阵列在对应不同的图像中的不同骨骼关键点时,其点云阵列中的点的取值可能会发生变化。
本公开通过利用相同位置的点的概率值相乘结果来确定目标对象的骨骼关键点的三维坐标,由于相乘的结果可以更好的表征出骨骼关键点所在位置的可能性,因此,本公开有利于提高骨骼关键点的三维坐标的准确性。
可选的,对于目标对象的任一骨骼关键点而言,在执行了上述点的概率值相乘操作之后,本公开可以对新的点云阵列中的相乘结果不为零的各点的三维坐标,进行归一化处理,并利用归一化处理后的各点的三维坐标来确定目标对象的该骨骼关键点的三维坐标。由于相乘结果不为零的各点为骨骼关键点的可能性更大,因此,本公开通过利用不为零的各点的三维坐标来确定目标对象的骨骼关键点的三维坐标,有利于提高骨骼关键点的三维坐标的准确性。
可选的,对于目标对象的任一骨骼关键点而言,本公开可以将点云阵列中的相乘结果不为零的各点的相乘结果分别作为相应点的位置权值,从而本公开可以根据不为零的各点的位置权值对不为零的各点的三维坐标进行加权平均,并将加权平均的结果作为该骨骼关键点的三维坐标。由于不为零的各点的相乘结果可以在一定程度上反应出各点为该骨骼关键点的可能性,因此,本公开利用加权平均的结果来作为骨骼关键点的三维坐标,有利于提高骨骼关键点的三维坐标的准确性。
在一个可选示例中,本公开在获得了各骨骼关键点的三维坐标之后,还可以对各骨骼关键点的三维坐标进行校正处理,以优化各骨骼关键点的三维坐标。本公开可以采用一种校正方式或者同时采用多种校正方式,对各骨骼关键点的三维坐标进行校正处理。下面例举三种校正处理的实现方式:
方式一、对于任一骨骼关键点而言,本公开可以根据该骨骼关键点的三维坐标投影在各图像中的位置与各图像中的该骨骼关键点的二维坐标之间的位置差异,对该骨骼关键点的三维坐标进行优化调整。也就是说,本公开中的骨骼关键点的三维坐标在被投影到每一幅图像中时,都会得到一个投影二维坐标,该骨骼关键点的三维坐标和每一个投影二维坐标都可以使用一个方程来表示。每一个投影二维坐标与相应图像中的该骨骼关键点的二维坐标会存在位置差异,从而本公开可以获得多个位置差异,例如,如果存在三幅图像,则本公开可以获得三个位置差异。本公开可以以位置差异之和最小为目标,进行求解,从而可以获得该骨骼关键点的一个新的三维坐标,该骨骼关键点的新的三维坐标即为该骨骼关键点优化调整后的三维坐标。
方式二、根据预先设置的骨骼关键点间的先验值,对相应的骨骼关键点的三维坐标进行优化调整。
可选的,本公开可以根据实际需求预先设置多个先验值,例如,多个先验值可以包括但不限于:左肩关键点和右肩关键点之间的最大距离;左肘关键点和左肩关键点之间的最大距离;以及左肘关键点和左腕关键点之间的最大距离等。在利用先验值调整至少一骨骼关键点的三维坐标时,应避免调整之后产生新的不符合先验值的情况的出现。另外,在优化调整过程中,还可以将目标对象的运动遵循最小动量原则作为约束条件。
方式三、对具有时序关系的多幅图像中的同一目标对象的同一骨骼关键点的三维坐标进行平滑处理,平滑处理后获得的各骨骼关键点的三维坐标被作为目标对象的各骨骼关键点的三维坐标。
可选的,对于目标对象的任一骨骼关键点而言,在需要对当前图像中的该骨骼关键点的三维坐标的平滑处理时,可以利用位于该当前图像之前且与当前图像具有时序关系的多幅图像(如位于当前图像之前的5幅图像或者6幅图像)中的该骨骼关键点的三维坐标,对当前图像中的该骨骼关键点的三维坐标进行平滑处理。本公开不限制平滑处理的具体实现过程。
本公开通过对骨骼关键点的三维坐标进行优化调整,有利于提高最终获得的骨骼关键的三维坐标的准确性。
示例性装置
图7为本公开基于多摄像装置的目标对象骨骼关键点定位装置一个实施例的结构示意图。该实施例的装置可用于实现本公开上述各方法实施例。
如图7所示,该实施例的装置包括:第一获取模块700、识别模块701、生成初始坐标模块702、确定三维检测框模块703以及确定三维坐标模块704。可选的,该装置还可以包括:校正模块705。
第一获取模块700用于获取多个摄像装置在同一时刻从不同拍摄角度拍摄的多幅图像。
可选的,本公开可以通过触发器触发多个摄像装置同时拍摄,从而第一获取模块700可以按照从各摄像装置拍摄的各视频中的视频帧的排列顺序,方便的获得多个摄像装置在同一时刻从不同拍摄角度拍摄的多幅图像。
可选的,本公开的第一获取模块700可以根据多个摄像装置从不同拍摄角度拍摄的多个视频中的包含预定特征物的视频帧,对多个摄像装置各自拍摄的视频进行视频帧序列时间戳上的对齐处理,之后,第一获取模块700可以按照对齐处理后的各视频中的视频帧的排列顺序,从各视频中获取多个摄像装置在同一时间段从不同拍摄角度拍摄的多幅图像。
识别模块701用于从第一获取模块700所获取到的多幅图像中识别出同一目标对象的多个骨骼关键点在每一幅图像中的二维坐标,得到多个二维坐标。
可选的,识别模块701可以将第一获取模块700所获得的多幅图像分别提供给用于检测骨骼关键点的神经网络,以经由该神经网络对多幅图像分别进行骨骼关键点检测处理,之后,识别模块701可以根据该神经网络的输出,获得同一目标对象的多个骨骼关键点分别在每一幅图像中的二维坐标以及每一幅图像中的所述目标对象的二维检测框。本公开不限定识别模块701获得多个二维坐标的具体实现方式。
生成初始坐标模块702用于根据识别模块701得到的多个二维坐标以及多个摄像装置的参数,生成多个骨骼关键点各自对应的初始三维坐标,得到多个初始三维坐标。
可选的,生成初始坐标模块702可以根据多个二维坐标以及多个摄像装置的内部参数和外部参数,利用最小二乘法,生成多个骨骼关键点各自对应的初始三维坐标。
确定三维检测框模块703用于根据生成初始坐标模块702得到的多个初始三维坐标,确定目标对象在三维空间中的三维检测框。
可选的,确定三维检测框模块703可以根据多个初始三维坐标确定目标对象中心点以及骨骼关键点间在三个坐标轴方向上的最大间距,之后,确定三维检测框模块703可以以目标对象中心点为三维检测框的中心点,以骨骼关键点间在三个坐标轴方向上的最大间距为三维检测框的边长,建立目标对象在三维空间中的三维检测框;其中,该三维检测框可以为立方体检测框。当然,也可以为长宽高不相同的长方体检测框。
确定三维坐标模块704用于基于识别模块701得到的多个二维坐标以及确定三维检测框模块703确定的三维检测框,确定多个骨骼关键点分别在三维空间中的三维坐标。
可选的,确定三维坐标模块704可以根据每一幅图像中的多个骨骼关键点的二维坐标,确定每一幅图像中的多个骨骼关键点分别在该三维检测框中的概率分布。之后,确定三维坐标模块704可以根据每一幅图像中的多个骨骼关键点分别在该三维检测框中的概率分布,确定出多个骨骼关键点分别在三维空间中的三维坐标。
可选的,确定三维坐标模块704可以根据每一幅图像中的多个骨骼关键点的二维坐标,生成多个骨骼关键点分别在每一幅图像中的二维概率分布;之后,确定三维坐标模块704可以根据多个骨骼关键点分别在每一幅图像中的二维概率分布,生成多个骨骼关键点分别在三维检测框中的概率分布。
可选的,首先,确定三维坐标模块704可以以每一幅图像中的多个骨骼关键点的二维坐标为中心,分别生成具有预定大小的基于高斯分布的热图,从而获得每一幅图像中的每一个骨骼关键点的热图;其次,确定三维坐标模块704可以根据多幅图像各自对应的摄像装置的参数,将三维检测框的点云阵列中的各点分别映射到多幅图像中的目标对象的二维检测框中;之后,确定三维坐标模块704可以根据每一幅图像中的每一个骨骼关键点的热图,确定映射后的各点分别为每一幅图像中的每一个骨骼关键点的二维概率分布;例如,确定三维坐标模块704可以根据每一幅图像中的每一个骨骼关键点的热图,采用线性插值方式,分别对映射后的各点进行插值处理,以分别确定映射后的各点分别为每一幅图像中的每一个骨骼关键点的二维概率分布。然后,确定三维坐标模块704可以根据各点分别为每一幅图像中的每一个骨骼关键点的二维概率分布,获得点云阵列中的各点分别为各骨骼关键点的三维概率分布。最后,确定三维坐标模块704可以针对目标对象的任一骨骼关键点,对多幅图像各自对应的点云阵列中的相同位置的点的概率值进行相乘,从而得到相乘结果,确定三维坐标模块704可以根据获得的相乘结果,确定出目标对象的该骨骼关键点的三维坐标。例如,针对目标对象的任一关键点而言,确定三维坐标模块704可以根据相乘结果不为零的各点的三维坐标,通过归一化处理,并确定出目标对象的该骨骼关键点的三维坐标。具体的,确定三维坐标模块704可以将相乘结果不为零的各点的相乘结果分别作为相应点的位置权值;确定三维坐标模块704可以根据位置权值对不为零的各点的三维坐标进行加权平均,并将加权平均的结果作为该骨骼关键点的三维坐标。
校正模块705用于对确定三维坐标模块704获得各骨骼关键点的三维坐标进行优化调整处理。例如,针对任一骨骼关键点而言,校正模块705可以根据该骨骼关键点的三维坐标投影在各图像中的位置与各图像中的该骨骼关键点的二维坐标之间的位置差异,对该骨骼关键点的三维坐标进行优化调整。再例如,校正模块705可以根据预先设置的骨骼关键点间的先验值,对相应的骨骼关键点的三维坐标进行优化调整。再例如,校正模块705可以对具有时序关系的多幅图像中的同一目标对象的同一骨骼关键点的三维坐标进行平滑处理,以获得目标对象的各骨骼关键点的骨骼关键点的三维坐标。
示例性电子设备
下面参考图8来描述根据本公开实施例的电子设备。图8示出了根据本公开实施例的电子设备的框图。如图8所示,电子设备81包括一个或多个处理器811和存储器812。
处理器811可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备81中的其他组件以执行期望的功能。
存储器812可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器,例如,可以包括:随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器,例如,可以包括:只读存储器(ROM)、硬盘以及闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器811可以运行所述程序指令,以实现上文所述的本公开的各个实施例的基于多摄像装置的目标对象骨骼关键点定位方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备81还可以包括:输入装置813以及输出装置814等,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。此外,该输入设备813还可以包括例如键盘、鼠标等等。该输出装置814可以向外部输出各种信息。该输出设备814可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图8中仅示出了该电子设备81中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备81还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的基于多摄像装置的目标对象骨骼关键点定位方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的基于多摄像装置的目标对象骨骼关键点定位方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列举)可以包括:具有一个或者多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势以及效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备以及系统。诸如“包括”、“包含、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述,以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改等对于本领域技术人员而言,是非常显而易见的,并且在此定义的一般原理可以应用于其他方面,而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式中。尽管以上已经讨论了多个示例方面以及实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (16)
1.一种基于多摄像装置的目标对象骨骼关键点定位方法,包括:
获取多个摄像装置在同一时刻从不同拍摄角度拍摄的多幅图像;
从所述多幅图像中识别出同一目标对象的多个骨骼关键点在每一幅图像中的二维坐标,得到多个二维坐标,其中,所述骨骼关键点为骨骼与骨骼之间相互衔接的位置点或者骨骼的端点;
根据所述多个二维坐标以及所述多个摄像装置的参数,生成所述多个骨骼关键点各自对应的初始三维坐标,得到多个初始三维坐标;
根据所述多个初始三维坐标,确定所述目标对象在三维空间中的三维检测框;
基于所述多个二维坐标以及所述三维检测框,确定所述多个骨骼关键点分别在三维空间中的三维坐标。
2.根据权利要求1所述的方法,其中,所述获取多个摄像装置在同一时刻从不同拍摄角度拍摄的多幅图像,包括:
通过触发器触发多个摄像装置同时拍摄;
基于所述多个摄像装置各自拍摄的各视频中的视频帧的排列顺序,获取多个摄像装置在同一时刻从不同拍摄角度拍摄的多幅图像;或者,
所述获取多个摄像装置在同一时刻从不同拍摄角度拍摄的多幅图像,包括:
根据多个摄像装置从不同拍摄角度拍摄的多个视频中的包含预定特征物的视频帧,对所述多个视频进行视频帧序列时间戳上的对齐处理;
从对齐处理后的各视频中获取多个摄像装置在同一时间段从不同拍摄角度拍摄的多幅图像。
3.根据权利要求1或2所述的方法,其中,所述从所述多幅图像中识别出同一目标对象的多个骨骼关键点在每一幅图像中的二维坐标,包括:
将所述多幅图像分别提供给用于检测骨骼关键点的神经网络;
经由所述神经网络对所述多幅图像分别进行骨骼关键点检测,根据所述神经网络的输出,获得同一目标对象的多个骨骼关键点分别在每一幅图像中的二维坐标以及每一幅图像中的所述目标对象的二维检测框。
4.根据权利要求1或2中任一项所述的方法,其中,所述根据所述多个二维坐标以及所述多个摄像装置的参数,生成所述多个骨骼关键点各自对应的初始三维坐标,包括:
根据所述多个二维坐标以及所述多个摄像装置的内部参数和外部参数,利用最小二乘法,生成所述多个骨骼关键点各自对应的初始三维坐标。
5.根据权利要求1或2中任一项所述的方法,其中,所述根据所述多个初始三维坐标,确定所述目标对象在三维空间中的三维检测框,包括:
根据所述多个初始三维坐标确定目标对象中心点以及骨骼关键点间在三个坐标轴方向上的最大间距;
以所述目标对象中心点为三维检测框的中心点,以骨骼关键点间在三个坐标轴方向上的最大间距为三维检测框的边长,建立所述目标对象在三维空间中的三维检测框;
其中,所述三维检测框为立方体检测框。
6.根据权利要求1或2中任一项所述的方法,其中,所述基于所述多个二维坐标以及所述三维检测框,确定所述多个骨骼关键点分别在三维空间中的三维坐标,包括:
根据每一幅图像中的多个骨骼关键点的二维坐标,确定每一幅图像中的多个骨骼关键点分别在所述三维检测框中的概率分布;
根据所述每一幅图像中的多个骨骼关键点分别在所述三维检测框中的概率分布,确定所述多个骨骼关键点分别在三维空间中的三维坐标。
7.根据权利要求6所述的方法,其中,所述根据每一幅图像中的多个骨骼关键点的二维坐标,确定每一幅图像中的多个骨骼关键点分别在所述三维检测框中的概率分布,包括:
根据每一幅图像中的多个骨骼关键点的二维坐标,生成所述多个骨骼关键点分别在每一幅图像中的二维概率分布;
根据所述多个骨骼关键点分别在每一幅图像中的二维概率分布,生成所述多个骨骼关键点分别在所述三维检测框中的概率分布。
8.根据权利要求7所述的方法,其中,所述根据每一幅图像中的多个骨骼关键点的二维坐标,生成所述多个骨骼关键点分别在每一幅图像中的二维概率分布,包括:
以每一幅图像中的多个骨骼关键点的二维坐标为中心,分别生成具有预定大小的基于高斯分布的热图,获得每一幅图像中的每一个骨骼关键点的热图;
所述根据所述多个骨骼关键点分别在每一幅图像中的二维概率分布,生成所述多个骨骼关键点分别在所述三维检测框中的概率分布,包括:
根据所述多幅图像各自对应的摄像装置的参数,将所述三维检测框的点云阵列中的各点分别映射到所述多幅图像中的所述目标对象的二维检测框中;
根据所述每一幅图像中的每一个骨骼关键点的热图,确定映射后的各点分别为每一幅图像中的每一个骨骼关键点的二维概率分布;
根据所述各点分别为每一幅图像中的每一个骨骼关键点的二维概率分布,获得所述点云阵列中的各点分别为各骨骼关键点的三维概率分布。
9.根据权利要求8所述的方法,其中,所述根据所述每一幅图像中的每一个骨骼关键点的热图,确定映射后的各点分别为每一幅图像中的每一个骨骼关键点的二维概率分布,包括:
根据所述每一幅图像中的每一个骨骼关键点的热图,采用线性插值方式,分别对映射后的各点进行插值处理,以分别确定映射后的各点分别为每一幅图像中的每一个骨骼关键点的二维概率分布。
10.根据权利要求6所述的方法,其中,所述根据所述每一幅图像中的多个骨骼关键点分别在所述三维检测框中的概率分布,确定所述多个骨骼关键点分别在三维空间中的三维坐标,包括:
针对所述目标对象的任一骨骼关键点,对所述多幅图像各自对应的点云阵列中的相同位置的点的概率值进行分别相乘,得到相乘结果;
根据所述相乘结果,确定所述目标对象的该骨骼关键点的三维坐标。
11.根据权利要求10所述的方法,其中,所述根据所述相乘结果,确定所述目标对象的该骨骼关键点的三维坐标,包括:
根据相乘结果不为零的各点的三维坐标,通过归一化确定所述目标对象的该骨骼关键点的三维坐标。
12.根据权利要求11所述的方法,其中,所述根据所述相乘结果不为零的各点的三维坐标,确定所述目标对象的该骨骼关键点的三维坐标,包括:
将相乘结果不为零的各点的相乘结果分别作为相应点的位置权值;
根据所述位置权值对所述不为零的各点的三维坐标进行加权平均,并将加权平均的结果作为该骨骼关键点的三维坐标。
13.根据权利要求1或2中任一项所述的方法,其中,所述方法还包括下述至少之一:
针对任一骨骼关键点,根据该骨骼关键点的三维坐标投影在各图像中的位置与各图像中的该骨骼关键点的二维坐标之间的位置差异,对该骨骼关键点的三维坐标进行优化调整;
根据预先设置的骨骼关键点间的先验值,对相应的骨骼关键点的三维坐标进行优化调整;
对具有时序关系的多幅图像中的同一目标对象的同一骨骼关键点的三维坐标进行平滑处理,平滑处理后获得的各骨骼关键点的三维坐标被作为所述目标对象的各骨骼关键点的三维坐标。
14.一种基于多摄像装置的目标对象骨骼关键点定位装置,包括:
第一获取模块,用于获取多个摄像装置在同一时刻从不同拍摄角度拍摄的多幅图像;
识别模块,用于从所述第一获取模块所获取到的多幅图像中识别出同一目标对象的多个骨骼关键点在每一幅图像中的二维坐标,得到多个二维坐标,其中,所述骨骼关键点为骨骼与骨骼之间相互衔接的位置点或者骨骼的端点;
生成初始坐标模块,用于根据所述识别模块得到的多个二维坐标以及所述多个摄像装置的参数,生成所述多个骨骼关键点各自对应的初始三维坐标,得到多个初始三维坐标;
确定三维检测框模块,用于根据所述生成初始坐标模块得到的多个初始三维坐标,确定所述目标对象在三维空间中的三维检测框;
确定三维坐标模块,用于基于所述识别模块得到的多个二维坐标以及所述确定三维检测框模块确定的三维检测框,确定所述多个骨骼关键点分别在三维空间中的三维坐标。
15.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-13任一项所述的方法。
16.一种电子设备,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于执行上述权利要求1-13任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910401925.XA CN111951326B (zh) | 2019-05-15 | 2019-05-15 | 基于多摄像装置的目标对象骨骼关键点定位方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910401925.XA CN111951326B (zh) | 2019-05-15 | 2019-05-15 | 基于多摄像装置的目标对象骨骼关键点定位方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111951326A CN111951326A (zh) | 2020-11-17 |
CN111951326B true CN111951326B (zh) | 2024-07-05 |
Family
ID=73336361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910401925.XA Active CN111951326B (zh) | 2019-05-15 | 2019-05-15 | 基于多摄像装置的目标对象骨骼关键点定位方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111951326B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487979B (zh) * | 2020-11-30 | 2023-08-04 | 北京百度网讯科技有限公司 | 目标检测方法和模型训练方法、装置、电子设备和介质 |
CN112489126B (zh) * | 2020-12-10 | 2023-09-19 | 浙江商汤科技开发有限公司 | 车辆关键点信息检测方法、车辆控制方法及装置、车辆 |
CN112528957A (zh) * | 2020-12-28 | 2021-03-19 | 北京万觉科技有限公司 | 人体运动基础信息检测方法、系统及电子设备 |
CN113470150A (zh) * | 2021-07-12 | 2021-10-01 | 北京顺天立安科技有限公司 | 一种基于骨骼驱动还原口型的方法和系统 |
CN113610967B (zh) * | 2021-08-13 | 2024-03-26 | 北京市商汤科技开发有限公司 | 三维点检测的方法、装置、电子设备及存储介质 |
CN114359230A (zh) * | 2022-01-06 | 2022-04-15 | 杭州柳叶刀机器人有限公司 | 一种基于位置坐标信息识别目标对象的方法和装置 |
CN115035546B (zh) * | 2022-05-27 | 2023-05-05 | 中国科学院半导体研究所 | 三维人体姿态检测方法、装置及电子设备 |
CN115620094B (zh) * | 2022-12-19 | 2023-03-21 | 南昌虚拟现实研究院股份有限公司 | 关键点的标注方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8854433B1 (en) * | 2012-02-03 | 2014-10-07 | Aquifi, Inc. | Method and system enabling natural user interface gestures with an electronic system |
CN109214980A (zh) * | 2017-07-04 | 2019-01-15 | 百度在线网络技术(北京)有限公司 | 一种三维姿态估计方法、装置、设备和计算机存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8723789B1 (en) * | 2011-02-11 | 2014-05-13 | Imimtek, Inc. | Two-dimensional method and system enabling three-dimensional user interaction with a device |
CN103211655B (zh) * | 2013-04-11 | 2016-03-09 | 深圳先进技术研究院 | 一种骨科手术导航系统及导航方法 |
KR20140132525A (ko) * | 2013-05-08 | 2014-11-18 | (주)약침학회 | 3차원 영상 촬영 장치를 이용한 경혈 위치 및 자침 깊이 결정 방법 |
US10269148B2 (en) * | 2017-05-01 | 2019-04-23 | Lockheed Martin Corporation | Real-time image undistortion for incremental 3D reconstruction |
US10460512B2 (en) * | 2017-11-07 | 2019-10-29 | Microsoft Technology Licensing, Llc | 3D skeletonization using truncated epipolar lines |
-
2019
- 2019-05-15 CN CN201910401925.XA patent/CN111951326B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8854433B1 (en) * | 2012-02-03 | 2014-10-07 | Aquifi, Inc. | Method and system enabling natural user interface gestures with an electronic system |
CN109214980A (zh) * | 2017-07-04 | 2019-01-15 | 百度在线网络技术(北京)有限公司 | 一种三维姿态估计方法、装置、设备和计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111951326A (zh) | 2020-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111951326B (zh) | 基于多摄像装置的目标对象骨骼关键点定位方法和装置 | |
US20210190497A1 (en) | Simultaneous location and mapping (slam) using dual event cameras | |
CN108765498B (zh) | 单目视觉跟踪方法、装置及存储介质 | |
CN106643699B (zh) | 一种虚拟现实系统中的空间定位装置和定位方法 | |
CN105654464B (zh) | 图像处理装置及图像处理方法 | |
GB2564794B (en) | Image-stitching for dimensioning | |
JP5291605B2 (ja) | カメラ姿勢推定装置およびカメラ姿勢推定プログラム | |
JP5872923B2 (ja) | Ar画像処理装置及び方法 | |
KR20150013709A (ko) | 컴퓨터 생성된 3d 객체들 및 필름 카메라로부터의 비디오 공급을 실시간으로 믹싱 또는 합성하기 위한 시스템 | |
JP2020506487A (ja) | シーンから深度情報を取得するための装置および方法 | |
JP2006099188A (ja) | 情報処理方法および装置 | |
CN105190229B (zh) | 三维形状计测装置、三维形状计测方法及三维形状计测程序 | |
CN110419208B (zh) | 成像系统、成像控制方法、图像处理设备和计算机可读介质 | |
Feng et al. | Inertial measurement unit aided extrinsic parameters calibration for stereo vision systems | |
CN110544278B (zh) | 刚体运动捕捉方法及装置、agv位姿捕捉系统 | |
CN115345942A (zh) | 空间标定方法、装置、计算机设备和存储介质 | |
CN107449403B (zh) | 一种时-空四维联合成像模型及应用 | |
Streckel et al. | Lens model selection for visual tracking | |
WO2019186677A1 (ja) | ロボット位置姿勢推定・三次元計測装置 | |
CN106872990B (zh) | 一种三维空间目标精准定位和追踪方法 | |
Castanheiro et al. | Modeling hyperhemispherical points and calibrating a dual-fish-eye system for close-range applications | |
CN110785792A (zh) | 3d建模方法、电子设备、存储介质及程序产品 | |
Chin et al. | Camera systems in human motion analysis for biomedical applications | |
Bleser et al. | Fast and stable tracking for ar fusing video and inertial sensor data | |
WO2020070856A1 (ja) | 座標値統合装置、座標値統合システム、座標値統合方法、及び座標値統合プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |