免费开源AI人像照片自动转漫画|卡通风格|3D效果|手绘教程

您所在的位置:网站首页 卡漫画手绘 免费开源AI人像照片自动转漫画|卡通风格|3D效果|手绘教程

免费开源AI人像照片自动转漫画|卡通风格|3D效果|手绘教程

2024-07-10 21:47| 来源: 网络整理| 查看: 265

multi-style_portrait_stylization|人像多风格漫画-openAI维基百科 multi-style_portrait_stylization|人像多风格漫画-openAI维基百科 multi-style_portrait_stylization|人像多风格漫画-openAI维基百科 multi-style_portrait_stylization|人像多风格漫画 模型描述

街拍,人像,团建照片…随意上传您心仪的照片,选择对应风格(日漫风,3D风,手绘风等等),一键即可转换为不同风格的卡通化图片!多风格的人像模型已经内置好,点点鼠标就可以抢占朋友圈的C位。

期望模型使用方式以及适用范围

该任务采用一种全新的域校准图像翻译模型DCT-Net(Domain-Calibrated Translation),利用小样本的风格数据,即可得到高保真、强鲁棒、易拓展的人像风格转换模型,并通过端到端推理快速得到风格转换结果。

使用方式和范围

使用方式:

支持GPU/CPU推理,在任意真实人物图像上进行直接推理;

使用范围:

包含人脸的人像照片(3通道RGB图像,支持PNG、JPG、JPEG格式),人脸分辨率大于100×100,总体图像分辨率小于3000×3000,低质人脸图像建议预先人脸增强处理。

目标场景:

艺术创作、社交娱乐、隐私保护场景,自动化生成卡通肖像。 模型局限性以及可能的偏差 低质/低分辨率人脸图像由于本身内容信息丢失严重,无法得到理想转换效果,可预先采用人脸增强模型预处理图像解决; 小样本数据涵盖场景有限,人脸暗光、阴影干扰可能会影响生成效果。 模型推理流程 预处理 人脸关键点检测 人脸提取&对齐,得到256×256大小的对齐人脸 推理 为控制推理效率,人脸及背景resize到指定大小分别推理,再背景融合得到最终效果; 亦可将整图依据人脸尺度整体缩放到合适尺寸,直接单次推理 数据评估

使用CelebA公开人脸数据集进行评测,在FID/ID/用户偏好等指标上均达SOTA结果:

MethodFIDIDPref.APref.BCycleGAN57.080.557.11.4U-GAT-IT68.400.585.01.5Toonify55.270.623.74.2pSp69.380.601.62.5Ours35.920.7182.690.5 multi-style_portrait_stylization|人像多风格漫画-openAI维基百科原图 multi-style_portrait_stylization|人像多风格漫画-openAI维基百科3D multi-style_portrait_stylization|人像多风格漫画-openAI维基百科手绘 multi-style_portrait_stylization|人像多风格漫画-openAI维基百科卡通 multi-style_portrait_stylization|人像多风格漫画-openAI维基百科素描 multi-style_portrait_stylization|人像多风格漫画-openAI维基百科艺术 部署教程

如果您是初学者,对于命令行不太理解,那么请按下键盘上的Win键+R键后,在弹出的新窗口内输入CMD并按下回车,打开CMD窗口,按顺序执行如下的每一条命令。

首先我们需要确认一个工作目录,用来存放multi-style_portrait_stylization的相关环境依赖文件。本站所选择的目录为D盘的根目录下openai.wiki文件夹,完整路径为:D:\openai.wiki\multi-style_portrait_stylization。

检测D盘是否在openai.wiki目录下有没有multi-style_portrait_stylization文件夹,没有则创建该文件夹。

if not exist D:\openai.wiki\multi-style_portrait_stylization mkdir D:\openai.wiki\multi-style_portrait_stylization

强制切换工作路径为D盘的openai.wiki\multi-style_portrait_stylization文件夹。

cd /d D:\openai.wiki\multi-style_portrait_stylization

为不影响电脑中的现有环境,请一定要安装Conda,如果您不知道什么是Conda,或者未安装过Conda,请参考如下文章,安装部署Conda之后再继续以下步骤。

Anaconda|Miniconda

在CMD中执行下面的命令行,创建Conda虚拟环境至该项目的目录中,方便日后重装系统也能够正常使用,无需重新部署环境。

conda create -p D:\openai.wiki\multi-style_portrait_stylization\ENV python=3.7

执行完成上面的命令之后,将会在CMD窗口中看到Proceed ([y]/n)?提示,我们直接按下回车即可。

初始化Conda环境,避免后续可能报错。

conda init cmd.exe

激活已创建的Conda环境,这样我们可以将我们后续所需要的所有环境依赖都安装至此环境下。

conda activate D:\openai.wiki\multi-style_portrait_stylization\ENV

执行如下命令,安装阿里达摩院相关依赖。

pip install modelscope

执行如下命令,安装torch依赖。

pip3 install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple

执行如下命令,安装CV2依赖库。

pip install opencv-python

关于tensorflow的安装,支持CPU和GPU双版本,以下两行代码选择其中一个执行安装即可。

如果你想用CPU来计算,请复制第一行内容执行。 如果你想用GPU来计算,请复制第二行内容执行。 pip install --upgrade tensorflow==1.15 pip install --upgrade tensorflow-gpu==1.15

执行如下命令,卸载较新的protobuf版本依赖库。

pip uninstall protobuf

执行如下命令,安装3.20.0版本的protobuf依赖库。

pip install --force-reinstall protobuf==3.20.0

执行如下命令,安装easydict依赖库。

pip install easydict 使用教程

⚠️注意:您所使用的图片必须为PNG格式,如果使用其它格式基本必会报错!

推荐下载VS Code代码编辑器,然后在代码编辑器器内新建一个Python文件,粘贴如下代码,在代码编辑器的右下角选择Python环境为D:\openai.wiki\multi-style_portrait_stylization\ENV。

素描

本次本站先以素描模型为例,让您先将代码能够正常运行,以下是运行时所需要的代码和输出示例。

该模型官方并未给了示例,本站已经帮您写好了相关的代码,复制粘贴即可使用。

注意:请自行修改相应名称和路径为自己项目结构,然后再执行,否则会报错。

# 此脚本由openai.wiki提供,转载请注明出处,谢谢配合。 import cv2 from modelscope.outputs import OutputKeys from modelscope.pipelines import pipeline from modelscope.utils.constant import Tasks img_cartoon = pipeline(Tasks.image_portrait_stylization, model='damo/cv_unet_person-image-cartoon-sketch_compound-models') # 图片路径 resultIMGName = 'Beauty_Girl' # 原图格式 | 尽量不要改 resultIMGFormat = '.png' # 原图路径 resultIMGPath = 'D:\openai.wiki\multi-style_portrait_stylization' # 输出图像名称 outputIMGName = 'Beauty_Girl_FX' # 输出格式 | 尽量不要改 outputFormat = '.png' # 输出路径 outputIMGPath = 'D:\openai.wiki\multi-style_portrait_stylization' result = img_cartoon(('%s/%s%s'%(resultIMGPath,resultIMGName,resultIMGFormat)).replace('\\', '/')) cv2.imwrite((('%s/%s%s'%(outputIMGPath,outputIMGName,outputFormat)).replace('\\', '/')), result[OutputKeys.OUTPUT_IMG]) print ('输出完成') 效果展示

可以看到效果还可以,中规中矩吧。

multi-style_portrait_stylization|人像多风格漫画-openAI维基百科原图 multi-style_portrait_stylization|人像多风格漫画-openAI维基百科素描 其它效果 代码示例

为方便大家使用,本站已经将所有效果的代码整到了一起,大家只使用这一段代码,就可以生成各种效果啦。只需要修改Fun的参数即可。

# 此脚本由openai.wiki提供,转载请注明出处,谢谢配合。 from modelscope.outputs import OutputKeys from modelscope.pipelines import pipeline from modelscope.utils.constant import Tasks import cv2 # 文本识别 class DCT_Net(): def __init__(self, Fun): if Fun == 'SuMiao': # 素描模型 self.img_cartoon = pipeline(Tasks.image_portrait_stylization, model='damo/cv_unet_person-image-cartoon-sketch_compound-models') elif Fun == 'YiShu': # 艺术模型 self.img_cartoon = pipeline(Tasks.image_portrait_stylization, model='damo/cv_unet_person-image-cartoon-artstyle_compound-models') elif Fun == '3D': # 3D模型 self.img_cartoon = pipeline(Tasks.image_portrait_stylization, model='damo/cv_unet_person-image-cartoon-3d_compound-models') elif Fun == 'ShouHui': # 手绘模型 self.img_cartoon = pipeline(Tasks.image_portrait_stylization, model='damo/cv_unet_person-image-cartoon-handdrawn_compound-models') elif Fun == 'KaTong': # 卡通模型 self.img_cartoon = pipeline(Tasks.image_portrait_stylization, model='damo/cv_unet_person-image-cartoon_compound-models') # 读取本地文件 def file_models(self): result = self.img_cartoon(IMG_File) cv2.imwrite(OUT_File, result[OutputKeys.OUTPUT_IMG]) # 自定义配置 Fun = '3D' # 素描=SuMiao;艺术=YiShu;3D;手绘=ShouHui;卡通=KaTong。 IMG_File = 'D:/openai.wiki/multi-style_portrait_stylization/Beauty_Girl.png' # 本地文件路径 OUT_File = 'D:/openai.wiki/multi-style_portrait_stylization/Beauty_Girl_%s.png'%Fun # 文件输出路径 # 以下内容无需修改 DCTNet = DCT_Net(Fun) DCTNet.file_models() 效果展示 multi-style_portrait_stylization|人像多风格漫画-openAI维基百科原图 multi-style_portrait_stylization|人像多风格漫画-openAI维基百科素描 multi-style_portrait_stylization|人像多风格漫画-openAI维基百科3D multi-style_portrait_stylization|人像多风格漫画-openAI维基百科卡通 multi-style_portrait_stylization|人像多风格漫画-openAI维基百科手绘 multi-style_portrait_stylization|人像多风格漫画-openAI维基百科艺术 All in one

如果您希望直接一次性通过一张图输出所有效果,可以使用如下代码,将会自动处理输入的图片,将其循环输出所有特效,非常方便。

# 此脚本由openai.wiki提供,转载请注明出处,谢谢配合。 from modelscope.outputs import OutputKeys from modelscope.pipelines import pipeline from modelscope.utils.constant import Tasks import cv2 # 文本识别 class DCT_Net(): def __init__(self, Fun): if Fun == 'SuMiao': # 素描模型 self.img_cartoon = pipeline(Tasks.image_portrait_stylization, model='damo/cv_unet_person-image-cartoon-sketch_compound-models') elif Fun == 'YiShu': # 艺术模型 self.img_cartoon = pipeline(Tasks.image_portrait_stylization, model='damo/cv_unet_person-image-cartoon-artstyle_compound-models') elif Fun == '3D': # 3D模型 self.img_cartoon = pipeline(Tasks.image_portrait_stylization, model='damo/cv_unet_person-image-cartoon-3d_compound-models') elif Fun == 'ShouHui': # 手绘模型 self.img_cartoon = pipeline(Tasks.image_portrait_stylization, model='damo/cv_unet_person-image-cartoon-handdrawn_compound-models') elif Fun == 'KaTong': # 卡通模型 self.img_cartoon = pipeline(Tasks.image_portrait_stylization, model='damo/cv_unet_person-image-cartoon_compound-models') # 读取本地文件 def file_models(self): result = self.img_cartoon(IMG_File) cv2.imwrite(OUT_File, result[OutputKeys.OUTPUT_IMG]) # 自定义配置 resultIMGName = 'Beauty_Girl' # 图片名称 resultIMGFormat = '.png' # 原图格式 | 尽量不要改 resultIMGPath = 'D:\openai.wiki\multi-style_portrait_stylization' # 原图路径 # 以下内容无需修改 IMG_File = ('%s/%s%s'%(resultIMGPath,resultIMGName,resultIMGFormat)).replace('\\', '/') FX = ['SuMiao','YiShu','3D','ShouHui','KaTong'] for i in range(len(FX)): OUT_File = ('%s/%s_%s%s'%(resultIMGPath,resultIMGName,FX[i],resultIMGFormat)).replace('\\', '/') # 文件输出路径 DCTNet = DCT_Net(FX[i]) DCTNet.file_models() multi-style_portrait_stylization|人像多风格漫画-openAI维基百科原图 multi-style_portrait_stylization|人像多风格漫画-openAI维基百科3D multi-style_portrait_stylization|人像多风格漫画-openAI维基百科艺术 multi-style_portrait_stylization|人像多风格漫画-openAI维基百科卡通 multi-style_portrait_stylization|人像多风格漫画-openAI维基百科手绘 multi-style_portrait_stylization|人像多风格漫画-openAI维基百科素描


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3