白雪松,叶剑飞
(黄山学院,安徽 黄山 245000)
受拍摄设备和外部环境的影响,采集的部分民俗体育记录视频内容会因目标去除和恢复压缩而损坏或丢失。缺陷视频的抢救性修复方法被广泛研究,采用残差卷积注意力网络提取相邻帧之间的时空信息,可以对视频帧的时空信息和低语义信息进行修补与恢复,但发现视频中的纹理信息修补效果不佳,视频修复效果有待提高[1]。多尺度特征融合算法通过迭代置信度的设置,可以消除图像边缘对破损区域的影响,实现视频修复,但该方法未对视频帧的纹理信息进行区分,导致修复效果不佳[2]。基于小波分析理论修复视频图像中较复杂的水平和垂直条带,可有效去除图像中的文字,但该方法主要针对一般的视频图像损坏特征,无法处理动态纹理或运动物体[3]。基于改进的快速进行法(FMM)算法可以修复由Kinect相机采集的深度图像中的大面积空洞,但该方法只限于Kinect相机采集的深度图像,在应用于其他类型或来源的图像时效果并不理想[4]。
本文利用小波变换算法提出一种视频小波分析修复算法,对原始视频帧进行关键点匹配及对齐操作,可以更好地处理因帧间运动导致的缺陷区域或运动模糊等问题。考虑了图像序列之间的关联性,通过检测视频缺陷区域,可以在修复过程中更加准确地定位,进一步提升修复效果。采用小波变换算法计算视频像素点优先权,可以更好地处理视频中的频域特征,从而实现更准确、有效的修复。
相机的运动范围大可能会导致视频拍摄结果出现较大误差,直接影响后续视频的修复。使用局部模型对视频帧进行对齐,将视频图像中的局部邻域特征点与参考特征点进行匹配以获得相似性,有效增加了特征点的数量,使视频帧更加平滑,并基于图像关键点匹配获得帧对齐图像。
使用简化的针孔相机模型,将真实场景中记录的对象视为位于金字塔区域的点,连接场点和相机光学中心的线在物理成像平面上的交点。将景点P与摄像机所在平面间的距离定义为z,则坐标值之间的关系为
(1)
式中:f表示相机焦距;(x0,y0)表示P点坐标;(x1,y1)表示投影点P′的坐标。
整理可得投影点P′在相机投影面上的坐标值为
(2)
式中(cx,cy)表示原点的平移坐标。
经过对深度视频的处理,可以从深度相机中获得视频帧及其对应的点云和表面法向量,将这些信息用于求解相机的姿态,然后对两帧图像进行关键点匹配。当帧速率高时,相机拍摄的两帧之间的间隔非常小,图像信息的变化程度也小。所以可以在两帧中的相同像素位置计算3D点之间的最短距离和单个像素法向量的长度差,并且将差值最小的点用作匹配该像素位置的关键点[5-6]。计算公式为
(3)
(4)
根据获得的匹配点i和第i-1帧对应的法向量,计算匹配点所在的切平面之间的距离。计算公式为
(5)
式中Ωt表示所有匹配成功的像素点的集合。
图像中的每个局部区域都被视为一个平面,因此每个区域都可以使用单位矩阵来描述其几何变换[7],则局部区域的几何变换可以表示为
(6)
式中:H*表示图像像素的变换模型;x*表示局部邻域对应点。
为了使局部邻域对应点的坐标与全局像素点坐标相吻合,在此引入权重因子ω0,具体为
(7)
式中:h表示尺度参数;N表示图像像素点个数;i表示像素点序号。
由于x*在其空间域I内连续运动,其相应的尺度参数会发生平滑变化,从而使得当前区域内的缺陷像素与其相邻区域内的无线像素存在高度一致性[8],因此将图像空间域根据网格提取原理分割成C1×C2个网格,并以每个单元的中心作为参考点,扭曲两帧图像的像素,以更好地对齐。视频帧对齐公式为
wj=exp(-‖x*-ω0‖2/σ2)
(8)
式中:wj表示第j个视频帧匹配的源图像中的坐标;σ表示像素变换因子。
通过变换像素点坐标系与相机坐标系,将视频中相邻两帧的局部特征点与基准特征点进行匹配[9],基于匹配点的欧氏距离与法向量差异值计算匹配点的切面长度。结合权重因子项对视频帧进行对齐,便于更好地修复视频缺陷。
由于视频帧之间的关系是相互依附的,所以对于视频缺陷位置的定位可根据图像序列之间的相关性进行检测,进而完成破损区域的修复[10]。
假设有一长、宽和帧数分别为X、Y、T的视频,其三维矩阵用G表示,对应的结构图为S,则叠加了掩码m后受损的原始图像的灰度图Ig可表示为
Ig=I×S⊕G(wj-m)
(9)
式中:I表示原始图像;⊕表示叠加运算符;wj表示视频帧对齐项。
(10)
式中:Sin表示受损的结构化灰度图;Lx(p)表示图像窗口的固有变差;Ly(p)表示图像纹理向量。
对于纹理模糊的图像,将重建损失定义为
(11)
式中C(p)表示置信度。
置信度的计算公式为
(12)
式中:D(p)表示数据项;γ0表示归一化因子。
为确保待修复图像的有用信息能够在正确的方向上扩散[11],控制图像信息扩散路径的扩散方程为
(13)
式中:d(Wp,Vp)表示破损视频未知区域;(Wp,Vp)表示破损时空块的相似性度量;v表示像素分布方差。
假设Dx为视频已知区域,Hx为视频的待修复区域,则任一像素点的空间偏移量θ0可表示为
θ0=p0(Dx+Hx)/φ(p)
(14)
式中:p0表示像素收缩量;φ(p)表示衰减因子。
在处理高级特征时,风格因素是一个重要方面[12],通常使用平衡矩阵来描述这些特征,其计算公式为
(15)
式中:φi(x)表示特征图形状;Hi表示特征值。
由于视频帧中的缺陷类型是随机出现的,具有一定的不确定性,所以当前一帧出现噪声时,后一帧也会出现噪声,故而该位置的光流变化呈现异常[13]。缺陷位置的前向和后向光流的变化范围较大,并且存在较强的跳跃现象[14]。所以根据图像光流的变化规律,可以明确缺陷位置与灰度像素之间的关系。基于上述原理,在图像的已知区域中搜索用于修复的最佳辅助块。该辅助块表示为
Ψq=arg mind(Ψq,Ψq′)
(16)
式中d(Ψq,Ψq′)表示两个块的距离相似性。
假设x=[x,y]和x′=[x′,y′]是两帧图像I和I′之间的对应点,那么描述两帧图像间的正反向光流的关系为
(17)
式中:H0表示图像时空信息矩阵;k0、E0分别表示图像灰度差异项与平滑项。
将原视频用一个与其尺寸和维度均相同的换阶矩阵W表示,则判断该视频帧中坐标为(a,b,c)的点是否为缺陷点的判定公式为
(18)
(19)
式中:T1、T2分别表示当前像素点与前后帧灰度的差异;(a+U,y+V,c+1)表示视频后一帧的位置;(a-U,y-V,c-1)表示视频前一帧的位置;Tg表示灰度阈值。
当T1、T2均大于图像的灰度阈值Tg时,将W(a,b,c)位置判定为缺陷点。
基于视频帧对齐结果,计算图像相邻帧序列之间的关联性,对图像结构进行重构以生成受损的结构化灰度图像。根据纹理损失定义原理求取像素点的空间偏移量,结合缺陷处的光流变化定位图像缺陷位置,为视频修复奠定基础。
基于缺陷定位结果,可将视频图像的时间连续性特征用于跟踪和修复缺陷[15]。本文采用小波变换分析方法实现视频缺陷的修复。使用小波变换算法修复视频缺陷的过程主要在于小波基ϑ(t)的选择,小波基应满足定义域中的紧支撑和容限条件,以最大限度降低计算复杂度。假设存在傅里叶变换为ϑ′(t)的小波基,当ϑ′(t)满足以下允许条件时,就作为小波模型的小波基函数,即
(20)
式中:ω1表示旋转矩阵;R表示小波基函数定义域。
将ϑ(t)经数学变换后得到单一小波序列,即
(21)
式中a′、b′分别表示伸缩与平移因子。
实际应用中通常需要离散化小波的尺度参数a′、b′,将其扩展为固定值,则对应的离散化的谐波系数可表示为
A=Dϑ+f(t)-1
(22)
式中f(t)-1表示傅立叶逆变换。
由于图像属于二维信号,因此使用现有的尺度函数建立缺陷定位的小波基模型来构建所需的二维小波,即
Φ(Z)=[φ1(x,y)+φ2(x,y)]/A×W(a,b,c)
(23)
式中:φ1(x,y)、φ2(x,y)分别表示图像一次与二次的分解结果;W(a,b,c)表示视频图像的缺陷位置。
使用二维小波计算边界上每个中心像素块的优先级,并根据优先级确定视频的修复顺序。优先级函数为
Q(p)=Φ(Z)×R(p)×U(p)
(24)
式中R(p)、U(p)分别表示待修复块中已知和未知像素的比例,具体表示为
(25)
式中:S′表示修复块面积;Np表示破损区域边界像素p的法向量;a表示图像等照度线方向。
在通过最佳匹配块中的像素修复待修复的块之后,生成新的损坏边界。基于小波基函数,更新图像块在新的损伤边界上的置信度,即小波基的总能量函数的计算式为
(26)
式中:xp表示标签图像块;I0表示标签代价函数;dp′表示图像块重叠部分的相似性。
根据上述分析,可以将修复问题转化为对每个能量信号分配标签从而使图像信号的平滑项之和最小化的问题。受损视频序列的计算公式为
(27)
式中YT、MT分别表示缺失像素值与掩码像素值。
对于破损视频,Ip、Iq分别表示像素点p和q的梯度向量。考虑到视频的颜色信息和运动特征信息,对能够反映图像边缘和纹理结构信息的梯度变量进行约束,以改进图像信号变量的搜索过程。将约束因子定义为
(28)
式中e表示信号偏移。
由以上计算可以看出,整个操作过程需要获得半像素的梯度值和曲率值的叠加向量,将其离散化后获得视频缺陷的修复公式,即
(29)
在数值仿真时,首先确定视频中的缺陷位置,接着确定待修复区域,则基于小波分析的视频修复算法步骤为(1)读取I和uD,以确定要修复的区域;(2)设置参数梯度和曲率值;(3)计算损坏的视频序列;(4)对于(γ,λ),用式(29)进行迭代修复;(5)设置迭代次数;(6)输出修复后的图像。
为了评估小波分析修复算法对于损坏视频的修复性能,以某个民俗体育记录视频为例,设计多组实验进行验证。
某村庄在每年的八月八日举办乡村篮球联赛,其中融合了人们的日常生活和风俗习惯,是一项集体的、模块化的、传统的生活方式的体育活动。用于恢复的视频数据集包括各种真实的受损村庄民间体育记录视频和公共DAVIS数据集。这两类数据涉及多种复杂的场景,损伤类型各异,可以反映实验结果的真实性。
实验数据集由50个视频、5 621帧组成,每个视频包含一个对象或两个空间连接的对象,每帧都具有像素级的精度。每个视频的持续时间为4~8 s,平均视频长度约为120帧。共有12 564个对象注释,每个对象注释都由专业人员手动分割。实验中使用了一些带有强烈民间色彩的体育录制视频的缩略图,所有这些视频的大小均为144×176像素。实验中选择的视频包括背景和区域的整体运动目标,截取第30帧作为受损视频帧的下一个视频帧。
在预处理阶段,在MATLAB 2016a上利用小波变换算法提取结构图和修复实验。实验采用的纹理大小参数σ=3。将修复模型运行在PyTorch V1 0.1、CUDNN V7上。实验使用的硬件设备是Intel Assisted Core(TM)i7-8700@3.20GHzCPU、NVIDIA GTX 1080TiGPU。
由于视频中的图像数量较多,单帧图像提供的信息有限,使得修复结果无法达到预期效果。考虑到视频的时间相关性,将搜索区域扩展到帧前和帧后的N帧,并且2N+1帧搜索区域是共享的。在本文实验中,取N=1。在比较各种方法时,确保所有实验参数都相同。在测试阶段,输入视频帧序列和输出视频帧序列均为11,同时,将输入视频帧的大小统一修改为432×240。
选取3个视频中的3帧画面,每一行为一个视频帧序列,将待修复帧及其前后各2帧共5帧作为修复算法的破损图像输入,分别采用文献[1]中的基残差卷积注意力网络算法(方法1)、文献[2]中的多尺度特征融合算法(方法2)与本文方法对破损图像进行处理修复(见图1)。图1(a)中,输入帧图像背景复杂且严重模糊,存在大量噪声且分辨率较低,同时存在曝光和对比度失衡的问题。利用方法1对仿真破损视频帧进行缺陷修复,图像未缺失部分出现了明显的修复痕迹,而对于需要修复的部分,产生画面结构不完整、像素重叠现象,原因是该方法主要适用于划痕和大小斑块较为完整的视频修复,但对于模糊缺陷,由于缺少对视频的去噪处理,使得修复结果保留了其中的颗粒噪声,影响了修复效果(见图1(b))。利用方法2对原始视频进行修复时只使用了相邻帧进行建模,不能实现对视频的逐帧修复,视频帧经过修复后,细小部分的处理存在误差,没有很好地保留图像的边缘信息,且出现了阶梯效应(见图1(c))。利用本文方法修复缺陷视频帧,修复后图像的空间结构相似性与时间连贯性更强,破损区域的结构被完好修复,整体修复效果较好(见图1(d))。主要是由于本文方法利用两行掩膜原理,并结合小波变换算法,在扩展帧中寻找与破损帧纹理较为相似的结构并进行匹配修复,使得修复效果更加符合人眼视觉效果。通过对比可以发现,本文视频修复算法能够改善修复效果,修复后的图像没有修复痕迹,修复性能较好。
图1 破损视频修复结果对比
选取3个视频中的2帧画面,每一行为一个视频帧序列,分别对每个视频序列的中间视频帧做人工破损标注,分别采用以上3种方法同时对视频的前景和背景展开修复处理。评价不同修复方法性能的指标为均方误差(MSE),其计算公式为
(30)
式中:A表示原始视频;B表示修复后视频;M、N分别表示视频大小;i、j分别表示原始视频与修复后视频的像素点。
利用式(30)计算3种修复方法对视频修复后的均方差值,结果越小,表明修复视频与原始视频的相似度越高,修复效果越好。为了更全面地评估修复方法对视频的影响,选择结构相似性指数(SSIM)和峰值信噪比(PSNR)作为视觉感知质量的评价指标。根据均值和方差计算亮度相似度,结合原始视频和修复后视频的结构相似度指数计算SSIM值,通过MSE计算PSNR值。计算结果如表1所示。可以看出,本文方法在不同小波系数丢失率下都展现出较好的修复效果,均方误差值较小,同时具有较高的SSIM和PSNR值。方法2在某些小波系数丢失率下表现出良好的修复效果,但在其他情况下的性能较差。方法1在大部分情况下的修复效果相对较差。说明本文设计方法优于其他两种方法,可以更有效地修复视频,并保持较高的图像质量。
表1 视频修复均方差结果对比
以小波变换算法为核心,提出了一种视频修复技术,充分利用视频帧信息冗余特性,遍历帧间修补块,并通过构建小波修复模型,实现视频缺陷修复。实验表明,本文方法对于民俗体育记录视频的各类缺陷均有较好的修复效果。在以后的研究中,将深入分析光流场对图像缺陷修复的影响,以进一步提高修复效果。