AI绘画风格化实战

这篇具有很好参考价值的文章主要介绍了AI绘画风格化实战。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在社交软件和短视频平台上,我们时常能看到各种特色鲜明的视觉效果,比如卡通化的图片和中国风的视频剪辑。这些有趣的风格化效果其实都是图像风格化技术的应用成果。

风格化效果举例

MidLibrary 这个网站提供了不同的图像风格,每一种都带有鲜明的特色。
MidLibrary

它总共包含了以下几大类别的样式:

  • 艺术技法(Artistic Techniques):367种
  • 艺术流派和题材(Genres + Art Movements):286种
  • 标题(Titles):256种
  • 画家(Painters):1308种
  • 插画师(Illustrators):820种
  • 摄影师(Photographers):637种
  • 各种艺术家(Various Artists):254种
  • 雕塑家和装置艺术家(Sculptors + Installation Artists):212种
  • 设计师(Designers):145种
  • 时装设计师(Fashion Designers):125种
  • 导演(Filmmakers):104种
  • 建筑师(Architects):100种
  • 街头艺术家(Street Artists):57种
  • 版画家(Printmakers):34种

总共有4705种不同的艺术风格被收录在这个库中。从具体的艺术家,画派,题材等多个维度对 Midjourney 的图片风格进行了分类和汇总,可以说是非常全面和系统的一个Midjourney样式参考库。这对使用Midjourney的用户来说可以提供很大的便利和灵感。
AI绘画风格化实战,gpt,AI作画,AIGC,AI,人工智能,stable diffusion,风景,ai绘画
AI绘画风格化实战,gpt,AI作画,AIGC,AI,人工智能,stable diffusion,风景,ai绘画
AI绘画风格化实战,gpt,AI作画,AIGC,AI,人工智能,stable diffusion,风景,ai绘画

图生图代码实战

关于图生图背后的原理,前面文章有讲过。在 ControlNet 提出之前,我们在各种短视频平台上看到的图像风格化效果,大多是使用图生图的方法来完成的。我们简单回顾一下图生图背后的原理。在图生图中,我们对原始图像进行加噪,通过重绘强度这个参数控制加噪的步数,并把加噪的结果作为图像生成的初始潜在表示,然后使用你提供的 prompt 来引导输出图像的风格。

AI绘画Stable Diffusion关键技术解析

import requests
import torch
from PIL import Image
from io import BytesIO

from diffusers import StableDiffusionImg2ImgPipeline

device = "cuda"
pipe = StableDiffusionImg2ImgPipeline.from_pretrained("zhyemmmm/ToonYou")
pipe = pipe.to(device)

url = "https://ice.frostsky.com/2023/08/26/2c809fbfcb030dd8a97af3759f37ee29.png"#
response = requests.get(url)
init_image = Image.open(BytesIO(response.content)).convert("RGB")
init_image = init_image.resize((512, 512))

prompt = "1girl, fashion photography"

images = []

# 我们的重绘强度分别设置为0.05, 0.15, 0.25, 0.35, 0.5, 0.75
for strength in [0.05, 0.15, 0.25, 0.35, 0.5, 0.75]:
  image = pipe(prompt=prompt, image=init_image, strength=strength, guidance_scale=7.5).images[0]
  images.append(image)

1.导入需要的库:requests用于网络请求,torch为深度学习框架,PIL用于图像处理,BytesIO用于在内存中读取网络图片。

2.初始化Stable Diffusion的图片到图片模型,加载一个预训练的卡通化模型。

3.定义设备为GPU。将模型加载到GPU上。

4.定义网络图片URL,发送请求获取图片,读取为PIL Image格式。调整图片大小为512x512。

5.定义prompt,表示目标风格,这里是"1girl, fashion photography",意为单人女性时尚照。

6.定义一个空列表images,用于保存生成图片。

7.循环生成图片:分别设置不同的strength参数,代表噪声重绘强度,值越大表示风格迁移越完整。调用模型pipe生成图片,添加到images中。

8.循环结束后,images列表中即为不同程度风格迁移的图片。

AI绘画风格化实战,gpt,AI作画,AIGC,AI,人工智能,stable diffusion,风景,ai绘画

ControlNet-使用边缘轮廓条件

我们仍旧以蒙娜丽莎的图片为例,分别使用 SDXL 模型的 Canny 控制模式和 SD1.5 模型的指令级修图控制模式。
首先,我们可以加载蒙娜丽莎的图片,并使用 Canny 算子提取图片的轮廓线。

# 加载原始图片,这里你也可以使用自己的图片
original_image = load_image("https://ice.frostsky.com/2023/08/26/2c809fbfcb030dd8a97af3759f37ee29.png").convert('RGB')

# 提取Canny边缘
image = np.array(original_image)
image = cv2.Canny(image, 100, 200)
image = image[:, :, None]
image = np.concatenate([image, image, image], axis=2)
image = Image.fromarray(image)

AI绘画风格化实战,gpt,AI作画,AIGC,AI,人工智能,stable diffusion,风景,ai绘画
然后,我们使用 SDXL-1.0 模型和 Canny 控制条件的 ControlNet 模型。

# 加载ControlNet模型
controlnet = ControlNetModel.from_pretrained("diffusers/controlnet-Canny-sdxl-1.0-mid", torch_dtype=torch.float16)  

# 加载VAE模型  
vae = AutoencoderKL.from_pretrained("madebyollin/sdxl-vae-fp16-fix", torch_dtype=torch.float16)

# 创建StableDiffusionXLControlNetPipeline管道
pipe = StableDiffusionXLControlNetPipeline.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0", controlnet=controlnet, vae=vae, torch_dtype=torch.float16)

# 启用CPU卸载加速
pipe.enable_model_cpu_offload()

# 后面可以通过pipe生成控制网络图

完成这些准备工作后,我们就可以通过prompt来控制生成图像的风格了。例如可以使用下面4条prompt,依次将蒙娜丽莎图像转换为卡通风格、梵高风格、赛博朋克风格和机器人风格。当然,也建议你发挥创造力,实现更多有趣的风格转换。

# 结合ControlNet进行文生图

# 这里可以更换为你想要的风格,只需要修改prompt即可
prompt = "a smiling woman, winter backbround, cartoon style"
# prompt = "a smiling woman, summer backbround, van gogh style"
# prompt = "a smiling woman, busy city, cyberpunk style"
# prompt = "a smiling robot"

# 设置随机种子
generator = torch.manual_seed(1025) 

# 设置负prompt,避免生成不合需求的内容
negative_prompt = "lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, Normal quality, jpeg artifacts, signature, watermark, username, blurry"

# 设置ControlNet条件缩放参数  
controlnet_conditioning_scale = 0.6  

# 生成图像
images = pipe(
    [prompt]*2, # 提示 
    num_inference_steps=50, 
    negative_prompt=[negative_prompt]*2, 
    image=image, 
    controlnet_conditioning_scale=controlnet_conditioning_scale,
    generator = generator
).images


AI绘画风格化实战,gpt,AI作画,AIGC,AI,人工智能,stable diffusion,风景,ai绘画

ControlNet-使用指令级修图模式

指令修图模式下,只需提供指令式提示,说明执行的转换操作,ControlNet 即可生成目标图像。比如让图像着火,无需添加复杂信息,在指令修图模式中说明“add fire”,整个画面立即燃起火焰。显然,指令修图模式更加灵活高效,无需额外控制条件输入(如轮廓线等),即可生成新图像。这种能力是否可用于图像风格化?当然可以。
我们仍以蒙娜丽莎画像为例,先加载 SD1.5 基础模型和对应的 ControlNet 指令修图模型。

# 加载ControlNet模型
checkpoint = "lllyasviel/control_v11e_sd15_ip2p"
controlnet = ControlNetModel.from_pretrained(checkpoint, torch_dtype=torch.float16)

# 创建StableDiffusionControlNetPipeline管道
pipe = StableDiffusionControlNetPipeline.from_pretrained("runwayml/stable-diffusion-v1-5", controlnet=controlnet, torch_dtype=torch.float16) 

# 启用CPU卸载加速
pipe.enable_model_cpu_offload()  

# 定义prompt
prompt = "make it spring"
prompt = "make it summer" 
prompt = "make it autumn"
prompt = "make it winter"

# 设置随机种子
generator = torch.manual_seed(0)

# 生成图像  
image_style1 = pipe(prompt, num_inference_steps=30, generator=generator, image=original_image).images[0]

# 通过pipe和prompt控制生成不同季节风格图片

AI绘画风格化实战,gpt,AI作画,AIGC,AI,人工智能,stable diffusion,风景,ai绘画

模型融合的技巧

实际上,除了使用自己训练的模型进行风格化,使用不同SD模型进行融合也是一种常见技巧,可以快速调制出特色鲜明的AI绘画风格。

模型融合本质上是对多个模型进行加权混合,得到一个合并后的新模型。比如希望将Anything V5和ToonYou两个模型进行融合,只需给每个模型的权重分别乘以一个系数,然后相加。在WebUI中,可以选择Checkpoint Merger窗口完成模型融合。例如在Weighted sum模式下,融合后模型权重计算方式如下:
Anything V5模型
ToonYou

*新模型权重 = 模型A (1 - M) + 模型B * M

其中M为加权系数。通过调节系数大小可以控制不同模型在融合模型中的贡献度。
AI绘画风格化实战,gpt,AI作画,AIGC,AI,人工智能,stable diffusion,风景,ai绘画
在 Add difference 这个模式下,我们需要提供三个模型,将模型 B 和模型 C 的权重差值以一定的权重加到原始模型 A 上。融合后模型权重的计算方式你可以看后面的公式,公式中的 M 仍是加权系数。

新模型权重 = 模型 A + (模型 B - 模型 C) * M

AI绘画风格化实战,gpt,AI作画,AIGC,AI,人工智能,stable diffusion,风景,ai绘画
我们可以分别测试一下融合模型的生成效果。对于 Weighted sum 模式,我们将 Anything V5 模型和 ToonYou 模型按照加权系数 0.5 的方式进行融合。你可以点开图片查看我的参数设置。
AI绘画风格化实战,gpt,AI作画,AIGC,AI,人工智能,stable diffusion,风景,ai绘画
AI绘画风格化实战,gpt,AI作画,AIGC,AI,人工智能,stable diffusion,风景,ai绘画

Prompt:1girl, fashion photography [女生形象]
Prompt:1boy, fashion photography  [男生形象]
Negative Prompt:EasyNegative 
采样器:Eular a
随机种子:603579160
采样步数:20
分辨率:512x512
CFG Scale: 7

结语

人生如朝露,醒时同放光。众生平等贵,固然艺术家。执笔挥毫处,情怀高下立。非有天分休,谈何尽绚烂。

欢迎留言讨论!

我们分别以图生图、ControlNet 边缘条件和 ControlNet 指令修图为例,完成了图像风格化的项目实战,并探讨了多模型融合调制新模型的原理和 WebUI 操作技巧。

我是李孟聊AI,独立开源软件开发者,SolidUI作者,对于新技术非常感兴趣,专注AI和数据领域,如果对我的文章内容感兴趣,请帮忙关注点赞收藏,谢谢!文章来源地址https://www.toymoban.com/news/detail-806644.html

到了这里,关于AI绘画风格化实战的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Unity Shader】Plane实现风格化水

    写在前面 长文警告!!!!! 很久没更新博客了,,这次是要做一个风格化水效果,是基于Plane着色实现水面效果。 项目:Unity 2017.4.40f1 Build-in,因此实现过程会跟URP有些出入(例如获取相机深度图等等),但思路都是一样的。 以《RIME》 和《原神》为例: 想实现的是二者

    2024年02月08日
    浏览(38)
  • 【Unity URP】风格化草地01:实现方法概述

    写在前面 最近本专业开始多很多事情了,要开始建模写论文了(不然研究生毕不了业),TA方面的学习进度更慢了,,so sad。 废话不多说,这篇文章其实是个小总结,毕竟学习新东西就是先要当一只copy cat(不是)。 至于草地交互,把草地做出来再说! 2021.5 【Unity】ShaderG

    2023年04月21日
    浏览(49)
  • MATLAB GUI的多种数字图像处理(图像风格化)

        本课程设计基于MATLAB GUI进行创建UI界面,并集成多种图像处理,包括图像模糊、图像锐化、BBHE直方图均衡化、图像素描、图像反色、图像浮雕、canny边缘检测、图像膨胀、图像腐蚀、图像油画功能,同时也给了保存图像的功能,经运行验证,UI界面可视化良好,图像处理

    2024年02月03日
    浏览(48)
  • 在 Blender 和 3DCoat 中创建风格化的幻想屋

    今天云渲染小编给大家带来的是CG艺术家Brian Nguyen 最近的项目“一个风格化的幻想屋”幕后制作,讨论了 Blender 中的建模过程和 3DCoat 中的纹理过程,并详细介绍了如何设置灯光和K动画。 我是 Brian Nguyen,程式化的 3D 艺术家,一个喜欢幻想和可爱、怪异、狂野和美好事物的人

    2024年02月11日
    浏览(85)
  • 【Unity URP】风格化树01:SpeedTree制作插片树

    写在前面 OMG,距离上一篇已经过去3天了,今天是ddl,赶紧水一篇(不是)做树模型的记录文章。 做树的方法有很多,3D建模软件手撸、Houdni程序化生成、或者SpeedTree和TreeIt,在定下来用ST做插片树之前,我做了几个简单的尝试。 直接建模! 树干 - 几个球变形面 - 在面上用粒

    2024年02月14日
    浏览(51)
  • 【Unity URP】PBR转NPR风格化场景01:描边

    写在前面 风格化不像PBR,好像没有套路可言,,,简直是《怎么好看怎么来》的最大化实践了!感觉出的PBR+NPR也是为了更好地利用PBR资产才诞生的这样一个渲染方案。(当然我的评价非常非常的片面,瞎说的) 偶然间看到了b站一位大佬在blender里实现的效果(原链接【blen

    2023年04月09日
    浏览(35)
  • 瑞云介绍使用ZBrush和Marmoset工具包制作的风格化巨怪战斗机

    Renderbus瑞云渲染的小编今天给大家介绍下Gianluca Squillace使用 ZBrush 和 Marmoset 工具包制作巨怪战士的一些技巧。这位艺术家还贴心地告诉大家,有些步骤是可以省略跳过的,这样就可以节省时间,帮助我们快速完成角色的创作啦。快速有用的步骤可以看看下文哦! Gianluca Squil

    2024年02月07日
    浏览(46)
  • (十三)AI作画、AI绘画、AIGC本地大模型

    AI作画近期很火,涌现出了很多AIGC(AI内容生成)的网站、平台,但这些平台都是使用的云上的算力,基本都有使用的各种限制等。 一、本代码自动将大模型下载本地,可以无-限-使-用。但是对硬件的要求较高需要8G显存以上的显卡才能快速出图,用CPU会很慢的。 【同时,针对

    2024年02月11日
    浏览(52)
  • AI绘画 stable diffusion Midjourney 官方GPT文档 AIGC百科全书资料收集

    教学AI绘画 AIGC工具 SD教程 https://yv4kfv1n3j.feishu.cn/docx/MRyxdaqz8ow5RjxyL1ucrvOYnnH 很多友友反馈,在线二维码生成器404不能用了,给大家总结了10个在线二维码生成器,方便大家推广,已同步至群文档

    2024年02月12日
    浏览(44)
  • 蒸汽波风格图不会画?AI作画帮你秒级出图

    在最近几年,AI图像生成技术在视觉艺术领域得到了广泛应用,可以通过数据和机器学习技术来创作出非常有趣的艺术品。今天我就带来的图片风格是:蒸汽波混搭二次元。 蒸汽波混搭二次元图像的创作,大都是以现有的二次元图像作为基础,借助AI图像生成技术进行简单的

    2024年02月12日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包