APP下载

基于深度学习的视频图像实时背景替换方法

2021-12-08李志远雷为民谢天植

小型微型计算机系统 2021年12期
关键词:前景卷积像素

李志远,雷为民,张 伟,谢天植

(东北大学 计算机科学与工程学院,沈阳 110169) E-mail:leiweimin@ise.neu.edu.cn

1 引 言

随着网络传输技术的发展,尤其是5G技术的商用,实时视频会话成为了个人交际和企业沟通的重要手段.而在视频会议及其他视频会话场景下,为了不泄露用户的隐私,特别是用户不想暴露的位置或环境细节信息,背景替换技术显得尤为重要.背景替换问题的实质是语义分割的重要应用方向之一——人像分割.人像分割与像素级别分类的语义分割不同,人像分割只需将图像像素分割为两个类别,即前景和背景,称之为掩码图像(前景用白色表示,背景用黑色表示),与将人像从图片中提取出来的抠图方法基本相似,如泊松抠图[1]、贝叶斯抠图[2]和GrabCut抠图[3]等.由于实时视频会话的背景替换问题对精度和速度都有较高的要求,而传统的抠图方法虽然获取的前景精度较高,但是这种方法主要依赖于额外三分图的输入,且需要人工干预,不能实现“无监督”式的自动化抠图,因此不能满足实时视频会话类业务的要求.

目前大部分的语义分割网络在具有较高平均交并比(Mean Intersection over Union,MIoU)的同时,难以达到实时处理的速度要求.现有的一些语义分割网络为了提升精度往往增加层数,降低了图像的分割速度;另外一些网络采用轻量级网络或降低输入图片分辨率等方式以提高处理速度,然而却降低了分割的精度.实时视频会话场景下,为了给用户提供较好的体验质量(Quality of Experience,QoE),背景替换的处理速度与替换效果均需达到较高水平.基于以上问题,本文提出了基于深度学习的视频图像实时背景替换方法.本文的主要创新点如下:1)提出一个支持视频图像实时背景替换的方法,该方法主要包括区域划分模块、分割模块以及融合模块,在满足实时处理速度要求的同时,保证较高的MIoU;2)区域划分模块将视频图像划分为前景和背景两个不同的区域,前景区域通过分割模块将前景提取后送入背景替换模块,背景区域则直接送入背景替换模块,以减弱提取前景像素时背景像素的干扰;3)分割模块中采用不同分支,上层分支提取高层次的语义信息,下层分支提取丰富的空间信息,通过将两个分支提取的信息融合,保证了较高的精度.本文的方法在特定的数据集上训练并验证,MIoU达到93%以上,在GTX 1060机器上验证实时处理速度达到33.4帧/秒(Frames Per Second,FPS),在速度与精度方面都能取得较好的效果.

2 相关技术分析

近年来,全卷积网络[4](Fully Convolutional Networks,FCN)在多项指标上都取得了良好的性能.FCN可适应任意尺寸输入,结合不同深度层结果的跳跃结构,引入底层特征补充上采样信息.Vijay Badrinarayan等人提出的SegNet[5],采用编解码结构,同FCN相比,SegNet没有直接将底层特征全部引入解码器部分,而是将底层最大池化的索引记录下来,在进行反卷积操作时不再使用反卷积,而是将特征直接放置到索引值所在的位置上去,大大减少了模型参数.Olaf Ronneberger等人提出的U-Net[6]网络,同样采用编解码结构,编码层采用卷积加池化下采样,解码层采用反卷积上采样,并融合裁剪后同等尺寸大小的底层特征图.Liang-Chieh Chen等人提出的DeepLab系列,将语义分割的精度提升到一个新的水平.DeepLabV1[7]首次采用空洞卷积替换传统卷积和池化,增大感受野,同时提升特征图分辨率,采用全连接条件随机场提升分割边界的精度.DeepLabV2[8]对V1进行改进,添加空间金字塔池化模块,通过不同的膨胀率提取上下文信息.DeepLabV3[9]则是对金字塔池化模块进行了改进,去除条件随机场.PSPNet[10]同样采用金字塔池化模块,提取多尺度信息.SwiftNet[11]为了提升速度,采用降低图片分辨率的方式以加快特征提取速度,通过将输入图像降低为更小的分辨率,损失了小物体以及物体边缘的细节信息,导致结果较差.本文提出的基于深度学习的视频图像实时背景替换方法针对现有的语义分割网络在速度与精度上不能得到很好的平衡的问题,采用区域划分模块将视频图像划分为前景区域和背景区域,以提升前景像素的提取精度;分割模块采用不同分支处理的方式,更好地将不同层次信息进行融合,以达到实时性和精度更好的平衡;背景替换模块依据分割模块计算出的掩码图像将前景与背景进行融合,完成背景替换.实验结果表明,本文的背景替换方法能以实时的处理速度进行背景替换,具有较高的性能水准.

3 支持实时的背景替换方法

本文提出的实时背景替换方法整体结构如图1所示.该方法由3个模块组成:区域划分模块、分割模块与背景替换模块.

图1 背景替换结构示意图Fig.1 Schematic of background replacement structure

3.1 区域划分模块

在实时视频会话场景中,用户很少发生移动,导致了背景信息的大量冗余.本文的目的是将用户从视频图像中提取出来,背景部分用不相关的图片替换.重复分析冗余背景像素的语义信息会浪费大量的计算时间,且一些背景像素被误判成前景像素时,会导致用户位置和环境信息的泄露.因此本文采用区域划分模块将输入图像划分为前景区域和背景区域,模块结构如图2所示.区域划分模块得到的前景区域图像中用户占主要部分,背景像素包含较少,因此通过提取前景区域的方式,减小输入图片的尺寸,提升分割模块的分割速度,同时削弱了提取前景像素时,背景像素对前景像素造成的影响.而背景区域图像则是通过标识框的坐标参数,对输入图像进行分割得到.背景区域图像只包含背景信息,因此直接送入到背景替换模块.

图2 区域划分模块结构示意图Fig.2 Schematic of area classification module structure

在视频会话类业务中,人往往是视频会话中的关注点,所以只需要将人所处区域快速地提取出来即可,本文使用了OpenCV中的人像检测模型,该模型主要包括方向梯度直方图(Histogram of Oriented Gradient,HOG)和支持向量机(Support Vector Machine,SVM).HOG通过边缘方向密度分布分析图像中局部的目标形状与特征,基于此特征,可以识别出人像区域和背景区域,之后使用SVM对计算得到的特征进行分类,划分出前景区域和背景区域.

在视频会话中,由于人像动作幅度较小,所以在一定长度的视频图像序列中,人像提取框只会发生极小的变化,因此不需要对每一帧都进行人像检测.在实时视频会话中,视频可以被划分成多个GOP(Group of Pictures),每个GOP由一个I帧(帧内编码帧)和数个B/P帧(需要对前帧或前后帧进行参考才能进行编码的帧)组成.对视频中的每一个GOP的I帧进行人像检测,而同组的B/P帧则按照相同的区域进行划分.实时视频中,GOP长度一般为2秒,因此本文的方法中对间隔两秒的视频图像帧进行区域划分,极大的降低了时间复杂度.

3.2 分割模块

目前的语义分割网络中,DeepLab系列的提出逐渐提升了分割的精度.DeepLabV3去除了全连接的条件随机场,并加入空间金字塔池化模块,虽然处理速度较快,但是分割精度较低.DeepLabV3的前置网络采用预训练的ResNet50[12]提取特征,修改第4个卷积块,采用空洞卷积,之后送入金字塔池化模块扩大感受野以融合更多的上下文信息.虽然DeepLabV3提取了较多的上下文信息,但是没有融合低层次的细节信息.本文受DeepLabV3的启发,提出一种采用不同分支的分割网络作为分割模块以提取掩码图像,分割模块结构如图3所示,上层的特征提取网络采用ResNet50以平衡特征提取的精度和计算速度,而为了更好的分割效果,下层分支采用3个卷积块,以得到高分辨率的细节信息,最后将两个分支提取的不同信息进行融合,保证了较高的分割精度.

图3 分割模块结构示意图Fig.3 Schematic of segmentation module structure

3.2.1 上层分支

在实时视频会话场景下,为了实现速度与精度之间的平衡,本文采用ResNet50作为前置网络提取高层次的语义信息.然后通过不同膨胀率的空洞卷积金字塔池化模块(Atrous Spatial Pyramid Pooling,ASPP)并行提取上下文信息.ASPP是语义分割网络中的常用模块,模块使用不同的膨胀率分支提取特征图的多尺度信息,能够获取更加全面的上下文信息.通过研究发现,当膨胀率接近特征图大小时,3×3卷积由于空洞的填充所覆盖的区域已经远远大于特征图,只有中心区域能起到作用,其作用本质上是一个1×1卷积,因此ASPP模块直接使用了一个1×1卷积,同时加入全局平均池化分支对特征图上所有元素进行整合.将以上各分支得到的特征图串联输入到一个1×1卷积层后,传入到下一个模块中.ASPP结构如图4所示.

图4 ASPP结构示意图Fig.4 Schematic of ASPP structure

3.2.2 下层分支

下层分支则是将原始图像通过3个卷积块以获得丰富的细节信息,每个卷积块由3×3卷积、BN层以及ReLU层组成,stride设置为2,输出特征图尺寸为原始图像的1/8大小,包含更丰富的空间信息.融合模块则是为了进一步优化分割结果,将不同层次的信息进行融合,模块结构如图5所示.该模块将第3个卷积块和ASPP模块提取到的特征进行融合,增强最终的分割结果.

图5 融合模块结构示意图Fig.5 Schematic of fusion module structure

ResNet50第3个卷积块的输出特征通过注意力模块进一步提取对当前目标更关键的信息.本文选用SEBlock[13]调整各通道的关系,对提取到的有效信息进一步细化,包含前景较多信息的特征通道会获得较高的权重,包含背景信息较多的特征通道获得较小的权重,从而增强主要信息的影响,减弱次要信息的影响,进一步提升性能.SEBlock结构如图6所示,主要执行Squeeze和Excitation两个操作.

图6 SEBlock结构图Fig.6 SEBlock structure

Squeeze操作:将输入图像中的特征通道,通过全局平均池化,转变为一个具有全局空间信息的实数.Squeeze操作依据公式(1)实现:

(1)

其中zc代表c个特征图经过全局平均池化后的输出值,H、W、C分别表示特征图的高、宽与通道数,uc(i,j)是第c个特征图在(i,j)位置的值.

Excitation操作:主要是根据各个通道的依赖关系调整通道的权重,Excitation操作依据公式(2)实现:

s=Fex(z,W)=σ(g(z,W))=σ(W2δ(W1z))

(2)

z是Squeeze操作的输出,W1,W2是两个全连接层需要学习的参数,σ表示sigmoid激活函数,δ表示ReLU激活函数.

(3)

最后依据公式(3)将最终得到的权重系数与模块输入相乘得到模块最终的输出.

3.3 背景替换模块

背景替换模块依据前景区域图像和背景区域图像分别进行不同的替换操作.该模块将背景区域图像的像素直接替换为设定的背景图片像素;如果输入是前景区域图像的掩码图像,则依据此掩码图像进行背景像素替换,该过程依据公式(4)实现,其中*i,j代表(i,j)位置的像素值,b代表背景图片,I代表前景区域图像,s代表输出结果.如果掩码图f中(i,j)位置像素值为255,则s中 (i,j)位置的像素为I对应位置像素值,否则为b对应位置像素值.背景模块将两个不同区域图像的替换效果图进行融合,得到最终的背景替换结果.

(4)

4 实 验

4.1 实验数据集

1)Supervisely Person数据集包含了5711张图像,每张图像都标注了人物的位置,共有6884人像目标,每张图像被分为前景与背景两部分.

2)aisegmentation数据集,是由网络公司搜寻的图像制作而成的数据集,数量为34427.

3)ADOBE DEEP IMAGE MATTING DATASET.在该数据集中挑选了420张人物分割数据集.

4)由本实验室人员自行拍摄图片,进行处理后得到的数据集,数据集包含了5982张图片,分别对每张图片中的人物进行提取.

本文共收集了46540张人物图像,为了获得更多的数据集以增加模型的鲁棒性,将已有的图像进行水平方向翻转,得到同样数量的新图像加入训练集.将所有图像的分辨率设置为256×256,并将图片按照8∶1∶1的比例分为训练集、验证集、测试集.

4.2 评价指标

本文采用MIoU作为图像分割精度的评价指标.MIoU表示两个集合之间的交集和并集的比值.这个比值对应于图像分割中则是真实值(ground truth)和预测值(predicted segmentation)之比.计算公式如式(5)所示,i表示真实值,j表示预测值,pij表示将i预测为j的概率.

(5)

本文采用FPS作为图像计算速度的评价指标,FPS表示每秒处理帧数.在实时视频会话中,当FPS不小于25时,才能形成连贯的视频,因此本文以FPS大于25作为支持视频图像实时背景替换的参考标准.

4.3 模型训练

本文采用了TensorFlow1.8.0作为深度学习框架,实验操作系统为NVIDIA 1080Ti GPU,学习率为0.00075,batch size为32,损失函数为交叉熵函数,共100个epoch进行训练.

4.4 实验结果与分析

本文使用相同的数据集以及训练参数,对DeepLabV3、ICNet[14]以及本文的分割网络模型进行对比实验,分析本文提出的分割网络应用于实时背景替换的可行性.

图7为3个网络模型的MIoU随着epoch变换的关系曲线,本文分割模型的MIoU在30个epoch后曲线逐渐平滑,ICNet与DeepLabV3网络曲线趋于稳定后,在本文网络曲线的下方浮动.

图7 MIoU与epoch关系图Fig.7 Relationship of MIoU and epoch

将3个网络在相同测试集下进行测试,测试结果由表1所示,可以看出本文的分割网络模型在精度上优于ICNet和DeepLabV3网络,而在速度上,3个网络均已达到实时处理速度.因此在实时视频会话中,本文提出的分割网络模型具有较高的MIoU,在实时视频会话类业务中,更有实用性价值.

表1 不同算法性能对比Table 1 Performance comparison of different algorithms

图8为本文提出的分割网络输出与ICNet以及Deeplabv3输出对比图,可以看到本文分割网络的分割结果在细节上更接近于真实值.

图8 本文网络与对比算法效果图Fig.8 Comparison of the effect of this network and the comparison algorithm

4.5 网络结果演示

利用本文提出的分割网络作为分割模块,并结合区域划分模块与背景替换模块,对视频图像进行背景替换效果测试,图9中,input是输入窗口,output是输出窗口,从替换效果可以看出,本文的背景替换效果较好,而且测试速度为33.4FPS,可以满足实时视频会话的要求.

图9 背景替换效果演示Fig.9 Background replacement effect

5 总 结

本文提出的基于深度学习的视频图像实时背景替换方法,利用了实时视频会话场景的特点,将视频图像划分为前景区域和背景区域,大大降低了背景像素对前景像素提取的干扰,同时加快了分割模块的计算速度.分割模块中通过加入不同分支,修复了现有的大部分语义分割网络中空间细节信息的丢失问题,在速度与精度方面均取得了较好的性能.背景替换模块根据分割模块计算的掩码图像完成最终的背景替换.虽然本文提出的网络在一些细节上的处理效果不太理想,如发丝、手指间空隙等等,但是在实时视频会话中,能够较好的完成背景替换,保护用户的隐私,具有一定的应用价值.

猜你喜欢

前景卷积像素
基于全卷积神经网络的猪背膘厚快速准确测定
像素前线之“幻影”2000
流苏树与美国流苏树园林绿化前景探讨
天基物联网关键技术及应用前景
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
粉煤灰综合利用进展及前景展望
“像素”仙人掌
“新零售咖啡”前景几何?