当前位置: 首页> 文旅> 文化 > 工作牌_企业展厅设计公司盛世笔特_互联网营销的方法_腾讯企业qq

工作牌_企业展厅设计公司盛世笔特_互联网营销的方法_腾讯企业qq

时间:2025/7/11 14:38:18来源:https://blog.csdn.net/qq_41102371/article/details/146535488 浏览次数:0次
工作牌_企业展厅设计公司盛世笔特_互联网营销的方法_腾讯企业qq

写在前面

  • 本文内容
    本文所属《从零开始跑通3DGS教程》系列文章,将对colmap docker环境部署、使用进行说明

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

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

目录

  • 写在前面
  • 系列文章
  • docker
    • 安装docker
    • colmap docker
    • 关于colmap
    • docker
  • 计算
    • gui
    • 进入图形化界面
      • 使用
  • 特征匹配
    • 命令行
    • 权限
    • 可视化
    • 编辑
  • 参考

系列文章

  • 介绍
    从零开始跑通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编辑与渲染

docker

安装docker

docker常用命令docker安装部分
可以使用以下命令,避免每次使用docker都需要sudo和密码

sudo usermod -aG docker $USER
sudo service docker restart
sudo chmod 666 /var/run/docker.sock

安装nvidia-docker依赖
Installing the NVIDIA Container Toolkit

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.listsed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.listsudo apt-get updatesudo apt-get install -y nvidia-container-toolkit

colmap docker

关于colmap

colmap是一个SFM(Structure From Motion)+MVS(Multi VIew Stereo)的开源框架,SFM用于从不同视角采集的多张图像中,恢复相机pose以及场景结构(稀疏点云),MVS用于对场景进行稠密重建(稠密点云)以及表面重建(Mesh)
其官方github为
https://github.com/colmap/colmap
官方文档
https://colmap.github.io/index.html

docker

这里使用现成的colmap docker镜像,如果熟悉环境配置、编译或者本地已有colmap的可以不用
pull docker:https://hub.docker.com/r/colmap/colmap/tags
这里选择colmap:20240219.29版本

docker pull colmap/colmap:20240219.29

创建新的容器,请修改你的宿主机路径"YOUR_PATH"

# docker pull colmap/colmap:20240219.29
xhost +
docker run \--name=colmap \-e DISPLAY=$DISPLAY \-w /working \-v YOUR_PATH/3dgs_tutorial:/working/3dgs_tutorial \-v /tmp/.X11-unix:/tmp/.X11-unix \--gpus all \--privileged \-it colmap/colmap:20240219.29 /bin/bash

创建成功如下
在这里插入图片描述
可以先输入exit退出
在这里插入图片描述

计算

本文相关:
3DGS需要的输入是相机pose,内参,以及场景的稀疏点云,因此我们将只会使用SFM相关的计算;
colmap提供图形化交互界面,以及命令行的方式,来完成SFM的计算

gui

进入图形化界面

启动容器

docker start colmap

进入容器,开启图形化界面

docker exec -it colmap /bin/bash
colmap gui

可能会遇到界面是黑色的,ctrl+c多试几次就行
在这里插入图片描述
正常进入如图
在这里插入图片描述

使用

  • 新建project
    File—>New project—>New
    在这里插入图片描述
    选择之前放好的数据路径,输入database, 保存
    在这里插入图片描述
    然后选择图像路径为之前放好的images
    在这里插入图片描述
    然后点击save

  • 特征提取
    Processing—>Feature extraction
    在这里插入图片描述
    处理完成会显示时间
    在这里插入图片描述

特征匹配

Processing—>Feature matching
如果是无序图像,使用Exhaustive
在这里插入图片描述
如果是视频提取的有序图像,使用Sequential
在这里插入图片描述
这里truck数据是有序的数据,我们使用Sequential,点击run,等待处理完成

  • SFM重建
    Reconstruction—>start reconstruction
    等待计算完成
    在这里插入图片描述
  • 导出
cd 3dgs_tutorial/pro/truck
mkdir sparse

File—>export model
在这里插入图片描述
导出点云
File—>export model as
在这里插入图片描述

命令行

启动容器

docker start colmap

进入容器

docker exec -it colmap /bin/bash

计算

cd 3dgs_tutorial/pro
cp sfm.sh truck/
cd truck
sh sfm.sh

在这里插入图片描述
其中,sfm.sh为以下脚本,如果是无序图像,请使用colmap exhaustive_matcher

DATASET_PATH=$(pwd)
echo "processing: $DATASET_PATH"colmap feature_extractor --database_path \
$DATASET_PATH/database.db --image_path $DATASET_PATH/images \
--ImageReader.camera_model=PINHOLE# colmap exhaustive_matcher \
#    --database_path $DATASET_PATH/database.db
colmap sequential_matcher \--database_path $DATASET_PATH/database.dbmkdir $DATASET_PATH/sparsecolmap mapper \--database_path $DATASET_PATH/database.db \--image_path $DATASET_PATH/images \--output_path $DATASET_PATH/sparsecolmap model_converter \
--input_path $DATASET_PATH/sparse/0 \
--output_path $DATASET_PATH/sparse/0/points3D.ply \
--output_type PLY

权限

因为docker是root权限,生成的文件也就是,需要回到宿主机,修改权限
在这里插入图片描述

cd YOUR_PATH/3dgs_tutorial/scripts
sh chown.sh

在这里插入图片描述

可视化

在这里插入图片描述

将生成好的sparse/0/point3D.ply放进Cloudcompare可视化
在这里插入图片描述

编辑

下一步将进行坐标系编辑和尺度修正:
从零开始跑通3DGS教程:(三)坐标系与尺度编辑(CloudCompare)
如果不关心坐标系和尺度,可以直接进行3dgs训练:
从零开始跑通3DGS教程:(四)3DGS训练

参考

文中已列出

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

关键字:工作牌_企业展厅设计公司盛世笔特_互联网营销的方法_腾讯企业qq

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: