公开/公告号CN101840508A
专利类型发明专利
公开/公告日2010-09-22
原文格式PDF
申请/专利权人 中国科学院计算技术研究所;
申请/专利号CN201010159000.8
申请日2010-04-26
分类号G06K9/00(20060101);G06T7/20(20060101);
代理机构11006 北京律诚同业知识产权代理有限公司;
代理人祁建国;梁挥
地址 100080 北京市海淀区中关村科学院南路6号
入库时间 2023-12-18 00:48:18
法律状态公告日
法律状态信息
法律状态
2013-01-09
授权
授权
2010-11-10
实质审查的生效 IPC(主分类):G06K9/00 申请日:20100426
实质审查的生效
2010-09-22
公开
公开
技术领域
本发明涉及计算机视觉和模式识别领域,尤其涉及自动识别人体链状结构中特征点的方法及其系统。
背景技术
人体链状结构模型体现了人体各个部分的形状,大小以及连接关系,它蕴含了人体生理结构的先验知识。在有特征点的人体运动分析中,要描绘对象的运动,需要跟踪运动对象的特征点,计算关节中心的位置,驱动骨骼模型。对于不同的运动个体,需要按照人体模型的拓扑结构,指定重构出的特征点的名称及位置,建立符合要求的人体链状模型,才能继续完成跟踪任务,进而驱动骨骼模型。
人体链状结构模型建立完成之后,进行跟踪前,只需要标注出运动图像的首帧中重构的特征点的名称,就可以进行人体运动的跟踪。但是,由于人体运动比较复杂,在运动重构过程中,不可避免的会出现重构错误的点,称之为杂点;另外,由于遮挡以及自遮挡等情况的影响,会出现标记点丢失的情况,称之为丢点。如果用手工去选择合适的首帧,并逐个标注出特征点的名称,无疑是件非常繁琐的事情,而且如果出现错误的标注会显著降低跟踪的准确性和可靠性。
二十世纪九十年代以来,随着光学运动捕获技术的兴起,大量的三维人体运动捕获数据生成,并被广泛应用在计算机动画,医学仿真以及运动分析等领域。在获取运动捕获数据之后,如何从不准确和不完整的特征点数据中,根据人体链状结构模型,快速准确地挑选跟踪的首帧并对首帧的特征点进行正确识别和标注,以便后续根据这些信息进行运动跟踪,进而驱动骨骼模型是现有技术中需要解决的问题。
发明内容
为了解决上述问题,本发明提供了自动识别人体链状结构中特征点的方法及其系统,能够利用给定的人体链状结构模型,从具有丢失的或错误的特征点的运动数据序列中,确定首帧并对首帧中特征点进行标注。
本发明公开了一种自动识别人体链状结构中特征点的方法,包括:
步骤1,读取观测对象的人体链状结构模型,确定所述人体链状结构模型中的刚体以及每个刚体上的特征点;
步骤2,通过运动捕捉获得所述观测对象的运动图像的帧,以及各个帧的特征点集;
步骤3,从所述运动图像的帧中选择特征点集中特征点数量大于等于所述人体链状结构模型中特征点数量的第一个帧为首帧;
步骤4,对于每个刚体,从所述首帧的特征点中枚举出特征点组合,所述特征点组合中特征点数量同所述刚体上特征点数量相同,选择对应于所述刚体符合距离约束条件的特征点组合作为枚举结果;从所述枚举结果中选择一个特征点组合作为所述刚体的匹配对,对应于刚体中的特征点标识匹配对中的特征点;
所述距离约束条件为所述特征点组合中任意两个特征点间距离同所述刚体中对应的两个特征点间距离的差值小于预设的距离变化阀值。
所述步骤4中从所述枚举结果中选择一个特征点组合作为所述刚体的匹配对进一步为,
步骤21,应用绝对朝向算法从所述枚举结果中选择一个特征点组合作为所述刚体的匹配对。
所述步骤4中从所述枚举结果中选择一个特征点组合作为所述刚体的匹配对进一步为,
步骤31,对于枚举结果中每个特征点组合,计算所述特征点组合中所有的两个特征点间距离同所述刚体中对应的两个特征点间距离的差值,确定所述特征点组合对应的差值的最大值;
步骤32,选择所述最大值最小的特征点组合作为所述刚体的匹配对。
所述人体链状结构模型中的刚体上特征点数量的最大值为K,并且刚体包含的特征点的集合同其他刚体包含的特征点的集合具有重叠部分;
所述步骤4进一步为,
步骤41,对于每个特征点数量为K的刚体,从所述首帧的特征点中枚举出特征点组合,所述特征点组合中特征点数量为K,选择对应于所述刚体符合距离约束条件的特征点组合作为枚举结果;从所述枚举结果中选择一个特征点组合作为所述刚体的匹配对,对应于刚体中的特征点标识匹配对中的特征点,将匹配对中包含的特征点从所述首帧的特征点集中除去;在所有特征点数量为K的刚体都被匹配完成后,将K更新为K-1;
步骤42,对于每个特征点数量为K,并且有L个特征点被匹配的刚体,其中1≤L<K,从所述首帧的特征点集的剩余特征点中枚举出K-L个特征点,所述枚举的特征点和已同所述刚体匹配的首帧的特征点组合为特征点组合,选择对应于所述刚体符合距离约束条件的特征点组合作为枚举结果;从所述枚举结果中选择一个特征点组合作为所述刚体的匹配对,对应于刚体中的特征点标识匹配对中的特征点,将匹配对中包含的特征点从所述特征点集中除去;在所有特征点数量为K的刚体都被匹配完成后,将K更新为K-1;
步骤43,重复所述步骤42,直到所述首帧所有特征点均被识别或者所有刚体上的特征点都已被匹配。
所述步骤42中所述枚举的特征点和已同所述刚体匹配的首帧的特征点组合为特征点组合进一步为,
步骤51,将所述枚举的特征点和已同所述刚体匹配的首帧的特征点进行排序,
已同所述刚体匹配的首帧的特征点在排序中的位置同所述特征点在刚体中对应的特征点在刚体的排序中的位置相同;
步骤52,所述排序为枚举的一个特征点组合。
本发明还公开了一种自动识别人体链状结构中特征点的系统,包括:
模型读取模块,用于读取观测对象的人体链状结构模型,确定所述人体链状结构模型中的刚体以及每个刚体上的特征点;
运动帧获得模块,用于通过运动捕捉获得所述观测对象的运动图像的帧,以及各个帧的特征点集;
首帧确定模块,用于从所述运动图像的帧中选择特征点集中特征点数量大于等于所述人体链状结构模型中特征点数量的第一个帧为首帧;
特征点标识模块,用于对于每个刚体,从所述首帧的特征点中枚举出特征点组合,所述特征点组合中特征点数量同所述刚体上特征点数量相同,选择对应于所述刚体符合距离约束条件的特征点组合作为枚举结果;从所述枚举结果中选择一个特征点组合作为所述刚体的匹配对,对应于刚体中的特征点标识匹配对中的特征点;
所述距离约束条件为所述特征点组合中任意两个特征点间距离同所述刚体中对应的两个特征点间距离的差值小于预设的距离变化阀值。
所述特征点标识模块在从所述枚举结果中选择一个特征点组合作为所述刚体的匹配对时进一步用于应用绝对朝向算法从所述枚举结果中选择一个特征点组合作为所述刚体的匹配对。
所述特征点标识模块在从所述枚举结果中选择一个特征点组合作为所述刚体的匹配对时进一步用于对于枚举结果中每个特征点组合,计算所述特征点组合中所有的两个特征点间距离同所述刚体中对应的两个特征点间距离的差值,确定所述特征点组合对应的差值的最大值;选择所述最大值最小的特征点组合作为所述刚体的匹配对。
所述人体链状结构模型中的刚体上特征点数量的最大值为K,并且刚体包含的特征点的集合同其他刚体包含的特征点的集合具有重叠部分;
所述特征点标识模块进一步包括:
初次标识模块,用于对于每个特征点数量为K的刚体,从所述首帧的特征点中枚举出特征点组合,所述特征点组合中特征点数量为K,选择对应于所述刚体符合距离约束条件的特征点组合作为枚举结果;从所述枚举结果中选择一个特征点组合作为所述刚体的匹配对,对应于刚体中的特征点标识匹配对中的特征点,将匹配对中包含的特征点从所述首帧的特征点集中除去;在所有特征点数量为K的刚体都被匹配完成后,将K更新为K-1;
再次标识模块,用于对于每个特征点数量为K,并且有L个特征点被匹配的刚体,其中1≤L<K,从所述首帧的特征点集的剩余特征点中枚举出K-L个特征点,所述枚举的特征点和已同所述刚体匹配的首帧的特征点组合为特征点组合,选择对应于所述刚体符合距离约束条件的特征点组合作为枚举结果;从所述枚举结果中选择一个特征点组合作为所述刚体的匹配对,对应于刚体中的特征点标识匹配对中的特征点,将匹配对中包含的特征点从所述特征点集中除去;在所有特征点数量为K的刚体都被匹配完成后,将K更新为K-1;
判断模块,用于判断是否所述首帧所有特征点均被识别或者所有刚体上的特征点都已被匹配,如果否,则启动所述再次标识模块,如果是,则结束操作。
所述再次标识模块在将所述枚举的特征点和已同所述刚体匹配的首帧的特征点组合为特征点组合时进一步用于将所述枚举的特征点和已同所述刚体匹配的首帧的特征点进行排序,已同所述刚体匹配的首帧的特征点在排序中的位置同所述特征点在刚体中对应的特征点在刚体的排序中的位置相同;所述排序为枚举的一个特征点组合。
本发明的有益效果在于,本发明能够从具有丢失的或错误的特征点的运动数据序列中,确定首帧并对首帧中特征点进行标注;给定人体链状结构模型以及特征点运动数据序列,不需要经过复杂的人工操作,就能够直接识别出人体链状结构及各个特征点的名称,简化了运动跟踪时,运动跟踪中首帧的初始化工作;识别出的人体链状结构及各个特征点的名称可以直接应用到运动跟踪中,方便快捷;本发明适用于各种观测对象。
附图说明
图1是本发明的自动识别人体链状结构中特征点的方法的流程图;
图2是一实施例中观测对象的人体链状结构模型的下肢结构的示例图;
图3是实施例中特征点在下肢结构中的示例图;
图4(a)是三特征点刚体识别时识别两个点的枚举排列示意图;
图4(b)是三特征点刚体识别时识别一个点的枚举排列示意图;
图5是本发明的自动识别人体链状结构中特征点的系统的结构图。
具体实施方式
下面结合附图,对本发明做进一步的详细描述。
本发明的自动识别人体链状结构中特征点的方法的流程如图1所示。
步骤S100,读取观测对象的人体链状结构模型,确定所述人体链状结构模型中的刚体以及每个刚体上的特征点。
人体链状结构模型中包括刚体,每个刚体上具有特征点;通过读取观测对象的人体链状结构模型,确定观测对象的人体链状结构模型中刚体的数量和名称,各个刚体上特征点的数目和名称,以及刚体上各个特征点间的距离。
在一实施例中的观测对象的人体链状结构模型的下肢结构如图2所示。其中,下肢结构的刚体包括腰部,左大腿,右大腿,左小腿,右小腿,左足,右足,共7个刚体;每个刚体中包括的特征点如表1所述。
表1
表1中的LFWT表示左腰前,RFWT表示右腰前,LBWT表示左腰后,RBWT表示右腰后,LTHI表示左大腿,LKNE表示左膝盖,RTHI表示右大腿,RKNE表示右膝盖,LANK表示左脚踝LSHN表示左小腿,RANK表示右脚踝,RSHN表示右小腿,LTOE表示左拇指,LMT5表示左小指,LHEE表示左脚跟,RTOE表示右拇指,RMT5表示右小指,RHEE表示右脚跟。
表1中特征点在下肢结构中的位置如图3所示。
步骤S200,通过运动捕捉获得所述观测对象的运动图像的帧,以及各个帧的特征点集。
特征点集为帧中特征点的集合。
本步骤所涉及的运动捕获技术是基于计算机视觉的特征点匹配和重构技术,在“计算机视觉中的数学方法”,吴福朝,科学出版社,2008,一书中具有详细说明。
运动捕获中,人体穿上具有反光点的采集衣,利用多个摄像机对运动的人体进行捕捉,并以视频的形式进行记录,在视频图像中只有反光点区域具有很大的亮度,可以进行特征点提取。提取到的特征点进行极几何匹配和三维重构,得到特征点的空间位置。
通过运动捕捉技术获得的特征点集中会包括错误的特征点,或者出现缺失特征点的现象。
步骤S300,从所述观测对象的运动图像的帧中选择特征点集中特征点数量大于等于所述人体链状结构模型中特征点数量的第一个帧为首帧。
由于需要在运动图像的帧中将对应于人体链状结构模型的刚体上的所有特征点标注出来,要求保证这一帧中所重构出的特征点的数目应该不小于特征点的总数目,也就是没有丢点情况出现。
在实施例中,下肢结构中特征点的总数为18,因而从观测对象的运动图像的帧中选择特征点数量大于等于18的第一个帧为首帧。
步骤S400,对于每个刚体,从首帧的特征点中枚举特征点组合,所述特征点组合中特征点数量同所述刚体上特征点数量相同,选择出对应于该刚体符合距离约束条件的特征点组合作为枚举结果;从所述枚举结果中选择一个特征点组合作为所述刚体的匹配对,对应于刚体中的特征点标识匹配对中的特征点。
距离约束条件为:该特征点组合中任意两个特征点间距离同该刚体中对应的两个特征点间距离的差值小于预设的距离变化阀值。
枚举的特征点组合中任意两个特征点,特征点xi和特征点xj,该两个特征点间距离为distij(2),刚体中特征点yi对应于特征点xi,刚体中特征点yj对应于特征点xj,特征点yi和特征点yj间距离为distij(1),距离约束条件为
其中,i,j=1,...,n,n为该刚体中特征点的数量,枚举的特征点组合中的特征点的数量也为n,τrigid为预设的距离变化阀值。
特征点组合中特征点和刚体上特征点间的对应关系,由特征点在特征点组合中的顺序位置和特征点在刚体上的顺序位置确定。
在步骤S400中从所述枚举结果中选择一个特征点组合作为所述刚体的匹配对的一具体实施方式如下所述。
应用绝对朝向算法从所述枚举结果中选择一个特征点组合作为所述刚体的匹配对。
在步态运动过程中,同一刚体的特征点之间满足刚体变换,通过绝对朝向算法计算的误差函数会比较小。从两个对应点集中去估计两个点集之间的旋转、缩放和平移参数称为绝对朝向问题,在文献Least-squares fitting oftwo 3-D point sets.K.S.Arun,T.S.Huang and S.D.Blostein.PAMI-8,No.1,Jan.1986中具有详细记述。
具体而言,绝对朝向问题就是对于给定n维空间中的两个点集x={x1,...,xn}和y={y1,...,yn},找到一组相似变换参数,参数包括:R,表示旋转;c,表示缩放;t,表示平移。使得下面这个最小二乘误差函数F(R,t,c)达到极小值。F(R,t,c)的值越小,两个对应点集匹配的程度越高。
在该实施例中,刚体的特征点集为x={x1,...,xn},枚举结果中的一个特征点组合y={y1,...,yn },计算每个特征点组合对应的误差值F(R,t,c),选择误差值最小的特征点组合为该刚体的匹配对。
在步骤S400中从所述枚举结果中选择一个特征点组合作为所述刚体的匹配对的另一具体实施方式如下所述。
对于枚举结果中每个特征点组合,计算所述特征点组合中所有的两个特征点间距离同所述刚体中对应的两个特征点间距离的差值中的最大值;选择所述最大值最小的特征点组合作为所述刚体的匹配对。
在步态运动过程中,同一刚体上任意两个特征点间距离近似不变,而属于不同刚体的两个特征点之间距离会有明显变化的特点。
记D为两个对应特征点组合x={x1,...,xn}与y={y1,...,yn}线段变形的最大误差,按如下公式计算D。
其中,xi和yi是两个特征点组合中的对应点,d(xi,xj)和d(yi,yj)分别为特征点组合x和y中两个特征点之间的距离。D值越小,两个特征点组合匹配的可靠性越高。
在该实施例中,对于枚举结果中每个特征点组合,按如上公式计算该特征点组合同刚体上特征点集的最大误差D,选择最大误差D最小的特征点组合为该刚体的匹配对。
所述步骤S400的一具体实施方式如下所述。
步骤S410,对于每个特征点数量为K的刚体,从所述首帧的特征点中枚举出特征点组合,所述特征点组合中特征点数量为K,选择对应于所述刚体符合距离约束条件的特征点组合作为枚举结果;从所述枚举结果中选择一个特征点组合作为所述刚体的匹配对,对应于刚体中的特征点标识匹配对中的特征点,将匹配对中包含的特征点从所述首帧的特征点集中除去,在所有特征点数量为K的刚体都被匹配完成后,将K更新为K-1。
步骤S420,对于每个特征点数量为K,并且有L个特征点被匹配的刚体,L的值大于等于1,从所述首帧的特征点集的剩余特征点中枚举出K-L个特征点,所述枚举的特征点和已同所述刚体匹配的首帧的特征点组合为特征点组合,选择对应于所述刚体符合距离约束条件的特征点组合作为枚举结果;从所述枚举结果中选择一个特征点组合作为所述刚体的匹配对,对应于刚体中的特征点标识匹配对中的特征点,将匹配对中包含的特征点从所述特征点集中除去,在所有特征点数量为K的刚体都被匹配完成后,将K更新为K-1。
步骤S430,重复所述步骤S420,直到首帧所有特征点均被识别或者所有刚体上的特征点都已匹配成功。
所述步骤S400对应于如表1所述的人体链状结构模型的实施例如下所述。
步骤S401,在首帧中,采用绝对朝向算法和距离约束条件从该首帧的特征点组合中识别出对应于四特征点刚体的特征点。
从表1和图3中可以确定在人体的下肢结构的各个刚体中,腰上和脚上的刚体上有四个特征点点。识别的顺序需要按照拓扑关系,从上而下进行,先进行腰上四特征点的识别,然后进行脚上四特征点的识别。
记P1,P2,P3,P4为人体链状结构模型中某个刚体上的四个特征点,并且两个特征点之间的距离为distij(1)。记Q1,Q2,Q3,Q4为从首帧的特征点集中枚举出的具有四个特征点的特征点组合,特征点不同的排序对应为不同的特征点组合,并且该特征点组合中两个特征点之间的距离为distij(2)。
对于枚举出的特征点组合,对于任意的i,j=1,...,4满足的特征点组合作为枚举结果。
遍历所有枚举结果,利用绝对朝向算法从枚举结果中选择一个该刚体的匹配对,对应刚体的四个特征点标识特征点组合中的特征点。
更新特征点集合,去除已识别的点,继续进行下一个四特征点刚体的识别直到所有四特征点刚体识别完毕。
步骤S402,在首帧中,采用绝对朝向算法和距离约束条件从该首帧的特征点组合中识别出对应于三特征点刚体的特征点。
在首帧中的特征点中已经识别出对应于四特征点刚体上的特征点及其名称,对于首帧中剩余的特征点,利用人体链状结构模型、距离约束条件和绝对朝向算法识别出对应于三特征点刚体的特征点。
首先,从人体链状结构模型的刚体中选择出具有资格的三特征点刚体,刚体的资格条件为,刚体中已经被识别出的特征点的数量为L,1≤L<3,表示没有从首帧的特征点中识别出对应于该刚体的所有特征点,且刚体上至少有一个特征点已经被识别出。
在枚举出特征点集合时,从特征点集中剩余特征点中枚举该刚体上尚未识别特征点对应个数的特征点,例如该刚体中有两个点未被识别,则枚举出两个特征点;如果该刚体中有一个点未被识别,则枚举出一个特征点。然后将枚举出的特征点与已同该刚体匹配的首帧的特征点组合为特征点组合;同样是不同排序对应不同的特征点组合。已经匹配的特征点在特征点组合中的位置应该与它在人体链状构造模型中所属刚体上的位置相同。如图4(a)和图4(b)所示,空心点表示已经识别出的特征点,实心点表示尚未识别的点。4(a)图中,需要枚举两个点,已识别的点P1和两个枚举得到的点的排列关系应该为P1,枚举得到的点P2,枚举得到的点P3。同样的在图4(b)中,只需要枚举一个点,这时的排列关系应该为已识别的点P1,枚举得到的点P2,已识别的点P3。
得到枚举出的特征点组合之后,采用绝对朝向算法和距离约束条件得到三点刚体的识别结果。
本发明一种自动识别人体链状结构中特征点的系统的结构如图5所示。
模型读取模块100,用于读取观测对象的人体链状结构模型,确定所述人体链状结构模型中的刚体以及每个刚体上的特征点。
运动帧获得模块200,用于通过运动捕捉获得所述观测对象的运动图像的帧,以及各个帧的特征点集。
首帧确定模块300,用于从所述运动图像的帧中选择特征点集中特征点数量大于等于所述人体链状结构模型中特征点数量的第一个帧为首帧。
特征点标识模块400,用于对于每个刚体,从所述首帧的特征点中枚举出特征点组合,所述特征点组合中特征点数量同所述刚体上特征点数量相同,选择对应于所述刚体符合距离约束条件的特征点组合作为枚举结果;从所述枚举结果中选择一个特征点组合作为所述刚体的匹配对,对应于刚体中的特征点标识匹配对中的特征点;
所述距离约束条件为所述特征点组合中任意两个特征点间距离同所述刚体中对应的两个特征点间距离的差值小于预设的距离变化阀值。
在一实施方式中,特征点标识模块在从所述枚举结果中选择一个特征点组合作为所述刚体的匹配对时进一步用于应用绝对朝向算法从所述枚举结果中选择一个特征点组合作为所述刚体的匹配对。
在另一实施方式中,特征点标识模块在从所述枚举结果中选择一个特征点组合作为所述刚体的匹配对时进一步用于对于枚举结果中每个特征点组合,计算所述特征点组合中所有的两个特征点间距离同所述刚体中对应的两个特征点间距离的差值,确定所述特征点组合对应的差值的最大值;选择所述最大值最小的特征点组合作为所述刚体的匹配对。
具体实施例
人体链状结构模型中的刚体上特征点数量的最大值为K,并且刚体包含的特征点的集合同其他刚体包含的特征点的集合具有重叠部分。
所述特征点标识模块进一步包括如下模块。
初次标识模块,用于对于每个特征点数量为K的刚体,从所述首帧的特征点中枚举出特征点组合,所述特征点组合中特征点数量为K,选择对应于所述刚体符合距离约束条件的特征点组合作为枚举结果;从所述枚举结果中选择一个特征点组合作为所述刚体的匹配对,对应于刚体中的特征点标识匹配对中的特征点,将匹配对中包含的特征点从所述首帧的特征点集中除去;在所有特征点数量为K的刚体都被匹配完成后,将K更新为K-1。
再次标识模块,用于对于每个特征点数量为K,并且有L个特征点被匹配的刚体,其中1≤L<K,从所述首帧的特征点集的剩余特征点中枚举出K-L个特征点,所述枚举的特征点和已同所述刚体匹配的首帧的特征点组合为特征点组合,选择对应于所述刚体符合距离约束条件的特征点组合作为枚举结果;从所述枚举结果中选择一个特征点组合作为所述刚体的匹配对,对应于刚体中的特征点标识匹配对中的特征点,将匹配对中包含的特征点从所述特征点集中除去;在所有特征点数量为K的刚体都被匹配完成后,将K更新为K-1。
判断模块,用于判断是否所述首帧所有特征点均被识别或者所有刚体上的特征点都已被匹配,如果否,则启动所述再次标识模块,如果是,则结束操作。
进一步的,再次标识模块在将所述枚举的特征点和已同所述刚体匹配的首帧的特征点组合为特征点组合时进一步用于将所述枚举的特征点和已同所述刚体匹配的首帧的特征点进行排序,已同所述刚体匹配的首帧的特征点在排序中的位置同所述特征点在刚体中对应的特征点在刚体的排序中的位置相同;所述排序为枚举的一个特征点组合。
本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条件下,还可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于以上的说明,而是由权利要求书的范围来确定的。
机译: 短链状套圈结构,链状套圈结构以及连接链状套圈结构的方法
机译: 短链状插芯结构,链状插芯结构和制造链状插芯结构的方法
机译: 短链状套圈结构,链状套圈结构和生产链状套圈结构的方法