NB-IoT环境下基于混合分辨率人脸监控视频压缩方法

2022-02-19 10:23肖尚武胡瑞敏
计算机应用与软件 2022年2期
关键词:人脸分辨率编码

肖尚武 胡瑞敏 肖 晶

1(武汉大学计算机学院国家多媒体软件工程技术研究中心 湖北 武汉 430072) 2(武汉大学苏州研究院 江苏 苏州 215123)

0 引 言

在社区楼道、小区门栋等场景中,面向人脸识别的智能视频监控越来越广泛地应用于智慧生活、安防保障等领域。随着监控内容日益高清化和监控设备海量布设的发展需求,数据规模高速增长与压缩效率提升缓慢之间的矛盾日益突出。为了在减少人脸损失的前提下提高压缩效率、降低成本,实现更多接入,亟须研究面向人脸特定业务的高效压缩算法。

更高的分辨率才能实现更清晰的人脸采集,但是高分辨率带来高码率问题。高清监控视频数据量大、压缩过程慢、功耗大、成本高,在相同带宽下接入量更少。以普通1080P高清摄像头为例,编码后码流约为5 Mbit/s,采用基于监控视频特性优化的算法[1],码流仍大于2 Mbit/s。现有的以宽带为主的接入方式不利于扩大布设范围,在实时编码和传输方面也消耗过多资源。随着窄带物联网(Narrow Band Internet of Thing,NB-IoT)技术的发展,由于其广覆盖、多连接、低功耗和低成本特性,可极大提升监控系统的接入数量,为视频监控的扩展提供了条件[2]。虽然NB-IoT在智慧社区、智能家居方面有着很好的无线接入适配性,但是带宽仅为180 Kbit/s,无法传输高清码流,制约了物联网环境下监控视频的发展。因此,需要开发更为高效的压缩方法以适用于窄带环境。

为提高压缩效率,监控视频的特点已被充分地挖掘和利用。目前,主流压缩方法可分为面向前景特性的编码方法和面向背景特性的编码方法[3]。特别地,在低码率条件下,感兴趣区域编码和低分辨率视频超分方法也是研究的重点方向[4]。针对背景特性,利用背景长时微变的特点,去除背景冗余;针对前景特性,利用前景对象的运动和外观特征,去除纹理冗余;针对感兴趣区域,利用代价转换,合理分配码率,牺牲部分背景来提升感兴趣区域质量。文献[1]提出基于背景建模的编码方法,通过滑动平均法构造背景参考G帧,用于背景宏块预测。高质量G帧显著提高了背景宏块预测精度,大大降低了背景比特,但在编码精细G帧时存在码率激增问题。文献[5]提出了一种基于全局运动补偿的低复杂度运动背景建模算法,通过选择运动背景编码树单元,平均节省6.7%的背景比特。文献[6]提出利用历史背景图像样本离线训练字典,可高效表示视频中具有相似性的背景图像。然而,压缩过程内存占用较大且高度依赖历史数据,仅使用字典元素导致背景存在一定误差。文献[7]建立前景车辆的参考图像库,实现了不同车型多姿态的预测参考,缺点是只针对特定刚体对象。文献[8]以运动前景为感兴趣区域,提出全局运动补偿,以剩余图像区域为代价获得较高质量的感兴趣区域,其不足是背景失真较严重。文献[4]对于低分辨率视频超分提出基于生成对抗网络的VSRResNet,通过特征空间和像素空间的正则化函数优化距离损失,可以更准确地评估从神经网络获得的感知质量,在4倍视频超分中有较好效果。上述方法还存在以下问题:基于运动分离的前景区域画幅过大,关键区域提取不精确,占用过多码率;建模过程和深度神经网络具有较高的计算复杂度,无法在计算资源有限的嵌入式物联网设备中做到实时编码。总的来说,在NB-IoT环境下,现有的编码方法对视频的压缩能力有限,在保障人脸质量的前提下达不到窄带极低码率要求。

针对上述问题,本文提出一种NB-IoT环境下面向人脸业务的监控视频压缩方法,主要创新如下:(1) 提出基于统计训练约束的人脸检测方法,实现监控场景下人脸的快速提取;(2) 提出混合分辨率的编解码方法。构建基于掩膜的前景和背景序列,对人脸显著区域和背景画面采用不同的分辨率区别编码。实验表明混合分辨率编解码方案在NB-IoT环境下优于其他方法,更好地保证了人脸质量。

1 监控视频的人脸显著区域快速提取

针对监控视频的特点,通常会进行前景背景分离处理,常规方法有背景差分法、帧差法、光流场法、低秩分解法[9],但是,在面向人脸的监控应用中,不需要关注所有的运动物体,为更大程度地降低码率,本文利用人脸检测算法实现更为精确的目标分割,提取人脸区域作为前景,将人脸以外区域作为一般背景。考虑到检测算法计算复杂度通常比跟踪算法复杂得多,为提高人脸提取速度,本文采用检测和跟踪相结合的策略。在一段时间内,第一帧为检测帧,后续多帧为跟踪帧,交替进行,可极大提高时域上连续人脸提取速度。整体流程如图1所示。

图1 基于统计训练约束的人脸显著区域提取

基于深度学习的人脸检测算法效果优异,但是通常都需要训练复杂的分类器模型,计算复杂度较高[10],不适用于计算资源有限的嵌入式物联网终端设备。在众多人脸检测算法中,基于归一化像素差异特征(Normalized Pixel Difference,NPD)检测算法表现出众[11],该算法使用任意两点计算特征,表达灵活,在人脸较多、姿态变换、存在遮挡等情况下仍具有很好的检测效果。为进一步提高图像中人脸的检测速度,不影响整体实时处理,本文在该算法基础上提出一种基于统计训练约束的人脸显著区域检测模型,对监控图像人脸的检测速度有显著提升。

在监控环境下,固定摄像头机位,设置初始状态开始视频采集工作,在一段时间内随机抽取足够多的历史帧进行离线训练(如涵盖基本场景的1 000帧图像)。通过特定场景的训练优化,更新检测约束参数,可以排除60%的非人脸搜索,降低50%的计算量。训练过程离线独立完成,不影响实时处理速度,并且可固定时间重复训练,不断更新约束参数。训练模型主要包括两个方面, 分别为基于人脸出现的空间轨迹位置约束和基于统计平均的人脸自适应尺寸约束。

1) 空间轨迹分布约束。在固定机位的摄像头下,行人出现在指定的区域内,同样人脸出现的区域也是有位置范围限制的,并呈概率分布。标注训练集中每一个人脸中心出现的空间位置,统计得到散点图,通过二维聚类分析,找到密集中心点和拟合轨迹线,并得到人脸位置的概率分布图。训练集中人脸分布的散点图和拟合中心线示意图如图2所示。

图2 人脸空间分布建模示意图

此处,本文采用一般多项式进行散点的曲线拟合,如式(1)所示,其中(x,y)为散点的空间坐标,ω为拟合系数,考虑到一般复杂性,实际采用5阶多项式。

(1)

(2)

同时,计算人脸在空间(x,y)位置出现的概率P,如式(3)所示,其中R为第i张人脸覆盖区域的密集指数[12],累计训练集中概率为pi人脸数之和,H为图像高度,W为宽度,ρsample为训练集平均人脸密度,F为统计图像的总帧数。

(3)

2) 自适应人脸尺寸约束。在指定场景中,摄像头焦距不变的情况下,监控视频中出现的人脸尺寸是有一定范围的,通过该参数可以根据摄像头的实际位置自适应地调整人脸搜索尺寸。首先统计训练集中所有历史人脸大小,得到正确检测的最小尺寸s,最大尺寸l,留出一定余量δ(平均人脸尺寸的1/2),以h为人脸大小的分布范围,默认不存在超出该范围的人脸。搜索尺寸h的约束条件如式(4)所示,其中x为宽度,y为高度。

hx∈[sx-δx,lx+δx]

hy∈[sy-δy,ly+δy]

(4)

至此,完成了基于监控视频训练集的统计模型离线训练,得到全部约束参数。

在具体流程中,对于输入的图像帧,设置固定图像组(Group of Picture,GOP)大小,每一个GOP中,首帧为关键帧,其余为非关键帧。对于关键帧,通过NPD检测算法分离人脸,对于非关键帧,使用核相关滤波器(Kernel Correlation Filter,KCF)算法实现多目标人脸跟踪提取[13]。载入NPD人脸检测器后,初始化约束条件,更新人脸尺寸范围参数,依据人脸在空间位置的概率分布图,划出检测范围,在此范围内调用NPD算法实时检测,在人脸搜索过程中,通过空间轨迹参数指导搜索路径。为提高跟鲁棒性、减少错误跟踪,当人脸离开画面或目标丢失时,判断跟踪框是否异常,如果跟踪停滞,即目标中心在空间位置原地抖动(空间位移小且往复变化),则对当前跟踪内容进行人脸特征判断,非人脸则停止跟踪,否则延时判断,继续跟踪。当未检测到人脸或确认所有跟踪目标离开画面时则判定人脸不存在,最后逐帧输出所有人脸图像序列。

2 混合分辨率压缩算法

实现人脸区域的快速提取后,可以得到连续的人脸图像和去除人脸的背景图像。为保持人脸区域的可辨识性,需要对人脸高保真编码,对占画幅较大的背景区域降低质量编码,以节省更多码率。本文采用基于混合分辨率的压缩算法,整体框架流程如图3所示。

图3 混合分辨率监控视频编解码框架

对于提取的人脸图像,仅保留画面内容会使原始图像中人脸的空间位置信息和帧序的时间位置信息丢失,无法在对应帧的对应位置还原至原始视频图像中。因此,首先提出基于掩膜(Mask)的前景与背景序列重构,分别得到掩膜框架下的人脸图像序列(前景)和抠除人脸图像后的背景序列;然后,以原始分辨率高质量编码连续人脸序列,去除时域冗余,对背景图像序列通过下采样处理,降低分辨率,以低质量编码实现高倍率和快速压缩;最后,得到时序一一对应的前景与背景混合码流。经过码率控制和码流同步后,通过NB-IoT实时传输至后端存储或解码。解码过程与编码过程相反,首先解码混合码流,得到前景序列和背景序列,调整至原始分辨率后,融合前景与背景图像,得到人脸局部高清、背景低清的解码图像。

2.1 构造基于掩膜的前景与背景序列

通过基于NPD特征的人脸检测和KCF跟踪,分离出人脸显著区域信息。由于前景人脸和背景区域的关注程度不同,为实现不同的分辨率编码,需要对原始序列分离预处理,重构出独立的人脸前景序列和去除人脸后的背景序列。

在上一环节中,可以判断该帧图像是否存在人脸,当人脸存在时,可以得到一到多张独立的人脸图像和相应的空间坐标位置。除了人脸图像本身的像素信息外,还有两类信息不可丢失,一是帧序号的时间信息,记录人脸图像属于哪一帧;二是空间位置信息,标记人脸在原始图像中的位置。为了构建新的人脸图像序列,本文利用图像掩膜(mask)处理[14],通过掩膜实现时域、空域信息的不丢失。掩膜人脸标记如图4所示。

图4 掩膜人脸标记示意图

具体处理步骤如下:

输入:视频序列,人脸标记矩形框。

输出:由掩膜组织的人脸序列;由掩膜屏蔽处理的背景序列。

(1) 构造掩膜。初始化掩膜二进制图像,记为MAP,分辨率与原始图像宽、高相同,所有区域全部置0。

(2) 设置序列标志。判断检测(或跟踪)图像中是否存在人脸,当无人脸出现时,设置序列标志Zero_face_Flag=1,表示前景为零值帧;若存在人脸,则Zero_face_Flag置0。

(3) 掩膜处理。当图像帧中存在人脸时,对于人脸部分的像素区域,将掩膜对应空间位置置1,其余区域保持0值不变。完整处理一帧图像,得到包含所有人脸位置分布的掩膜MAP图。

(4) 前景序列构建。依据MAP图,将人脸图像Ri复制到新的前景帧构造图像中,同时保存序列标志Zero_face_Flag,共同构成前景序列Frontf。

(5)

(6) 循环:返回步骤(1)处理下一帧数据。

至此,分离出独立的前景与背景序列。预处理所有帧,得到前景背景分别独立编码的所需数据。

2.2 混合分辨率编码

编码过程包括前景编码和背景编码。考虑到监控视频的实时性和编码复杂度,本文采用IPPP模式,不使用B帧。对于每一帧图像先编码前景序列,后编码背景序列,交叉处理组成混合码流。

前景序列Frontf包含原始人脸图像、掩膜标识的坐标信息和帧标志Zero_face_Flag。由于提取的连续帧人脸在时域上同样存在冗余,因此可用帧间预测的方式编码的同一人脸。因为提取的人脸显著区域位置和尺寸大小都会随时间发生变化,离散的图片破坏了空间位置上的运动联系,不利于去除帧间冗余,所以需要利用掩膜转换,通过像素空间位置映射还原至原始坐标位置,在统一坐标下做运动估计,实现帧间预测编码,基本流程如图5所示。

图5 人脸前景编码流程图

具体处理步骤如下:

输入:Zero_face_Flag、Mask图片流。

输出:前景码流。

(1) 逐帧读取重构后的前景序列数据。

(2) 判断Zero_face_Flag标志位,若为1,则表示没有人脸,前景序列为空,将Zero_face_Flag写入帧头即可,无需编码前景;若为0,则说明存在人脸,同样将帧标志写入帧头信息,保证了前景与背景时序上的一一对应,然后进行前景编码。

(3) 将序列中的人脸图像数据Ri转为YUV格式,并通过掩膜MAP进行空间位置映射,还原至实际的空间对应位置,映射过程如式(6)所示。

Pi(RGB→YCbCr)⊕MAP

(6)

式中:(x,y)表示像素坐标;Pi为第i张人脸。映射过程分为三步:首先,对人脸图片进行颜色空间转换,将RGB转换为YUV三通道数据;然后,构造相同分辨率大小的初始化虚拟帧,作为映射基准;最后,将人脸信息的坐标位置统一到MAP空间。此时,无人脸数据的空间位置不参与计算和编码,对具有人脸信息的位置则在实际坐标系中进行差值计算和预测估计。其整体计算量小,能实现视频中人脸局部的编码。

(4) 判断是否为关键帧,若为关键帧,对该帧所有人脸采用帧内模式编码为I帧;若为非关键帧,通过掩膜坐标编码为P帧。

(5) 以此类推,按照此模式编码完该帧所有人脸,得到前景码流。

在每帧中编码完前景序列(包括零值帧)后,紧接着对背景编码,交叉处理,保证混合码流的同步。编码背景序列前,先进行下采样。经测试,CIF级(352×288)通用格式压缩码率可以满足NB-IoT带宽要求,考虑到分辨率变换时采用整数倍效率更高,所以低分辨率设置为原始1080P(1 920×1 080)图像宽、高的1/4,即480×270,码率与CIF格式相当。编码时,为保持GOP大小一致,背景序列与前景序列采用相同编码模式,I帧与P帧一一对应。对于背景中屏蔽的前景区域,利用掩膜skip模式[14]跳过编码,进一步降低码流。考虑到码流的稳定性和大小限制,采用CVBR实现码率控制[15],保证目标码率不超过窄带要求,并达到更好的码率平稳效果。在编码过程中优先编码前景序列,以剩余码率编码背景,最后将背景码流紧跟在前景码流后,组成混合分辨率码流,通过NB-IoT承载网络传输或存储。

2.3 混合分辨率解码

解码基本上是编码的逆过程。由于混合分辨率码流的结构上有所改动,所以在收到码流后,首先需要对码流进行解析,分离得到每一帧的前景码流和背景码流。根据帧头信息,可以判断前景序列是否存在人脸,若不存在,标注前景为零值帧;若存在,则依次解码前景和背景序列。因为码流交叉混合传输,所以前景和背景需要并行解码处理。对于前景序列,构造原始分辨率的图像M,将解码后的人脸图像根据掩膜进行坐标变换,填充至实际空间位置。对于背景,通过包含掩膜控制的skip模式进行多模式解码[14],得到低分辨率的背景图像,然后通过双三次插值将背景图像调整至原始分辨率大小,得到高分辨率、低清度的背景图。最后,根据掩膜中人脸图像的空间坐标参数,将高分辨率人脸依次填充至对应位置,得到融合后的解码图像。为了减弱高清人脸到低清背景清晰度差异大、过渡不自然的现象,可以对融合边缘采用高斯滤波,进行平滑处理[16]。按照上述步骤逐帧解码,最后输出人脸局部高清、背景低清的监控视频图像。

3 实 验

3.1 实验数据与实验环境

实验采用的测试序列为6段YUV(采样比为4 ∶2 ∶0)高清监控:Passage1、Passage2、Hallway1、Hallway2、Door1、Door2,分别为3种不同场合面向人脸的室内监控场景,各取2段,视频格式均为1 920×1 080/25 FPS。测试数据详细信息如表1所示,数据样例如图6。实验平台为同一PC(Intel Xeon, 4 Core, 3.10 GHz,Memory 4 GB)。模拟NB-IoT网络传输环境,码率最高限制为180 Kbit/s,波动范围控制在160~180 Kbit/s。

表1 测试视频特点描述

图6 监控视频测试数据集

3.2 实验参数与对比设置

在主流监控视频编码方法中,背景建模方法整体性能最优,感兴趣区域编码方法在码率下降情况下前景保持更好,因此为测试混合分辨率压缩方法的实际效果,本文选取文献[1]背景建模算法和文献[8]的感兴趣区域(Region of Interest,ROI)编码算法作为参照对象。所有算法基于同一版本的x265源码改进,默认参数设置相同。文献[1]背景建模训练集长度φ为120,对测试序列先建模后编码;文献[8]感兴趣区域设置为经过相同提取算法的人脸区域,码率受限时,增大背景量化步长;本文混合分辨率中高分辨率保持原始1 920×1 080,低分辨率采用480×270,即原始画面1/16大小。

为了评价本文方法的有效性,在NB-IoT环境下,以窄带180 Kbit/s为目标控制码率,分别测试不同算法的压缩效果。实验结果评价指标采用峰值信噪比(PSNR)、平均编码速度(ES)评估图像质量和视频压缩速度[17]。

3.3 结果比较与分析

由于质量差异较大,所以将人脸和背景分开对比,分别比较PSNR客观指标和主观视觉效果,最后对比算法速度性能,下面依次展开说明。

表2为NB-IoT环境下人脸局部PSNR质量对比。需要说明的是,文献[1]中没有人脸的精确提取,所以解码视频通过位置标定截取相同人脸。测试时统计序列中所有人脸取平均值。可以看出,本文算法在NB-IoT环境下可以更好地保障人脸质量,相较于文献[1]的PSNR平均提升了9.64 dB,相较于文献[8]提升5.57 dB左右,主观效果对比如图7所示。

表2 NB-IoT环境下人脸PSNR质量对比 单位:dB

图7 人脸区域主观质量对比

可以看到背景建模方法人脸质量极差,不适合NB-IoT极低码率环境。该方法前景区域包括所有运动物体,而非更小的人脸局部区域,不具备可比性。以人脸为感兴趣区域的编码方法优于背景建模,次于本文方法,损失了一定的人脸质量,人脸较模糊。根据数据特点分析,对比测试序列1和2,可以看出,视频中人脸数量增多时,人脸平均质量略微有所下降。因为在有限的码率下,过多的人脸数量必然挤压资源,需要更大有损压缩。对比Passage和Door场景,在可检测的前提下,人脸尺寸增大,图像质量损失随之增大。因为较大的画幅需要编码更多的像素,在码率受限情况下,丢失了更多信息。但是实际情况中人脸的可辨识性受分辨率的影响更大,所以适度提高人脸尺寸,更有利于提高人脸的可分析性。综合考虑带宽要求、检测效果等实际应用场景,建议监控布设时,人脸尺寸在50×50至250×250之间,视频中人脸数量不超过5人。

在NB-IoT环境下,本文方法背景质量也较为良好。文献[1]背景建模方法显著区域不一致,人脸质量无法接受,所以不具备比较价值;文献[8]感兴趣区域编码方法背景PSNR略高于本文方法,因为两次分辨率变换引入了较多误差,但在主观视觉效果上,本文方法明显更具优势。对比示例图如图8所示。

图8 背景画面主观视觉效果对比示例图

分析可知,码率受限时,感兴趣区域编码方法对非感兴趣区域进行粗糙量化,采用量化步长策略,存在严重的“块效应”。在大幅平坦区域会有“花屏”现象,对于较大的运动物体,在边界处有明显“锯齿”,当移动速度较快时,存在伪影,严重破坏了图像整体效果,造成极差的观感。相同比特下,本文采用低分辨率编码优于高分辨率低清图像,画质更为平滑,更适合低码率条件。

表3给出了三种算法的平均编码速度对比。可以看出本文方法比常规感兴趣方案编码速度平均提高了5.12倍,优于文献[1]和文献[8]算法的码率分配。从像素点处理和宏块划分的角度来看,低分辨率编码极大地降低了计算量,编码速度能够满足较低计算资源的实时编码处理。

表3 NB-IoT环境下视频整体画面PSNR质量对比

4 结 语

针对社区楼道、门栋等室内监控场景,本文提出一种面向人脸业务的混合分辨率视频压缩方法。为提高视频中人脸提取速度,提出基于统计训练优化的人脸检测方法;构建基于掩膜的前景和背景序列,实现前景和背景不同分辨率的混合编码。经实验证实,在低码率条件下,本文方法优于传统背景建模和感兴趣区域编码方法,提高了人脸质量,在NB-IoT环境下具有很强的实用性。后续将研究针对场景要素和带宽自适应的变分辨率编码方法以改进本文方案。

猜你喜欢
人脸分辨率编码
住院病案首页ICD编码质量在DRG付费中的应用
玻璃窗上的人脸
我国科学家发明计算超分辨图像重建算法拓展荧光显微镜分辨率极限
智力考场:有趣的图片测试
高效视频编码帧内快速深度决策算法
“领家系”可爱脸VS“高冷系”美人脸
ARM发布显示控制器新品重点强化对分辨率的支持
长得象人脸的十种动物
从600dpi到9600dpi
锐化与显示器分辨率