EasyPortrait - 面部解析和人像分割数据集
我们推出了一个大规模图像数据集EasyPortrait,用于人像分割和面部解析。该数据集可用于多项任务,如会议应用中的背景去除、牙齿美白、面部皮肤增强、红眼去除或眼睛着色等。
EasyPortrait数据集大小约为91.78GB,包含40,000张RGB图像(约38.3K全高清图像),带有高质量的标注掩码。该数据集按照user_id
主题分为训练集、验证集和测试集。训练集包含30,000张图像,验证集包含4,000张图像,测试集包含6,000张图像。
更多信息请参阅我们的论文EasyPortrait – 面部解析和人像分割数据集。
🔥 更新日志
2023/11/13
: 我们发布了EasyPortrait 2.0版本。✌️- 40,000张RGB图像(约38.3K全高清图像)
- 增加了地区、种族、人类情绪和光照条件的多样性
- 数据进行了进一步清理并添加了新内容
- 训练/验证/测试集划分:(30,000)75% /(4,000)10% /(6,000)15%,按照
user_id
主题划分 - 多GPU训练和测试
- 为面部解析和人像分割添加了新模型
- 数据集大小为91.78GB
- 13,705个独特个体
2023/02/23
: EasyPortrait(初始数据集)💪- 数据集大小为26GB
- 20,000张RGB图像(约17.5K全高清图像),标注了9个类别
- 训练/验证/测试集划分:(14,000)70% /(2,000)10% /(4,000)20%,按照
user_id
主题划分 - 8,377个独特个体
旧版EasyPortrait数据集也可在EasyPortrait_v1
分支中获取!
下载
此外,您还可以从Kaggle下载EasyPortrait数据集。
结构
.
├── images.zip
│ ├── train/ # 训练集:30k
│ ├── val/ # 验证集:4k
│ ├── test/ # 测试集:6k
├── annotations.zip
│ ├── train/
│ ├── val/
│ ├── test/
├── meta.zip # 元信息(宽度、高度、亮度、imhash、user_id)
...
模型
我们提供了一些预训练模型作为人像分割和面部解析的基准。我们使用平均交并比(mIoU)作为主要评估指标。
人像分割:
模型名称 | 参数量(百万) | 输入尺寸 | 平均交并比 |
---|---|---|---|
BiSeNet-V2 | 56.5 | 384 x 384 | 97.95 |
DANet | 190.2 | 384 x 384 | 98.63 |
DeepLabv3 | 260 | 384 x 384 | 98.63 |
ExtremeC3Net | 0.15 | 384 x 384 | 96.54 |
Fast SCNN | 6.13 | 384 x 384 | 97.64 |
FCN + MobileNetv2 | 31.17 | 384 x 384 | 98.19 |
FPN + ResNet50 | 108.91 | 1024 × 1024 | 98.54 |
FPN + ResNet50 | 108.91 | 512 × 512 | 98.64 |
FPN + ResNet50 | 108.91 | 384 x 384 | 98.64 |
FPN + ResNet50 | 108.91 | 224 × 224 | 98.31 |
SegFormer-B0 | 14.9 | 1024 × 1024 | 98.74 |
SegFormer-B0 | 14.9 | 512 × 512 | 98.66 |
SegFormer-B0 | 14.9 | 384 x 384 | 98.61 |
SegFormer-B0 | 14.9 | 224 × 224 | 98.17 |
SINet | 0.13 | 384 x 384 | 93.32 |
人脸解析:
模型名称 | 参数量 (百万) | 输入尺寸 | 平均交并比 |
---|---|---|---|
BiSeNet-V2 | 56.5 | 384 x 384 | 76.72 |
DANet | 190.2 | 384 x 384 | 79.3 |
DeepLabv3 | 260 | 384 x 384 | 79.11 |
EHANet | 44.81 | 384 x 384 | 72.56 |
Fast SCNN | 6.13 | 384 x 384 | 67.56 |
FCN + MobileNetv2 | 31.17 | 384 x 384 | 75.23 |
FPN + ResNet50 | 108.91 | 1024 × 1024 | 85.37 |
FPN + ResNet50 | 108.91 | 512 × 512 | 83.33 |
FPN + ResNet50 | 108.91 | 384 x 384 | 81.83 |
FPN + ResNet50 | 108.91 | 224 × 224 | 75.6 |
SegFormer-B0 | 14.9 | 1024 × 1024 | 85.42 |
SegFormer-B0 | 14.9 | 512 × 512 | 83.19 |
SegFormer-B0 | 14.9 | 384 x 384 | 81.38 |
SegFormer-B0 | 14.9 | 224 × 224 | 74.83 |
标注
标注以2D数组的形式呈现,图像以 *.png
格式存储,包含多个类别:
索引 | 类别 |
---|---|
0 | 背景 |
1 | 人物 |
2 | 皮肤 |
3 | 左眉 |
4 | 右眉 |
5 | 左眼 |
6 | 右眼 |
7 | 嘴唇 |
8 | 牙齿 |
此外,我们在 annotations/meta.zip
文件中提供了一些额外的数据集元信息:
图像名称 | 用户ID | 高度 | 宽度 | 集合 | 亮度 | |
---|---|---|---|---|---|---|
0 | a753e021-... | 56... | 720 | 960 | 训练集 | 126 |
1 | 4ff04492-... | ba... | 1920 | 1440 | 测试集 | 173 |
2 | e8934c99-... | 1d... | 1920 | 1440 | 验证集 | 187 |
其中:
image_name
- 不带扩展名的图像文件名user_id
- 唯一的匿名用户IDheight
- 图像高度width
- 图像宽度brightness
- 图像亮度set
- "train"、"test" 或 "val" 分别表示训练集、测试集或验证集
图像
在EasyPortrait上进行训练、评估和测试
代码基于 MMSegmentation 0.30.0版本。
模型在8个NVIDIA V100 GPU上使用CUDA 11.2进行训练和评估。
安装过程请按照这里的说明进行,并使用我们仓库中的 requirements.txt 文件。
训练
单GPU模式:
python ./pipelines/tools/train.py ./pipelines/local_configs/easy_portrait_experiments/<model_dir>/<config_file>.py --gpu-id <GPU_ID>
分布式训练模式:
./pipelines/tools/dist_train.sh ./pipelines/local_configs/easy_portrait_experiments/<model_dir>/<config_file>.py <NUM_GPUS>
评估
单GPU模式:
python ./pipelines/tools/test.py <PATH_TO_MODEL_CONFIG> <PATH_TO_CHECKPOINT> --gpu-id <GPU_ID> --eval mIoU
分布式评估模式:
./pipelines/tools/dist_test.sh <PATH_TO_MODEL_CONFIG> <PATH_TO_CHECKPOINT> <NUM_GPUS> --eval mIoU
运行演示
```console python ./pipelines/demo/image_demo.py <图片路径> <模型配置路径> <检查点路径> --palette=easy_portrait --out-file=<输出文件路径> ```作者与贡献者
相关链接
引用
您可以使用以下BibTeX条目引用本论文:
@article{EasyPortrait,
title={EasyPortrait - Face Parsing and Portrait Segmentation Dataset},
author={Kapitanov, Alexander and Kvanchiani, Karina and Kirillova Sofia},
journal={arXiv preprint arXiv:2304.13509},
year={2023}
}
许可证
本作品采用知识共享署名-相同方式共享 4.0 国际许可协议的一个变种进行许可。
请查看具体的许可证。