AI-图片转换中国风动漫人物

news2024/9/26 3:32:23

 🏡 个人主页:IT贫道-CSDN博客

 🚩 私聊博主:私聊博主加WX好友,获取更多资料哦~

 🔔 博主个人B栈地址:豹哥教你学编程的个人空间-豹哥教你学编程个人主页-哔哩哔哩视频


目录

1. AI卡通秀原理

2. 安装Anconda3

3. 安装Python3

4. 安装依赖

5. 下载项目

6. 下载模型

​​​​​​​7. 运行项目

8. 项目效果图


1. AI卡通秀原理

人像卡通风格渲染的目标是,在保持原图像ID信息和纹理细节的同时,将真实照片转换为卡通风格的非真实感图像。我们的思路是,从大量照片/卡通数据中习得照片到卡通画的映射。一般而言,基于成对数据的pix2pix方法能达到较好的图像转换效果,但本任务的输入输出轮廓并非一一对应,例如卡通风格的眼睛更大、下巴更瘦;且成对的数据绘制难度大、成本较高,因此我们采用unpaired image translation方法来实现。

Unpaired image translation流派最经典方法是CycleGAN,但原始CycleGAN的生成结果往往存在较为明显的伪影且不稳定。近期的论文U-GAT-IT提出了一种归一化方法——AdaLIN,能够自动调节Instance Norm和Layer Norm的比重,再结合attention机制能够实现精美的人像日漫风格转换。

与夸张的日漫风不同,我们的卡通风格更偏写实,要求既有卡通画的简洁Q萌,又有明确的身份信息。为此我们增加了Face ID Loss,使用预训练的人脸识别模型提取照片和卡通画的ID特征,通过余弦距离来约束生成的卡通画。

此外,我们提出了一种Soft-AdaLIN(Soft Adaptive Layer-Instance Normalization)归一化方法,在反规范化时将编码器的均值方差(照片特征)与解码器的均值方差(卡通特征)相融合。

模型结构方面,在U-GAT-IT的基础上,我们在编码器之前和解码器之后各增加了2个hourglass模块,渐进地提升模型特征抽象和重建能力。

由于实验数据较为匮乏,为了降低训练难度,我们将数据处理成固定的模式。首先检测图像中的人脸及关键点,根据人脸关键点旋转校正图像,并按统一标准裁剪,再将裁剪后的头像输入人像分割模型去除背景。

​​​​​​​2. 安装Anconda3

Anaconda是一个开源的Python发行版本,python是一个编译器,如果不使用Anaconda那么安装起来会比较痛苦,各个库之间的依赖性就很难连接的很好。Anaconda可以看做Python的一个集成安装,里面集成了很多关于python科学计算的第三方库,安装它后就默认安装了python、IPython、集成开发环境Spyder和众多的包和模块,包含了conda(conda 是开源包(packages)和虚拟环境(environment)的管理系统。)、Python等180多个科学包及其依赖项。因为包含了大量的科学包,Anaconda 的下载文件比较大,大概几百兆左右,如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和 Python)。

我们可以从Anaconda官网 Anaconda | The World’s Most Popular Data Science Platform 下载Anaconda,一般官网下载比较慢,可以选择使用镜像下载,地址如下:

Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

现在之后直接双击安装即可,注意安装路径中不要有中文和空格。安装完成之后,配置环境变量,如下图:

配置完成之后,打开CMD命令窗口输入:conda,验证是否安装成功:

​​​​​​​3. 安装Python3

基于Anconda安装Python3,修复老照片这里安装python使用至少python3.6版本。命令如下:

#安装python环境
conda create --name python36_cartoon python=3.6
#卸载python环境
conda remove --name python36_cartoon --all

4. 安装依赖

​
pip install torch-1.9.0+cu111-cp36-cp36m-win_amd64.whl

pip install torchvision-0.10.0+cu111-cp36-cp36m-win_amd64.whl

pip install torchaudio-0.9.0-cp36-cp36m-win_amd64.whl

pip install -i Simple Index tensorflow-gpu==1.14

pip install -i Simple Index face-alignment

pip install -i Simple Index dlib

pip install -i Simple Index onnxruntime

​

5. 下载项目

项目下载地址:https://github.com/minivision-ai/photo2cartoon,直接下载就可以,下载好的项目名字为“photo2cartoon-master”,将下载项目解压到无中文路径中,这里放在J盘下:

​​​​​​​6. 下载模型

  • 人像卡通化预训练模型:photo2cartoon_weights.pt(20200504更新),存放在models路径下。
  • 头像分割模型:seg_model_384.pb,存放在utils路径下。
  • 人脸识别预训练模型:model_mobilefacenet.pth,存放在models路径下。(From: InsightFace_Pytorch)
  • 卡通画开源数据:cartoon_data,包含trainB和testB。
  • 人像卡通化onnx模型:photo2cartoon_weights.onnx 谷歌网盘,存放在models路径下。

​​​​​​​7. 运行项目

1) 添加项目需要的运行文件

将“2DFAN4-cd938726ad.zip”存放在目录“C:\Users\wubai/.cache\torch\hub\checkpoints\”目录下。

下载地址:https://www.adrianbulat.com/downloads/python-fan/2DFAN4-cd938726ad.zip

2) 进入“photo2cartoon-master”目录下执行命令

#切换python环境

conda activate python36_cartoon



#执行如下命令转化图片,--photo_path 指定输入的图片,--save_path 将结果保存到的目录

python test.py --photo_path ./input/zixia.jpg --save_path ./output/zixia.jpg

8. 项目效果图


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1380007.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

序章 搭建环境篇—准备战士的剑和盾

第一步:安装node.js Node.js 内置了npm,只要安装了node.js,就可以直接使用 npm,官网地址: Download | Node.js 在这里不建议安装最新版本的node.js,可以选跟我一样的版本,node版本v16.13.2 链…

Maven多模块项目打包:Unable to find main class

目录 一、错误来源 二、原始pom文件 common模块 pojo模块 server模块 父工程 三、解决方法 四、修改pom文件 common模块 pojo模块 server模块(不改动) 父工程 一、错误来源 使用Maven对项目进行多模块开发,在项目打包时出现错误…

Grind75第8天 | 278.第一个错误的版本、33.搜索旋转排序数组、981.基于时间的键值存储

278.第一个错误的版本 题目链接:https://leetcode.com/problems/first-bad-version 解法: 二分查找。 如果一个版本为错误版本(isBadVersion为True),那么第一个错误版本在该版本左侧(包括该版本&#x…

nova组件讲解和glance对接swift

1、openstack架构 (1)openstack是一种SOA架构(微服务就是从这种架构中剥离出来的) (2)这种SOA架构,就是把每个服务独立成一个组件,每个组件通过定义好的api接口进行互通 &#xff…

RK3568平台 温度传感器芯片SD5075

一.SD5075芯片简介 SD5075 是一款高准确度温度传感器芯片内含高精度测温 ADC,在-40C ~100C 范围内典型误差小于0.5C,在-55C~125C 范围内典型误差小于士1.0C。通过两线 IC/SMBus接口可以很方便与其他设备建立通信。设置 A2~A0 的地址线,可支持…

如何使用“通义听悟”提高工作和学习效率

如何使用通义听悟提高工作和学习效率 通义听悟是一款利用人工智能技术,自动为音频和视频内容提供转写、翻译、总结、检索等功能的在线工具。它可以在会议、学习、访谈、培训等场景下,帮助您记录、阅读、整理、复习音视频信息,成为您的工作和…

深入浅出线程原理

Linux 中的线程本质 线程接口由 Native POSIX Thread Library 提供,即:NPTL 库函数 线程被称为轻量级进程 (Light Weight Process) 每一个线程在内核中都对应一个调度实体,拥有独立的结构体 (task_struct) 内核设计:一个进程对…

python + selenium 初步实现数据驱动

如果在进行自动化测试的时候将测试数据写在代码中,若测试数据有变,不利于数据的修改和维护。但可以尝试通过将测试数据放到excel文档中来实现测试数据的管理。 示例:本次涉及的项目使用的12306 selenium 重构------三层架构 excel文件数据如…

【RV1126 学习】SDK/ U-Boot/kernel/rootfs 编译学习

文章目录 RV1126芯片介绍rv1126 模块代码目录相关说明 SDK 包下的脚本使用build.sh 脚本使用envsetup.sh 脚本使用mkfirmware.sh 脚本使用rkflash.sh 脚本使用 U-Boot 编译和配置uboot 的配置修改编译操作 kernel 的修改编译rootfs 编译和配置buildroot 配置busybox 配置 RV112…

如何从电脑找回/恢复误删除的照片

按 Shift Delete 以后会后悔吗?想要恢复已删除的照片吗?好吧,如果是这样的话,那么您来对地方了。在本文中,我们将讨论如何从 PC 中检索已删除的文件。 自从摄影的概念被曝光以来,人们就对它着迷。早期的照…

SQL:一行中存在任一指标就显示出来

当想要统计的两个指标不在一张表中时,需要做关联。但很多情况下,也没有办法保证其中一张表的维度是全的,用left join或right join可能会导致数据丢失。所以借助full join处理。 如,将下面的数据处理成表格中的效果(维…

IntersectionObserver

IntersectionObserver 这个API主要实现图片懒加载、加载更多等等。 该API作用是观察两个元素之间有没有交叉,有没有重叠 现在要做的是当图片跟视口有交叉的情况下,把data-src的图片路径替换给src属性 //第一个参数是 回调,第二个参数的 配置…

论文翻译 | 【深入挖掘Java技术】「底层原理专题」深入分析一下并发编程之父Doug Lea的纽约州立大学的ForkJoin框架的本质和原理

深入分析一下并发编程之父Doug Lea的纽约州立大学的ForkJoin框架的本质和原理这里写目录标题 前提介绍摘要引言设计性能优秀任务粒度合理Cilk框架和基础fork/join的可移植性FJTask框架设计思路线程映射关系拆分子任务排队及调度设置调度管理 标准示例 未完待续 前提介绍 Doug …

【linux驱动开发】在linux内核中注册一个杂项设备与字符设备以及内核传参的详细教程

文章目录 注册杂项设备驱动模块传参注册字符设备 开发环境: windows ubuntu18.04 迅为rk3568开发板 注册杂项设备 相较于字符设备,杂项设备有以下两个优点: 节省主设备号:杂项设备的主设备号固定为 10,在系统中注册多个 misc 设备驱动时&…

c++学习笔记-STL案例-机房预约系统2-创建身份类

前言 衔接上一篇“c学习笔记-STL案例-机房预约系统1-准备工作”,本文主要包括:创建身份类,建立了整个系统的框架,Identity基类,派生类:Sudent、Teacher、Manager,基类无实现源文件,…

旺店通·企业版和金蝶云星空接口打通对接实战

旺店通企业版和金蝶云星空接口打通对接实战 对接源平台:旺店通企业版 慧策(原旺店通)是一家技术驱动型智能零售服务商,基于云计算PaaS、SaaS模式,以一体化智能零售解决方案,帮助零售企业数字化智能化升级,实…

【python】matplotlib画图常用功能汇总

目录: 一、matplotlib画图风格二、matplotlib图像尺寸和保存分辨率三、matplotlib子图相关功能创建子图:绘制子图:设置子图属性:调整布局:示例代码: 四、matplotlib字体设置字体族和字体的区别字体选择和设置1. Matplo…

蓝桥杯单片机组备赛——数码管静态显示

文章目录 一、预备知识1.1 段选&位选1.2 静态显示和动态显示 二、原理图分析三、代码编写思路四、最终代码五、静态数码管显示练习与答案5.1 练习题目5.2 练习答案 一、预备知识 1.1 段选&位选 段选:段选指的是选择数码管哪个“段”应该被点亮。一般情况下…

py连接sqlserver数据库报错问题处理。20009

报错 pymssql模块连接sqlserver出现如下错误: pymssql._pymssql.OperationalError) (20009, bDB-Lib error message 20009, severity 9:\nUnable to connect: Adaptive Server is unavailable or does not exist (passwordlocalhost)\n) 解决办法: 打…

超声波清洗机洗眼镜有用吗?越贵的超声波清洗机洗的越干净吗?

首先!作为一个眼镜党同时兼在眼镜店工作的人,用超声波清洗机洗眼镜可以说是非常高效的一种清洁方式,远比于我们手动清洗还要方便,现在市面上有非常多超声波清洗机的清洗技术是不太行的,所以大家在购买的时候还是需要多…