位置: IT常识 - 正文

【三维重建】三维重构基础知识、三维数据、重建流程(三维重建的主要步骤)

编辑:rootadmin
【三维重建】三维重构基础知识、三维数据、重建流程 文章目录1.在计算机内生成三维信息三维图像重构:四个坐标系坐标系转换内参矩阵外参矩阵图像采集设备的标定方法:2.相关概念(1)彩色图像和深度图像(2)PCL(3)点云数据(PCD)3.三维重建流程3.1 深度图像获取3.2 预处理3.3 点云计算3.4 点云配准(1)粗糙配准SfM问题中的不确定性(2)精细配准(3)全局配准3.5 数据融合KinectFusion技术TSDF(Truncated Signed Distance Field,截断符号距离场)3.6 表面生成常用工具1.在计算机内生成三维信息

推荐整理分享【三维重建】三维重构基础知识、三维数据、重建流程(三维重建的主要步骤),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:三维重建方法,三维重建视频教程,三维重建方法,三维重建方法,三维重建的四种方法,三维重建技术 各种方法简介,三维重建的四种常用方法,三维重建的四种常用方法,内容如对您有帮助,希望把文章链接给更多的朋友!

1.使用几何建模软件,通过人机交互生成人为控制下的三维:3DMAX、Maya、AutoCAD、UG

2.获取真实的物体形状:三维重构

三维图像重构:

摄像机获取图像,对图像分析处理,结合CV知识推导出现实中物体的三维信息

从二维图像到三维空间的重构(模仿生物两只眼睛观察物体产生的深度)

对二维图像中像素点的三维信息的恢复,尤其是深度信息

一般采用两个摄像机,对同一个物体进行采集。

单视图:信息不完全,需要利用经验知识

多视图:类似人的双目定位,相对比较容易

理想:对每个像素点的深度进行恢复

三维矢量图形 代替 三维位图

位图:记录一个个的点位,以像素为单位,放大后图像变得模糊不清

矢量图:不受分辨率影响,适合三维建模,线条顺滑,不逼真,无法产生多彩多变的图像

过程:

图像获取:获取二维,影响因素:光照,相机几何特性

摄像机标定:建立有效的成像模型,求解摄像机的内外参数,结合图像得到在空间中的三维点坐标

特征提取:特征点、特征线、区域。

大多以点为匹配基元,怎么提取与怎么匹配 紧密联系,提取时确认匹配方法

提取算法:

基于方向导数的方法

基于图像亮度对比关系的方法

基于数学形态学的方法

立体匹配:根据提取的特征,建立各个图像之间的对应关系,将同一个物理空间点,在不同的图像中的成像点,一一对应起来。影响因素:光照,噪声,物体特性,摄像机特性

三维重建:利用 匹配结果+摄像机标定的内外参数 进行重建

重构方法:

空间点的重建:最基本

空间直线、空间二次曲线的重建

极线约束法

全像素的三维重建:最理想,测量条件严格,仅限于某一具体对象

空间点的三维重建举例:

四个坐标系

1.像素坐标系:图像的每个像素点,存储在数组中,在图像左上角定义原点,建立图像坐标系uv,坐标分别对应数组中的存储位置 2.图像坐标系(ICS):用来表示像素在图像中的物理位置所建立的坐标系,原点一般在中心。上图xy。

3.摄像机坐标系(CCS):如图,XY轴与成像平面坐标系的xy平行,Z轴与光轴平行,垂直于图像,交点为图像的主点,也就是成像平面坐标系的原点。OO‘为焦距。 4.世界坐标系(WCS):在环境中选择一个参考坐标系,描述的是摄像机和物体的位置。与摄像机坐标系的关系用旋转矩阵R和平移向量t来描述。对应关系如下:

坐标系转换

记一个点在

世界坐标系(WCS,World Coordinate System)中的坐标为Xw=[xw,yw,zw]TX_w=[x_w,y_w,z_w]^TXw​=[xw​,yw​,zw​]T,

相机坐标系(CCS,Camera Coordinate System)的坐标为Xc=[xc,yc,zc]TX_c=[x_c,y_c,z_c]^TXc​=[xc​,yc​,zc​]T,

相机图像中的投影(ICS,Image Coordinate System)中的坐标为X=[u,v]TX=[u,v]^TX=[u,v]T

内参矩阵

表示相机和图像的关系

外参矩阵

相机和世界的变换

外参矩阵包括平移矩阵t 和 旋转矩阵R R为3x3, t为3x1

因此,结合上面两个,推导出 世界和图像的转换

图像采集设备的标定方法:

摄影测量学的传统设备标定方法:17个参数描述二维与三维的约束关系,计算量大,高精度

直接线性变换法:参数少,便于计算

2.相关概念(1)彩色图像和深度图像

彩色:RGB,像素点存储其亮度

深度:像素点存储该点到相机的距离,深度值

深度值只与该点到摄像机的距离有关,和光照,环境,方向都没有关系。

但是,由于物体表面反射,半透明或透明物体,深色物体,距离超过量程等因素,会造成深度图缺失

利用一张RGB+一张dept,可以补全

(2)PCL

Point Cloud Library 点云库

PCL框架包括很多先进的算法和典型的数据结构,如滤波、分割、配准、识别、追踪、可视化、模型拟合、表面重建等诸多功能

libpcl I/O:完成数据的输入、输出过程,如点云数据的读写; libpcl filters:完成数据采样、特征提取、参数拟合等过程; libpcl register:完成深度图像的配准过程,例如迭代最近点算法; libpcl surface:完成三维模型的表面生成过程,包括三角网格化、表面平滑等。

(3)点云数据(PCD)

扫描资料 以点的形式记录,点可以是 三维坐标、颜色、光照强度等。

点云包括几何信息和非几何信息:

几何信息:(能够被空间变换影响的,点的这部分维度叫做特征)如:点的坐标、曲面法线、法向量、切向量。

非几何信息:(不能被空间变换影响,这部分维度叫做描述子)如:颜色、温度、光照强度。

3.三维重建流程

比较常见的流程是: 提取图像特征(如SIFT、SURF等)->利用特征将图像计算图像之间的特征匹配->基于匹配的特征进行稀疏重建,得到各个图像的相机位姿和稀疏的特征点云(SfM)->基于相机位姿进行稠密重建,得到稠密点云(PMVS/CMVS)->基于点云重建网格、体素或者纹理

3.1 深度图像获取

同时获取深度图像和彩色图像

3.2 预处理

对深度图像进行去噪和修复(图像增强)

3.3 点云计算【三维重建】三维重构基础知识、三维数据、重建流程(三维重建的主要步骤)

预处理后的图像具有二维信息,像素点的值为深度信息,物体表面到传感器之间的直线距离

根据上面的结果,计算推导出 世界坐标系和图像像素坐标系之间的转换关系

3.4 点云配准

多个不同角度的图片,之间有一些公共部分

为了利用深度图像进行三维重建,需要对图像进行分析,求解各个图片之间的变换参数。

这个配准的过程,以公共部分为基准,把不同时间、角度、光照的多个图像,叠加匹配,到统一的坐标系中。

计算出每个图片相应的 平移向量与旋转矩阵,消除冗余信息

(1)粗糙配准

提取多个图片之间的特征点(特征点可以是:直线、拐点、曲线曲率;自定义符号、旋转图形、轴心)

根据特征方程 初步配准

粗糙配准后,点云和目标点云 将处于同一尺度与参考坐标系内

通过自动 记录坐标,得到粗糙配准的 初始值

算法:SFM(Structure From Motion)

主要用在单目重建,一段时间内获取连续图像,重建三维环境

双目:多个摄像机,拍摄同一时刻的同一物体,也称为静态立体视觉

单目:一个摄像机,但单个图像无法完成,需要一段时间的一系列图像,也称为动态立体视觉

从不同角度拍摄同一物体

固定传感器,旋转物体

旋转传感器,固定物体

单目根据实时性不同,分为 离线重建,在线重建

离线重建:如SFM

在线重建:与SLAM (simultaneous localization and mapping,同步定位与地图绘制)和VO有联系,分为渐进式重建、直接式重建。

渐进式:(深度滤波)利用下一时刻图像,不断融合之前的三维信息

SVO: [https://github.com/uzh-rpg/rpg_svo ](https://github.com/uzh-rpg/rpg_svo (深度滤波在depth_filter.cpp) (深度滤波在depth_filter.cpp里面)

REMODE:https://github.com/uzh-rpg/rpg_open_remode

直接式:(深度融合)利用若干时刻图像,一次性完成一个场景的三维重建。与SFM类似。但计算的图像少,因此实时性高。

SfM指的是给出 nnn 个固定的三维空间点的 mmm 张图像: xij=PiXj,i=1,...,m;j=1,...,n.x_{ij}=P_iX_j, i=1,...,m;j=1,...,n.xij​=Pi​Xj​,i=1,...,m;j=1,...,n. 从m×nm \times nm×n个对应关系 xijx_{ij}xij​ 中估计出mmm个投影矩阵 PiP_iPi​和 nnn 个三维空间中的点

SfM问题中的不确定性

如果我们对场景进行一个变换 QQQ,同时对相机矩阵进行其逆变换 Q−1Q^{-1}Q−1,则图像会保持不变: x=PX=(PQ−1)(QX)x=PX=(PQ^{-1})(QX)x=PX=(PQ−1)(QX) 因而SfM问题中会存在不确定性,通过一些约束可以减小不确定性。

(2)精细配准

经过粗糙配准,得到变换估计值,作为初始值

不断收敛和迭代 的进行精细配准,达到更加精准

基于最小二乘法 对 误差函数 进行最小化处理,反复迭代,直到均方差误差小于设定阈值

算法:ICP(迭代最近点)、SAA(模拟退火)、GA(遗传算法)

拓展:最小二乘法(最小平方法)(二乘就是平方的意思)

作用:误差估计、不确定度、系统辨识及预测、预报

数学优化技术,通过 最小化误差的平方和 寻找数据的最佳函数匹配

利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小

同一组数据,选择不同的 f(x)f(x)f(x) ,通过最小二乘法可以得到不一样的拟合曲线,最小二乘法,就是找一个最接近正确的fx

(3)全局配准

使用整幅图像 直接计算转换矩阵。

通过精准配准的结果,进行多帧图像的配准

序列配准:按照一定顺序

同步配准:一次性

减少误差,但消耗内存,时间复杂度也大

3.5 数据融合

配准后的深度信息,仍然是空间中散乱无序 的点云数据,只能展现物体部分信息。

对点云数据进行 融合,获得更加精细的重建模型

KinectFusion技术

以传感器初始位置为原点,构造体积网格,把点云空间,分割为一堆小的立方体,立方体称为:体素(Voxel)

为所有Voxel赋予SDF值(Signed Distance Field,有效距离场),隐式模拟表面

SDF:此Voxel到重建表面的最小距离值。

SDF大于0,表示Voxel在表面前

SDF小于0,表示Voxel在表面后

SDF接近0,表示Voxel贴近表面

高效实时,但可重建的空间范围小,因为需要大量空间存储大量的Voxel

TSDF(Truncated Signed Distance Field,截断符号距离场)

为了解决Voxel占用大量空间的问题。

TSDF方法,只存储 距离真实表面 较近的几层Voxel,而不是所有的

可以大幅度降低KinectFusion的内存消耗,减少模型的冗余点

3.6 表面生成

构造物体的可视 等值面

常用 体素级方法 直接处理原始的灰度体数据

体素级重建算法:MC(Marching Cube,移动立方体)

http://paulbourke.net/geometry/polygonise/

常用工具

VisualSFM是一个整合了特征提取、图像匹配、稀疏点云重建、稠密重建(需要单独下载CMVS/PMVS)的软件,,免费但不开源(不能用于商业用途)。基于一系列RGB图像,我们可以得到一个稠密的点云。

PMVS/CMVS用SFM的输出作为输入,利用稀疏的特征点云、图像和对应的相机位姿来重建稠密点云。可以用于商业目的。PMVS指的是将大的点云合理地分割、重建、拼接的过程。

MeshLab是常用的点云、网格显示和处理软件,内置了很多3D重建算法,能够进行基于点云的网格重建、简化等。

COLMAP是一个开源的软件,可以用于商业目的。类似于VisualSFM的前半部分,COLMAP能够用于从图像中得到稀疏特征点云和相机位姿。如果有CUDA的话,COLMAP也能用于稠密点云重建和表面重建。

Bundler是稀疏重建工具,然而效果可能不如VisualSFM

本文链接地址:https://www.jiuchutong.com/zhishi/298471.html 转载请保留说明!

上一篇:ChatGPT5是否会影响人类的发展和工作?

下一篇:实战:向人工智能看齐用Docker部署一个ChatGPT(人工智能科技向善)

  • ppt下次单击后隐藏怎么设置(ppt点击出现隐藏内容)

    ppt下次单击后隐藏怎么设置(ppt点击出现隐藏内容)

  • 华为Mate10支持光学防抖吗(华为mate10pro支持光学防抖吗)

    华为Mate10支持光学防抖吗(华为mate10pro支持光学防抖吗)

  • 苹果时钟怎么设置在屏幕上(苹果时钟怎么设置12小时制)

    苹果时钟怎么设置在屏幕上(苹果时钟怎么设置12小时制)

  • usb type a b c 区别(usb type-a 和type-c有什么区别)

    usb type a b c 区别(usb type-a 和type-c有什么区别)

  • 手机号可以注销掉吗(手机号可以注销支付宝吗)

    手机号可以注销掉吗(手机号可以注销支付宝吗)

  • wmv是什么格式(wmv是什么格式手机怎么开)

    wmv是什么格式(wmv是什么格式手机怎么开)

  • 屏幕漏液是因为什么(屏幕漏液为什么)

    屏幕漏液是因为什么(屏幕漏液为什么)

  • 蜂鸟众包要交押金吗?(蜂鸟众包交押金吗)

    蜂鸟众包要交押金吗?(蜂鸟众包交押金吗)

  • 手机为什么会突然震动(手机为什么会突然黑屏打不开)

    手机为什么会突然震动(手机为什么会突然黑屏打不开)

  • 华为平板第一次充电注意事项(华为平板第一次正确充电方法)

    华为平板第一次充电注意事项(华为平板第一次正确充电方法)

  • ecr50clp压缩机多少瓦(ecq50clc压缩机参数)

    ecr50clp压缩机多少瓦(ecq50clc压缩机参数)

  • 营销手机和普通手机的区别(营销手机有哪几个牌子)

    营销手机和普通手机的区别(营销手机有哪几个牌子)

  • 手机主卡和副卡有什么区别(手机主卡和副卡话费是一起的吗)

    手机主卡和副卡有什么区别(手机主卡和副卡话费是一起的吗)

  • 快流宝是什么(快流宝真的有用吗)

    快流宝是什么(快流宝真的有用吗)

  • 微信收藏下载的文件在哪里(第二个微信怎么下载)

    微信收藏下载的文件在哪里(第二个微信怎么下载)

  • 火山直播公会怎么申请(火山直播公会入驻流程)

    火山直播公会怎么申请(火山直播公会入驻流程)

  • 联想电脑u盘启动设置(联想电脑u盘启动按f几)

    联想电脑u盘启动设置(联想电脑u盘启动按f几)

  • 手机上怎么挂医院的号(手机上怎么挂医院急诊)

    手机上怎么挂医院的号(手机上怎么挂医院急诊)

  • 快手怎么上传5分钟视频(快手怎么上传50分钟视频)

    快手怎么上传5分钟视频(快手怎么上传50分钟视频)

  • 淘宝虚假发货怎么处罚(淘宝虚假发货怎么办,违反了什么法律)

    淘宝虚假发货怎么处罚(淘宝虚假发货怎么办,违反了什么法律)

  • bt功能是什么(btt功能)

    bt功能是什么(btt功能)

  • 短期出国流量怎么办理(出国流量怎么办理划算)

    短期出国流量怎么办理(出国流量怎么办理划算)

  • 三栏布局下自定义宽度(三栏布局下自定义宽度答案)

    三栏布局下自定义宽度(三栏布局下自定义宽度答案)

  • Linux多队列网卡的硬件的实现详解(linux配置多网卡设置)

    Linux多队列网卡的硬件的实现详解(linux配置多网卡设置)

  • 拉姆绍的Wimbachklamm峡谷,德国巴伐利亚 (© Westend61 GmbH/Alamy)(拉姆绍在哪里)

    拉姆绍的Wimbachklamm峡谷,德国巴伐利亚 (© Westend61 GmbH/Alamy)(拉姆绍在哪里)

  • webpack之常见性能优化(webpack常用属性)

    webpack之常见性能优化(webpack常用属性)

  • TypeScript 报错汇总(typescript event)

    TypeScript 报错汇总(typescript event)

  • WordPress为旧文章批量设置特色图(wordpress文章保存在哪里)

    WordPress为旧文章批量设置特色图(wordpress文章保存在哪里)

  • 公司刚成立没有收入但是有支出怎么记账
  • 无形资产计税依据
  • 预算基数是什么
  • 公共部门管理中具有哪些作用
  • 借款利息支出全部可以税前扣除吗
  • 库存现金限额的概念
  • 增值税进项税转出所得税调整吗
  • 公司取现备用金违法吗
  • 企业增值税年底怎么结转
  • 出口退税和企业所得税
  • 货运发票与运输发票的区别
  • 金税盘新领的发票怎么分发出去
  • 发票数量能开0.0几吗
  • 两年前少缴的税款是否应补缴?
  • 企业自用房产出售怎么交税
  • 合伙企业税收优惠政策2023
  • 货款打多了退款怎么做账
  • 待抵扣进项税期末要结转吗
  • 股份公司注销流程及费用
  • 重装系统前需要注意什么
  • 交易性金融资产属于什么科目
  • 出口退税一般退什么税
  • 世界十大销量书
  • 费用报销费用填写要求
  • 跨区域涉税事项报告表在哪里打印
  • 委托加工物资验收入库的金额
  • php7多线程支持如何
  • 银行承兑汇票贴现率是多少
  • vue路由实现
  • phpweb框架
  • 深入浅出讲解傅里叶变换
  • 云服务器可以一直开着吗
  • 无法将node项识别为
  • 热闻丨ChatGPT会替代你我吗?让它写了封情书后,我得到答案
  • 所有者权益总计怎么算沙盘
  • 购买方红字信息表已开销售方系统查不到
  • 行政事业单位个税代扣怎么记账
  • 应收账款资产负债表负数
  • 预付卡账务处理在注会
  • 进项税为什么记在贷方
  • 土地增值税的扣除项目金额有哪些
  • 个人所得税能说明什么
  • 增值税税控系统专用设备
  • 金税盘数据迁移到税务ukey
  • 服务不动产和无形资产本期数,第19栏
  • 计提工资要附什么凭证
  • 房地产行业扣税标准
  • 其他应付现金流量表
  • 公司注销后如何起诉他人
  • 房地产契税新政策2023
  • 出售投资性房地产的收入计入什么科目
  • 代扣和代缴的区别
  • 溢价交易和折价交易
  • 查账征收的优点
  • 固定资产折旧计算表模板
  • 金税卡就是税控盘吗
  • 242104 税控盘
  • 新会计准则经营租赁
  • where条件加判断
  • sqlserver附加数据库时出错,请单击消息中的超链接
  • mysql 5.7.22安装教程
  • Windows7/2008中批量删除隧道适配器的方法
  • windows vista ie9
  • centos sh
  • winxp 共享设置
  • linux怎么管理进程
  • centos7yum
  • Tree、Unformat、Vsafe命令的区别与使用说明
  • 关于javascript函数
  • sed删除文件中的目录
  • jquery制作简单的网页
  • jquery操作html代码
  • jquery html5 视频播放控制代码
  • js实现商品分类
  • js中slice方法的作用
  • win7怎么装python3.8
  • 安卓中px,dp,sp的区别
  • 北京国税地税合并
  • 四川国税网上申报大厅
  • 一季度土地市场
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设