项目地址:http://phototour.cs.washington.edu/

Photo Tourism是华盛顿大学的SFM重建的过程

Paper:Photo Tourism: Exploring Photo Collections in 3D

文章提出的方法如下:

(1)提取SIFT特征点

(2)每两幅图像之间进行SIFT特征点进行匹配; 匹配过程中首先采用了KD-TREE的方法对最近邻的特征点进行匹配,然后采用了多视角几何进行限制。值得注意的是多视角的几何限制,在多视角的图像匹配中经常出现(Geometry constriant)。

在两视角的几何中,对应点应该满足方程 pFp'=0,其中F是本征矩阵。本征矩阵有7个独立参数。这7个独立参数是什么?估计F的方法常用的有5点法和8点法。8点法的原理还没有弄明就是利用线性变换法的原理进行求解。

    本文中采用了RANSAC的方法进行对F进行估计,每一步迭代的过程中,利用8点法进行求解。

    估计出本征矩阵的目的是为了对之前求得的匹配进行约束,得到的匹配成为几何一致匹配,不同图像上的几何一致匹配形成了一个TRACK(其实就是一个空间点在不同的图像上的投影点之间的匹配)

   (3)选取两张图像进行重建。选取图像的标准是,匹配的特征点要足够多,但同时BASELINE要足够大。为此,先采用RANSAC求得两两图像之间的HOMEGRAPHY,得到内点,选取内点数最少,但又不少于100个的图像对作为原始输入。个人觉得这样做主要是为了防止两幅图像的视角过于接近,防止出现退化情况。

得到了原始图像后,采用5点法求出两幅图像相对的外参数以及相机的内参数,然后采用BUNDLER AJUSTMENT进行优化,值得注意的是BUNDLER AJUSTMENT优化的思想贯穿于整个重建过程中。

根据得到的参数以及两幅图像的匹配关系求出空间点坐标。注意,图像上的点和空间点是一对多的关系,因此至少需要两幅图像才能求出空间点的坐标。

(4)添加其他的图片,要求是图像含有与重建出三维点的匹配最多。这样就成了已知三维点机器二维图像上的对应点,标定相近内外参数的问题。

首先采用KLT方法,对相机的内外参数进行初始之估计,然后采用BUNDLER AJUSTMENT进行优化。注意BUNDLER AJUSTMENT不是全局最优解,因此需要KLT提供可靠的参数初始值以避免局部最优化。

(5)将该图像上其他的,而且是已经重建过的图像上也有的特征点添加到重建过程中进行重建。重建结束后进行一个全局的BUNDLER AJUSTMENT。

也就是著名的三维重建项目Bundler_sfm

Bundler_sfm地址:http://www.cs.cornell.edu/~snavely/bundler/

三维重建项目:Photo Tourism: Exploring Photo Collections in 3D的更多相关文章

  1. Learning part-based templates from large collections of 3D shapse CorrsTmplt Kim 代码调试

    平台: VMware上装的Ubuntu-15.10 环境准备工作:装Fortran, lapack, blas, cblas (理论上装好lapack后面两个应该是自动的),其他的有需要的随时安装就可 ...

  2. {Reship}{Code}{CV}

    UIUC的Jia-Bin Huang同学收集了很多计算机视觉方面的代码,链接如下: https://netfiles.uiuc.edu/jbhuang1/www/resources/vision/in ...

  3. UIUC同学Jia-Bin Huang收集的计算机视觉代码合集

    转自:http://blog.sina.com.cn/s/blog_631a4cc40100wrvz.html   UIUC的Jia-Bin Huang同学收集了很多计算机视觉方面的代码,链接如下: ...

  4. 计算机视觉与模式识别代码合集第二版three

    计算机视觉与模式识别代码合集第二版three     Topic Name Reference code Optical Flow Horn and Schunck's Optical Flow   ...

  5. CV code references

    转:http://www.sigvc.org/bbs/thread-72-1-1.html 一.特征提取Feature Extraction:   SIFT [1] [Demo program][SI ...

  6. [ZZ] UIUC同学Jia-Bin Huang收集的计算机视觉代码合集

    UIUC同学Jia-Bin Huang收集的计算机视觉代码合集 http://blog.sina.com.cn/s/blog_4a1853330100zwgm.htmlv UIUC的Jia-Bin H ...

  7. Computer Vision Resources

    Computer Vision Resources Softwares Topic Resources References Feature Extraction SIFT [1] [Demo pro ...

  8. CV codes代码分类整理合集 《转》

    from:http://www.sigvc.org/bbs/thread-72-1-1.html 一.特征提取Feature Extraction:   SIFT [1] [Demo program] ...

  9. Positioning-Based Photo Retrieval

    MMAI 2015 FINAL PROJECT   To Know Where We Are: Positioning-based Photo Retrieval   2015/12/16 Updat ...

随机推荐

  1. 【能力提升】SQL Server常见问题介绍及高速解决建议

    前言 本文旨在帮助SQL Server数据库的使用人员了解常见的问题.及高速解决这些问题.这些问题是数据库的常规管理问题,对于非常多对数据库没有深入了解的朋友提供一个大概的常见问题框架. 以下一些问题 ...

  2. spring boot配置文件application.propertis

    转自http://www.qiyadeng.com/post/spring-boot-application-properties 本文记录Spring Boot application.proper ...

  3. Apache HTTP Server 与 Tomcat 的三种连接方式介绍

    本文转载自IBM developer 首先我们先介绍一下为什么要让 Apache 与 Tomcat 之间进行连接.事实上 Tomcat 本身已经提供了 HTTP 服务,该服务默认的端口是 8080,装 ...

  4. RewriteCond和13个mod_rewrite应用举例Apache伪静态

    1.给子域名加www标记 RewriteCond %{HTTP_HOST} ^([a-z.]+)?example\.com$ [NC] RewriteCond %{HTTP_HOST} !^www\. ...

  5. Android自定义字体

    1.在assets中创建文件夹fonts,放入字体文件.ttf 2.使用实例: TextView tv= (TextView)findViewById(R.id.tv); Typeface tf =  ...

  6. CSS-禁用a标签

    <style> a.disabled { pointer-events: none; filter: alpha(opacity=50); /*IE滤镜,透明度50%*/ -moz-opa ...

  7. 三.jquery.datatables.js表格编辑与删除

    1.为了使用如图效果(即将按钮放入行内http://www.datatables.net/examples/ajax/null_data_source.html) 采用了另一个数据格式 2.后台php ...

  8. 【线程】Volatile关键字

    Volatile变量具有 synchronized 的可见性特性,但是不具备原子特性.这就是说线程能够自动发现 volatile变量的最新值.Volatile变量可用于提供线程安全,但是只能应用于非常 ...

  9. Linux 下如何安装 .rpm 文件

    执行以下命令安装: rpm -i your-file-name.rpm 详细的可参考: http://os.51cto.com/art/201001/177866.htm

  10. Elasticsearch学习之多种查询方式

    1. query string search 搜索全部商品:GET /ecommerce/product/_search took:耗费了几毫秒 timed_out:是否超时,这里是没有 _shard ...