查看原文
其他

Deformable Kernels,用于图像/视频去噪,即将开源

CV研究僧 ​ 极市平台 2021-09-19

加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动!

同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。关注 极市平台 公众号 ,回复 加群,立刻申请入群~


作者:CV路上一名研究僧

https://zhuanlan.zhihu.com/p/76791923

本文已由作者授权,未经允许,不得二次转载


1. 简介


这是一篇源自商汤(SenseTime)的论文,文章题目"Learning Deformable Kernels for Image and Video Denoising"。与KPN、MKPN(传送门)相似,也是一种基于核预测的去噪模型,整体上,网络结构也比较相似,不同点在于,预测出的Kernels对于周围像素点的权重,以及周围像素点的选择方式。本文源码将会开源至Github,敬请期待~


https://github.com/z-bingo/Deformable-Kernels-For-Video-Denoising


从BM3D这类经典的传统图像去噪方式起,不同方法之间的最大区别就在于如何用一种有效的方式选择合适的像素点、以及如何定义这些像素点的权重,进而对这些像素点加权平均可得到近似“干净”的图像,也就达到了图像去噪的目的。


就KPN和MKPN而言,网络的输出是per-pixel的自适应卷积核,KPN仅预测单一尺寸的卷积核;而MKPN可以同时预测多个尺寸的卷积核,进而适应含噪图像中物体的不同尺度,达到既可以较好地保留细节、又可以平滑平坦区域的目的。


这篇文章提出的DKPN(暂且称之为DKPN),亦是如此,预测出per-pixel的自适应卷积核,但是对于可变形卷积来说,不仅包含weights和bias两部分,还会包含offsets,用于指示“周围像素”是指哪些像素,打破了传统卷积运算对于方形领域的定义。通过这种方式,可以在采样点有限的情况下,尽可能地增大kernels的感受野,有利于高效地利用图像中的信息。Deformable Kernels和传统的Kernels异同可通过下图体现:

Deformable Kernels


2. Deformable Convolution


本节通过尽可能简短、简洁的语言来介绍2D以及3D可变形卷积的原理,以及工作方式。


2.1 2D Deformable Convolution


对于一个已知的图像X,在去噪任务中可认为是含噪声的图像,那么,卷积核在该图像上卷积可表示为


其中,  表示在图像中的坐标,  表示卷积核的个数,  表示卷积核的采样偏移点,对于传统的方形领域,由  构成的集合为(以  的卷积核为例):


基于传统卷积理论,可变形卷积在采样偏移点上额外叠加了一个可以学习的offsets参数,将规则采样问题变为了一个不规则采样问题,若将offests表示为  ,2D可变性卷积可表示为:


在此,有一个问题需要注意,由于offsets是学习得到的偏移量,因此,其一般不会是整数,而是小数,意味着要采样的点不处于规则的像素上。此时,就要通过双线性插值等插值算法根据规则的像素点进行插值,得到想要坐标点的像素值。


2.2 3D Deformable Convolution


与2D可变形卷积相似,3D可变性卷积就是3D卷积的拓展,在3D卷积的基础上添加三个可学习的offsets。传统3D卷积一般可用于Volume数据的处理中,对应于去噪领域,即多帧图像去噪或视频去噪,此时网络的输入可以看做  ,分别表示batch_size,输入图像的数量或视频的帧数,颜色通道数以及长和宽,3D卷积会作用于颜色通道、长和宽三个维度。


那么,对于3D可变性卷积来说,除了长和宽两个维度的offsets之外,第三个offsets就成了帧与帧之间的偏移,这样就会更有利与网络在不同的帧之间提取有用的信息,对于充分利用连续的视频帧之间的冗余信息是非常有效的。3D可变形卷积可表示为:

对于非规则的采样点,在三维空间中通常通过三线性插值来实现。


3. DKPN网络结构


DKPN网络结构图


上图是DKPN网络结构图,其主干网络也是一个基于U-Net的Encoder-Decoder结构,由于可变性卷积多了额外的offsets参数需学习,与KPN不同,U-Net的输出不再是自适应卷积核的权重,可是offsets;offsets经过Sampler采样后,与输入的多帧含噪声图像concat到一起,再经过几个卷积层后可得到自适应卷积核的weights。此时,将刚刚采样得到的图像与weigths相乘便可得到去噪后图像。


需要注意的是,当去噪任务为单帧图像去噪时,每个像素点有两个需要需要的offset,而视频去噪时有三个offsets需要学习。


KPN中,作者采用了退火项作为Loss函数的一部分,单独为每帧输入图像预测去噪后的图像,这是为了防止网络很快收敛至一个局部极小值,使得参考帧之外的图像帧在输出去噪图像中几乎不起作用。


相似的思想在DKPN中也得到了使用,对于输出的N个采样点,DKPN会将其分为s个组,每个组相互独立地预测去噪后的干净图像,并作为loss函数的退火项,这样就可以有效防止网络很快收敛至局部最小值。将输入图像序列经过Sampler后的图像分为s组,每组平均包含  个采样点,分别表示为  ,那么,相互独立的去噪后图像可以表示为:


loss函数可以表示为:


4. 实验结果


文中部分实验结果如下:





Reference


Learning Deformable Kernels for Image and Video Denoising

https://arxiv.org/abs/1904.06903




-完-



*延伸阅读




添加极市小助手微信(ID : cv-mart),备注:研究方向-姓名-学校/公司-城市(如:目标检测-小极-北大-深圳),即可申请加入目标检测、目标跟踪、人脸、工业检测、医学影像、三维&SLAM、图像分割等极市技术交流群,更有每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流,一起来让思想之光照的更远吧~


△长按添加极市小助手


△长按关注极市平台


觉得有用麻烦给个在看啦~  

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存