CPM 项目介绍
什么是CPM?
CPM(Color-Pattern Makeup)是一个整合了化妆转移的全面框架,能够在轻度和极端妆容风格上表现优于以往的前沿模型。它主要包括一个改进的颜色转移分支(基于BeautyGAN)和一个新颖的图案转移分支。
数据集简介
CPM项目引入了四个全新数据集供训练和评估使用,它们分别是CPM-Real、CPM-Synt-1、CPM-Synt-2 及 Stickers 数据集。这些数据集包括从Google图片搜索中抓取的实拍妆容风格图片,以及合成的带图案分割掩膜和化妆/非化妆三元组图像。使用这些数据集仅限于研究或教育目的,并在采用这些数据集进行研究成果发表时需要引用相关论文。
怎样开始?
需求环境
- Python版本要求为3.7
- PyTorch版本为1.6.0
- TensorFlow GPU版本为1.14
- 还需要安装
segmentation_models_pytorch
安装步骤
-
克隆CPM项目仓库:
git clone https://github.com/VinAIResearch/CPM.git cd CPM
-
安装依赖:
conda env create -f environment.yml
下载预训练模型
- 下载CPM的预训练模型文件
color.pth
和pattern.pth
,并将它们放置在checkpoints
文件夹中。 - 下载需要的 PRNet 预训练模型并保存到
PRNet/net-data
中。
使用示例
你可以在Google Colab中尝试运行以下命令:
# 色彩和图案同时转移:
CUDA_VISIBLE_DEVICES=0 python main.py --style ./imgs/style-1.png --input ./imgs/non-makeup.png
# 仅颜色转移:
CUDA_VISIBLE_DEVICES=0 python main.py --style ./imgs/style-1.png --input ./imgs/non-makeup.png --color_only
# 仅图案转移:
CUDA_VISIBLE_DEVICES=0 python main.py --style ./imgs/style-1.png --input ./imgs/non-makeup.png --pattern_only
结果图像将保存为 result.png
。
训练和评估
- 色彩图案转移分支虽然独立,但共享相同的工作流程,包括数据准备和模型训练。具体细节可参考各分支的更详细说明。
遇到问题?
如遇运行问题,可以查看常见问题解决章节,或者在GitHub项目页面中创建新的问题反馈。
这个CPM框架通过色彩和图案的传递,为真人和合成的数据集提供了更优秀的妆容转移能力,是面向化妆和美容领域的优秀工具。