一种固定场景中的无监督人体关键点检测方法及系统
文献发布时间:2023-06-19 11:14:36
技术领域
本发明涉及人体关键点检测技术领域,特别是涉及一种固定场景中的无监督人体关键点检测方法及系统。
背景技术
人体关键点检测在人机交互、虚拟现实、电影特效制作中扮演着重要的角色。目前,绝大部分人体关键点检测方案都采用了以下两种思路之一:1.由人物穿上若干特征明显的marker,再用传感器或特征检测算法检测marker的空间坐标;2.抛弃传统的基于传感器和特征检测的算法,事先由人工标注大量的彩色图像中的人体关键点位置,再用大量数据训练神经网络,最后使用训练好的神经网络检测人物的关键点。然而,这两种方法都有一定的缺陷。基于传感器和特征检测算法的方法由于需要人物穿戴marker,以及需要配套的传感器或特征检测算法,使用场景比较受限。另一方面,基于神经网络的方法,由于需要大量的人工标注数据训练,人工成本较大。近年来,随着神经网络技术的发展,无监督训练越来越受到人们的重视,因为它可以解决基于监督训练的神经网络需要大量标注数据的问题。但是,目前的无监督神经网络技术还局限在图像识别等计算机视觉的经典方向,如何将它与人体关键点检测结合起来,让其真正具备实用价值,是人体关键点检测领域的一个重要问题。
发明内容
本发明的目的是提供一种固定场景中的无监督人体关键点检测方法及系统,利用无监督神经网络技术实现人体关键点的三维坐标的精确测量,以解决传统人体关键点监测时需要穿戴marker的问题以及神经网络的训练需要大量标注数据的问题。
为实现上述目的,本发明提供了如下方案:
一种固定场景中的无监督人体关键点检测方法,所述方法包括:
获取相机阵列中不同拍摄视角的彩色相机同步拍摄的多个人物彩色图像样本;
构建卷积神经网络;所述卷积神经网络包括编码器和解码器;
采用卷积神经网络的编码器将每个人物彩色图像样本编码为样本热度图;
根据每个样本热度图,利用卷积神经网络的解码器,获得每个样本热度图对应的重建彩色图像;
选取重建彩色图像与人物彩色图像样本的重建效果和样本热度图的一致性作为损失函数,对所述卷积神经网络进行训练,获得训练好的卷积神经网络;
获取相机阵列采集的不同拍摄视角的待检测人物彩色图像;
将所述不同拍摄视角的待检测人物彩色图像输入训练好的卷积神经网络的编码器,获得不同拍摄视角的待检测人物热度图;
从不同拍摄视角的待检测人物热度图中提取待检测人物的人体关键点的三维坐标。
进一步地,所述卷积神经网络的编码器包括预处理模块、多尺度特征提取模块和归一化模块;
预处理模块由多级CONV-BN-RELU神经网络以线性顺序组成;其中,CONV表示卷积层,BN表示批量归一化层,RELU表示线性整流激活函数;
多尺度特征提取模块包含多级CONV-BN-RELU-MAXPOOL组成的尺度缩小模块和多级CONV-BN-RELU-UPSAMPLE组成的尺度放大模块;其中,MAXPOOL表示最大池化层,UPSAMPLE表示上采样;
所述卷积神经网络的解码器包括由多级CONV-BN-RELU组成的神经网络以及一个和原始图像尺寸相同、权重可变的张量。
进一步地,所述根据每个样本热度图,利用卷积神经网络的解码器,获得每个样本热度图对应的重建彩色图像,具体包括:
利用soft-argmax获得样本热度图中包含的多个人体关键点二维坐标;
以样本热度图中包含的每个人体关键点二维坐标为中心,对样本热度图对应的人物彩色图像样本进行可微分裁剪操作,获得人物彩色图像样本的裁剪子图;
将人物彩色图像样本的裁剪子图输入所述卷积神经网络的解码器,获得样本热度图对应的重建彩色图像。
进一步地,所述利用soft-argmax获得样本热度图中包含的多个人体关键点二维坐标,具体包括:
将所述样本热度图输入soft-argmax,利用公式
其中,(X
进一步地,所述以样本热度图中包含的每个人体关键点二维坐标为中心,对样本热度图对应的人物彩色图像样本进行可微分裁剪操作,获得人物彩色图像样本的裁剪子图,具体包括:
以样本热度图中包含的每个人体关键点二维坐标为中心,利用公式
其中,y
进一步地,所述选取重建彩色图像与人物彩色图像样本的重建效果和样本热度图的一致性作为损失函数,具体包括:
根据每个样本热度图中包含的多个人体关键点二维坐标,利用最小二乘法计算每个样本热度图中人体关键点的三维坐标;
将每个样本热度图中人体关键点的三维坐标投影到二维坐标系上,获得每个样本热度图中人体关键点的二维投影坐标;
根据重建彩色图像与人物彩色图像样本的差值,以及每个样本热度图中人体关键点的二维投影坐标与每个样本热度图中人体关键点二维坐标的差值,构建损失函数为
其中,y为损失函数的值,x
一种固定场景中的无监督人体关键点检测系统,所述系统包括:
人物彩色图像样本获取模块,用于获取相机阵列中不同拍摄视角的彩色相机同步拍摄的多个人物彩色图像样本;
卷积神经网络构建模块,用于构建卷积神经网络;所述卷积神经网络包括编码器和解码器;
样本热度图编码模块,用于采用卷积神经网络的编码器将每个人物彩色图像样本编码为样本热度图;
重建彩色图像获得模块,用于根据每个样本热度图,利用卷积神经网络的解码器,获得每个样本热度图对应的重建彩色图像;
训练好的卷积神经网络获得模块,用于选取重建彩色图像与人物彩色图像样本的重建效果和样本热度图的一致性作为损失函数,对所述卷积神经网络进行训练,获得训练好的卷积神经网络;
待检测人物彩色图像获取模块,用于获取相机阵列采集的不同拍摄视角的待检测人物彩色图像;
待检测人物热度图获得模块,用于将所述不同拍摄视角的待检测人物彩色图像输入训练好的卷积神经网络的编码器,获得不同拍摄视角的待检测人物热度图;
人体关键点的三维坐标提取模块,用于从不同拍摄视角的待检测人物热度图中提取待检测人物的人体关键点的三维坐标。
进一步地,所述卷积神经网络的编码器包括预处理模块、多尺度特征提取模块和归一化模块;
预处理模块由多级CONV-BN-RELU神经网络以线性顺序组成;其中,CONV表示卷积层,BN表示批量归一化层,RELU表示线性整流激活函数;
多尺度特征提取模块包含多级CONV-BN-RELU-MAXPOOL组成的尺度缩小模块和多级CONV-BN-RELU-UPSAMPLE组成的尺度放大模块;其中,MAXPOOL表示最大池化层,UPSAMPLE表示上采样;
所述卷积神经网络的解码器包括由多级CONV-BN-RELU组成的神经网络以及一个和原始图像尺寸相同、权重可变的张量。
进一步地,所述重建彩色图像获得模块,具体包括:
人体关键点二维坐标获得子模块,用于利用soft-argmax获得样本热度图中包含的多个人体关键点二维坐标;
裁剪子图获得子模块,用于以样本热度图中包含的每个人体关键点二维坐标为中心,对样本热度图对应的人物彩色图像样本进行可微分裁剪操作,获得人物彩色图像样本的裁剪子图;
重建彩色图像获得子模块,用于将人物彩色图像样本的裁剪子图输入所述卷积神经网络的解码器,获得样本热度图对应的重建彩色图像。
进一步地,所述人体关键点二维坐标获得子模块,具体包括:
人体关键点二维坐标获得单元,用于将所述样本热度图输入soft-argmax,利用公式
其中,(X
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明提供了一种固定场景中的无监督人体关键点检测方法及系统,利用相机阵列中不同拍摄视角的彩色相机同步拍摄的多个人物彩色图像样本对卷积神经网络进行训练,将不同拍摄视角的待检测人物彩色图像输入训练好的卷积神经网络的编码器,获得不同拍摄视角的待检测人物热度图,从不同拍摄视角的待检测人物热度图中即可提取待检测人物的人体关键点的三维坐标。本发明对卷积神经网络进行无监督训练,解决了神经网络的训练需要大量标注数据的问题,并利用卷积神经网络实现人体关键点的三维坐标的精确测量,解决了传统人体关键点监测时需要穿戴marker的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种固定场景中的无监督人体关键点检测方法的流程图;
图2为本发明提供的利用卷积神经网络重建原始图像的原理图;
图3为典型的多视角相机阵列布局的俯视图;
图4为本发明提供的一个视角的原始图像获得重建图像的原理图;图4(a)为一个视角的原始图像,图4(b)为经过编码器编码得到热度图的一个通道,图4(c)为经过soft-argmax转化后得到的关键点坐标绘制在输入图像后的效果图,图4(d)为裁剪后得到的关键子图,图4(e)为重建图像的效果图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种固定场景中的无监督人体关键点检测方法及系统,利用无监督神经网络技术实现人体关键点的三维坐标的精确测量,以解决传统人体关键点监测时需要穿戴marker的问题以及神经网络的训练需要大量标注数据的问题。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明是一种针对固定场景中缺少人工标注数据或缺少传感器数据情况下的人体关键点检测方法。本发明在不需要事先由人工标注人体关键点或使用传感器检测人体关键点的条件下,首先通过多个彩色相机采集目标人物在固定场景中不同角度的彩色图像,再利用卷积神经网络组成的编码器将彩色图像编码成包含人体关键点概率分布的热度图,并利用soft-argmax变换将热度图转化为二维坐标;然后使用得到的二维坐标在原始图像中裁剪出对应的部分关键子图;最后使用由卷积神经网络组成的解码器对裁剪得到的子图执行重建原始图像的任务,以此作为损失函数训练神经网络,同时结合多个视角在三维世界中的一致性作为约束,得到人体关键点的三维坐标。本方法属于无监督方法,只需要彩色图像作为输入,既不需要人工对图像进行标注,也不需要目标人物穿戴传感器,在需要采集人体姿态的领域可以得到广泛的应用。
本发明提供了一种固定场景中的无监督人体关键点检测方法,如图1-2所示,方法包括:
S101,获取相机阵列中不同拍摄视角的彩色相机同步拍摄的多个人物彩色图像样本;
S102,构建卷积神经网络;卷积神经网络包括编码器和解码器;
S103,采用卷积神经网络的编码器将每个人物彩色图像样本编码为样本热度图;
S104,根据每个样本热度图,利用卷积神经网络的解码器,获得每个样本热度图对应的重建彩色图像;
S105,选取重建彩色图像与人物彩色图像样本的重建效果和样本热度图的一致性作为损失函数,对卷积神经网络进行训练,获得训练好的卷积神经网络;
S106,获取相机阵列采集的不同拍摄视角的待检测人物彩色图像;
S107,将不同拍摄视角的待检测人物彩色图像输入训练好的卷积神经网络的编码器,获得不同拍摄视角的待检测人物热度图;
S108,从不同拍摄视角的待检测人物热度图中提取待检测人物的人体关键点的三维坐标。
步骤S102,卷积神经网络的编码器包括预处理模块、多尺度特征提取模块和归一化模块;
预处理模块由多级CONV-BN-RELU神经网络以线性顺序组成;其中,CONV表示卷积层,BN表示批量归一化层,RELU表示线性整流激活函数;
多尺度特征提取模块包含多级CONV-BN-RELU-MAXPOOL组成的尺度缩小模块和多级CONV-BN-RELU-UPSAMPLE组成的尺度放大模块;其中,MAXPOOL表示最大池化层,UPSAMPLE表示上采样;尺度缩小模块和尺度放大模块最终组合成沙漏型的神经网络模型;
归一化模块,对张量进行空间域上的归一化运算,其过程可以抽象为
卷积神经网络的解码器包括由多级CONV-BN-RELU组成的神经网络以及一个和原始图像尺寸相同、权重可变的张量。
步骤S104,根据每个样本热度图,利用卷积神经网络的解码器,获得每个样本热度图对应的重建彩色图像,具体包括:
利用soft-argmax获得样本热度图中包含的多个人体关键点二维坐标,具体包括:
将样本热度图输入soft-argmax,利用公式
其中,(X
以样本热度图中包含的每个人体关键点二维坐标为中心,对样本热度图对应的人物彩色图像样本进行可微分裁剪操作,获得人物彩色图像样本的裁剪子图,具体包括:
以样本热度图中包含的每个人体关键点二维坐标为中心,利用公式
其中,y
将人物彩色图像样本的裁剪子图输入卷积神经网络的解码器,获得样本热度图对应的重建彩色图像。
图2中,编码器后面的四个长方体表示每张输入图编码得到的热度图(每个热度图都是16*宽*高的张量),热度图右边的4个灰色长方形表示二维坐标,每个热度图都会编码成16个二维坐标。
步骤S105,选取重建彩色图像与人物彩色图像样本的重建效果和样本热度图的一致性作为损失函数,具体包括:
根据每个样本热度图中包含的多个人体关键点二维坐标,利用最小二乘法计算每个样本热度图中人体关键点的三维坐标;
将每个样本热度图中人体关键点的三维坐标投影到二维坐标系上,获得每个样本热度图中人体关键点的二维投影坐标;
根据重建彩色图像与人物彩色图像样本的差值,以及每个样本热度图中人体关键点的二维投影坐标与每个样本热度图中人体关键点二维坐标的差值,构建损失函数为
其中,y为损失函数的值,x
步骤S108,从不同拍摄视角的待检测人物热度图中提取待检测人物的人体关键点的三维坐标,具体包括:
利用soft-argmax确定所述每个拍摄视角的待检测人物热度图中的多个人体关键点二维坐标;
根据所有拍摄视角的人物热度图中的多个人体关键点二维坐标,利用最小二乘法计算人物的人体关键点的三维坐标。
针对目前的人体关键点检测技术存在的问题,本发明采用了神经网络来解决传统人体关键点检测时需要穿戴marker的问题,同时创造性的将无监督训练方法引入人体关键点检测领域,来解决神经网络的训练需要的大量标注数据的问题,实现了在成本较低、人工参与较少的情况下检测准确的三维人体关键点。
本发明的具体实现过程如下:
本方法由三个主要阶段组成。
第一阶段为数据采集阶段。本阶段使用多个彩色相机组成的相机阵列,对目标人物拍摄多个视角、连续、同步的彩色图像序列。
第二阶段为神经网络的无监督训练阶段。在这一阶段,相机阵列采集到的彩色图像先送入由卷积神经网络组成的编码器。编码器由三个模块组成:第一个模块为预处理模块,由多个CONV-BN-RELU神经网络串行连接而成,其中CONV表示卷积层,BN表示批量归一化层,RELU表示线性整流激活函数;编码器的第二个模块是多尺度的特征提取模块,其前半部分由多个CONV-BN-RELU-MAXPOOL神经网络组成,其中MAXPOOL表示最大池化层,张量每次经过MAXPOOL层,空间尺度都会缩小为原来的一半,多尺度特征提取模块的后半部分由多个CONV-BN-RELU-UPSAMPLE组成,其中UPSAMPLE为上采样,用于对缩小后的张量进行放大。最终两个部分组合成一个沙漏型的网络结构,用于提取不同尺度下的空间特征。编码器的第三个模块是归一化模块,用于将经过预处理和多尺度特征提取的张量转化为有明确物理含义的热度图,对张量在空间域上执行softmax归一化,其过程可以描述为:
其中,x为四维的张量,分别表示batch(批量数)、channel(通道数)、height(空间域的高)、width(空间域的宽),y为输出的张量,数据格式和输入相同。
得到编码器输出的热度图后,将热度图的每一个像素视作关键点出现在该坐标的概率,对整个热度图求期望,得到关键点的二维坐标,记p
然后,以得到的二维坐标为中心,将其转化为标准二维高斯分布图,和原始图像相乘,得到以二维坐标为中心的子图,其过程可以描述为:
其中,x
得到裁剪后的子图后,以子图作为输入,用由卷积神经网络组成的解码器恢复原始图像,以重建效果作为损失函数,对神经网络执行无监督的训练。损失函数选用标准二范数,其形式为:
其中y为损失函数的值,x表示重建的图像,g表示原始图像。
在整个训练过程中,为了得到更好的重建效果,裁剪得到的子图必定包含原始图像中的重要信息,同时又由于原始图像的场景是固定的,原始图像的不同帧之间在不断发生变化的即是人体的姿态信息,以重建效果为约束,就会迫使编码器检测的二维坐标不断逼近人体的关键点。
同时,由于神经网络是一个连续函数,而裁剪后的子图中包含大量重复的全黑区域,连续的神经网路很难从这些重复的黑色区域中重建出不同的背景图像,所以除了裁剪的子图作为输入,编码器中还包含了一个和原始图像空间尺寸相同的张量,其权重可变,随着网络的训练而不断优化。这个包含固定场景信息的张量参与重建网络的形式为:
y=f(concat(x
其中y表示重建的图像,x
此外,为了获得关键点更精确的三维坐标,在训练的过程中,本方法还使用了多个视角的二维坐标经过反投影到三维世界后应该位于同一点作为约束,其过程为:先用最小二乘法对多个视角的二维坐标反投影计算得到误差最小的三维坐标,记该三维坐标为x
其中y表示损失函数的值,v表示视角的索引,n表示关键点的索引,x
本方法的第三阶段为神经网络的推理阶段。在这一阶段中,将训练完成的编码器和相机阵列的输出连接,使用神经网络进行推理,得到不同视角下的关键点的二维坐标,并采用二阶段中x
以上三个阶段总结为以下步骤:
步骤1.数据采集:使用多个彩色相机组成的相机阵列采集目标人物一段连续、同步的彩色图像,作为训练数据。多个相机的相对位置没有要求,一个典型的八相机阵列如图3所示,其中每一个长方体表示一个相机,线段方向表示其朝向。
步骤2.神经网络的训练:搭建好神经网络之后,从采集到的彩色图像中随机挑选内存(或显存)能够容纳下的数量的图片,作为一次迭代的训练数据。然后将挑选出来的训练数据送入编码器,依次经历预处理、多尺度特征提取、空间归一化的数据处理,得到热度图;接下来经过soft-argmax变化将热度图转化为关键点坐标;最后,同时用重建原始图像的效果、多个视角的二维关键点在三维世界中的一致性计算损失函数,再经过反向传播、梯度更新后,完成一次迭代。并一直重复前述过程直到网络收敛。
图4为一个视角的原始图像获得重建图像的原理图。图4(a)为一个视角的原始图像,图4(b)为经过编码器编码得到热度图的一个通道,图4(c)为经过soft-argmax转化后得到的关键点坐标绘制在输入图像后的效果图,图4(d)为裁剪后得到的关键子图,图4(e)为重建图像的效果图。
步骤3.神经网络推理:神经网络训练完成后,将相机阵列采集到的目标人物图像送入编码器,经过soft-argmax变化和最小二乘法计算,即可得到人体关键点坐标。
本发明的目的是:在仅使用彩色相机组成的阵列,以及没有人工标注人体关键点数据的情况下,实现人体关键点的三维坐标的精确测量,主要应用于人机交互、虚拟现实、电影特效制作等应用。
本发明还提供了一种固定场景中的无监督人体关键点检测系统,系统包括:
人物彩色图像样本获取模块,用于获取相机阵列中不同拍摄视角的彩色相机同步拍摄的多个人物彩色图像样本;
卷积神经网络构建模块,用于构建卷积神经网络;卷积神经网络包括编码器和解码器;
样本热度图编码模块,用于采用卷积神经网络的编码器将每个人物彩色图像样本编码为样本热度图;
重建彩色图像获得模块,用于根据每个样本热度图,利用卷积神经网络的解码器,获得每个样本热度图对应的重建彩色图像;
训练好的卷积神经网络获得模块,用于选取重建彩色图像与人物彩色图像样本的重建效果和样本热度图的一致性作为损失函数,对卷积神经网络进行训练,获得训练好的卷积神经网络;
待检测人物彩色图像获取模块,用于获取相机阵列采集的不同拍摄视角的待检测人物彩色图像;
待检测人物热度图获得模块,用于将不同拍摄视角的待检测人物彩色图像输入训练好的卷积神经网络的编码器,获得不同拍摄视角的待检测人物热度图;
人体关键点的三维坐标提取模块,用于从不同拍摄视角的待检测人物热度图中提取待检测人物的人体关键点的三维坐标。
卷积神经网络的编码器包括预处理模块、多尺度特征提取模块和归一化模块;
预处理模块由多级CONV-BN-RELU神经网络以线性顺序组成;其中,CONV表示卷积层,BN表示批量归一化层,RELU表示线性整流激活函数;
多尺度特征提取模块包含多级CONV-BN-RELU-MAXPOOL组成的尺度缩小模块和多级CONV-BN-RELU-UPSAMPLE组成的尺度放大模块;其中,MAXPOOL表示最大池化层,UPSAMPLE表示上采样;
卷积神经网络的解码器包括由多级CONV-BN-RELU组成的神经网络以及一个和原始图像尺寸相同、权重可变的张量。
重建彩色图像获得模块,具体包括:
人体关键点二维坐标获得子模块,用于利用soft-argmax获得样本热度图中包含的多个人体关键点二维坐标;
裁剪子图获得子模块,用于以样本热度图中包含的每个人体关键点二维坐标为中心,对样本热度图对应的人物彩色图像样本进行可微分裁剪操作,获得人物彩色图像样本的裁剪子图;
重建彩色图像获得子模块,用于将人物彩色图像样本的裁剪子图输入卷积神经网络的解码器,获得样本热度图对应的重建彩色图像。
人体关键点二维坐标获得子模块,具体包括:
人体关键点二维坐标获得单元,用于将样本热度图输入soft-argmax,利用公式
其中,(X
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
- 一种固定场景中的无监督人体关键点检测方法及系统
- 一种基于复杂场景下的人体关键点检测系统及方法