遇见数据集

PolarSynth

收藏
github2026-06-25 更新2026-07-15 收录
官方服务:

资源简介:

PolarSynth是一个用于生成大规模合成偏振数据集的工具链,结合Mitsuba 3(偏振路径追踪)和Blender(几何预处理、材质烘焙和AOV通道)。它生成Stokes向量EXR文件以及每视图几何/材质AOVs,并后处理为典型形状从偏振数据集中使用的每偏振器角度PNG和AOLP/DOLP图。

PolarSynth is a toolchain for generating large-scale synthetic polarization datasets, integrating Mitsuba 3 (for polarized path tracing) and Blender (for geometry preprocessing, material baking, and AOV channels). It generates Stokes vector EXR files and per-view geometry/material AOVs, and post-processes these outputs into per-polarizer-angle PNG files as well as AOLP and DOLP maps that are commonly used in shape-from-polarization datasets.

创建时间:
2026-06-24
原始信息汇总

PolarSynth — 合成偏振数据集生成管线

PolarSynth 是一个用于大规模生成合成偏振数据集的工具包,通过结合 Mitsuba 3(偏振路径追踪)和 Blender(几何预处理、材质烘焙、AOV 通道),输出 Stokes 向量 EXR 格式数据以及逐视角的几何/材质 AOV 通道。

核心能力

  • 多场景采样:随机组合网格(OBJ)、PBR 材质(置换/漫反射/粗糙度)、HDRI 环境光照和点/聚/投影/方向光、相机位姿(斐波那契螺旋、半球、平面等)。
  • 后处理转换:将 EXR 转为偏振片角度 PNG(0°/45°/90°/135°)和 AOLP/DOLP 图。
  • 四种管线模式
    • render_sgl_obj.py:单物体,随机材质/光照。
    • render_mult_obj.py:多物体场景(可带地面)。
    • render_metal_dielec_obj.py:混合金属+电介质场景(两遍渲染用于材质分割掩码)。
    • render_case_study.py:确定性参数扫描(材质/反照率/粗糙度/环境图)。
  • 两种 Mitsuba 执行模式:子进程 CLI(默认)和进程内 mi.render()--inprocess 参数)。
  • Blender Cycles AOV 通道:反照率、粗糙度、法线、深度、逐材质掩码(金属/电介质)。
  • 12 个烟雾测试:无需安装 Mitsuba / Blender 即可运行。

系统要求

组件 测试版本 说明
Python 3.10 - 3.12
Mitsuba 3 3.3 - 3.5 需编译对应 ..._spectral_polarized 变体。
Blender 3.6 LTS 需在 $PATH 中可用。
numpy / opencv-python / matplotlib / tqdm 见 requirements.txt
OpenEXR + Imath 1.3 / 0.0.3 多层 EXR 读写。

GPU 加速可选:Mitsuba 需 CUDA 变体,Blender 自动识别 GPU。

安装步骤

  1. 克隆仓库:git clone https://github.com/youweilyu/PolarSynth.git
  2. 安装 Python 依赖:pip install -r requirements.txt
  3. 加载 Mitsuba 环境:source /path/to/mitsuba3/build/setpath.sh
  4. 验证 Blender:blender --version
  5. 复制并编辑环境配置:cp .env.example .env,调整资产路径。

资产布局

  • 资产根目录(默认 ./assets/3D_assets):
    • hdri/polyhaven/ — 存放 .exr 环境图。
    • materials/ambientcg/<MaterialName>/ — 包含 Color.jpgRoughness.jpgDisplacement.jpg
    • models/ — 存放 .obj 文件和配套的 <mesh>_objinfo.npy 文件(含包围盒中心、对称性、扁平性、顶点数等信息)。
  • 路径列表文件.txt):分别列出模型、材质、HDRI 路径,存放于 txts/ 目录。

快速开始

  1. 烟雾测试渲染: bash python render_sgl_obj.py --model_txt_path txts/models_demo.txt --material_txt_path txts/materials_demo.txt --hdri_txt_path txts/hdri_demo.txt --num_rendered_per_obj 1 --pose_num_per_scene 1 --save_dir renderings/smoke --cache_dir tmp/smoke --workers 8 --debug

    成功运行会生成每视角的 mi.exr(S0/S1/S2 Stokes、法线、反照率、深度)、bl.exr(Blender AOV)、JPG 预览及四个偏振角 PNG。

  2. 批量渲染:参考 run/ 目录下的驱动脚本。

  3. EXR 转偏振 PNG:运行 python check_scripts/convert_renderings.py(需编辑内部路径)。

常用参数

  • --model_txt_path / --material_txt_path / --hdri_txt_path:指定资产列表。
  • --save_dir / --cache_dir:输出/缓存路径。
  • --mi_variant:Mitsuba 变体(scalar_rgb 最快,cuda_spectral_polarized 需 GPU)。
  • --workers:线程数。
  • --pose_num_per_scene:每场景视角数。
  • --inprocess:跳过子进程直接渲染。
  • --debug:DEBUG 日志级别。
  • 多物体管线额外参数:--num_obj_per_scene--num_scene--mesh_superimpose--fov 等。

输出格式

每视角生成(<save_dir>/ 下):

  • <scene>_<idx>_mi.exr — 多层 EXR(Stokes + AOV)。
  • <scene>_<idx>_bl.exr — Blender Cycles 多层 EXR。
  • <scene>_<idx>_img_mi.jpg — 色调映射预览。
  • <scene>_<idx>_albedo_bl.png — 漫反射颜色。
  • <scene>_<idx>_rough_bl.png — 粗糙度。
  • <scene>_<idx>_normal_G_bl.png — 相机空间法线。
  • <scene>_<idx>_normal_L_bl.png — 世界空间法线。
  • <scene>_<idx>_mask_bl.png — 前景掩码。
  • <scene>_<idx>_dielec_mask_bl.png / _metal_mask_bl.png — 多物体/混合场景专用。

经转换后,偏振角 PNG 存放于 <dst_dir>/pol000/pol045/pol090/pol135/,掩码存于 mask/

仓库结构

  • 入口脚本:render_sgl_obj.pyrender_mult_obj.pyrender_metal_dielec_obj.pyrender_case_study.py
  • Blender 后处理:blender_postprocess.pyblender_postprocess_multobj.pyblender_postprocess_common.py
  • 工具模块:utils/ 下包含采样器、渲染器、文件工具、CLI 等。
  • 独立工具:tools/ 下包含 Objaverse 下载、EXR 转换、网格格式转换等脚本。
  • 其他目录:scenes/(标准 XML 场景片段)、xmls/(探索用 XML)、check_scripts/(后处理批处理)、run/(驱动脚本)、tests/(测试)。

性能建议

  • 使用 --inprocess 避免频繁进程启动,pose_num_per_scene 较大时加速显著。
  • 烟雾测试用 --mi_variant scalar_rgb 最快。
  • 利用 Blender 的平滑网格缓存(自动写入 <model>_smooth<level>.obj)。
  • MitsubaRenderer 对象创建在场景循环外部,避免 LLVM/CUDA 后端重复预热。

引用

若用于研究,请引用以下论文及 Mitsuba 3、Blender: bibtex @inproceedings{lyu2024sfpuel, title={{SfPUEL}: Shape from Polarization under Unknown Environment Light}, author={Youwei Lyu and Heng Guo and Kailong Zhang and Si Li and Boxin Shi}, booktitle={NeurIPS}, year={2024}, }

搜集汇总
数据集介绍
构建方式
PolarSynth数据集的构建基于一套合成偏振数据生成管线,深度融合了Mitsuba 3的偏振路径追踪引擎与Blender的几何预处理及材质烘焙能力。具体而言,管线从用户提供的OBJ网格集合、PBR材质库及HDRI环境光照中随机采样,结合斐波那契螺旋或人工设计的半球形、平面式相机姿态,生成多样化的场景配置。随后通过Mitsuba的Stokes积分器渲染输出多层EXR格式的辐射数据,再经后处理转换为标准偏振角PNG图像及AOLP/DOLP图,从而为偏振形状恢复任务提供大规模、可复现的合成数据集。
特点
PolarSynth具备显著的灵活性与可扩展性,内置了四种即用型管线:单物体随机材质光照渲染、多物体场景合成、金属与介质混合场景的双通渲染,以及用于定性对比的确定性参数扫描。其核心特点在于全面的偏振物理模拟,通过Stokes矢量(S0/S1/S2)及法线、反照率、深度等辅助AOV通道的同步输出,确保数据的高保真度。此外,管线支持CLI子进程与内嵌两种Mitsuba执行模式,并完全由环境变量驱动配置,无硬编码路径,极大增强了跨平台部署与批量生成的便捷性。
使用方法
用户使用PolarSynth时需先准备自定义的3D资产,包括符合规范布局的网格模型(含objinfo辅助文件)、材质贴图与HDRI环境图,并通过文本列表文件指定路径。运行管线的入口脚本(如render_sgl_obj.py)支持丰富参数,包括物体与材质数量、相机姿态数、渲染线程数及Mitsuba变体(如cuda_spectral_polarized)。生成的EXR数据需通过配套的转换工具(如check_scripts/convert_renderings.py)处理为偏振角PNG及掩膜图,最终用于训练下游形状从偏振(SfP)模型。为加速渲染,推荐使用--inprocess内嵌模式并复用缓存的平滑网格模型。
背景与挑战
背景概述
PolarSynth由Youwei Lyu等研究人员于2024年创建,隶属于新加坡南洋理工大学等机构,旨在解决偏振视觉领域训练数据匮乏的核心难题。传统偏振数据集受限于真实采集的昂贵设备与有限场景,难以支撑大规模深度学习模型的训练。为此,PolarSynth创新性地将Mitsuba 3的偏振路径追踪与Blender的几何与材质处理相融合,构建了一个可复现的合成偏振数据生成管线。该工具能够随机组合网格模型、PBR材质、环境光照与相机位姿,高效生成包含Stokes矢量、AOLP/DOLP图及几何属性层的多样化数据集,为形状恢复、材质辨识等下游任务提供了标准化的训练资源。作为NeurIPS 2024的收录工作,PolarSynth在偏振数据集构建领域具有开拓性影响,显著推动了从合成数据到真实场景的迁移学习研究。
当前挑战
偏振数据集的构建面临双重挑战。首先,在领域问题层面,偏振成像虽能捕获物体表面法线与材质信息,但真实采集受限于光照条件与传感器噪声,导致传统方法难以在非受控环境中稳定恢复形状,且缺乏大规模标注数据支持深度学习泛化。其次,在构建过程中,PolarSynth需应对物理精确渲染与计算效率之间的冲突——偏振路径追踪依赖Mitsuba 3的专用光谱偏振变体,对GPU算力要求苛刻;同时,多模态输出(Stokes、AOLP、DOLP结合几何AOVs)需协调Blender与Mitsuba间的数据格式与坐标对齐,Blender侧依赖Cycles渲染器生成材质遮罩与法线图,两系统间通过EXR多层格式交换数据,增加了管线调试与版本兼容的复杂度。此外,资产库需用户手动准备并编写OBJ属性文件,提升了数据多样性的维护门槛。
常用场景
经典使用场景
在计算机视觉与图形学领域,偏振成像作为一种能够捕获物体表面微观几何与材料属性的前沿技术,长期受限于真实标注数据的匮乏。PolarSynth数据集通过结合Mitsuba 3的偏振路径追踪与Blender的几何预处理管线,构建了一套大规模的合成偏振数据生成框架。其最经典的使用场景是形状从偏振(Shape from Polarization)任务的训练与评估,研究人员可调用其提供的单物体、多物体、金属-电介质混合以及确定性对比四种流水线,生成包含Stokes矢量EXR、AOLP/DOLP映射图及多通道AOV数据的完备样本,从而在不同光照、材质与相机姿态组合下系统性地验证偏振形状重建算法的鲁棒性。
衍生相关工作
围绕PolarSynth数据集的生成范式,学术界已衍生出多项具有影响力的研究工作。其中最具代表性的是其依托论文《SfPUEL: Shape from Polarization under Unknown Environment Light》,该工作首次利用该数据集在未知环境光下实现了偏振形状恢复,通过引入偏振感知的隐式神经表示,显著优于传统方法。此外,该数据集的高质量多层EXR输出格式催生了如偏振注意力网络(Polarization Attention Network)和偏振-法线联合估计框架等模型,后者通过融合AOLP与DOLP特征图实现了对复杂材质表面法向量的精确预测。这些衍生工作共同印证了PolarSynth作为偏振视觉基准平台的重要学术价值。
数据集最近研究
最新研究方向
基于物理的偏振渲染在计算机视觉与图形学交叉领域正成为前沿研究热点,PolarSynth通过结合Mitsuba 3的偏振路径追踪与Blender的几何预处理,为形状恢复与材质分析提供了大规模、高质量的合成偏振数据集。当前研究聚焦于利用该工具突破偏振成像中环境光未知的瓶颈,如NeurIPS 2024收录的SfPUEL工作,通过随机采样网格、PBR材质与HDR照明,协同生成斯托克斯矢量EXR及多种AOVs,推动偏振三维重建从受控实验室走向复杂真实场景。该流水线支持单/多物体、金属-电介质混合场景的定制化渲染,其开放性与可复现性为深度学习驱动的偏振逆问题(如法线估计、材质分类)提供了标准化训练基准,显著降低了学术机构在数据生成上的计算门槛。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务