VBM4D读后感
VBM4D读后感
VBM4D读后感
本文题目:Video denoising using separable 4-D nonlocal spatiotemporal transforms;
发表时间:2011年;
关键字(自己填的):non-local; block track; BM3D; spatiotemporal
一、背景
相比VBM3D中寻找与中间帧的目标块相似的前后帧相似块,VBM4D则是视前后帧连续运动的块作为体(volumes),对于某段视频序列,为目标体寻找相似体,后续去噪步骤与BM3D近似:分两步对体去噪,然后加权平均,得到去噪后的目标体。因此引入了运动估计的概念,在文中4.1节中描述。
对于作者的后续工作BM4D,它是对三维图像处理,是医学图像(核磁共振图)的去噪,方法与BM3D一致,不同之处在于,BM3D输入是二维图像,将相似块集合视作整体成为三维集合,因此命名为3D,而BM4D输入是三维图像,得到的相似块应为三维图像,视作整体则空间升至四维,因此命名为4D。
这里用了很多不准确的名词,“目标块”指要进行降噪处理的那片区域,“目标体”指由VBM4D产生的前后帧的“目标块”组成的“目标体”;“待匹配块”指将要与“目标块”计算的区域。
另外,图像去噪的东西才刚刚接触,所以有些词语、说法会不准确,还请大家指出不足、不准确之处,谢谢。
二、算法说明
2. 构建目标体
2.1 计算块相似度
由当前帧的目标块,追踪该块在下一帧(或上一帧)的位置,最简单的方法就是找到下帧(上帧)中与该块最相似块,并加入前/后帧的运动先验信息(2.2 获取预估位置)。因此如式(10)所示,相似度的衡量使用L2距离:
当前帧的目标块为 ,下/上帧的待比较块为
其中,
为块边长
为惩罚系数,因为帧中含有噪声,影响块匹配(图像纹理、边缘发生变化),导致运动估计出错,而惩罚系数则是降低噪声对其的影响
为目标块
在下/上帧的标定点的预估位置,若预估位置不可用(?文中此处没说明白,还是我没看明白),则使用当前位置作为预估位置;
为
的左上点,记为标定点
2.2 获取预估位置
冷启动,已知第一帧的目标块的标定点 与第二帧标定点
,由此计算点的移动速度,按式(12)可算出第三帧的标定点的预估位置。
其中:
预测权重,超参数???
2.3 判断块
在2.1计算完待比较块与目标块的相似度后,由超参数 判断待比较块是否为目标快的运动轨迹,如式(11)、(10)所示。
2.4 块的大小变化
因为式(10)惩罚项的存在,待比较块 的标定点
会逐渐接近预测标定点
,若由式(11)计算出的标定点就是预测标定点的话,根据式(13)降低
的边长
,
其中,
为原始目标块的边长 ,也就是块大小
是缩放尺度
是超参数
这么做的原因,本文并没有说明,我估计的原因如下:当标定点 等于预测标定点
,那么说明前后帧的块并没有发生过大的移动,减小后帧的“感受野”,能够获得更多后帧的图像细节;反之,若块发生较大的移动,减小后帧“感受野”会增大算法的运算复杂度。
2.5 构成目标体(块的运动轨迹)
由2.3步得到下帧的最相似块作为目标块的下一帧位置,按式(2)构成目标块的轨迹,按式(3)按照轨迹构成目标体。
其中,
-
为相对当前帧的下一系列帧,
为上一系列帧,因此整个体的长度为(
+
+1)
-
为块,
为体
2.6 转场控制
由于视频中含有大量场景转换或者噪声过大,由式(11)计算出的轨迹长度可能不一致,即目标体与相似体的长度不一致,在后续Collaborative Filtering步中,需要相等长度的体进行比较,因此这里将相似体的长度截取至目标体长度,如式(15)所示。值得注意的是,此处并没有讨论目标体长度大于相似体长度的情况。
其中,
为截取操作
为目标体的长度
3. Grouping 构建相似体集合
按(6)、(5)得到相似体集合 ,
是四维结构。
其中,
为超参数
为L2距离
本文对如何寻找相似体就无其它说明,推测与NLM一样,在搜索窗内寻找相似块。
4. Collaborative Filtering
与BM3D、VBM3D在grouping的后续步骤一致,分为两步Collaborative Filtering+Aggregation:硬阈值过滤+Aggregation、维纳过滤+Aggregation:
4.1 Step1 硬阈值过滤与Aggregation
硬阈值过滤如式(16)所示,加权融合如式(9)、(17)所示。
其中,
为硬阈值过滤操作
为四维变换,
为四维反变换
是
的非零系数个数
,padding使用0,当相似体是在0边框上的时候,忽略该相似体
4.2 Step2 维纳过滤与Aggregation
由Step1得到的初步去噪的视频后,再次构造相似体集合 ,对
进行维纳过滤操作,如式(19)、(18)
加权融合如式(9)、(20)
二、 结论
VBM4D相比VBM3D的计算复杂度,主要还是在运动补偿上面,VBM4D需要寻找目标块在上下帧的运动轨迹,将这系列运动轨迹视作目标体,然后再采用寻找相似体的方式,构成四维集合。并且,VBM3D在寻找相似块的时候,使用了二维变换,在随后的Collaborate Filtering与Aggregation上,可以对二维变换结果使用一维变换,得到三维变换结果,而VBM4D则没有这样的复用过程,因此更加耗时。
本文对VBM4D的描述实际上还是比较模糊,实验只与VBM3D做了对比,对比试验太少,与现有方法相比,视频去噪的效果到底好不好,还是不敢确定。
三、 实现
在Video Denoising, Deblocking and Enhancement Through Separable 4-D Nonlocal Spatiotemporal Transforms(http://www.cs.tut.fi/~foi/papers/VBM4D-TIP-2cols.pdf)这篇论文中,有对VBM4D实现的更加详细的描述。
对于step1中的4D硬阈值过滤 ,首先对每个相似体(一个体由多个块组成)的每个相似块进行1D双正交小波变换,变换到频域后再使用1D-DCT变换,最后对体进行1D哈尔小波变换;对于step2中的4D维纳过滤
,对每个相似块使用2D-DCT变换,然后在频域使用1D哈尔小波变换。