计算机视觉 09 Structure from Motion
Structure from Motion
输入:多张照片
输出:相机的参数以及位置和场景的3D模型
Structure from Motion vs Calibration & Triangulation
Calibration:
输入:从 3D 到 2D 的点对
输出:相机参数
Triangulation:
输入:相机的参数和2D点对
输出:3D点
Structure from Motion
输入:2D到2D的点对
输出:3D点以及相机参数
Structure from Motion: Problem formulation(问题设置)
输入:n 个固定 3D 点的 m 个图像(忽略可见性),使得:Pi是第i个相机的参数,Xj是3D其次坐标,二者均为未知。Xij是第i张图片的投影点
输出:估计 m 个投影矩阵 Pi 和 n 个 3D 点 Xj 来自 mn 对应关系Xij
The Ambiguity of Structure from Motion
SFM有歧义性是不可解的,因此必须加以约束才可解出唯一值,否则会得到一族解。例如下图对同 ...
计算机视觉 08 Two-View Stereo
Two-View Stereo
输入:具有已知摄像机矩阵的stereo对(已校准)
输出:密集深度图
Basic Stereo Matching Algorithm
使用一对校准的相机,我们可以通过以下方式重建 3D:Correspondence + Triangulation
具体流程:对左图中的每一个像素
在右侧图像中找到相应的极线
检查极线上的所有像素点并选择最佳匹配
对匹配点进行三角测量(Triangulate)以获取深度信息
A Simple Stereo System
最简单的情况:极线 = 相应的扫描线
相机的图像平面彼此平行并平行于baseline
相机中心位于同一高度
焦距相同
然后极线沿着图像的水平扫描线落下
The Essential Matrix for Simple Stereo
Epipolar constraint for simple stereo:
对应点的 v 坐标是相同的
A General Stereo System
对于一般的stereo系统,图像平面通常不平行
我们可以使用fundamenta ...
计算机视觉 07 Epipolar Geometry
Two-View Stereo(双视图立体)
用两个相机解决单一视角的模糊性:Stereo: use 2 calibrated cameras in different views and correspondences
Typical 3D Reconstruction Pipeline
Review: Camera Calibration with a Single Camera
两台相机的设置能否提供更多校准功能?
Camera Calibration 所需:
需要校准板
准确定位消失点很棘手,并且至少需要两个有限的消失点
Review: Triangulation
问题设置:给定一个 3D 点在两个或多个图像(具有已知相机矩阵)中的投影,找到该点的坐标
两台相机的设置能否为 3D 估计提供更多功能?
Two-view Stereo: Key Idea
考虑相机中心和视觉光线到另一个视图中的投影,而无需明确的 3D 推理
可以校准两台相机
可以找到约束条件,以便更轻松地对应和 3D 重建
如下图:对应的点在固定的线上
Epipolar Geom ...
可视计算与交互概论 test2复习笔记
考试加油鸭!!!
可视计算与交互概论 notes整理第15-17章
第十五章 全局光照
渲染管线主要形式:
光栅化:高效、易行,但却牺牲了渲染质量,难以处理软阴影、镜面反射、间接光照等全局现象
光线追踪:法善于解决上述困难,而其代价则是渲染时间的成倍提升
光线投射
在渲染一幅画面的过程中,屏幕上任意一个点所对应的颜色应该来自于场景中的哪一个物体?从人眼 (摄像机) 向屏幕上的点连一条射线,该射线在场景中击中的第一个物体将决定该点的颜色
发出射线、击中物体的过程,也就是所谓的光线投射。算法流程:
对于每一个像素点 (x, y),从观察者的眼睛发出一条穿过 (x, y) 的光线
找出这条光线与场景中的物体第一次发生相交的位置
将这个交点与每一个光源相连,分别形成一根 shadow ray(这根光线也可能被障碍物遮挡)
通过 shadow ray 和我们一开始发出的光线,我们得到了入射方向和出射方向,结合交点的几何信息,我们也已知了法线方向,从而可以运用之前介绍过的着色模型计算出交点的颜色
将算出的颜色作为像素点 (x, y) 的颜色写入
利用光线投射法来渲染场景的伪代码:
1234567891011121314151617181920 ...
计算机视觉 06 3D Vision and Camera Calibration
3D VisionSingle-view Ambiguity(单一视角的歧义性)
3D Vision:从图片中重建三维结构
关键问题:单一视角的歧义性。给定一个相机和一个图像,许多 3D 点可能会投影到同一个 2D 像素
单一视角的模糊性使得投影具有歧义性,产生投影错觉
Resolve Single-view Ambiguity
F1:从传感器中射出光(激光、结构光等)
F2:双目立体视觉:使用 2 个不同视图和对应关系的校准相机。拍两张照片,类似于双目视差进行校准
F3:多视图几何图形:移动相机并查找对应关系以求解 X,拍摄多张照片用SIFTfeature来求解
F4:Shape from Shading(三维明暗重建三维):固定相机,并使用在不同阴影下拍摄的照片重建几何图形
F5:从数据中学习:训练神经网络以预测 3D 信息。用神经网络估计深度解释歧义性
Camera Calibration(相机校准)
核心:找匹配点
Review: Camera Parameters
Camera calibration
任务描述:Given 𝑛 ...
计算机视觉 05 Image Stitching
Panorama(全景图)
全景图的构建方法:
提取特征点
特征匹配
求解变换
混合图像
Review: Image Transformations
Image filtering: change the range of images
Image warping: change the domain of images(对定义域变换)
Examples of Global Image Warping:
Transformation with Homogeneous Coordinates
其次坐标与欧式空间坐标的转换:
线性变换加平移:有6个自由度
我们得到没有齐次坐标的变换:x’ = Ax + b。其中A = {a,b,c,d},b = {c,f}.T
Examples of Transformations:
Solve Transformations (#1)
给定对应关系:[x’i,y’i] ↔ [xi,yi],则可依照上述理论建立:
此式等价于下面的式子:(将其拉长所得)
求解变换就是求解 ...
计算机视觉 04 Feature Detection
Edge Detection
Edge Detection: Identify sudden changes (discontinuities) in an image
可以用导数来描述”sudden changes”
Partial Derivative
导数:函数 f(x) 沿某个方向在某一点上变化的速率;梯度:所有偏导数堆叠在一起而形成
图像的偏导数(图像可以描述为2D function f(x,y)):
图像的偏导数可以用图像的滤波来计算:水平竖直方向分别用滤波卷积计算
每一个方向先前向差分再归一化,水平、竖直方向拼起来形成梯度
Noise Severely Affects Derivatives of an Image:求梯度的时候噪音的梯度被放大,主导图像的梯度
解决办法:先对图像做平滑处理,可以先对图像用高斯滤波,然后再进行边缘检测求梯度。经过数学推导改变偏导顺序可以把这个过程变为:
先对高斯求偏导
再对函数进行滤波求梯度
最后归一化
The gradient direction is given by:
The edg ...
计算机视觉 03 Image Processing
Image Processing
An Image as a 2D Function:可以是离散,也可以作为2维(黑白)、3维(彩色)函数
图像:
Range: 𝐼 𝑥, 𝑦 ∈ 0, 255 ∈ ℤ
Domain: 𝑥, 𝑦 ∈ 1, 𝑤𝑖𝑑𝑡ℎ , 1, ℎ𝑒𝑖𝑔ℎ𝑡
Color Image: 𝐼(𝑥, 𝑦, 𝑐)
Pixel (Point) Processing
Darkening v.s. Contrast
明暗:所有像素变量或变暗,相对差异保持不变(通过+、-)
对比度:相对差异改变(*、/)
Histogram Equalization(直方图均衡化)
调成均匀分布则图像会更均匀
具体操作:对直方图压缩y轴至0-1,找出概率分布,再根据概率分布将y轴拉长至0-250。
Image Filtering
Image Filtering用于图像邻域处理
Linear Filters
𝐼 𝑖,𝑗 : 𝑤 × ℎ digital image;ℎ 𝑢, 𝑣 : 𝑚 × 𝑛 “filter” o ...
计算机视觉 02 Image Formation
CameraBiuld a camera with a sensor
物体会向传感器的各个位置传光,导致传感器各个位置接收到物体各个位置传来的光,最后的成像模糊不清
Pinhole Camera(小孔成像)
大部分的光被阻隔,使得每个图像点对应传感器上的一个像素点
小孔成像呈现倒立的像
小孔成像的数学模型:数学上为了方便,将所成的像沿小孔对称使其与物体在同一侧,从而可以根据相似关系求解
Coordinate Frames(重点)
世界坐标 -> 相机坐标(以相机为原点) -> 图像坐标 -> 像素坐标
相机矩阵:建立了从三维到二维的投影关系。成像的过程就是三维空间坐标到二维图像坐标的变化,是一个投影的过程
用[xw yw zw]来表示一个空间点的坐标,用[x y]来表示对应于成像平面上的一个图像点的坐标(不是像素坐标),那么这两个点肯定是有一种变换关系联系起来的,把这个变换关系记为P:
Camera Parameters
图像坐标系:以图像左上角为原点建立以像素为单位的直接坐标系u-v。像素的横坐标u与纵坐标v分别是在其图像数组中所在 ...