Py学习  »  机器学习算法

深度估计相关原理(计算机视觉和深度学习基础)

新机器视觉 • 2 年前 • 236 次点击  

点击下方卡片,关注“新机器视觉”公众号

视觉/图像重磅干货,第一时间送达

编者荐语

 

今天来和大家介绍一下深度估计涉及到的理论知识点,包括计算机视觉基础和深度学习基础。

转载自丨3D视觉工坊


一、计算机视觉基础

1.1. 针孔相机模型


相机模型,是指采用一个几何模型来描述三维世界中的坐标点映射到二维图像平面的过程。其中,最简单的模型就是针孔相机模型。
针孔相机模型中一共涉及到四个坐标系,分别为世界坐标系(world),相机坐标系(camera),图像坐标系(image)和像素坐标系(pixel)。相机模型描述的就是四个坐标系中间的转换关系。
为了获得更好的成像结果,相机前方加了透镜,透镜的加入会对成像过程中光线的传播产生新的影响,这种影响我们称之为畸变。结合畸变的纠正,我们就可以找到相机坐标系中某点在像素平面上的正确位置。


1.2. 对极几何


对极几何是研究立体视觉中重要的理论,描述了两张图片之间存在的几何对应关系。
本质矩阵和基本矩阵就反映了两个视图的对极几何约束。如果知道一副图像中的某个点和基本矩阵,就能求得另一张图像上的对应点所在的对极线,这样就约束了两视角下图像中的空间位置关系。
我们可以将左右相机的坐标系旋转至在同一平面(共面),并计算视差图。
根据视差,我们就可以估计像素与相机之间的距离,也就是深度。


1.3. 图像重构原理


图像重构是图像领域的重要应用,也是3D视觉中重要的一个知识点。在基于深度学习的深度估计方法中,会采用图像重构损失来作为其中的约束条件,如自监督学习方法。常见的方法有两种,前向warping和反向warping。
正向Warping
反向Warping

二、深度学习基础

2.1. 相关网络模型


在深度估计中,常用的网络模型有ResNet、UNet和Autoencoder。ResNet的思想,是使用恒等映射直接将前一层传到更深的网络层。
UNet是深度估计中一个比较常用的网络结构,包括下采样和上采样过程。
Autoencoder可以用来提取图像的特征,其训练方式是无监督的。


2.2. 深度估计中的损失函数


损失函数是深度学习中的重要环节,如何设计或选择合适的损失函数,是深度学习的关键。深度估计中,比较常见的损失函数有:
1)用于计算图像重构误差 / 图像相似度
2)用于计算像素梯度的平滑度
3)交叉熵损失函数,用于有监督学习


2.3. 深度估计的评价指标


深度估计的评价指标有很多,比如AbsRel、SqRel、RMSE等等。

—版权声明—

仅用于学术分享,版权属于原作者。

若有侵权,请联系微信号:yiyang-sy 删除或修改!


—THE END—
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/124153
 
236 次点击