本发明涉及一种人体关键点检测,特别是一种基于教室场景的多人关键点检测网络和方法。
背景技术:
人体关键点检测,又称人体姿态估计,是计算机视觉中一个很基础的问题,是人体动作识别、行为分析、人机交互等的前置任务,可以理解为对人体的关键点,如头,手肘,手腕,膝盖等位置的估计。人体姿态估计又可分为2d/3d关键点检测、单人/多人关键点检测,在完成关键点检测之后还能进行关键点的跟踪,也被称为人体姿态跟踪。人体关键点检测也面临了很多挑战,比如灵活、小而几乎看不见的关节、遮挡、衣服和光线变化都为人体关键点检测增加了难度。本发明主要涉及2d多人关键点检测,目的在于检测课堂上的学生的关键点,用于后续进行姿态识别。给定一张rgb图像,精确地定位出多个人体的关键点,并确定其隶属的人体。
目前对于多人关键点检测,有两个主流方法:
(1)top-down:先进行目标(人体)检测,再对每个检测到的人体进行单人姿态估计的两阶段方法(如cpm、stackedhourglass、hrnet等网络)。自上而下的方法必然会受到目标检测任务的约束,因为基于boundingbox的单人姿态估计,在面对遮挡问题和小尺度人体目标时容易受挫。
(2)bottom-up:先检测所有人的关键点,再用算法将这些关键点关联匹配到相关人体(如openpose的动态规划,associativeembedding的tag匹配,personlab的贪婪算法等)。遮挡问题仍然是个挑战,同时由于图像上人体尺度大小不一,关键点特征的提取难度大于top-down方法。
一般来说,top-down方法精度更高但实时性能较差,bottom-up方法精度不如top-down高,但速度更快,实时性能较好。
技术实现要素:
本发明的技术解决问题是:对教室场景下的学生进行姿态估计,针对教室场景下的遮挡、后排小尺寸目标的定位检测困难以及在非人区域误检出关键点的问题,本发明提供一种基于教室场景的多人关键点检测网络和方法,其网络是一种top-down和bottom-up相结合的多人关键点检测网络。
为达到上述目的,本发明采用如下技术方案:
一种基于教室场景的多人关键点检测网络,包括人体目标区域检测模块、人体目标区域融合模块、人体目标区域特征提取模块、关键点检测与集成模块;
所述人体目标区域检测模块依次连接人体目标区域融合模块、人体目标区域特征提取模块和关键点检测与集成模块。
所述人体目标区域检测模块,用于检测图片中每个学生的区域。
所述人体目标区域融合模块,用于将所述人体目标区域检测模块中检测出的学生的区域进行融合。
所述人体目标区域特征提取模块,用于对所述人体目标区域融合模块中融合后的学生区域进行特征提取。
所述关键点检测与集成模块,用于对存在学生的区域进行关键点置信度和部位关系亲和度的预测,再进行肢体匹配,得到最终的多人关键点检测结果。
所述人体目标区域检测模块是在浅层网络引入了密集连接模块的yolov3网络,用密集连接卷积对输入图像提取特征,并且使用giou损失函数代替yolov3的边界框回归损失函数,使浅层特征和深层特征可以更好更快地进行融合,提升检测精度,改善对教室后排低分辨率学生检测难的问题。
所述人体目标区域融合模块,将由yolo-desnet检测出的人体框,先对人体框进行放大,确保放大后的人体预测框边界不超过原始图像的边界。对任意两个人体预测框进行融合时,先判断这两个预测框是否存在交集,若存在交集,根据借鉴iou的思想定义iouconcat,当两个人体预测框的iouconcat大于0.5时,就将这两个区域进行融合。
所述人体目标区域特征提取模块,是基于空洞卷积的inception网络,通过引入不同尺度的空洞卷积,获得更大感受野的局部信息,提高网络对局部信息的感知能力。对输入的图片首先使用1*1标准卷积跨通道组织信息,提高网络的表达能力,并且提供更多的非线性变换。然后使用1*1和3*3的标准卷积核对输出的特征进行二次卷积,增加网络对不同人体尺度的适应性。接着,使用不同扩张率的空卷积再次前一步的输出特征进行卷积,获取更大感受野的局部信息,提升对小尺寸人体目标的检测性能。再将不同分支输出的卷积特征按照像素点级别相加,并使用1*1的标准卷积对相加之后的特征再次卷积,消除由于使用不同大小卷积核的卷积造成的混叠效应。最后将输出的融合卷积特征通过relu函数进行非线性激活。
所述关键点检测与集成模块是一个级联的multi-stage的网络,同时对人体关键点置信图和部位关系图进行预测,并且在每一个stage后都设置了损失函数,最终输出关键点置信度图和部位关系图并进行肢体匹配,得到最后的多人关键点检测结果。
一种基于教室场景的多人关键点检测方法,具体操作步骤如下:
步骤1:人体目标区域检测,检测图片中每个学生的区域,这里的学生目标检测不需要太过精细。
步骤2:人体目标区域融合,将所述人体目标区域检测模块中粗略检测出的学生的区域进行融合。
步骤3:人体目标区域特征提取,对人体目标区域融合模块融合后的学生区域进行特征提取。
步骤4:关键点检测与集成模块,对存在学生的区域进行关键点置信度和部位关系亲和度的预测,再进行肢体匹配,得到最终的多人关键点检测结果。
所述步骤1的具体步骤为:
步骤1.1:对输入图像进行1次密集连接卷积和3次残差卷积提取特征,可更好地实现网络多层特征的复用和融合;
步骤1.2:通过3组残差模块加深特征提取网络的结构,提高模型对图像深层特征的选择和提取能力;
步骤1.3:使用多尺度金字塔结构,通过2次上采样并与网络上层中相同尺寸的特征图进行张量拼接,进行3次回归预测,实现对不同尺寸目标的多尺度检测;
步骤1.4:使用giou损失函数代替yolov3的边界框回归损失函数;
步骤1.5:目标置信度损失、目标类别损失以及目标边界框回归损失同时参加反向传播,设置迭代次数为50000,学习率为0.0001,权重衰减为0.0004,帮助网络完成训练。
所述步骤2的具体步骤为:
步骤2.1:先对步骤1中检测到的人体框进行放大,并且保证放大后的人体框边界不超过图像的边界。
步骤2.2:先通过人体预测框的坐标关系,判断任意两个人体框是否存在交集,如果存在,就计算这两个人体框的iouconcat值。当两个人体框的iouconcat大于一定的阈值(设置为0.5),就进行区域融合。这里,iouconcat的定义为任意两个人体预测框的交集与两个预测框较小的框的比值。
所述步骤3的具体步骤为:
步骤3.1:对输入的图片,使用1*1标准卷积跨通道组织信息,提高网络的表达能力,并且提供更多的非线性变换。
步骤3.2:使用1*1和3*3的标准卷积核对步骤3.1中输出的特征进行二次卷积,增加网络对不同人体尺度的适应性。
步骤3.3:使用不同扩张率的空卷积对步骤3.2中的输出特征进行卷积,获取更大感受野的局部信息,提升对小尺寸人体目标的检测性能。
步骤3.4:将不同分支输出的卷积特征按照像素点级别相加,并使用1*1的标准卷积对相加之后的特征再次卷积,消除由于使用不同大小卷积核的卷积造成的混叠效应。
步骤3.5:将步骤3.4输出的融合卷积特征通过relu函数进行非线性激活,得到最终提取的特征。
所述步骤4的具体步骤为:
步骤4.1:将步骤3中输出的特征图输入到stage1,分别预测关键点置信度图s1和部位亲和矢量场l1;
步骤4.2:将步骤4.1中预测得到的s1和l1加上原始步骤3中输出的特征图输入到stage2中进行预测得到s2和l2;
步骤4.3:之后的stage都以前一个stage输出的s和l加上步骤3输出的特征图作为输入,一直到stage6,得到最终预测的结果;
步骤4.4:对步骤4.3中最终得到的人体关键点置信度图使用非极大值抑制nms得到离散的关键点集,可得到由这些离散点组合的候选肢体段;
步骤4.5:根据步骤4.3中得到的部位关系图对步骤4.4中的候选肢体段进行打分,通过匈牙利算法进行最大二部图匹配,得到最终的关键点检测结果。
本发明与现有技术相比,具有如下显而易见的突出实质性和显著的技术进步:
1)本发明提出了一个top-down和bottom-up相结合的多人关键点检测网络。针对教室场景下的遮挡、后排小尺寸学生的定位检测难以及在非人区域检测到关键点的问题,本发明利用多个stage进行高效特征融合,基于多尺度特征融合策略对openpose和yolov3网络分别做了一些改进,并将这两个网络融合进一个框架。本发明包括4个模块,分别是:人体区域检测模块、人体区域融合模块、人体区域特征提取模块、关键点的检测与集成模块。
2)本发明借鉴密集连接的思想,在浅层网络使用密集连接卷积块,用密集连接卷积对输入图像提取特征,并使用giou损失函数代替yolov3的边界框回归损失函数,使浅层特征可以更好更快地传达到深层网络,提升检测精度,改善了对教室后排低分辨率学生定位难的问题。
3)本发明提出了基于空洞卷积的inceptionnet网络(inception-dcnet),并用inception-dcnet替换openpose的backbone部分(vgg-19),目的是为了获得更大感受野的局部信息,提高网络对局部信息的感知能力,改善教室后排小目标学生的定位检测问题。
附图说明
图1是本发明基于教室场景的多人关键点检测网络结构示意图。
图2是教室场景下多人关键点检测的效果图
图3是步骤1融合了密集连接块的yolo-desnet网络的结构示意图。
图4是步骤3基于空洞卷积的inceptionnet(inception-dcnet)网络的结构示意图。
图5是步骤4预测关键点置信度图和部位关系图的网络结构示意图。
具体实施方案
以下结合附图和优选实施例对本发明进行详细描述:
实施例一:
在本实施例中,如图1所示,一种基于教室场景的多人关键点检测网络,包括人体目标区域检测模块1、人体目标区域融合模块2、人体目标区域特征提取模块3、关键点检测与集成模块4;所述人体目标区域检测模块1依次连接人体目标区域融合模块2、人体目标区域特征提取模块3和关键点检测与集成模块4;所述人体目标区域检测模块1,用于检测图片中每个学生的区域;所述人体目标区域融合模块2,用于将所述人体目标区域检测模块1中粗略检测出的学生的区域进行融合;所述人体目标区域特征提取模块3,用于对所述人体目标区域融合模块2中融合后的学生区域进行特征提取;所述关键点检测与集成模块4,用于对存在学生的区域进行关键点置信度和部位关系亲和度的预测,再进行肢体匹配,得到最终的多人关键点检测结果。
实施例二:
本实施例与实施例一基本相同,特别之处如下:
本实施例比实施例一更加具体,所述人体目标区域检测模块,用于检测图片中每个学生的区域,这里的学生目标检测不需要太过精细,允许一个检测框中包含多个学生,参见附图3。
所述人体目标区域融合模块,用于将所述人体目标区域检测模块中检测出的学生的区域进行融合。
所述人体目标区域特征提取模块,用于对所述人体目标区域融合模块中融合后的学生区域进行特征提取,参见附图4。
所述关键点检测与集成模块,用于对存在学生的区域进行关键点置信度和部位关系亲和度的预测,再进行肢体匹配,得到最终的多人关键点检测结果,参见附图5。
所述人体目标区域检测模块是在浅层网络引入了密集连接模块的yolov3网络,用密集连接卷积对输入图像提取特征,并且使用giou损失函数代替yolov3的边界框回归损失函数,使浅层特征和深层特征可以更好更快地进行融合,提升检测精度,改善对教室后排低分辨率学生检测难的问题,参见附图3。
所述人体目标区域融合模块,先对由人体目标区域检测模块检测出的人体框进行放大,确保放大后的人体预测框边界不超过原始图像的边界。对任意两个人体预测框进行融合时,先判断这两个预测框是否存在交集,若存在交集,根据借鉴iou的思想定义ioumax,当两个人体预测框的ioumax大于0.5时,就将这两个区域进行融合。
所述人体目标区域特征提取模块,是基于空洞卷积的inception网络,通过引入不同尺度的空洞卷积,获得更大感受野的局部信息,提高网络对局部信息的感知能力。对输入的图片首先使用1*1标准卷积跨通道组织信息,提高网络的表达能力,并且提供更多的非线性变换。然后使用1*1和3*3的标准卷积核对输出的特征进行二次卷积,增加网络对不同人体尺度的适应性。接着,使用不同扩张率的空卷积再次前一步的输出特征进行卷积,获取更大感受野的局部信息,提升对小尺寸人体目标的检测性能。再将不同分支输出的卷积特征按照像素点级别相加,并使用1*1的标准卷积对相加之后的特征再次卷积,消除由于使用不同大小卷积核的卷积造成的混叠效应。最后将输出的融合卷积特征通过relu函数进行非线性激活,参见附图4。
所述关键点检测与集成模块是一个级联的multi-stage的网络,同时对人体关键点置信图和部位关系图进行预测,并且在每一个stage后都设置了损失函数,最终输出关键点置信度图和部位关系图并进行肢体匹配,得到最后的多人关键点检测结果,参见附图5。
实施例三:
如图1所示,一种基于教室场景的多人关键点检测方法,采用上述网络进行操作,具体网络流程步骤如下:
步骤1:人体目标区域检测,检测图片中每个学生的区域,这里的学生目标检测不需要太过精细。
步骤2:人体目标区域融合,将所述人体目标区域检测模块中粗略检测出的学生的区域进行融合。
步骤3:人体目标区域特征提取,对人体目标区域融合模块融合后的学生区域进行特征提取。
步骤4:关键点检测与集成模块,对存在学生的区域进行关键点置信度和部位关系亲和度的预测,再进行肢体匹配,得到最终的多人关键点检测结果。
实施例四:
本实施例与实施例三基本相同,特别之处如下:
如图3所示,所述步骤1的具体步骤为:
步骤1.1:对输入图像进行1次密集连接卷积和3次残差卷积提取特征,可以更好地实现网络多层特征的复用和融合。
步骤1.2:通过3组残差模块加深特征提取网络的结构,提高模型对图像深层特征的选择和提取能力。
步骤1.3:使用多尺度金字塔结构,通过2次上采样并与网络上层中相同尺寸的特征图进行张量拼接,进行3次回归预测,实现对不同尺寸目标的多尺度检测。
步骤1.4:使用giou损失函数代替yolov3的边界框回归损失函数。
步骤1.5:目标置信度损失、目标类别损失以及目标边界框回归损失同时参加反向传播,设置迭代次数为50000,学习率为0.0001,权重衰减为0.0004,帮助网络完成训练。
所述步骤2的具体步骤为:
步骤2.1:先对步骤1中检测到的人体框进行放大,并且保证放大后的人体框边界不超过图像的边界。
步骤2.2:先通过人体预测框的坐标关系,判断任意两个人体框是否存在交集,如果存在,就计算这两个人体框的iouconcat值。当两个人体框的iouconcat大于一定的阈值(设置为0.5),就进行区域融合。这里,iouconcat的定义为任意两个人体预测框的交集与两个预测框较小的框的比值。
如图4所示,所述步骤3的具体步骤为:
步骤3.1:对输入的图片,使用1*1标准卷积跨通道组织信息,提高网络的表达能力,并且提供更多的非线性变换。
步骤3.2:使用1*1和3*3的标准卷积核对步骤3.1中输出的特征进行二次卷积,增加网络对不同人体尺度的适应性。
步骤3.3:使用不同扩张率的空洞卷积对步骤3.2中的输出特征进行卷积,获取更大感受野的局部信息,提升对小尺寸人体目标的检测性能。
步骤3.4:将不同分支输出的卷积特征按照像素点级别相加,并使用1*1的标准卷积对相加之后的特征再次卷积,消除由于使用不同大小卷积核的卷积造成的混叠效应。
步骤3.5:将步骤3.4输出的融合卷积特征通过relu函数进行非线性激活,得到最终提取的特征。
如图5所示,所述步骤4的具体步骤为:
步骤4.1:将步骤3中输出的特征图输入到stage1,分别预测关键点置信度图s1和部位亲和矢量场l1。
步骤4.2:将步骤4.1中预测得到的s1和l1加上原始步骤3中输出的特征图输入到stage2中进行预测得到s2和l2。
步骤4.3:之后的stage都以前一个stage输出的s和l加上步骤3输出的特征图作为输入,一直到stage6,得到最终预测的结果。
步骤4.4:对步骤4.3中最终得到的人体关键点置信度图使用nms(非极大值抑制)得到离散的关键点集,可得到由这些离散点组合的候选肢体段。
步骤4.5:根据步骤4.3中得到的部位关系图对步骤4.4中的候选肢体段进行打分,通过匈牙利算法进行最大二部图匹配,得到最终的关键点检测结果。
本发明提出了一个top-down和bottom-up相结合的多人关键点检测网络,包括4个模块,分别是:人体区域检测模块、人体区域融合模块、人体区域特征提取模块、关键点的检测与集成模块。针对教室场景下的遮挡、后排小尺寸学生的定位检测难以及在非人区域检测到关键点的问题,本发明基于多尺度特征融合策略对openpose和yolov3网络分别做了一些改进,并将这两个网络融合进一个框架。利用多个stage进行高效特征融合,获取局部更大的感受野信息,针对误检关键点、小目标学生的定位检测问题,取得了不错的效果。
上面对本发明实施例结合附图进行了说明,但本发明不限于上述实施例,还可以根据本发明的发明创造的目的做出多种变化,凡依据本发明技术方案的精神实质和原理下做的改变、修饰、替代、组合或简化,均应为等效的置换方式,只要符合本发明的发明目的,只要不背离本发明基于教室场景的多人关键点检测网络和方法的技术原理和发明构思,都属于本发明的保护范围。