CN110659565B - 一种基于带孔卷积的3d多人人体姿态估计方法 - Google Patents
一种基于带孔卷积的3d多人人体姿态估计方法 Download PDFInfo
- Publication number
- CN110659565B CN110659565B CN201910751980.1A CN201910751980A CN110659565B CN 110659565 B CN110659565 B CN 110659565B CN 201910751980 A CN201910751980 A CN 201910751980A CN 110659565 B CN110659565 B CN 110659565B
- Authority
- CN
- China
- Prior art keywords
- convolution
- size
- layer
- human body
- posture
- 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.)
- Active
Links
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
Abstract
本发明公开了一种基于带孔卷积的3D多人人体姿态估计方法,属于人体姿态估计技术领域。本发明采用两阶段的3D人体姿态估计模型,先采用2D人体姿态估计方法得到2D人体关键点,再使用3D转化模型得到3D人体关键点。2D人体姿态估计方法的卷积层采用直线型串行连接,与现在主流的多分辨率+多旁路的连接方式相比,参数量可以大大减小;通过所设置的单人2D姿态的关键点估计网络模型的具体结构,可以简单高效地实现模型各个卷积层的感受野的增大,有效提升模型对关键点局部信息的区分能力;同时,本发明的3D转化模型设置得较为精简,拥有较小的参数量,能有效提升3D人体姿态估计方法的估计准确率。
Description
技术领域
本发明涉及人体姿态估计技术领域,尤其是涉及了一种基于带孔卷积的3D多人人体姿态估计方法。
背景技术
在现有的3D人体姿态估计方法中,主要有两类,第一类是直接通过端到端的网络,输入图像,直接得到3D人体关键点。第二类是首先使用2D姿态估计方法检测出2D关键点,然后通过匹配对齐的方式得到3D关键点。在第一类方法中,往往准确率不高,因为传统的端到端网络,对于3D姿态的深度信息的利用效率不太高。而第二类方法,现有的处理方式一般是通过建立3D姿态库,将2D姿态转化问题变为匹配问题,但因为3D姿态库的有限性,不能很好地覆盖所有的姿态,因此,也会造成3D姿态估计的准确率有限。
现有的2D多人人体姿态估计方法,主要分为自顶向下和自底向上两种,自顶向下方法主要是一个目标检测+单人姿态估计的过程,自底向上是一个关节检测+分组的过程。自顶向下方法相对于自底向上方法,准确率更高,但耗时较长。在对时间效率要求不高的场合,更适合使用自顶向下方法。
当前,在采用自顶向下的2D多人人体姿态估计方法中,主要存在下述不足:
(1)局限于其对应的感受野,在单人关键点检测的过程中,关键点局部信息的区分性较弱,很容易与背景中出现的同样的局部区域形成混淆;
(2)关键点定位主要依赖于目标检测算法生成的裁剪区域,而使用目标检测产生裁剪区域的过程中,容易出现检测不准、重复检测等现象,会对姿态估计方法的效果产生影响。
为了提升通过2D姿态估计方法检测出2D关键点,再通过匹配对齐的方式得到3D关键点的3D人体姿态估计方法的估计准确率,有必要对现有的2D姿态估计方法进行改进,从而得到更好的3D人体姿态估计性能。
发明内容
本发明的发明目的在于:针对上述存在的问题,提供一种3D人体姿态估计性能更好的基于带孔卷积的3D多人人体姿态估计方法。
本发明基于带孔卷积的3D多人人体姿态估计方法包括下列步骤:
步骤一、设置单人2D姿态的关键点估计网络模型,并基于深度神经网络学习方式对单人2D姿态的关键点估计网络模型的网络参数进行训练,得到训练好的单人2D姿态的关键点估计网络模型(即构建用于单人2D姿态的关键点估计网络模型);
所述单人2D姿态的关键点估计网络模型为基于带孔卷积和反卷积的深度神经网络,包括依次连接的卷积层Conv1,池化层,卷积层Conv2~Conv5,反卷积层D1~D3,以及卷积层Conv6;
其中,卷积层Conv1的优选设置为:卷积核大小为7x7,步长为2;
池化层为最大值池化,优选的设置为:卷积核大小为3x3,步长为2;
所述卷积层Conv2~Conv5包括多个最小单元,所述最小单元为:在两个普通卷积的中间设置一个带孔卷积,普通卷积的卷积核大小和步长可调;带孔卷积的卷积核大小和膨胀系数均可调,且带孔卷积的卷积核的大小最好不超过11;优选设置普通卷积与带孔卷积具有相同的步长,优选步长值为1;
且卷积层Conv2~Conv5包括的具体最小单元数的设置方式为:
预设卷积层Conv2~Conv5的输出特征图大小,例如将卷积层Conv2和Conv5的输出特征图大小设置为相同,中间的卷积层Conv3、Conv4的输出特征图逐渐增大;
然后基于单个最小单元的输出特征图大小Omin unit,计算各卷积层得到对应的输出特征图大小所需的最少的最小单元个数;
进一步的,所述最小单元的带孔卷积的卷积核大小、步长及膨胀系数的设置方式可以采用下述方式:
初始化带孔卷积的卷积核大小、步长及膨胀系数;
基于当前带孔卷积的卷积核大小、步长及膨胀系数,计算单个最小单元的输出特征图大小Omin unit;然后基于单个最小单元的输出特征图大小Omin unit,计算各卷积层得到对应的输出特征图大小所需的最少的最小单元个数,再进而得到卷积层Conv2~Conv5包括的带孔卷积总个数K;
基于卷积层Conv1的卷积核大小得到卷积层Conv1的rfConv1;
并根据公式rf1=rfmaxpool+(h1-1)*d1*smaxpool*sConv1计算得到第一个带孔卷积的每个点的感受野rf1,其中,rfmaxpool=rfConv1+(hmaxpool-1)*sConv1,hmaxpool表示池化层的卷积核大小,h1表示第一个带孔卷积的卷积核大小,smaxpool表示池化层的步长,sConv1表示卷积层Conv1的步长,d1表示第一个带孔卷积的膨胀系数;
例如,对于卷积核大小为7x7,步长为2的卷积层Conv1,以及卷积核大小为3x3,步长为2的池化层,则感受野rfConv1=7,即rfConv1为其卷积核大小的值,即只与卷积核的大小有关;rfmaxpool=rfConv1+(hmaxpool-1)*s1进行计算,可得到rfmaxpool=11,从而得到rf1的值。
再从前往后从2~K逐层计算各带孔卷积的每个点的感受野rfk,其中 k=2,3,4,….;K表示卷积层Conv2~Conv5包括的带孔卷积总个数,rfk-1是第k-1层带孔卷积的每个点的感受野,hk、dk分别表示第k层带孔卷积的卷积核的大小、膨胀系数,si表示第i层带孔卷积的步长;其中不同层的hk、si和dk的值均相同;
并判断计算得到的各带孔卷积的每个点的感受野rfk是否满足预设需求,若满足,则基于当前带孔卷积核的大小、步长和膨胀系数确定最小单元的带孔卷积的卷积核大小、步长及膨胀系数,以及确定卷积层Conv2~Conv5的最小单元个数(即卷积层Conv2~Conv5的最小单元个数取决于最小单元的带孔卷积的卷积核大小、步长及膨胀系数);
若不满足,则调整带孔卷积的卷积核大小、步长及膨胀系数,并重新从前往后逐层计算感受野rfk,直到得到的各感受野rfk满足预设需求。
其中,i为输入最小单元的特征图大小,p为带孔卷积的填充大小,h为带孔卷积的卷积核的大小(即对应前文的hk),d为带孔卷积的膨胀系数(即对应前文的dk),s为带孔卷积的步长(即对应前文的si),由于不同层的hk、si和dk的值均相同,故可将hk、si和dk分别用h、s和d表示。
进一步的,所述最小单元的普通卷积的优选设置为:卷积核大小为1x1,步长为1。
反卷积层D1~D3为三个相同反卷积层,且反卷积层的步长、卷积核大小和填充值可调,优选的设置方式为:
初始化反卷积层的步长、卷积核大小和填充值,分别记为:s′、q和p′;
根据公式Odeconv=s′(i′-1)+q-2p′计算各反卷积层的输出特征图大小Odeconv,并判断输出特征图大小Odeconv是否满足预设需求,若满足,则基于反卷积层的步长、卷积核和填充的当前值确定反卷积层D1~D3各自的步长、卷积核大小和填充值;若不满足,则调整s′、q和p′的值,重新计算输出特征图大小Odeconv,直到满足预设需求,其中i′为输入反卷积层的特征图大小。
所述卷积层Conv6用于输出预置的各人体关键点的二维坐标(即2D姿态的关键点的估计结果),即将每个人体关键点的预测热图(heatmap)中概率最大的点作为各人体关键点的2D坐标;
且本发明中,单人2D姿态的关键点估计网络模型中的卷积层Conv2~Conv5中包括的各最小单元的通道数、反卷积层D1~D3的通道数均可基于实际应用场景进行调整。
步骤二、设置3D转化模型,并基于深度神经网络学习方式对3D转化模型的网络参数进行训练,得到训练好的3D转化模型;
所述3D转化模型包括顺次连接的第一全连接层、级联神经网络和第二全连接层;
3D转化模型的第一全连接层用于提升输入3D转化模型的2D姿态关键点的维度;
所述级联神经网络由3个子神经网络模块级联构成,各子神经网络模块包括两个全连接层,且每个全连接层后面顺次连接批标准化层、激活函数层和随机失活层,并将子神经网络模块的第一个全连接层与第二个激活函数的输出的融合结果作为每个子神经网络模块的输出;子神经网络模块的两个全连接层的输出通道数与3D转化模型的第一全连接层的输出通道数相同;
3D转化模型的第二全连接层的输出通道数为N×3,其中N表示人体关键点数量,用于输出输入3D转化模型的2D姿态关键点的三维映射坐标;
步骤三、基于训练好的单人2D姿态的关键点估计网络模型与3D转化模型获取待处理图像的3D多人人体姿态估计:
对待处理图像进行人体分割处理,得到多个关于单人图像的分割结果;
对各分割结果进行图像尺寸归一化处理后,输入到训练好的单人2D姿态的关键点估计网络模型,获取各分割结果对应的2D姿态的关键点;
再将每幅分割结果的2D姿态的关键点输入到训练好的3D转化模型,得到待处理图像中的每个人的3D姿态关键点坐标。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
本发明通过简单高效地增大感受野,能有效提升模型对关键点局部信息的区分能力。在单人关键点检测的过程中,关键点局部信息的区分性较弱,很容易与背景中出现的同样的局部区域形成混淆,所以需要较大的感受野。本发明通过所设置的单人2D姿态的关键点估计网络模型的具体结构,可以简单高效地实现模型各个卷积层的感受野的增大。
本发明建立了一个简单的3D姿态估计模型,同时提升了3D人体姿态估计方法的估计准确率。本发明采用两阶段的3D人体姿态估计模型,先采用2D人体姿态估计方法得到2D人体关键点,再使用3D转化模型得到3D人体关键点。2D人体姿态估计方法的卷积层采用直线型串行连接,与现在主流的多分辨率+多旁路的连接方式相比,参数量可以大大减小。另外3D转化模型也设计得较为精简,拥有较小的参数量。同时本发明相对于现有的一些主流方法,在准确率上也有一定的提升。
附图说明
图1是带孔卷积示意图。
图2是本发明方法的整体架构图。
图3是基于带孔卷积和反卷积的深度神经网络的结构图。
图4是3D转化模型结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合实施方式和附图,对本发明作进一步地详细描述。
本发明是一种可以简单高效地增大感受野的多人姿态估计方法,可以在避免引入较大参数量的同时增大感受野,可以有效地避免局部信息区分性较弱带来的影响,提高姿态估计的准确性,另外通过高效的3D姿态转化模型,可以有效地实现3D人体姿态估计。
本发明聚焦于增大感受野来进行改进,而在现有的增大感受野的方法中,在网络中使用下采样(pooling),可以增大感受野,但它会使特征图变小,造成细节信息的丢失;或者是是在CPM模型(Convolutional Pose Machine)中采取将网络分为多个阶段,其中第一个阶段会产生初步的关键点的检测效果,接下来的几个阶段均以前一个阶段的预测输出和从原图提取的特征作为输入,进一步提高关键点的检测效果,该方法效果较好,但网络较为复杂。而在现在非常主流的级联沙漏网络(Stacked Hourglass Network)中,增大感受野一方面是通过旁路携带的多分辨率特征图来完成的,另一方面是通过类似于CPM模型的后一阶段的输入会携带前一个阶段的预测输出信息来完成的,这样增大感受野的同时也增大了参数量,会使得网络较为庞大,降低了运算效率。本发明通过简单高效地增大感受野,能有效提升模型对关键点局部信息的区分能力。
本发明的一种基于带孔卷积的3D多人人体姿态估计方法,主要包括下列步骤:
(1)目标检测网络。
(2)单人2D姿态估计网络:基于带孔卷积和反卷积的深度神经网络。
(3)3D转化模型。
目标检测网络需要从一张图片中将多个人分割开,而现有目标检测器的精度和速度都已经较高,所以本发明中,可以直接使用现有性能较优的目标检测器来完成人体分割任务。本具体实施方式中,目标检测网络可以使用现有检测效果较好的Mask R-CNN(MaskRegion-Convolutional Neural Networks)作为检测器。
单人2D姿态估计网络采用深度神经网络,对目标检测网络分割出的多人分别进行单人姿态估计。其中,深度神经网络中采用了带孔卷积。一般常用的增大感受野的方式有两种,一种是使用下采样(pooling),但它会使得分辨率下降,从而引起细节信息的丢失,而通过带孔卷积可以在不做下采样损失信息的情况下,增大感受野,使得每个卷积输出都包含更大范围的信息。另一种是级联的形式,后一阶段的输入会携带前一个阶段的预测输出信息,但这种方式会引入大量的参数量,使得网络变为复杂,而带孔卷积可以在不改变网络参数量的同时,增大感受野。
带孔卷积将卷积核填充扩大后再进行卷积,一般是填充零。它可以在不缩小特征图的前提下,增大感受野,这样可以使得输出的结果具有更多细节。如图1所示,膨胀系数为1(dilation=1)相当于普通卷积,此时当卷积核大小为3x3时,感受野为9,而把膨胀系数改为12(dilation=12)时,感受野变为了25x25=625,而此时参数仍为9个,因为新增的那些权值为0的点是不需要被训练的。图1中所示的带孔卷积的填充(padding)为1、步长(striede)也为1.基于该带孔卷积进行卷积处理后,可以使得特征图的大小也保持不变,同时还增大了感受野的大小。
此外,深度神经网络中加入了反卷积(deconvolution)模块,实现了上采样的功能,使得细节信息进一步地被保存下来,提升了模型的准确率。
现有的2D姿态估计方法大多是基于级联沙漏网络的改进,在级联沙漏网络中拥有多个旁路,会保留多个分辨率下的特征图,而这也会造成过大的运算量,而本发明为直线型方法,只有1个输入到输出的主路,可以大大减少运算量。
本发明还使用了两阶段的3D姿态估计,首先使用2D姿态估计方法检测出2D关键点,然后将2D姿态转化问题视作了一个回归问题,而神经网络模型对于处理回归问题是非常容易的,故模型中通过神经网络实现了回归功能,可以将2D关键点坐标通过神经网络转换为3D关键点坐标,非常简单高效,进而实现了3D人体姿态估计。
参见图2,本发明的用于人体姿态估计的估计模型架构包括两个阶段:
(1)输入原始图像,经过目标检测网络,对图片中的多人进行分割。对分割出的多人分别进行单人2D姿态估计,经过深度神经网络,获得2D姿态估计的关键点坐标。
(2)2D姿态估计的结果经过3D转化模型处理,得到3D姿态的关键点坐标。
所述的基于带孔卷积和反卷积的深度神经网络的骨干网络,如图3虚线框所示,共含有152层,由六个部分组成,分别是卷积层Conv1,池化层,以及卷积层Conv2~Conv5。
本具体实施方式中,卷积层Conv1可以具体设置为:卷积核大小为7x7,输出通道为64,步长(stride)为2;
池化层可以具体设置为:最大值池化(max pool),卷积核大小为3x3,步长为2;
卷积层Conv2~Conv5具有类似的最小单元,参见图3,其最小单元由2个卷积核为1x1的普通卷积,和1个卷积核大小为3x3,膨胀系数(dilation=2)为2的带孔卷积组成,它们的步长均为1。即最小单元的结构为:在2个相同的普通卷积之间设置1个带孔卷积,所述普通卷积的卷积核大小为1x1;所述带孔卷积的卷积核大小为3x3、膨胀系数为2;且普通卷积和带孔卷积的步长均设置为1。
而卷积层Conv2~Conv5的不同点在于最小单元的个数以及输出通道数有所差异。其中Conv2的包括的最小单元数为3,输出连接带孔卷积的普通卷积(带孔卷积输入端的普通卷积)的输出通道数设置为64,带孔卷积的输出通道数设置为64,而连接带孔卷积的输出的普通卷积(带孔卷积输出端的普通卷积)的输出通道数设置为256;
Conv3为8个最小单元级联,其中,在Conv3的各最小单元中,输出连接带孔卷积的普通卷积(带孔卷积输入端的普通卷积)的输出通道数设置为128,带孔卷积的输出通道数设置为128,而连接带孔卷积的输出的普通卷积(带孔卷积输出端的普通卷积)的输出通道数设置为512;
Conv4为36个最小单元级联,输出连接带孔卷积的普通卷积(带孔卷积输入端的普通卷积)的输出通道数设置为256,带孔卷积的输出通道数设置为256,而连接带孔卷积的输出的普通卷积(带孔卷积输出端的普通卷积)的输出通道数设置为1024;
Conv5为3个最小单元级联,输出连接带孔卷积的普通卷积(带孔卷积输入端的普通卷积)的输出通道数设置为512,带孔卷积的输出通道数设置为512,而连接带孔卷积的输出的普通卷积(带孔卷积输出端的普通卷积)的输出通道数设置为2048;
本发明中,最小单元中的1x1普通卷积的作用主要是用来降低网络计算的参数量,若去除则会造成很大的计算损耗。最小单元中的3x3的带孔卷积的步长为固定设置,不建议调整,否则卷积层的输入和输出的尺寸不会保持相同。且带孔卷积的卷积核的大小不宜过大,不宜超过11,否则会导致计算量的暴增,不利于模型深度的增加,计算性能也会降低,此外,卷积核的大小一般设为奇数。另外,对于带孔卷积的膨胀系数和带孔卷积的大小,还可基于公式(1-1)从前往后逐层计算感受野的公式,根据实际情况进行调整:
其中,rfk是第k层带孔卷积的每个点的感受野,rfk-1是第k-1层带孔卷积的每个点的感受野,fk是第k层带孔卷积核的大小(宽或高),si是第i层带孔卷积的步长,d是第k层带孔卷积的膨胀系数。当d=1时,上述对于带孔卷积的公式可推广至普通卷积,由此可推导,本发明中最小单元中的两个1x1卷积对感受野没有贡献,因此计算感受野时,可以直接从第一个带孔卷积层开始编号计算。
最小单元的输出通道数可根据实际情况自行调整。另外,最小单元的个数可根据下面单个最小单元的输出特征图大小的公式,计算得到适宜的输出特征图大小所需的最少的最小单元个数,从而进行确定。对于带孔卷积层的输出特征图大小,有:
其中,Odilated conv表示带孔卷积层的输出特征图大小,i为输入带孔卷积层的特征图大小,p为填充大小,h为带孔卷积层的卷积核的大小,d为带孔卷积的膨胀系数,s为带孔卷积的步长。对于最小单元中的两个1x1普通卷积,有:
d=1,h=1,p=0,s=1 (1-3)
将(1-3)带入(1-2)可知,1x1卷积的输出特征图大小等于输入特征图的大小,因此可将(1-1)推广成整个最小单元的输出特征图大小,有:
其中,Omin unit表示整个最小单元的输出特征图大小,i为输入最小单元的特征图大小,p为带孔卷积层的填充大小,h为带孔卷积层的卷积核的大小,d为带孔卷积的膨胀系数,s为带孔卷积的步长。
在骨干网络的Conv5后设置3个输出通道数为256,卷积核大小为4x4,步长为2的反卷积层,即反卷积层D1~D3。
反卷积层的输出通道数也可以根据实际情况自行调整,对于反卷积层的其他参数,可根据下面计算反卷积层输出特征图大小的公式进行调整:
Odeconv=s(i-1)+q-2p (1-5)
其中,Odeconv表示反卷积层输出特征图大小,s为反卷积层的步长,i为输入反卷积层的特征图大小,q为反卷积层的卷积核的大小,p为填充大小。
在最后一个反卷积层D3之后设置一个1x1的卷积层Conv6,用来得到所有关键点的预测热图(heatmap){H1,H2,...H17}。
本具体实施方式中,所涉及的关键点为17个,通过该17个关键点对同一个人的不同身体部位的标注方式,包括五官、肩膀、肘部、手腕、臀部、膝盖、脚踝这几个部分),每个关键点的预测热图中概率最大的点就是待估计的关键点,就可以得到关键点的2D坐标。对于单人2D姿态估计网络,损失函数Loss采用预测热图和真实热图之间的均方误差(MSE)来衡量。
在对设置好的基于带孔卷积和反卷积的深度神经网络的骨干网络(单人2D姿态的关键点估计网络模型)进行深度神经网络训练时,采集与该网络的输入相匹配的单人图像作为训练样本,进行常规的深度神经网络学习,当满足预设的精度需求(如最大迭代次数达到预设上限,或者最近两次得到的预测热图和真实热图之间的均方误差的变化不明显时(变化态势小于预设限定)),停止训练,得到训练好的单人2D姿态的关键点估计网络模型。
3D转化模型用于对得到的2D姿态关键点进行3D姿态关键点的转换。其网络模型包括:
顺次连接的第一全连接层、级联神经网络(获取3D姿态关键点的级联神经网络)和第二全连接层;
本具体实施方式中,第一全连接层用于提升输入的2D姿态关键点维度,例如,将第一全连接层设置为输出通道数为512的全连接层(Linear),则意味着将输入的17x2维的2D姿态关键点(即17个2D姿态关键点的二维位置坐标)提升到512维;
中间的级联神经网络,由3个子神经网络模块级联构成(除了第二全连接(最后一个全连接层)的输出通道数应与预设置的人体关键点数相关联(通常设置为N×3,其中N表示人体关键点数),3D转化模型中的其他输出通道数和子神经网络模块的个数可以自行调整)。
子神经网络模块如图4所示,包含两个输出通道数与第一全连接层相同的全连接层(Linear),每个全连接层后面都跟着批标准化(Batch norm)、激活函数(采用Relu)、随机失活层(Dropout层),并将子神经网络模块的第一个全连接层与第二个激活函数的输出的融合结果作为每个子神经网络模块的输出;然后在3个级联的子神经网络模块之后接了一个输出为17x3的全连接层,即3D转化模型的第二全连接层,用于将输出降维为17x3维,最后就得到了3D姿态关键点的估计(3D姿态关键点的三维坐标),3D转化模型高效简单地实现了2D关键点到3D关键点的映射。
本具体实施方式中,在对设置好的3D转化模型进行深度神经网络训练时,采集多个不同个人的2D关键点及标注对应的3D姿态关键点(即真实3D姿态关键点),得到训练样本集;将2D关键点输入3D转化模型的第一全连接层,通过3D转化模型的第二全连接层的输出得到对应的3D姿态关键点的估计;进行常规的深度神经网络学习,当满足预设的精度需求(如最大迭代次数达到预设上限,或者最近估计得到的3D姿态关键点与真实3D姿态关键点的误差不超预设阈值时),停止训练,得到训练好的3D转化模型。
本具体实施方式中,在基于训练好的单人2D姿态的关键点估计网络模型与3D转化模型获取待处理图像的3D多人人体姿态估计结果时:
首先将待处理图像通过预设的目标检测器实现对待处理图像的人体分割处理,得到多个关于个人的分割结果(单人图像);
然后再将尺寸归一化处理后的分割结果输入到训练好的单人2D姿态的关键点估计网络模型,获取每幅分割结果对应的2D姿态的关键点;
再将每幅分割结果的2D姿态的关键点输入到训练好的3D转化模型,得到对应的3D姿态关键点估计,即得到待处理图像中的每个人的3D姿态关键点,从而完成对多人人体姿态估计的处理。
本发明方法通过两阶段的估计,保留住了3D姿态的深度信息,可以得到不错的估计效果。
以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合。
Claims (10)
1.一种基于带孔卷积的3D多人人体姿态估计方法,其特征在于,包括下列步骤:
步骤一、设置单人2D姿态的关键点估计网络模型,并基于深度神经网络学习方式对单人2D姿态的关键点估计网络模型的网络参数进行训练,得到训练好的单人2D姿态的关键点估计网络模型;
所述单人2D姿态的关键点估计网络模型为基于带孔卷积和反卷积的深度神经网络,包括依次连接的卷积层Conv1,池化层,卷积层Conv2~Conv5,反卷积层D1~D3,以及卷积层Conv6;
其中,池化层为最大值池化;
所述卷积层Conv2~Conv5分别包括多个最小单元;
所述最小单元为:在两个普通卷积的中间设置一个带孔卷积;
卷积层Conv2~Conv5包括的具体最小单元数的设置方式为:预设卷积层Conv2~Conv5的输出特征图大小,并基于单个最小单元的输出特征图大小Ominunit,计算各卷积层得到对应的输出特征图大小所需的最少的最小单元个数;
反卷积层D1~D3为三个相同的反卷积层;
所述卷积层Conv6用于输出预置的各人体关键点的2D坐标,即将每个人体关键点的预测热图中概率最大的点作为各人体关键点的2D坐标,得到2D姿态关键点的估计结果;
步骤二、设置3D转化模型,并基于深度神经网络学习方式对3D转化模型的网络参数进行训练,得到训练好的3D转化模型;
所述3D转化模型包括顺次连接的第一全连接层、级联神经网络和第二全连接层;
3D转化模型的第一全连接层用于提升输入3D转化模型的2D姿态关键点的维度;
所述级联神经网络由3个子神经网络模块级联构成,各子神经网络模块包括两个全连接层,且每个全连接层后面顺次连接批标准化层、激活函数层和随机失活层,并将子神经网络模块的第一个全连接层与第二个激活函数的输出的融合结果作为每个子神经网络模块的输出;子神经网络模块的两个全连接层的输出通道数与3D转化模型的第一全连接层的输出通道数相同;
3D转化模型的第二全连接层的输出通道数为N×3,其中N表示人体关键点数量,用于输出输入3D转化模型的2D姿态关键点的三维映射坐标;
步骤三、基于训练好的单人2D姿态的关键点估计网络模型与3D转化模型获取待处理图像的3D多人人体姿态估计:
对待处理图像进行人体分割处理,得到多个关于单人图像的分割结果;
对各分割结果进行图像尺寸归一化处理后,输入到训练好的单人2D姿态的关键点估计网络模型,获取各分割结果对应的2D姿态的关键点;
再将每幅分割结果的2D姿态的关键点输入到训练好的3D转化模型,得到待处理图像中的每个人的3D姿态关键点坐标。
2.如权利要求1所述的方法,其特征在于,所述卷积层Conv1具体设置为:卷积核大小为7x7,步长为2。
3.如权利要求1所述的方法,其特征在于,所述池化层具体设置为:卷积核大小为3x3,步长为2。
4.如权利要求1所述的方法,其特征在于,设置普通卷积与带孔卷积具有相同的步长。
5.如权利要求1所述的方法,其特征在于,所述最小单元的带孔卷积的卷积核大小、步长及膨胀系数的设置方式采用下述方式:
初始化带孔卷积的卷积核大小、步长及膨胀系数;
基于当前带孔卷积的卷积核大小、步长及膨胀系数,计算单个最小单元的输出特征图大小Ominunit;
然后基于单个最小单元的输出特征图大小Ominunit,计算各卷积层得到对应的输出特征图大小所需的最少的最小单元个数,再进而得到卷积层Conv2~Conv5包括的带孔卷积总个数K;
基于卷积层Conv1的卷积核大小得到卷积层Conv1的感受野rfConv1;
并根据公式rf1=rfmaxpool+(h1-1)*d1*smaxpool*sConv1计算得到第一个带孔卷积的每个点的感受野rf1,其中,rfmaxpool=rfConv1+(hmaxpool-1)*sConv1,hmaxpool表示池化层的卷积核大小,h1表示第一个带孔卷积的卷积核大小,smaxpool表示池化层的步长,sConv1表示卷积层Conv1的步长,d1表示第一个带孔卷积的膨胀系数;
从前往后从2~K逐层计算各层带孔卷积的每个点的感受野rfk:
其中,rfk-1表示第k-1层带孔卷积的每个点的感受野,hk、dk分别表示第k层带孔卷积的卷积核的大小、膨胀系数,si表示第i层带孔卷积的步长;其中不同层的hk、si和dk的值均相同;
并判断计算得到的各带孔卷积的每个点的感受野rfk是否满足预设需求,若满足,则基于当前带孔卷积核的大小、步长和膨胀系数确定最小单元的带孔卷积的卷积核大小、步长及膨胀系数,以及确定Conv2~Conv5的最小单元个数;
若不满足,则调整带孔卷积的卷积核大小、步长及膨胀系数,并重新从前往后逐层计算感受野rfk,直到得到的各感受野rfk满足预设需求。
6.如权利要求1所述的方法,其特征在于,所述最小单元的普通卷积的具体设置为:卷积核大小为1x1,步长为1。
7.如权利要求1所述的方法,其特征在于,反卷积层D1~D3的步长、卷积核大小和填充值相同,具体设置方式为:
初始化反卷积层的步长、卷积核大小和填充值,分别记为:s′、q和p′;
根据公式Odeconv=s′(i′-1)+q-2p′计算各反卷积层的输出特征图大小Odeconv,并判断输出特征图大小Odeconv是否满足预设需求,若满足,则基于反卷积层的步长、卷积核和填充的当前值确定反卷积层D1~D3各自的步长、卷积核大小和填充值;若不满足,则调整s′、q和p′的值,重新计算输出特征图大小Odeconv,直到满足预设需求,其中i′为输入反卷积层的特征图大小。
8.如权利要求1所述的方法,其特征在于,单人2D姿态的关键点估计网络模型的损失函数设置为:单人2D姿态的关键点估计网络模型的卷积层Conv6输出的各人体关键点的预测热图与真实热图之间的均方误差。
9.如权利要求1所述的方法,其特征在于,人体关键点为:分别在人体的五官、肩膀、肘部、手腕、臀部、膝盖和脚踝部分标注对应的人体关键点。
10.如权利要求1所述的方法,其特征在于,步骤三中,采用目标检测网络对待处理图像进行人体检测及人体分割处理,得到多个关于单人图像的分割结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910751980.1A CN110659565B (zh) | 2019-08-15 | 2019-08-15 | 一种基于带孔卷积的3d多人人体姿态估计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910751980.1A CN110659565B (zh) | 2019-08-15 | 2019-08-15 | 一种基于带孔卷积的3d多人人体姿态估计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110659565A CN110659565A (zh) | 2020-01-07 |
CN110659565B true CN110659565B (zh) | 2021-12-03 |
Family
ID=69037015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910751980.1A Active CN110659565B (zh) | 2019-08-15 | 2019-08-15 | 一种基于带孔卷积的3d多人人体姿态估计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110659565B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111353381B (zh) * | 2020-01-09 | 2023-12-08 | 浙江水科文化集团有限公司 | 一种面向2d图像的人体3d姿态估计方法 |
CN111339969B (zh) * | 2020-03-02 | 2023-06-20 | 深圳市瑞立视多媒体科技有限公司 | 人体姿势估计方法、装置、设备及存储介质 |
CN111428586B (zh) * | 2020-03-09 | 2023-05-16 | 同济大学 | 基于特征融合与样本增强的三维人体姿态估计方法 |
CN112131959B (zh) * | 2020-08-28 | 2024-03-22 | 浙江工业大学 | 一种基于多尺度特征强化的2d人体姿态估计方法 |
CN112329728A (zh) * | 2020-11-27 | 2021-02-05 | 顾翀 | 一种基于物体检测的多人坐姿检测方法及系统 |
CN113158766A (zh) * | 2021-02-24 | 2021-07-23 | 北京科技大学 | 面向无人驾驶的基于姿态估计的行人行为识别方法 |
CN113762177A (zh) * | 2021-09-13 | 2021-12-07 | 成都市谛视科技有限公司 | 实时人体3d姿态估计方法、装置、计算机设备和存储介质 |
CN113920587B (zh) * | 2021-11-01 | 2022-05-17 | 哈尔滨理工大学 | 基于卷积神经网络的人体姿态估计方法 |
CN114724247B (zh) * | 2022-04-11 | 2023-01-31 | 西安电子科技大学广州研究院 | 面向特定场景下基于语义认知的姿态估计方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109657634A (zh) * | 2018-12-26 | 2019-04-19 | 中国地质大学(武汉) | 一种基于深度卷积神经网络的3d手势识别方法及系统 |
CN109949368A (zh) * | 2019-03-14 | 2019-06-28 | 郑州大学 | 一种基于图像检索的人体三维姿态估计方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108960020A (zh) * | 2017-05-27 | 2018-12-07 | 富士通株式会社 | 信息处理方法和信息处理设备 |
US20190188533A1 (en) * | 2017-12-19 | 2019-06-20 | Massachusetts Institute Of Technology | Pose estimation |
-
2019
- 2019-08-15 CN CN201910751980.1A patent/CN110659565B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109657634A (zh) * | 2018-12-26 | 2019-04-19 | 中国地质大学(武汉) | 一种基于深度卷积神经网络的3d手势识别方法及系统 |
CN109949368A (zh) * | 2019-03-14 | 2019-06-28 | 郑州大学 | 一种基于图像检索的人体三维姿态估计方法 |
Non-Patent Citations (2)
Title |
---|
"3D Human Pose Estimation in Video With Temporal Convolutions and Semi-Supervised Training";Dario Pavllo;《arXiv》;20190329;第1-13页 * |
"基于CNN的3D姿势估计在建筑工人行为分析中的应用";熊若鑫;《中国安全科学学报》;20190731;第68-73页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110659565A (zh) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110659565B (zh) | 一种基于带孔卷积的3d多人人体姿态估计方法 | |
US11551333B2 (en) | Image reconstruction method and device | |
CN111160108B (zh) | 一种无锚点的人脸检测方法及系统 | |
CN110427877B (zh) | 一种基于结构信息的人体三维姿态估算的方法 | |
CN108319972B (zh) | 一种针对图像语义分割的端到端差异网络学习方法 | |
CN108510532B (zh) | 基于深度卷积gan的光学和sar图像配准方法 | |
CN109815826B (zh) | 人脸属性模型的生成方法及装置 | |
CN108764041B (zh) | 用于下部遮挡人脸图像的人脸识别方法 | |
EP1934941B1 (en) | Bi-directional tracking using trajectory segment analysis | |
EP3702957B1 (en) | Target detection method and apparatus, and computer device | |
CN110705344B (zh) | 一种基于深度学习的人群计数模型及其实现方法 | |
CN109035172A (zh) | 一种基于深度学习的非局部均值超声图像去噪方法 | |
CN111027464A (zh) | 对卷积神经网络和序特征编码联合优化的虹膜识别方法 | |
CN113807361B (zh) | 神经网络、目标检测方法、神经网络训练方法及相关产品 | |
CN111179419A (zh) | 三维关键点预测及深度学习模型训练方法、装置及设备 | |
CN104077742B (zh) | 基于Gabor特征的人脸素描合成方法及系统 | |
CN109977968B (zh) | 一种深度学习分类后比较的sar变化检测方法 | |
CN112634163A (zh) | 基于改进型循环生成对抗网络去图像运动模糊方法 | |
CN111881716A (zh) | 一种基于多视角生成对抗网络的行人重识别方法 | |
CN114998958A (zh) | 一种基于轻量化卷积神经网络的人脸识别方法 | |
CN113139489A (zh) | 基于背景提取和多尺度融合网络的人群计数方法及系统 | |
CN114067128A (zh) | 一种基于语义特征的slam回环检测方法 | |
CN113989296A (zh) | 基于改进U-net网络的无人机麦田遥感图像分割方法 | |
CN113536925A (zh) | 一种基于引导注意力机制的人群计数方法 | |
CN112287906A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |