一种基于KPNet的人体颈部关键点识别方法及系统与流程

文档序号:32221849发布日期:2022-11-16 10:06阅读:37来源:国知局
一种基于KPNet的人体颈部关键点识别方法及系统与流程
一种基于kpnet的人体颈部关键点识别方法及系统
技术领域
1.本发明涉及计算机视觉技术领域,更具体地说,特别涉及一种基于kpnet的人体颈部关键点识别方法及系统。


背景技术:

2.目标检测指的是在图像或视频中,找到目标位置并进行分类。近年来,由于其广泛运用而引起了重视,然而让机器学会目标检测是一个艰巨的任务。目标检测需要识别并定位视野中某个目标的所有实例,是计算机视觉领域的基础问题,同时医疗影像处理研究也是近年来目标检测领域的一个重要分支。
3.现今出现的检测器主要分为两大类:两阶段检测器和一阶段检测器,如果一个网络有一个单独的模块用于生成region proposals(区域候选框),那么该网络就称为两阶段检测器。这种模型试着在第一阶段找到一定数量的目标proposals的阶段耗时较长,且结构复杂、缺乏全局信息。而使用一阶段检测器通过密集采样直接对予以目标进行分类和定位,它们使用预定义的不同比例和长宽比boxes/points来定位目标,其在实时性以及更简单的设计方面超过了两阶段检测器。
4.centernet作为一种新兴的一阶段检测器采用一种不同的方法,将对象建模为点,而不是传统的边界框表示。centernet将对象预测为包围框中心的单个点。输入图像通过fcn生成热力图,热力图的峰值对应被检测物体的中心。它使用imagenet预训练的hourglass-101作为特征提取网络,有3个head(头):点目标中心点的热力图头、目标尺寸宽高头、目标中心点偏移头。在训练时,三个头的多任务损失被反向传播到特征提取器中。在推理过程中,利用偏移头的输出来确定对象点,最终生成一个方框。由于预测是点,而不是结果,这里不需要使用非最大抑制(nms)进行后处理。以往的目标检测通常将目标识别为与坐标轴平行的一个方框。大多数目标检测器都是先列出所有可能的目标位置边框,然后逐个进行分类,这种方法及其浪费低效且需要额外后处理的方式。
5.与其他一阶段的检测器相比较,centernet与conearnet、fcos类似,均是基于关键点的anchor-free目标检测框架,不同之处在于其将关键点设定为目标中心点,其他属性通过回归获得,且由于只有一个点,所以不需要对检测到的关键点进行分组。由于这种特性,其框架极其简单,且无nms后处理(仅通过热力图峰值topk去重,和nms功能类似但更快),采用coco数据集进行训练的性能对比如图1所示。
6.可见使用centernet网络以一个新颖的角度,相对于之前的一阶检测器更加的准确,推理时间更短。具有较高的精度,经常用于三维目标检测、关键点估计、姿态、实例分割、方向检测等多种任务。以往已经投入到很多的应用情景,像手势检测、人脸识别和人体的姿态检测等等,并且融入到各行企业已经相当成熟。
7.但是传统的centernet网络主要应用于目标检测,对图像进行各个对象的识别。为了将其应用于医疗领域内的关键点检测任务,有必要开发一种基于kpnet的人体颈部关键点识别方法及系统。


技术实现要素:

8.本发明的目的在于提供一种基于kpnet的人体颈部关键点识别方法及系统,以克服现有技术所存在的缺陷。
9.为了达到上述目的,本发明采用的技术方案如下:
10.一种基于kpnet的人体颈部关键点识别方法,包括以下步骤:
11.s1、采集包括人体颈部关键点的若干图像;
12.s2、构建包括人体颈部关键点的训练数据集和验证数据集;
13.s3、对centernet网络进行改进,改进后的centernet网络包括主干网络、上采样模块和预测头,所述主干网络为去掉全连接层的分类模型,所述主干网络用于将输入的人体颈部图片的分辨率低32倍并得到第一特征图,所述上采样模块为多层转置卷积,所述上采样模块用于将第一特征图的分辨率恢复至人体颈部图片的1/4倍并输出第二特征图,所述预测头的输出部分仅保留预测热力图的头,所述预测头包括3*3卷积、1*1卷积以及sigmoid激活函数;
14.s4、对改进后的centernet网络采用步骤s2中的训练数据集进行训练,得到相应的权重和巡视函数,并基于验证数据集进行验证,若验证集损失函数稳定下降且网络训练过程中不存在过拟合和欠拟合现象,则可用于测试集测试,否则修改并扩充数据集继续重新训练直至验证合格;
15.s5、通过相机拍摄得到的实际获取的人体颈部图像输入到网络进行关键点检测;
16.s6、将每个预测特征图的像素值以二维正态分布,取二维正态分布的峰值作为预测关键点,并将该预测关键点结合相机拍摄到的人体颈部点云信息,得出关键点的坐标信息。
17.进一步地,所述人体颈部关键点包括底部中心点、底部左侧点、底部右侧点、顶部左侧点和顶部右侧点。
18.进一步地,所述预测结果的输出通道为5个。
19.进一步地,所述步骤s4中使用focal loss和l1 loss分别计算热力图损失和特征点偏移损失;
20.所述热力图损失的公式为:
[0021][0022]
所述特征点偏移损失的公式为:
[0023][0024]
设输入为i∈rw×h×3,则预测的热力图为:其中,r为输出步长,c是类别数,,w和h表示输入的图像的宽和高,表示gt值,是两个超参数,othrerwise是指除了y
xyc
=1的情况外的其他情况,n为关键点个数;
[0025]
对于i中的任一关键点p∈r2,其对应的输出步幅为r的关键点为点p

(x,y)对应的热力图通过高斯公式计算:其中,σ
p
代表目标大小标准差,则热力图的损失使用修改后的损失函数定义如下:
[0026][0027]
本发明还提供一种根据上述的基于kpnet的人体颈部关键点识别方法的系统,包括:
[0028]
采集模块,用于采集包括人体颈部关键点的若干图像;
[0029]
构建模块,用于构建包括人体颈部关键点的训练数据集和验证数据集;
[0030]
改进模块,用于对centernet网络进行改进,改进后的centernet网络包括主干网络、上采样模块和预测头,所述主干网络为去掉全连接层的分类模型,所述主干网络用于将输入的人体颈部图片的分辨率低32倍并得到第一特征图,所述上采样模块为多层转置卷积,所述上采样模块用于将第一特征图的分辨率恢复至人体颈部图片的1/4倍并输出第二特征图,所述预测头的输出部分仅保留预测热力图的头,所述预测头包括3*3卷积、1*1卷积以及sigmoid激活函数;
[0031]
训练模块,用于对改进后的centernet网络采用步骤s2中的训练数据集进行训练,得到相应的权重和巡视函数,并基于验证数据集进行验证,若验证集损失函数稳定下降且网络训练过程中不存在过拟合和欠拟合现象,则可用于测试集测试,否则修改并扩充数据集继续重新训练直至验证合格;
[0032]
输入模块,用于将采集模块中若干图像输入至kpnet网络输出预测特征图;
[0033]
计算模块,用于将每个预测特征图的像素值以二维正态分布,取二维正态分布的峰值作为预测关键点,并将该预测关键点恢复至人体颈部图片中的像素坐标,得出关键点的坐标信息。
[0034]
与现有技术相比,本发明的优点在于:本发明提供的一种基于kpnet的人体颈部关键点识别方法及系统,本发明沿用centernet网络模型的特点,并对其进行改进,最终得到kpnet网络,具体来说,相对于传统对图像的各个目标识别并以文本显示其类别和置信度,本发明通过改进网络热图处理输出需要的关键点,相应的其数据集标签也从锚框变成了关键点;本发明首次使用改进的centernet网络进行关键点识别,方便应用于医学甚至其他领域的关键点识别。
附图说明
[0035]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0036]
图1是现有技术中使用coco数据集的各种探测器实时的速度-性能平衡对比图。
[0037]
图2是本发明基于kpnet的人体颈部关键点识别方法的流程图。
[0038]
图3是本发明中kpnet网络结构图。
[0039]
图4是本发明中关键点检测结果图。
[0040]
图5是本发明中输出的热力图。
[0041]
图6是本发明基于kpnet的人体颈部关键点识别系统的原理图。
具体实施方式
[0042]
下面结合附图对本发明的优选实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
[0043]
参阅图2所示,本实施例公开了一种基于kpnet的人体颈部关键点识别方法,包括以下步骤:
[0044]
步骤s1、采集包括人体颈部关键点的若干图像。
[0045]
具体的,人体颈部关键点包括底部中心点、底部左侧点、底部右侧点、顶部左侧点和顶部右侧点。
[0046]
步骤s2、构建包括人体颈部关键点的训练数据集和验证数据集,训练数据集和验证数据集的比例可以根据实际需求进行设定。
[0047]
步骤s3、对centernet网络进行改进,改进后的centernet网络包括主干网络、上采样模块和预测头,所述主干网络为去掉全连接层的分类模型,所述主干网络用于将输入的人体颈部图片的分辨率低32倍并得到第一特征图,所述上采样模块为多层转置卷积,所述上采样模块用于将第一特征图的分辨率恢复至人体颈部图片的1/4倍并输出第二特征图,所述预测头的输出部分仅保留预测热力图的头,所述预测头包括3*3卷积、1*1卷积以及sigmoid激活函数,预测结果的输出通道为5个。
[0048]
由于centernet网络是一种anchor free的目标检测算法,其推理结果中包括预测框的中心点、宽高和中心点偏移三个属性。本实施例借鉴centernet网络回归中心点的思想,去除掉其中的宽高和中心点偏移部分,将改进后的网络应用于关键点检测任务。
[0049]
如图3所示,对于一张图像作为输入,假设其宽高尺寸为n*n(这里忽略通道数),经过一个主干网络(resnet50或者hourglass),就得到了一个分辨率降低32倍的特征图;然后需要一个上采样模块,将分辨率恢复到原图的1/4倍,也即进行了8倍上采样;最后接上一个回归中心点热力图的预测头。
[0050]
步骤s4、对改进后的centernet网络采用步骤s2中的训练数据集进行训练,得到相应的权重和巡视函数,并基于验证数据集进行验证,若验证集损失函数稳定下降且网络训练过程中不存在过拟合和欠拟合现象,则可用于测试集测试,否则修改并扩充数据集继续重新训练直至验证合格。
[0051]
具体的,训练的损失函数中,设输入为i∈rw×h×3,则预测的热力图为:其中,r为输出步长,c是类别数,
[0052]
对于i中的任一关键点p∈r2,其对应的输出步幅为r的关键点为点p

(x,y)对应的热力图通过高斯公式计算:其中,σ
p
代表目标大小
标准差,则热力图的损失使用修改后的损失函数定义如下:
[0053][0054]
当时,易分类样本的预测值接近为1,此时就表示一个很小的数值,此时的损失函数的数值就比较小,起到了降低该样本权重的作用;当t
xyc
=1时,易分类样本的预测值接近为0,此时就表示一个很小的数值,此时的损失函数的数值就比较大,起到了增加该样本权重的作用;当时,为了防止预测值过高的接近1,利用来充当惩罚项,而(1-y
xyc
)
β
这个参数离中心点越近,其数值就越小,用来进一步减轻这个惩罚力度。
[0055]
步骤s5、通过相机拍摄得到的实际获取的人体颈部图像输入到网络进行关键点检测。
[0056]
步骤s6、将每个预测特征图的像素值以二维正态分布,取二维正态分布的峰值作为预测关键点,并将该预测关键点结合相机拍摄到的人体颈部点云信息,得出关键点的坐标信息,可以以文件的形式存储记录。
[0057]
由于传统的基于centernet模型的目标检测是利用主干网络提取到的初步特征经过三次转置卷积得到大小为128
×
128的高分辨率特征图,然后将其输入到三个预测头得到三个预测属性(热力图、中心点偏移和宽高),最后利用这些预测结果得到预测框在原图中的位置,从而完成目标识别任务。而本实施例针对的是关键点检测任务,因此在输出部分只留下预测热力图的头。由于需要回归出5个关键点的位置(如图4所示),所以将热力图的通道数设置为5。此时将一张rgb图像输入网络后,首先会经过主干网络进行特征提取,然后经过三次转置卷积提高特征图的分辨率,最后再经过预测热力图头,得到5张热力图(如图5所示),分别对应于5个不同的关键点。
[0058]
参阅图6所示,本发明还提供一种根据上述的基于kpnet的人体颈部关键点识别方法的系统,包括:采集模块1,用于采集包括人体颈部关键点的若干图像;构建模块2,用于构建包括人体颈部关键点的训练数据集和验证数据集;改进模块3,用于对centernet网络进行改进,改进后的centernet网络包括主干网络、上采样模块和预测头,所述主干网络为去掉全连接层的分类模型,所述主干网络用于将输入的人体颈部图片的分辨率低32倍并得到第一特征图,所述上采样模块为多层转置卷积,所述上采样模块用于将第一特征图的分辨率恢复至人体颈部图片的1/4倍并输出第二特征图,所述预测头的输出部分仅保留预测热力图的头,所述预测头包括3*3卷积、1*1卷积以及sigmoid激活函数;训练模块4,用于对改进后的centernet网络采用步骤s2中的训练数据集进行训练,得到相应的权重和巡视函数,并基于验证数据集进行验证,若验证集损失函数稳定下降且网络训练过程中不存在过拟合和欠拟合现象,则可用于测试集测试,否则修改并扩充数据集继续重新训练直至验证合格;输入模块5,用于将采集模块中若干图像输入至kpnet网络输出预测特征图;计算模块6,用于将每个预测特征图的像素值以二维正态分布,取二维正态分布的峰值作为预测关键点,并将该预测关键点恢复至人体颈部图片中的像素坐标,得出关键点的坐标信息。
[0059]
本发明利用网络提取到的特征信息进行热力图预测,从而实现关键点检测,网络的推理过程为端到端过程,即输入一张人体颈部的rgb图像,输出颈部关键点的像素坐标,可以作为后续医疗检测的重要参考位置。
[0060]
虽然结合附图描述了本发明的实施方式,但是专利所有者可以在所附权利要求的范围之内做出各种变形或修改,只要不超过本发明的权利要求所描述的保护范围,都应当在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1