首页> 中国专利> 一种基于Non-local高分辨率网络的人体姿态估计方法

一种基于Non-local高分辨率网络的人体姿态估计方法

摘要

本发明公开了一种基于Non‑local高分辨率网络的人体姿态估计方法,本方法新设计了非局部网络模块,残差连接允许将任意一个新的非局部网络模块插入到任何网络中,而不破坏原有的网络结构,即本文算法可以使用高分辨率网络的初始预训练权重。通过非局部的操作可以保持输入的参数大小,非局部网络模块是可以改变输入值的,并且非局部网络的输入端和输出端,参数是相同的。在高分辨率网络的第4阶段,分辨率最小的模块上增加非局部模块,设定通道数为256,在这个阶段加入非局部模块的原因是因为这个阶段可以得到分辨率最低的特征,越小的分辨率包含有强语义信息的低层特征,在小分辨率特征的模块上增加非局部模块,突出主要特征,从而获得更好的实验结果。

著录项

  • 公开/公告号CN113221626A

    专利类型发明专利

  • 公开/公告日2021-08-06

    原文格式PDF

  • 申请/专利权人 北京联合大学;

    申请/专利号CN202110241318.9

  • 发明设计人 何宁;孙琪翔;

    申请日2021-03-04

  • 分类号G06K9/00(20060101);G06K9/40(20060101);G06K9/46(20060101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构11203 北京思海天达知识产权代理有限公司;

  • 代理人沈波

  • 地址 100101 北京市朝阳区北四环东路97号

  • 入库时间 2023-06-19 12:07:15

说明书

技术领域

本发明属于图像处理技术领域,具体涉及一种基于非局部高分辨率网络的人 体姿态估计方法,可用于人体姿态估计、人体骨架提取时应用。

背景技术

人体姿态估计(Human Pose Estimation)是在给定的图像或视频中对人体的 关键部位或者主要关节进行检测,最终输出人体全部或局部肢体相关参数(各个 关节点的相对位置关系)的过程,例如人体轮廓、头部的位置与朝向、人体关节 的位置和部位类别等。基于计算机视觉技术的人体行为识别在人类生活的众多领 域得到广泛的应用,如视频监控、运动检索、人机交互、智能家居以及医疗保健 等任务。人体姿态估计是计算机视觉中的基础问题。

从实现姿态估计的角度考虑主要有两种方法:自上而下方法和自下而上方法。 自上而下的方法依赖检测器来检测人体实例,每个人都有一个边界框,然后将问 题减少到单个人的姿态估计。Fang等人提出一个局部的多人人姿态估计 (Regional Multi-personPose Estimation,RMPE)框架来减轻错误的检测结果对 单人姿态估计带来的影响。ChenY等人提出CascadedPyramidNetwork(CPN) 方法,该方法在特征金字塔网络(FeaturePyramid Network)的基础上结合 RefineNet来进一步优化难预测的关键点。类似的,Huang等人提出一个 Coarse-Fine网络,利用多尺度监督并融合粗细特征来得到最终的预测结果。Xiao 等人提出一个非常简单但是非常有效的网络来进行多人姿态估计和跟踪。自上而下方法在进行人体姿态估计时,会把大小不同的检测框统一到一个尺度进行学习, 因此对尺度不敏感,对小尺度的人也相对容易预测;然而对于目标检测要求较高, 如果检测有误差,后面很难恢复;另外运行时计算量与图片中的人数成正比,人 越多,计算量越大。

自下而上的方法,首先要找到图片中的所有关键点,比如所有头部,左手, 膝盖等。然后把这些关键点组装成一个个人。在引入深度学习后,Pishchulin等 人提出DeepCut把分配问题建模成全连接图(Fully Connected Graph)中的整数 线性规划(IntegerLinearProgram,ILP)问题,之后很多工作围绕解决ILP问题 展开,Iqbal等人提出可以局部地求解ILP问题,不过还是没有很好地解决这个 问题。Insafutdinov等人提出DeeperCut用更深的ResNet来估计关键点,并使用 依赖图像的成对的项和一个增量优化策略来提高推测效率。Levinkov等人提出了 两种局部搜索算法可以单调收敛到局部最优,为ILP问题提供了一个可行的解决 方案。Varadarajan等人结合人体内在的结构信息,提出一个贪婪的分配算法来降 低ILP问题的复杂度。Cao Z等人提出的OpenPose把关键点之间的关系建模成 关节引力场(PartAffinity Fields,PAFs),来帮助更好更快地分配关键点,其不 论是准确率还是速度相较之前的方法都有了巨大的提升,第一次使多人姿态估计 的速度可以达到实时的级别。接下来一些工作致力于同时学习关键点位置和怎么 分配关键点,以免除复杂的分配后处理。NewellA等人提出Associative Embedding 可以在预测关键点的同时预测一个标记热图(Tag Heatmap),用来帮助进行关键 点组别分配。Nie等人提出的Generative Partition Network利用从重心嵌入空间 得到的全局信息进行局部判断,提高了推测的准确率和效率。Papandreou等人 提出的PersonLab同时学习关键点和其相对位移,用来直接聚集同一个人的关键 点。自下而上的方法,不受别的任务,即目标检测的误差影响;计算量与图像中 有多少人无关,因此效率提升较大;然而对尺度较为敏感,对小尺度的人比较难 预测。

上述深度学习的算法都是基于卷积神经网络,而现阶段针对图像的卷积运算 都是在空间上进行局部卷积操作。例如,在常用的3×3卷积中,卷积滤波器有9 个像素,目标像素的值仅参照自身和周围的8个像素来计算。这意味着卷积只能 利用局部信息来计算目标像素,这就会因为看不到全局信息而造成一些偏差。通 常为了缓解这个问题,会使用更大的卷积滤波器或有更多卷积层的深度网络。虽 然带来了改善,但是也导致了计算效率低,优化困难的问题。针对以上问题,本 文提出了一种基于非局部神经网络改进的人体姿态估计方法,能够从主干网络的 层面解决这个问题,首先设计非局部神经网络模块,然后将该模块与目前最优人 体姿态估计骨干网络高分辨率网络进行融合,最后本文设计了3种NLHR网络 结构,在MPII(MPII Human Pose Dataset)和COCO人体关键点数据集上验证 了相关算法的有效性。

发明内容

针对上述传统卷积神经网络存在的问题和缺点,提出一种利用非局部网络模 块的NLHR网络结构,并设计一种新型网络结构NLHR(Non-local High-Resolution)网络,该网络结构可以在保持相对较小的参数量的情况下,大 幅提高人体姿态估计的准确率。一种基于Non-local高分辨率网络的人体姿态估 计方法,其特征在于包括如下步骤:

步骤1,获取图像,通过函数直接获取本地图像,要去RGB图像。

步骤2,利用的YOLOv3网络检测人体,获得人体包围框boundingbox(bbox)。

步骤3,将人体检测框的高度或宽度扩展到固定的长宽比:高:宽=4:3, 然后将人体检测框从图像中裁切出来,并重新调整到固定大小256×192。

步骤4,人体骨架提取,将步骤3中的放入NLHR网络,运行语句:python tools/train.py--cfg experiments/coco/hrnet/w32_256x192_adam_lr1e-3.yaml。将人体 骨架提取出来。有17个关键点。在这里本发明的主要贡献就是设计了新型网络 NLHR网络,网络参数及流程如下:

网络的起始部分为两层步长为2,卷积核为3×3的卷积,使得分辨率降低到 输入时的1/4,通道数变为64,之后是网络的主体结构,网络主体包含4个阶段、 4个并行卷积分支。分辨率分别为1/4、1/8、1/16、1/32。

第1阶段包含4个Bottleneck残差单元,第1个残差单元经过三层卷积使通 道数由64增加到256,然后经过3个通道数为256的Bottleneck残差单元。接下 来进入transition1模块,在该模块分为两支,一支通过步长为1,卷积核为3×3 的卷积,分辨率保持输入时的1/4,通道数变为32,记为x

第2阶段,x

第3阶段,x

第4阶段,x

接下来就是最后一层了,融合后的特征通过一个步长为1,卷积核为1×1的 卷积,输出与数据集关键点数目对应的通道数。综上,对应的网络结构参数表可 以参见表1,表1中,方括号内为模块结构,与之相乘的数字是残差单元的个数, 最后一个数字为模块的个数。

表1高分辨率网络结构参数

非局部网络模块:

本质上高分辨率网络和传统网络一样都是使用计算机视觉任务的标准方法: CNN(Convolution Neural Networks)卷积神经网络。卷积神经网络是有局限性的, 例如在5×5卷积中,卷积滤波器有25个像素,目标像素的值参照自身和周围 的24个像素来计算。这就意味着卷积只能利用局部信息来计算目标像素,这就 会因为看不到全局信息而造成误差。当然有很多方法可以缓解这个问题,比如使 用更大的卷积滤波器或者更多卷积层的深度网络。但是这些方法往往会带来较大 参数量,而结果的改善很有限。为了能解决的这个问题,本文算法引入非局部均 值的概念。

非局部均值是由Buades等人提出的一种经典的滤波算法,本质上是一种新 型的图像去噪技术,该方法充分利用了图像中的冗余信息,在去噪的同时能最大 程度的保持图像的细节特征,其核心思想是当前像素的估计值由图像中与它具有 相似邻域结构的像素加权平均得到。即在计算每个像素位置输出的时候,不再只 和邻域计算,而是和图像中所有位置都计算相关性,然后将相关性作为一个权重, 表示其他位置和当前待计算位置的相似度。非局部均值的定义如下:给定离散噪 声图像v={v(i)|i∈I},对于像素i,估计值NL[v](i)被计算为图像中所有像素 的加权平均值,如公式(1)所示:

其中权重族{w(i,,j)}

为了将非局部均值的概念和深度学习结合起来,要先介绍统计学和机器学习 中的重要概念方差和协方差。它们是为随机变量定义的概念,方差描述的是单个 随机变量与其均值之间的偏差;而协方差描述的是两个随机变量之间的相似性, 如果两个随机变量的分布相似,它们的协方差很大。否则,它们的协方差很小。 如果将特征图中的每个像素作为一个随机变量,计算所有像素之间的配对协方差, 就可以根据每个预测像素在图像中与其他像素之间的相似性来增强或减弱每个 预测像素的值。

为了实现对每个像素的全局参考,Wang等人结合上述非局部均值的特点, 提出了一个泛化、简单、可直接嵌入到当前网络的非局部网络模块,可以捕获图 像中的大范围依赖,首先给出非局部网络模块的具体公式:

其中i是一个输出位置(在空间,时间或时空)的索引,其响应将被计算。 j是枚举所有可能位置的索引。x是输入信号(图像、序列、视频;通常是它们 的特征),y是与x大小相同的输出信号。二元函数f计算i和所有j之间的关联 系数(表示关系,例如近似度)。一元函数g计算输入信号在j位置的表示,响 应由因子C(x)归一化。与卷积操作不同的是非局部运算要考虑所有位置因子

函数g使用的是一个线性嵌入函数g(x

在高分辨率网络的第4阶段,分辨率最小的模块上增加非局部模块,设定通 道数为256,在这个阶段加入非局部模块的原因是因为这个阶段可以得到分辨率 最低的特征,越小的分辨率包含有强语义信息的低层特征,在小分辨率特征的模 块上增加非局部模块,可以突出主要特征,从而可以获得更好的实验结果。具体 结构如NLHRv3网络图所示。

步骤4,将经过上述网络得到的关键点热图和真值热图结果间的均方误差, 其中P代表关键点,l代表关键点位置信息,y′

步骤5,生成包含有对应热图和关键点信息的json文件。

步骤6,运行语句:python visualization/plot_coco.py--prediction output/coco/pose_hrnet/w32_256x192_adam_lr1e-3/results/keypoints_val2017_result s_0.json--save-path visualization/results/

步骤7,得到人体骨架图,并和原始图像重合显示如结果图所示。

与现有技术相比,本发明具有如下优点:

1、本发明设计了非局部网络模块,具体定义为公式(4):

z

其中y

2、本发明设计并验证了NLHR网络,在高分辨率网络的第4阶段,分辨率最小的模块上增加非局部模块,设定通道数为256,在这个阶段加入非局部模块的原因是因为这个阶段可以得到分辨率最低的特征,越小的分辨率包含有强语义信息的低层特征,在小分辨率特征 的模块上增加非局部模块,可以突出主要特征,从而可以获得更好的实验结果。具体结构如 图NLHR网络所示。

附图说明

图1本发明的流程图

图2非局部网络模块图

图3非局部网络模块图简化图

图4NLHR网络结构图

图5本发明的人体姿态估计结果图

具体实施方式

针对上述传统卷积神经网络存在的问题和缺点,提出一种利用非局部网络模 块的NLHR网络结构,并设计一种新型网络结构NLHR(Non-local High-Resolution)网络,该网络结构可以在保持相对较小的参数量的情况下,大 幅提高人体姿态估计的准确率。一种基于Non-local高分辨率网络的人体姿态估 计方法,其特征在于包括如下步骤:

步骤1,获取图像,通过函数直接获取本地图像,要去RGB图像

步骤2,利用的YOLOv3网络检测人体,获得人体包围框bounding box(bbox)。

步骤3,将人体检测框的高度或宽度扩展到固定的长宽比:高:宽=4:3, 然后将人体检测框从图像中裁切出来,并重新调整到固定大小256×192。

步骤4,人体骨架提取,将步骤3中的放入NLHR网络,运行语句:python tools/train.py--cfg experiments/coco/hrnet/w32_256x192_adam_lr1e-3.yaml。将人体 骨架提取出来。有17个关键点。在这里本发明的主要贡献就是设计了新型网络NLHR网络,网络参数及流程如下:

网络的起始部分为两层步长为2,卷积核为3×3的卷积,使得分辨率降低到 输入时的1/4,通道数变为64,之后是网络的主体结构,网络主体包含4个阶段、 4个并行卷积分支。分辨率分别为1/4、1/8、1/16、1/32。

第1阶段包含4个Bottleneck残差单元,第1个残差单元经过三层卷积使通 道数由64增加到256,然后经过3个通道数为256的Bottleneck残差单元。接下 来进入transition1模块,在该模块分为两支,一支通过步长为1,卷积核为3×3 的卷积,分辨率保持输入时的1/4,通道数变为32,记为x

第2阶段,x

第3阶段,x

第4阶段,x

接下来就是最后一层了,融合后的特征通过一个步长为1,卷积核为1×1的 卷积,输出与数据集关键点数目对应的通道数。综上,对应的网络结构参数表可 以参见表1,表1中,方括号内为模块结构,与之相乘的数字是残差单元的个数, 最后一个数字为模块的个数。

表1高分辨率网络结构参数

非局部网络模块:

本质上高分辨率网络和传统网络一样都是使用计算机视觉任务的标准方法: CNN(Convolution Neural Networks)卷积神经网络。卷积神经网络是有局限性的, 例如在5×5卷积中,卷积滤波器有25个像素,目标像素的值参照自身和周围 的24个像素来计算。这就意味着卷积只能利用局部信息来计算目标像素,这就 会因为看不到全局信息而造成误差。当然有很多方法可以缓解这个问题,比如使 用更大的卷积滤波器或者更多卷积层的深度网络。但是这些方法往往会带来较大 参数量,而结果的改善很有限。为了能解决的这个问题,本文算法引入非局部均 值的概念。

非局部均值是由Buades等人提出的一种经典的滤波算法,本质上是一种新 型的图像去噪技术,该方法充分利用了图像中的冗余信息,在去噪的同时能最大 程度的保持图像的细节特征,其核心思想是当前像素的估计值由图像中与它具有 相似邻域结构的像素加权平均得到。即在计算每个像素位置输出的时候,不再只 和邻域计算,而是和图像中所有位置都计算相关性,然后将相关性作为一个权重, 表示其他位置和当前待计算位置的相似度。非局部均值的定义如下:给定离散噪 声图像v={v(i)|i∈I},对于像素i,估计值NL[v](i)被计算为图像中所有像素 的加权平均值,如公式(1)所示:

其中权重族{w(i,j)}

为了将非局部均值的概念和深度学习结合起来,要先介绍统计学和机器学习 中的重要概念方差和协方差。它们是为随机变量定义的概念,方差描述的是单个 随机变量与其均值之间的偏差;而协方差描述的是两个随机变量之间的相似性, 如果两个随机变量的分布相似,它们的协方差很大。否则,它们的协方差很小。 如果将特征图中的每个像素作为一个随机变量,计算所有像素之间的配对协方差, 就可以根据每个预测像素在图像中与其他像素之间的相似性来增强或减弱每个 预测像素的值。

为了实现对每个像素的全局参考,Wang等人结合上述非局部均值的特点, 提出了一个泛化、简单、可直接嵌入到当前网络的非局部网络模块,可以捕获图 像中的大范围依赖,首先给出非局部网络模块的具体公式:

其中i是一个输出位置(在空间,时间或时空)的索引,其响应将被计算。 j是枚举所有可能位置的索引。x是输入信号(图像、序列、视频;通常是它们 的特征),y是与x大小相同的输出信号。二元函数f计算i和所有j之间的关联 系数(表示关系,例如近似度)。一元函数g计算输入信号在j位置的表示,响 应由因子C(x)归一化。与卷积操作不同的是非局部运算要考虑所有位置因子

函数g使用的是一个线性嵌入函数g(x

在高分辨率网络的第4阶段,分辨率最小的模块上增加非局部模块,设定通 道数为256,在这个阶段加入非局部模块的原因是因为这个阶段可以得到分辨率 最低的特征,越小的分辨率包含有强语义信息的低层特征,在小分辨率特征的模 块上增加非局部模块,可以突出主要特征,从而可以获得更好的实验结果。具体 结构如NLHRv3网络图所示。

步骤4,将经过上述网络得到的关键点热图和真值热图结果间的均方误差, 其中P代表关键点,l代表关键点位置信息,y′

步骤5,生成包含有对应热图和关键点信息的json文件。

步骤6,运行语句:python visualization/plot_coco.py--prediction output/coco/pose_hrnet/w32_256x192_adam_lr1e-3/results/keypoints_val2017_result s_0.json--save-path visualization/results/

步骤7,得到人体骨架图,并和原始图像重合显示如结果图所示。

进一步实验证实:

本文首先在MPII数据集上分别用3个版本的NLHR网络进行实验,然后在 COCO数据集上对最优版本的网络进行再次验证。

PCKh评价标准[17]。通过对测试图像中每个人进行明确的边界限定来获得 检测准确率。给定边界框(h,w)框内的候选区域包含原始关键点坐标位置,控 制相关阈值得到不同准确率来判断预测的关键点是否定位合理,选择阈值r=0.5。 PCKh用于人体躯干大小代替头部框大小,将该尺度作为归一化其他部件的距离, 距离采用欧式距离。如果检测关键点与标签关键点的欧式距离在该阈值范围内, 则该检测结果是正确的。以第k类人体关键点为例,PCKh的计算方式如下:

其中,PCKh(k)是第k个关键点PCKh的值,其累加和的均值为最终结果, 在第i个图片中的第k类人体关键点的标签值为

OKS评价标准[18]。基于COCO评估指标OKS,AP是对于不同关键点类型 和人物大小尺寸的归一化,是关键点之间的平均关键点相似度,在[0,1]之间,预 测越接近原值则趋向1,反之趋向0。OKS定义为公式(6)

其中,d是真值坐标θ

其中,t为给定OKS的阈值处理分别取(0.50,0.55,...,0.90,0.95),预测 准确率由测试集所有图片中人物的OKS指标计算得到。

实验结果

表1 MPII验证集上的实验结果

表2 COCO验证集上的实验结果

表3人体姿态估计网络的参数量、GFLOPs和实验结果

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号