点击上方“CVer”,选择加"星标"或“置顶”
重磅干货,第一时间送达
本文转载自:ImageAI
目前,虽然深度学习在各个领域都体现出了其巨大的能量,但在可解释性方面依然有所欠缺。而一些经典的方法,虽然在特定的一些任务上不如深度学习的方法,但鉴于它们拥有非常好的可解释性以及鲁棒性,所以依然值得学习。更重要的是,如果将这些算法和深度学习结合起来,能使得算法具有更强鲁棒性和更好的解释性。本文就将主要介绍下双边滤波(bilateral filter) 到HDRNet的方法演进。
双边滤波器可以直观的理解为“保边”的高斯滤波器。双边滤波和高斯滤波都采用的是某个点周围的像素集合的加权平均来表示该点的像素。但由于高斯滤波只简单的考虑像素加权,对边缘部分是不敏感的。双边滤波则是在此基础上加上了像素之间的欧式空间距离,因此其在拥有平滑和去噪的效果的同时还具有良好的保边效果。
高斯滤波示意图,其对任意位置都使用的是相同的高斯核,所以不能很好的保持边缘:
双边滤波示意图,其引入了像素之间的欧式距离作为加权,能在平滑的同时表现出良好的保边性:
双边滤波定义:
由定义可以看出, 双边滤波器加入了正则系数和值域权重, 其两个权重域的概念:空间域(spatialdomain S)和像素值域(range domain R)
在图像的平坦区域,像素值变化很小,对应的像素范围域权重接近于1,此时空间域权重起主要作用,相当于进行高斯模糊
在图像的边缘区域,像素值变化很大,像素范围域权重变大,从而保持了边缘的信息
在二维图像上的效果如图所示:
双边滤波是一种非线性(两个高斯核的乘积)的滤波方法,是结合图像的空间邻近度和像素值相似度的一种折中处理,同时考虑空域信息和灰度相似性,达到保边去噪的目的。
快速双边滤波器的核心思想是将双边滤波器的公式改写为齐次坐标的形式, 引入一个新的函数将公式从二维空间拓展到三维空间(即一个2D的空间域和一个1D的值域/亮度域)
改进后的双边滤波过程如下:
双边网格本质上是一个可以保存边缘信息的3维的数据结构, 就像前面我们提到双边滤波器可以将边缘信息保存下来, 如图所示:
对于一张2维图片, 在2维空间中增加了一维代表像素的强度
假设输入数据为1维信号:
双边网格的滤波主要分以下步骤:
由于很多复杂的滤镜处理速度比较慢,一个很常用的解决思路是对原图 downsample 之后做处理,然后用 upsample 得到处理结果。这里 Kaiming He 的 guide filter 就是一个这种思路的很好的应用。而在 BGU 这个例子里,利用 bilateral grid 来做 downsample - upsample 的工作,使得效果更为出色。
其核心思想是:
1、任何滤镜效果,在局部小区域内都可以看做是一个线性变换
2、利用 bilateral grid 可以从一个低分辨率的图上 slice 得到高分辨率的结果
3、upsample 针对的是变换系数,而不是直接针对像素。这样对细节方面损失降低到最小
如图,将一副高分辨率的图像通过下采样转换成一个双边网格, 在双边网格中每个格子就是一个图像的仿射变换算子, 它的原理是在空间与值域相近的区域内, 相似输入图像的亮度经算子变换后也应该是相似的, 因此在每个格子里的操作算子可以看成是输入/输出的近似曲线, 而对于双边网格中的不同格子, 通过给定输入和标签去训练整个双边网格实现其仿射模型的全局分段平滑, 最后通过上采样获得高分辨率的处理后的图像。
讲完上述一些思想,HDRNet就是这些传统方法和深度学习方法的一个集大成者。
HDRNet架构图
由图可知, HDRNet存在两个数据处理流:
红色: 通过下采样的低分辨率图像输入CNN得到3D的双边网格参数,
紫色和绿色: 在原始分辨率上通过像素级操作得到Guidance Map, 然后通过3D的双边网格做仿射变换, 最后结合原图得到输出图
用传统的方法进行图像算子的运算有两个缺点:
所以,如果我们将整个图像算子看作是黑箱, 那么我们可以使用神经网络去学习这种仿射关系, 如下图所示:
与Bilateral Guided Upsampling中的Slicing不同的是, 在HDRNET中, Slicing中的上采样参数是可以学习的, 是一种更加鲁棒的上采样方式。综上所述, HDRNET利用3D双边网格进行并行加速计算, 同时在产生3D双边网格和上采样的参考图时引入了深度学习的方法保持对传统算子仿射变换的拟合, 从而使得在手机端实现了对传统的运算复杂的算子的处理.
参考转载博客:
1、http://simtalk.cn/2018/06/05/HDRNET/
2、https://zhuanlan.zhihu.com/p/37404280
HDRNet code:
TensorFlow:https://github.com/google/hdrnet
重磅!CVer-学术微信交流群已成立
扫码添加CVer助手,可申请加入CVer大群和细分方向技术群,细分方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、TensorFlow、PyTorch、图神经网络等群。
一定要备注:研究方向+地点+学校/公司+昵称(如目标检测+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群
▲长按加群
▲长按关注我们
麻烦给我一个在看!