COLMAP生成MVSNet数据集
创始人
2024-02-21 19:15:57
0

一. colmap2mvsnet.py

COLMAP可以给图像数据集标定一套相机外参及视图选择。如果想用COLMAP导出的结果输入MVSNet测试,需要把数据集(图片、相机参数等)转化为MVSNet的输入格式。MVSNet的作者yaoyao在Github上提供了colmap2mvsnet.py代码,可以实现以上格式转化的需求,原README如下:

MVSNet input from SfM output
We provide a script to convert COLMAP SfM result to R/MVSNet input. After recovering SfM result and undistorting all images, COLMAP should generate a dense folder COLMAP/dense/ containing an undistorted image folder COLMAP/dense/images/ and an undistorted camera folder COLMAP/dense/sparse/. Then, you can apply the following script to generate the R/MVSNet input:python colmap2mvsnet.py --dense_folder COLMAP/denseThe depth sample number will be automatically computed using the inverse depth setting. If you want to generate the MVSNet input with a fixed depth sample number (e.g., 256), you could specified the depth number via --max_d 256.

在得到fM结果和未失真的所有图像后,COLMAP会生成一个文件夹COLMAP/dense/,包含未失真的图像文件夹COLMAP/dense/images/和未失真的相机文件夹COLMAP/dense/sparse/。然后,可以用以下脚本生成MVSNet输入:

python colmap2mvnet .py——dense_folder COLMAP/dense

python colmap2mvsnet.py --dense_folder COLMAP/dense

深度样本数将使用反向深度设置自动计算。如果想生成具有固定深度样本数字(例如,256)的输入,可以通过指定深度数字。

——max_d 256

我的具体实现过程如下:

二. 实现流程

1. COLMAP下载

网上有很安装COLMAP教程,我是直接在官网下载的window版本,链接如下:

COLMAP - Structure-From-Motion and Multi-View Stereo (demuc.de)https://demuc.de/colmap/2. 准备图片集

创建image文件夹,存放自己的图片。

3. COLMAP稀疏重建

创建数据库文件

首先创建一个文件夹,暂且叫colmap2mvsnet ,里面放刚创建的image文件夹。接着,打开COLMAP文件夹双击colmap.bat运行gui界面,点击new project创建新的工程。

  • 在colmap2mvsnet目录下新建一个数据库文件colmap2mvsnet.db
  • 指定图像文件夹为image

特征提取

点击Feature extraction ,设置相机模型跟参数。有给定参数就设置,没有就默认。

特征匹配

点击Feature matching,设置相匹配方式和参数。有给定参数就设置,没有就默认。

稀疏重建

同上,有给定参数就设置,没有就默认。

图像去畸变

在colmap2mvsnet目录下新建一个文件夹 dense 存放去畸变的图片文件夹、相机参数等。

  • 点击Dense reconstruction
  • select刚刚创建的dense文件夹
  • 点击左上角undistortion 
  • 运行结束后直接关闭

导出模型txt文件

点击Export model as text,保存路径为colmap2mvsnet/dense/sparse/文件夹。

4. colmap2mvsnet

把colmap2mvsnet.py文件复制到colmap2mvsnet文件夹中,并在终端下运行以下命令:

(我是在服务器上运行的)

python colmap2mvsnet.py --dense_folder COLMAP/dense

输出会保存在dense文件夹中,包括:

  • 去畸变后的图片的image文件夹
  • 相机参数cam文件夹
  • pair.txt

以上文件就是MVSNet需要的文件格式,至此自建数据集用流程结束!

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...