本文介绍一下中国大陆第一篇计算机视觉顶会的best paper,也是何恺明第一次在计算机视觉领域大放异彩的一篇经典之作—Dark Channel Prior。另外本文在Dark Channel Prior算法的基础上,介绍何恺明后续提出的Large-KernelGuided Filter两种加速方法。

Dark Channel Prior

图像去雾任务的目标是把一张雾图转变成一张无雾图和一张深度图。

Haze Imaging Model

一张雾图可以表示成haze imaging model:

其中I是hazy image,J是scene radiance,A是atmospheric light,t是传递系数。可以理解为I是雾图,J是无雾图,A是空气光图,这样子看就跟image matting公式非常类似(无雾图是背景,空气光图是前景)。其中深度图可以通过公式  得到。

Dark Channel Prior

kaiming he通过大量无雾图片统计发现了dark channel prior—在无雾图的局部区域中,3个通道的最小亮度值非常小接近于0(不包括天空区域)

先通过min(r, g, b),得到单通道图片,然后通过最小滤波器得到dark channel图片。

和haze imaging model相对应,可以把dark channel图片写成:

dark channel prior的统计规律表明,无雾图的dark channel应该是一个近似于全黑的图片,也就是无雾图的  。

可以对haze imaging model进行等价变换,如上图所示。

由dark channel prior规律对t进行近似。A可以通过图片10%最亮区域得到近似值。也就是A已知,可以求解出t。

直接计算得到的t图片是粗糙的,没有办法细致的对雾进行区分。

上面也说到,haze imaging model公式和matting model公式非常类似,而image matting一种常用的做法是,输入图片和trimap图片(包含三部分区域: 白色前景、黑色背景和灰色未知),用封闭式抠图算法得到alpha matting。仿照image matting的方式,图像去雾也可以通过输入图片和transmission图片(类似trimap图片),得到refined transmission(类似alpha matting)。

image matting通常用马尔科夫随机场(MRF)来得到alpha matting,于是haze removal也可以通过MRF公式来得到优化后的transmission,公式如下:

其中L是matting拉普拉斯矩阵,\tilde { \mathbf { t } }是优化前的transmission,t是优化后的transmission。

通过拉格朗日乘子法可以得到linear system:

linear system一般可以通过Conjugate Gradients方法计算得到。何恺明后续提出了Large-KernelGuided Filter两种方法对linear system计算进行加速。

通过上述的推导计算,A、I和t都已知,那么可以通过haze imaging model还原出去雾图片J。

Dark Channel Prior整体算法流程如下:

关于linear system如何推导,可以看以下资料

https://www.bilibili.com/video/BV1o54y1a7Yp?spm_id_from=333.999.0.0

Efficient Solutions to Refinement

何恺明后续提出Large-KernelGuided Filter两种方法对linear system计算进行加速。

A Large-Kernel-Based Linear Solver

上面得到的linear system公式:

linear system一般可以通过Conjugate Gradients(CG)方法计算得到,算法如下:

CG是迭代计算的方法,计算复杂度由step4决定(矩阵运算),假设kernel size为r,总的像素点数为N,那么step4的复杂度为  ,需要迭代  轮,总的计算复杂度为  。

Large-Kernel发现通过推导,step4可以只需要  复杂度,总的计算复杂度为  算法如下:

实际上,(4.13)和(4.14)中的所有运算都是滑动窗口的均值、方差或协方差,可以通过box filter统一计算得到,跟kernel size的大小无关。

实验结果可以看出,large kernel对去雾质量影响不大,但是能够极大的加快算法速度。

Guided Image Filtering

kaiming he发现t和  具有类似的强度,但是t和I的边缘保持一致。也就是说,  可以经过一个滤波过程转换成t,类似于保边滤波的效果。

linear system公式可以转化成:

这实际上是一个位置敏感的滤波过程:

是  的加权平均值,其中权重Wij完全由图像I决定。也就是说图像I通过调整权值来“引导”滤波过程,确保t的边缘与I一致。

通过上述观察,kaiming he提出了一种新颖的guided filter来替代soft matting step,不需要求解linear system。并且进一步提出了一种跟kernel size r无关的O(N)算法,使得滤波器具有实时性。

Guided image filtering是结合两幅图片信息的过程,一个filtering input image(表示为p)和一个guide image(表示为I)生成一个filtering output image(表示为q)。p决定了q的颜色,亮度,和色调,I决定了q的边缘。对于图像去雾来说,transmission就是p,雾图就是I,refined transmission就是q。

假设q是图像I中以像素点k为中心的窗口w_k的线性变换:

由于一个像素点会由多个窗口计算得到,一个简单的做法是对相关的窗口计算求平均:

通过推导,guided filter只需要O(N)复杂度就能得到q,算法如下:

guided filter直接计算得到q,不需要迭代求解linear system。

实验结果可以看出,guided filter效果很好,比起large kernel速度更快。

总结

dark channel prior通过暗通道先验对haze imaging model进行化简,近似计算得到粗糙的transmission,然后将haze imaging model和matting model联系起来,巧妙的将图像去雾问题转化为抠图问题,得到refined transmission,精彩!large-kernel在CG算法的基础上通过公式推导,避免了kernel size对计算复杂度的影响,从而加快了linear system的计算速度;而guided filter则通过公式转换,和滤波联系起来,提出新颖的guided filter,巧妙的避开了linear system的计算过程,极大加快了transmission优化的速度。

不得不说kaiming he的科研嗅觉太敏锐了,做haze removal可以联想到和matting的关系,并且发现了dark channel prior,然后通过扎实的数理功底,找出soft matting速度优化的可能性,并且通过filter的启发,找出O(N)解法,简直太神了!

Reference

http://kaiminghe.com/publications/thesis.pdf

http://kaiminghe.com/publications/pami10dehaze.pdf

http://kaiminghe.com/cvpr09/cvpr09slides.pdf

http://kaiminghe.com/publications/cvpr10matting.pdf

http://kaiminghe.com/publications/pami12guidedfilter.pdf

http://kaiminghe.com/eccv10/eccv10ppt.pdf

https://www.cs.huji.ac.il/~csip/iterative.pdf

http://people.csail.mit.edu/alevin/papers/Matting-Levin-Lischinski-Weiss-CVPR06.pdf?

往期精彩回顾适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载黄海广老师《机器学习课程》视频课黄海广老师《机器学习课程》711页完整版课件

本站qq群851320808,加入微信群请扫码:

【深度学习】何恺明经典之作—2009 CVPR Best Paper | Dark Channel Prior相关推荐

  1. best,best,best ......何恺明开挂之路

    荣誉 别人的荣誉都是在某某大厂工作,拿过什么大奖,而何恺明的荣誉是best,best,best ......,裂开了 研究兴趣 据我观察,何恺明的研究兴趣大致分成这么几个阶段: 传统视觉时代:Haze ...

  2. 网友怒赞:都是best....,何恺明编年史绝了

    别人的荣誉都是在某某大厂工作,拿过什么大奖,而何恺明的荣誉是best,best,best -本文细数了恺明大神的各项工作,一探究竟大神的荣誉史. 荣誉 别人的荣誉都是在某某大厂工作,拿过什么大奖,而何 ...

  3. 何恺明:从高考状元到CV领域年轻翘楚,靠“去雾算法”成为“CVPR最佳论文”首位华人得主...

    (给机器学习算法与Python学习加星标,提升AI技能) 本文转载自:德先生 根据科学研究,人类大脑皮层的70%活动都在处理视觉信息.如果人工智能赋予机器能够像人类一样思考.处理事情的能力,计算机视觉 ...

  4. 超越EfficientNet,GPU上加速5倍,何恺明组CVPR 2020论文提出新型网络设计范式

    选自arXiv 作者:Ilija Radosavovic等 机器之心编译 机器之心编辑部 近日,何恺明大神组又发了一篇新论文,提出了一种新的网络设计范式.与以往研究不同,他们没有专注于设计单个网络实例 ...

  5. 天才少年何恺明:高考状元的开挂人生

    根据科学研究,人类大脑皮层的70%活动都在处理视觉信息.如果人工智能赋予机器能够像人类一样思考.处理事情的能力,计算机视觉将承担巨大作用.作为一门研究如何使机器"看"的科学,计算机 ...

  6. [论文阅读] (11)ACE算法和暗通道先验图像去雾算法(Rizzi | 何恺明老师)

    <娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...

  7. 何恺明!再斩ICCV 2017最佳论文

    夏乙 若朴 发自 凹非寺 量子位 出品 | 公众号 QbitAI 何恺明第三次斩获顶会最佳论文! 昨天下午,ICCV 2017最佳论文公布. 何恺明为一作的Mask R-CNN论文,不负众望获得最佳论 ...

  8. 还不快收藏起来!何恺明全网最全论文合集

    原创/文 BFT机器人 人物简介 何恺明,Facebook AI Research (FAIR) 的一名科学家,研究领域包括计算机视觉和深度学习,并且在计算机视觉和深度学习方面发表了众多极具影响力的论 ...

  9. ResNet、Faster RCNN、Mask RCNN是专利算法吗?盘点何恺明参与发明的专利

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 前段时间OpenCV正式将SIFT算法的实现从Non-free模块移到主库,因SIFT专利到期了(专利 ...

最新文章

  1. 去掉字符串两端的全角空格和半角空格(含源代码)
  2. 为什么使用JavaScript eval函数是个坏主意?
  3. NYOJ72Financial Management
  4. UDP广播之socket bad address 错误被解决,舒服
  5. keil2c语言使用教程,Keil教程(2)
  6. css 行内水平均等排布方式
  7. windows10下anaconda安装、tensorflow安装以及pythonchar配置的使用
  8. jQuery函数$(window).load事件
  9. linux内核空间open,linux kernel之详解从用户态open到内核驱动实现流程
  10. Power Strings POJ - 2406,字符串hash
  11. 用matlab画指定点与点之间的连线
  12. win7计算机打开显卡设置在哪,Win7显卡设置在哪里 win7系统如何设置显卡
  13. 看完《我的前半生》的些许感悟
  14. 【机器学习PAI实践十一】机器学习PAI为你自动写歌词,妈妈再也不用担心我的freestyle了(提供数据、代码
  15. python计算字符在字符串中出现的次数
  16. 目前流行的装修风格_目前流行的装修风格
  17. vue项目引入阿里巴巴矢量图标库 ——字体图标
  18. win11 更新后打不开 pycharm 解决方案
  19. 有什么软件可以把文字变成语音?声音多点更好了
  20. 07月20日(周三)腾龙私募内部资料精研【独家】

热门文章

  1. 台湾ML笔记--1.2 formalize the learning probelm
  2. 从Setting.settings到Resource.resx
  3. 201506251117_《react——所需知识、主要技术》
  4. wordpress常用插件汇总
  5. JDK、TOMCAT、Ant环境变量设置
  6. 北师大听讲座-张建华-走近Russia
  7. Netbeans搭建Android环境
  8. for循环中++i和i++的区别
  9. 20135202闫佳歆-第二章家庭作业-2.69
  10. 安装phproject之一