ShapeNetCar
收藏资源简介:
<p align="center"> <strong> <span style="font-size: 30px;">ShapeNetCar</span> </strong> </p> ## 数据集介绍 ShapeNetCar 数据集来源于 Umetani 和 Bickel 发表于 ACM Transactions on Graphics(SIGGRAPH 2018)的论文 [《Learning Three-dimensional Flow for Interactive Aerodynamic Design》](https://doi.org/10.1145/3197517.3201325)。该数据集以 ShapeNet 中的汽车三维几何为基础,通过 CFD 仿真获得车辆周围的速度场、表面压力和阻力系数,用于研究由三维几何快速预测空气动力学物理场及气动力的方法。 ## 仓库说明 本标准化数据仓库面向 ShapeNetCar 汽车外流场预测任务整理,仓库包含原始训练数据、预处理图数据、归一化统计量、线性回归辅助代码、论文图表数据及结果对比图,可用于 OneScience 模型的训练、推理、评估和可视化。本仓库收录 889 个汽车几何样本,按 `param0` 至 `param8` 分组,既保留原始 CFD 数组、网格和 VTK 文件,也提供面向图神经网络模型的预处理样本。每个预处理样本由节点特征、目标物理场、三维坐标、表面掩码和图边索引组成。 ## 文件说明 | 路径 | 功能 | 备注 | |---|---|---| | `README.md` | 数据集仓库使用说明 | 介绍数据来源、仓库结构、数据格式、下载与校验方法 | | `metadata/schema.yaml` | ShapeNetCar 数据模式说明 | 记录数据目录、文件格式、数组 shape、dtype 和关联模型 | | `metadata/file_manifest.sha256` | 完整性校验清单 | 记录 10,967 个数据文件的相对路径、字节数和 SHA256 | | `data/mlcfd_data/training_data/param*/` | 原始 CFD 训练数据 | 包含 9 个参数分组、聚合数组、网格拓扑及各车辆样本的压力场、速度场和 VTK 文件 | | `data/mlcfd_data/preprocessed_data/param*/<sample_id>/` | 预处理图样本 | 共 889 个样本,每个样本包含 `x.npy`、`y.npy`、`pos.npy`、`surf.npy` 和 `edge_index.npy` | | `data/mlcfd_data/stats/` | 归一化统计量 | 包含输入、输出的均值和标准差数组 | | `data/mlcfd_data/linear_regression_code/` | 线性回归辅助数据与代码 | 包含各参数组的 `Cd`、`I2` 数组及 `learn_linear.py` | | `data/mlcfd_data/graph_raw_data/` | 论文图表原始数据 | 包含误差分布、收敛曲线、压力和速度图表的 XLSX 文件 | | `data/mlcfd_data/side_by_side_comparisons/` | 预测结果对比图 | PNG 格式的压力场、速度场并排对比结果 | | `scripts/validate_shapenetcar_data.py` | 数据集校验脚本 | 检查目录、数组可读性、shape 和 dtype;支持完整 SHA256 校验 | ## 数据格式 预处理图数据中,每个 `preprocessed_data/param*/<sample_id>/` 目录包含: | 文件 | shape | dtype | 说明 | |---|---:|---|---| | `x.npy` | `[num_nodes, 7]` | `float64` | 节点输入特征,包含位置、符号距离函数(SDF)和法向量等特征 | | `y.npy` | `[num_nodes, 4]` | `float64` | 目标物理场,前三个通道为速度分量,最后一个通道为压力 | | `pos.npy` | `[num_nodes, 3]` | `float32` | 节点三维坐标 | | `surf.npy` | `[num_nodes]` | `float64` | 表面节点掩码 | | `edge_index.npy` | `[2, num_edges]` | `int64` | 图结构的边索引 | 归一化统计文件位于 `stats/`: | 文件 | shape | dtype | 说明 | |---|---:|---|---| | `mean_in.npy` | `[7]` | `float32` | 输入特征均值 | | `std_in.npy` | `[7]` | `float32` | 输入特征标准差 | | `mean_out.npy` | `[4]` | `float32` | 输出物理量均值 | | `std_out.npy` | `[4]` | `float32` | 输出物理量标准差 | ## 使用说明 本数据集适配 `OneScience/Transolver-Car-Design` 模型。模型运行时可通过模型包脚本将本仓库的数据组织到 `data/`下。 - 文件与下载: ```bash modelscope download --dataset OneScience/ShapeNetCar --local_dir ./ShapeNetCar modelscope download --model OneScience/Transolver-Car-Design --local_dir ./Transolver-Car-Design ``` - 数据验证 ```bash python scripts/validate_shapenetcar_data.py ``` 完整 SHA256 校验可执行 `python scripts/validate_shapenetcar_data.py --full-hash`。 ## OneScience 官方信息 | 平台 | OneScience 主仓库 | Skills 仓库 | |---|---|---| | Gitee | https://gitee.com/onescience-ai/onescience | https://gitee.com/onescience-ai/oneskills | | GitHub | https://github.com/onescience-ai/OneScience | https://github.com/onescience-ai/oneskills | ## 引用与许可证 - ShapeNetCar 原始论文:[Learning Three-dimensional Flow for Interactive Aerodynamic Design](https://doi.org/10.1145/3197517.3201325) - 本仓库保留来源说明,并面向 OneScience ModelScope 自动运行场景进行整理;公开分发前请根据上游项目确认许可证要求。



