本发明申请为申请日2023年7月21日,申请号为:202310899391.4,名称为“一种人体关键点检测方法及系统”的发明专利申请的分案申请。本发明涉及计算机视觉,尤其涉及一种人体关键点检测方法及系统。
背景技术:
1、人体关键点检测通过对人体主要骨骼点(关键点)的位置预测,实现人体姿态估计。人体姿态估计是计算机视觉领域的基础任务之一,可广泛应用于动作识别、行人跟踪、自动驾驶、人机交互等领域。行业内的技术采用分为自底而上(bottom-up)和自顶而下(top-down)两种思路。
2、自底而上的方法直接从原图检测人体关键点,再根据不同关键点间的关系进行分组。自顶而下的方法先检测行人区域,再对每个行人进行关键点检测,可视为行人检测和单人姿态估计的组合。通常自顶而下的技术方案的准确性要高于自底而上,但是效率却要低于自底而下。
3、为了实现高精度的人体关键点检测,发明专利一种多人人体姿态估计方法(cn111339903b),公开了采用自底向上与自顶向下两种方法结合的两阶段训练方法,训练深度特征人体关键点检测模型,首先进行自底向上的方法训练该深度特征人体关键点检测模型,然后进行自顶向下的方法训练该深度特征人体关键点检测模型,最终利用两阶段训练好深度特征人体关键点检测模型检测人体关键点,采用自底向上训练深度特征人体关键点检测模型,输出人体关键点检测置信度热图;采用自顶向下训练深度特征人体关键点检测模型,识别裁剪后的图像中的所有人体关键点。
4、上述方法,可实现图像中多人体关键点的识别,但模型训练过程复杂,特提出本发明,本发明是在自顶而下的基础上次加以改进,在确保自顶而下技术方案的准确性的同时,又提高了运行效率。
技术实现思路
1、本发明的发明目的是针对现有技术的不足,提供了一种人体关键点检测方法及系统,可精确实现人体关键点的估计,适用范围广。
2、第一方面,本技术提供一种人体关键点检测方法,包括:
3、步骤1,构建人体关键点估计网络,所述人体关键点估计网络包括多尺度特征提取模块、检测头模块、人体位置框检测模块、感兴趣区域对齐模块和人体关键点检测模块;
4、所述多尺度特征提取模块用于接受输入图像并输出多个尺度的特征图;
5、所述检测头模块用于接受特征图并输出多个尺度的检测头特征图;
6、所述人体位置框检测模块用于接受检测头特征图并输出多个尺度的预测人体位置框;
7、所述感兴趣区域对齐模块用于接受检测头特征图、人体位置框并输出多个尺度的对齐特征图;
8、所述人体关键点检测模块用于接受对齐特征图并输出不同尺度的人体关键点预测坐标;
9、步骤2,利用训练数据集训练所述人体关键点估计网络,得到人体关键点估计模型;
10、步骤3,将待检测图像输入所述人体关键点估计模型,输出不同尺度的人体关键点预测坐标;
11、步骤4,对不同尺度的所述人体关键点预测坐标进行融合,得到人体关键点坐标。
12、进一步地,所述多尺度特征图提取模块输出4个尺度的特征图,所述检测头模块输出4个尺度的检测头特征图,所述人体位置框检测模块输出4个尺度的预测人体位置框;所述感兴趣区域对齐模块输出4个尺度的对齐特征图,所述人体关键点检测模块输出4个不同尺度的17个人体关键点预测坐标。
13、进一步地,所述多尺度特征图提取模块包括backbone特征提取模块、自上而下多尺度特征融合模块以及自下而上多尺度特征融合模块。
14、进一步地,所述backbone特征提取模块采用多个残差网络块,得到至少4个尺度的特征图,输出分辨率从小到大的最后4个尺度的特征图,分别为:boneend,boneend-1,boneend-2,boneend-3;
15、所述自上而下多尺度特征融合模块,输出4个尺度的特征图,分辨率从小到大分别为upend,upend-1,upend-2,upend-3,其中,upend通过对boneend进行卷积操作得到;upend-1通过对upend进行转置卷积并加上boneend-1的卷积操作后得到;upend-2通过对upend-1进行转置卷积并加上boneend-2的卷积操作后得到;upend-3通过对upend-2进行转置卷积并加上boneend-3的卷积操作后得到;
16、所述自下而上多尺度特征融合模块,输出4个尺度的特征图,分辨率从小到大分别为downend,downend-1,downend-2,downend-3,其中,downend-3通过对upend-3卷积操作得到;downend-2通过对downend-3卷积操作并加上upend-2的卷积操作后得到;downend-1通过对downend-2卷积操作并加上upend-1的卷积操作后得到;downend通过对downend-1卷积操作并加上upend的卷积操作后得到。
17、进一步地,所述检测头模块通过对4个尺度的特征图分别做卷积操作,输出4个尺度的检测头特征图,分别为:headend,headend-1,headend-2,headend-3。
18、进一步地,所述人体位置框检测模块分别对4个尺度的检测头特征图做卷积操作,得到4个尺度的预测人体位置框,分别为boxend,boxend-1,boxend-2,boxend-3,为每个尺度中的每个像素预测至少1个anchor,每个anchor预测6个值,分别为人体位置框的中心位置的横坐标、人体位置框的中心位置的纵坐标、人体位置框相对中心位置宽的偏移量、人体位置框相对中心位置高的偏移量、目标存在的置信度boxconf以及人体类别置信度humanconf。
19、进一步地,所述预测人体位置框的特征图的通道数为18,为每个像素预测3个anchor。
20、进一步地,所述感兴趣区域对齐模块采用感兴趣区域对齐技术,输出4个尺度的对齐特征图,分别为alignend,alignend-1,alignend-2,alignend-3。
21、进一步地,所述人体关键点检测模块对4个尺度的对齐特征图采用卷积操作,得到4个尺度的人体关键点预测特征图,分别为pointend,pointend-1,pointend-2,pointend-3,所述人体关键点预测特征图的通道数为17。
22、进一步地,所述步骤2包括:
23、步骤21,选择所述训练数据集,所述训练数据集为coco数据集;
24、步骤22,所述人体位置框为真实人体位置框或所述预测人体位置框,所述真实人体位置框为coco数据集中标注的人体位置框,训练过程中实时获取所述真实人体位置框以及所述预测人体位置框;
25、当所述真实人体位置框与所述预测人体位置框的iou≤80%时,所述人体关键点估计网络的感兴趣区域对齐模块输入的人体位置框为真实人体位置框;
26、当所述真实人体位置框与所述预测人体位置框的iou>80%时,所述人体关键点估计网络的感兴趣区域对齐模块输入的人体位置框为真实人体位置框和预测人体位置框;
27、步骤23,采用梯度下降法训练所述人体关键点估计网络,得到人体关键点估计中间模型;
28、步骤24,对所述人体关键点估计中间模型的感兴趣区域对齐模块进行调整,使其输入的所述人体位置框为所述预测人体位置框,得到人体关键点估计模型。
29、进一步地,所述步骤2中,总误差公式为:
30、losstotal=αlossbox+(1-α)losspoint
31、其中,losstotal为总误差,lossbox为人体位置框总误差,losspoint为人体关键点总误差,α∈(0,1)用以权衡人体位置框总误差和人体关键点总误差的权重。
32、进一步地,所述人体位置框总误差公式为:
33、
34、采用siou来计算所述真实人体位置框和所述预测人体位置框之间的交集;
35、其中,d表示不同的尺度,i和j分表示人体位置预测特征图的横纵坐标,k表示anchor的序号,boxgt表示真实人体位置框,boxpred表示预测人体位置框。
36、进一步地,所述人体关键点总误差公式为:
37、
38、其中,d为不同的尺度,h为人体关键点的序号,m和n分别为人体关键点预测特征图的横纵坐标,xm,n,s,h为人体关键点真实高斯值,为人体关键点预测坐标。
39、进一步地,所述人体关键点真实高斯值根据coco数据集中标定的人体关键点坐标,采用高斯分布对所述人体关键点坐标进行变换获得。
40、进一步地,人体关键点的采用高斯分布来表示,将人体的关键点真实位置坐标的映射到不同尺度的人体关键点预测特征图,并对坐标并取整,设为;设置高斯圆的半径,设为r;在人体关键点预测特征图上,以为圆心,半径为r填充高斯函数计算值。
41、进一步地,所述步骤3具体步骤为:
42、步骤31,将待检测图像输入所述多尺度特征提取模,输出多个尺度的特征图;
43、步骤32,将所述特征图输入所述检测头模,输出多个尺度的检测头特征图;
44、步骤33,将所述检测头特征图输入所述人体位置框检测模块,输出多个尺度的预测人体位置框;
45、步骤34,将所述检测头特征图以及所述预测人体位置框输入所述感兴趣区域对齐模块,输出多个尺度的对齐特征图;
46、步骤35,将所述对齐特征图输入人体关键点检测模块,输出多个尺度的人体关键点预测特征图;
47、步骤36,在每个尺度的所述人体关键点预测特征图中,取每个通道中最大值的坐标作为人体关键点预测坐标,得到不同尺度的人体关键点预测坐标。
48、进一步地,所述步骤4包括:
49、步骤41,将不同尺度的所述人体关键点预测坐标映射回所述待检测图像中,得到不同尺度的人体关键点映射坐标;
50、步骤42,将不同尺度的所述人体关键点映射坐标求均值,得到所述人体关键点坐标。
51、第二方面,本技术还提供一种人体关键点检测系统,包括人体关键点估计网络构建模块、网络训练模块、人体关键点坐标预测模块、人体关键点坐标融合模块;
52、所述人体关键点估计网络构建模块用于构建人体关键点估计网络,所述人体关键点估计网络包括多尺度特征提取模块、检测头模块、人体位置框检测模块、感兴趣区域对齐模块和人体关键点检测模块;
53、所述多尺度特征提取模块用于接受输入图像并输出多个尺度的特征图;
54、所述检测头模块用于接受特征图并输出多个尺度的检测头特征图;
55、所述人体位置框检测模块用于接受检测头特征图并输出多个尺度的预测人体位置框;
56、所述感兴趣区域对齐模块用于接受检测头特征图、人体位置框并输出多个尺度的对齐特征图;
57、所述人体关键点检测模块用于接受对齐特征图并输出不同尺度的人体关键点预测坐标;
58、所述网络训练模块利用训练数据集训练所述人体关键点估计网络,得到人体关键点估计模型;
59、人体关键点坐标预测模块,通过将待检测图像输入所述人体关键点估计模型,输出不同尺度的人体关键点预测坐标;
60、人体关键点坐标融合模块,通过将不同尺度的所述人体关键点预测坐标进行融合,得到人体关键点坐标。
61、本发明的有益效果在于:
62、(1)本发明是在自顶而下的基础上次加以改进,采用一次前向推理的结构,包括了人体位置框检测和人体关键点检测,即只需要单个模型就可实现人体位置的检测和人体关键点的检测,确保了自顶而下技术方案的准确性的同时,又提高了运行效率。
63、(2)设计了集成多尺度特征提取模块、检测头模块、人体位置框检测模块、感兴趣区域对齐模块和人体关键点检测模块的人体关键点检测网络,使用多通道、多阶段的模式对多尺度特征图进行分析,得到不同尺度的人体关键点预测坐标,最后以多尺度融合的方式将多尺度的人体关键点预测坐标进行融合,得到更加全面且有效的人体关键点坐标,实现人体关键点的高精度识别。
64、(3)集合在密集人群的应用场景中,本发明可实现多人的人体框和关键点同时识别,能够准确且快速地实现人体关键点的估计,无需额外的模型预先提取人体框,算法流程简便,运算量低,满足各种低算力设备的轻量化部署要求。