Introduction
就题目来看,presentation代表3d数据的表达,而recognition和scene interpretation代表3d数据的应用。就introduction章节来看,大的方面包含两个方向的内容,scene和recognition。scene包括spatial layout、occlusion boundaries、object pose、shadows、light sources等小子块的应用,而recognition就包括物体的3d表示,对其进行建模。全书分为三个part(均是从单幅图片出发)。
part1 对单一图片进行场景建模
part2 从单一图片对其内的物体进行3d建模,并进行识别
part3 将3d物体及场景进行融合,主要提供例子
PART I
Interpretation of Physical Sapce from an Image
第一部分包含第二章到第六章,第二章主要是关于场景理解的以往的理论及现有的方法。
CHAPTER 2
Background on 3D Scene Models
Theories of Vision
首先介绍了几种人类为什么能从二维图像感受到三维信息的理论。第一种,Wheatstone认为,是因为一个三维物体投影到视网膜上的影响不同。第二种,Helmholtz认为,我们之所以能感受到三维信息不仅是因为直接的感官刺激,还包括我们的关于这个世界的视觉经验,比如我们看到物体的影子、折射、以及与我们观察物体相似的物体。第三种,Gibson认为我们看到这个世界是因为一系列的物理表面;这个表面分为两种极端情况,正面朝向我们和纵向的深度面(即一个面与我们的视线方向相同);我们感受到深度和距离主要是纵向的深度面在起作用,即这个面的纵向程度。
Depth and Surface Perception
人是如何估计深度和面的方向呢,尽管存在很大的分歧与争论, 但是有三点还是达成共识的:第一,单眼信息提供了我们大部分感知深度和布局的能力;第二,我们对于布局的理解和表达很大程度上是建立在面的基础上,而不是深度度量的基础上;第三,很多场景理解建立在视角的基础上。(比如对于一个我们以前见过的场景,我们能够很快在里边找到目标物体,如果对它加上一定的角度旋转我们就不能够快速的找到目标物体)就比如说这幅图片,视角颠倒后,对图片的理解也发生了变化。
A Well-Organized Scene
有了上述的认识,那么如何构建符合人类理解的场景呢?Irving Biederman提出了一个好的场景应该满足5个条件:支撑关系、相对位置、出现的概率、位置、大小。
在这个例子中,左边的消防栓不应该出现在邮箱上,不满足支撑关系;第二幅图中手提箱和人的腿出现了重叠不满足相对位置关系;第三幅图中空中不应该出现沙发,不满足支撑、大小、出现的概率。但是第三种情况人们更偏向与记住违背现实、常识的情况,因此第三种情况更容易被记住。
题外话:那个时代的researcher由于没有大数据,没有高性能的cpu,researcher更多的发掘2D图像中蕴含的3D信息,而现在有了高性能的计算以及大数据,图像更容易被当成一种数据来处理,而不再把它看做是3D场景的投影。
总结:第二章介绍了人为什么能够感知三维信息的理论,如人如何感知深度及面的朝向和一个场景的合理性,最后介绍了计算机视觉的发展状况。
CHAPTER 3 Single-View Geometry
Consequences of Projection
我们常见的照片属于透视投影,透视投影带来的两个结果第一就是灭点和vanishing line,地平线的消失线叫地平线。透视投影带来的另一个结果就是遮挡。
Perspective Projection with Pinhole Camera: 3D to 2D
3d到2d的投影,我们一般采用针孔模型,如下图为为了方便起见,一般假设图像平面在针孔的前面。在相机坐标系中,有了X,Y,Z如何求它在相机中的投影呢,根据下述公式可求。其中,K代表相机内部参数,而R,t代表旋转矩阵与平移矩阵,是将物体的世界坐标系变换到视角坐标系(R,t),再变换到相机坐标系(K)。如果物体的坐标定义根据视角坐标系,则转换公式为:
3D Measurement from a 2D Image
理论上,无数种3D结构可以根据2D的图片估计出来,但是很多估计出来的结构不符合我们对于现实的理解。例如在这幅图片中,左上角的图像为原图,有三种对于这幅图像的3D还原,很明显第一种和第二种不符合常理,第三种的3D结构符合我们对于世界结构的理解。
3D到2D投影的另一个问题就是图像中物体的长度或者高度在现实中的长度或者高度是多少,即如何度量的问题。其中的一种方法就是交比不变性(cross ratio invariant)比如在3D世界中四个共线的点的比投影到2D后是不变的。
这幅图更能说明问题,假如我们取其中的一点为无穷远,那么带有无穷远的两项可以互相抵消,即上图右上角的第一个式子。它的在图片中的投影即上图右下角的式子,如果摄像机垂直不倾斜的话,那么它在垂直方向上的灭点在无穷远,因此Vz为无穷远,因此|| t-b || / || r-b || = H / R因此如果已知H的话可以估计R或者已知R估计H。
Automatic Estimation of Vanishing Points
考虑这样一种情况,a,b是图片中的两条直线他们在3D空间中平行,但是相交于一点,且与平面P平行,加入我们能找到他们相交的点及灭点,我们就可以根据面P的方向判断线条a,b的方向。这是灭点一方面的应用。同时任意三组相互正交的灭点可以估计相机的内部参数(焦距、光心)。因此求灭点是透视投影中的一个问题。
总结:第三章主要是讲透视投影的所带来的结果,3D到2D的坐标变换,物体长度测量以及求灭点的一些方法。
CHAPTER 4 Modeling the Physical Scene
所有的对于现实场景的建模都是错误的,但是有些是有用的,我们可以认为世界就是由一系列的架构、结构组成的,我们就是要找到尽可能多的,适合的对场景的架构表示,以及从图片中提取这些架构的方法。
Elements of Physical Scene Understanding
我们可以假设世界是由一系列的事物(物体)和材料(原料)组成的。事物是可数的,可移动的,比如说椅子、电脑。材料是一种不定形的,不可数的,比如说沙子、水、大地等。对于3D场景的理解就是对于图片中一系列的事物和材料的翻译。
Elements
具体来说,可以将构成物理场景的元素划分为以下几类:面、物体、质地、边界、连接、光源、阴影。
面就是物体的面,它可以用几何、质地、种类来表示,如走廊这个面是硬质的、粗糙的,水平的,矩形的。
物体就是现实世界中的物体,可以用他们的面、形状、功能、姿势等来描述。
质地就是物体的属性比如硬质的、粗糙的、折射率、反射率等。
边界比较简单就是物体深度、朝向、面不连续的地方。
连接就是两个边界连接的地方。
光源对物体影响很大,它的位置强度的变化都会引起物体表观的变化。
阴影可以用来帮助场景理解或者造成误解,关键就在于我们是否建模的时候是否考虑阴影。
Physical Interactions
对于场景理解,将它分解成面、物体是不够的,还需要理解他们之间的关系比如:支撑、接触、遮挡、包含等。现阶段,中层理解的问题还没有被结局,比如:场景空间,物体的姿态等还没有被解决,可以在这个问题上做功课。
Representation of Scene Space
这里作者将3D场景的表示分为四个大类: Scene-level geometric descriptions,rentinotopic maps, highly structured 3D models and loosely structured 3D models。
Scene-level Geometric Description
定义一系列能够整体描述场景的空间布局的种类和属性,比如一个主持人坐在桌子前播音的场景,我们可以定义类似的很多场景,将一副新图片分配到这个场景中。
Retinotopic Maps
主要根据人眼和图像传感器给予图像不同标签,比如depth map, 3D orientation map。
Highly Structured 3D Models
Ground Plane Model
这是最简单但是也是最有用的模型,主要描述地平面以及它所支撑的物体。它在街景中非常有用,但是在丘陵地带,以及物体并不是直接在大地表面的情况适用性不是太好,比如说一个在桌子上的瓶子和在桌子上的猫。Ground Plane Model主要对物体位置和相互关系进行描述,对于场景本身的布局并没有很好的描述。
Billboard Model, or Ground Plane with Walls
是对Ground Plane Model的一种扩展,在其上加上垂直的面。这样它就可以对很多场景进行描述比如:沙滩、街景、房间等。同样与Ground Plane Model相同,不能够很好的描述丘陵以及密集的室内场景。
3D Box Model
他是Ground Plane with Walls的一种特殊情况。简单来说就是用box来表示场景,它主要用来描述室内场景,地板、墙壁、天花板当做box的面。它的优点就是它只需要很少的参数,所以可以被用在拥挤的房间内。
Loosely Structured Models:3D Point Clounds and Meshes
顾名思义就是3D 点云它的有点就是可以用在各个场景。缺点就是对于抽象的高层的场景不能很好的理解。比如它不能够在点云上描述哪个面支撑着一个咖啡杯。