1.一种基于深度神经网络的实时高分辨率人像抠图方法,其特征在于,包括以下步骤:S1、获取训练数据集,并标注生成训练用ground truth alpha matte;
S2、对训练数据集进行数据增强;
S3、分步阶段性训练网络模型;
S4、使用S3训练好的网络进行抠图;
其中,所使用的网络的细节信息传输通道,包括:
在encoder阶段,采用max‑pooling操作对feature maps进行下采样,并保存max‑pooling的位置索引;
encoder中的max‑pooling层所计算的max location indices将被保存在内存中,并被传递给decoder;
在decoder中,根据encoder中保存的max‑pooling indices对输入的feature maps进行非线性上采样,利用内存/显存的同时,保留了原有的细节信息;
用于人像抠图的网络模型High‑Resolution Human Matting Network,其基于输入图片预测出alpha matte,网络模型包括:一个Encoder,负责提取单帧图片的特征,其用ResNet‑50作为主干并连接一个ASPP模块,该Encoder分别在1/4,1/8,1/16,1/32,1/64尺度上提取特征,ASPP模块由多层具有不同dilated rate3,6,9的dilated卷积核组成,用以融合不同尺度的feature maps;
一个带有循环模块的Decoder,该Decoder根据对应的Encoder层中的max‑pooling indices进行上采样,保留必要的局部细节信息,并减少显存消耗,其每层包含3*3卷积、batch normalization和ReLU模块以融合特征并减少特征通道数,并嵌入convLSTM模块以利用时间维度信息,每次迭代更新convLSTM的hidden state,且convLSTM只使用一半的feature map通道;
多尺度PRM模块,该模块用于优化高精度抠图的局部细节,对于高分辨率图片,在输入Encoder‑Decoder网络之前,先进行一定倍率的下采样,然后利用PRM模块重构出细节优化的高清抠图;
用于人像分割任务的部分,在Decoder的最后层使用一个3*3卷积层和1*1卷积层,batch normalization和ReLU输出一维通道的分割图。
2.根据权利要求1所述的基于深度神经网络的实时高分辨率人像抠图方法,其特征在于:数据集通过以下方式获取并生成:S1.1在多个不同场景中拍摄各实例的多角度视频,每个实例视频包含多种肢体动作和不同的衣着材质;
S1.2在绿幕背景下拍摄各实例的多角度多姿态视频,每个实例视频包含多种肢体动作和不同的衣着材质;
S1.3利用图像处理软件自动抠出大概的人像区域,然后进行手动修正,以生成训练用的ground truth alpha matte;
S1.4利用绿幕背景下拍摄的图片的ground truth alpha matte,前景图片与背景图片合成以产生大量训练用新数据;
S1.5利用高精度数据集训练网络模型,提高模型对处理局部细节的抠图能力。
3.根据权利要求1所述的基于深度神经网络的实时高分辨率人像抠图方法,其特征在于:数据增强方法如下:S2.1、在人体区域附近生成模糊平滑的阴影区域,用以处理人体因光照投射而产生影子的情况;
S2.2、提取人体区域主要颜色,并自动生成与该颜色相近的背景区块,用以处理前景和背景颜色相近时的预测误差;
S2.3、利用网络爬虫收集复杂纹理的背景图,并与人物前景合成训练图片,用以处理背景含大量纹理而预测有误的情况;
S2.4、实施时间维度的数据扩充,包括视频头尾翻转,帧率改变,随机暂停和帧跳跃,以增强模型在处理视频数据时的稳定性和连续性;
网络模型训练时,同步使用数据增强技术以防止网络过拟合并在真实图片数据上保持良好的泛化能力,使用仿射形变,上下左右翻转、旋转、亮度色度饱和度对比度随机调整,模糊、锐化以及添加随机噪声,同时输入图片将被随机剪切成任意分辨率以让网络模型对任意大小尺寸的图片都有良好的鲁棒性。
4.根据权利要求1所述的基于深度神经网络的实时高分辨率人像抠图方法,其特征在于:S3中,网络训练方法具体包括以下步骤:S3.1、阶段性训练,从简单到复杂,从粗糙到精细,首先在较低分辨率的数据集上训练base‑net网络的人像分割任务,用较大的learning rate,这样base‑net能快速学习理解人像语义的能力,人像分割训练后再指导抠图过程,其专注于分割结果的边缘区域;
S3.2、训练base‑net的人像抠图任务在较低分辨率的数据集上,在训练的奇数次迭代时,穿插进行人像分割任务的训练,以防止网络对人工合成的抠图数据过拟合,同时提高网络的语义理解能力,并在训练的后五个epoch时增加输入的视频序列长度;
S3.3、在第三阶段,加入精细抠图模块,网络完整的训练在较高分辨率的数据集上;
S3.4、在最后的训练阶段,使用少量的高精度数据集进行训练,以提高抠图的精度和细节。
5.根据权利要求1所述的基于深度神经网络的实时高分辨率人像抠图方法,其特征在于:用于深度学习人像抠图的权重优化方法,该方法通过人为地增大人像边缘区域的权重,以加强网络对人像边缘细节的学习能力,具体步骤如下:步骤一、利用距离变换,根据每个像素点到最近的人像边缘的距离;
步骤二、对于训练集中的每个样本的ground truth alpha,权重图利用距离变换计算如下:d表示像素点x到最近的人像边缘的距离,在实际应用中,ω0设为10,σ设为5pixels。
6.根据权利要求5所述的基于深度神经网络的实时高分辨率人像抠图方法,其特征在于:在深度学习网络模型中使用convLSTM模块,具体如下:(1)在decoder阶段,使用convLSTM模块,以融合并利用时序信息;
(2)使用时序信息提高了帧间预测结果的一致性,减小了抖动,同时,时序信息也提高了抠图的鲁棒性,允许模型在单帧预测不确定时,通过前面的帧来预测当前帧的边界;最后,所利用的时序信息允许模型学习更多背景的信息;
(3)采用recurrent结构而不是注意力机制或仅使用多帧作为输入,使得模型适应性地保留长短时序信息,学习如何保留和忘记信息;
(4)使用convLSTM显著降低前15帧的错误率并随后保持稳定,提高抠图质量和一致性,该网络会自动重建背景并保留这些信息以帮助未来的预测,也会使用其他的recurrent channels来追踪运动历史。
7.根据权利要求5所述的基于深度神经网络的实时高分辨率人像抠图方法,其特征在于:在深度学习网络模型中使用PRM的方法,具体包括:(1)在decoding过程中,通过PRM模块的自我指导逐步refine不确定的抠图区域;
(2)PRM应用于每一层的alpha输出,选择性地融合上一层和当前层的matting输出,人物边缘部分需要较低级别的特征来描述前景,而人物中间区域需要较高级别的特征作为指导;
(3)对于l层,self‑guidance mask g_l由上一层的matting输出alpha_(l‑1)生成:当前层的alpha的1和0的部分与上一层的1和0的部分相同,大于0且小于1的部分与当前层的alpha'部分相同,这样,上一层网络确定为0或1的部分得以保留,网络只需集中注意力修正大于0且小于1的部分:αl=α′lgl+αl‑1(1‑gl)。