这周主要学习的是利用单幅散焦图像来恢复深度图。细读了Pentland A P的A new sense for depth of field以及衍生相关文章。论文提出了一种很实用的方法边缘检测法,这种方法将一幅散焦图像建模成为一幅清晰图像与一个PSF做卷积运算,然后依靠场景中的物体边缘位置的模糊量与深度对应关系估算出深度信息。然后下面简述一下论文当中的具体流程和思想。

  1. 论文的内容

在生物学系统上,除了视网膜中心凹以外的任何地方都是非常糟糕的聚焦区域。从完美聚焦到聚焦模糊是一个渐变的过程,这个过程是深度信息的一个非常重要的来源,我们可以利用这个渐变过程来恢复景深。也就是说:镜头具有有限的景深,只有在正确距离处的物体才是清晰的,其他物理和它们的距离成比例的模糊。

为什么要估计边缘处的散焦模糊程度?因为边缘是图像局部强度变化最显著的部分,其通常与图像强度或图像强度的一阶导数的不连续性有关。

在一个薄透镜模型中,存在下面的关系:

其中u表示物距,v表示像距,F表示焦距。

下图就是一个简单的光学薄透镜模型:

虚线所示的就是正确且唯一的聚焦情况,随着物距的增加,模糊半径б也会增加,从图中我们可以得出,

我们将两个式子结合起来,得到最终表达式:

正因为有这样的推导,所以我们才能确定说是只要能求出模糊半径б(也叫模糊量)我们就能推导出景深距离D。

然后论文提出了,可以将图像的散焦模糊视作一幅清晰图像与一个点扩散函数的卷积,通常用高斯函数g(x,б)来近似表示。б与模糊半径成比例。

2、算法流程

具体来说,就是先对原图像采用高斯滤波器进行模糊化处理,以获得其对应的重模糊图像。然后分别计算原图沿着x和y方向的梯度,以及重模糊图像沿着x和y方向的梯度。由此可分别得到原图像与重模糊图像的边缘梯度,进而的到两者之间的梯度比值。

3、仿真结果

4、最后结果

原论文中,分别求得原图像和模糊图像的梯度图像后,然后就要求得梯度图当中的最大值,在实际应用中,canny算子就是基于像素梯度变化的一种检测算子,它求得图像的梯度之后,然后又检测出全局梯度最大值。我们可以看出梯度图检测的边缘很明显没有求得最大化梯度的检测的边缘更丰富和清晰!

在原论文当中,当我们求得一幅稀疏散焦图后,需要将稀疏散焦图由边缘位置向全图的其他区域进行扩展。要求所得到的全景深度图与稀疏深度图拥有相近的边缘位置。大部分文章都采用深度扩展法来得到一幅全景深度图。但是在实现的过程当中,这一部分内容采用的算法还没有理解(整个过程类似于He的soft matting),可能稍微延迟一下,等完全理解后再把最后一步解决了!!

单幅散焦图像的深度恢复相关推荐

  1. 由散焦图像的深度提取想到了ROF的图像去噪问题

    最近在做高精度三维重建的项目,周六周天跑去深圳湾玩了,今天回来补补博客.刚接到教授要我补三维重构的项目,由散焦图像提取深度信息以前没有做过类似的项目,以前做过双目视觉和结构光的.但是没有做过散焦图像, ...

  2. OpenCV通过维纳滤镜恢复散焦图像的实例(附完整代码)

    OpenCV通过维纳滤镜恢复散焦图像的实例 OpenCV通过维纳滤镜恢复散焦图像的实例 OpenCV通过维纳滤镜恢复散焦图像的实例 #include <iostream> #include ...

  3. ECCV 散焦图像恢复论文

    Defocus Deblurring Using Dual-Pixel Data 作者 | Abdullah Abuolaim, Michael S. Brown 单位 | 约克大学:三星 论文 |  ...

  4. 在鱼眼和全向视图图像的深度学习方法

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:黄浴 https://zhuanlan.zhihu.com/p/88675419 本文仅做学术分 ...

  5. Hiding Images in Plain Sight: Deep Steganography 于众目睽睽之下隐藏图像:深度隐写术

    Hiding Images in Plain Sight: Deep Steganography 于众目睽睽之下隐藏图像:深度隐写术 1.摘要 隐写术是将秘密信息隐藏在另一条普通信息中的一种实践.通常 ...

  6. 【论文精读】使用深度卷积神经场从单目图像学习深度

    使用深度卷积神经场从单目图像学习深度 Paper Information Abstract 1 Introduction 1.1 Related Work 2 DEEP CONVOLUTIONAL N ...

  7. matlab图像去散焦,散焦图像的维纳滤波复原及振铃抑制

    散焦图像的维纳滤波复原及振铃抑制 Defocused Image Restoration with Wiener Filter and Ringing Suppression DOI: 10.1267 ...

  8. python鱼眼图像识别_一种融合鱼眼图像与深度图像的动态环境视觉里程计方法与流程...

    本发明涉及移动机器人同步定位与地图构建(SLAM)技术领域,尤其是适用于动态环境的基于鱼眼图像与深度图像的视觉里程计方法. 背景技术: 定位技术是移动机器人实现各项复杂任务的技术基础.里程计便是一类简 ...

  9. OpenGL 具有深度恢复的SSAO

    OpenGL具有深度恢复的SSAO OpenGL具有深度恢复的SSAO简介 源代码剖析 主要源代码 OpenGL具有深度恢复的SSAO简介 在上一教程中,我们研究了屏幕空间环境光遮挡算法.我们使用了一 ...

  10. HALCON示例程序resistor.hdev通过不同焦距图像提取深度信息

    小哥哥小姐姐觉得有用点个赞呗! HALCON示例程序resistor.hdev通过不同焦距图像提取深度信息 示例程序源码(加注释) 关于显示类函数解释 Names := [] dev_close_wi ...

最新文章

  1. Python的神奇功能——函数装饰器MetaClass
  2. 循环获取结构体中的健名与值的实现
  3. 为什么Google会优先使用while(1); 他们的JSON响应?
  4. Tiles Framework
  5. 北邮 复习 软件工程_软件工程的一些基本概念总结(北邮版本)
  6. java只有高跟很高_女明星们为了合影不输,练就踩高跷本领,鞋跟一个比一个高!...
  7. Redis中的代理Sharding
  8. red hat linux5 u盘安装,RHEL5安装,Red Hat Enterprise Linux 5安装文档
  9. oracle 对象管理 07_PLSQL基础与异常
  10. java - 只输出中文, 包含中文标点符号
  11. Python高级知识点学习(一)
  12. 移动端web自适应解决方案: adaptive.js
  13. Everything+ listary+TotalCommander+QTTabBar相互整合
  14. try-catch(C# 参考)
  15. Windows server 2003 下载
  16. 拼音搜索函数(C# and java)
  17. 英雄联盟服务器维护时间是多久,英雄联盟更新维护到几点今天? LOL10月15日停机维护多久几点开服...
  18. VC++6.0的简单使用!(保姆级)
  19. 安卓跳转应用市场评论
  20. 递归算法的时间复杂度计算

热门文章

  1. 我的世界中国版服务器家园系统,《我的世界》中国版“暑期更新”上线 家园系统休闲玩法亮点...
  2. CodeForces 581A Vasya the Hipster
  3. 吴恩达机器学习18-应用实例:图片文字识别
  4. 南部翔宇实验小学第六届校园文化艺术节闭幕式暨“六一”庆祝活动
  5. 谷粒商城P46 gulimall-gateway刷新验证码出现503错误
  6. 先试试这一招,再决定是否要撬开拉杆箱的密码锁——巧开密码锁
  7. Java实现生成并下载Excel文件
  8. php实现必应api提交
  9. 曙光服务器怎么修改启动项,简单易上手 戴尔T5500工作站BIOS全设置
  10. 滚动加载分辨率scrollTop小数问题