1.本发明涉及人体姿态相似度计算领域,具体涉及一种基于骨骼关节点区域划分的人体姿态相似度计算方法。
背景技术:2.人体姿态相似度计算的主要目的是评估两张照片中目标人物的姿态相似度,是人体行为分析研究的重要工作,是计算机视觉中的一个重要研究领域,可应用于视频监控、虚拟现实等各种应用场景。人体姿态是运动数据中重要的组成部分,对于人体姿态相似度的计算也因此得到了广泛的研究。
3.现有的人体姿态相似度计算方法主要是利用一些配置rgb传感器和深度图像摄像头的3d传感器(kinect等)来获取人体骨骼关节点的二维和三维数据信息,然后在得到的骨骼关节点数据上进行人体姿态相似度计算;如专利申请201810394685.0,通过获取人体骨骼关节点数据信息,建立特征矩阵,在骨架序列之间进行相似度对比,但并未考虑到人体部位被遮挡的情况。
4.目前,现有的人体姿态相似度计算方法主要存在以下不足:在复杂环境如人体部分部位被遮挡的情况下,骨骼关节点提取算法无法识别人体骨骼关节点或生成的骨骼关节点数据精度大幅下降,导致无法计算人体姿态相似度或相似度计算不准确;大多利用深度摄像头或可穿戴传感器来采集人体骨骼关节点数据,数据采集过程繁琐且对设备存在依赖。
技术实现要素:5.为解决上述技术问题,本发明提供了一种基于骨骼关节点区域划分的人体姿态相似度计算方法,该人体姿态相似度计算方法对人体区域进行划分并动态更改区域权重,能够有效解决人体部位被遮挡情况下人体姿态相似度计算不准确问题。
6.为了达到上述目的,本发明所述的一种基于骨骼关节点区域划分的人体姿态相似度计算方法,步骤为:
7.步骤1、建立人体骨骼关节点区域划分规则;
8.步骤2、针对待检测人体姿态相似度的两张图片p和q,使用人体骨骼关节点提取算法,分别提取图片p和q中目标人物的骨骼关节点数据序列sp和sq,s
p
={“s
1”:(x
p,1
,y
p,1
,conf
p,1
),“s
2”:(x
p,2
,y
p,2
,conf
p,2
),
…
,“s
i”:(x
p,i
,y
p,i
,conf
p,i
),
…
,“s
n”:(x
p,n
,y
p,n
,conf
p,n
)},sq={“s
1”:(x
q,1
,y
q,1
,conf
q,1
),“s
2”:(x
q,2
,y
q,2
,conf
q,2
),
…
,“s
i”:(x
q,i
,y
q,i
,conf
q,i
),
…
,“s
n”:(x
q,n
,y
q,n
,conf
q,n
)},其中x
p,i
和y
p,i
表示图片p中骨骼关节点si的横纵像素坐标,i∈{1,2,
…
,n};conf
p,i
表示该骨骼关节点的置信度,conf
p,i
∈[0,1],越高则表示该骨骼关节点的坐标越精确;
[0009]
步骤3、如果图片p或q中不存在目标人物,即或则图片p和q中目标人物的人体姿态相似度posesim(p,q)=0,转步骤7,否则转步骤4继续执行;
[0010]
步骤4、根据sp和sq中各骨骼关节点的置信度数据以及人体骨骼关节点区域划分规则,分别更新图片p和q中目标人物对应的骨骼关节点分区的权重集合w
p
和wq;
[0011]
步骤5、选择sp和sq中的任一个骨骼关节点序列作为参照,对另外一个骨骼关节点序列进行对齐校正处理;
[0012]
步骤6:根据图片p和q中更新后的目标人物骨骼关节点分区权重数据w
p
和wq以及oks算法(人体关键点相似度算法),计算图片p和q中目标人物的人体姿态相似度posesim(p,q);
[0013]
步骤7、图片p和q中目标人物的人体姿态相似度确定为posesim(p,q),其值越大,则p和q中目标人物的人体姿态越相似;如果为0,表示图片p或q中不存在目标人物;相似度计算过程全部结束。
[0014]
进一步的,步骤1中,建立人体骨骼关节点区域划分规则具体过程为:根据预设需求对人体骨骼关节点s={s
1,
s2,
…
,sn}进行区域划分,得到m个骨骼关节点分区集合as={as1,as2,
…
,asm},as中各个分区所包含的骨骼关节点不完全相同,且as1、as2、
…
、asm的并集为s;然后初始化as中各分区对应的权重数据w={w1,w2,
…
,wm},初始权重均设置为1/m,
[0015]
进一步的,步骤4中,根据sp和sq中各骨骼关节点的置信度数据以及人体骨骼关节点区域划分规则,分别更新图片p和q中目标人物对应的骨骼关节点分区的权重集合w
p
={w
p,1
,w
p,2
,
…
,w
p,i
,
…
,w
p,m
}和wq={w
q,1
,w
q,2
,
…
,w
q,i
,
…
,w
q,m
},其中w
p,i
和w
q,i
的计算公式如下,i∈{1,2,
…
,m}:
[0016][0017][0018]
其中,w
p,i
表示图片p中第i个骨骼关节点分区的权重,w
q,i
表示图片q中第i个骨骼关节点分区的权重,asi和ask分别表示骨骼关节点分区as中第i个和第k个骨骼关节点分区,sj表示骨骼关节点分区中第j个骨骼关节点。
[0019]
进一步的,步骤5中,设sp为选择的参照,对另外一个骨骼关节点序列sq进行对齐校正处理具体过程如下:
[0020]
步骤5-1:根据预设的用于中心点计算的参照骨骼关节点集合r,计算图片p和q中目标人物的中心点的横纵像素坐标(c
p,x
,c
p,y
)和(c
q,x
,c
q,y
),计算公式如下:
[0021][0022][0023]
其中(x
p,i
,y
p,i
)和(x
q,i
,y
q,i
)分别表示图片p和q中目标人物的与r对应的骨骼关节点集合中的第i个骨骼关节点的横纵像素坐标。
[0024]
步骤5-2:以sp为参照,求图片p和q中目标人物骨骼关节点的中心点的偏移量(off
x
,offy),计算公式如下:
[0025]
(off
x
,offy)=(c
q,x-c
p,x
,c
q,y-c
p,y
)
[0026]
步骤5-3:根据中心点偏移量(off
x
,offy)对sq进行校正,生成校正后的骨骼关节点序列s
′q={“s
1”:(x
′
q,1
,y
′
q,1
,conf
q,1
),“s
2”:(x
′
q,2
,y
′
q,2
,conf
q,2
),
…
,“s
i”:(x
′
q,i
,y
′
q,i
,conf
q,i
),
…
,,“s
n”:(x
′
q,n
,y
′
q,n
,conf
q,n
)},
[0027]
(x
′
q,i
,y
′
q,i
)=(x
q,i-off
x
,y
q,i-offy)
[0028]
其中(x
q,i
,y
q,i
)表示图片q中目标人物的第i个骨骼关节点的横纵像素坐标,conf
q,i
为该像素坐标的置信度。
[0029]
进一步的,步骤6中,根据图片p和q中更新后的目标人物骨骼关节点分区权重数据w
p
和wq以及oks算法,计算p和q中目标人物的人体姿态相似度posesim(p,q),计算方法如下:
[0030][0031]
其中,
[0032][0033][0034][0035]
x
p,max-x
p,min
=max{x
p,j
|sj∈asi}-min{x
p,j
|sj∈asi}
[0036]yp,max-y
p,min
=max{y
p,j
|sj∈asi}-min{y
p,j
|sj∈asi}
[0037]
x
q,max-x
q,min
=max{x
q,j
|sj∈asi}-min{x
q,j
|sj∈asi}
[0038]yq,max-y
q,min
=max{y
q,j
|sj∈asi}-min{y
q,j
|sj∈asi}
[0039]
其中,表示图片p和q中骨骼关节点分区asi第j个骨骼关节点的欧氏距离;表示图片p和q中目标人物在骨骼关节点分区asi中的人体姿态尺度因子;表示骨骼关节点分区asi中第j个骨骼关节点的归一化因子;τ为骨骼关节点筛选因子,τ∈[0,1];δ函数的返回值为0或1。
[0040]
本发明所述的有益效果为:本发明所述的方法考虑全面、适用性广泛,和现有的技术方法相比考虑到了复杂场景对人体姿态相似度计算的影响;本方法针对由于遮挡等外部因素导致图片中骨骼点识别不精确导致的人体姿态相似度计算的准确率下降的问题,通过引入人体骨骼关节点区域划分思想,在计算人体姿态相似度时对骨骼关节点区域权重进行动态调整,从而提高了基于骨骼点识别的人体姿态相似度计算的鲁棒性和准确性。
附图说明
[0041]
图1为本发明的流程图;
[0042]
图2为人体骨骼关节点示意图;
[0043]
图3为人体骨骼关节点区域划分示意图。
具体实施方式
[0044]
为了使本发明的内容更容易被清楚地理解,下面根据具体实施例并结合附图,对本发明作进一步详细的说明。
[0045]
如图1所示,本发明提出了一种基于骨骼关节点区域划分的人体姿态相似度计算方法。根据预设需求对人体骨骼关节点进行区域划分,并对各分区对应的权重数据进行初始化。随后对待检测人体姿态相似度的两张图片提取目标人物的骨骼关节点数据序列,根据各骨骼关节点的置信度数据以及人体骨骼关节点区域划分规则,更新骨骼关节点分区的权重。接着以其中一个骨骼关节点序列作为参照,对另外一个骨骼关节点序列进行对齐校正处理。最后利用目标人物骨骼关节点分区权重和oks算法,计算两张图片中目标人物的人体姿态相似度。
[0046]
下面,我们通过一个具体示例,描述本发明的具体实施方式:假设针对图片中目标人物姿态由如图2所示的17个人体骨骼点表示,即s={s
1,
s2,
…
,s
17
},骨骼点说明如表1所示。假设s中的骨骼关节点划分为3个区域,as={as1,as2,as3},如图3所示,其中as1={s1,s2,s3,s4,s5}包含鼻子、左眼、右眼、左耳和右耳共5个骨骼关节点,as2={s6,s7,s8,s9,s
10
,s
11
,s
12
,s
13
}包含左肩、右肩、左手肘、右手肘、左手腕、右手腕、左胯和右胯共8个骨骼关节点,as3={s
12
,s
13
,s
14
,s
15
,s
16
,s
17
}包含左胯、右胯、左膝盖、右膝盖、左脚和右脚共6个骨骼关节点。
[0047]
表1
[0048]
s1:noses2:leyes3:reyes4:lears5:rears6:lshoulders7:rshoulders8:lelbows9:relbows
10
:lwrists
11
:rwrists
12
:lhips
13
:rhips
14
:lknees
15
:rknees
16
:lankles
17
:rankle [0049]
人体姿态相似度计算方法包括如下步骤:
[0050]
步骤1:初始化as中各分区对应的权重数据w={w1,w2,w3},初始权重均设置为1/3。
[0051]
步骤2:针对待检测人体姿态相似度的两张图片p和q,分别提取p和q中目标人物的骨骼关节点数据序列sp和sq,s
p
={“s
1”:(x
p,1
,y
p,1
,conf
p,1
),“s
2”:(x
p,2
,y
p,2
,conf
p,2
),
…
,“s
17”:(x
p,17
,y
p,17
,conf
p,17
)},sq={“s
1”:(x
q,1
,y
q,1
,conf
q,1
),“s
2”:(x
q,2
,y
q,2
,conf
q,2
),
…
,“s
17”:(x
q,17
,y
q,17
,conf
q,17
)}。
[0052]
步骤3:图片p和q中存在目标人物(且),转步骤4继续执行。
[0053]
步骤4:根据sp和sq中各骨骼关节点的置信度数据以及人体骨骼关节点区域划分规则,分别更新图片p和q中目标人物对应的骨骼关节点分区的权重集合w
p
={w
p,1
,w
p,2
,w
p,3
}和wq={w
q,1
,w
q,2
,w
q,3
},其中w
p,i
和w
q,i
(i∈{1,2,3})的计算公式如下:
[0054]
[0055][0056]
其中,w
p,i
表示图片p中第i个骨骼关节点分区的权重,w
q,i
表示图片q中第i个骨骼关节点分区的权重,asi和ask分别表示骨骼关节点分区as中第i个和第k个骨骼关节点分区,sj表示骨骼关节点分区中第j个骨骼关节点。
[0057]
步骤5、选择sp和sq中的任一个骨骼关节点序列作为参照,对另外一个骨骼关节点序列进行对齐校正处理;
[0058]
步骤5-1:以sp为选择的参照,对另外一个骨骼关节点序列sq进行对齐校正处理:根据中心点参照骨骼关节点集合r,得到图片p和q中目标人物的中心点的横纵像素坐标(c
p,x
,c
p,y
)和(c
q,x
,c
q,y
),计算公式为:
[0059][0060][0061]
其中(x
p,i
,y
p,i
)和(x
q,i
,y
q,i
)分别表示图片p和q中目标人物的与r对应的骨骼关节点集合中的第i个骨骼关节点的横纵像素坐标;
[0062]
步骤5-2:以sp为参照,图片p和q中目标人物骨骼关节点的中心点的偏移量为(off
x
,offy),计算公式如下:
[0063]
(off
x
,offy)=(c
q,x-c
p,x
,c
q,y-c
p,y
)。
[0064]
步骤5-3:根据中心点偏移量(off
x
,offy)对sq进行校正,生成校正后的骨骼关节点序列s
′q={“s
1”:(x
′
q,1
,y
′
q,1
,conf
q,1
),“s
2”:(x
′
q,2
,y
′
q,2
,conf
q,2
),
…
,“s
17”:(x
′
q,17
,y
′
q,17
,conf
q,17
)},
[0065]
(x
′
q,i
,y
′
q,i
)=(x
q,i-off
x
,y
q,i-offy)
[0066]
其中(x
q,i
,y
q,i
)表示图片q中目标人物的第i个骨骼关节点的横纵像素坐标,conf
q,i
为该像素坐标的置信度;
[0067]
步骤6:根据图片p和q中更新后的目标人物骨骼关节点分区权重数据w
p
和wq以及oks算法,计算p和q中目标人物的人体姿态相似度posesim(p,q),计算方法如下:
[0068][0069]
其中,
[0070][0071]
[0072][0073]
x
p,max-x
p,min
=max{x
p,j
|sj∈asi}-min{x
p,j
|sj∈asi}
[0074]yp,max-y
p,min
=max{y
p,j
|sj∈asi}-min{y
p,j
|sj∈asi}
[0075]
x
q,max-x
q,min
=max{x
q,j
|sj∈asi}-min{x
q,j
|sj∈asi}
[0076]yq,max-y
q,min
=max{y
q,j
|sj∈asi}-min{y
q,j
|sj∈asi}
[0077]
表示图片p和q中骨骼关节点分区asi第j个骨骼关节点的欧氏距离;表示图片p和q中目标人物在骨骼关节点分区asi中的人体姿态尺度因子;中的人体姿态尺度因子;表示骨骼关节点分区asi中第j个骨骼关节点的归一化因子;τ为骨骼关节点筛选因子,τ∈[0,1]。
[0078]
本发明所述的方法考虑到了复杂场景对人体姿态相似度计算的影响,针对由于遮挡等外部因素导致图片中骨骼点识别不精确导致的人体姿态相似度计算的准确率下降的问题,通过引入人体骨骼关节点区域划分思想,在计算人体姿态相似度时对骨骼关节点区域权重进行动态调整,从而提高了基于骨骼点识别的人体姿态相似度计算的鲁棒性和准确性。
[0079]
以上所述仅为本发明的优选方案,并非作为对本发明的进一步限定,凡是利用本发明说明书及附图内容所作的各种等效变化均在本发明的保护范围之内。
技术特征:1.一种基于骨骼关节点区域划分的人体姿态相似度计算方法,其特征在于,所述方法步骤为:步骤1、建立人体骨骼关节点区域划分规则;步骤2、针对待检测人体姿态相似度的两张图片p和q,使用人体骨骼关节点提取算法,分别提取图片p和q中目标人物的骨骼关节点数据序列sp和sq,s
p
={“s
1”:(x
p,1
,y
p,1
,conf
p,1
),“s
2”:(x
p,2
,y
p,2
,conf
p,2
),
…
,“s
i”:(x
p,i
,y
p,i
,conf
p,i
),
…
,“s
n”:(x
p,n
,y
p,n
,conf
p,n
)},s
q
={“s
1”:(x
q,1
,y
q,1
,conf
q,1
),“s
2”:(x
q,2
,y
q,2
,conf
q,2
),
…
,“s
i”:(x
q,i
,y
q,i
,conf
q,i
),
…
,“s
n”:(x
q,n
,y
q,n
,conf
q,n
)},其中x
p,i
和y
p,i
表示图片p中骨骼关节点s
i
的横纵像素坐标,i∈{1,2,
…
,n},conf
p,i
表示该骨骼关节点的置信度,conf
p,i
∈[0,1];步骤3、如果图片p或q中不存在目标人物,即或则图片p和q中目标人物的人体姿态相似度posesim(p,q)=0,转步骤7,否则转步骤4继续执行;步骤4、根据sp和sq中各骨骼关节点的置信度数据以及人体骨骼关节点区域划分规则,分别更新图片p和q中目标人物对应的骨骼关节点分区的权重集合w
p
和w
q
;步骤5、选择sp和sq中的任一个骨骼关节点序列作为参照,对另外一个骨骼关节点序列进行对齐校正处理;步骤6:根据图片p和q中更新后的目标人物骨骼关节点分区权重数据w
p
和w
q
以及oks算法,计算图片p和q中目标人物的人体姿态相似度posesim(p,q);步骤7、图片p和q中目标人物的人体姿态相似度确定为posesim(p,q),其值越大,则p和q中目标人物的人体姿态越相似;如果为0,表示图片p或q中不存在目标人物。2.根据权利要求1所述的一种基于骨骼关节点区域划分的人体姿态相似度计算方法,其特征在于,步骤1中,建立人体骨骼关节点区域划分规则具体过程为:根据预设需求对人体骨骼关节点s={s
1,
s2,
…
,s
n
}进行区域划分,得到m个骨骼关节点分区集合as={as1,as2,
…
,as
m
},as中各个分区所包含的骨骼关节点不完全相同,且as1、as2、
…
、as
m
的并集为s;然后初始化as中各分区对应的权重数据w={w1,w2,
…
,w
m
},初始权重均设置为1/m,3.根据权利要求1所述的一种基于骨骼关节点区域划分的人体姿态相似度计算方法,其特征在于,步骤4中,根据sp和sq中各骨骼关节点的置信度数据以及人体骨骼关节点区域划分规则,分别更新图片p和q中目标人物对应的骨骼关节点分区的权重集合w
p
={w
p,1
,w
p,2
,
…
,w
p,i
,
…
,w
p,m
}和w
q
={w
q,1
,w
q,2
,
…
,w
q,i
,
…
,w
q,m
},其中w
p,i
和w
q,i
的计算公式如下,i∈{1,2,
…
,m}:,m}:其中,w
p,i
表示图片p中第i个骨骼关节点分区的权重,w
q,i
表示图片q中第i个骨骼关节点分区的权重,as
i
和as
k
分别表示骨骼关节点分区as中第i个和第k个骨骼关节点分区,s
j
表示骨骼关节点分区中第j个骨骼关节点。
4.根据权利要求1所述的一种基于骨骼关节点区域划分的人体姿态相似度计算方法,其特征在于,步骤5中,设sp为选择的参照,对另外一个骨骼关节点序列sq进行对齐校正处理具体过程如下:步骤5-1:根据预设的用于中心点计算的参照骨骼关节点集合r,计算图片p和q中目标人物的中心点的横纵像素坐标(c
p,x
,c
p,y
)和(c
q,x
,c
q,y
),计算公式如下:),计算公式如下:其中(x
p,i
,y
p,i
)和(x
q,i
,y
q,i
)分别表示图片p和q中目标人物的与r对应的骨骼关节点集合中的第i个骨骼关节点的横纵像素坐标。步骤5-2:以sp为参照,求图片p和q中目标人物骨骼关节点的中心点的偏移量(off
x
,off
y
),计算公式如下:(off
x
,off
y
)=(c
q,x-c
p,x
,c
q,y-c
p,y
)步骤5-3:根据中心点偏移量(off
x
,off
y
)对sq进行校正,生成校正后的骨骼关节点序列s
′
q
={“s
1”:(x
′
q,1
,y
′
q,1
,conf
q,1
),“s
2”:(x
′
q,2
,y
′
q,2
,conf
q,2
),...,“s
i”:(x
′
q,i
,y
′
q,i
,conf
q,i
),...,“s
n”:(x
′
q,n
,y
′
q,n
,conf
q,n
)},(x
′
q,i
,y
′
q,i
)=(x
q,i-off
x
,y
q,i-off
y
)其中(x
q,i
,y
q,i
)表示图片q中目标人物的第i个骨骼关节点的横纵像素坐标,conf
q,i
为该像素坐标的置信度。5.根据权利要求1所述的一种基于骨骼关节点区域划分的人体姿态相似度计算方法,其特征在于,步骤6中,根据图片p和q中更新后的目标人物骨骼关节点分区权重数据w
p
和w
q
以及oks算法,计算p和q中目标人物的人体姿态相似度posesim(p,q),计算方法如下:其中,其中,x
p,max-x
p,min
=max{x
p,j
|s
j
∈as
i
}-min{x
p,j
|s
j
∈as
i
}y
p,max-y
p,min
=max{y
p,j
|s
j
∈as
i
}-min{y
p,j
|s
j
∈as
i
}x
q,max-x
q,min
=max{x
q,j
|s
j
∈as
i
}-min{x
q,j
|s
j
∈as
i
}
y
q,max-y
q,min
=max{y
q,j
|s
j
∈as
i
}-min{y
q,j
|s
j
∈as
i
}其中,表示图片p和q中骨骼关节点分区as
i
第j个骨骼关节点的欧氏距离;表示图片p和q中目标人物在骨骼关节点分区as
i
中的人体姿态尺度因子;表示骨骼关节点分区as
i
中第j个骨骼关节点的归一化因子;τ为骨骼关节点筛选因子,τ∈[0,1]。
技术总结本发明提出了基于骨骼关节点区域划分的人体姿态相似度计算方法,根据预设需求对人体骨骼关节点进行划分,并对各骨骼关节点分区的权重进行初始化;对待检测人体姿态相似度的两张图片分别提取目标人物的人体骨骼关节点数据序列,并根据各骨骼关节点置信度以及人体骨骼关节点区域划分规则,更新骨骼关节点分区的权重;以其中一张图片中的人体骨骼关节点数据序列作为参照,对另外一张图片中的人体骨骼关节点数据序列进行对齐校正处理;利用骨骼关节点分区权重和OKS算法,计算两张图片中目标人物的人体姿态相似度。本发明所述的方法考虑到了复杂场景对人体姿态相似度计算的影响,提高了基于骨骼点识别的人体姿态相似度计算的鲁棒性和准确性。棒性和准确性。棒性和准确性。
技术研发人员:戴华 杨伟洪 管振凯 吴昊哲 周倩 陈燕俐 杨庚
受保护的技术使用者:南京邮电大学
技术研发日:2022.07.26
技术公布日:2022/11/1