李文波,王 玉,王明泉,商奥雪,丰晓钰
(中北大学信息与通信工程学院,山西 太原 030051)
红外热成像由于其通过目标和背景的辐射产生场景图像的特点,不受环境因素的影响,可以24 h不间断工作,因此在民用、医学和军事领域得到了广泛应用[1]。随着红外图像应用范围的进一步扩大,视频图像已成为红外领域信息传播的主要载体之一,人们对红外成像视频帧率的要求也越来越高。因此,如何获取更高质量、更丰富信息的近红外图像成为亟待解决的问题。
传统的基于光流的视频插帧方法[2]主要组成部分是光流估计网络和帧重建网络。光流估计的方式是进行单尺度的特征提取,这种方式应用到瞬态场景下得到预测帧效果很差,帧重建是结合空间信息合成所需的中间帧。其中,光流估计得到的结果对形成的中间帧效果有非常关键的影响[3]。由于插帧场景是在瞬态场景下进行的,若使用普通场景下的插帧方法,经过实验得到的结果显示得不到较高质量的红外视频插入帧。常用的如Flownet[4]、PWC-net[5]等光流估计网络,在瞬态场景下视频插帧任务中,由于对应点运动位移过大,直接对光流建模超出了网络的建模范围,使得网络在建模时很难正确找到对应位置的2个点进行光流计算[6]。从数学的角度解释该问题,可以将深度网络解决问题的过程看作在解空间搜索最优解的过程。通常对于输入的图片,其最优解出现的位置在解空间的中间部分。正常场景下的输入数据集也都属于该种类图片,但是对于瞬态场景,由于运动位移过大,导致它的解通常位于解空间的边缘,因此深度网络搜索过程中无法寻到全局最优解,进而输出边缘最优解作为最终的答案。这就使得光流信息作用到所插入帧图像后鲁棒性不好。
针对上述问题,如何更好地利用光流信息得到鲁棒性较好的插入帧图像,成为研究视频插帧的难点问题之一,由于是在瞬态状态下进行的,如果对其进行单尺度特征提取,容易导致它的解位于解空间边缘的同时也会造成丢失很多细节信息,简而言之,就是难以获得鲁棒性较好的预测中间帧[7],因此,本文提出了一种基于注意力的多尺度、多分支光流网络,利用注意机制和不同光流信息之间的互补特性,深入学习相邻帧之间的运动信息,从前后相邻2帧中得到细微的运动。具体来说,使用红外视频的相邻2帧提取光流,并生成新的光流信息,以更好地捕捉瞬时间的细微运动。本文使用Inception网络[8]将3条光流信息输入到三分支网络中进行特征提取。考虑到单尺度特征不能充分提取局部运动,提出了一种新的多尺度特征融合模块(multiscale feature fusion,MSFF),该模块利用空间注意力机制聚焦每个尺度上的关键信息。然后,由于每条光流信息对插入帧的贡献不同,提出了一种多光流特征重加权(multi-optical flow feature reweighting,MOFRW)模块,该模块使用通道注意力机制自适应地分别为每个光流选择特征。对所提方法在多个红外数据集上进行测试,均得到了高质量的视频插帧效果。最后,使用了在视频插帧领域广泛采用的L1范式损失作为优化函数,此外,还使用了感知损失函数,通过网络深层的更高维特征的相似度去评价预测得到的红外图像的准确性。
目前,红外视频帧率提升技术主要分为2大方向。一是硬件支持的改进,二是从算法性能的角度上对红外视频帧率提升进行改进,即视频帧插入技术。
硬件支持的改进是利用红外高帧率摄像机在短时间内完成高速运动目标的快速连续采样。图像信息经过处理后,传输给计算机,再由计算机读出并显示图像。然而,这种方法昂贵的成本大大降低了提高帧率的可能性[9]。并且目前大部分国内外红外热像仪生产厂家将重点放在红外成像分辨率提升技术上,在对红外视频帧率提升技术上的研究相对较少,帧率也都是相对较低,目前在普通民用中,市面上比较流行的红外热像仪帧率都在9 Hz、25 Hz、30 Hz,一般不超过60 Hz[10]。这些帧率在普通常规场合下可以满足多方面需求,但是在物体快速甚至高速、极速运动的情况下帧率较低的设备就不适用了,如在爆炸场下就需要高帧率红外热像仪来拍摄以保证后期对温度、目标识别等方面深入研究的正确性、可靠性。针对这一问题中国传媒大学王金涛、刘英纳等[11]提出专利红外热像仪帧率扩展装置。一小部分厂家,如FLIR、i3system等公司在提升设备帧率上有研究并取得了一定成果,如FLIR公司的FLIR X8580 SLS、FLIR X6980 SLS等[12]。但是高速红外热像仪的价格非常昂贵。将旧红外热像仪更新换代,对于一些普通企业来说成本代价过高。因此,深入研究使用算法的方式去提升红外帧率成像具有非常重要的意义。
视频帧插入技术是通过相应的时空信息在相邻帧之间插入中间帧,从而将视频帧率从30帧/s提高到60帧/s,获得更高帧率的红外视频。在最早期的时候人们借鉴CRT显示器的脉冲显示模式,提出了插黑帧技术,其最大特点就是便于实现,但最后的显示效果差强人意。同时在早期提出帧率转换技术需求时,研究者们只是对视频进行简单处理(采用帧重复和帧平均的算法),未考虑到运动信息,此方法若运用到视频中,对于存在运动的物体,则会出现非常明显的模糊和重叠问题;21世纪初,由于需要帧率提升的视频中均存在运动场景,若使用上述不考虑运动补偿的方法进行视频插帧,得到的结果就是无法合成高质量视频插帧图像。因此,研究者们开始尝试使用可以捕获物体运动信息的算法以生成较好的视频插帧图像,这一阶段产生了一系列基于运动估计和运动补偿的算法。Bao等[13]提出一种运动估计和补偿驱动的神经网络用于视频帧插值,提出了一种融合光流和插值核的自适应扭曲层来合成目标帧像素。这一层是完全可微的,使得流估计网络和核估计网络可以共同优化。这种方法通常会产生效果较好插值结果,但在大的运动变化下可能无法保留高频细节。Choi 等[14]提出了运动补偿帧插值的运动估计和运动矢量细化新方法,提出使用3个视频帧得到双向运动矢量的估计方法。之后,自Dosovitskiy等[15]提出FlowNet里程碑式的方法以来,后面几年深度学习在计算机视觉领域取得了巨大的成功,基于深度学习的光流估计网络也被不断提出。Jiang等[2]提出了SuperSlomo,使用2个双向流的线性组合作为中间流的初始近似,然后使用U-Net对其进行细化。但这种方法往往无法捕获大运动,导致无法得到较好的插值结果。Niklaus等[16]利用给定帧之间的双向光流,在利用合成网络渲染输出帧之前,直接将图像及其上下文特征前向扭曲到插值瞬间。为了使这种splatting完全可微,进一步引入softmax splatting,允许端对端训练特征提取。尽管取得了相当先进的性能,但由于固有的网络复杂性和大量的内存限制,该方法需要更多的计算资源消耗时间。Choi等[17]提出了CAIN,采用通道注意机制和PixelShuffle直接学习插值结果。Zhang等[18]提出了一种注意力增强残差块,该残差块利用残差块中的三重注意力机制,利用通道和空间注意力以及对特征的不同空间位置和通道的多头自注意力来提取特征,这使得网络更多地关注关键的感兴趣区域,然而当处理快速移动的对象时,这些方法往往会产生模糊的结果。
本文提出了一个多尺度特征融合模块和一个多光流特征重加权模块,基于注意力机制从通道和空间角度聚焦瞬态运动区域显著特征。该操作提高了网络的泛化能力,增强了插入帧图像的鲁棒性。通过这些改进,本文提出的模型在红外视频帧率提升任务中实现了更好的性能。
红外视频帧率提升任务的整体结构框架如图1所示。
图1 本文整体结构框架
该模型分为3个部分:光流提取、特征学习和输出网络。如图1所示,其中,光流提取是通过红外视频的相邻2帧计算光流,生成新的光流信息,特征学习部分使用Inception模块进行特征提取,第1个Inception块中每个尺度有6个卷积核,第2个Inception块中每个尺度有16个卷积核。此外,还分别使用多尺度特征融合(MSFF)和多光流特征重加权(MOFRW)模块对特征进行融合和加权。输出网络使用特征融合模块和帧重建模块得到最终的预测帧。
本文使用总变差光流[19]方法来计算相邻帧之间的光流。该算法适用于瞬态运动分析,可以克服在插帧过程中丢失小细节的成本问题。用u和v分别表示光流场的水平分量和垂直分量,用来描述相邻前后帧之间的运动信息。另一种光流导数称为光应变,它能够近似于前后帧形变的强度,可以定义为
(1)
式中:Of=[u,v]T为光流矢量,包括水平分量u和垂直分量v;∇ 为Of的导数。
2.2.1 Inception网络
对于卷积神经网络模型,较大的卷积核通常具有较大的感知场,可以更好地捕捉输入数据中的全局特征,而较小的卷积核更适合提取局部特征。由于不同光流图像中关键信息的位置存在差异,为卷积运算选择合适的卷积核大小更为复杂。受文献[8]的启发,本文采用了Inception网络,在同一级别上并行使用多个不同尺度大小的卷积核。提取不同尺度和抽象层次的特征,可以更好地适应不同大小和复杂程度的图,使网络能够捕获更丰富的信息。另外,Inception模块使用1×1、3×3和5×5的小卷积层,同时增加一个额外的1×1卷积层来限制输入通道的数量。这种设计可以有效减少模型参数的数量和计算量,提高计算效率。最后,在每个Inception模块之后使用最大池化操作,可以进一步减小特征映射的大小和计算量,过滤掉输入特征映射中的噪声和冗余信息,更好地聚合特征信息。本文中使用的Inception网络结构如图2所示。
图2 Inception模块结构
2.2.2 多尺度特征融合(MSFF)模块
本文提出的MSFF模块旨在获取不同尺度下红外视频相邻帧光流图像的运动信息。为了增强每层特征的显著性和表达性,首先使用空间注意模块(SAM)进行自适应加权,如图3a所示。SAM模块可以学习前一帧和当前帧的特征,生成相应的注意映射(attention mapping,Attn),并与输入特征相乘,以增强前后帧红外视频图像局部信息的表达和运动区域特征的表示。
图3 SAM模块结构和MSFF模块结构
本文提出的MSFF模块采用三步策略在低级光流特征中捕获更多局部运动信息,如图3b所示。首先,为了连接当前层特征,对前一层的特征进行下采样;然后,对下采样的特征进行SAM处理,在进入SAM之前,对特征进行与增强特征的求和操作;其次,对当前层进行SAM处理;最后,将前层和当前层的处理特征连接起来,得到相邻层的最终多尺度融合特征。该设计可以提取和融合不同层次和尺度的不同运动信息,以增强前后相邻2帧红外图像局部信息的表达和识别精度。
2.2.3 多光流特征重加权(MOFRW)模块
本文提出的多光流特征重加权(MOFRW)模块将不同模式的光流信息拼接在一起。它使用通道注意力模块(CAM)对每条光流信息进行加权,如图4a所示。本设计可以充分利用不同尺度的光流信息的特点和优势,提高光流特征的性能和差异性,从而获得更加准确可靠的动态信息。在进行CAM和加权计算时,还需要根据各通道的重要性对其进行加权,进一步抑制噪声和冗余信息,提高光流特征的性能和区分能力。
图4 CAM模块结构和MOFRW模块结构
MOFRW模块通过4个主要步骤实现多段光流特征信息的注意加权。整个过程如图4b所示。将3个光流特征拼接在一起。利用CAM提取不同光流信息特征映射的通道注意力向量,得到3种光流特征的通道注意力向量。再利用Softmax对3个光流通道注意力向量进行特征重新校准,获得每个光流信息交互的新注意力权重;之后对重新校准的权重和相应的特征映射进行点积运算。对多光流特征信息进行注意加权后,得到输出的特征图。最后,将多特征输入拼接的光流特征和注意力加权特征与输出相加,得到一个重新加权的多光流加权特征图。MOFRW模块的计算过程为:
Ci=CAM(Fi)i=u,v,γ
(2)
(3)
ζi=Fi⊙AAttii=u,v,γ
(4)
Oout=Finput+Cat([ζu,ζv,ζγ])
(5)
3.1.1 训练数据
本文在OTCBVS数据集中的Terravic Motion IR Database[20]上进行模型的训练和测试。Terravic Motion IR Database中包含18个热序列数,是在运动场景下拍摄的红外序列帧,主要使用户外运动和跟踪场景、室内走廊运动、水下和近地表运动等红外序列帧,Terravic Motion IR Database数据集包含25 355张红外图像。本文使用其中的15 285个样本作为训练集,1 542个样本作为验证集。数据集中所有图像的尺寸均为320×240。
3.1.2 训练策略
本文采用 AdamW[21]作为优化器,将其衰减设置为0.018 3,训练100轮。每一批次数据的大小是32,学习率使用余弦函数进行调节,这些参数是根据实验经验和实验结果选择的。训练过多可能会导致出现过拟合现象,BatchSize设置过小可能导致网络收敛速度慢、训练时长增加等,过大可能会导致显存溢出、收敛难度增大。在硬件配置方面,采用了NVIDIA GeForce RTX2080Ti作为训练和测试硬件。
在损失函数部分,对于光流的预测结果,本文使用L1范式损失作为优化函数,这已被证明比L2的结果更清晰[22]:
(6)
式中:fgt为红外中间帧真实的光流值;fpred为预测的红外中间帧光流值。
此外,还使用了基于特征的感知损失函数,通过网络深层的更高维特征的相似度去评价预测得到的红外图像的准确性程度,即
(7)
式中:φ(·)为VGG16模型中的第2层池化层之前的网络结构。
最后,结合式(6)和式(7),网络的损失函数为
L=λ1L1+λ2Lp
(8)
式中:λ权重分别设定为0.020 0、0.000 5。
3.1.3 评价指标
本文采用2种在视频插帧领域中最常用的质量指标,即峰值信噪比(PSNR)和结构相似性(SSIM),PSNR是基于均方误差(MSE)发展而来,计算方法如下:
大小为r×c的2幅图像,原始图像I和噪声图像K,2幅图像间的均方误差值SME定义为
(9)
2幅图像间的峰值信噪比值RPSN定义为
(10)
结构相似性(SSIM)的基本思想是通过亮度(luminance)、对比度(contrast)、结构(structure)这3个方面来对2幅图像的相似性进行评估,SSIM的计算过程如下:
(11)
(12)
(13)
SSIM(X,Y)=L(X,Y)·C(X,Y)·S(X,Y)
(14)
PSNR与SSIM的数值越大表示预测图像和原始图像的误差越小、质量越好。同时注意到,这些指标并不总是与人类观察者所感知的视频质量很好地相关。因此,使用了一种更具感知相似性判断的衡量标准,即LPIPS[23]。LPIPS的值越小代表2幅图像之间的相似度越高,反之值越大,代表差异越大。
本文同当前流行的视频插帧算法进行了对比实验,比较的方法有:DVF[24]、MEMC[13]、Slomo[2]、CAIN[17]、QVI[25]、XVFI[26]。为避免实验的偶然性,经过多次实验后,得到的结果如表1所示,容易得出本文方法与上述方法对比所得到的结果在PSNR、SSIM、LPIPS都取得了很好的效果。
表1 不同方法的比较
在图5中,展示了运用本文算法得到的预测中间帧红外视频图像与真实中间帧红外视频图像对比,并且可视化了预测中间帧光流结果与真实中间帧光流结果。下列3组图片中上方每组右侧是预测帧光流图可视化,左侧是真实帧光流图可视化,下方右侧是预测帧红外图像,左侧是真实帧红外图像。通过观察可知,本文方法可以有效预测出光流信息,并且也可以得到鲁棒性很好的预测中间帧红外视频图像。
图5 视频插帧真值、结果可视化和光流预测真值、结果可视化
为了证明本文中所提出模块的有效性,对其进行了消融实验。实验数据是基于Terravic Motion IR Database数据集中的红外视频帧计算得到的。将通过一个带有六层卷积模块的残差网络作为基础网络[27](BaseNet),然后依次添加多尺度特征融合模块(MSFF)和多光流特征重加权(MOFRW)模块。实验结果如表2所示,容易得出,本文所提出的网络模块可以综合提高所插红外视频帧的性能。
表2 不同模块对模型的影响
本文提出了一种瞬态场景下基于光流法的红外视频插帧算法,该算法可以有效解决瞬态场景下,相邻帧单尺度特征提取容易导致它的解位于解空间边缘的同时也会造成丢失很多细节的问题,该算法结合了多尺度、多通道、注意力机制等方法,利用不同光流的互补特性,能够深入学习相邻2帧红外图像之间的运动信息,提取出显著特征和区别特征。本文设计了2个模块,MSFF和MOFRW模块。其中,MSFF模块专门用于突出红外视频相邻帧之间细微局部运动。相比之下,MOFRW模块使用不同光流的贡献来重新加权,以提取关键特征并过滤掉冗余特征。最后,实验结果表明,本文方法可以得到高质量的红外插帧图像,并与目前最先进的方法相当,充分证明了本文算法的有效性。然而,虽然本文提出的红外视频插帧方法已经取得了很不错的效果,但是在面临众多复杂多变的应用场景下,红外视频插帧算法仍有提升的空间。本文所提方法是通过多尺度、多通道、注意力机制等方法,利用不同光流的互补特性,提高光流信息预测准确性来改善视频插帧的效果,在之后的研究中可以尝试使用生成对抗网络等其他先进的深度学习方法,在现有模型的基础上获得更加自然逼真的红外视频插帧结果。