CN116311349A - 一种基于轻量神经网络的人体关键点检测方法 - Google Patents
一种基于轻量神经网络的人体关键点检测方法 Download PDFInfo
- Publication number
- CN116311349A CN116311349A CN202310063070.0A CN202310063070A CN116311349A CN 116311349 A CN116311349 A CN 116311349A CN 202310063070 A CN202310063070 A CN 202310063070A CN 116311349 A CN116311349 A CN 116311349A
- Authority
- CN
- China
- Prior art keywords
- human body
- key point
- point detection
- detection method
- stage
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 48
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 27
- 238000013461 design Methods 0.000 claims abstract description 11
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims abstract description 9
- 101150071953 CBR1 gene Proteins 0.000 claims abstract description 4
- 238000012549 training Methods 0.000 claims description 28
- 238000004821 distillation Methods 0.000 claims description 24
- 230000000694 effects Effects 0.000 claims description 24
- 238000000034 method Methods 0.000 claims description 23
- 230000004913 activation Effects 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000010606 normalization Methods 0.000 claims description 10
- 238000013139 quantization Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 claims description 4
- 238000005457 optimization Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 claims description 4
- 230000007423 decrease Effects 0.000 claims description 3
- 230000009467 reduction Effects 0.000 claims description 3
- 230000001174 ascending effect Effects 0.000 claims 1
- 238000000605 extraction Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/103—Static body considered as a whole, e.g. static pedestrian or occupant recognition
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于轻量神经网络的人体关键点检测方法,属于计算机视觉领域,包括以下步骤:S1:轻量化架构设计:按照轻量化神经网络的设计策略,构建网络模型;网络模型的结构包括有图像输入、stem,R4、st1,R4、st2,R8、st3,R16、st4,R32、d1,R16、d2,R8,d3,R4、conv 1×1;S1.1:向网络模型中输入图像即为特征图,特征图的h=256,w=192;特征图经过stem层,stem层主要由残差块连接组成;S1.2:stem层主要由残差块连接构成,stem层由两组相同结构组成,且单个结构组成包括有:CBR 3×3,s2、CBR 1×1、CBR 3×3;S1.3。本发明通设计了一个轻量级的人体关键点检测网络模型,这个网络模型的运算量和参数量都比较小,且在CPU上能实时的检测人体身上的关键点位。
Description
技术领域
本发明涉及计算机视觉领域,具体为一种基于轻量神经网络的人体关键点检测方法。
背景技术
人体关键点检测是计算机视觉中的基础但是又具有挑战性的问题。其目的是定位出人体的二维平面的关键关节点的坐标。
它有非常多的运用,例如:行为识别、游戏娱乐、电影姿态捕捉、人再识别等等。人体关键点检测是一个早在20世纪70年代就开始研究的课题,但是人体关键点检测一直难以达到可以应用的水平。随着大规模数据集ImageNet以及深度卷积神经网络的兴起,卷积神经网络和人体关键点检测相结合,这时候关键点检测的才真正具有一定的可以应用水平。
但是,目前的最前沿的方法往往需要很宽和很深的卷积网络,这带来了巨大的参数和巨大的浮点数运算。虽然这些方法有很高的正确率,但是一个主要的缺点是,这种巨大的模型往往在推理中非常耗时,使得这些模型比较难地在移动设备或者其它小功率嵌入式设备中布置,难以将其从昂贵的设备上落地到智能终端产品。
为此,提出一种基于轻量神经网络的人体关键点检测方法。
发明内容
1.要解决的技术问题
针对现有技术中存在的问题,本发明的目的在于设计了一个轻量级的人体关键点检测网络模型,这个网络模型的运算量和参数量都比较小,且在CPU上能实时的检测人体身上的关键点位。
2.技术方案
为解决上述问题,本发明采用如下的技术方案。
1.一种基于轻量神经网络的人体关键点检测方法,
包括以下步骤:
S1:轻量化架构设计:按照轻量化神经网络的设计策略,构建网络模型;网络模型的结构包括有图像输入、stem,R4、st1,R4、st2,R8、st3,R16、st4,R32、d1,R16、d2,R8,d3,R4、conv 1×1;
S1.1:向网络模型中输入图像即为特征图,特征图的h=256,w=192;特征图经过stem层,stem层主要由残差块连接组成;
S1.2:stem层主要由残差块连接构成,stem层由两组相同结构组成,且单个结构组成包括有:CBR 3×3,s2、CBR 1×1、CBR 3×3;
S1.3:特征图经过stem层后,送入下采样阶段:
S1.4:下采样阶段由四个结构相同的卷积块构成,不同的是每个卷积块深度不同,下采样阶段每个模块主要结构包括有:CBR 3×3,s2、CB 1×1、CBR 3×3、CB 1×1、ReLU、Channels Attention;
S1.5:特征图经过下采样阶段后,还需要通过上采样阶段将特征图进行尺寸的恢复,上采样阶段与下采样结构基本一致,不同的是该模块首先经过反卷积(Tran,Transposed Convolution的简写)操作,然后进行降维(与下采样的操作相反,该阶段需要将深度语义信息转换到宽度语义信息,即二维视角),后面再接一个残差,一个激活和通道注意力模块;
S1.6:最后,上述网络模型中的conv 1×1是将维度转换为即将预测的人体关键点个数,每个维度就是一个二维数组,即关键点的预测信息,值最大的那个坐标位置表示预测的峰值,计算出每个维度的峰值即得到人体各个部位的关键点位置信息;
S2:分阶段蒸馏策略:分别设置了五个阶段,从左往右,每次蒸馏学习时,只对某一阶段进行训练学习,其余阶段的网络被冻结,即参数保持不变,且不用计算该阶段之后的网络,只调整该阶段的参数权重;
S3:工程优化:蒸馏后,我们还使用神经网络的量化方法,再次对得到的小模型进行优化,大幅度降低网络模型的参数量;
S4:结果对比分析;
S5:推理检测效果。
优选的,所述S1.2中,CBR分别代表卷积操作(Convolution)、归一化(BatchNormalization)、激活函数ReLU,其中1×1或者3×3代表卷积核的大小,S2表示卷积操作时的卷积核移动步长为2。
优选的,所述S1.2中,stem层有两组相同结构组成,因此有两个步长为2的卷积操作,那么经过stem层后,原始输入图像尺寸被缩小4倍,假设原始尺寸为R(h×w),那么经过stem层后的尺寸为R/4,其的主要作用是提取图像浅层的语义信息,同时也压缩的图像,为后续进一步的操作而做准备。
优选的,所述S1.4中,CB 1×1是点卷积加上归一化操作,其作用主要是将网络维度进行升高,因为越往后面,特征图的尺寸在逐渐缩小,为了保持提取到的信息不被丢失且有效提取,那么需要更多的参数来拟合特征信息,就需要更深的维度。
优选的,所述S1.4中,st1、st2、st3、st4(st表示stage的简写)每个阶段先进行由步长为2的卷积操作,然后由1×1的点卷积进行升维,再由四个重复的残差结构有效地进行深度信息提取,其中ReLU是激活函数,最后,再由通道注意力机制(Channels Attention)将有用的通道赋予更大的权重。
优选的,所述S1.5中,特征图在四个下采样操作后,由原来的尺寸R变为了R/32,按照原始特征尺寸取256×192的尺寸,那么R/32即为8×6,这时候基本无法准确预测人体各个关键点的位置信息,最后用来预测人体各个部位关键点位置信息的特征图越大精度越高,但是也需要更多的计算力和内存,平衡精度和计算复杂度,需要取64×48(h=64,w=48)大小的尺寸,因此还需要将特征图恢复尺寸。
优选的,在S2中,人体关键点网络模型的蒸馏原理具体为:学生网络作为训练对象,配合教师网络HRNet预测输出形成的软标签以及人为制作的硬标签进行训练,对于人体关键点检测任务,制作的标签为多维数组,维度是待检测关键点的个数,每个维度是一个二维数组,每个位置为0或者0-1之间的数值,越大代表该位置越接近正确位置,在训练过程中,其损失来自软标签和硬标签的加权平均,这种方式比直接用硬标签训练效果更好。
优选的,在S2中,对于分类任务,如果软标签的熵要比硬标签高,那显然学生网络会学习到更多的信息,在蒸馏时设计一个α参数作为评判学生网络学习效果的标准值,让α大于0.5,效果会更好在整个训练中,只有第五阶段需要硬标签。
3.有益效果
相比于现有技术,本发明的优点在于:
1.本发明设计了一个轻量级的人体关键点检测网络模型,这个网络模型的运算量和参数量都比较小,且在CPU上能实时的检测人体身上的关键点位。
2.本发明通过分阶段蒸馏策略以及具体的蒸馏过程让学生网络学习到教师网络的泛化能力,理论上得到的训练效果会比单纯拟合训练数据的效果要好。
3.本发明通过工程量化对人体检测模型也一并做了量化优化,量化就是将神经网络的浮点算法转换为定点,这可以在移动设备上实现网络的实时运行,对云计算部署也有较大帮助。
附图说明
图1为本发明的轻量级人体关键点检测网络结构图;
图2为本发明的网络stem层主要组成结构图;
图3为本发明的下采样阶段每个模块的主要结构图;
图4为本发明的上采样阶段每个模块的主要结构图;
图5为本发明的人体关键点网络模型蒸馏原理图;
图6为本发明的分阶段蒸馏策略原理图;
图7为本发明的检测效果图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述;显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
包括以下步骤:
1.一种基于轻量神经网络的人体关键点检测方法,
包括以下步骤:
S1:轻量化架构设计:按照轻量化神经网络的设计策略,构建网络模型;网络模型的结构包括有图像输入、stem,R4、st1,R4、st2,R8、st3,R16、st4,R32、d1,R16、d2,R8,d3,R4、conv 1×1;
S1.1:向网络模型中输入图像即为特征图,特征图的h=256,w=192;特征图经过stem层,stem层主要由残差块连接组成;
S1.2:stem层主要由残差块连接构成,stem层由两组相同结构组成,且单个结构组成包括有:CBR 3×3,s2、CBR 1×1、CBR 3×3;
S1.3:特征图经过stem层后,送入下采样阶段:
S1.4:下采样阶段由四个结构相同的卷积块构成,不同的是每个卷积块深度不同,下采样阶段每个模块主要结构包括有:CBR 3×3,s2、CB 1×1、CBR 3×3、CB 1×1、ReLU、Channels Attention;
S1.5:特征图经过下采样阶段后,还需要通过上采样阶段将特征图进行尺寸的恢复,上采样阶段与下采样结构基本一致,不同的是该模块首先经过反卷积(Tran,Transposed Convolution的简写)操作,然后进行降维(与下采样的操作相反,该阶段需要将深度语义信息转换到宽度语义信息,即二维视角),后面再接一个残差,一个激活和通道注意力模块;
S1.6:最后,上述网络模型中的conv 1×1是将维度转换为即将预测的人体关键点个数,每个维度就是一个二维数组,即关键点的预测信息,值最大的那个坐标位置表示预测的峰值,计算出每个维度的峰值即得到人体各个部位的关键点位置信息;
S2:分阶段蒸馏策略:分别设置了五个阶段,从左往右,每次蒸馏学习时,只对某一阶段进行训练学习,其余阶段的网络被冻结,即参数保持不变,且不用计算该阶段之后的网络,只调整该阶段的参数权重;
S3:工程优化:蒸馏后,我们还使用神经网络的量化方法,再次对得到的小模型进行优化,大幅度降低网络模型的参数量;
S4:结果对比分析;
S5:推理检测效果。
优选的,所述S1.2中,CBR分别代表卷积操作(Convolution)、归一化(BatchNormalization)、激活函数ReLU,其中1×1或者3×3代表卷积核的大小,S2表示卷积操作时的卷积核移动步长为2。
优选的,所述S1.2中,stem层有两组相同结构组成,因此有两个步长为2的卷积操作,那么经过stem层后,原始输入图像尺寸被缩小4倍,假设原始尺寸为R(h×w),那么经过stem层后的尺寸为R/4,其的主要作用是提取图像浅层的语义信息,同时也压缩的图像,为后续进一步的操作而做准备。
优选的,所述S1.4中,CB 1×1是点卷积加上归一化操作,其作用主要是将网络维度进行生高,因为越往后面,特征图的尺寸在逐渐缩小,为了保持提取到的信息不被丢失且有效提取,那么需要更多的参数来拟合特征信息,就需要更深的维度。
优选的,所述S1.4中,st1、st2、st3、st4(st表示stage的简写)每个阶段先进行由步长为2的卷积操作,然后由1×1的点卷积进行升维,再由四个重复的残差结构有效地进行深度信息提取,其中ReLU是激活函数,最后,再由通道注意力机制(Channels Attention)将有用的通道赋予更大的权重。
优选的,所述S1.5中,特征图在四个下采样操作后,由原来的尺寸R变为了R/32,按照原始特征尺寸取256×192的尺寸,那么R/32即为8×6,这时候基本无法准确预测人体各个关键点的位置信息,最后用来预测人体各个部位关键点位置信息的特征图越大精度越高,但是也需要更多的计算力和内存,平衡精度和计算复杂度,需要取64×48(h=64,w=48)大小的尺寸,因此还需要将特征图恢复尺寸。
优选的,在S2中,人体关键点网络模型的蒸馏原理具体为:学生网络作为训练对象,配合教师网络HRNet预测输出形成的软标签以及人为制作的硬标签进行训练,对于人体关键点检测任务,制作的标签为多维数组,维度是待检测关键点的个数,每个维度是一个二维数组,每个位置为0或者0-1之间的数值,越大代表该位置越接近正确位置,在训练过程中,其损失来自软标签和硬标签的加权平均,这种方式比直接用硬标签训练效果更好。
优选的,在S2中,对于分类任务,如果软标签的熵要比硬标签高,那显然学生网络会学习到更多的信息,在蒸馏时设计一个α参数作为评判学生网络学习效果的标准值,让α大于0.5,效果会更好在整个训练中,只有第五阶段需要硬标签。
通过上述技术方案可以得知,由于网络模型的计算复杂度会随着输入图像的尺寸增大而增加,因此整张输入图像不能太大,能满足实际检测精度最低要求时,尽可能缩小尺寸。根据人体的高宽比例,一般的,在人体关键点检测任务中,会按照高宽为4:3的比例将输入网络模型中的图像进行缩放或者填充。实际中一般取256×192或者384×288的输入尺寸。该发明中,由于需要满足网络模型尽可能的轻量化,因此我们取前者,即图像中的h=256,w=192。输入图像经过stem层,stem层主要由残差块连接组成,具体可以参考图1;
参考图2,输入经过stem层后,即将送入下采样阶段,该阶段由四个结构相同的卷积块构成,不同的是每个卷积块深度不同;紫色CB 1×1是点卷积加上归一化操作,其作用主要是将网络维度进行生高,因为越往后面,特征图的尺寸在逐渐缩小,为了保持提取到的信息不被丢失且有效提取,那么需要更多的参数来拟合特征信息,就需要更深的维度。因此st1、st2、st3、st4(st表示stage的简写)每个阶段先进行由步长为2的卷积操作,然后由1×1的点卷积进行升维,再由四个重复的残差结构有效地进行深度信息提取,其中ReLU是激活函数。最后,再由通道注意力机制(Channels Attention)将有用的通道赋予更大的权重。
特征图在四个下采样操作后,由原来的尺寸R变为了R/32。如果按照原始特征尺寸取256×192的尺寸,那么R/32即为8×6,这时候基本无法准确预测人体各个关键点的位置信息。最后用来预测人体各个部位关键点位置信息的特征图越大精度越高,但是也需要更多的计算力和内存,平衡精度和计算复杂度,一般取64×48(h=64,w=48)大小的尺寸。因此我们还需要将其恢复尺寸。即图1中的d1、d2、d3阶段。上采样阶段每个模块的主要结构具体可以参考图4。
上采样阶段与下采样结构基本一致,不同的是该模块首先经过反卷积(Tran,Transposed Convolution的简写)操作,然后进行降维(与下采样的操作相反,该阶段需要将深度语义信息转换到宽度语义信息,即二维视角),后面再接一个残差,一个激活和通道注意力模块。
后的conv 1×1是将维度转换为即将预测的人体关键点个数,每个维度就是一个二维数组,即关键点的预测信息,值最大的那个坐标位置表示预测的峰值,计算出每个维度的峰值即得到人体各个部位的关键点位置信息。
最后需要说明的是,关于维度信息。在我们设计的人体关键点检测网络中,我们尝试了三种维度,具体参数和不同效果如下表:
(网络结构中不同维度对比)
从表中可以看出,维度在一定范围内,越高效果越好,但是越高,参数量反而越大,精度的收益不明显甚至下降。我们测试了三种,最终选取的是model2中的维度参数。
好模型的目标不是拟合训练数据,而是学习如何泛化到新的数据。所以蒸馏的目标是让学生网络学习到教师网络的泛化能力,理论上得到的训练效果会比单纯拟合训练数据的效果要好。另外,对于分类任务,如果软标签的熵要比硬标签高,那显然学生网络会学习到更多的信息。因此,我们在蒸馏时设计了一个α参数,如图5所示,让α大于0.5,效果会更好。
教师网络即一个已经训练好的,且精度较高的网络模型,该模型一般参数量大,鲁棒性强。学生网络即设计的一种轻量级的神经网络,待训练。软标签是教师网络的预测输出,硬标签是制作的人为制作的标签。对于人体关键点检测任务,制作的标签为多维数组,维度是待检测关键点的个数,每个维度是一个二维数组,每个位置为0或者0-1之间的数值,越大代表该位置越接近正确位置。在训练过程中,其损失来自软标签和硬标签的加权平均,这种方式比直接用硬标签训练效果更好。
在本发明中,我们使用了一种分阶段的蒸馏方式,具体可以参考图6,分别设置了五个阶段,从左往右,每次蒸馏学习时,只对某一阶段进行训练学习,其余阶段的网络被冻结,即参数保持不变,且不用计算该阶段之后的网络,只调整该阶段的参数权重。这样的好处是,根据教师网络的不同阶段情况进行详细学习,使得我们设计的学生网络模型更加具有教师网络模型的强拟合能力,但是不是阶段越多越好,过多的阶段会使得网络的精度在局部具有巨大的震荡。在整个训练中,只有第五阶段需要硬标签。
蒸馏后,我们还使用神经网络的量化方法,再次对得到的小模型进行优化,大幅度降低网络模型的参数量。随着模型预测越来越准确,网络越来越深,神经网络消耗的内存大小也越来越大,尤其是在移动设备上。通常情况下,目前的手机一般配备4GB或者6GB内存来支持多个应用程序的同时运行。而三个模型运行一次通常就要占用1-2GB内存。模型大小不仅是内存容量问题,也是内存带宽问题。模型在每次预测时都会使用模型的权重,图像相关的应用程序通常需要实时处理数据,这意味着至少30FPS(Frame Per Second,每帧数)。网络运行时,内存,CPU和电池会都在飞速消耗,如果为了让设备变得智能一点点就负担如此昂贵的代价,则是不太可取的方法。
特别是对于人体关键点检测网络模型而言,这个问题显得更加的重要。对于多人人体关键点检测模型可以采用两种方式实现,一种是先检测图中的人体,然后将检测到的人体送入检测关键点的网络;另一种是直接检测图中存在的各种人体身上的关键点位。这两种方法各有优略,前者一般精度较高,因为第一环节检测人体时会将单个的人框出来,这相当于已经剔除的非人部位的一些干扰,但检测的时间复杂度会随着图中人数的增加而增大;后者的检测精度一般较前者方法低,虽然只做一次检测,但是需要进行繁琐的后处理,将不同的关键点位,正确的匹配到对的人体身上,这个环节会增加一个误差。当一幅图像中人体较多时,第二种方法在时间上有较大优势,当一幅图像中人群越密集越复杂时,第一种方法在精度上有较大优势。
本发明采用的是第一种方案,因此,对人体检测模型也一并做了量化优化。量化就是将神经网络的浮点算法转换为定点。这可以在移动设备上实现网络的实时运行,对云计算部署也有较大帮助。
我们设计的模型和其余四个模型的对比。选取了目前人体关键点检测领域中比较成熟且流行的方案,我们设计的模型在经过蒸馏和量化后,网络模型的权重参数仅6.4M,浮点数仅3.2,且运算时间22.1ms,这个时间对比是测试同一张图像100次,取均值。具体可参考下表:
(训练结构对比分析)
如图7所示,我们找了一张人群比较复杂的图像,选取精度较高的HRNet-W48网络作对比,两者检测的结果显示出,基本一致的效果,说明我们设计的网络在实际检测中还是可靠的。
以上所述,仅为本发明较佳的具体实施方式;但本发明的保护范围并不局限于此。任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其改进构思加以等同替换或改变,都应涵盖在本发明的保护范围内。
Claims (8)
1.一种基于轻量神经网络的人体关键点检测方法,其特征在于:
包括以下步骤:
S1:轻量化架构设计:按照轻量化神经网络的设计策略,构建网络模型;网络模型的结构包括有图像输入、stem,R4、st1,R4、st2,R8、st3,R16、st4,R32、d1,R16、d2,R8,d3,R4、conv 1×1;
S1.1:向网络模型中输入图像即为特征图,特征图的h=256,w=192;特征图经过stem层,stem层主要由残差块连接组成;
S1.2:stem层主要由残差块连接构成,stem层由两组相同结构组成,且单个结构组成包括有:CBR 3×3,s2、CBR 1×1、CBR 3×3;
S1.3:特征图经过stem层后,送入下采样阶段:
S1.4:下采样阶段由四个结构相同的卷积块构成,不同的是每个卷积块深度不同,下采样阶段每个模块主要结构包括有:CBR 3×3,s2、CB 1×1、CBR 3×3、CB 1×1、ReLU、Channels Attention;
S1.5:特征图经过下采样阶段后,还需要通过上采样阶段将特征图进行尺寸的恢复,上采样阶段与下采样结构基本一致,不同的是该模块首先经过反卷积(Tran,TransposedConvolution的简写)操作,然后进行降维(与下采样的操作相反,该阶段需要将深度语义信息转换到宽度语义信息,即二维视角),后面再接一个残差,一个激活和通道注意力模块;
S1.6:最后,上述网络模型中的conv 1×1是将维度转换为即将预测的人体关键点个数,每个维度就是一个二维数组,即关键点的预测信息,值最大的那个坐标位置表示预测的峰值,计算出每个维度的峰值即得到人体各个部位的关键点位置信息;
S2:分阶段蒸馏策略:分别设置了五个阶段,从左往右,每次蒸馏学习时,只对某一阶段进行训练学习,其余阶段的网络被冻结,即参数保持不变,且不用计算该阶段之后的网络,只调整该阶段的参数权重;
S3:工程优化:蒸馏后,我们还使用神经网络的量化方法,再次对得到的小模型进行优化,大幅度降低网络模型的参数量;
S4:结果对比分析;
S5:推理检测效果。
2.根据权利要求1所述的一种基于轻量神经网络的人体关键点检测方法,其特征在于:所述S1.2中,CBR分别代表卷积操作(Convolution)、归一化(Batch Normalization)、激活函数ReLU,其中1×1或者3×3代表卷积核的大小,S2表示卷积操作时的卷积核移动步长为2。
3.根据权利要2所述的一种基于轻量神经网络的人体关键点检测方法,其特征在于:所述S1.2中,stem层有两组相同结构组成,因此有两个步长为2的卷积操作,那么经过stem层后,原始输入图像尺寸被缩小4倍,假设原始尺寸为R(h×w),那么经过stem层后的尺寸为R/4,其的主要作用是提取图像浅层的语义信息,同时也压缩的图像,为后续进一步的操作而做准备。
4.根据权利要求1所述的一种基于轻量神经网络的人体关键点检测方法,其特征在于:所述S1.4中,CB 1×1是点卷积加上归一化操作,其作用主要是将网络维度进行升高,因为越往后面,特征图的尺寸在逐渐缩小,为了保持提取到的信息不被丢失且有效提取,那么需要更多的参数来拟合特征信息,就需要更深的维度。
5.根据权利要求4所述的一种基于轻量神经网络的人体关键点检测方法,其特征在于:所述S1.4中,st1、st2、st3、st4(st表示stage的简写)每个阶段先进行由步长为2的卷积操作,然后由1×1的点卷积进行升维,再由四个重复的残差结构有效地进行深度信息提取,其中ReLU是激活函数,最后,再由通道注意力机制(Channels Attention)将有用的通道赋予更大的权重。
6.根据权利要求1所述的一种基于轻量神经网络的人体关键点检测方法,其特征在于:所述S1.5中,特征图在四个下采样操作后,由原来的尺寸R变为了R/32,按照原始特征尺寸取256×192的尺寸,那么R/32即为8×6,这时候基本无法准确预测人体各个关键点的位置信息,最后用来预测人体各个部位关键点位置信息的特征图越大精度越高,但是也需要更多的计算力和内存,平衡精度和计算复杂度,需要取64×48(h=64,w=48)大小的尺寸,因此还需要将特征图恢复尺寸。
7.根据权利要求1所述的一种基于轻量神经网络的人体关键点检测方法,其特征在于:在S2中,人体关键点网络模型的蒸馏原理具体为:学生网络作为训练对象,配合教师网络HRNet预测输出形成的软标签以及人为制作的硬标签进行训练,对于人体关键点检测任务,制作的标签为多维数组,维度是待检测关键点的个数,每个维度是一个二维数组,每个位置为0或者0-1之间的数值,越大代表该位置越接近正确位置,在训练过程中,其损失来自软标签和硬标签的加权平均,这种方式比直接用硬标签训练效果更好。
8.根据权利要求6所述的一种基于轻量神经网络的人体关键点检测方法,其特征在于:在S2中,对于分类任务,如果软标签的熵要比硬标签高,那显然学生网络会学习到更多的信息,在蒸馏时设计一个α参数作为评判学生网络学习效果的标准值,让α大于0.5,效果会更好,在整个训练中,只有第五阶段需要硬标签。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310063070.0A CN116311349A (zh) | 2023-01-20 | 2023-01-20 | 一种基于轻量神经网络的人体关键点检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310063070.0A CN116311349A (zh) | 2023-01-20 | 2023-01-20 | 一种基于轻量神经网络的人体关键点检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116311349A true CN116311349A (zh) | 2023-06-23 |
Family
ID=86795012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310063070.0A Pending CN116311349A (zh) | 2023-01-20 | 2023-01-20 | 一种基于轻量神经网络的人体关键点检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116311349A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116934859A (zh) * | 2023-09-18 | 2023-10-24 | 博志生物科技(深圳)有限公司 | 基于矢状位图的关键点识别方法及相关装置 |
-
2023
- 2023-01-20 CN CN202310063070.0A patent/CN116311349A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116934859A (zh) * | 2023-09-18 | 2023-10-24 | 博志生物科技(深圳)有限公司 | 基于矢状位图的关键点识别方法及相关装置 |
CN116934859B (zh) * | 2023-09-18 | 2024-01-05 | 博志生物科技(深圳)有限公司 | 基于矢状位图的关键点识别方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111476219B (zh) | 智能家居环境中图像目标检测方法 | |
CN111639692A (zh) | 一种基于注意力机制的阴影检测方法 | |
CN109919174A (zh) | 一种基于门控级联注意力机制的文字识别方法 | |
CN110738146A (zh) | 一种目标重识别神经网络及其构建方法和应用 | |
CN112364931A (zh) | 基于元特征和权重调整的少样本目标检测方法及网络模型 | |
CN116630824B (zh) | 一种面向电力巡检机制的卫星遥感图像边界感知语义分割模型 | |
CN109376787A (zh) | 流形学习网络及基于其的计算机视觉图像集分类方法 | |
CN115471670A (zh) | 一种基于改进yolox网络模型的空间目标检测方法 | |
CN112950780A (zh) | 一种基于遥感影像的网络地图智能生成方法及系统 | |
CN114463759A (zh) | 一种基于无锚框算法的轻量化文字检测方法及装置 | |
CN113743505A (zh) | 基于自注意力和特征融合的改进ssd目标检测方法 | |
Zhang et al. | FCHP: Exploring the discriminative feature and feature correlation of feature maps for hierarchical DNN pruning and compression | |
CN117409358A (zh) | 一种融合BiFPN的轻量化火焰检测方法 | |
CN116311349A (zh) | 一种基于轻量神经网络的人体关键点检测方法 | |
CN115222754A (zh) | 一种基于知识蒸馏和对抗学习的镜面图像分割方法 | |
CN117975002A (zh) | 一种基于多尺度伪标签融合的弱监督图像分割方法 | |
CN110728186A (zh) | 一种基于多网融合的火灾检测方法 | |
CN114494284B (zh) | 一种基于显式监督区域关系的场景解析模型及方法 | |
CN117173595A (zh) | 基于改进YOLOv7的无人机航拍图像目标检测方法 | |
CN112990336B (zh) | 基于竞争注意力融合的深度三维点云分类网络构建方法 | |
CN116188363A (zh) | 一种水电站绝缘子图像检测系统和方法 | |
CN114299535A (zh) | 基于Transformer的特征聚合人体姿态估计方法 | |
CN113902904A (zh) | 一种轻量化网络架构系统 | |
CN111402223A (zh) | 一种利用变电站视频图像的变电站缺陷问题检测方法 | |
CN115909045B (zh) | 一种基于对比学习的two-stage滑坡图谱特征智能识别方法 |
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 |