CN115311406A - 一种笔划交互式的人体骨架重建技术 - Google Patents
一种笔划交互式的人体骨架重建技术 Download PDFInfo
- Publication number
- CN115311406A CN115311406A CN202110492691.1A CN202110492691A CN115311406A CN 115311406 A CN115311406 A CN 115311406A CN 202110492691 A CN202110492691 A CN 202110492691A CN 115311406 A CN115311406 A CN 115311406A
- Authority
- CN
- China
- Prior art keywords
- joint
- points
- skeleton
- image
- angle
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- 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/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20164—Salient point detection; Corner detection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种笔划交互式的人体骨架重建技术。首先,从骨骼图中找到人体骨骼的颈部的关节点,然后,将根据距离和方向信息在预处理的输入图像上定位其他关键关节点。之后,将根据标准人体骨骼的比例和角度运动范围来校正图像中的骨骼结构误差。最后,还提供了生成可能的3D骨骼关节点的功能。该技术使用户能够以简单、直观、快速的方式获取人体骨架草图,而不存在明显的结构误差。生成的二维图像可以作为用户的绘图参考,而三维坐标可以用于模型和动画等相关的领域。
Description
技术领域
本发明提出了一种笔划交互的骨骼校正技术,并将其用于图像中人体骨骼的校正,属于骨架重建领域。并且通过图像生成对应的二维骨架模型可以应用于2D动画、游戏等领域。骨骼动画可以很容易地控制人体模特的姿势和动作,从而降低创作成本。
背景技术
对于非专业的创作者来说,创造一个没有缺点的人体骨架图像是一个挑战。在初学者的作品中,经常会出现比例和结构上的错误,如上肢过长、肘部角度不合理等。虽然这些问题可以通过搜索具有相似姿势的人体图片作为参考来解决,但通常需要花费大量的时间来搜索,并且搜索结果可能并不令人满意。
人体姿态识别与纠正技术随着游戏、人机交互、监控、可视化等领域的需求增长而得以不断更新:单张、多张静态图像均可以不同程度地恢复人体的姿势,利用视频序列也可以进行姿态估计,高速深度相机的出现则使得人体姿态识别的结果更为精确、健壮;对于所得的姿态,凭借丰富的样本可以一定程度上纠正由于杂乱背景、自遮挡等问题造成的错误。这些技术与方法对于手绘人体骨架草图的关节估计与纠正具有一定参考价值,然而输入图像极其有限的信息导致许多方法无法被应用。
本发明提出了一种校正图像中人体骨骼的技术,首先要识别图像中人体的关节点,而识别步骤之前,通常会对源图像进行骨架化处理。然后对从图像中获取人体骨架的进行校正。本发明依赖的相关技术介绍如下:
(1)图像骨架化处理
骨架化的方法通常可以分为两类:细化和距离变换。细化算法会迭代删除图形边缘上的连续像素层,直到只剩下骨骼。单个像素的删除由附近像素决定。这种方法可以保持原始图形的拓扑结构,而不能保证骨骼的连续性和平滑性。因此,生成的结果通常需要进一步的处理。而通过距离转换,二进制图像将被转换为一张新图像,其中每个目标像素的值都与距背景的最小距离相匹配。通常,基于距离变换的算法可以获取精确的骨架结构,但不能确保连通性。快速的欧几里得距离变换算法从外到内计算出人体轮廓的欧几里得距离图,但它无法获取骨骼的关节点。另一种方法可以从身体轮廓图像中提取带有关节的骨骼,但是它需要额外的信息,即四肢的宽度。
(2)骨骼关节点识别
要识别静态图像中关节的位置,通常需要使用标准人体骨骼模型作为参考,该模型可以指示搜索关节的方向。并且通常将关节点分为显示、隐式关节两种,并采取不同的方式来确定。
(3)人体骨架校正
从静态图像中恢复身体姿势的主流方法通常可以分为三种:基于匹配的方法,基于身体部位的方法和基于模型的方法。
对于基于匹配的方法,可以通过比较测试图像和较大的标记数据集来获取姿势。通常需要人体特征和形状背景。为了进行训练,此方法需要包含身体姿势数据的数据集,这些数据具有丰富的姿势类型,背景和个人信息。除非对图像进行了专门的细化,否则该技术无法从背景杂乱的图像中获得准确的结果。基于身体部位的方法克服了基于匹配算法的局限性,这些方法首先尝试识别人的每个身体部位,例如面部,躯干和四肢。然后根据预定义的结构约束估计最佳组合。与基于匹配的方法相比,该技术所需的数据集更少,并且对姿势的类型不敏感。结果取决于身体部位检测器,但是该方法只能处理具有特定服装样式的身体图像。
而基于模型的方法通常可以获取准确的姿势,并且不依赖于身体部位检测器。该方法首先通过修改人体模型的参数来生成大量姿势,然后最小化假设姿势与源图像之间的投影误差。
发明内容
(一)要解决的技术问题
为了解决上述的技术问题。本发明提出了一种笔划交互的人体骨架重建技术,使用户能够从原始图像中快速获取校正后的人体骨骼图像。在该技术中应用了标准的人体骨骼模型作为校正输入图像的参考。此工具允许用户从所生成的图像和原始图像之间的直观比较学习正确的人体骨架结构。该技术可帮助初学者学习图像中的错误,并了解正确的人体骨骼结构,从而消除创作的障碍。由图像生成的二维(2D)骨架模型也可以应用于2D动画中,并进一步开发为三维(3D)模型。
(二)技术方案
本发明提供了一个能够快速纠正图像中人体骨架的技术,包括如下步骤:
S1、获取人体的骨骼图像,并对图像进行预处理,从图像中提取提出人体骨架,因此需要对图像进行骨骼化处理。手动选定骨架中的root关节点。
S2、关节点定位,从人体骨架中确定关节点信息。
S3、纠正有错误的关节点,包括关节段长度以及角度的修改。
S4、利用纠正后的二维骨架生成对应的三维骨架。
2、如权利要求1所述的笔划交互式的人体骨架重建技术,其特征在于,所述步骤S1具体包括以下处理:
首先利用所开发的绘画系统绘制人体的骨骼图,然后需要对输入的图像进行预处理,即骨骼化。骨骼化操作使用并行速细化算法,该算法具有速度快、保持细化后曲线的连通性等优点。该算法用3*3大小的卷积处理图像中的每一个像素点,主要用于处理灰度图像,既像素值只包含0和1的图像。假设像素点p1的8个领域的像素值如矩阵所示,该算法首先删除同时满足下列条件的像素点:(1)2≤N(P1)≤6;(2)S(P1)=1;(3)P2×P4×P6=0;(4)P4×P6×P8=0;其中,N(P1)表示领域中非零像素值的个数,S(P1)是以P2,P3,…,P9的顺序逆时针遍历该矩阵像素值从0变到1的次数。然后该算法删除同时满足以下条件的像素点:(1)2≤N(P1)≤6;(2)S(P1)=1;(3)P2×P4×P8=0;(4)P2×P6×P8=0;以上两步操作构成一次迭代,算法将持续迭代至没有满足标记条件的点为止,此时剩余的点组成的区域即为细化所得骨架。细化完成后,还对骨架进行过滤操作,使得任意两个目标点不紧邻,方便下一步检测特征点。过滤规则为:如果P2+P3+P8+P9≥1,则该像素点可以删除。得到人体的骨架后,手动选取root关节点,通常选取颈部的关节点。
3、如权利要求1所述的笔划交互式的人体骨架重建技术,其特征在于,所述步骤S2具体包括以下处理:
角点的检测是确定关节点的重要步骤,它关系到关节点位置的准确性、唯一性。骨架中的交叉点、端点和其他角点均有可能为关节点。首先检测交叉点和端点,确定头、双手、双足、颈部、腰部这7个关节点,再确定角点中其它关节点。
显然,在骨架中,一定范围内目标点个数较多,可以判定中心点为交叉点,个数较少,可以判定中心点为端点。基于此,进行如下过程:确定卷积邻域范围,本发明中为6×6的圆形范围;统计卷积范围内目标点个数,若个数大于上限阈值,则为交叉点,若个数小于下限阈值,则为端点;对检测出的点进行合并,若两点之间距离极近,取平均值。
对于剩余角点,采用Shi-Tomasi角点检测算法,设定角点最大数目为15,两个角点之间的距离容忍度大致为头部到颈部关节的距离。当一个窗口在图像上移动时,在平滑区域,窗口在各个方向上没有变化。在边缘部分,窗口在边缘方向无变化。在角点处,窗口在各个方向都有变化。算法利用这一直观的物理现象,通过窗口在各个方向上的变化程度,决定是否为角点。图像窗口平移[u,v]产生的灰度变化E(u,v)由图像差分得到,具体公式如下:
其中,E(u,v)=∑x,yw(x,y)[I(x+u,y+v)-I(x,y)]2,I(x+u,y+v)=I(x,y)+Ixu+Iyv+O(u2,v2),对于局部微小的移动量[u,v],公式E(u,v)可近似表达为:
其中M为大小2×2的矩阵,可通过图像的导数求得:
通过对自相关矩阵M进行特征值分析,得到两个特征值(λ0,λ1),若较小的一个大于最小阈值,则会得到强角点。算法定义角点响应函数R为:
R=λ0λ1-k(λ0+λ1)2
对R进行阈值处理,满足R>threshold、即为R的局部极大值的,为符合条件的角点。利用上述检测算法可以快速的确定关节点。
4、如权利要求1所述的笔划交互式的人体骨架重建技术,其特征在于,所述步骤S3具体包括以下处理:
人体可被视为由长条形部位(手臂,大腿等)和关节(肩关节,肘关节等)组合而成,长条形的骨骼可以视为刚体,在任何时刻都不发生形变,即是说人体骨架可被视作一个由关节点连接的刚体的集合。本发明的关键功能是将存在结构错误的关节纠正,这里的错误包含比例错误和角度错误。为了便于与标准骨架模板的对比以及对相关关节点的调节,设立“关节段”的概念,关节段为从远离root点的关节指向靠近root点的关节的向量。首先检测各关节间的比例,根据人体的生理学特征,规定各个关节段与单位长度的比例范围。然后依次检查图像中骨骼的各个关节段的长度是否符合规范,并记录需要修改的关节段信息。对于需要修改的关节段,根据原始长度、设定长度、原坐标求得新坐标,而对于含有子关节的关节点(如肩关节、肘关节、膝关节等),同时对子关节坐标进行平移操作。
完成关节比例的调节后,然后调整关节的角度。人体各个关节的角度活动范围是相似的,由人体解剖学知识得到关节间夹角范围,根据夹角范围自动调整关节点的位置。同时还有些特殊情况需要注意,对于上下臂的夹角,即手臂上举时,虽然两个关节段的夹角符合规则,但如果小臂关节处在大臂的外侧,仍旧是不满足正常人体关节运动的标准的,需要将下臂旋转一定的角度,使其夹角变为0度。并且在旋转一些关节时,需要考虑其子关节的连带旋转,子关节的旋转轴、旋转角度与父关节相同。
5、如权利要求1所述的笔划交互式的人体骨架重建技术,其特征在于,所述步骤S4具体包括以下处理:
显然,由于二维图像中的人体骨架的自由度小于三维人体模型的自由度,根据单张静态图像生成三维数据必定会存在歧义性问题,对于一副二维人体骨架,会有多副三维人体骨架的投影与其相同。
假设采用缩放正交投影的相机模型,即图像坐标q=(u,v)与世界坐标q=(x,y,z)之间有如下转换关系:
由于X和Y的世界坐标可以直接从图像平面获得,所剩下的工作只有求得每个关节点的Z坐标。
假设图像中一个关节段的上下端点分别为和q1和q2,那么p1和p2之间的Z坐标距离差可以使用如下公式获得:
其中l为骨骼的长度,s为图像平面坐标与世界坐标之间的缩放参数。本技术,s由图像中颈部至腰部的关节长度与标准骨架长度的比值获得,通过上述公式计算的dZ有两个可能的解,即上面阐述过的姿态歧义性。
由于每一个关节的位置都能产生下一个关节位置的两个解,故使用二叉树来呈现解空间。三维骨架Z值二叉树的生成顺序大致由颈部到关节的距离决定,具体顺序为:右肩、左肩、腰部、右肘、左肘、右手、左手、右膝、左膝、右足、左足。二叉树有n层,n代表了包含颈部关节的所有关节的数量。
二叉树中,每一个结点都有与所得z值对应的两个后继结点,在第i层中(0≤i≤11),共有2i个结点,表示2i种可能的解。从第0层到第11层的一条路径就定义了一种可能的骨架姿势。可以得到,在这颗二叉树中,共有211=2048条路径,即2048种身体姿势。
在上一步中生成的2048种姿势中,有大量组合是不合理的,可以根据物理约束条件来去除。物理约束主要是(1)关节的角度活动范围;(2)关节之间的距离。为了应用物理约束条件,本发明定义了新的坐标系,用于判定姿势的合理性。令颈部指向腰部关节的向量作为y轴,与其垂直、指向左肩附近方向的向量作为x轴,x轴与y轴的叉积作为z轴。
人体关节有四种不同的角度,分别为(1)屈曲(flexion)/伸展(extension);(2)外展(abduction)/内收(adduction);(3)旋转(rotation);(4)弯曲(bending)。这些活动的角度范围存在个体差异,但也有着通用的范围。
针对肩关节,首先指定从肩膀指向肘部的向量为上臂,假设在yz平面的投影为 在xy平面的投影为定义两个角度:θ=从y轴到的夹角,φ=从y轴到的夹角,两者范围均为0°-180°。对于左右肩关节,都有如下事实规则:如果θ是顺时针方向,则该角度为屈曲类型,否则为伸展类型。同理,对于右肩,如果φ是正方向则为外展类型,否则为内收;对于左肩,若φ是负方向则为外展,否则为内收。
一般而言考察盆骨处的角度会更加精确,但是由于我们的技术采用的骨架模板将盆骨处简化为单一的腰部关节,因此将两膝的连线与x轴的夹角近似认作腰部转动的角度。若角度超过30°,判定其不合理。
最后距离约束一方面在重建过程中确定关节点的坐标,另一方面用于减少关节点可能的组合方案。在剔除明显不合理的三维骨架组合后,仍然剩下一定数量的骨架,本发明使用一组偏好值来对剩余骨架进行排序,得到结构更稳定的组合作为最终结果展现给用户。偏好值代表着给定姿势的自然程度,通过每一个关节的个别偏好值相乘得到。即便是判定合理的关节角度,也存在着比其他更自然的一部分,即是说每一个关节的角度都存在着用户倾向于选择的角度[35]。在实现过程中,本发明规定合理范围的中值为用户偏爱的角度。令偏好值与投影得到的关节角度和偏好角度之间的差呈负相关,角度差越小,偏好值越高,意味着结构趋向于稳定。最终,偏好值最高的一副骨架将作为结果输出。
附图说明
图1表示对初始的图像进行骨骼化处理,包括细化和过滤图像,图(a)为初始图像,图(b)为经过细化和过滤操作后的图像。
图2为交叉点和端点的删除。图(a)为删除前的图像,图(b)表示删除后的图像。
图3给出了确定骨骼关节点的条件信息。
图4为关节段的编号图。
图5给出了图4中各个关节段的合理长度。
图6给出了各个关节之间夹角的合理范围。
图7展示了关节角度之间的特殊情况。
图8展示了标准骨架关节的长度。
图9为关节顺序的二叉树结构。
图10为骨骼纠正结果展示。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
S1、获取人体的骨骼图像,并对图像进行预处理,从图像中提取提出人体骨架,因此需要对图像进行骨骼化处理。手动选定骨架中的root关节点。
通过用户手绘骨骼的方式,获取初始的骨骼图像,并且标定root(颈部)关节点的粗略位置,然后对该图像进行骨骼化处理。本发明利用并行快速细化算法对原始骨骼图进行细化处理,细化完成后,还对骨架进行过滤操作,使得任意两个目标点不紧邻,方便检测特征点。
图1(a)为用户手绘的人体骨骼图,图1(b)表示利用算法对原图进行细化和过滤操作后得到人体骨骼图。
S2、关节点定位,从人体骨架中确定关节点信息。
角点的检测是确定关节点的重要步骤,它关系到关节点位置的准确性、唯一性。骨架中的交叉点、端点和其他角点均有可能为关节点。首先检测交叉点和端点,确定头、双手、双足、颈部、腰部这7个关节点,再确定角点中其它关节点。
显然,在骨架中,一定范围内目标点个数较多,可以判定中心点为交叉点,个数较少,可以判定中心点为端点。基于此,进行如下过程:确定卷积邻域范围,本发明中为6×6的圆形范围;统计卷积范围内目标点个数,若个数大于上限阈值,则为交叉点,若个数小于下限阈值,那么为端点;对检测出的点进行合并,若两点之间距离极近,取平均值。图2展示了删减的效果,从(b)中可以看出删除了大量冗余的端点和交叉点。而对于剩余的角点采用Shi-Tomasi角点检测算法设定角点最大数目为15,两个角点之间的距离容忍度大致为头部到颈部关节的距离。当一个窗口在图像上移动时,在平滑区域,窗口在各个方向上没有变化;在边缘部分,窗口在边缘方向无变化;在角点处,窗口在各个方向都有变化。算法利用这一直观的物理现象,通过窗口在各个方向上的变化程度,决定是否为角点。
找到交叉点和端点后,进行部分关节的确定。计算角点与用户设定的根点(root关节点)之间的距离,将角点按照距离远近进行排序,距离最近的为真实的根点(颈部关节点),之后根据方位和距离依次确定头部、腰部、双手、双足的关节点,这7个关节点需要满足的条件如图3(a)所示,然后进行左右肩、肘部、膝盖关节点的确定,需要根据方向和距离信息确定其余的关节点,根据图3(b)图中给出的条件,可以大致确定这些关节点的位置,但仍存在肘部、膝盖、肩关节无法确定的可能性,尤其是当用户绘制的骨架四肢较为平滑时,角点检测无法识别出这些关节。因此,还规定了一套检查方案,用以弥补该漏洞。
S3、纠正有错误的关节点,包括关节段长度以及角度的修改。
为了便于与标准骨架模板的对比以及对相关关节点的调节,设立“关节段”的概念,关节段为从远离root点的关节指向靠近root点的关节的向量,本文使用的骨架中共有12个关节段,关节段编号如图4所示。然后根据人体的生理学特征,规定各个关节段与单位长度的比例范围,如图5所示,si表示序号为i的关节段的长度,单位长度uL设定为头部(head)至颈部关节(root)的距离。系统依次检查各个关节段的长度是否符合规范,并记录需要修改的关节段信息。对于需要修改的关节段,根据原始长度、设定长度、原坐标求得新坐标,而对于含有子关节的关节点(如肩关节、肘关节、膝关节等),同时对子关节坐标进行平移操作。
然后人体解剖学知识得到关节间夹角范围,如图6所示,其中θi-j表示关节段i与j之间的夹角,采用角度制。对于上下臂的夹角,还有一种特殊情况,即手臂上举时,虽然两个关节段的夹角符合规则,但如果小臂关节处在大臂的外侧,如图7所示,仍旧是不满足正常人体关节运动的标准的,需要将下臂旋转θ角度,使其夹角变为0度。
S4、利用纠正后的二维骨架生成对应的三维骨架。
显然,由于二维图像中的人体骨架的自由度小于三维人体模型的自由度,根据单张静态图像生成三维数据必定会存在歧义性问题,对于一副二维人体骨架,会有多副三维人体骨架的投影与其相同。假设图像中一个关节段的上下端点分别为q1和q2,那么p1和p2之间的Z坐标距离差可以使用如下公式获得:
其中l为骨骼的长度,s为图像平面坐标与世界坐标之间的缩放参数。本文中,s由图像中颈部至腰部的关节长度与标准骨架长度的比值获得,标准人体骨架关节长度见图8。上面的公式表明dZ有两个可能的解,即上文阐述过的姿态歧义性。本文发明将保留所有的解,之后再进行筛选。
由于每一个关节的位置都能产生下一个关节位置的两个解,故使用二叉树来呈现解空间。三维骨架Z值二叉树的生成顺序大致由颈部到关节的距离决定,具体顺序为:右肩、左肩、腰部、右肘、左肘、右手、左手、右膝、左膝、右足、左足,树的结构见图9。二叉树有n层,n代表了包含颈部关节的所有关节的数量,n=12。二叉树中,每一个结点都有与所得z值对应的两个后继结点,在第i层中(0≤i≤11),共有2i个结点,表示2i种可能的解。从第0层到第11层的一条路径就定义了一种可能的骨架姿势。可以得到,在这颗二叉树中,共有211=2048条路径,即2048种身体姿势。然后剔除明显不合理的三维骨架组合后,最后使用一组偏好值来对剩余骨架进行排序,得到结构更稳定的组合作为最终结果展现给用户。
在图10中给出了5组骨骼纠正的结果图,本发明高效的纠正了骨骼图中存在的关节错误。
Claims (5)
1.本发明提供了一个能够快速纠正图像中人体骨架的技术,包括如下步骤:
S1、获取人体的骨骼图像,并对图像进行预处理,从图像中提取提出人体骨架,因此需要对图像进行骨骼化处理。手动选定骨架中的root关节点。
S2、关节点定位,从人体骨架中确定关节点信息。
S3、纠正有错误的关节点,包括关节段长度以及角度的修改。
S4、利用纠正后的二维骨架生成对应的三维骨架。
2.如权利要求1所述的笔划交互式的人体骨架重建技术,其特征在于,所述步骤S1具体包括以下处理:
首先利用所开发的绘画系统绘制人体的骨骼图,然后需要对输入的图像进行预处理,即骨骼化。骨骼化操作使用并行速细化算法,该算法具有速度快、保持细化后曲线的连通性等优点。该算法用3*3大小的卷积处理图像中的每一个像素点,主要用于处理灰度图像,既像素值只包含0和1的图像。假设像素点p1的8个领域的像素值如矩阵所示,该算法首先删除同时满足下列条件的像素点:(1)2≤N(P1)≤6;(2)S(P1)=1;(3)P2×P4×P6=0;(4)P4×P6×P8=0;其中,N(P1)表示领域中非零像素值的个数,S(P1)是以P2,P3,…,P9的顺序逆时针遍历该矩阵像素值从0变到1的次数。然后该算法删除同时满足以下条件的像素点:(1)2≤N(P1)≤6;(2)S(P1)=1;(3)P2×P4×P8=0;(4)P2×P6×P8=0;以上两步操作构成一次迭代,算法将持续迭代至没有满足标记条件的点为止,此时剩余的点组成的区域即为细化所得骨架。细化完成后,还对骨架进行过滤操作,使得任意两个目标点不紧邻,方便下一步检测特征点。过滤规则为:如果P2+P3+P8+P9≥1,则该像素点可以删除。得到人体的骨架后,手动选取root关节点,通常选取颈部的关节点。
3.如权利要求1所述的笔划交互式的人体骨架重建技术,其特征在于,所述步骤S2具体包括以下处理:
角点的检测是确定关节点的重要步骤,它关系到关节点位置的准确性、唯一性。骨架中的交叉点、端点和其他角点均有可能为关节点。首先检测交叉点和端点,确定头、双手、双足、颈部、腰部这7个关节点,再确定角点中其它关节点。
显然,在骨架中,一定范围内目标点个数较多,可以判定中心点为交叉点,个数较少,可以判定中心点为端点。基于此,进行如下过程:确定卷积邻域范围,本发明中为6×6的圆形范围;统计卷积范围内目标点个数,若个数大于上限阈值,则为交叉点,若个数小于下限阈值,则为端点;对检测出的点进行合并,若两点之间距离极近,取平均值。
对于剩余角点,采用Shi-Tomasi角点检测算法,设定角点最大数目为15,两个角点之间的距离容忍度大致为头部到颈部关节的距离。当一个窗口在图像上移动时,在平滑区域,窗口在各个方向上没有变化。在边缘部分,窗口在边缘方向无变化。在角点处,窗口在各个方向都有变化。算法利用这一直观的物理现象,通过窗口在各个方向上的变化程度,决定是否为角点。图像窗口平移[u,v]产生的灰度变化E(u,v)由图像差分得到,具体公式如下:
其中,E(u,v)=∑x,yw(x,y)[I(x+u,y+v)-I(x,y)]2,I(x+u,y+v)=I(x,y)+Ixu+Iyv+O(u2,v2),对于局部微小的移动量[u,v],公式E(u,v)可近似表达为:
其中M为大小2×2的矩阵,可通过图像的导数求得:
通过对自相关矩阵M进行特征值分析,得到两个特征值(λ0,λ1),若较小的一个大于最小阈值,则会得到强角点。算法定义角点响应函数R为:
R=λ0λ1-k(λ0+λ1)2
对R进行阈值处理,满足R>threshold、即为R的局部极大值的,为符合条件的角点。利用上述检测算法可以快速的确定关节点。
4.如权利要求1所述的笔划交互式的人体骨架重建技术,其特征在于,所述步骤S3具体包括以下处理:
人体可被视为由长条形部位(手臂,大腿等)和关节(肩关节,肘关节等)组合而成,长条形的骨骼可以视为刚体,在任何时刻都不发生形变,即是说人体骨架可被视作一个由关节点连接的刚体的集合。本发明的关键功能是将存在结构错误的关节纠正,这里的错误包含比例错误和角度错误。为了便于与标准骨架模板的对比以及对相关关节点的调节,设立“关节段”的概念,关节段为从远离root点的关节指向靠近root点的关节的向量。首先检测各关节间的比例,根据人体的生理学特征,规定各个关节段与单位长度的比例范围。然后依次检查图像中骨骼的各个关节段的长度是否符合规范,并记录需要修改的关节段信息。对于需要修改的关节段,根据原始长度、设定长度、原坐标求得新坐标,而对于含有子关节的关节点(如肩关节、肘关节、膝关节等),同时对子关节坐标进行平移操作。
完成关节比例的调节后,然后调整关节的角度。人体各个关节的角度活动范围是相似的,由人体解剖学知识得到关节间夹角范围,根据夹角范围自动调整关节点的位置。同时还有些特殊情况需要注意,对于上下臂的夹角,即手臂上举时,虽然两个关节段的夹角符合规则,但如果小臂关节处在大臂的外侧,仍旧是不满足正常人体关节运动的标准的,需要将下臂旋转一定的角度,使其夹角变为0度。并且在旋转一些关节时,需要考虑其子关节的连带旋转,子关节的旋转轴、旋转角度与父关节相同。
5.如权利要求1所述的笔划交互式的人体骨架重建技术,其特征在于,所述步骤S4具体包括以下处理:
显然,由于二维图像中的人体骨架的自由度小于三维人体模型的自由度,根据单张静态图像生成三维数据必定会存在歧义性问题,对于一副二维人体骨架,会有多副三维人体骨架的投影与其相同。
假设采用缩放正交投影的相机模型,即图像坐标q=(u,v)与世界坐标q=(x,y,z)之间有如下转换关系:
由于X和Y的世界坐标可以直接从图像平面获得,所剩下的工作只有求得每个关节点的Z坐标。
假设图像中一个关节段的上下端点分别为和q1和q2,那么p1和p2之间的Z坐标距离差可以使用如下公式获得:
其中l为骨骼的长度,s为图像平面坐标与世界坐标之间的缩放参数。本技术,s由图像中颈部至腰部的关节长度与标准骨架长度的比值获得,通过上述公式计算的dZ有两个可能的解,即上面阐述过的姿态歧义性。
由于每一个关节的位置都能产生下一个关节位置的两个解,故使用二叉树来呈现解空间。三维骨架Z值二叉树的生成顺序大致由颈部到关节的距离决定,具体顺序为:右肩、左肩、腰部、右肘、左肘、右手、左手、右膝、左膝、右足、左足。二叉树有n层,n代表了包含颈部关节的所有关节的数量。
二叉树中,每一个结点都有与所得z值对应的两个后继结点,在第i层中(0≤i≤11),共有2i个结点,表示2i种可能的解。从第0层到第11层的一条路径就定义了一种可能的骨架姿势。可以得到,在这颗二叉树中,共有211=2048条路径,即2048种身体姿势。
在上一步中生成的2048种姿势中,有大量组合是不合理的,可以根据物理约束条件来去除。物理约束主要是(1)关节的角度活动范围;(2)关节之间的距离。为了应用物理约束条件,本发明定义了新的坐标系,用于判定姿势的合理性。令颈部指向腰部关节的向量作为y轴,与其垂直、指向左肩附近方向的向量作为x轴,x轴与y轴的叉积作为z轴。
人体关节有四种不同的角度,分别为(1)屈曲(flexion)/伸展(extension);(2)外展(abduction)/内收(adduction);(3)旋转(rotation);(4)弯曲(bending)。这些活动的角度范围存在个体差异,但也有着通用的范围。
针对肩关节,首先指定从肩膀指向肘部的向量为上臂,假设在yz平面的投影为 在xy平面的投影为定义两个角度:θ=从y轴到的夹角,两者范围均为0°-180°。对于左右肩关节,都有如下事实规则:如果θ是顺时针方向,则该角度为屈曲类型,否则为伸展类型。同理,对于右肩,如果是正方向则为外展类型,否则为内收;对于左肩,若φ是负方向则为外展,否则为内收。
一般而言考察盆骨处的角度会更加精确,但是由于我们的技术采用的骨架模板将盆骨处简化为单一的腰部关节,因此将两膝的连线与x轴的夹角近似认作腰部转动的角度。若角度超过30°,判定其不合理。
最后距离约束一方面在重建过程中确定关节点的坐标,另一方面用于减少关节点可能的组合方案。在剔除明显不合理的三维骨架组合后,仍然剩下一定数量的骨架,本发明使用一组偏好值来对剩余骨架进行排序,得到结构更稳定的组合作为最终结果展现给用户。偏好值代表着给定姿势的自然程度,通过每一个关节的个别偏好值相乘得到。即便是判定合理的关节角度,也存在着比其他更自然的一部分,即是说每一个关节的角度都存在着用户倾向于选择的角度。在实现过程中,本发明规定合理范围的中值为用户偏爱的角度。令偏好值与投影得到的关节角度和偏好角度之间的差呈负相关,角度差越小,偏好值越高,意味着结构趋向于稳定。最终,偏好值最高的一副骨架将作为结果输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110492691.1A CN115311406A (zh) | 2021-05-07 | 2021-05-07 | 一种笔划交互式的人体骨架重建技术 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110492691.1A CN115311406A (zh) | 2021-05-07 | 2021-05-07 | 一种笔划交互式的人体骨架重建技术 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115311406A true CN115311406A (zh) | 2022-11-08 |
Family
ID=83854203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110492691.1A Pending CN115311406A (zh) | 2021-05-07 | 2021-05-07 | 一种笔划交互式的人体骨架重建技术 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115311406A (zh) |
-
2021
- 2021-05-07 CN CN202110492691.1A patent/CN115311406A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5330579B2 (ja) | 階層型構成要素ベースの物体認識 | |
Siddiqui et al. | Human pose estimation from a single view point, real-time range sensor | |
Aggarwal et al. | Nonrigid motion analysis: Articulated and elastic motion | |
US9189855B2 (en) | Three dimensional close interactions | |
JP5931215B2 (ja) | 姿勢を推定する方法及び装置 | |
Boisvert et al. | Three-dimensional human shape inference from silhouettes: reconstruction and validation | |
JP2019096113A (ja) | キーポイントデータに関する加工装置、方法及びプログラム | |
US20140300597A1 (en) | Method for the automated identification of real world objects | |
CN112379773B (zh) | 多人三维动作捕捉方法、存储介质及电子设备 | |
Rehg et al. | Ambiguities in visual tracking of articulated objects using two-and three-dimensional models | |
Zou et al. | Automatic reconstruction of 3D human motion pose from uncalibrated monocular video sequences based on markerless human motion tracking | |
Chen et al. | 3D reconstruction of unstructured objects using information from multiple sensors | |
EP3801201A1 (en) | Measuring surface distances on human bodies | |
Krahnstöver et al. | Automatic acquisition and initialization of articulated models | |
WO2022018811A1 (ja) | 被写体の3次元姿勢推定装置、3次元姿勢推定方法、及びプログラム | |
He | Generation of human body models | |
Pham et al. | Robust real-time performance-driven 3D face tracking | |
Krahnstoever et al. | Articulated models from video | |
Cohen et al. | 3D body reconstruction for immersive interaction | |
CN116580148A (zh) | 一种基于人体点云与测量参数的参数化人体模型拟合方法 | |
CN115311406A (zh) | 一种笔划交互式的人体骨架重建技术 | |
Wang et al. | Markerless body motion capturing for 3d character animation based on multi-view cameras | |
Yu et al. | Connectivity Based Human Body Modeling from Monocular Camera. | |
US20240013415A1 (en) | Methods and systems for representing a user | |
Mukasa et al. | Complex human motion estimation using visibility |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |