{"id":13585160,"url":"https://github.com/hukenovs/easyportrait","last_synced_at":"2025-10-11T07:11:24.230Z","repository":{"id":157131274,"uuid":"605105551","full_name":"hukenovs/easyportrait","owner":"hukenovs","description":"EasyPortrait - Face Parsing and Portrait Segmentation Dataset","archived":false,"fork":false,"pushed_at":"2024-09-19T15:23:29.000Z","size":3534,"stargazers_count":284,"open_issues_count":16,"forks_count":21,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-03-30T04:09:23.700Z","etag":null,"topics":["arxiv-papers","dataset","deep-learning","face-parsing","image-segmentation","people-segmentation","portrait-segmentation","research","segmentation"],"latest_commit_sha":null,"homepage":"https://arxiv.org/abs/2304.13509","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hukenovs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license/en_us.pdf","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-22T13:07:58.000Z","updated_at":"2025-03-25T09:51:35.000Z","dependencies_parsed_at":"2024-08-22T20:02:18.375Z","dependency_job_id":"98a4b9a2-5914-4ab7-ae2e-1aaf8a8b18a3","html_url":"https://github.com/hukenovs/easyportrait","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hukenovs%2Feasyportrait","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hukenovs%2Feasyportrait/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hukenovs%2Feasyportrait/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hukenovs%2Feasyportrait/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hukenovs","download_url":"https://codeload.github.com/hukenovs/easyportrait/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247441060,"owners_count":20939239,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arxiv-papers","dataset","deep-learning","face-parsing","image-segmentation","people-segmentation","portrait-segmentation","research","segmentation"],"created_at":"2024-08-01T15:04:46.433Z","updated_at":"2025-10-11T07:11:19.208Z","avatar_url":"https://github.com/hukenovs.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"![easyportrait](images/main.jpg)\n# EasyPortrait - Face Parsing and Portrait Segmentation Dataset\nWe introduce a large-scale image dataset **EasyPortrait** for portrait segmentation and face parsing. Proposed dataset can be used in several tasks, such as background removal in conference applications, teeth whitening, face skin enhancement, red eye removal or eye colorization, and so on.\n\nEasyPortrait dataset size is about **91.78GB**, and it contains **40,000** RGB images (~38.3K FullHD images) with high quality annotated masks. This dataset is divided into training set, validation set and test set by subject `user_id`. The training set includes 30,000 images, the validation set includes 4,000 images, and the test set includes 6,000 images.\n\nFor more information see our paper [EasyPortrait – Face Parsing and Portrait Segmentation Dataset](https://arxiv.org/abs/2304.13509).\n\n## 🔥 Changelog\n - **`2023/11/13`**: We release EasyPortrait 2.0. ✌️\n   - **40,000** RGB images (~38.3K FullHD images)\n   - Added diversity by region, race, human emotions and lighting conditions\n   - The data was further cleared and new ones were added\n   - Train/val/test split: (30,000) **75%** / (4,000) **10%** / (6,000) **15%** by subject `user_id`\n   - Multi-gpu training and testing\n   - Added new models for face parsing and portrait segmentation\n   - Dataset size is **91.78GB**\n   - **13,705** unique persons\n - **`2023/02/23`**: EasyPortrait (Initial Dataset) 💪\n   - Dataset size is **26GB**\n   - **20,000** RGB images (~17.5K FullHD images) with **9** classes annotated\n   - Train/val/test split: (14,000) **70%** / (2,000) **10%** / (4,000) **20%** by subject `user_id`\n   - **8,377** unique persons\n   \u003c!-- - The distance is 0.5 to 4 meters from the camera --\u003e\n\n Old EasyPortrait dataset is also available into branch `EasyPortrait_v1`!\n## Downloads\n\n| Link                                                                                                          | Size  |\n|---------------------------------------------------------------------------------------------------------------|-------|\n| [`images`](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/v2/images.zip)           | 91.8 GB  |\n| [`annotations`](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/v2/annotations.zip) | 657.1 MB  |\n| [`meta`](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/v2/meta.zip) | 1.9 MB  |\n| [`train set`](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/v2/train.zip)         | 68.3 GB |\n| [`validation set`](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/v2/val.zip)      | 10.7 GB  |\n| [`test set`](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/v2/test.zip)           | 12.8 GB  |\n\nAlso, you can download EasyPortrait dataset from [Kaggle](https://www.kaggle.com/datasets/kapitanov/easyportrait).\n\n### Structure\n```\n.\n├── images.zip\n│   ├── train/         # Train set: 30k\n│   ├── val/           # Validation set: 4k\n│   ├── test/          # Test set: 6k\n├── annotations.zip\n│   ├── train/\n│   ├── val/\n│   ├── test/\n├── meta.zip       # Meta-information (width, height, brightness, imhash, user_id)\n...\n```\n\n## Models\nWe provide some pre-trained models as the baseline for portrait segmentation and face parsing. We use mean Intersection over Union (mIoU) as the main metric.\n\n#### Portrait segmentation:\n| Model Name                                     | Parameters (M) | Input shape | mIoU      |\n|------------------------------------------------|----------------|-------------|-----------|\n| [BiSeNet-V2](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/bisenet-ps.pth)                       | 56.5          | 384 x 384 | 97.95     |\n| [DANet](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/danet-ps.pth)                    | 190.2           | 384 x 384   | 98.63    |\n| [DeepLabv3](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/deeplabv3-ps.pth)                    | 260           | 384 x 384   | 98.63    |\n| [ExtremeC3Net](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/extremenet-ps.pth)                    | 0.15           | 384 x 384   | 96.54    |\n| [Fast SCNN](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/fast_scnn-ps.pth)               | 6.13          | 384 x 384 | 97.64 |\n| [FCN + MobileNetv2](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/fcn-ps.pth)               | 31.17           | 384 x 384 | 98.19 |\n| [FPN + ResNet50](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/fpn-ps-1024.pth)                 | 108.91           | 1024 × 1024   | 98.54    |\n| [FPN + ResNet50](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/fpn-ps-512.pth)               | 108.91            | 512 × 512 | 98.64 |\n| [FPN + ResNet50](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/fpn-ps.pth)               | 108.91          | 384 x 384 | 98.64 |\n| [FPN + ResNet50](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/fpn-ps-224.pth)               | 108.91          | 224 × 224 | 98.31 |\n| [SegFormer-B0](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/segformer-ps-1024.pth)  | 14.9          | 1024 × 1024 |98.74     |\n| [SegFormer-B0](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/segformer-ps-512.pth)            | 14.9           | 512 × 512   | 98.66      |\n| [SegFormer-B0](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/segformer-ps.pth)          | 14.9           | 384 x 384 | 98.61     |\n| [SegFormer-B0](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/segformer-ps-224.pth)            | 14.9           | 224 × 224   | 98.17     |\n| [SINet](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/sinet-ps.pth)                    | 0.13          | 384 x 384   | 93.32  |\n\n\n#### Face parsing:\n| Model Name                                     | Parameters (M) | Input shape | mIoU      |\n|------------------------------------------------|----------------|-------------|-----------|\n| [BiSeNet-V2](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/bisenet-fp.pth)                       | 56.5          | 384 x 384 | 76.72     |\n| [DANet](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/danet-fp.pth)                    | 190.2           | 384 x 384   | 79.3    |\n| [DeepLabv3](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/deeplabv3-fp.pth)                    | 260           | 384 x 384   | 79.11    |\n| [EHANet](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/ehanet-fp.pth)                    | 44.81          | 384 x 384   | 72.56    |\n| [Fast SCNN](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/fast_scnn-fp.pth)               | 6.13          | 384 x 384 | 67.56|\n| [FCN + MobileNetv2](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/fcn-fp.pth)               | 31.17           | 384 x 384 | 75.23 |\n| [FPN + ResNet50](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/fpn-fp-1024.pth)                 | 108.91           | 1024 × 1024   | 85.37   |\n| [FPN + ResNet50](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/fpn-fp-512.pth)               | 108.91            | 512 × 512 | 83.33 |\n| [FPN + ResNet50](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/fpn-fp.pth)               | 108.91          | 384 x 384 | 81.83  |\n| [FPN + ResNet50](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/fpn-fp-224.pth)               | 108.91          | 224 × 224 | 75.6 |\n| [SegFormer-B0](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/segformer-fp-1024.pth)  | 14.9          | 1024 × 1024 |85.42     |\n| [SegFormer-B0](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/segformer-fp-512.pth)            | 14.9           | 512 × 512   | 83.19      |\n| [SegFormer-B0](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/segformer-fp.pth)          | 14.9           | 384 x 384 | 81.38    |\n| [SegFormer-B0](https://rndml-team-cv.obs.ru-moscow-1.hc.sbercloud.ru/datasets/easyportrait/experiments/models/segformer-fp-224.pth)            | 14.9           | 224 × 224   | 74.83     |\n\n\n## Annotations\n\nAnnotations are presented as 2D-arrays, images in `*.png` format with several classes:\n\n| Index | Class      |\n|------:|:-----------|\n|     0 | BACKGROUND |\n|     1 | PERSON     |\n|     2 | SKIN       |\n|     3 | LEFT_BROW  |\n|     4 | RIGHT_BROW |\n|     5 | LEFT_EYE   |\n|     6 | RIGHT_EYE  |\n|     7 | LIPS       |\n|     8 | TEETH      |\n\nAlso, we provide some additional meta-information for dataset in `annotations/meta.zip` file:\n\n|    | image_name | user_id | height | width | set | brightness |\n|---:|:--------------|:--------|:----------|------:|-------:|-----------:|\n|  0 | a753e021-...  | 56...   | 720    |  960 |   train |        126 |\n|  1 | 4ff04492-...  | ba...   | 1920    |  1440 |   test |        173 |\n|  2 | e8934c99-...  | 1d...   | 1920    |  1440 |   val |        187 |\n\nwhere:\n- `image_name` - image file name without extension\n- `user_id` - unique anonymized user ID\n- `height` - image height\n- `width` - image width\n- `brightness` - image brightness\n- `set` - \"train\", \"test\" or \"val\" for train / test / val subsets respectively\n\n## Images\n![easyportrait](images/data.jpg)\n\n\n## Training, Evaluation and Testing on EasyPortrait\n\n\u003eThe code is based on [MMSegmentation](https://github.com/open-mmlab/mmsegmentation) with 0.30.0 version.\n\nModels were trained and evaluated on 8 NVIDIA V100 GPUs with CUDA 11.2.\n\nFor installation process follow the instructions [here](https://github.com/open-mmlab/mmsegmentation/blob/v0.30.0/docs/en/get_started.md#installation) and use the **requirements.txt** file in our repository.\n\n\u003cdetails\u003e\n  \u003csummary\u003eTraining\u003c/summary\u003e\n\n  For single GPU mode:\n  ```console\n  python ./pipelines/tools/train.py ./pipelines/local_configs/easy_portrait_experiments/\u003cmodel_dir\u003e/\u003cconfig_file\u003e.py --gpu-id \u003cGPU_ID\u003e\n  ```\n\n  For distributed training mode:\n  ```console\n  ./pipelines/tools/dist_train.sh ./pipelines/local_configs/easy_portrait_experiments/\u003cmodel_dir\u003e/\u003cconfig_file\u003e.py \u003cNUM_GPUS\u003e\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eEvaluation\u003c/summary\u003e\n\n  For single GPU mode:\n  ```console\n  python ./pipelines/tools/test.py \u003cPATH_TO_MODEL_CONFIG\u003e  \u003cPATH_TO_CHECKPOINT\u003e --gpu-id \u003cGPU_ID\u003e --eval mIoU\n  ```\n\n  For distributed evaluation mode:\n  ```console\n  ./pipelines/tools/dist_test.sh \u003cPATH_TO_MODEL_CONFIG\u003e  \u003cPATH_TO_CHECKPOINT\u003e \u003cNUM_GPUS\u003e --eval mIoU\n  ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eRun demo\u003c/summary\u003e\n\n  ```console\n  python ./pipelines/demo/image_demo.py \u003cPATH_TO_IMG\u003e \u003cPATH_TO_MODEL_CONFIG\u003e \u003cPATH_TO_CHECKPOINT\u003e --palette=easy_portrait --out-file=\u003cPATH_TO_OUT_FILE\u003e\n  ```\n\u003c/details\u003e\n\n## Authors and Credits\n- [Alexander Kapitanov](https://www.linkedin.com/in/hukenovs)\n- [Karina Kvanchiani](https://www.linkedin.com/in/kvanchiani)\n- [Elizaveta Petrova](https://www.linkedin.com/in/kleinsbotle)\n- [Karen Efremyan](https://www.linkedin.com/in/befozg)\n- [Alexander Sautin](https://www.linkedin.com/in/alexander-sautin-b5039623b)\n\n## Links\n- [arXiv](https://arxiv.org/abs/2304.13509)\n- [Paperswithcode](https://paperswithcode.com/dataset/easyportrait)\n- [Kaggle](https://www.kaggle.com/datasets/kapitanov/easyportrait)\n- [Habr](https://habr.com/ru/companies/sberdevices/articles/731794/)\n- [Gitlab](https://gitlab.aicloud.sbercloud.ru/rndcv/easyportrait)\n\n## Citation\nYou can cite the paper using the following BibTeX entry:\n\n    @article{EasyPortrait,\n        title={EasyPortrait - Face Parsing and Portrait Segmentation Dataset},\n        author={Kapitanov, Alexander and Kvanchiani, Karina and Kirillova Sofia},\n        journal={arXiv preprint arXiv:2304.13509},\n        year={2023}\n    }\n\n## License\n\u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by-sa/4.0/\"\u003e\u003cimg alt=\"Creative Commons License\" style=\"border-width:0\" src=\"https://i.creativecommons.org/l/by-sa/4.0/88x31.png\" /\u003e\u003c/a\u003e\u003cbr /\u003eThis work is licensed under a variant of \u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by-sa/4.0/\"\u003eCreative Commons Attribution-ShareAlike 4.0 International License\u003c/a\u003e.\n\nPlease see the specific [license](https://github.com/hukenovs/easyportrait/blob/master/license/en_us.pdf).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhukenovs%2Feasyportrait","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhukenovs%2Feasyportrait","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhukenovs%2Feasyportrait/lists"}