Advertisement

Real-Time High-Resolution Background Matting论文阅读笔记

阅读量:

Real-Time High-Resolution Background Matting阅读笔记

Abstract

我们开发了一种支持4K 30帧和HD 60帧实时处理的技术

Introduction

背景替代技术被广泛应用在各种视频会议应用中,如Zoom、Google Meet和Microsoft Teams等主流视频通话软件中。这类技术不仅具有娱乐价值,还能够有效提升用户的隐私保护水平,尤其是在需要隐藏真实位置和环境的情况下发挥重要作用。然而,这类视频会议应用面临的最大挑战在于,用户无法像电影特效制作那样传统地借助绿色布景或其他物理媒介来辅助完成背景替換。

虽然许多工具具备背景替换功能,在细节区域仍残留人工痕迹特别是在那些具有较为精细特征如头发与眼镜部位。相比之下传统的图像替换方法主要参考文献[6-7][9-17]等均能产出较高质量的结果然而这些方法并非实时且高分辨率同时需要人工干预在此文中我们将首次介绍一种完全自动化且能在30帧4K分辨率下运行的技术这种新型的技术不仅能在60帧HD分辨率下工作还能实现高分辨率输出

设计一个能达到实时、高分辨的人像视频的神经网络是一项极为巨大的挑战,尤其是在头发部分细节极其微小的情况下。特别地,现有最高水平的方法仅局限于8帧每秒512\times512分辨率的画面。在如此高的分辨率下训练一个深度网络将会耗时较长且占用大量内存空间。生成过程中还需要大量高质量图像及其\alpha通道辅助完成,而公开的数据集数量也非常有限。

由于人工校准数据的获取因其实时性和精确度要求较高而具有较大难度,在本研究中我们将采用多维度特征的数据集来训练神经网络以提升模型性能

在实时操控高分辨率图像的神经网络设计中,在有限的位置上实现精细调节是关键。我们发现,在有限的位置上实现精细调节是关键;因此,在低分辨率层次上构建一个能够同时预测α通道和前景层的人工神经网络,并附加了一个辅助工具来识别哪些区域需进行高分辨率细化

背景替代可以通过分割或抠图来实现。尽管二分法快速且高效,在这一过程中可能会出现明显的人工痕迹。\alpha 通道能实现视觉上令人满意的合成效果,并且通常需要手动注释或已知背景图像的支持才能完成这一过程。

Our Approach

给定一个图像I和捕捉的背景B,我们能够估计\alpha通道和前景F,并通过以下公式进行计算:
I' = \alpha F + (1-\alpha)B'
其中B'代表新的背景图像。我们采用F^R = F - I作为替代方案而非直接解决前景问题。随后将F^R与原始图像I进行叠加,并将其结果限制在[0,1]范围内以避免溢出:

F = \text{max}(\text{min}(F^R + I, 1), 0)

这一过程能够显著提升学习效果,并允许我们将低分辨率的前景残差应用到高分辨率输出图像上。通过上采样技术(如最近邻插值、双线性插值等),我们可以将低分辨率的前景残差提升至高分辨率输入图像,并在此基础上进行后续架构描述。

如图四所示,在人类抠图中通常呈现出高度稀疏的状态。其中大部分像素区域要么属于背景(α=0),要么属于前景(α=1),并且仅有极小比例的区域包含需要细化细节的部分,例如发顶、眼镜片边缘以及面部轮廓周围。基于此观察结果,在处理高分辨率图像时我们采用了两个独立的神经网络来实现更高的精度与效率

整体架构由基础神经网络G_base与精炼神经网络G_refine构成,在接收原始图像I与捕获背景B的基础上,在因子c作用下执行下采样处理得到I_c与B_c。基础神经网络G_base将I_c与B_c作为输入参数并输出粗粒预测结果α通道、前景残留FR_c以及误差预测图E_c同时提取隐藏特征H_c随后精炼神经网络G_refine利用H_c、原始图像I以及捕获背景B在误差预测图E_c较大区域进行α细和平面残差FR的具体优化工作最终生成完整的α通道与前景残留F^R输出结果我们的模型完全基于卷积层设计并通过训练过程能够适应输入图像的各种尺寸与比例关系

Base Network

基础的的网络是基于DeepLavC3和DeepLavV3+结构的全卷积编码器-解码器,这些架构在2017和2018年在语义分割任务中取得了最先进的性能。我们的基础网络包含了三个处理:Backbone{% referto ‘[6]’, ‘Backbone, 指深度神经网络中负责特征提取的主干部分’ %}, ASPP{% referto ‘[7]’, ‘ASPP, 自适应空间金字塔池化, 在不同尺度上对特征图进行池化操作,捕获多尺度的上下文信息。’ %}, and Decoder{% referto ‘[8]’, ‘解码器,用于还原输出图像的模块,接受从主干网络或编码器输出的低维特征表示。’ %}.我们采用ResNet-50作为我们的特征提取编码器,可以用ResNet-101和MobileNetV2去提高速度和质量。我们采用ASPP方法对上一步操作进行池化。ASPP模块由多个采用不同夸张率的空洞卷积滤波器组成,通常有3、6、9等不同扩张率。我们的解码器网络在每步采用双线性插值上采样,从backbone中把跳过的连接联系起来,用3\times3的convolution{% referto ‘[9]’, ‘convolution, 卷积。’ %}
。解码器网络输出粗粒度的\alpha_c,前景残留F^R, 误差预测图E_c和一个32通道的隐藏特征H_c。隐藏特征H_c包含了所有在细化网络中有用的文本。

Refinement Network

细化网络旨在降低计算开销并恢复高分辨率抠图细节。基础网络负责整个图像的初步处理工作,而细化网络则专注于误差预测图E_c所标记出的具体区域部分进行精确定位与优化处理。为了提高优化效果,我们采用了分阶段优化策略:首先在图像分辨率的一半尺度上实施优化,随后提升至全分辨率进行优化处理。在推理阶段中,我们对k个独立区域分别进行了细致优化处理,其中参数k可预先设定也可根据图像质量与计算时长之间的平衡关系进行调节。

考虑在原始分辨率\frac{1}{c}基础上建立的粗粒度误差预测图E_c。随后,在其\frac{1}{4}分辨率水平上执行重采样处理以生成中间预测误差图E_4. 通过分析重采样后的预测误差图中最高值区域,在上方选择k个像素点作为关键位置候选,并在此基础上确定将由细化网络进一步处理的k个独立的$4\times4$块. 这些块位于原始分辨率下共有16k个像素点. 我们设计了一种分步精细的方法来进行图像修复. 在第一阶段中, 对于粗粒度输出结果执行双线性插值处理, 并将其与原始分辨率缩放后的图像数据进行融合连接. 然后, 将这些特征与隐藏特征、前景残差以及背景信息在同一分辨率下进行综合考量. 接着, 对此区域执行空间扩展操作, 并对其进行两次标准卷积操作以进一步精炼特征信息. 最终输出的结果将在较高分辨率下实现精确修复效果

描述整个过程

Training

每个抠图数据集都包含一个α值和一个前景层。我们将这些图像融合到高分辨率背景中进行处理。为了防止模型过拟合并提升其在复杂现实场景中的适应能力,我们采用了多种数据增强技术:仿射变换;水平翻转;亮度调整;色调调整;饱和度调整;模糊;锐化;随机噪声添加。此外我们还对背景区域进行了轻微水平平移以模拟定位误差,并引入人工阴影模拟物体在真实环境中的投影效果。为了优化模型性能我们从每个小批量中随机裁剪图像块其尺寸均匀分布在1024×1024到2048×2048像素范围内以适应不同分辨率和比例的需求

针对α的真实值α⋆这一目标值,在处理整个α及其Sobel算子(如[10]所述)时,结合水平和垂直方向上的滤波器核进行分析。这两个核分别被称为Sobel X方向和Sobel Y方向的算子。通常其梯度幅度计算为:
其梯度幅度通常计算为:

gradient\_magnitude = \sqrt{X^2+Y^2}

在此方法中采用的是基于梯度下降的L1损失函数(如[11]所述),即平均绝对误差(MAE),通过计算每个像素预测值与真实值之间的差异并取绝对值之和来衡量图像的整体损失。
为了学习过程中的优化目标,则定义如下损失函数:

L_\alpha = \parallel\alpha-\alpha^\star\parallel_1 + \parallel\nabla\alpha-\nabla\alpha^\star\parallel_1

基于公式 F = \max(\min(F^{R} + I, 1), 0), 我们从前景残差 F^{R} 中提取前景层。仅当 \alpha^{*} > 0 的像素时, 将 L1 损失应用于该区域:

L_{F} = \| (\alpha^{*} > 0) × (F - F^{*}) \|_{1}

对于系统性地确定需要细化的具体区域后,在随后的过程中我们建立了真实误差映射E^* = |\alpha - \alpha^*|。在此基础上通过计算预测误差图与真实误差图之间的均方差来确定损失函数:L_E = \|E - E^*\|_2

该损失函数将促进预测误差图在预估α值与真实误差α值之间产生较大差异。当预估α值不断增长时,真实误差图将伴随迭代过程发生改变。随着时间流逝, 误差图将趋于稳定, 并会在处理复杂区域时出现较高的误差, 如果仅进行上采样操作, 将导致合成效果不佳

基础网络(\alpha_c,F^R_c, E_c, H_c) = G_{base}(I_c, B_c)在原图像分辨率的比例\frac{1}{c}处执行操作,并通过以下损失函数进行训练:

L_{base} = L_{\alpha c} + L_{F c} + L_{E c}.

我们利用ImageNet和Pascal VOC数据集上预先进行了语义分割任务的深度学习模型DeepLavV3来进行特征提取与金字塔式下采样方法的初始化工作。具体而言,在收敛前我们首先对基础网络进行全参数优化,在此基础之上逐步引入精细化模块并完成联合优化过程。在优化过程中我们采用了Adam优化算法(参数设置为c=4,k=5000)。当仅对基础网络进行优化时我们将实验批次设置为8同时采用不同的学习率策略分别更新主干特征提取模块、ASPP空间聚合模块以及解码器部分(学习率依次取值为1e-4、5e-4、5e-4)。而在联合优化过程中则将实验批次缩减至4并进一步优化了各组件的学习率参数(分别为5e-5、5e-5、1e-4及3e-4)。

按照以下步骤在多个训练集中对我们的模型进行系统性训练:首先,在单独训练基础网络G_{base}的基础上逐步引入辅助分支网络G_{auxiliary};接着,在Video Matte240K数据集上同时对基础网络G_{base}和精炼网络G_{refine}进行联合优化;通过此过程可使我们的模型能够适应不同主题及其姿态的变化;随后,在PhotoMatte13K数据集上进一步优化模型结构,以增强其对细节特征的捕捉能力;最后,在Distinction-646数据集上完成最终的优化过程。该数据集中仅包含362个独特样本;然而这些高质量样本(均为经过人工校准的人像)仍能显著提升我们模型产出的质量水平。由于在AIM数据集上的参数微调可能会导致性能下降的原因

{% referfrom ‘[1]’, ‘Alpha通道用于描述图像中每个像素的透明度信息,并用于将图像与背景分离开以创建平滑边界。通过使用带有灰度值的图像表示透明度级别较暗的像素对应较低透明度’ %}
{% referfrom ‘[2]’, ‘其他图像处理替代方案’ %}
{% referfrom ‘[3]’, ‘未被开发的技术’ %}
{% referfrom ‘[4]’, ‘引入鲁棒先验有助于在图像处理任务中提供额外的信息与约束条件从而提升算法性能与鲁棒性’ %}
{% referfrom ‘[5]’, ‘上采样方法旨在提高图像分辨率或放大过程通过插值算法在现有像素间插入新像素以增强细节清晰度常见的上采样方法包括最近邻插值双线性插值以及卷积插值等’ %}
{% referfrom ‘[6]’, ‘Backbone指深度神经网络中负责特征提取的核心模块’ %}
{% referfrom ‘[7]’, “ASPP自适应空间金字塔池化机制通过不同尺度对特征图进行池化操作以捕获多尺度上下文信息” %}
{% referfrom ‘[8]’,‘解码器模块负责将编码器输出的低维特征还原为输出图像模块接收主干网络或编码器输出的内容’ %}
{% referfrom ‘[9]’,‘卷积运算用于特征提取过程’ %}
{% referfrom ‘[10]’, 'Sobel算子基于差分运算结合水平与垂直方向滤波核分别称为Sobel X与Sobel Y梯度幅度计算公式为gradient_magnitude=√(X²+Y²)’ %}
{% referfrom ‘[11]’,‘L1损失函数也称为平均绝对误差MAE它是测量每个像素预测值与真实值差异绝对值之和取平均值得到整个图像损失值的一种评估指标’ %}

全部评论 (0)

还没有任何评论哟~