CN113609999B - 基于姿态识别的人体模型建立方法 - Google Patents
基于姿态识别的人体模型建立方法 Download PDFInfo
- Publication number
- CN113609999B CN113609999B CN202110903661.5A CN202110903661A CN113609999B CN 113609999 B CN113609999 B CN 113609999B CN 202110903661 A CN202110903661 A CN 202110903661A CN 113609999 B CN113609999 B CN 113609999B
- Authority
- CN
- China
- Prior art keywords
- module
- gesture
- human body
- network
- joint
- 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 35
- 238000001514 detection method Methods 0.000 claims abstract description 38
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 27
- 238000012545 processing Methods 0.000 claims abstract description 18
- 230000009466 transformation Effects 0.000 claims abstract description 13
- 210000003205 muscle Anatomy 0.000 claims description 30
- 238000004364 calculation method Methods 0.000 claims description 17
- 230000001133 acceleration Effects 0.000 claims description 16
- 238000010586 diagram Methods 0.000 claims description 14
- 230000004913 activation Effects 0.000 claims description 12
- 238000012549 training Methods 0.000 claims description 11
- 230000008030 elimination Effects 0.000 claims description 9
- 238000003379 elimination reaction Methods 0.000 claims description 9
- 238000005265 energy consumption Methods 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 9
- 238000005259 measurement Methods 0.000 claims description 8
- 238000005070 sampling Methods 0.000 claims description 8
- 230000004927 fusion Effects 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000005457 optimization Methods 0.000 claims description 6
- 230000001629 suppression Effects 0.000 claims description 5
- 238000007792 addition Methods 0.000 claims description 3
- 210000000746 body region Anatomy 0.000 claims description 3
- 230000037396 body weight Effects 0.000 claims description 3
- 210000004027 cell Anatomy 0.000 claims description 3
- 230000008014 freezing Effects 0.000 claims description 3
- 238000007710 freezing Methods 0.000 claims description 3
- 238000003064 k means clustering Methods 0.000 claims description 3
- 238000007477 logistic regression Methods 0.000 claims description 3
- 210000001087 myotubule Anatomy 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 238000004088 simulation Methods 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 claims description 3
- 238000013461 design Methods 0.000 abstract description 2
- 210000001503 joint Anatomy 0.000 description 7
- 230000005021 gait Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 210000002310 elbow joint Anatomy 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Abstract
本发明公开了一种基于姿态识别的人体模型建立方法,包括获取人体模型基础数据;采用检测网络检测得到检测模型;采用姿态检测算法进行二维姿态估计得到估计模型;对估计模型进行对称空间变换提取单人区域;对单人区域进行检测冗余处理得到人体姿态估计以及人体关节点的像素坐标;进行关节角度的运动信息计算和建立人体模型。本发明提供的这种基于姿态识别的人体模型建立方法,通过创新性的算法设计对人体模型进行建立,从而保证了算法本身的可靠性高,而且本发明方法准确性好且易于实施。
Description
技术领域
本发明具体涉及一种基于姿态识别的人体模型建立方法。
背景技术
随着经济技术的发展和人们生活水平的提高,人们对于健康的关注程度也越来越高。因此,对于人体步态的分析和人体模型的建模,就显得尤为重要。对于人体步态分析和建模的方法,目前主要是基于计算机视觉的步态分析技术和基于MEMS惯性传感器的步态分析技术两种。
基于计算机视觉2D摄像头的动作捕捉系统,主要采用卷积神经网络捕获特定关节点的特征,从而凸显相关关节的坐标,进行人体的二维建模。该方法需要采集大量的数据样本作为训练数据集,同时不能有摄像头的遮挡。因此实施起来并不方便。
而基于MEMS惯性传感器的步态分析系统,主要由多个MEMS惯性传感器组成,人体关节每个测量部位都穿戴惯性传感器,惯性传感器会反馈在运动过程中的角速度,加速度,磁力值以及运动姿态角度等测量信息,同时设置基于加速度传感器,陀螺仪,磁力计的数据融合算法,利用正向运动学和反向运动学实时推测出整个人身体的运动参数。该方法的缺点是,惯性传感器在每次测量前都需要校准,且校准后不能移动相关传感器的位置,同时传感器容易受到周围磁场的干扰,对于普通患者而言操作较复杂。
发明内容
本发明的目的在于提供一种可靠性高、准确性好且易于实施的基于姿态识别的人体模型建立方法。
本发明提供的这种基于姿态识别的人体模型建立方法,包括如下步骤:
S1.获取人体模型基础数据;
S2.对步骤S1获取的人体模型基础数据采用检测网络进行检测,并得到检测模型;
S3.对步骤S2得到的检测模型,采用姿态检测算法进行二维姿态估计,从而得到估计模型;
S4.对步骤S3得到的估计模型进行对称空间变换,从而提取单人区域;
S5.对步骤S4得到的单人区域进行检测冗余的处理,从而得到人体姿态估计以及人体关节点的像素坐标;
S6.根据步骤S5得到的像素坐标,进行关节角度的运动信息计算;
S7.根据步骤S6得到的计算结果,建立人体模型。
步骤S2所述的对步骤S1获取的人体模型基础数据采用检测网络进行检测,具体为采用YOLO v3检测网络检测人体。
所述的采用YOLO v3检测网络检测人体,具体为采用如下步骤进行检测:
通过Darknet53网络对输入数据进行特征提取,得到特定大小的特征图输出;然后将得到的图像分成13*13的网格大小,同时规定若真实框中某个物体的中心坐标落在某个网格中,那么就由该网格来预测该物体;同时,每个物体由三个边界框进行预测,使用逻辑回归网络确定预测的回归框;
在YOLO v3检测网络中,YOLO v3_body共有252层,其中23个res_unit层对应23个add层,BN层共72层,LeakyReLu层共72层;每一层BN层后面均连接一层LeakyReLu层;此外,上采样和张量拼接操作各2个,5个零填充对应5个res_block;
YOLO v3使用一个53层的卷积网络作为特征提取网络;特征提取网络残差单元叠加而成,同时采用k-means聚类算法确定bounding box的初始尺寸;同时使用9个默认框,每个默认框与不同尺寸特征图对应关系为:13*13的feature map对应[(116*90),(156*198),(373*326)],26*26的feature map对应[(30*61),(62*45),(59*119)],52*52的featuremap对应[(10*13),(16*30),(33*23)];
YOLO v3采用直接预测相对位置的方法,预测出b-box中心点相对于网格单元左上角的相对坐标,直接预测出(tx,ty,tw,th,to),然后通过以下坐标偏移公式计算得到b-box的位置大小和置信度:
bx=σ(tx)+cx
by=σ(ty)+cy
pr(object)*IOU(b,object)=σ(to)
式中(tx,ty,tw,th,to)为模型的预测输出;cx和cy为网格的坐标;和ph为预测前bounding box的尺寸;/>为预测得到的bounding box的中心坐标和尺寸;训练坐标值时,采用平方和距离误差损失进行训练;
YOLO v3为每个真实对象分配一个边界框;若边界框与真实对象不吻合,则不会产生坐标或类别预测损失,只会产生物体预测损失;
YOLO v3采用若干个独立的logistic分类器解决多标签分类问题;
YOLO v3采用若干个尺度融合进行预测,同时采用上采样和融合算法,在若干个尺度的特征图上进行检测。
步骤S3所述的采用姿态检测算法进行二维姿态估计,具体为采用stackedhourglass姿态检测算法进行二维姿态估计。
所述的采用stacked hourglass姿态检测算法进行二维姿态估计,具体为采用如下步骤进行估计:
采用4阶hourglass module模块;
每次降采样之前,分出上半路保留原尺度信息;
每次升采样之后,和上一尺度的数据相加;
两次降采样之间,使用三个residual模块提取特征;
两次相加之间,使用一个residual模块提取特征;
将feature map层层叠加,最后一个大的feature map保留所有层的信息;
最后该网络得到每个关节点的heatmap,并组合hourglass;
将第一个沙漏网络给出的热力图作为下一个沙漏网络的输入,从而提升了关节点的预测精度。
所述的4阶hourglass module模块,具体为采用如下步骤构建4阶hourglassmodule模块:
a.构造一阶hourglass module模块:一阶hourglass module模块包括max pool模组、第一res模组、第二res模组、第三res模组、up Sample模组和第四res模组;其中maxpool模组、第一res模组、第二res模组、第三res模组和up Sample模组串联,第四res模组的输入端连接模块输入端,第四res模组的输出端连接模块输出端;
b.将一阶hourglass module模块替换一阶hourglass module模块中的第二res模组,从而得到二阶hourglass module模块;
c.将步骤b得到的二阶hourglass module模块替换一阶hourglass module模块中的第二res模组,从而得到三阶hourglass module模块;
d.将步骤c得到的三阶hourglass module模块替换一阶hourglass module模块中的第二res模组,从而得到最终的四阶hourglass module模块。
步骤S4所述的对步骤S3得到的估计模型进行对称空间变换,具体为采用如下步骤进行对称空间变换:
空间转换网络STN能够将输入的图片进行空间变换;
空间逆变换网络SDTN将估计的人体姿势重新映射回原始图像坐标;
SDTN模块接收一个由定位网络生成的参数θ,然后反向转换计算参数γ;
使用STN网络提取一个人体区域框:
其中θ1、θ2和θ3为二维空间向量;和/>为转换前的坐标;/>和/>为转换后的坐标;
SDTN网络为反向转换和生成网格计算参数γ:
并行单人人体姿态网络SPPE:为了训练STN模块的参数,通过在数据集中指定位于中心的姿势标签,同时在训练阶段冻结并行sppe模块的所有权重,其目的是将姿态定位后产生的误差反向传播到stn模块;
Parallel SPPE只有在训练阶段才会产生作用。
步骤S5所述的进行检测冗余的处理,具体为采用基于姿态的非最大值抑制p-PoseNMS算法进行处理。
所述的采用基于姿态的非最大值抑制p-Pose NMS算法进行处理,具体为采用如下步骤进行处理:
根据消除准则将靠近该参考的区域框进行删除,重复若干次,直到冗余的识框被消除并且每个识别框均唯一;
具有m个关节的姿势Pi表示为其中/>为第j个关节的位置,/>为第j个关节的置信分数;
消除法则:定义姿态相似度,d()作为姿态之间的距离度量,定义η作为消除标准的阈值,Λ表示函数d()的参数集合:
该等式的意义为:将姿态Pi与参考姿态Pj做距离度量计算,d(Pi,Pj|Λ,λ)代表姿态Pi和姿态Pj的距离度量值,f(Pi,Pj|Λ,η);若d(Pi,Pj|Λ,λ)≤η,则f(Pi,Pj|Λ,η)取值为1,同时表示参考姿势Pi冗余,需要被消除;
姿态距离软匹配函数:
式中Ksim(Pi,Pj|σ1)为姿态Pi和姿态Pj的匹配函数;为姿态Pi中每个关节的置信分数;σ1为归一化参数,对每个关节的置信分数归一化到一个统一的变化范围;/>为姿态Pj中某一个关节的位置;/>为姿态Pi中某个关节的位置,/>为预测姿态Pi中某个关节的检测框位置;如果姿态Pj中某个关节的位置在预测姿态Pi的检测框内,则对姿态Pi和Pj进行匹配函数的计算;姿态距离软匹配函数通过tanh函数进行过滤掉低置信度分数的姿态,如果两个对应的关节都具有高置信度分数,则Ksin输出接近1,此时统计这两个相近姿势的对应关节的匹配数量;同时为了计算不同姿态的距离度量,需要计算不同姿态的对应空间距离;
空间距离可以定义为:
式中Hsim(Pi,Pj|σ2)为姿态Pi和姿态Pj的空间距离;σ2为归一化参数;
最终距离定义为:
d(Pi,Pj|Λ)=Ksim(Pi,Pj|σ1)+λHsim(Pi,Pj|σ2)
式中λ为加权系数。
步骤S6所述的关节角度的运动信息计算,具体为采用如下算式计算关节角度的运动信息:
式中a为下端点关节点到中间关节点的像素距离;b为上端点关节点到下端点关节点的像素距离;c为上端点关节点到中间关节点的像素距离;B为三个关节点所组成的夹角;取三个相邻关节点组成三角形,(x2,y2)为中间关节点的二维像素坐标,(x1,y1)为上端点的关节点的二维像素坐标,(x3,y3)为下端点的关节点的二维像素坐标。
步骤S7所述的建立人体模型,具体为采用如下步骤建立人体模型:
(1)运动模拟系统的建立;
(2)获取运动学数据;
(3)优化反求肌肉激活,计算能量消耗:
1)对输入的关节角度进行处理,得到目标的关节角加速度:
式中q..(t+T)为t+T时刻的目标角加速度;为表示t+T时刻采集到的运动学数据处理得到的角加速度;kv和kp为控制权重;/>为t时刻的实际角速度;q.(t)为t时刻的目标角速度;qexp(t)为t时刻的实际角度;q(t)为t时刻的目标角度;
2)进行激活优化计算:
式中xi为第i条肌肉激活;nx为肌肉的总数目;nq为目标关节数目;ωj为各个关节所占优化目标的权重;为目标角加速度;/>为实际角加速度;
3)能量消耗估算的计算公式:
式中Mi为每条肌肉的质量;ρ为肌肉密度;Fmax,i为第i块肌肉的肌肉最大等长收缩力;lopt,i为第i块肌肉的最佳肌纤维长度;σ为肌肉张力;Cmet为总体能量消耗;为第i条肌肉某时刻的等效激活;M为体重;/>每时刻基础能量消耗;T为计算消耗的时间区间。
本发明提供的这种基于姿态识别的人体模型建立方法,通过创新性的算法设计对人体模型进行建立,从而保证了算法本身的可靠性高,而且本发明方法准确性好且易于实施。
附图说明
图1为本发明方法的方法流程示意图。
图2为本发明方法的YOLO v3网络的网络示意图。
图3为本发明方法的一阶hourglass module模块的结构示意图。
图4为本发明方法的四阶hourglass module模块的结构示意图。
图5为本发明方法的热力图的结构示意图。
图6为本发明方法的空间转换网络的结构示意图。
具体实施方式
如图1所示为本发明方法的方法流程示意图:本发明提供的这种基于姿态识别的人体模型建立方法,包括如下步骤:
S1.获取人体模型基础数据;
S2.对步骤S1获取的人体模型基础数据采用检测网络进行检测,并得到检测模型;具体为采用YOLO v3检测网络检测人体;
具体实施时,为采用如下步骤进行检测:
通过Darknet53网络对输入数据进行特征提取,得到特定大小的特征图输出;然后将得到的图像分成13*13的网格大小,同时规定若真实框中某个物体的中心坐标落在某个网格中,那么就由该网格来预测该物体;同时,每个物体由三个边界框进行预测,使用逻辑回归网络确定预测的回归框;
在YOLO v3检测网络(如图2所示)中,YOLO v3_body共有252层,其中23个res_unit层对应23个add层,BN层共72层,LeakyReLu层共72层;每一层BN层后面均连接一层LeakyReLu层;此外,上采样和张量拼接操作各2个,5个零填充对应5个res_block;
YOLO v3使用一个53层的卷积网络作为特征提取网络;特征提取网络残差单元叠加而成,同时采用k-means聚类算法确定bounding box的初始尺寸;同时使用9个默认框,每个默认框与不同尺寸特征图对应关系为:13*13的feature map对应[(116*90),(156*198),(373*326)],26*26的feature map对应[(30*61),(62*45),(59*119)],52*52的featuremap对应[(10*13),(16*30),(33*23)];特征图越大,感受野越小,对小目标敏感,特征图越小,感受野越大,对大目标敏感;
YOLO v3采用直接预测相对位置的方法,预测出b-box中心点相对于网格单元左上角的相对坐标,直接预测出(tx,ty,tw,th,to),然后通过以下坐标偏移公式计算得到b-box的位置大小和置信度:
bx=σ(tx)+cx
by=σ(ty)+cy
pr(object)*IOU(b,object)=σ(to)
式中(tx,ty,tw,th,to)为模型的预测输出;cx和cy为网格的坐标;和ph为预测前bounding box的尺寸;/>为预测得到的bounding box的中心坐标和尺寸;训练坐标值时,采用平方和距离误差损失进行训练;
YOLO v3为每个真实对象分配一个边界框;若边界框与真实对象不吻合,则不会产生坐标或类别预测损失,只会产生物体预测损失;
YOLO v3采用若干个独立的logistic分类器解决多标签分类问题;
YOLO v3采用若干个尺度融合进行预测,同时采用上采样和融合算法,在若干个尺度的特征图上进行检测;越精细的网格可以检测出越精细的物体;
S3.对步骤S2得到的检测模型,采用姿态检测算法进行二维姿态估计,从而得到估计模型;具体为采用stacked hourglass姿态检测算法进行二维姿态估计;
具体实施时,采用如下步骤进行估计:
采用4阶hourglass module模块;具体为采用如下步骤构建4阶hourglassmodule模块:
a.构造一阶hourglass module模块(如图3所示):一阶hourglass module模块包括max pool模组、第一res模组、第二res模组、第三res模组、up Sample模组和第四res模组;其中max pool模组、第一res模组、第二res模组、第三res模组和up Sample模组串联,第四res模组的输入端连接模块输入端,第四res模组的输出端连接模块输出端;其中,maxpool代表下采样;up sample代表上采样;
b.将一阶hourglass module模块替换一阶hourglass module模块中的第二res模组,从而得到二阶hourglass module模块;
c.将步骤b得到的二阶hourglass module模块替换一阶hourglass module模块中的第二res模组,从而得到三阶hourglass module模块;
d.将步骤c得到的三阶hourglass module模块替换一阶hourglass module模块中的第二res模组,从而得到最终的四阶hourglass module模块;具体如图4所示;
每次降采样之前,分出上半路保留原尺度信息;
每次升采样之后,和上一尺度的数据相加;
两次降采样之间,使用三个residual模块提取特征;
两次相加之间,使用一个residual模块提取特征;
将feature map层层叠加,最后一个大的feature map保留所有层的信息;
最后该网络得到每个关节点的heatmap,并组合hourglass;
将第一个沙漏网络给出的热力图作为下一个沙漏网络的输入,从而提升了关节点的预测精度;
如图5所示为本发明的热力图的结构示意图;
由于关节点之间是可以互相参考预测的,知道双肩的为之后,可以更好的预测肘部节点。既然热力图代表了输入对象的所有关节点,那么热力图就包含了所有关节点的相互关系,所以将第一个沙漏网络给出的热力图作为下一个沙漏网络的输入,从而提升了关节点的预测精度;
图5中,n1代表第一个沙漏网络,提取出的混合特征经过1个1*1全卷积网络后,分成上下两个分支,上部分支继续经过1*1卷积后,进入下一个沙漏网络,下部分先经过1*1卷积后,生成heatmap,heatmap继续经过1*1卷积,将depth调整到与上部分支一致,最后与上部分支合并,一起作为下一个沙漏网络的输入;
堆叠沙漏网络的每一个子沙漏网络都有heatmap作为预测,所以将每个沙漏输出的heatmap参与到loss中,预测精度远远好于只考虑一个沙漏预测的loss,这种考虑网络中间部分的监督训练方式,就叫做中间监督,最后网络生成关键点的热图;
S4.对步骤S3得到的估计模型进行对称空间变换,从而提取单人区域;具体为采用如下步骤进行对称空间变换:
空间转换网络STN(如图6所示)能够将输入的图片进行空间变换;
空间逆变换网络SDTN将估计的人体姿势重新映射回原始图像坐标;
SDTN模块接收一个由定位网络生成的参数θ,然后反向转换计算参数γ;
使用STN网络提取一个人体区域框:
其中θ1、θ2和θ3为二维空间向量;和/>为转换前的坐标;/>和/>为转换后的坐标;
SDTN网络为反向转换和生成网格计算参数γ:
并行单人人体姿态网络SPPE:为了训练STN模块的参数,通过在数据集中指定位于中心的姿势标签,同时在训练阶段冻结并行sppe模块的所有权重,其目的是将姿态定位后产生的误差反向传播到stn模块;
Parallel SPPE只有在训练阶段才会产生作用;
S5.对步骤S4得到的单人区域进行检测冗余的处理,从而得到人体姿态估计以及人体关节点的像素坐标;具体为采用基于姿态的非最大值抑制p-PoseNMS算法进行处理;
具体实施时,采用如下步骤进行处理:
根据消除准则将靠近该参考的区域框进行删除,重复若干次,直到冗余的识框被消除并且每个识别框均唯一;
具有m个关节的姿势Pi表示为其中/>为第j个关节的位置,/>为第j个关节的置信分数;
消除法则:定义姿态相似度,d()作为姿态之间的距离度量,定义η作为消除标准的阈值,Λ表示函数d()的参数集合:
该等式的意义为:将姿态Pi与参考姿态Pj做距离度量计算,d(Pi,Pj|Λ,λ)代表姿态Pi和姿态Pj的距离度量值,f(Pi,Pj|Λ,η);若d(Pi,Pj|Λ,λ)≤η,则f(Pi,Pj|Λ,η)取值为1,同时表示参考姿势Pi冗余,需要被消除;
姿态距离软匹配函数:
式中Ksim(Pi,Pj|σ1)为姿态Pi和姿态Pj的匹配函数;为姿态Pi中每个关节的置信分数;σ1为归一化参数,对每个关节的置信分数归一化到一个统一的变化范围;/>为姿态Pj中某一个关节的位置;/>为姿态Pi中某个关节的位置,/>为预测姿态Pi中某个关节的检测框位置;如果姿态Pj中某个关节的位置在预测姿态Pi的检测框内,则对姿态Pi和Pj进行匹配函数的计算;姿态距离软匹配函数通过tanh函数进行过滤掉低置信度分数的姿态,如果两个对应的关节都具有高置信度分数,则Ksin输出接近1,此时统计这两个相近姿势的对应关节的匹配数量;同时为了计算不同姿态的距离度量,需要计算不同姿态的对应空间距离;
空间距离可以定义为:
式中Hsim(Pi,Pj|σ2)为姿态Pi和姿态Pj的空间距离;σ2为归一化参数;
最终距离定义为:
d(Pi,Pj|Λ)=Ksim(Pi,Pj|σ1)+λHsim(Pi,Pj|σ2)
式中λ为加权系数。
步骤S6所述的关节角度的运动信息计算,具体为采用如下算式计算关节角度的运动信息:
式中a为下端点关节点到中间关节点的像素距离;b为上端点关节点到下端点关节点的像素距离;c为上端点关节点到中间关节点的像素距离;B为三个关节点所组成的夹角;取三个相邻关节点组成三角形,(x2,y2)为中间关节点的二维像素坐标,(x1,y1)为上端点的关节点的二维像素坐标,(x3,y3)为下端点的关节点的二维像素坐标;
步骤S7所述的建立人体模型,具体为采用如下步骤建立人体模型:
(1)运动模拟系统的建立;
(2)获取运动学数据;
(3)优化反求肌肉激活,计算能量消耗:
1)对输入的关节角度进行处理,得到目标的关节角加速度:
式中q..(t+T)为t+T时刻的目标角加速度;为表示t+T时刻采集到的运动学数据处理得到的角加速度;kv和kp为控制权重;/>为t时刻的实际角速度;q.(t)为t时刻的目标角速度;qexp(t)为t时刻的实际角度;q(t)为t时刻的目标角度;
2)进行激活优化计算:
式中xi为第i条肌肉激活;nx为肌肉的总数目;nq为目标关节数目;ωj为各个关节所占优化目标的权重;为目标角加速度;/>为实际角加速度;
3)能量消耗估算的计算公式:
式中Mi为每条肌肉的质量;ρ为肌肉密度;Fmax,i为第i块肌肉的肌肉最大等长收缩力;lopt,i为第i块肌肉的最佳肌纤维长度;σ为肌肉张力;Cmet为总体能量消耗;为第i条肌肉某时刻的等效激活;M为体重;/>每时刻基础能量消耗;T为计算消耗的时间区间。/>
Claims (9)
1.一种基于姿态识别的人体模型建立方法,包括如下步骤:
S1.获取人体模型基础数据;
S2.对步骤S1获取的人体模型基础数据采用检测网络进行检测,并得到检测模型;
S3.对步骤S2得到的检测模型,采用姿态检测算法进行二维姿态估计,从而得到估计模型;
S4.对步骤S3得到的估计模型进行对称空间变换,从而提取单人区域;
S5.对步骤S4得到的单人区域进行检测冗余的处理,从而得到人体姿态估计以及人体关节点的像素坐标;
S6.根据步骤S5得到的像素坐标,进行关节角度的运动信息计算;
S7.根据步骤S6得到的计算结果,建立人体模型;具体为采用如下步骤建立人体模型:
(1)运动模拟系统的建立;
(2)获取运动学数据;
(3)优化反求肌肉激活,计算能量消耗:
1)对输入的关节角度进行处理,得到目标的关节角加速度:
式中q..(t+T)为t+T时刻的目标角加速度;为表示t+T时刻采集到的运动学数据处理得到的角加速度;kv和kp为控制权重;/>为t时刻的实际角速度;q.(t)为t时刻的目标角速度;qexp(t)为t时刻的实际角度;q(t)为t时刻的目标角度;
2)进行激活优化计算:
式中xi为第i条肌肉激活;nx为肌肉的总数目;nq为目标关节数目;ωj为各个关节所占优化目标的权重;为目标角加速度;/>为实际角加速度;
3)能量消耗估算的计算公式:
式中Mi为每条肌肉的质量;ρ为肌肉密度;Fmax,i为第i块肌肉的肌肉最大等长收缩力;lopt,i为第i块肌肉的最佳肌纤维长度;σ为肌肉张力;Cmet为总体能量消耗;为第i条肌肉某时刻的等效激活;M为体重;/>为每时刻基础能量消耗;T为计算消耗的时间区间。
2.根据权利要求1所述的基于姿态识别的人体模型建立方法,其特征在于步骤S2所述的对步骤S1获取的人体模型基础数据采用检测网络进行检测,具体为采用YOLO v3检测网络检测人体;采用如下步骤进行检测:
通过Darknet53网络对输入数据进行特征提取,得到特定大小的特征图输出;然后将得到的图像分成13*13的网格大小,同时规定若真实框中某个物体的中心坐标落在某个网格中,那么就由该网格来预测该物体;同时,每个物体由三个边界框进行预测,使用逻辑回归网络确定预测的回归框;
在YOLO v3检测网络中,YOLO v3_body共有252层,其中23个res_unit层对应23个add层,BN层共72层,LeakyReLu层共72层;每一层BN层后面均连接一层LeakyReLu层;此外,上采样和张量拼接操作各2个,5个零填充对应5个res_block;
YOLO v3使用一个53层的卷积网络作为特征提取网络;特征提取网络残差单元叠加而成,同时采用k-means聚类算法确定bounding box的初始尺寸;同时使用9个默认框,每个默认框与不同尺寸特征图对应关系为:13*13的feature map对应[(116*90),(156*198),(373*326)],26*26的feature map对应[(30*61),(62*45),(59*119)],52*52的featuremap对应[(10*13),(16*30),(33*23)];
YOLO v3采用直接预测相对位置的方法,预测出b-box中心点相对于网格单元左上角的相对坐标,直接预测出(tx,ty,tw,th,to),然后通过以下坐标偏移公式计算得到b-box的位置大小和置信度:
bx=σ(tx)+cx
by=σ(ty)+cy
pr(object)*IOU(b,object)=σ(to)
式中(tx,ty,tw,th,to)为模型的预测输出;cx和cy为网格的坐标;和ph为预测前bounding box的尺寸;/>为预测得到的bounding box的中心坐标和尺寸;训练坐标值时,采用平方和距离误差损失进行训练;
YOLO v3为每个真实对象分配一个边界框;若边界框与真实对象不吻合,则不会产生坐标或类别预测损失,只会产生物体预测损失;
YOLO v3采用若干个独立的logistic分类器解决多标签分类问题;
YOLO v3采用若干个尺度融合进行预测,同时采用上采样和融合算法,在若干个尺度的特征图上进行检测。
3.根据权利要求2所述的基于姿态识别的人体模型建立方法,其特征在于步骤S3所述的采用姿态检测算法进行二维姿态估计,具体为采用stacked hourglass姿态检测算法进行二维姿态估计。
4.根据权利要求3所述的基于姿态识别的人体模型建立方法,其特征在于所述的采用stacked hourglass姿态检测算法进行二维姿态估计,具体为采用如下步骤进行估计:
采用4阶hourglass module模块;
每次降采样之前,分出上半路保留原尺度信息;
每次升采样之后,和上一尺度的数据相加;
两次降采样之间,使用三个residual模块提取特征;
两次相加之间,使用一个residual模块提取特征;
将feature map层层叠加,最后一个大的feature map保留所有层的信息;
最后该网络得到每个关节点的heatmap,并组合hourglass;
将第一个沙漏网络给出的热力图作为下一个沙漏网络的输入,从而提升了关节点的预测精度。
5.根据权利要求4所述的基于姿态识别的人体模型建立方法,其特征在于所述的4阶hourglass module模块,具体为采用如下步骤构建4阶hourglass module模块:
a.构造一阶hourglass module模块:一阶hourglass module模块包括max pool模组、第一res模组、第二res模组、第三res模组、up Sample模组和第四res模组;其中max pool模组、第一res模组、第二res模组、第三res模组和up Sample模组串联,第四res模组的输入端连接模块输入端,第四res模组的输出端连接模块输出端;
b.将一阶hourglass module模块替换一阶hourglass module模块中的第二res模组,从而得到二阶hourglass module模块;
c.将步骤b得到的二阶hourglass module模块替换一阶hourglass module模块中的第二res模组,从而得到三阶hourglass module模块;
d.将步骤c得到的三阶hourglass module模块替换一阶hourglass module模块中的第二res模组,从而得到最终的四阶hourglass module模块。
6.根据权利要求5所述的基于姿态识别的人体模型建立方法,其特征在于步骤S4所述的对步骤S3得到的估计模型进行对称空间变换,具体为采用如下步骤进行对称空间变换:
空间转换网络STN能够将输入的图片进行空间变换;
空间逆变换网络SDTN将估计的人体姿势重新映射回原始图像坐标;
SDTN模块接收一个由定位网络生成的参数θ,然后反向转换计算参数γ;
使用STN网络提取一个人体区域框:
其中θ1、θ2和θ3为二维空间向量;和/>为转换前的坐标;/>和/>为转换后的坐标;
SDTN网络为反向转换和生成网格计算参数γ:
并行单人人体姿态网络SPPE:为了训练STN模块的参数,通过在数据集中指定位于中心的姿势标签,同时在训练阶段冻结并行sppe模块的所有权重,其目的是将姿态定位后产生的误差反向传播到stn模块;
Parallel SPPE只有在训练阶段才会产生作用。
7.根据权利要求6所述的基于姿态识别的人体模型建立方法,其特征在于步骤S5所述的进行检测冗余的处理,具体为采用基于姿态的非最大值抑制p-Pose NMS算法进行处理。
8.根据权利要求7所述的基于姿态识别的人体模型建立方法,其特征在于所述的采用基于姿态的非最大值抑制p-Pose NMS算法进行处理,具体为采用如下步骤进行处理:
根据消除准则将靠近参考的区域框进行删除,重复若干次,直到冗余的识别框被消除并且每个识别框均唯一;
具有m个关节的姿势Pi表示为其中/>为第j个关节的位置,/>为第j个关节的置信分数;
消除法则:定义姿态相似度,d()作为姿态之间的距离度量,定义η作为消除标准的阈值,Λ表示函数d()的参数集合:
该等式的意义为:将姿态Pi与参考姿态Pj做距离度量计算,d(Pi,Pj|Λ,λ)代表姿态Pi和姿态Pj的距离度量值;若d(Pi,Pj|Λ,λ)≤η,则f(Pi,Pj|Λ,η)取值为1,同时表示参考姿势Pi冗余,需要被消除;
姿态距离软匹配函数:
式中Ksim(Pi,Pj|σ1)为姿态Pi和姿态Pj的匹配函数;为姿态Pi中每个关节的置信分数;σ1为归一化参数,对每个关节的置信分数归一化到一个统一的变化范围;/>为姿态Pj中某一个关节的位置;/>为姿态Pi中某个关节的位置,/>为预测姿态Pi中某个关节的检测框位置;如果姿态Pj中某个关节的位置在预测姿态Pi的检测框内,则对姿态Pi和Pj进行匹配函数的计算;
空间距离可以定义为:
式中Hsim(Pi,Pj|σ2)为姿态Pi和姿态Pj的空间距离;σ2为归一化参数;
最终距离定义为:
d(Pi,Pj|Λ)=Ksim(Pi,Pj|σ1)+λHsim(Pi,Pj|σ2)
式中λ为加权系数。
9.根据权利要求8所述的基于姿态识别的人体模型建立方法,其特征在于步骤S6所述的关节角度的运动信息计算,具体为采用如下算式计算关节角度的运动信息:
式中a为下端点关节点到中间关节点的像素距离;b为上端点关节点到下端点关节点的像素距离;c为上端点关节点到中间关节点的像素距离;B为三个关节点所组成的夹角;取三个相邻关节点组成三角形,(x2,y2)为中间关节点的二维像素坐标,(x1,y1)为上端点的关节点的二维像素坐标,(x3,y3)为下端点的关节点的二维像素坐标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110903661.5A CN113609999B (zh) | 2021-08-06 | 2021-08-06 | 基于姿态识别的人体模型建立方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110903661.5A CN113609999B (zh) | 2021-08-06 | 2021-08-06 | 基于姿态识别的人体模型建立方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113609999A CN113609999A (zh) | 2021-11-05 |
CN113609999B true CN113609999B (zh) | 2024-02-20 |
Family
ID=78339792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110903661.5A Active CN113609999B (zh) | 2021-08-06 | 2021-08-06 | 基于姿态识别的人体模型建立方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113609999B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117292085B (zh) * | 2023-11-27 | 2024-02-09 | 浙江大学 | 一种支持三维建模的实体交互控制方法及其装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10121066B1 (en) * | 2017-11-16 | 2018-11-06 | Blast Motion Inc. | Method of determining joint stress from sensor data |
CN109885159A (zh) * | 2019-01-16 | 2019-06-14 | 杭州电子科技大学 | 基于正向动力学与希尔模型的状态空间肌电模型构建方法 |
CN112560741A (zh) * | 2020-12-23 | 2021-03-26 | 中国石油大学(华东) | 一种基于人体关键点的安全穿戴检测方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5771413B2 (ja) * | 2011-03-02 | 2015-08-26 | パナソニック株式会社 | 姿勢推定装置、姿勢推定システム、および姿勢推定方法 |
CN103324938A (zh) * | 2012-03-21 | 2013-09-25 | 日电(中国)有限公司 | 训练姿态分类器及物体分类器、物体检测的方法及装置 |
US20180289324A1 (en) * | 2016-11-29 | 2018-10-11 | Rezvan Kianifar | Automatic assessment of the squat quality and risk of knee injury in the single leg squat |
-
2021
- 2021-08-06 CN CN202110903661.5A patent/CN113609999B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10121066B1 (en) * | 2017-11-16 | 2018-11-06 | Blast Motion Inc. | Method of determining joint stress from sensor data |
CN109885159A (zh) * | 2019-01-16 | 2019-06-14 | 杭州电子科技大学 | 基于正向动力学与希尔模型的状态空间肌电模型构建方法 |
CN112560741A (zh) * | 2020-12-23 | 2021-03-26 | 中国石油大学(华东) | 一种基于人体关键点的安全穿戴检测方法 |
Non-Patent Citations (1)
Title |
---|
基于YOLOv3 的无人机智能社交距离监测系统;赵嘉晴等;《软件》;20201231;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113609999A (zh) | 2021-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11565407B2 (en) | Learning device, learning method, learning model, detection device and grasping system | |
CN110147743B (zh) | 一种复杂场景下的实时在线行人分析与计数系统及方法 | |
CN105069423B (zh) | 一种人体姿态检测方法及装置 | |
JP7057959B2 (ja) | 動作解析装置 | |
Ghezelghieh et al. | Learning camera viewpoint using CNN to improve 3D body pose estimation | |
KR20180057096A (ko) | 표정 인식과 트레이닝을 수행하는 방법 및 장치 | |
CN103324938A (zh) | 训练姿态分类器及物体分类器、物体检测的方法及装置 | |
CN104794737B (zh) | 一种深度信息辅助粒子滤波跟踪方法 | |
CN104240288A (zh) | 用于产生对象的三维表示的方法和系统 | |
JP6905079B2 (ja) | 画像内のオブジェクトの検出および表現 | |
KR20130101942A (ko) | 자세 인식 방법 및 장치 | |
Zhou et al. | Learning to estimate 3d human pose from point cloud | |
JP7439004B2 (ja) | 行動認識装置、学習装置、および行動認識方法 | |
US20210216759A1 (en) | Recognition method, computer-readable recording medium recording recognition program, and learning method | |
CN112750198B (zh) | 一种基于非刚性点云的稠密对应预测方法 | |
Botzheim et al. | Human gesture recognition for robot partners by spiking neural network and classification learning | |
CN113408455A (zh) | 一种基于多流信息增强图卷积网络的动作识别方法、系统及存储介质 | |
CN103218825A (zh) | 一种尺度不变的时空兴趣点快速检测方法 | |
CN115331263B (zh) | 鲁棒的姿态估计方法及其在朝向判断的应用及相关方法 | |
CN111709268A (zh) | 一种深度图像中的基于人手结构指导的人手姿态估计方法和装置 | |
CN113609999B (zh) | 基于姿态识别的人体模型建立方法 | |
CN106952292A (zh) | 基于6自由度场景流聚类的3d运动目标检测方法 | |
Xia et al. | Gesture recognition algorithm of human motion target based on deep neural network | |
JP2021135619A (ja) | 状況識別装置、状況学習装置及びプログラム | |
Xia et al. | Gesture tracking and recognition algorithm for dynamic human motion using multimodal deep learning |
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 |