CN117333937A - 基于分类和蒸馏的人体姿态估计方法、装置及电子设备 - Google Patents
基于分类和蒸馏的人体姿态估计方法、装置及电子设备 Download PDFInfo
- Publication number
- CN117333937A CN117333937A CN202311227441.0A CN202311227441A CN117333937A CN 117333937 A CN117333937 A CN 117333937A CN 202311227441 A CN202311227441 A CN 202311227441A CN 117333937 A CN117333937 A CN 117333937A
- Authority
- CN
- China
- Prior art keywords
- model
- module
- distillation
- human body
- lightweight
- 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
- 238000000034 method Methods 0.000 title claims abstract description 86
- 238000004821 distillation Methods 0.000 title claims abstract description 45
- 238000013528 artificial neural network Methods 0.000 claims abstract description 35
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 35
- 238000012549 training Methods 0.000 claims description 14
- 238000005516 engineering process Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 12
- 238000013140 knowledge distillation Methods 0.000 claims description 11
- 230000004913 activation Effects 0.000 claims description 8
- 238000001514 detection method Methods 0.000 abstract description 13
- 230000009471 action Effects 0.000 abstract description 7
- 238000012986 modification Methods 0.000 abstract description 4
- 230000004048 modification Effects 0.000 abstract description 4
- 230000000694 effects Effects 0.000 description 10
- 238000013461 design Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000013139 quantization Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000005286 illumination Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012952 Resampling Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/20—Movements or behaviour, e.g. gesture recognition
- G06V40/23—Recognition of whole body movements, e.g. for sport training
-
- 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
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- 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/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Psychiatry (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Social Psychology (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种基于分类和蒸馏的人体姿态估计方法、装置及电子设备,涉及神经网络技术领域,方法包括:获取待识别图像;基于轻量级神经网络算法对待识别图像的每个像素点的特征进行卷积,获得输出值;对输出值进行关键点坐标分类,得到水平和垂直坐标;使用回归蒸馏的方式提高轻量化模型的精度;基于提高精度后的模型对所述水平和垂直坐标进行识别,得到人体姿态估计。可以使用基于回归蒸馏的方式,可以将一个复杂的模型转化为一个轻量级的模型,从而大大提高模型的性能,提高模型对困难动作或恶劣环境下的检测性能,提高模型的鲁棒性和泛化能力。不同于特征蒸馏的方式,可以减少对模型的结构的修改,加快模型落地的速度,更加便于模型的部署和产品的应用。
Description
技术领域
涉及神经网络技术领域,尤其涉及一种基于分类和蒸馏的人体姿态估计方法、装置及电子设备。
背景技术
2D人体姿态估计作为计算机视觉的基础任务之一,是一个非常重要的研究领域。指从一张2D图像中,自动地识别和定位出人体的关键点(例如头部、手臂、腿部等)的技术。其目的是从静态图像中推断出人体的姿势和运动状态。它在计算机视觉领域中具有重要的应用价值和意义。2D人体姿态估计可以应用于许多方向如人机交互,通过识别和跟踪人体姿态,可以实现更加自然和直观的人机交互方式,例如手势识别、身体动作控制等。如健身训练,可以用于健身训练领域,自动评估和纠正健身者的动作姿势,提高训练的效果和安全性。如增强现实,可以应用于增强现实领域,实时跟踪人体姿态和运动状态,提供更加真实和自然的增强现实体验。总之,2D人体姿态估计技术具有广泛的应用前景和商业价值,未来还有很多可能的拓展方向和应用场景。
最近关于2D姿态估计的研究在公共基准测试中取得了优异的性能,但2D姿态估计技术在复杂环境下的表现仍然不够理想。例如,当存在遮挡、光照不足、背景复杂等情况时,2D姿态估计模型容易出现误检、漏检等问题,并且在实际应用仍然存在模型参数繁重和延迟高的问题,这对于实际应用来说是不可接受的。
其次2D姿态估计技术仍然存在一些精度和效率方面的问题。例如在一些需要实时处理的场景下,2D姿态估计算法的运行速度和精度之间存在着一定的矛盾,需要进行权衡。
因此实际的应用产品中,对模型的速度与精度的要求往往很高,为了更好的开阔市场,使受众用户更多,2D姿态估计技术往往需要部署在计算资源有限的嵌入式设备中到达实时、精准的效果。
发明内容
本发明实施例提供一种基于分类和蒸馏的人体姿态估计方法、装置及电子设备,可以使用基于回归蒸馏的方式,可以将一个复杂的模型转化为一个轻量级的模型,从而大大提高模型的性能,提高模型对困难动作或恶劣环境下的检测性能,提高模型的鲁棒性和泛化能力。不同于特征蒸馏的方式,可以减少对模型的结构的修改,加快模型落地的速度,更加便于模型的部署和产品的应用。
为达到上述目的,本发明采用如下技术方案:
第一方面,提供一种基于分类和蒸馏的人体姿态估计方法,应用于人体姿态估计系统,所述方法包括:获取待识别图像;基于轻量级神经网络算法对待识别图像的每个像素点的特征进行卷积,获得输出值;对输出值进行关键点坐标分类,得到水平和垂直坐标;使用回归蒸馏的方式提高轻量化模型的精度;基于提高精度后的模型对所述水平和垂直坐标进行识别,得到人体姿态估计。
结合第一方面,在一种可能的设计方案中,所述基于轻量级神经网络算法对待识别图像的每个像素点的特征进行卷积,获得输出值之前,还包括:采用MobileOne作为基础骨干网络;MobileOneBlock使用结构重参数化技术,通过一个参数量大的模型结构下获得高精度的模型;再通过结构重参数化技术获得一个参数量小的模型。
结合第一方面,在一种可能的设计方案中,所述MobileOneBlock使用结构重参数化技术,通过一个参数量大的模型结构下获得高精度的模型,包括:模型训练时MobileOneBlock有两个基本模块分别为RDW模块和RPW模块,输入值通过RDW模块后连接一个Relu激活函数后再通过一个RPW模块,获得输出值。
结合第一方面,在一种可能的设计方案中,所述模型训练时MobileOneBlock有两个基本模块分别为RDW模块和RPW模块,输入值通过RDW模块后连接一个Relu激活函数后再通过一个RPW模块,获得输出值,包括:RDW模块由1x1的逐点卷积(PW)、1个3x3的逐通道卷积(DW)和BN模块组成,输入值分别通过这三个模块并进行shortcut操作,获得输出值;RPW模块由1个1x1的逐点卷积(PW)和BN模块组成,输入值分别通过这两个模块并进行shortcut,获得输出值。
结合第一方面,在一种可能的涉及方案中,所述基于轻量级神经网络算法对待识别图像的每个像素点的特征进行卷积,获得输出值,包括:模型推理的时候,对RDW模块和RPW模块进行重参数化分别对应DW模块与PW模块;逐点卷积(PW)是一个卷积核大小为1×1的卷积操作;逐通道卷积(DW)是在每个输入通道上分别进行卷积操作。
结合第一方面,在一种可能的涉及方案中,所述对输出值进行关键点坐标分类,得到水平和垂直坐标,包括:关键点坐标分类模块有两个FC层,Y分别通过FC1层和FC2层,FC1输出n个关键点的水平轴坐标分类信息Ox,FC2输出n个关键点的的垂直轴坐标分类信息Oy。
结合第一方面,在一种可能的设计方案中,所述方法还包括:第i个关键点的预测坐标计算方法为:/>
结合第一方面,在一种可能的设计方案中,所述使用回归蒸馏的方式提高轻量化模型的精度,包括:基于轻量级神经网络算法模块的模型作为学生模型,选择常见基于ResNet101主干模块的模型作为教师模型;使用教师模型对学生模型进行回归蒸馏。
第二方面,提供一种实现基于分类和蒸馏的人体姿态估计装置,应用于人体姿态估计系统,所述装置包括:图像采集模块,用于获取待识别图像;轻量级神经网络算法模块,用于基于轻量级神经网络算法对待识别图像的每个像素点的特征进行卷积,获得输出值;关键点坐标分类模块,用于对输出值进行关键点坐标分类,得到水平和垂直坐标;知识蒸馏训练策略模块,用于使用回归蒸馏的方式提高轻量化模型的精度;基于提高精度后的模型对所述水平和垂直坐标进行识别,得到人体姿态估计。
第三方面,本发明实施例提供了一种电子设备。包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行如第一方面所述的方法。
本申请实施例提供的一种基于分类和蒸馏的人体姿态估计方法,可以使用基于回归蒸馏的方式,可以将一个复杂的模型转化为一个轻量级的模型,从而大大提高模型的性能,提高模型对困难动作或恶劣环境下的检测性能,提高模型的鲁棒性和泛化能力。不同于特征蒸馏的方式,可以减少对模型的结构的修改,加快模型落地的速度,更加便于模型的部署和产品的应用。
附图说明
图1示出了本申请实施例提供的基于分类和蒸馏的人体姿态估计方法;
图2示出了本申请实施例提供的轻量级神经网络算法模块和关键点坐标分类模块的结构框图;
图3示出了本申请实施例中推理的重参数化过程;
图4示出了本申请实施例提供的实现基于分类和蒸馏的人体姿态估计装置的结构框图;
图5示出了本申请实施例提供的电子设备的结构框图。
附图说明:实现基于分类和蒸馏的人体姿态估计装置-400;电子设备-2000;处理器-2001;存储器-2002。
具体实施方式
下面结合附图,对本发明中的技术方案进行描述。
在本发明实施例中,“示例地”、“例如”等词用于表示作例子、例证或说明。本发明中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。此外,在本发明实施例中,“和/或”所表达的含义可以是两者都有,或者可以是两者任选其一。
本发明实施例中,“图像”,“图片”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。“的(OF)”,“相应的(CORRESPONDING,RELEVANT)”和“对应的(CORRESPONDING)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
本发明实施例中,有时候下标如W1可能会笔误为非下标的形式如W1,在不强调其区别时,其所要表达的含义是一致的。
查阅近年来在2D姿态估计的研究,2D人体姿态估计技术主要可以分为两类:基于深度学习的方法和传统的计算机视觉方法。传统的2D基于分类和蒸馏的人体姿态估计方法通常基于手工设计的特征提取算法和机器学习模型,其优点是较为简单和高效,但是精度和鲁棒性通常远不如基于深度学习的方法。
基于深度学习的方法,Heatmap和回归是两种常见的2D基于分类和蒸馏的人体姿态估计方法。但是两个方法各有优缺点。Heatmap方法可以将人体关键点检测问题转化为像素级分类问题,具有更好的可解释性。相比于回归方法,Heatmap方法在复杂的场景中,例如有遮挡、光照变化等情况下更具有鲁棒性。但是缺点也很明显Heatmap方法在低分辨率图片上检测效果不好,对于一些小尺寸、低分辨率的关键点,Heatmap方法难以准确检测,需要更高的分辨率才能达到较好的效果。为了提升精度,需要多个上采样层来将特征图分辨率由低向高进行恢复,通常来说上采样会使用转置卷积来获得更好的性能,但相应的计算量也更大,骨干网络输出的特征图原本通道数就已经很高了,再上采样带来的开销是非常庞大的。需要额外的后处理来减小尺度下降带来的量化误差。这都会导致无法在计算资源有限的嵌入式设备中使用。
回归方法能够更准确地对每个关键点进行精确定位,对于小尺寸、低分辨率的关键点也能够较好地处理。回归方法可以直接回归关键点坐标,相比于Heatmap方法,可以获得更精确的坐标。但是回归方法在复杂场景下检测不好,例如光照变化、遮挡等,回归方法的表现远不如Heatmap方法稳定。
针对精度和速度之间的矛盾问题,可以通过引入更加高效的网络结构和算法来提高模型的精度。例如,使用轻量化的网络结构、注意力机制、剪枝技术等来减少模型的计算量和参数量,提高模型的运行速度和实时性。此外,也可以通过集成多个不同的模型或者使用迁移学习等方法来提高模型的精度。
基于上述的问题,本发明主要面向于移动端、嵌入式设备的一种基于知识蒸馏和坐标分类的实时2D基于分类和蒸馏的人体姿态估计方法。传统的Heatmap方法通过2D高斯分布生成高斯热图作为标签,监督模型输出,通过L2 loss来进行优化。而这种方法下得到的Heatmap尺寸往往是小于图片原尺寸的,因而最后通过argmax得到的坐标放大回原图,会承受不可避免的量化误差。
因此基于关键点坐标分类模块可以将人体关键点检测问题转化为坐标分类问题,即将每个像素点进行分类,确定其是否属于某个关键点。这种方法的优点是可以显著减少误差传递和增强对小目标的检测能力。相比于传统的Heatmap方法可以避免误差的传递,因为它是基于每个关键点独立地进行分类和定位的,而不是在同一个Heatmap中共同学习和回归所有关键点。在实际测试中发现添加关键点坐标分类模块能提高模型对于人体关键点检测能力并且与Heatmap方式有相同的效果并且速度上比Heatmap快,能实现在嵌入式等设备中实时检测的效果。
模型压缩方面,使用的轻量级主干网络,采用结构重参数化,可以保证模型精度的同时提高模型的推理速度,重参数化后的模型能明显减少模型复杂度,提高模型泛化能力。训练策略方面采用知识蒸馏的方法,由于基于关键点坐标分类模块将人体关键点检测问题转化为坐标分类问题,可以使用基于回归蒸馏的方式,可以将一个复杂的模型(如一个大型深度神经网络)转化为一个轻量级的模型(如一个小型神经网络),从而大大提高模型的性能,提高模型对困难动作或恶劣环境下的检测性能,提高模型的鲁棒性和泛化能力。不同于特征蒸馏的方式,可以减少对模型的结构的修改,加快模型落地的速度,更加便于模型的部署和产品的应用。
请参阅图1,图1示出了基于分类和蒸馏的人体姿态估计方法的流程图,具体包括步骤S110至步骤S150。
步骤S110:获取待识别图像;
步骤S120:基于轻量级神经网络算法对待识别图像的每个像素点的特征进行卷积,获得输出值;
步骤S130:对输出值进行关键点坐标分类,得到水平和垂直坐标;
步骤S140:使用回归蒸馏的方式提高轻量化模型的精度;
步骤S150:基于提高精度后的模型对所述水平和垂直坐标进行识别,得到人体姿态估计。
在一些实施方式中,基本架构是基于关键点坐标分类的人体姿态估计,并嵌入轻量级神经网络算法模块,获得一个轻量级的的人体姿态估计模型,并构建一个知识蒸馏的结构用于进一步提升模型的性能。
其中可以基于图像采集模型获取待识别图像。图像采集模块采用任意单目摄像头。可以通过轻量化模型基于轻量级神经网络算法对待识别图像的每个像素点的特征进行卷积,获得输出值。轻量化模型的核心设计是轻量级神经网络算法模块和关键点坐标分类模块,其模型的结构框图如图2所示。
其中,在执行步骤S110之前,还包括采用MobileOne作为基础骨干网络;MobileOneBlock使用结构重参数化技术,通过一个参数量大的模型结构下获得高精度的模型;再通过结构重参数化技术获得一个参数量小的模型。
具体的,请参阅图2,该轻量级神经网络算法模块采用MobileOne作为基础骨干网络,MobileOne有4个MobileOneBlock,从而组成图2示出的轻量级神经网络算法模块。MobileOneBlock使用结构重参数化技术,因此通过一个参数量大的模型结构下获得高精度的模型,再通过结构重参数化技术获得一个参数量小的模型,并且保持原有的精度的同时大幅度提升模型的推理速度。
对于一些实施方式,在执行MobileOneBlock使用结构重参数化技术,通过一个参数量大的模型结构下获得高精度的模型时,还可以包括:模型训练时MobileOneBlock有两个基本模块分别为RDW模块和RPW模块,输入值通过RDW模块后连接一个Relu激活函数后再通过一个RPW模块,获得输出值。
模型训练时MobileOneBlock有两个基本模块分别为RDW模块和RPW模块,输入值通过RDW模块后连接一个Relu激活函数后再通过一个RPW模块。RDW模块由1x1的逐点卷积(PW)、1个3x3的逐通道卷积(DW)和BN模块组成,输入值分别通过这三个模块并进行shortcut操作,获得输出值。RPW模块由1个1x1的逐点卷积(PW)和BN模块组成,输入值分别通过这两个模块并进行shortcut,获得输出值。模型推理的时候,对RDW模块和RPW模块进行重参数化分别对应DW模块与PW模块。
在执行模型训练时MobileOneBlock有两个基本模块分别为RDW模块和RPW模块,输入值通过RDW模块后连接一个Relu激活函数后再通过一个RPW模块,获得输出值时,还可以包括:RDW模块由1x1的逐点卷积(PW)、1个3x3的逐通道卷积(DW)和BN模块组成,输入值分别通过这三个模块并进行shortcut操作,获得输出值;RPW模块由1个1x1的逐点卷积(PW)和BN模块组成,输入值分别通过这两个模块并进行shortcut,获得输出值。
对于一些实施方式,在执行步骤S120时,还可以包括模型推理的时候,对RDW模块和RPW模块进行重参数化分别对应DW模块与PW模块;逐点卷积是一个卷积核大小为1×1的卷积操作;逐通道卷积是在每个输入通道上分别进行卷积操作。
具体的,请参阅图3,图3示出了本申请实施例中推理的重参数化过程。逐点卷积(PW)是一个卷积核大小为1×1的卷积操作,即对每个像素点的特征进行卷积,也可以说是对每个像素点进行一个全连接操作。这种卷积的作用是调整特征的通道数,通过调整通道数,可以控制模型的复杂度和计算量,同时还可以增加模型的非线性性。逐通道卷积(DW)是在每个输入通道上分别进行卷积操作,而不是使用一个统一的卷积核来卷积整个输入。它可以被看作是对每个输入通道使用一个独立的卷积核,而每个通道的输出都独立于其他通道的输出。因此,逐通道卷积不会增加输出通道的数量,而只会改变通道的深度。
在一些实施方式中,在执行步骤S130时,还可以包括关键点坐标分类模块有两个FC层,Y分别通过FC1层和FC2层,FC1输出n个关键点的水平轴坐标分类信息Ox,FC2输出n个关键点的的垂直轴坐标分类信息Oy。
具体的,关键点坐标分类模块的核心思想是把人体姿态估计任务视为水平和垂直坐标的两个分类任务,并通过将每个像素划分为多个bins来减少量化误差。通过MobileOne主干网络获取特征图Z,首先需要经过rearrange层将Z的矩阵大小(n,H,W)展平到(n,HxW)得到新特征图Y,其中n表示关键点的数量,H为Z矩阵的高,W为Z矩阵的宽。关键点坐标分类模块有两个FC层,Y分别通过FC1层和FC2层,FC1输出n个关键点的水平轴坐标分类信息Ox,FC2输出n个关键点的的垂直轴坐标分类信息Oy。
其中,第i个关键点的预测坐标计算方法为如下公式1所示。
为了实现分类,我们模型训练之前需要对数据进行处理,将每个连续坐标值统一离散化为整数作为模型训练的类标签,以便于与预测坐标进行损失计算。其中Nx=W·k,Ny=H·k分别表示水平轴和垂直轴的bins数。k是splitting因子,设置为:k≥1以减少量化误差,从而产生亚像素定位精度,cx和cy为关键点的标签信息。使用KL散度作为损失函数Lhard,计算目标标签和预测指的KL散度。
在一些实施方式中,在执行步骤S140时,还可以包括基于轻量级神经网络算法模块的模型作为学生模型,选择常见基于ResNet101主干模块的模型作为教师模型;使用教师模型对学生模型进行回归蒸馏。
具体的,由于解耦坐标表征模块的核心思想是把人体姿态估计任务视为水平和垂直坐标的两个分类任务,那么就可以使用回归蒸馏的方式提高轻量化模型的精度。因此基于轻量级神经网络算法模块的模型作为学生模型,选择常见基于ResNet101主干模块的模型作为教师模型。需要训练教师模型获得一个高精度模型。使用教师模型对学生模型进行回归蒸馏其结构图如下图3所示。
教师模型输出PT,学生模型输出PS,为了使学生模型可以拟合出教师模型的输出分布,因此教师模型输出作为软标签与学生模型输出进行损失计算,其公式2所示。
其中为PT输出的第j个类别,/>为PS输出的第j个类别,N为总标签数量。
由于使用知识蒸馏方式后,对学生模型进行知识蒸馏的损失和原始检测模型损失的合并,其公式3如下。
Lloss=αLsoft+(1-α)Lhard 公式3
其中Lsoft为蒸馏损失,Lhard为人体关键点的关键点坐标分类损失。
本申请提供的实施方式中,使用基于MobileOne轻量级神经网络算法模块,可以保证模型在速度和精度都能达到部署和产品的需求。采用关键点坐标分类模块可以使得模型具有更高的准确性、更快的推理速度和更低的计算复杂度。最后结合知识蒸馏训练策略对轻量级的的人体姿态估计模型进一步提高模型的精度,提高困难动作或恶劣环境下的检测性能,提高模型的鲁棒性和泛化能力。
基于图1、图2以及图3详细说明了本申请实施例提供的基于分类和蒸馏的人体姿态估计方法,以下将详细说明与本申请实施例提供的基于分类和蒸馏的人体姿态估计装置。
如图4所示,实现基于分类和蒸馏的人体姿态估计装置400包括:图像采集模块410、轻量级神经网络算法模块420、关键点坐标分类模块430以及知识蒸馏训练策略模块440。
为了便于说明,图4仅示出了该实现基于分类和蒸馏的人体姿态估计装置400的主要部件。
图像采集模块410,用于获取待识别图像。
轻量级神经网络算法模块420,用于基于轻量级神经网络算法对待识别图像的每个像素点的特征进行卷积,获得输出值。
可选的,轻量级神经网络算法模块420还可以用于采用MobileOne作为基础骨干网络;MobileOneBlock使用结构重参数化技术,通过一个参数量大的模型结构下获得高精度的模型;再通过结构重参数化技术获得一个参数量小的模型。
可选的,轻量级神经网络算法模块420还可以用于模型训练时MobileOneBlock有两个基本模块分别为RDW模块和RPW模块,输入值通过RDW模块后连接一个Relu激活函数后再通过一个RPW模块,获得输出值。
可选的,轻量级神经网络算法模块420还可以用于RDW模块由1x1的逐点卷积(PW)、1个3x3的逐通道卷积(DW)和BN模块组成,输入值分别通过这三个模块并进行shortcut操作,获得输出值;RPW模块由1个1x1的逐点卷积(PW)和BN模块组成,输入值分别通过这两个模块并进行shortcut,获得输出值。
可选的,轻量级神经网络算法模块420还可以用于模型推理的时候,对RDW模块和RPW模块进行重参数化分别对应DW模块与PW模块;逐点卷积(PW)是一个卷积核大小为1×1的卷积操作;逐通道卷积(DW)是在每个输入通道上分别进行卷积操作。
关键点坐标分类模块430,用于对输出值进行关键点坐标分类,得到水平和垂直坐标。
可选的,关键点坐标分类模块430还可以用于关键点坐标分类模块有两个FC层,Y分别通过FC1层和FC2层,FC1输出n个关键点的水平轴坐标分类信息Ox,FC2输出n个关键点的的垂直轴坐标分类信息Oy。
可选的,关键点坐标分类模块430还可以用于第i个关键点的预测坐标计算方法为:/>
知识蒸馏训练策略模块440,用于使用回归蒸馏的方式提高轻量化模型的精度;基于提高精度后的模型对所述水平和垂直坐标进行识别,得到人体姿态估计。
可选的,知识蒸馏训练策略模块440还可以用于基于轻量级神经网络算法模块的模型作为学生模型,选择常见基于ResNet101主干模块的模型作为教师模型;使用教师模型对学生模型进行回归蒸馏。
此外,实现基于分类和蒸馏的人体姿态估计装置400的技术效果可以参考前述任一方法的技术效果,此处不再赘述。
可选地,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质包括计算机程序或指令,当所述计算机程序或指令在计算机上运行时,使得本发明任一实施例所提供的方法被执行。
可选地,本发明实施例还提供一种电子设备,用于执行本发明任一实施例所提供的方法。
如图5所示,电子设备2000可以包括处理器2001。
可选地,电子设备2000还可以包括存储器2002。
其中,处理器2001与存储器2002耦合,如可以通过通信总线连接。
下面结合图5对电子设备2000的各个构成部件进行具体的介绍:
其中,处理器2001是电子设备2000的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器2001是一个或多个中央处理器(CENTRAL PROCESSING UNIT,CPU),也可以是特定集成电路(APPLICATION SPECIFIC INTEGRATED CIRCUIT,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路,例如:一个或多个微处理器(DIGITAL SIGNAL PROCESSOR,DSP),或,一个或者多个现场可编程门阵列(FIELDPROGRAMMABLE GATE ARRAY,FPGA)。
可选地,处理器2001可以通过运行或执行存储在存储器2002内的软件程序,以及调用存储在存储器2002内的数据,执行电子设备2000的各种功能。
在具体的实现中,作为一种实施例,处理器2001可以包括一个或多个CPU,例如图5中所示出的CPU0和CPU1。
其中,所述存储器2002用于存储执行本发明方案的软件程序,并由处理器2001来控制执行,具体实现方式可以参考上述方法实施例,此处不再赘述。
可选地,存储器2002可以是只读存储器(READ-ONLY MEMORY,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(RANDOM ACCESS MEMORY,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ELECTRICALLY ERASABLE PROGRAMMABLE READ-ONLY MEMORY,EEPROM)、只读光盘(COMPACTDISC READ-ONLY MEMORY,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器2002可以和处理器2001集成在一起,也可以独立存在,并通过电子设备2000的接口电路(图5中未示出)与处理器2001耦合,本发明实施例对此不作具体限定。
需要说明的是,图5中示出的电子设备2000的结构并不构成对该电子设备的限定,实际的电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
此外,电子设备2000的技术效果可以参考上述方法实施例所述的方法的技术效果,此处不再赘述。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种基于分类和蒸馏的人体姿态估计方法,其特征在于,应用于人体姿态估计系统,所述方法包括:
获取待识别图像;
基于轻量级神经网络算法对待识别图像的每个像素点的特征进行卷积,获得输出值;
对输出值进行关键点坐标分类,得到水平和垂直坐标;
使用回归蒸馏的方式提高轻量化模型的精度;
基于提高精度后的模型对所述水平和垂直坐标进行识别,得到人体姿态估计。
2.根据权利要求1所述的方法,其特征在于,所述基于轻量级神经网络算法对待识别图像的每个像素点的特征进行卷积,获得输出值之前,还包括:
采用MobileOne作为基础骨干网络;
MobileOneBlock使用结构重参数化技术,通过一个参数量大的模型结构下获得高精度的模型;
再通过结构重参数化技术获得一个参数量小的模型。
3.根据权利要求2所述的方法,其特征在于,所述MobileOneBlock使用结构重参数化技术,通过一个参数量大的模型结构下获得高精度的模型,包括:
模型训练时MobileOneBlock有两个基本模块分别为RDW模块和RPW模块,输入值通过RDW模块后连接一个Relu激活函数后再通过一个RPW模块,获得输出值。
4.根据权利要求3所述的方法,其特征在于,所述模型训练时MobileOneBlock有两个基本模块分别为RDW模块和RPW模块,输入值通过RDW模块后连接一个Relu激活函数后再通过一个RPW模块,获得输出值,包括:
RDW模块由1x1的逐点卷积(PW)、1个3x3的逐通道卷积(DW)和BN模块组成,输入值分别通过这三个模块并进行shortcut操作,获得输出值;
RPW模块由1个1x1的逐点卷积(PW)和BN模块组成,输入值分别通过这两个模块并进行shortcut,获得输出值。
5.根据权利要求1所述的方法,其特征在于,所述基于轻量级神经网络算法对待识别图像的每个像素点的特征进行卷积,获得输出值,包括:
模型推理的时候,对RDW模块和RPW模块进行重参数化分别对应DW模块与PW模块;
逐点卷积是一个卷积核大小为1×1的卷积操作;
逐通道卷积是在每个输入通道上分别进行卷积操作。
6.根据权利要求1所述的方法,其特征在于,所述对输出值进行关键点坐标分类,得到水平和垂直坐标,包括:
关键点坐标分类模块有两个FC层,Y分别通过FC1层和FC2层,FC1输出n个关键点的水平轴坐标分类信息Ox,FC2输出n个关键点的的垂直轴坐标分类信息Oy。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
第i个关键点的预测坐标计算方法为:
8.根据权利1所述的方法,其特征在于,所述使用回归蒸馏的方式提高轻量化模型的精度,包括:
基于轻量级神经网络算法模块的模型作为学生模型,选择常见基于ResNet101主干模块的模型作为教师模型;
使用教师模型对学生模型进行回归蒸馏。
9.一种基于分类和蒸馏的人体姿态估计装置,其特征在于,应用于人体姿态估计系统,所述装置包括:
图像采集模块,用于获取待识别图像;
轻量级神经网络算法模块,用于基于轻量级神经网络算法对待识别图像的每个像素点的特征进行卷积,获得输出值;
关键点坐标分类模块,用于对输出值进行关键点坐标分类,得到水平和垂直坐标;
知识蒸馏训练策略模块,用于使用回归蒸馏的方式提高轻量化模型的精度;基于提高精度后的模型对所述水平和垂直坐标进行识别,得到人体姿态估计。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311227441.0A CN117333937A (zh) | 2023-09-21 | 2023-09-21 | 基于分类和蒸馏的人体姿态估计方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311227441.0A CN117333937A (zh) | 2023-09-21 | 2023-09-21 | 基于分类和蒸馏的人体姿态估计方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117333937A true CN117333937A (zh) | 2024-01-02 |
Family
ID=89274741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311227441.0A Pending CN117333937A (zh) | 2023-09-21 | 2023-09-21 | 基于分类和蒸馏的人体姿态估计方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117333937A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117894039A (zh) * | 2024-01-11 | 2024-04-16 | 广州紫为云科技有限公司 | 基于自注意力关键点标记和分类的3d人体姿态估计方法 |
-
2023
- 2023-09-21 CN CN202311227441.0A patent/CN117333937A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117894039A (zh) * | 2024-01-11 | 2024-04-16 | 广州紫为云科技有限公司 | 基于自注意力关键点标记和分类的3d人体姿态估计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2023138300A1 (zh) | 目标检测方法及应用其的移动目标跟踪方法 | |
WO2023082882A1 (zh) | 一种基于姿态估计的行人摔倒动作识别方法及设备 | |
Zeng et al. | A novel tensor decomposition-based efficient detector for low-altitude aerial objects with knowledge distillation scheme | |
CN110659596A (zh) | 案管场景下人脸关键点定位方法、计算机存储介质及设备 | |
CN109087337B (zh) | 基于分层卷积特征的长时间目标跟踪方法及系统 | |
CN113487610B (zh) | 疱疹图像识别方法、装置、计算机设备和存储介质 | |
US20220222832A1 (en) | Machine learning framework applied in a semi-supervised setting to perform instance tracking in a sequence of image frames | |
WO2021098802A1 (en) | Object detection device, method, and systerm | |
CN111027576A (zh) | 基于协同显著性生成式对抗网络的协同显著性检测方法 | |
CN111310821A (zh) | 多视图特征融合方法、系统、计算机设备及存储介质 | |
CN115457492A (zh) | 目标检测方法、装置、计算机设备及存储介质 | |
CN114049515A (zh) | 图像分类方法、系统、电子设备和存储介质 | |
CN115294563A (zh) | 一种基于Transformer的增强了局部语义学习能力的3D点云分析方法及装置 | |
KR20240144139A (ko) | 얼굴 포즈 추정 방법, 장치, 전자 디바이스 및 저장 매체 | |
CN115345905A (zh) | 目标对象跟踪方法、装置、终端及存储介质 | |
Kalash et al. | Relative saliency and ranking: Models, metrics, data and benchmarks | |
CN111429481B (zh) | 一种基于自适应表达的目标追踪方法、装置及终端 | |
CN117333937A (zh) | 基于分类和蒸馏的人体姿态估计方法、装置及电子设备 | |
KR20210026542A (ko) | 기하학적 이미지를 이용한 인공신경망 기반 단백질 결합 화합물의 생물학적 활성 예측 시스템 | |
CN113192085A (zh) | 三维器官图像分割方法、装置及计算机设备 | |
CN114220138A (zh) | 一种人脸对齐方法、训练方法、装置和存储介质 | |
CN114972492A (zh) | 一种基于鸟瞰图的位姿确定方法、设备和计算机存储介质 | |
KR20220094502A (ko) | 이미지에서의 좌표 및 불확실성 추정 시스템 및 방법 | |
CN116597272A (zh) | 一种改进YOLOv8x训练精度的影像特征识别方法 | |
CN114820755B (zh) | 一种深度图估计方法及系统 |
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 |