PaddleGAN -- 年龄和性别转换功能使用
引言
项目结构:
- 关于模型,个人感觉这个内置模型应该是下载paddleGAN包时候就已经有了,下图为模型缓存路径
step1 分割处理图像
- 无论是性别转换还是年龄转换都需要该步骤
- 首先是将照片处理成大头贴的大小,方便脸部变化;还有就是会降低分辨率(左侧dst.png才是处理后结果),如下图所示
python -u pixel2style2pixel.py \
--input_image '输入图片路径' \
--output_path '输出图片路径' \
--model_type ffhq-inversion \
--seed 233 \
--size 1024 \
--style_dim 512 \
--n_mlp 8 \
--channel_multiplier 2
- 关于处理参数的介绍,项目文档如下解释:
step2 图片转换
性别转换
- 第二步就是进行年轻/衰老的处理(网图,不要上纲上线)
python -u styleganv2editing.py \
--latent '第一步输出路径' \
--output_path '该步输出路径' \
--model_type ffhq-config-f \
--size 1024 \
--style_dim 512 \
--n_mlp 8 \
--channel_multiplier 2 \
--direction_name age \
--direction_offset -3
-
direction_offset范围在[-5, 5]之间最好,太小也就是太年轻化嘴部和鼻子会变型,太大在+8左右就会自动给人物带上眼镜,越往后越恐怖,慎用
-
其他参数测试效果差别不大,就是图片更白一些。(seed参数经过测试没啥影响,或者说影响并不明显)
-
其他情况的测试(完全侧面会报错)
- 可以看到侧脸会在处理的第一步处理时候就稍微纠正一些,照片上有水印也会被去掉;
- 眼镜的影响很小,甚至给变老可调节的参数范围都增大了
性别转换
- 同样要先分割处理图片后进行面部转换(参数同样是[-5,5])
python -u styleganv2editing.py \
--latent '../pic/output_1/test2/dst.npy' \
--output_path '../pic/output_2/test2/test2_gen2/' \
--model_type ffhq-config-f \
--size 1024 \
--style_dim 512 \
--n_mlp 8 \
--channel_multiplier 2 \
--direction_name gender \
--direction_offset 2
结尾
- 不管是性别还是年龄转换都有一个共同点就是风格都差不多,可以明显看到年龄转换主要就是体现在人物脸盘和五官缩小来达到年轻化的效果,用皱纹和头发的变化甚至自动带上了眼镜;性别转换主要集中于女性的头发变长嘴唇变薄以及鼻梁处,男性则是头发变短变差,鼻子和耳朵变大类似大猩猩的感觉
- 还有就是个人测试,如果是美颜图片在step1处理时候会有去美颜的效果,如果该效果还觉得ok再去进行转换,效果可以参考实例,如果step1结果不满意,后续大概率也不会很满意了
转载自:https://juejin.cn/post/7211415965241966653