实验笔记之——Linux实现COLMAP

news2024/11/27 12:32:25

之前博客跑instant-NGP的时候,除了用官方的数据集,用自己的数据则是通过手机采集,同时获得pose与image。但是这种获取的方式对于3D gaussian而言,并不支持对应的数据格式,为此采用COLMAP来根据image获取pose,进而给NeRF提供数据~

实验笔记之——基于windows复现Instant-NGP-CSDN博客文章浏览阅读726次,点赞19次,收藏10次。之前博客对NeRF-SLAM进行了调研,本博文先复现一下Intant-NGP。学习笔记之——NeRF SLAM(基于神经辐射场的SLAM)-CSDN博客NeRF 所做的任务是 Novel View Synthesis(新视角合成),即在若干已知视角下对场景进行一系列的观测(相机内外参、图像、Pose 等),合成任意新视角下的图像。传统方法中,通常这一任务采用三维重建再渲染的方式实现,NeRF 希望不进行显式的三维重建过程,仅根据内外参直接得到新视角渲染的图像。https://blog.csdn.net/gwplovekimi/article/details/135336357?spm=1001.2014.3001.5502配置的过程请参考官网链接:Installation — COLMAP 3.9-dev documentation

COLMAP实际上就是sfm了~原理就不细看了,直接用了

由于实验室的服务器已经安装好了COLMAP了,所以此处就直接使用。通过下面命令即可开启COLMAP的GUI

colmap gui

如下所示

点击Reconstruction > Automatic Reconstruction进行一系列基本设置

输出的结果会写在workspace folder中(如果图像在path/to/project/images中,那么就应该选择path/to/project作为workspace)

而由于我当前的数据结构如下,所以也要设置一下image folder

然后点击run

在运行automatic reconstration之后,文件夹会变成这样

+── images
│   +── image1.jpg
│   +── image2.jpg
│   +── ...
+── sparse
│   +── 0
│   │   +── cameras.bin
│   │   +── images.bin
│   │   +── points3D.bin
│   +── ...
+── dense
│   +── 0
│   │   +── images
│   │   +── sparse
│   │   +── stereo
│   │   +── fused.ply
│   │   +── meshed-poisson.ply
│   │   +── meshed-delaunay.ply
│   +── ...
+── database.db

然后, path/to/project/sparse包含的是重建得到的稀疏模型, path/to/project/dense包含的是dense模型, 点云fused.ply可以加载到COLMAP图形界面中, 从File>Importmodelfrom...进入,而密集的网格必须通过外部查看器(如Meshlab)来可视化。

而在3D Gaussian中,写好了脚本去跑的(忽略ImageMagick ,因为手机产生的图片失真应该比较少)

此处直接用

python convert.py -s <location> [--resize] #If not resizing, ImageMagick is not needed

需要将图片打包好如下格式

<location>
|---input
    |---<image 0>
    |---<image 1>
    |---...

运行

python convert.py -s /home/gwp/dataset/30fps

过了一会结果终于出来了~

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

六、基于Flask、Flasgger、marshmallow的开发调试

基于Flask、Flasgger、marshmallow的开发调试 问题描述调试方法一调试方法二调试方法三 问题描述 现在有一个传入传出为json格式文件的&#xff0c;Flask-restful开发的程序&#xff0c;需要解决如何调试的问题。 #!/usr/bin/python3 # -*- coding: utf-8 -*- # Project :…

知识图谱 vs GPT

简介&#xff1a; 当我们谈论知识图谱时&#xff0c;我们指的是一种结构化的知识表示形式&#xff0c;是一种描述真实世界中事物及其关系的语义模型&#xff0c;用于描述实体之间的关系。它通过将知识组织成图形结构&#xff0c;提供了一种更全面、准确和智能的信息处理方式。知…

DVenom:一款功能强大的Shellcode加密封装和加载工具

关于DVenom DVenom是一款功能强大的Shellcode加密封装和加载工具&#xff0c;该工具专为红队研究人员设计&#xff0c;可以帮助红队成员通过对Shellcode执行加密封装和加载实现反病毒产品的安全检测绕过。 功能介绍 1、支持绕过某些热门反病毒产品&#xff1b; 2、提供了多种…

SwiftUI之深入解析如何使用新地图框架MapKit

一、前言 一旦将 App 目标更新到 iOS 17&#xff0c;Xcode 会将任何使用旧的 Map 初始化器的用法标记为已弃用&#xff1a; 会有警告提示&#xff1a;init coordinate region 已在 iOS 17 中弃用。请改用带有 MapContentBuilder 参数的地图初始化器。在 iOS 17 中&#xff0c;…

Unity 使用 Plastic 同步后,正常工程出现错误

class Newtonsoft.Json.Linq.JToken e CS0433:类型"JToken"同时存在于"Newtonsoft.Json.Net20,Version3.5.0.0,Cultureneutral,,PublicKeyToken30ad4fe6b2a6aeed"和"Newtonsoft.Json, Version12.0.0.0,Cultureneutral,PublicKeyToken30ad4fe6b2a6aeed…

【React系列】Hook(二)高级使用

本文来自#React系列教程&#xff1a;https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzg5MDAzNzkwNA&actiongetalbum&album_id1566025152667107329) 一. Hook高级使用 1.1. useReducer 很多人看到useReducer的第一反应应该是redux的某个替代品&#xff0c;其实并不是…

React实现简单登录

一 实现效果(样式是之前设置的&#xff09; 二 具体实现代码 2.1 Login.js import {useNavigate} from "react-router-dom"; import React from "react"; // import ./style2.cssfunction Login(){const navigateuseNavigate()func…

【数据结构】二叉树(二)——顺序结构

前言 本篇博客讲解数组实现二叉树的顺序结构 文章目录 一、二叉树的顺序结构及实现1.1 二叉树的顺序结构1.2 堆的概念1.3 堆的实现1.3.1 初始化堆1.3.2 向堆中插入元素1.3.3 从堆顶删除1.3.4 其他操作1.3.5 完整代码Heap.hHeap.c 1.4 堆的应用1.4.1 堆排序1.4.2 TOP-K问题 一、…

关于“Python”的核心知识点整理大全61

目录 注意 20.1.4 使用 jumbotron 设置主页的样式 index.html 20.1.5 设置登录页面的样式 login.html 20.1.6 设置 new_topic 页面的样式 new_topic.html 20.1.7 设置 topics 页面的样式 topics.html 元素&#xff0c;让它们在页面上显得大些&#xff08;见2&#xf…

Unity SRP 管线【第五讲:自定义烘培光照】

文章目录 一、自定义烘培光照1. 烘培光照贴图2. 获取光照贴图3. 获取物体在光照贴图上的UV坐标4. 采样光照贴图 二、自定义光照探针三、 Light Probe Proxy Volumes&#xff08;LPPV&#xff09;四、Meta Pass五、 自发光烘培 一、自定义烘培光照 细节内容详见catlikecoding.c…

RedHat8、Centos8无法启动网卡解决方案,网卡未加入托管

只针对部分情况&#xff0c;网卡未加入托管导致 虚拟机开启 ifconfig 没有ens33网卡&#xff0c;无法上网 手动启动网卡提示 Connection ens33 is not available on device ens33 because device is strictly unmanaged使用nmtui配置IP信息&#xff0c;无法启动’ens160’网卡…

AI实景无人直播创业项目:开启自动直播新时代,一部手机即可实现增长

在当今社会&#xff0c;直播已经成为了人们日常生活中不可或缺的一部分。无论是商家推广产品、明星互动粉丝还是普通人分享生活&#xff0c;直播已经渗透到了各行各业。然而&#xff0c;传统直播方式存在着一些不足之处&#xff0c;如需现场主持人操作、高昂的费用等。近年来&a…

新一代爬取JavaScript渲染页面的利器-playwright(一)

Playwright的使用 Playwright是微软在2020年初开源的一款新一代自动化测试工具&#xff0c;其功能和**Selenium**、Pyppeteer类似&#xff0c;都可以驱动浏览器进行自动化操作&#xff0c;但是也具备了Selenium、Pyppeteer不具备的更好的API&#xff0c;是新一代爬取JavaScrip渲…

Vue3集成scss实现清除浏览器默认样式

1.首先去npm官网找到对应的reset.scss文件&#xff0c;复制内容在本地src下style建一个一模一样的文件&#xff0c;内容复制进去npm | Home 2.在style文件夹下再建一个index.scss文件&#xff0c;在它里边引入刚刚建好的reset.scss文件&#xff0c;如下 import ./reset.scss; …

线程的基础

文章目录 线程的介绍&#xff1a;创建线程的三种方式&#xff1a;一、继承Thread二、实现Runnable接口三、实现Callable接口 线程的优先级&#xff1a;多线程&#xff1a;线程终止&#xff1a;线程常用方法&#xff1a;用户线程和守护线程线程的生命周期&#xff1a;Synchroniz…

Spring见解 1.2

2.3.Spring的IOC解决程序耦合 2.3.1.创建工程 2.3.1.1.pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:sc…

Android studio VideoView 应用设计

一、运行效果&#xff1a; 二、新建empty activity项目&#xff1a; 三、打开activity_main.xml布局文件&#xff0c;添加VideoView&#xff1a; <VideoViewandroid:id"id/videoView"android:layout_width"368dp"android:layout_height"573dp&quo…

flink table view datastream互转

case class outer(f1:String,f2:Inner) case class outerV1(f1:String,f2:Inner,f3:Int) case class Inner(f3:String,f4:Int) 测试代码 package com.yy.table.convertimport org.apache.flink.streaming.api.scala.StreamExecutionEnvironment import org.apache.flink.tabl…

canvas绘制直角梯形(向左)

查看专栏目录 canvas示例教程100专栏&#xff0c;提供canvas的基础知识&#xff0c;高级动画&#xff0c;相关应用扩展等信息。canvas作为html的一部分&#xff0c;是图像图标地图可视化的一个重要的基础&#xff0c;学好了canvas&#xff0c;在其他的一些应用上将会起到非常重…

visual studio 2022在查找和替换使用正则表达式查找if()

文件内容如下&#xff1a; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace ConsoleApp1 {internal class Program{static void Main(string[] args){TempFunction();}private static void T…