从零开始跑通3DGS教程:(三)坐标系与尺度编辑(CloudCompare)

写在前面

  • 本文内容
    本文所属《从零开始跑通3DGS教程》系列文章;
    sfm重建的点云已经丢掉了尺度信息,并且坐标系跟图像数据有关(SFM初始化选择的图像),所以如果想恢复物理真实尺度,以及在想要的视角下渲染,那么需要对尺度和坐标系进行编辑修正,下文介绍如何使用CloudCompare修改坐标系和尺度

  • 平台/环境
    linux, nvidia GPU, docker

  • 转载请注明出处:
    https://blog.csdn.net/qq_41102371/article/details/146535842

目录

  • 写在前面
  • 系列文章
  • 准备
    • CloudCompare
    • 打开点云
  • 编辑
    • 坐标系
    • 尺度
    • 修改colmap重建数据
  • 参考

系列文章

  • 介绍
    从零开始跑通3DGS教程:介绍

  • 数据(采集):
    从零开始跑通3DGS教程:(一)数据(采集)

  • SFM(colmap)计算初始点云和相机pose:
    从零开始跑通3DGS教程:(二)SFM(colmap)计算初始点云和相机pose
    该步骤将通过structure from motion算法,计算出每张图像的pose,以及整个场景和目标的稀疏点云

  • 坐标系与尺度编辑(CloudCompare):
    从零开始跑通3DGS教程:(三)坐标系与尺度编辑(CloudCompare)

  • 修改sfm生成的原始数据
    从零开始跑通3DGS教程:(四)修改(缩放、空间变换)colmap生成的sfm结果

  • 3DGS训练:
    从零开始跑通3DGS教程:(五)3DGS训练

  • Gaussian Model编辑与渲染:
    从零开始跑通3DGS教程:(六)Gaussian Model编辑与渲染

准备

CloudCompare

Cloudcompare的安装使用见:https://blog.csdn.net/qq_41102371/article/details/111713066

打开点云

将文件拖进cloudcompare就可以使用鼠标左(旋转)右(平移)滚轮(缩放)
在这里插入图片描述

编辑

坐标系

添加坐标系
在这里插入图片描述

可能看到的是这样的
在这里插入图片描述

选中点云,进行旋转平移
在这里插入图片描述

这个按钮用于控制旋转平移操作的开关,空格键是快捷键
在这里插入图片描述

然后利用左侧的固定视角,和编辑栏,对点云进行坐标系对齐,怎么对齐看个人,坐标轴的xyz分别是red, green, blue
在这里插入图片描述

最终编辑后的三视图
在这里插入图片描述

这个时候我们发现,点云的属性里面记录了我们对齐操作的变换矩阵
在这里插入图片描述

将这个矩阵复制保存

尺度

选择两个点,查看距离
在这里插入图片描述
假设车宽2m,那么当前应该在整体点云上乘以scale = 2/1.88 = 1.063829787
先将原来的点云复制一份
在这里插入图片描述

然后,对复制的点云进行尺度变换
在这里插入图片描述

在这里插入图片描述

输入刚才的尺度
在这里插入图片描述

可以看到已经非常接近我们假设的2m了
在这里插入图片描述

修改colmap重建数据

下一步,将得到的变换矩阵和尺度,修改colmap生成的原始数据
从零开始跑通3DGS教程:(四)修改(缩放、空间变换)colmap生成的sfm结果

参考

文中已列出

主要做激光/影像三维重建,3DGS,配准、分割等常用点云算法,熟悉open3d、pcl等开源点云库,技术交流、咨询可私信

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/43018.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录day31 贪心part05

56.合并区间 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 示例 1: 输入:in…

【MyBatis】MyBatis 操作数据库(入门)

文章目录 前言一、什么是MyBatis?二、MyBatis入门2.1、准备工作2.1.1 创建工程2.1.2、数据准备 2.2、配置数据库连接字符串2.3、写持久层代码2.4 单元测试 三、MyBatis的基础操作3.1 打印日志3.2、参数传递3.3、增(Insert)3.4、 删(Delete)3.5、改(Update)3.6、查(S…

蓝桥杯备考:多米诺骨牌

这道题要求上下方格子和之差要最小,其实就是算每个上下格子的差求和的最小值 这道题其实是动态规划01背包问题 我们直接按步骤做吧 step1:定义状态表示f[i][j]表示从1到i个编号的差值里选出刚好j个数的最小操作次数 step2:推导状态转移方程 如图这就是我们的状态…

bluecode-20240913_1_数据解码

时间限制:C/C 1000MS,其他语言 2000MS 内存限制:C/C 256MB,其他语言 512MB 难度:困难 数据解码 指定有一段经过编码的二进制数据,数据由0个或多个"编码单元"组成。"编码单元"的编码方式…

day1_Flink基础

文章目录 Flink基础今日课程内容目标为什么要学Flink技术更新迭代市场需求 流式计算批量计算概念特点 批量计算的优势和弊端流式计算生活中流场景流式计算的概念 Flink简介Flink历史Flink介绍 Flink架构体系已学过的框架技术Flink架构 Flink集群搭建Flink的集群模式Standalone模…

集多功能为一体的软件,支持批量操作。

今天我给大家分享一个超实用的小工具,真的是太好用了!这个软件是吾爱大神无知灰灰制作的,它能直接一键把webp格式的图片转换成png格式。 webp转为png 一键操作,支持压缩 其实,作者最近在工作中经常遇到webp格式的图片…

Linux 基本使用和 web 程序部署

目录 Linux 常用命令 ls cd 认识 Linux 目录结构 绝对路径 vs 相对路径 使用 tab 键补全 使用 ctrl c 重新输入 pwd touch cat echo vim 1) 创建文件 / 打开文件 ​编辑 2) 进入插入模式 3) 保存 4) 退出 mkdir rm mv cp man grep ps netstat 搭建 J…

CentOS 7 部署RuoYi 项目

换源 备份现有的 YUM 源配置文件 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 默认的 CentOS 官方镜像源替换为阿里云的镜像源,以提高下载速度和稳定性。 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.co…

【Kafka】分布式消息队列的核心奥秘

文章目录 一、Kafka 的基石概念​主题(Topic)​分区(Partition)​生产者(Producer)​消费者(Consumer)​ 二、Kafka 的架构探秘​Broker 集群​副本机制​ 三、Kafka 的卓越特性​高…

linux课程学习二——缓存

一.文件io与标准io的一个区别 遇到死循环可以ctrl c结束进程 使用printf输出,输出没有问题 用wirte输出,参数1,可以理解为上面介绍的linux标准文件描述符的1(STDOUT)标准输出,我们加上一个死循环while&…

【区块链安全 | 第九篇】基于Heimdall设计的智能合约反编译项目

文章目录 背景目的安装1、安装 Rust2、克隆 heimdall-dec3、编译 heimdall-dec4、运行 heimdall-dec 使用说明1、访问 Web 界面2、输入合约信息3、查看反编译结果 实战演示1、解析普通合约2、解析代理合约 背景 在区块链安全研究中,智能合约的审计和分析至关重要。…

CANoe入门——CANoe的诊断模块,调用CAPL进行uds诊断

目录 一、诊断窗口介绍 二、诊断数据库文件管理 三、添加基础诊断描述文件(若没有CDD/ODX/PDX文件)并使用对应的诊断功能进行UDS诊断 3.1、添加基础诊断描述文件 3.2、基于基础诊断,使用诊断控制台进行UDS诊断 3.2.1、生成基础诊断 3.…

关于embedding向量模型的知识

环境: embedding 问题描述: 关于embedding向量模型的知识 解决方案: 向量模型基础 定义与本质:embedding向量模型是一种将离散数据(如文本、图像、用户行为等)映射到连续向量空间的技术。其核心思想是…

Docker远程访问与加密配置指南

实验目的 基础功能验证: 验证Docker远程访问的基础配置方法 测试未加密(2375端口)和TLS加密(2376端口)两种连接方式的可用性安全性对比: 对比防火墙开启/关闭状态下系统的暴露风险 分析未加密通信的数据传输安全性 验证TLS证书认证机制的有效性操作实践…

基于 Python 深度学习 lstm 算法的电影评论情感分析可视化系统(2.0 系统全新升级,已获高分通过)

大家好,欢迎来到我的技术专栏!今天我将和大家聊聊如何利用 Python 的深度学习技术,打造一个集电影评论情感分析与可视化展示于一体的系统。这个系统不仅能自动采集和解析海量影评,还能实时生成直观的情感趋势图表,对于…

pytorch中dataloader自定义数据集

前言 在深度学习中我们需要使用自己的数据集做训练,因此需要将自定义的数据和标签加载到pytorch里面的dataloader里,也就是自实现一个dataloader。 数据集处理 以花卉识别项目为例,我们分别做出图片的训练集和测试集,训练集的标…

业之峰与宏图智能战略携手,开启家装数字化新篇章

3月8日,业之峰装饰集团董事长张钧携高管团队与宏图智能董事长庭治宏及核心团队,在业之峰总部隆重举行了战略合作签约仪式,标志着双方将携手探索业之峰的数字化转型之路,共同推动家装行业的变革与发展。 近年来,家装行业…

区块链赋能,为木材货场 “智” 造未来

区块链赋能,为木材货场 “智” 造未来 在当今数字化浪潮席卷的时代,软件开发公司不断探索创新,为各行业带来高效、智能的解决方案。今天,让我们聚焦于一家软件开发公司的杰出成果 —— 区块链木材货场服务平台,深入了…

Suricata 检测日志中的时间戳不正确

参考连接 Incorrect Timestamp in Suricata Detection Logs - Help - Suricata 问题现象: 使用 Suricata 时遇到一个问题,即检测日志 (eve.json) 中的 and 字段间歇性地显示 2106 年。这似乎偶尔发生,并影响其中一个…

【第34节】windows原理:PE文件的导出表和导入表

目录 一、导出表 1.1 导出表概述 1.2 说明与使用 二、导入表 2.1 导入表概述 2.2 说明与使用 一、导出表 1.1 导出表概述 (1)导出行为和导出表用途:PE文件能把自身的函数、变量或者类,提供给其他PE文件使用,这…