Blender格式的数据集介绍

发布于:2025-08-10 ⋅ 阅读:(20) ⋅ 点赞:(0)

Blender格式是 NeRF 和许多后续工作标准的输入格式

Blender格式的数据集主要是指NeRF等项目中常用的相机参数和图像信息存储格式,核心文件是 transforms_train.json(训练集),有时还有 transforms_val.jsontransforms_test.json。这些 JSON 文件描述了每张图片的相机位姿和整体场景的相机视场角(FOV)。


Blender格式数据的核心文件:transforms_train.json

该文件是一个JSON格式,主要包含:

  • camera_angle_x:相机水平视场角(单位:弧度)

  • frames:图片帧列表,每个元素包含图像文件路径和对应的相机变换矩阵(4x4)


示例结构

{
  "camera_angle_x": 0.6911112070083618,
  "frames": [
    {
      "file_path": "./images/00000.png",
      "transform_matrix": [
        [1.0, 0.0, 0.0, 0.0],
        [0.0, 1.0, 0.0, 0.0],
        [0.0, 0.0, 1.0, 0.0],
        [0.0, 0.0, 0.0, 1.0]
      ]
    },
    {
      "file_path": "./images/00001.png",
      "transform_matrix": [
        [0.9998, 0.0175, 0.0000, 0.1],
        [-0.0175, 0.9998, 0.0000, 0.0],
        [0.0000, 0.0000, 1.0000, 0.0],
        [0.0000, 0.0000, 0.0000, 1.0]
      ]
    }
    // 更多帧...
  ]
}

字段说明

字段 说明 格式/单位
camera_angle_x 水平视场角(视角宽度) 弧度
frames 图像列表 数组,每个元素为一张图
file_path 相对图像路径 字符串,相对于json文件位置
transform_matrix 相机的4x4变换矩阵 数组,4x4,右乘坐标点完成变换

变换矩阵含义

  • 该矩阵是 相机世界变换矩阵(world-to-camera) 的逆,或者可以理解为从相机坐标系到世界坐标系的变换,即描述相机在世界中的位置和朝向。

  • 一般4x4矩阵格式:


其他文件

  • transforms_val.jsontransforms_test.json:验证集和测试集格式一样,只是包含对应帧。

  • 图片文件一般放在 images/ 文件夹,与 JSON 文件相对路径匹配。


总结

Blender格式的数据集用 transforms_*.json 文件,JSON里包含:

  • 相机视场角 camera_angle_x

  • 图像文件路径 file_path

  • 4x4相机变换矩阵 transform_matrix

Blender格式数据集的典型文件夹目录结构一般是这样:

dataset_root/
├── transforms_train.json
├── transforms_val.json         (可选)
├── transforms_test.json        (可选)
└── images/
    ├── 00000.png
    ├── 00001.png
    ├── 00002.png
    └── ...                    (所有训练/验证/测试图片)

说明:

  • dataset_root/ 是数据集根目录,存放所有数据和json文件。

  • transforms_train.json:训练集相机参数和图片路径描述文件。

  • transforms_val.json、transforms_test.json:验证集和测试集的相机参数描述文件(根据需要生成)。

  • images/ 文件夹存放所有对应图片,json里的 file_path 是相对这个根目录的路径,比如 "./images/00000.png"


注意点:

  • file_path 字段一般写成相对路径,指向 images 文件夹下对应图片。

  • JSON 文件和 images/ 文件夹处于同一层级。

  • 图片格式可以是 .png.jpg 等,保持和 JSON 中路径一致即可。


如果你自己制作数据集,只需保证:

  1. 图片都放在 images 目录里。

  2. JSON 文件准确记录每张图片的相机位姿和路径。

  3. 目录结构符合上面示例即可被绝大多数NeRF代码识别。



网站公告

今日签到

点亮在社区的每一天
去签到