Sking
收藏数据集概述:Sking
- 数据集名称: Sking
- 语言: 英语 (en)
- 许可证: AGPL-3.0
- 任务类别: 文本到图像 (text-to-image), 图像到图像 (image-to-image)
- 标签: minecraft, 3d, voxel, minecraft-skin, texture, dataset-generation
核心功能与用途
该数据集及相关管道专为训练和微调 Sking Model 而设计,是一个完整的 Minecraft 皮肤 3D 体素渲染与数据集预处理流水线。主要功能包括:
- 3D 体素渲染 (
mc_render.py): 基于PyVista(VTK) 将 2D 皮肤纹理转换为 3D 体素角色网格,支持双层渲染(核心层与装饰层)、肢体关节参数化旋转、交互式光照模式及正交/透视投影。 - 体素纹理一致性解析器 (
mc_voxel_texture_resolver.py): 解决双层皮肤在 3D 体素化过程中的视觉间隙伪影,按优先级顺序自动填充相邻透明面。 - 布局标准化:Alex-to-Steve (
alice_to_steve.py): 自动检测并转换细臂(Alex)皮肤为标准(Steve)格式,统一数据集特征。 - 多视图布局烘焙 (
build_target_img.py): 生成 768x768 的复合布局图像,包含 2D 皮肤纹理及 17 个预配置的 3D 渲染视口。 - 批量处理管道 (
build_target_imgs.py): 利用多线程并行处理批量渲染任务。 - 皮肤 UV 图提取 (
extract_skin.py): 从合成训练目标图像中裁剪并提取 64x64 的皮肤 UV 图,支持命令行与 FastAPI 微服务模式。 - 条件图像格式化 (
force_resize_control_imgs.py): 自动重采样并将控制图像居中放置于 1024x1024 的透明画布中。 - 水平翻转 (
ext_flip_img.py): 对角色前/后视图进行水平翻转,并正确镜像皮肤 UV 图。 - 前视图数据集切片 (
make_half_dataset.py): 生成仅包含前视图的子集,用于训练。 - 皮肤合并工具 (
merge_skins.py): 将皮肤 A 的头部与皮肤 B 的身体/四肢合并。
项目结构
Sking/ ├── mc_render.py # 核心3D引擎 ├── mc_voxel_texture_resolver.py # 体素纹理修补器 ├── alice_to_steve.py # Alex到Steve转换算法 ├── build_target_img.py # 单皮肤多视图布局烘焙 ├── build_target_imgs.py # 并发批量渲染管道 ├── extract_skin.py # UV图提取CLI与FastAPI服务 ├── force_resize_control_imgs.py # 控制图重采样与画布标准化 ├── ext_flip_img.py # 视图翻转与UV镜像 ├── make_half_dataset.py # 前视图数据集切片 ├── merge_skins.py # 皮肤合并工具 ├── skin-mask.png # 核心层像素空间映射掩码 ├── skin-decor-mask.png # 装饰层像素空间映射掩码 ├── skins/ # 原始输入皮肤目录 ├── target_imgs_v73/ # 烘焙多视图布局输出目录 ├── control_imgs/ # 条件控制图处理目录 └── control_imgs_v2/ # 多视图布局控制图目录
系统要求与安装
-
前提条件: Python 3.8 或更高版本,建议使用虚拟环境。
-
安装依赖: bash pip install pyvista numpy pillow fastapi uvicorn opencv-python pydantic
-
无头环境注意: 在无图形界面的服务器上运行需使用
xvfb-run等虚拟帧缓冲工具。
相关资源
- 数据集: Hugging Face Sking Dataset
- 训练模型: Hugging Face Sking Model
- 技术报告: Technical Architecture
- 在线演示: EntropyDrop Web Portal




