1.Introduction
提出了一个系统用以浏览和组织收集大型照片的热门网站,利用共同底层场景的三维几何。
系统处理大量由不同的相机在不同的条件下拍摄无组织的照片。
实现的功能:
- Section1
- 场景可视化
- 基于对象的照片的浏览
- 照片是在哪儿拍的(我在哪儿)
- 照片中可见的对象
- Section2
给出该方法的概述。
- Section3
相关的研究工作
- Section4
获取地理注册摄像机和场景信息的方法
- Secition5
照片探索界面与渲染技术
- Section6
导航工具
- Section7
注释转移能力
- Section8
给出结果
- Section9
讨论限制与未来的工作
2.System Overview
用相机姿态和稀疏的3D场景信息来创建浏览大量照片的新界面,重建的特征提供了一个稀疏但有效的三维可视化的场景,作用照片本身的背景。
3.Related work
3.1 Image-based modeling
sfm:从图像序列中恢复相机参数,姿态估计和稀疏的三维场景几何
- 初始化新的相机使用姿态估计,以帮助避免局部极小
- 一个不同的初发式选择初始的两个图像。
- 重建点添加到场景之前,检查是否处于良好的装态。
3.2 Image-based rendering
1.工作是从无组织的图像集合中自动创建影片的映射方法
2.图像是由不同的摄影师任意自动拍摄的
3.浏览特定的三维空间背景下的照片合集,以了解底层场景的几何形状
4.方法使用了近似平面的视图插值方法和背景结合的非真实感渲染
5.这样做的好处是可以对输入图像进行鲁棒性的操作
3.3 Image browsing, retrieval and annotation
本文提出的方法不需要GPS或其他的仪器,他的优点是适用于现有的图像数据库和互联网上的照片。
4.1 Keypoint detection and matching(关键点检测与匹配)
- 第一步:找出每一幅图中的关键点。使用SIFT的方法,其中sift有很多优点,诸如方向不变性等。
- 第二步:对于每一对匹配的图像使用最邻近法,匹配关键点。
- 第三步:对于每一匹配,使用RANSAC的方法鲁棒的估计基础矩阵。
- 第四步:删除与基础矩阵相异的匹配项。(如果剩余的匹配点,少于20对直接删除)
- 第五步:在找到每一对匹配图像的关键点后,组织一个轨迹(track),这个track关联了多幅图像的关键点。(如果一幅图像中出现了多个相同的关键点,那么这是相矛盾的,对于下一阶段的重建注意)
4.2 structure from motion
- 为上文提到的track恢复一组相机参数和3D位置。恢复后的参数应该是一致的,即重投影误差,将每条轨迹的投影与其对应的图像特征之间距离之和最小。
- sfm问题很容易陷入局部最小,因此初始化参数的给定很重要。本文提出的新方法是:不是一次估计所有的相机的参数和track,而是采用增量式的方法,一次增加一个相机。开始估计参数从一对匹配的相机开始,最初选择的这一对应该有很多的匹配点和很大基线,这样的3D点会有良好的状态。这其中有一个目的,没有读懂。
- 接下来在优化中再添加一个相机。我们选择观测到最多轨迹的相机,其三维位置已经被估计,并使用直接线性变换(DLT)初始化新相机的外部参数。
- DLT会给出一个估计的内参数矩阵K,这个内参数矩阵是一个上三角矩阵。用K和焦距(从EXIF获取)去初始新的相机。
- 将新相机观察到的轨迹添加到优化中。如果一个track被一个相机观测到,而且这个track能够用三角测量很好的计算出其位置,那么该track应该被添加。重复该步骤直到没有相机观察到能够重建的3D点。
- 为了增加鲁棒性和加速,对以上的描述做了一些改进,主要有这两点。一是:每次优化之后删除异常的轨迹,然后继续优化直到没有异常值,以此增加鲁棒性。二是:不是一次增加一个新的相机,而是一次增加多个。具体方法是:第一对具有最大匹配的点对有M,接下来增加满足>0.75M的相机。
4.3 Geo-registration
- SfM程序估计相对的摄像机位置。位置估计过程的最后一步是将模型与地理参考图像或地图(如卫星图像、平面图或数字高程地图)对齐,以确定每个相机的绝对地心坐标。
4.3.1 Aligning to Digital Elevation Maps
4.4 Scene representation
5 Photo explorer rendering
后面的文章由于现在还使用不到,因此没有详细的整理,欢迎批评指正。