当前位置:网站首页>深度学习之三维重建
深度学习之三维重建
2022-07-03 15:37:00 【算法之名】
基于MVS的三维重建基础
三维信息表示方法
一般分为深度图/视差图、点云、网格。它们都是表达3D信息的一种方式,会根据实际应用场景不同来选取不同的方式来表示。比如说做一些背景序化、人脸特效就可以只使用深度图就可以了;而如果我们要重建一个大型场景,如博物馆什么的,需要将其显示出来供大家浏览,可以使用网格来表示;而做定位的时候,我们只需要用点云就可以了。但是如果我们要制作点云或者网格,都必须要使用深度图,这一步是必须要经历的。有了深度图才可能得到点云或者是三维的网格。
- 深度图/视差图
- 深度图:场景中每个点到相机的距离;
- 视差图:同一个场景在两个相机下成像的像素的位置偏差dis
- 两者关系:depth=bf/dis
- 是三维信息的常用表示方式

在上图中,Ol和Or是两个相机,我们一般称为双目相机,它们之间的距离称为基线(Baseline)。空间的一个点P,它到基线的距离Z称为深度。上图中的两条红线分别是两个相机不同的成像。p点和p'分别是点P在Ol和Or相机成像中的点。视差d等于同名点对在左视图的列坐标减去在右视图上的列坐标,是像素单位
![]()

上图就是双目摄像机拍摄的照片,电动车后视镜的视差就为80-35=45.
立体视觉里,视差概念在基线校正后的像对里使用。也就是说两个相机是校正好的,平行的,都是朝前去拍摄物体的,此时才能使用视差图。一般来说我们使用的都是深度图,视差图更容易拍摄,然后转换成深度图。视差的单位是像素,深度的单位是毫米(mm),转换公式为depth=bf/dis,这里b为双目相机的基线距离,这个是已知的,f表示归一化的焦距,也就是内参中的fx,这个也是已知的,dis就是视差值。
- 三维点云
- 三维点云是某个坐标系下的点的数据集
- 包含了丰富的信息,包括三维坐标XYZ,颜色RGB等信息
三维点云其实就是数据,它可以不展示给人类直观的观看。
- 三维网格
- 由物体的邻接点云构成的多边形组成。
- 通常由三角形、四边形或者其他的简单凸多边形组成。

从上图可以看出,三维网格是点云的一种展现形式,它一般是不带颜色信息的。
- 纹理贴图模型
- 带有颜色信息的三维网格模型
- 所有颜色信息存储在一张纹理图上,显示时根据每个网格的纹理坐标和对应的纹理图进行渲染得到的高分辨率的彩色模型。

图像坐标系、相机坐标系、世界坐标系
边栏推荐
- 秒杀系统1-登录功能
- Idea does not specify an output path for the module
- PyTorch crop images differentiablly
- XWiki Installation Tips
- Under VC, Unicode and ANSI are converted to each other, cstringw and std:: string are converted to each other
- Detailed pointer advanced 1
- Driver and application communication
- The markdown file obtains the pictures of the network and stores them locally and modifies the URL
- CString的GetBuffer和ReleaseBuffer使用说明
- Microservice sentinel flow control degradation
猜你喜欢

Tensorflow realizes verification code recognition (I)

Jvm-08-garbage collector

Microservice - Nacos registration center and configuration center

Visual upper system design and development (Halcon WinForm) -5 camera

Microservices Seata distributed transactions

Unity function - unity offline document download and use

QT use qzxing to generate QR code

从 flask 服务端代码自动生成客户端代码 -- flask-native-stubs 库介绍

【OpenCV 例程200篇】217. 鼠标交互获取多边形区域(ROI)

Introduction to redis master-slave, sentinel and cluster mode
随机推荐
Introduction to redis master-slave, sentinel and cluster mode
Kubernetes will show you from beginning to end
Characteristics of MySQL InnoDB storage engine -- Analysis of row lock
Popular understanding of linear regression (II)
Final review points of human-computer interaction
The wonderful use of do{}while()
Visual upper system design and development (Halcon WinForm) -5 camera
阿特拉斯atlas扭矩枪 USB通讯教程基于MTCOM
String functions that you need to know
[combinatorics] combinatorial identities (recursive combinatorial identities | sum of variable terms | simple combinatorial identities and | sum of variable terms | staggered sums of combinatorial ide
Calibre LVL
VS2017通过IP调试驱动(双机调试)
Popular understanding of ovo and ovr
《微服务设计》读书笔记(上)
Can‘t connect to MySQL server on ‘localhost‘
Popular understanding of random forest
App mobile terminal test [5] file writing and reading
如何使用 @NotNull等注解校验 并全局异常处理
Microservice API gateway
VC下Unicode和ANSI互转,CStringW和std::string互转