3DGS输入的三个bin文件的作用


提示仅代表个人学习记录,不专业


1.cameras.bin(相机内参)

记录内容:每个相机的 id、model(成像模型)、width、height、params(如 PINHOLE 为 fx, fy, cx, cy)。

在本项目中的用法

从 params 推导 FovX/FovY,用于构建投影几何,把三维高斯正确投到二维图像。

限制:项目仅支持"无畸变"的 PINHOLE 或 SIMPLE_PINHOLE(畸变模型不会被使用)。

影响点:影响渲染的视角投影、像素坐标到射线的变换、图像分辨率。

2.images.bin(相机外参与图像列表)

记录内容:每张图像的 id、qvec(旋转四元数)、tvec(平移)、camera_id(指向上面的相机)、name(图像文件名),以及每个像素的匹配信息 xys/point3D_ids(2D-3D对应,供 SfM 使用)。

在本项目中的用法:

用 qvec/tvec 转为 R/T,构建每一帧训练/测试相机;用 name 定位 GT 图像文件。

训练循环中"按相机视角渲染→与该视角的 GT 比较→计算损失"完全依赖这些位姿。

用于场景归一化(nerfpp normalization):根据所有相机中心估计场景中心与尺度,保证训练稳定。

曝光学习映射键使用图像名(保存到 exposure.json)。

影响点:决定从哪个视角监督、渲染时的相机姿态、训练/验证划分(结合 LLFF hold 或 test.txt)。

3.points3D.bin(稀疏三维点云)

记录内容:全局稀疏点的 id、xyz、rgb、error、可见图像 image_ids、与之对应的 point2D_idxs。

在本项目中的用法:

初始点云来源:首次加载 COLMAP 数据时,会将 points3D.bin|txt 转换为 sparse/0/points3D.ply(见 storePly),再复制为模型目录的 input.ply。

该 input.ply 构成训练的初始高斯集合(位置与颜色的初始化),之后在训练过程中被优化为 point_cloud/iteration_*/point_cloud.ply。

影响点:决定初始几何与颜色起点;不直接参与后续每步损失计算(那部分用的是相机与图像)。

关系与差异

几何起点 :来自 points3D.bin → 转 points3D.ply → 复制为 input.ply。
相机投影与位姿 :来自 cameras.bin(内参)与 images.bin(外参+图像名)。
监督数据:通过 images.bin 的 name 去读取对应的图像作为 GT。


相关推荐
CoovallyAIHub4 天前
仿生学突破:SILD模型如何让无人机在电力线迷宫中发现“隐形威胁”
深度学习·算法·计算机视觉
CoovallyAIHub4 天前
从春晚机器人到零样本革命:YOLO26-Pose姿态估计实战指南
深度学习·算法·计算机视觉
CoovallyAIHub4 天前
Le-DETR:省80%预训练数据,这个实时检测Transformer刷新SOTA|Georgia Tech & 北交大
深度学习·算法·计算机视觉
CoovallyAIHub4 天前
强化学习凭什么比监督学习更聪明?RL的“聪明”并非来自算法,而是因为它学会了“挑食”
深度学习·算法·计算机视觉
CoovallyAIHub4 天前
YOLO-IOD深度解析:打破实时增量目标检测的三重知识冲突
深度学习·算法·计算机视觉
多恩Stone6 天前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc
这张生成的图像能检测吗6 天前
(论文速读)XLNet:语言理解的广义自回归预训练
人工智能·计算机视觉·nlp·注意力机制
十铭忘6 天前
自主认知-行动1——架构
人工智能·计算机视觉
yuzhuanhei6 天前
YOLO26实操记录(自用)
人工智能·计算机视觉·目标跟踪
多恩Stone6 天前
【3D-AICG 系列-15】Trellis 2 的 O-voxel Shape: Flexible Dual Grid 代码与论文对应
人工智能·python·算法·3d·aigc