论文标题
:L0 structure-prior assisted blur-intensity aware efficient video deblurring

发表期刊
:Neurocomputing

作者
:李琛,宋利,解蓉,张文军

原文链接
:https://www.sciencedirect.com/science/article/pii/S0925231222001552

本文介绍我们最新发表在Neurocomputing的工作,采用L0正则化的结构先验以及图像模糊强度感知来进行视频去模糊。在该论文中,将视频帧的修复分解为结构的恢复以及细节的填充。使用L0正则化的先验来辅助图片结构恢复,同时感知图像的模糊强度对不同区域自适应处理。
目录
  • 背景
  • 方法简述
    • 纹理内容估计模块
    • 结构估计与修复
    • 帧合成模块
  • 损失函数
    • 模糊强度检测模块
    • 结构估计模块
    • 帧合成模块
  • 模型效果

背景

在视频的采集过程中,如果手持设备快速抖动或者镜头内物体快速移动,通常会使得图片产生运动模糊。这种低质的图片会较大影响视觉体验,并且可能会对后序的处理及任务产生一定的不利影响。因此去模糊也成为一个较为重要的任务,目的是削减模糊效应并且重建出清晰的视频帧。
本文主要面对三个问题:
  1. 图片的模糊强度在整张图片中是不均匀,因此更好的方式是对不同模糊强度的区域区别对待,减少去模糊不足或者过度去模糊的现象
  2. 模糊图片中,物体的结构和轮廓不够清晰,对视觉体验影响较大,因此缺乏对结构及轮廓专门的约束
  3. 提升模型的效率

方法简述

图1 本方法的处理流程图
本方法的流程图如图1所示,主要由四个模块组成:特征提取,结构估计,纹理内容估计以及清晰帧合成。首先对前后三帧进行特征的提取,特征提取模块采用较为浅层的结构,采用空洞卷积组合不同尺度的特征来实现。提取的特征经由两路,分别修复结构和纹理内容。其中结构修复模块采用L0正则化的信息,纹理修复模块首先提取图片帧的模糊强度,依此来指导模型进行自适应特征处理。这两路的特征最终在帧合成模块中组合,得到最终的清晰图像。

纹理内容估计模块

图2 纹理内容模块的框架图
在这个模块中,我们希望神经网络可以针对不同区域的模糊强度自适应提取与修复特征。首先需要定义一下如何模糊强度,我们从图像去雨的模型DID-MDN得到灵感。DID-MDN将雨的强度分类,并且区别处理。我们则尝试将模糊强度分类,得到特征或者mask来标记模糊强度。具体来说,这个模块分为两个子模块,一个是模糊强度检测,另一个是图像内容的编码。首先检测器从原特征中获取得到表示模糊强度的mask,将它视为空间的注意力来指导编码器自适应提取特征。在内容编码器中,主要结构为编解码器模型中的编码部分,另外加入高效的注意力模型来增强性能。
模糊强度的检测
这个模型中一个重点是如何检测模糊强度,因为模糊强度比较主观,很难用确定的数值去量化。因此我们使用神经网络去间接检测模糊强度,首先定义一个简单地分类器,用来大致粗略地区分图片级的模糊强度。之后网络学到的中间特征,则能够体现出不同区域级的模糊强度。我们用中间特征来估计最终的模糊强度图。具体而言,我们首先将图片集根据PSNR和SSIM大致分为三类,分别表示高、中、低模糊强度,如图3所示。我们用预训练的VGG19网络实现三分类器,其中第4层的特征被用来表示模糊强度。为了同时为了尽量让模糊强度图表示区域级的特征并且减少细节的影响,我们使用了KL loss去正则化中间的特征图。我们最终得到的模糊强度图如图4表示,其中越黑的部分模糊强度越大。从图4中,我们可以发现估计的模糊强度能够标识出哪些区域更加模糊,需要“特殊对待”。
图3 三种模糊强度的示例图
图4 估计的模糊强度图示例
纹理内容编码
在内容编码的模块中,除了上述的模糊强度以外,还采用了两种注意力机制,即Temporal Merge和ESA模块。其中Temporal Merge模块旨在对帧间时域特征进行增强,而ESA则是对空间特征的增强。对于Temporal Merge,其过程可以用下述公式表示:
这两个注意力的可视化图见于图5。
图5 两个注意力模型的可视化

结构估计与修复

在结构支路上,我们目标是恢复出清晰的图片结构与轮廓。所以我们希望能够排除图像细节的影响,使得该模块可以专心应对图像结构。因此在这里我们借鉴了图像保边平滑的方法,在原图特征输入的情况下,输出保边平滑后的清晰图片。我们使用的平滑方法是基于L0范数的图像梯度最小化方法,这个方法能够产生较为稳定的效果,如图6所示,图像中的大部分细节被抹去,而重要的边缘得以保留。
图6 原图和平滑后图像的对比
因为这个方法需要较多运行时间,所以我们不直接将他融入进我们的模型。我们希望使用神经网络来从模糊图像直接估计出平滑的清晰图像。在这里我们使用一个较小的编解码器模型,其中在最低的尺度上,加上了一层可形变卷积来提升性能。

帧合成模块

在这个模块中,我们希望融合结构特征以及纹理内容特征,并且输出一最终的图像。具体而言,在内容编码器中,我们得到了编码后的纹理特征以及不同尺度的中间特征;在结构估计模块中,我们得到了不同尺度的结构特征。因此帧合成模块仅由一个解码器组成,在每个尺度上均对两种特征进行融合。

损失函数

因为这个模型中的各个模块相对独立,所以我们对几个模块先分别预训练,紧接着再合并训练。具体来说,需要先预训练两个模块:结构估计模块和模糊强度检测模块。

模糊强度检测模块

模糊强度检测模块由分类损失函数和KL损失函数组成:
其中分类损失函数为交叉熵函数,KL损失函数为:

结构估计模块

结构估计模块由三项组成:内容损失,梯度损失和梯度L0范数正则。
其中内容损失和梯度损失均采用L1损失的可微扩展L1_Charbonnier loss实现, 即:
而对于L0范数,由于其较难优化,我们将其放宽为一种修正的L1范数:

帧合成模块

帧合成模块是与其余两个模块一起协同训练的,其损失函数由内容损失和感知损失组成。
其中内容损失也由L1_Charbonnier loss实现。

模型效果

这里展示我们的模型在GOPRO数据集上的一些效果,如表1和图7所示。对比之前的一些方法,我们的方法可以较为高效地得到更为准确地物体结构与轮廓,从而提升视觉体验。
表1 GOPRO数据集上的客观指标展示
图7 GOPRO数据集上的一些主观效果展示
继续阅读
阅读原文