Computer Graphic_LAB3_三维重建

1. 三维重建的定义

三维重建是指根据单视图或者多视图的图形重建三维信息的过程. 

  • 用相机拍摄真实世界的物体、场景, 并通过计算机视觉技术进行处理, 从而得到物体的三维模型 \rightarrow 3D Reconstruction

2. 相关背景介绍

2.1 三维表示

2.1.1 点云 (Point Cloud)

  • 某个坐标系下的的数据集. 其中点包含了丰富的信息, 包括三维坐标x,y,z、颜色、强度值等等
  • 通过高精度的点云数据可以还原现实世界

2.1.2 体素

一系列小方块

2.1.3 网格

三角形、多边形等组成

2.2 相机几何与标定

2.2.1 相机模型中的坐标系

相机模型中存在4个坐标系: 世界坐标系、相机坐标系、图像物理坐标系和图像像素坐标系

  • 世界坐标系 (\text{Xw},\text{Yw},\text{Zw}): 客观三维世界的绝对坐标系, 即物体在真实世界中的坐标. 单位是长度单位
  • 相机坐标系 (\text{Xc},\text{Yc},\text{Zc}): 以相机的光心为坐标原点, 以平行于图像的xy方向为x轴和y轴, z轴和光轴平行. 单位是长度单位
  • 图像物理坐标系 (\text{x},\text{y}): 以主光轴和图像的交点为坐标原点. 单位是长度单位
  • 图像像素坐标系 (u,v): 以图像的上/下/左/右顶点为坐标原点, uv方向平行于xy方向. 单位是像素 (图像物理坐标系和像素坐标系仅通过平移可重合)

2.2.2 四种坐标系之间的转换

1、世界坐标系 \rightarrow 相机坐标系

因为世界坐标系和相机坐标系都是三维坐标系, 此时用欧式变换进行坐标系转换

2、相机坐标系 \rightarrow 图像物理坐标系

3、相机坐标系 \rightarrow 图像像素坐标系

其中, dx表示一个像素的宽度

2.2.3 相机内参

相机成像原理: 世界坐标系 \rightarrow 相机坐标系 \rightarrow 图像物理坐标系 \rightarrow 图像像素坐标系, 该过程即为相机成像原理. 

  • 相机内参相机本身决定
  • 相机外参视角决定

2.2.4 相机标定

获取相机内参和外参的方法就是相机标定

2.3 实验分析

2.3.1 实验介绍

本次实验属于点云拼接, 一种简单的重建结果的融合

  • RGB-D深度图: D通道的每个像素值表示物体到相机xOy平面的距离, 单位为\text{mm}. 由深度摄像头获取

2.3.2 思路分析

  1. 读取相机内参(fx,fy,cx,cy)和相机外参(R,T) (根据下图进行计算)
  2. 读取对应的深度图和RGB图 (注意: opencv读取RGB图的结果是BGR格式)
  3. 对深度图进行处理, 除以实际尺度depth_scale = 1000
  4. 遍历所有的像素, 利用公式计算对应的3D点的位置. 在相机有外参的情况下可进行优化计算: 
    1. 先默认把相机放在世界坐标系的原点处. 转换成如下公式: 
    2. 便可以得到每个像素(u,v)和对应的3D点坐标(x_w,y_w), 再利用相机外参数[R,T][x_w,y_w,z_w,1]相乘即可转换到实际位置
  5. 重复上述1 \thicksim 4步, 将每一张图获得的点云累加
  6. 对重建的点云进行可视化
  7. 直接拼接累加的点云可能存在噪声, 需对最终的点云进行点云滤波 (如统计滤波、半径滤波、体素滤波等)

3. Code

GAMES-Computer Graphic: GAMES and NUDT: Computer Graphics (gitee.com)

4. 参考资料

三维重建(单目、双目、多目、点云、SFM、SLAM)_sfm三维重建_Yuezero_的博客-CSDN博客

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值