1. 数据集形式
1 | <location> |
使用colmap将这几个文件变成文本:
1
2
3
4conda install -y -c conda-forge colmap libstdcxx-ng libgcc-ng
export LD_LIBRARY_PATH="$CONDA_PREFIX/lib:$CONDA_PREFIX/lib64"
export LD_PRELOAD="$CONDA_PREFIX/lib/libstdc++.so.6:$CONDA_PREFIX/lib/libgcc_s.so.1"
colmap model_converter --input_path ./data/input/tandt_db/train/sparse/0 --output_path ./data/input/tandt_db/train/sparse/0_txt --output_type TXT #注意这里的输出路径需要是已存在的文件夹
1.1 cameras.txt内容
1 | Camera list with one line of data per camera: |
- 整个稀疏模型只有这一种内参/分辨率,所以每张图都会在
images.txt
里引用CAMERA_ID=1
- 3dgs采用的是 理想的小孔成像模型 PINHOLE (透视投影、无畸变)。只需要 4 个内参:
fx, fy, cx, cy
。fx=f/sx,fy=f/sy。sx
和sy
指的是像素尺寸(pixel pitch):感光器上每个像素在 x / y 方向的物理长度。 单位通常是 mm/px 或 µm/px(毫米/像素、微米/像素)。 有了物理焦距f
(mm),把长度换成“像素”要除以像素尺寸。 早期或特殊传感器可能像素非正方形($x_ x \neq s_ y$);或者图像后期做了非等比缩放。这都会导致 。$f_ x \neq f_ y$ ,现代相机多为方形像素 , 差异常来自标定噪声或裁剪/缩放。
1.2 images.txt内容
1 | Image list with two lines of data per image: //每张图片占两行 |
1.3 points3D.txt内容
1 | 3D point list with one line of data per point: |