基于浅层卷积神经网络的实时视频通信隐私保护研究

2020-05-23 07:49张自军姚保峰
宿州学院学报 2020年3期
关键词:掩模边界卷积

陈 晨,张自军,姚保峰

蚌埠学院计算机工程学院,安徽蚌埠,233030

在日常实时视频通信的过程中,存在着隐私保护的问题,视频画面中可能会出现不希望展现的人或物。研究者已开发出多种视频隐私保护技术,其处理过程可以分成两个阶段,第一阶段提取隐私区域,第二阶段保护隐私区域。应用于第一个阶段的技术包括运动物体提取、人脸检测识别、人体姿态估计[1-3]等,判定视频画面中的某个人或者物属于隐私区域(或称感兴趣区域,ROI)进行后续处理;应用于第二个阶段的技术一类为视频显示保护(或称编码前保护、像素域保护),利用遮盖、模糊、像素化、人脸替换[4-6]等对原始画面的隐私区域进行处理,另一类为视频传输保护(或称与编码结合的保护、变换域/码流域保护),先对原始画面进行变换或者编码,对变换后或者编码后的某些向量进行加密,从而隐藏原始画面中的隐私区域。

视频隐私保护的基础是隐私区域的获取,追求的是隐私区域的不可见性和非隐私区域的内容不变性。能否准确快速判定隐私区域,直接影响后续能否准确快速地对隐私区域进行处理。更具体地说,这一阶段属于计算机视觉中的目标检测和实例分割。传统的目标检测算法一般需要人工定义视觉特征,如人体肤色、固定颜色的衣物、佩戴的物品等辅助信息,使用不同尺度的滑动窗口来提取特征,再输入训练好的分类器预测是何种物体,准确率低,实时性差。Alexnet将图像分类的准确率大幅度提高[7],开启了深度学习近年来的爆发式发展,目前效果较好的目标检测和实例分割均基于卷积神经网络。卷积神经网络的优势在于无需人工定义视觉特征,而是将整辐图像作为输入,通过网络中的卷积层和池化层自动强化并高维特征,生成原始图像的多个不同尺度、不同描述的特征图(feature map),这些特征图可以应用于后续的预测、分割等多种计算机视觉任务。深度学习相比传统方法在隐私区域的获取上无论是准确率还是实时性都有着巨大优势。

目标检测分为两步法(two-stage)和一步法(one-stage),两者区别主要在于:两步法是先定位后分类,先要生成候选区域(region proposal),候选区域确定物体的位置,而后在候选区域上进行分类,在分类出的物体四周标出边界框(bounding box),表示检测到目标。两步法比较有代表性的是RCNN及其一系列改进算法[8]。一步法则将两步法的先定位后分类转换为回归问题,在一次卷积神经网络的前向传播中完成目标的预测和边界框的标定,一步法比较有代表性的YOLO及其一系列改进算法[9-10]。相对来说,两步法更准确,一步法更快速。

目标分割分为语义分割和实例分割,目前效果较好的也均是基于卷积神经网络生成的特征图,通过上采样和反卷积来完成分割。本文中的实时视频通信隐私保护使用实例分割,原因在于需要区分前景人员和背景人员,前景人员指的是视频通信参与者,背景人员指的是非视频通信参与者。在进行实例分割时要区分这两类人物,只处理背景人员。语义分割代表性算法有FCN(Fully Convolutional Network)[11],实例分割的代表性算法有Mask-RCNN[12],事实上,Mask-RCNN的思想就是在检测到的目标上进行语义分割,从而实现实例分割。本文的目标是在实时视频通信中快速准确地检测并遮盖当前视频通信中的背景人员,并保留前景人员和其他背景。

1 相关工作

1.1 目标检测

YOLO算法是目标检测中一步法中的代表性算法。它的基本思想是将一副图像缩放为固定大小后分成S×S个小格(grid cell),每个小格负责预测B个边界框及其置信度。训练时,若物体的中心落在某小格内,则由此小格预测此物体,若训练集最终分类为C类,则神经网络最后的输出是一个S×S×B×(5+C)的张量,表示S×S个小格能预测B个框的5个参数(w,h,x,y,coef)和C个分类, 5个预测值分别是中心点的长、宽、归一化后的横坐标、纵坐标和置信度。YOLO使用均方和误差作为代价函数,由坐标误差、IOU误差和分类误差组成:

(1)

相加时,需要考虑每种loss的贡献率。置信度反映的是否包含物体以及包含物体情况下位置的准确性,定义为

coef= (Pr(Object)×IOU(pred|truth))

(2)

其中,Pr(Object)∈{0,1},若边界框内不存在物体,则Pr(Object)=0,若存在物体,则根据预测的边界框和真实的边界框计算IOU(pred|truth)。IOU(Intersection-over-Union)指的是交并比,是产生的候选边界框(candidate bounding box)与原标记边界框(ground truth bounding box)的交叠率,即它们的交集与并集的比值。最理想情况是完全重叠,即比值为1。定义为:

(3)

预测时,整幅图像输入卷积神经网络,输出预测张量,使用非最大值抑制(NMS)去除冗余的边界框,最终得到边界框标定出被检测到目标。

YOLO的原作者现在已将YOLO改进到v3版本,v1的backbone网络是GoogleNet,v2的是DarkNet-19,v3的是DarkNet-53,backbone网络会先使用大量训练集进行预训练,而后YOLO再加上或修改数层卷积层、池化层、全连接层,并使用新的训练集训练至收敛。

最新的v3主要改进:一是借鉴了ResNet中残差网络的思想,加入了res层;二是借鉴了FPN(Feature Pyramid Network)[13]的思想,加入了route层,在不同的网络层上输出不同尺度的特征图,多尺度地对不同尺寸的目标进行检测,更精细的grid cell能检测到更小的目标,从而改进了YOLO之前对小目标检测效果不好的问题。

从YOLOv2开始就使用批量正则化(Batch Normalization,后文简称为BN)来加速收敛和避免过拟合,把BN层和Leaky Relu层接到每一层卷积层之后,但是BN是一个很耗时的操作,YOLO-Lite证明了对于浅层网络,BN不是必须的,在更追求帧率的环境中,BN是可以被舍弃的步骤[14]。YOLO-Lite是对tiny-YOLOv2的改进。在v3中,官方也提供了tiny-YOLOv3,使用相比DarkNet-53更轻量的backbone网络tiny-DarkNet。tiny-YOLOv3相比YOLOv3中保留了最大池化(max pool)层,比tiny-YOLOv2有更深的结构,tiny-YOLOv3中没有res层,用于多尺度预测的route层只有2层,输出张量分别是13×13×255和26×26×255,YOLOv3中有3层route层。

1.2 图像分割

FCN将卷积神经网络最后的全连接层改为多个卷积层,通过采样将最终的特征图恢复到原始图像尺寸,对每个像素都进行一个分类,把图像级别的分类扩展到了像素级别的分类,从而实现语义分割。

Mask RCNN则是将FCN作为分割掩模生成算法应用到目标检测的RCNN网络上,在卷积神经网络提取出的特征图后,加入同目标检测并行的语义分割分支。由于目标检测分开了不同的目标实例,FCN的语义分割同边界框结合后完成了实例分割。Mask RCNN的基本结构见图1。

图1 Mask RCNN的基本结构

Mask RCNN基于RCNN这种先定位再分类的两步法目标检测网络,其目标检测过程较慢,不能满足实时性的要求。YOLACT将掩模分支添加到一步法的目标检测网络如YOLO上[15],依然是将掩模生成和目标检测并行处理,使用FCN来生成不依赖于任何检测边界框的整幅图像大小的掩模,使用FPN来提高目标检测能力,在目标检测计算(w,h,x,y,coef)五元组的同时计算掩模系数,最后用矩阵相乘来完成实例分割。本文期望基于YOLO-Lite的思想来修改tiny-YOLOv3,从而将其引用于视频通信中的人员检测和分割:

(1)减少深度,去除批量正则化。应用场景只需要检测出人类,即person和非person,尝试减少tiny-YOLOv3的卷积层; tiny-YOLOv3在每个卷积层后都有BN操作,这提高了mAP(mean average precision),但对帧率影响较大。YOLO-Lite在本测试中主要是去除BN后对同个目标可能生成多个边界框,所以在减少网络深度后尝试去除BN操作。

(2)只检测人类,分类数目从80变成了2。tiny-YOLOv3没有残差网络res层,有2个尺度的输出张量,分别是13×13×255和26×26×255。255的计算来自于3×(5+80),3是3种形状的anchor box,80是分类数目。重新标记的PASCAL VOC 2007和2012数据集来训练,输出张量由此变成13×13×21和26×26×21,21来自3×(5+1+1),1个参数表示二分类person或非person,还有1个参数表示掩模置信度,即此高维像素属于哪个类。

(3)tiny-YOLOv3的两个预测yolo层会被保留,以满足对远景人员小目标的检测,在两个尺度13×13×21和26×26×21的特征图上执行FCN算法来生成语义分割的掩模原型。

2 实现细节

2.1 目标检测网络结构

经过实验和调整,本研究的网络结构如表1所示,主要修改在于替换了tiny-YOLOv3中Yolo层前的几层堆叠的卷积层,并去除了每个卷积层后的BN操作,激励函数依然是Leaky Relu:

这里层的命名参考DarkNet,Conv表示卷积层,Max pool表示最大池化层,416×416×16表示输出416乘416乘16的张量, Route 9表示将第9层的输出13×13×128的特征图作为下一层卷积层的输入,Route 14 8表示将第14层和第8层的输出26×26×128的特征图连接为26×26×256作为下一层卷积层的输入。两个Yolo层进行预测,使用tiny-YOLOv3原有的6个anchor box,每个尺度分到3个anchor box。

表1 目标检测网络结构

2.2 辨别前景人员和背景人员

通过计算边界框的像素来完成,简单地认为占像素最多的边界框就是前景人员,在NMS阶段后强制性地将其置信度设为0,即不输出此边界框。

2.3 掩模原型的生成

预测时,生成不同尺度特征图的同时,掩模原型也并行生成。分别对第11层13×13×21进行32倍上采样,恢复到418×418的缩放后原图尺寸;对第17层26×26×21进行16倍上采样,恢复到418×418的缩放后原图尺寸。

将2张上采样后的图片叠加,本文中的网络是二分类的,掩模置信度在训练时取值限制1或者-1,表示person和非person,预测时对Yolo层输出张量中的掩模置信度使用Sigmoid函数将其取值限制在[-1,1],阈值设为0,即认为大于0的属于person。生成二值图像的掩模原型,每个像素对应的分类分别是属于person或属于非person。图2分别为32倍上采样和16倍上采样恢复的图像对比。

图2 32倍上采样和16倍上采样恢复的图像对比

2.4 组 合

掩模原型和边界框进行简单的矩阵相乘,边界框外掩模的透明度全部置为0,边界框内的且掩模置信度大于0的不透明度置为1,这样,背景人员均被遮盖,达到了隐私保护的目的。完整结构如图3。

图3 本文网络的完整结构

3 实 验

实验在i7 CPU、单GPU GTX 960M的机器上进行,后端框架使用tenseorflow,加载tiny-DarkNet的预训练权重,而后冻结、改动部分层后,使用重新标记的PASCAL VOC 2007和2012数据集进行训练。PASCAL VOC 2007和2012的原分类是20,本研究将其修改为二分类的person和非person。

实验结果分析:

(1)同tiny-YOLOv3及YOLO-Lite进行mAP和FPS比较,结果如表2。

表2 实验结果

可以看到,本文算法在mAP上比tiny-YOLOv3差,比YOLO-Lite好,在FPS上比tiny-YOLOv3好,比YOLO-Lite差,在性能一般的机器上取得了准确率与帧数间较好的平衡。

(2)手动检查对前景人员和背景人员的辨别情况,图4是展现的处理结果:更靠近前端、占像素较多的人员图像均得到了保留,未被遮挡,最右边图左上有较远的人员,也被检测到并进行了遮挡,保护了隐私。

图4 部分处理结果

(3)对视频实时的检查。使用网络上公开的一些视频测试网络的实时性,视频的分辨率均为360 p,此分辨率常用于视频通信,帧数结果已在表2中展示,这个帧数在性能一般的机器上已经可以满足实时性要求。

4 结 论

本文基于tiny-YOLOv3算法,提出了一种浅层网络的目标检测卷积神经网络结构用于实时视频通信中的隐私保护。引入前景人员和背景人员的概念,认为前景人员的视频图像应予以保留,背景人员的视频图像应使用掩模进行遮挡。引入FPN的思想,输出两个尺度的预测张量,改善小目标检测的结果,多尺度的特征图可以确保远景的人员被检测到。引入FCN思想,在两个尺度特征图上进行上采样,在目标检测的同时并行进行语义分割,生成掩模原型。在目标检测阶段只检测person和非person类,并且不输出前景人员的边界框。最后将语义分割和目标检测的结果进行矩阵相乘,保留前景人员,将检测到的背景人员作为隐私区域进行遮挡,从而实现实时视频通信中的隐私保护。这样,既避免了无关人员出现在视频中,也保留了一定的环境信息。

实验表明,相比传统方法的视频隐私保护,本文算法的优点体现在:将卷积神经网络引入视频隐私保护中隐私区域的获取,使用卷积神经网络进行目标检测和实例分割既提高了提取隐私区域的准确率,也保证了一定的实时性;在提取隐私区域的同时就生成了区域掩模,其后经过简单计算就可以完成对隐私区域的遮盖;降低网络结构的复杂度,并使用二分类的数据重新训练网络,进一步提高速度。本文网络在性能一般的机器上实现了准确率和帧数的较好平衡,满足实时性要求,可以应用于实时视频通信的隐私保护中。

猜你喜欢
掩模边界卷积
细粒度图像分类的通道自适应判别性学习方法
拓展阅读的边界
基于3D-Winograd的快速卷积算法设计及FPGA实现
探索太阳系的边界
意大利边界穿越之家
卷积神经网络的分析与设计
从滤波器理解卷积
基于直写技术的微纳掩模制作技术研究进展*
论中立的帮助行为之可罚边界
基于傅里叶域卷积表示的目标跟踪算法