本文是一篇软件工程硕士论文,本文设计提出网络模型。通过多个消融实验和对比实验,可以看出本文提出的模型可以有效降低3D姿态估计的误差,并且在多个方法中表现最优。最后将2D姿态去噪结果应用于人体图像补全中,并设计了原型系统让使用模型更加便捷。
第一章绪论
1.1研究背景与意义
随着信息技术的不断发展,人工智能也有了突破性进展。其中计算机视觉(Computer Vision,CV)[1]成为目前人工智能领域最热门的课题之一,其目标是读懂图形图像和认知周围环境信息,实现识别、跟踪和测量等功能。计算机视觉领域已经取得了很多不错的研究成果,并广泛运用在各个产业。
深度学习的飞速发展促进了计算机视觉广泛运用,比如实列分割、图像修复、医学影像和人体姿态估计。其中人体姿态估计(Human Pose Estimation)有广泛的发展空间和应用,受到越来越多的学者关注和研究,并取得了巨大的研究成果。人体姿态估计从空间维度上可以分为2D人体姿态估计和3D人体姿态估计,随着VGG[2]、AlexNet[3]和ResNet[4]等网络产生和卷积网络的发展,2D人体姿态估计已经获得了较高的准确率。但是现实场景中,很多的应用往往需要获得人体的三维坐标,所以3D的人体姿态估计具有更加广泛的使用场景。获取3D人体姿态的方式也在不断的发展,如图1-1所示获取3D姿态的常用方法有穿戴设备、RGB图和深度图。在早期获取人体3D姿态的方法主要是通过人体穿戴传感器或者发光源,但是这种方式对设备十分敏感并且成本代价高。后期随着计算机视觉的发展,人体姿态估计使用相关算法对图片和视频进行检测和预测。
1.2国内外研究现状
由于人体姿态估计是许多研究领域的前置任务,有着广泛应用。所以有大量学者在该领域上进行了研究并取得了不菲的成就。在过去对人体姿态估计的研究中,可以分为两个阶段:传统算法阶段和深度学习算法阶段。对于三维的人体姿态估计,在早期主要是通过传感器和追踪器进行辅助。后期随着深度学习的爆发和体感相机的发布,在视频和单张的RGB图片上进行人体姿态的研究取得了很大的进步。下面从传统算法和深度学习算法这两方面对人体姿态估计进行介绍,更多的研究现状可以参考相关文献[9-13]。
1.2.1传统算法的人体姿态估计
在传统算法阶段主要采取两类方法。第一类是把该任务看作是一个回归或分类的问题,获得全局特征直接进行求解[14,15]。这个方法较为简单容易理解,但是这种方法精度不高,并且对图片的背景很敏感。第二类是基于模板匹配的方法[16-18]。这个方法的思路是利用人体几何的先验信息,定义一个模板去匹配人体的关键点和关键点之间的联系。模板能够尽可能多去匹配和检测出不同的人体姿态,达到更高的精度。这种方法需要为人体中的每个部件设计检测器,并在部件之间建立符合人体运动学约束的连通关系。这种方法也是可以称为基于人体部位模型算法,这个方法常用的算法是图结构(Pictorial Structure,PS)和可变形部件模型(Deformable Part Models,DPM)。
第二章3D人体姿态估计相关基础理论
2.1深度学习概述
2.1.1神经网络
神经网络一般也叫做人工神经网络,最早是1943年生理学家W.S.McCulloch和W.A.Pitts提出来的。神经网络模拟人的大脑神经元,其中最基本的单位是单个的神经元。通过对基础神经元进行不同连接组合,可以并行的处理一些线性和非线性的问题。如图2-1所示,在过去的70多年的研究中,大致经历了7个大的阶段。神经网络经过慢慢完善具有了强大的功能,并广泛的运用在各个领域。以下针对其中几个阶段进行详细的讲述。
2.1.1.1感知机
感知机(perceptron)是在1975年被Frank Rosenblatt提出,用于解决一些简单的问题。如图2-2所示,感知机可以有多个输入,但是只能有一个输出,是神经网络的基础结构。每一个输入信号也可以称为一个神经元,他们都会对应一个权重值。神经元与其对应的权重值相乘,得到该神经元的输出。如果神经元信息的总和超过指定的某个阈值θ则会输出1的信号,否则输出为0的信号。
感知机可以实现与门、与非门和或门。与门设计有两个输入信号,有一个输出电流。当两个输入信号同时为1时,输出信号为1,其余情况输出信号为0。与非门则是和与门输出刚好颠倒,或门也是类似的设计原理。另外一种写法是把阈值θ看做是偏置写到等号的左边,通过对权重和偏置的不同设置,可以实现类似的逻辑。在1969年异或门(XOR gate)被提出出来,很遗憾感知机并不能解决这个简单的问题。虽然后面研究的多层感知机可以解决异或门的问题,但是感知机无论如何变化都不能解决很复杂的问题。使得很多人对神经网络持悲观的态度,此后的很长一段时间神经网络都处于停滞期。
2.2 2D人体姿态的估计
2D人体姿态估计是指从图片或视频中人物的骨骼节点进行二维坐标识别和定位的算法,以往的2D人体姿态估计研究有两种不同的思路。如图2-10所示一种是基于坐标回归的思路,另外一种是基于Heatmap检测的思路。基于坐标回归的方法是将人体的关键点作为网络的最后输出,这种方法可以直接得到2D人体姿态,是一种很直观的方法。但是这种方法的收敛速度较慢,准确度不是很高。另外一种基于Heatmap的检测方法是检测图像中的每个像素属于每个关键点的概率,最后输出的是每个关键点的响应图。基于Heatmap的检测方法的监督信息较多,网络的收敛速度会快很多。因为是利用了周围的信息,准确度也有所提高,因此基于Heatmap的检测是现在最常用的2D人体姿态估计方法。
姿态估计从图像中的人数量上来划分,主要分为单人和多人的人体姿态估计。单人姿态估计由于只存在一个人,所以只需要对固定的关键点进行定位,因此任务会较为简单并且精确度较高。多人的人体姿态估计由于人数的增加,遮挡的问题会更加严重,场景更为复杂。由于多人姿态估计中的人数和每个人的位置都是不确定的,并且人体关键点之间很容易出现交叉的情况,增添了姿态估计的难度。以下详细的讲述这两种方法的一些经典算法。
2.2.1单人2D人体姿态估计
单人姿态估计是姿态估计的基础,单人人体姿态估计是将已经裁剪好的行人图片作为输入,再对输入图片进行姿态估计。现在单人的2D人体姿态估计已经达到了很高的准确度了,以下对两个经典的单人2D人体姿态估计进行讲述。
第三章两阶段的单目3D人体姿态估计模型........................22
3.1整体网络框架设计........................22
3.1.1 2D姿态预测网络..........................23
3.1.2 2D-3D提升网络...................................24
第四章两阶段的单目3D姿态估计模型性能分析.....................42
4.1实验数据集................................42
4.1.1 Human3.6数据集..................................42
4.1.2 xR-EgoPose数据集.............................43
第五章基于姿态估计的人体图像补全........................61
5.1人体图像补全.............................61
5.1.1人体掩膜补全....................................62
5.1.2人体缺失内容补全.........................65
第五章基于姿态估计的人体图像补全
5.1人体图像补全
本文使用人体姿态辅助人体图像补全,其中的网络是分别参考的是一个图像风格转换网络[72]和一个图像修复网络[73]。如图5-1所示本章将人体图像补全分为两个部分,第一步是获取图像中完整的人体掩膜,第二步是通过获得的掩膜补全人体图像。下面将详细的介绍人体掩膜补全和人体缺失内容补全这两部分,包括每个部分的模型训练和实验结果。
第六章全文总结与展望
6.1全文总结
本文首先对3D姿态估计的研究背景和意义进行了探究,并对国内外的研究现状进行了概括。其次对3D姿态估计的一些基础知识进行介绍。首先是介绍了深度学习、神经网络和模型训练等基础理论,然后介绍2D人体姿态估计和3D人体姿态估计的经典算法。再详细的阐述了本文设计的二维序列去噪模块TDSD和3D姿态PoseGan数据增强模块。介绍了这两个模块的设计思路和两个模块中的网络细节,并解释了两个模块实现原理。随后介绍了实验所使用到的数据集Human3.6和xR-EgoPose,对实验评价指标MPJPE和P-MPJPE进行了讲解,对实验各个参数设置进行了描述,并对本文提出的模型进行实验并展示和分析。整个实验部分包括了整个主干网络框架的实验结果、两个模块对应的实验结果和多个不同的消融实验。然后把最终的实验结果和同领域优秀的方法进行了对比,本文提出的模型表现了最优的效果。并对每个模块的实验结果进行了可视化。最后对基于姿态估计的人体图像补全进行了介绍,主要包括三个部分,分别是人体掩膜补全、人体缺失内容补全和原型系统设计。人体掩膜补全和人体缺失内容补全分别对使用的网络和实验的结果进行了介绍,原型系统设计展示了系统的流程图和时序图,并对每一个界面进行了讲述。本文的主要研究内容和贡献点如下:
(1)设计了一个二维序列去噪模块TDSD,用于对第二阶段输入的二维关键点进行去噪和修正。TDSD模块设计了两个网络分别是局部序列信息提取双三角网络DTRINet和全局序列信息提取LSTM姿态网络LSPSNet,