追踪刚体位置信息的方法及其装置、设备、存储介质
文献发布时间:2023-06-19 10:08:35
技术领域
本发明涉及动作捕捉技术领域,具体涉及一种追踪刚体位置信息的方法及其装置、设备、存储介质。
背景技术
当前光学动作捕捉系统中,人体动作捕捉一般是通过佩戴在人体身上的刚体进行身体部位的定位和姿态的计算,从而推算出人体的动作等信息,因此刚体定位和姿态解算的正确性非常关键。但现存的动捕系统中,在多刚体、多人动作捕捉的情况下特别容易出现刚体飞串等问题,即不同的人身上的刚体出现了错误的匹配,进而导致人体骨骼姿态解算错误等问题。
上述这些问题几乎是不可避免的,主要原因是刚体与刚体之间存在局部相似性,即多个刚体的标记点之间的距离相近,从而大量形成相似三角形,另外,动捕过程中特别容易存在刚体被遮挡的情况,导致刚体追踪失败或错误,这些问题的根本原因在于初始状态绑定的刚体标记点与动捕过程中的刚体标记点出现了误匹配,因此,有必要解决这一问题。
发明内容
为了解决人体捕捉过程中出现的刚体飞串、刚体误匹配等问题,本发明提出一种采用约束条件进行追踪刚体正确的位置信息的方法及其装置、设备、存储介质。
本发明采用的技术方案具体方法如下:
根据第一方面,一种实施例中提供一种追踪刚体位置信息的方法,包括:
S1:获取t=0时刻佩戴在多人身体各部位上的刚体位置信息集合P{(P
S2:获取t≥1时刻的刚体位置信息集合,通过所述刚体位置信息集合求取每个人身上的刚体之间位置的距离关系;
S3:根据预设的第一约束条件判断所述每个人身上的刚体之间位置的距离关系是否是正确的,若是,则得到正确的刚体标记点集合,进入步骤S5;
S4:若判断结果为否,则根据预设的第二约束条件求取正确的刚体标记点集合;
S5:根据所述正确的刚体标记点集合进行匹配计算,以追踪得到刚体的位置信息。
所述人体部位编号p=6,包括:双手、头部、腰部、双脚六个部位。
以所述头部上的刚体为参考,分别获取双手刚体离头部刚体最大的距离HW、双脚刚体离头部刚体最大的距离HT、腰部刚体离头部刚体最大的距离HL、人体近似最大距离ML=HW+HT。
令所述HW=λ*HW、HT=λ*HT、HL=λ*HL、ML=λ*ML,其中,λ>1,以使所述HW、HT、HL和ML能有一定误差冗余。
所述每个人身上的刚体之间位置的距离关系,包括:双手刚体离头部刚体的实际距离HW1和HW2、双脚刚体离头部刚体的实际距离HT1和HT2,腰部刚体离头部刚体的实际距离HL’。
所述预设的第一约束条件包括:
if HW1<HW:f1=true else f1=false
if HW2<HW:f2=true else f2=false
if HT1<HT:f3=true else f3=false
if HT2<HT:f4=true else f4=false
if HL′<HL:f5=true else f5=false
其中,f1、f2分别对应双手刚体的位置信息,f3、f4分别对应双脚刚体的位置信息,f5对应腰部刚体的位置信息,根据所述预设的第一约束条件,则可判断所述每个人身上的刚体之间位置的距离关系是否是正确的。
所述预设的第二约束条件包括:
|P
根据第二方面,一种实施例中提供一种追踪刚体位置信息的装置,包括:
获取单元,用于获取t=0时刻佩戴在多人身体各部位上的刚体位置信息集合P{(P
判断单元,用于根据预设的第一约束条件判断所述每个人身上的刚体之间位置的距离关系是否是正确的,若是,则得到正确的刚体标记点集合,进入步骤S5;若判断结果为否,则根据预设的第二约束条件求取正确的刚体标记点集合;
计算单元,用于根据所述正确的刚体标记点集合进行匹配计算,以追踪得到刚体的位置信息。
根据第三方面,一种实施例中提供一种追踪刚体位置信息的设备,包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的追踪刚体位置信息的方法程序,所述追踪刚体位置信息的方法程序被所述处理器执行时实现上述第一方面所述的追踪刚体位置信息的方法的步骤。
根据第四方面,一种实施例中提供一种计算机可读存储介质,包括程序,所述程序能够被处理器执行以实现上述第一方面所述的方法。
本申请的有益效果是:
依据上述实施例的一种追踪刚体位置信息的方法,首先获取初始时刻(t=0)佩戴在多人身体各部位上的刚体位置信息,然后获取t≥1时刻的刚体位置信息集合,通过该刚体位置信息集合求取每个人身上的刚体之间位置的距离关系;接着根据预设的第一约束条件判断每个人身上的刚体之间位置的距离关系是否是正确的,若是,则得到正确的刚体标记点集合,直接可进行匹配计算,若否,则根据预设的第二约束条件求取正确的刚体标记点集合,从而最终获得正确的刚体标记点集合,由此追踪得到准确的刚体位置信息。该方案解决了人体捕捉过程中出现不同人体之间的刚体飞串、刚体误匹配等问题,使得刚体位置计算的正确性大大提升。
附图说明
图1为本申请中追踪刚体位置信息的方法的流程图;
图2为本申请中追踪刚体位置信息的装置示意图;
图3为本申请中实现追踪刚体位置信息的设备的结构示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。
另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。
本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本申请所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。
实施例一、
请参考图1,本申请公开一种追踪刚体位置信息的方法,该方法包括步骤S110-S150,下面将分别说明。
步骤S110,获取t=0时刻佩戴在多人身体各部位上的刚体位置信息P{(P
在一个实施例中,人体首先隔开一定距离进行TPose,即双手水平张开,两腿并拢,头平视前方,腰板伸直,采用该姿势保证各个刚体在初始时刻求取的位置信息一定是正确的,并利用已有技术求取初始时刻t=0时,刚体的位置信息集合P{(P
以头部刚体为参考,可分别获取手部、脚部和腰部刚体离头部刚体位置的距离,这时取双手刚体离头部刚体最大的距离为HW、取双脚刚体离头部刚体最大的距离为HT、取腰部刚体离头部刚体最大的距离为HL,以及取人体近似最长距离为ML=HW+HT。为了能有一定误差冗余,可以分别对HW、HT、HL和ML乘以一个大于1的系数λ,即令HW=λ*HW、HT=λ*HT、HL=λ*HL、ML=λ*ML,以确保求得的刚体位置信息尽可能正确。
步骤S120,获取t≥1时刻的刚体位置信息集合,通过刚体位置信息集合求取每个人身上的刚体之间位置的距离关系;
设t≥1为开始进行人体动作捕捉开始后的时刻,同样求取此时每个时刻的刚体位置信息集合为P{(P
步骤S130,根据预设的第一约束条件判断每个人身上的刚体之间位置的距离关系是否是正确的,若是,则得到正确的刚体标记点集合,进入步骤S150;
第一约束条件为以下公式:
if HW1<HW:f1=true else f1=false
if HW2<HW:f2=true else f2=false
if HT1<HT:f3=true else f3=false
if HT2<HT:f4=true else f4=false
if HL<HL:f5=true else f5=false
其中,f1、f2分别对应双手刚体的位置数据,f3、f4分别对应双脚刚体的位置数据,f5对应腰部刚体的位置数据,根据该预设的第一约束条件,则可判断每个人身上的刚体之间位置的距离关系是否是正确的,即将t≥1时刻的身体各部位刚体位置的实际距离关系与初始时刻的身体各部位刚体位置的最大距离关系进行对比,若实际距离关系小于最大距离关系,则判断定为真(true),代表该距离关系是正确的,否则为错误(false)。
在一个实施例中,求取对应于上述刚体位置信息集合P的人体各部位上刚体标记点集合为F{(F
步骤S140,若判断结果为否,则根据预设的第二约束条件求取正确的刚体标记点集合;
在本实施例中,对于判断出的位置信息不正确的刚体,根据如下预设的第二约束条件求取点集{P
|P
其中P
步骤S150:根据上述步骤S130和步骤S140中正确的刚体标记点集合进行匹配计算,以追踪得到刚体的位置信息;在求出正确的刚体标记点集合之后,还需要利用现有算法对这些刚体标记点进行匹配计算,从而得到刚体运动轨迹,即可追踪得到身体各部位上刚体的位置信息。
实施例二、
请参考图2,本申请公开一种追踪刚体位置信息的装置3,包括:
获取单元31,用于获取t=0时刻佩戴在多人身体各部位上的刚体位置信息P{(P
判断单元32,用于根据预设的第一约束条件判断每个人身上的刚体之间位置的距离关系是否是正确的,若是,则得到正确的刚体标记点集合,进入步骤S150;若判断结果为否,则根据预设的第二约束条件求取正确的刚体标记点集合;关于判断单元32的具体功能,可以参考步骤S130-S140中的相关内容,这里不再进行详细说明。
计算单元33,用于根据上述正确的刚体标记点集合进行匹配计算,以追踪得到刚体的位置信息。
实施例三、
请参考图3,本申请还公开一种追踪刚体位置信息的设备4,该设备4可以包括存储器41和处理器42,以及包括存储在存储器41上并可在处理器42上运行的追踪刚体位置信息的方法程序。此外需要说明的是,这里的追踪刚体位置信息的方法程序能够在被处理器42执行时实现实施例一中关于追踪刚体位置信息的方法的步骤(即步骤S110-S150)。
需要说明的是,在本实施例中,存储器41上存储的追踪刚体位置信息的方法程序可以包括一些功能模块,如实施例二中请求保护的获取单元31、判断单元32和计算单元33。其中,获取单元31用于获取t=0时刻佩戴在多人身体各部位上的刚体位置信息P{(P
本领域技术人员可以理解,上述实施方式中各种方法的全部或部分功能可以通过硬件的方式实现,也可以通过计算机程序的方式实现。当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘、光盘、硬盘等,通过计算机执行该程序以实现上述功能。例如,将程序存储在设备的存储器中,当通过处理器执行存储器中程序,即可实现上述全部或部分功能。另外,当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序也可以存储在服务器、另一计算机、磁盘、光盘、闪存盘或移动硬盘等存储介质中,通过下载或复制保存到本地设备的存储器中,或对本地设备的系统进行版本更新,当通过处理器执行存储器中的程序时,即可实现上述实施方式中全部或部分功能。
以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。
- 追踪刚体位置信息的方法及其装置、设备、存储介质
- 刚体姿态追踪方法及其装置、设备、存储介质