From PhDTheses Multi-View 3D Reconstruction with Geometry and Shading


计算机视觉的主要任务就是利用图像信息能智能理解周围的世界。

图像是传感器感知三维物体或场景的表面而产生的二维结果。而我们的目标是推测最能解释这些图像的物体的原始形状,是图像传感器工作过程的逆过程,换句话说,相机将三维世界转换到二维空间,而计算机视觉则要从二维空间图像获取物体或场景的三维信息。

由于种种因素,这是一个病态方程的求解。

第一,物体透射投影到图像的过程使得其原始三维场景失真,从而导致从单张图重构三维物体的原始结构变得不可能,除非是对简单的已知形状的物体,而这又是相当于添加了先验知识对物体结构的约束,并不适用大多数场合。

第二,多个物体同时排列出现在物体和相机的视场线上,也就是我们常说的遮挡,破坏了对我们最终理解物体和场景有价值的信息的获取过程。

类似于人类的视觉系统利用两只眼睛获取的信息来理解周围的世界,为了更好地实现重建并消除理解过程中的歧义,我们常常可以利用从不同视角同时拍摄到的多幅图像。最简单的方式就是利用我们常说的双目立体重建,通过分析两张图像来估计待构建的场景。相机的偏移以及我们两眼间的距离,可以让我们通过对射线在一张图像上形成的点与在另外一张图像上形成的与之对应的点之间的三角化推测出场景的三维位置。

显然,当我们利用多于两张关于场景的图像进行重建时,不仅能通过同时三角化多条射线来提高重建的精确度,还能通过核对冗余观察的一致性改善重建的完整度。这一过程就是我们所说的术语“多视图立体重建”。继续刚才与人类视觉系统的对比,尽管我们只有两只眼睛,但我们的脑袋是可以动的,能有效获得不止两张图像让我们的大脑去感知整个场景(虽然不是同步获取),这就有助于我们清除误解,使我们对世界的感知更加清晰明确。

除了立体视觉,人类视觉系统同时还会利用其它被动信息感知深度。我们暂时不管大脑中主动通过语义理解和先验知识解释得到的信息,例如经验会告诉我们,汽车在路面上行驶,并且限制它们的形状和尺寸,因为它们是我们已知的汽车。另外一个与立体重建互补的具体的有用信息是明暗信息。明暗信息是由于物体的形状、物体表面材料的性质以及照射在物体表面上的光的联合相互作用而产生,其中表面材料的性质指的是它的颜色和它反射光线的方式。明暗信息是帮助我们理解我们所生活的世界的最有力的线索之一。

基于光线的重建方法如阴影恢复形状(Shape from Shading, SfS)试图通过渲染过程的逆过程进行,从明暗信息中推导能解释它所展示出来的表现形式的物体的性质。考虑到颜色会影响物体的外表,基于明暗信息的重建方法在有纹理区域遇到了严惩的问题,因为将观测到的亮度分解成颜色和深度的过程会遇到歧义性问题。而另一方面,多视图立体严重依赖物体表面丰富的与众不同的纹理,因为这使得对同一个三维点在不同二维图像上的对应点的匹配更加容易、更加精确,且对于连续的三角化以及深度信息的提取也很有利。

相反,图像中弱纹理或者无纹理区域,也即是大片均匀由相同材料构成具有相同性质的区域,对立体重建而言是一个严重的问题,因为这样的区域特征匹配难度很大,尤其对于严重依赖特征点性质而进行的三角化过程,而与此同时这些区域又是基于明暗信息的重建方法大展身手的绝好应用场合。

综合考虑两种不同方法的优点和缺点,很自然地结合多视图立体和明暗信息以提高三维重建质量的重建方法就成为近期人们研究的热点。

Multi-View 3D Reconstruction with Geometry and Shading——Part-1的更多相关文章

  1. Multi-View 3D Reconstruction with Geometry and Shading——Part-2

    From PhDTheses Multi-View 3D Reconstruction with Geometry and Shading 我们的主要目标是只利用图像中的信息而没有额外的限制或假设来得 ...

  2. [SLAM] 02. Some basic algorithms of 3D reconstruction

    链接:http://www.zhihu.com/question/29885222/answer/100043031 三维重建 3D reconstruction的一个算法思路介绍,帮助理解 首先一切 ...

  3. Real-time 3D Reconstruction using Kinect

    http://jiakaizhang.com/project/real-time-3d-reconstruction/ Real-time 3D Reconstruction using Kinect ...

  4. Camera Calibration and 3D Reconstruction

    3D RECONSTRUCTION WITH OPENCV AND POINT CLOUD LIBRARY http://stackoverflow.com/questions/19205557/op ...

  5. Wordpress Calendar Event Multi View < 1.4.01 反射型xss漏洞(CVE-2021-24498)

    简介 WordPress是Wordpress基金会的一套使用PHP语言开发的博客平台.该平台支持在PHP和MySQL的服务器上架设个人博客网站.WordPress 插件是WordPress开源的一个应 ...

  6. [SLAM] 02 Some algorithms of 3D reconstruction

    链接:http://www.zhihu.com/question/29885222/answer/100043031 首先一切建立在相机模型 x = kPX 上   x,X分别代表图片和空间中的二维三 ...

  7. [读论文]Shading-aware multi view stereo

    如何实现refine的? 几何误差和阴影误差如何加到一起? 为了解决什么问题? 弱纹理或无纹理:单纯的多视图立体算法在物体表面弱纹理或者无纹理区域重建完整度不够高,精度也不够高,因此结合阴影恢复形状来 ...

  8. GeoDesc: Learning Local Descriptors by Integrating Geometry Constraints

    这篇论文提出了一种新的局部描述子学习方法,有一些点值得学习,记录下来以供参考.文章中涉及了一些3D reconstruction.structure from 的知识,不是很了解,所以理解可能有偏颇. ...

  9. Pushing state-of-the-art in 3D content understanding

    Pushing state-of-the-art in 3D content understanding 2019-10-31 06:34:08 This blog is copied from: h ...

随机推荐

  1. 零基础学Python--------第11章 使用Python操作数据库

    第11章 使用Python操作数据库 11.1 数据库编程接口 在项目开发中,数据库应用必不可少.虽然数据库的种类有很多,如SQLite.MySQL.Oracle等,但是它们的功能基本都是一样的,为了 ...

  2. python函数练习题

       

  3. 关于视频断点续播和H5的本地存储

    前段时间,需要在下实现一个视频的断点续播功能,呃,我不会呀,这就很尴尬了.然后呢,在下就想起了一个叫做localStorage的东西.这是个什么东西呢?在网上查阅了一些资料后,在下发现这是webSto ...

  4. 第八课 表格 html5学习3

    表格用来处理表格式数据的,不是用来布局的. 一.基本语法格式 <table> <tr> 行标签 <td></td> 单元格标签 </tr> ...

  5. Openlayers系列(一)关于地图投影相关错误的解决方案

    背景 近期开发以MongoDB为基础的分布式地理数据管理平台系统,被要求做一个简单的demo给客户进行演示.于是笔者便打算向数据库中存储一部分瓦片数据,写一个简单的存取服务器,使用Openlayers ...

  6. 【Android】用Cubism 2制作自己的Live2D——官方App样例源码学习(3)!

    ---恢复内容开始--- 前言- 虽然上文说的是model的绘制但是这个说法并不严谨,之前的几个例子都会有模型文件的读入和载入,可是在LAppRenderer.LAppView中并没有.moc等文件的 ...

  7. 安卓5.0系统怎么无Root激活XPOSED框架的方法

    在大多团队的引流或业务操作中,基本上都需要使用安卓的强大Xposed框架,几天前,我们团队买来了一批新的安卓5.0系统,基本上都都是基于7.0以上系统,基本上都不能够获得Root的su权限,纵然一些能 ...

  8. Python第十五天 datetime模块 time模块 thread模块 threading模块 Queue队列模块 multiprocessing模块 paramiko模块 fabric模块

    Python第十五天  datetime模块 time模块   thread模块  threading模块  Queue队列模块  multiprocessing模块  paramiko模块  fab ...

  9. SQLServer之创建Transact-SQL游标

    什么是游标 结果集,结果集就是select查询之后返回的所有行数据的集合. 游标则是处理结果集的一种机制吧,它可以定位到结果集中的某一行,多数据进行读写,也可以移动游标定位到你所需要的行中进行操作数据 ...

  10. WinForm 双向数据绑定

    程序目标: 控件的属性值与对象的属性值双向绑定使窗口控件的属性值与对象的属性值保持一致.对窗口控件属性值更改后立即更新对象的属性值,对对象的属性值更改后立即更新窗口控件的属性值. 程序完整代码包:ht ...