基于 stable diffusion 制作上世纪90年代的游戏美术风格

2024-05-10 16:20

本文主要是介绍基于 stable diffusion 制作上世纪90年代的游戏美术风格,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 项目背景

目前游戏项目中出现美术产能不足的瓶颈,如果使用 midjourney 之类的第三方生成式人工智能产品生成美术素材的话,一方面需要将我们的美术资产投喂给第三方企业进行风格训练,有安全性上的风险,另一方面,第三方平台生成的素材结合了其他数据集,生成的资产在版权问题上有很多不可控因素。本篇文档介绍一种可以保证版权归属于我们的风格迁移方案。它是基于 Stable Diffusion 技术进行实现的。

2. Stable Diffusion介绍

Stable Diffusion是2022年发布的深度学习文本到图像生成模型。它主要用于根据文本的描述产生详细图像,尽管它也可以应用于其他任务,如内补绘制、外补绘制,以及在提示词指导下产生图生图的翻译。 它是一种潜在扩散模型,由慕尼黑大学的CompVis研究团体开发的各种生成性人工神经网络。它是一种开源的算法,且有现成的代码仓库可以调用。

3. 利用 Stable Diffusion 进行风格迁移

目前,训练Stable Diffusion模型的方法主要有四种,它们分别是:Dreambooth、Textual Inversion、LoRA和Hypernetworks。 DreamBooth是谷歌推出的一个主题驱动的AI生成模型,它可以微调文本到图像扩散模型或新图像的结果。Dreambooth具备个性化结果的能力。 只要有少量图片作为输入(通常3-5张),Dreambooth就可以在调整后的Imagen和其他一些扩散模型的帮助下,生成具有不同背景的基于主题的个性化图像。一旦有图片输入,调整后的Imagen和其他扩散模型就找到唯一标识符,并将其与主题联系起来。在推理时,唯一标识符被用于合成不同上下文中的主题。

3.1 训练集

我们可以用特定风格的美术图片作为训练集,训练生成特定艺术风格的模型,例如我们使用《明星志愿1》的人物立绘素材做训练集,训练了一个名为 star1 的模型,专门用来生成上世纪90年代dos游戏风格的图片。我们仅使用了27张图片作为训练集,如下所示:

3.2 用图片生成器 + prompt 生成图片 (txt2img)

用 stable diffusion 训练好的图片生成器 + 我们生成的 star1 模型 + prompt,就可以通过文本生成特定风格的人物立绘。例如下面三张图片,我们采用的 positive prompt 和 negative prompt 分别是:

((star1)), a handsome 20 year old man, solo, look at viewer, portait, simple background, transparent background

(watermark),sketch, duplicate, ugly, ((text)), ((logo)), monochrome, worst face, (bad and mutated hands:1.3), (worst quality:2.0), (low quality:2.0), (blurry:2.0), horror, geometry, (bad hands), (missing fingers), multiple limbs, bad anatomy, (interlocked fingers:1.2), Ugly Fingers, (extra digit and hands and fingers and legs and arms:1.4), crown braid, ((2girl)), (deformed fingers:1.2), (long fingers:1.2),(bad-artist-anime),extra fingers,fewer fingers,hands up,bad hands, bad feet,shoes, stone, ((bad toe))

生成的图片结果是:

图1图2图3

3.3 利用参考图做风格迁移生成素材(img2img)

此外,我们也可以通过输入一张参考图像,做风格迁移,如下所示,左图是参考图,右图是用我们的 star1 模型进行风格迁移后的图片:

输入图风格迁徙结果

可以看出,我们训练的 star1 模型完美抓住了上世纪90年代dos游戏的画风,注意头发的高光、整齐的发际线,以及人物衣服褶皱处的处理。

虽然我们的训练集中使用的全部是人物素材,但这种风格迁移不仅对人物有效,我们发现对于动物照片,同样能够实现画风风格的迁移,如下图所示,是一只大熊猫吃竹子的照片,及我们用 star1 进行风格迁移后的结果:

输入图风格迁徙结果

我们使用的底层大模型是stable-diffusion-v1-5,它已经提供丰富的txt2img语义支持。而Dreambooth微调文本到图像扩散模型或新图,只负责微调画风。你可以理解为,底模告诉机器这是一只熊猫,熊猫的特征是毛茸茸的哺乳动物,它的颜色如何,耳朵什么样,眼睛什么样,四肢什么样;然后 dreamBooth 告诉机器,毛茸茸的地方应该怎么画,然后机器可以将画风扩散到底模能够解释的语义的所有地方。

4. 训练使用的参数:

4.1 安装环境

首先配置需要的 DreamBooth 环境:

!wget -q https://github.com/ShivamShrirao/diffusers/raw/main/examples/dreambooth/train_dreambooth.py !wget -q https://github.com/ShivamShrirao/diffusers/raw/main/scripts/convert_diffusers_to_original_stable_diffusion.py %pip install -qq git+https://github.com/ShivamShrirao/diffusers %pip install -q -U --pre triton %pip install -q accelerate transformers ftfy bitsandbytes==0.35.0 gradio natsort safetensors xformers

4.2 引入初始模型

引入初始模型并设置保存路径:

`save_to_gdrive = False #@param {type:“boolean”} if save_to_gdrive: from google.colab import drive drive.mount(‘/content/drive’)

#@markdown Name/Path of the initial model. MODEL_NAME = “runwayml/stable-diffusion-v1-5” #@param {type:“string”}

#@markdown Enter the directory name to save model at.

OUTPUT_DIR = “stable_diffusion_weights/star01” #@param {type:“string”} if save_to_gdrive: OUTPUT_DIR = “/content/drive/MyDrive/” + OUTPUT_DIR else: OUTPUT_DIR = “/content/” + OUTPUT_DIR

print(f"[*] Weights will be saved at {OUTPUT_DIR}")

!mkdir -p $OUTPUT_DIR`

4.3 训练使用的参数

!python3 train_dreambooth.py \ --pretrained_model_name_or_path=$MODEL_NAME \ --pretrained_vae_name_or_path="stabilityai/sd-vae-ft-mse" \ --output_dir=$OUTPUT_DIR \ --revision="fp16" \ --with_prior_preservation --prior_loss_weight=1.0 \ --seed=1337 \ --resolution=512 \ --train_batch_size=1 \ --train_text_encoder \ --mixed_precision="fp16" \ --use_8bit_adam \ --gradient_accumulation_steps=1 \ --learning_rate=1e-6 \ --lr_scheduler="constant" \ --lr_warmup_steps=0 \ --num_class_images=50 \ --sample_batch_size=4 \ --max_train_steps=800 \ --save_interval=10000 \ --save_sample_prompt="star1" \ --concepts_list="concepts_list.json"

用最后一次训练存储的权值进行一次生成,可以预览到训练的模型的风格化能力:

image.png

这里直接将该软件分享出来给大家吧~

1.stable diffusion安装包

随着技术的迭代,目前 Stable Diffusion 已经能够生成非常艺术化的图片了,完全有赶超人类的架势,已经有不少工作被这类服务替代,比如制作一个 logo 图片,画一张虚拟老婆照片,画质堪比相机。

最新 Stable Diffusion 除了有win多个版本,就算说底端的显卡也能玩了哦!此外还带来了Mac版本,仅支持macOS 12.3或更高版本

在这里插入图片描述

2.stable diffusion视频合集

我们在学习的时候,往往书籍源码难以理解,阅读困难,这时候视频教程教程是就很适合了,生动形象加上案例实战,一步步带你入坑stable diffusion,科学有趣才能更方便的学习下去。

在这里插入图片描述

3.stable diffusion模型下载

stable diffusion往往一开始使用时图片等无法达到理想的生成效果,这时则需要通过使用大量训练数据,调整模型的超参数(如学习率、训练轮数、模型大小等),可以使得模型更好地适应数据集,并生成更加真实、准确、高质量的图像。

在这里插入图片描述

4.stable diffusion提示词

提示词是构建由文本到图像模型解释和理解的单词的过程。可以把它理解为你告诉 AI 模型要画什么而需要说的语言,整个SD学习过程中都离不开这本提示词手册。

在这里插入图片描述

5.SD从0到落地实战演练

在这里插入图片描述

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名SD大神的正确特征了。

这份完整版的stable diffusion资料我已经打包好,需要的点击下方添加,即可前往免费领取!

这篇关于基于 stable diffusion 制作上世纪90年代的游戏美术风格的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/976950

相关文章

90、k8s之secret+configMap

一、secret配置管理 配置管理: 加密配置:保存密码,token,其他敏感信息的k8s资源 应用配置:我们需要定制化的给应用进行配置,我们需要把定制好的配置文件同步到pod当中容器 1.1、加密配置: secret: [root@master01 ~]# kubectl get secrets ##查看加密配置[root@master01 ~]# kubectl get se

国产游戏崛起:技术革新与文化自信的双重推动

近年来,国产游戏行业发展迅猛,技术水平和作品质量均得到了显著提升。特别是以《黑神话:悟空》为代表的一系列优秀作品,成功打破了过去中国游戏市场以手游和网游为主的局限,向全球玩家展示了中国在单机游戏领域的实力与潜力。随着中国开发者在画面渲染、物理引擎、AI 技术和服务器架构等方面取得了显著进展,国产游戏正逐步赢得国际市场的认可。然而,面对全球游戏行业的激烈竞争,国产游戏技术依然面临诸多挑战,未来的

Android 10.0 mtk平板camera2横屏预览旋转90度横屏拍照图片旋转90度功能实现

1.前言 在10.0的系统rom定制化开发中,在进行一些平板等默认横屏的设备开发的过程中,需要在进入camera2的 时候,默认预览图像也是需要横屏显示的,在上一篇已经实现了横屏预览功能,然后发现横屏预览后,拍照保存的图片 依然是竖屏的,所以说同样需要将图片也保存为横屏图标了,所以就需要看下mtk的camera2的相关横屏保存图片功能, 如何实现实现横屏保存图片功能 如图所示: 2.mtk

用Unity2D制作一个人物,实现移动、跳起、人物静止和动起来时的动画:中(人物移动、跳起、静止动作)

上回我们学到创建一个地形和一个人物,今天我们实现一下人物实现移动和跳起,依次点击,我们准备创建一个C#文件 创建好我们点击进去,就会跳转到我们的Vision Studio,然后输入这些代码 using UnityEngine;public class Move : MonoBehaviour // 定义一个名为Move的类,继承自MonoBehaviour{private Rigidbo

火柴游戏java版

代码 /*** 火柴游戏* <p>* <li>有24根火柴</li>* <li>组成 A + B = C 等式</li>* <li>总共有多少种适合方式?</li>* <br>* <h>分析:</h>* <li>除去"+"、"="四根,最多可用火柴根数20根。</li>* <li>全部用两根组合成"1",最大数值为1111。使用枚举法,A和B范围在0~1111,C为A+B。判断</li>** @

国产游戏行业的崛起与挑战:技术创新引领未来

国产游戏行业的崛起与挑战:技术创新引领未来 近年来,国产游戏行业蓬勃发展,技术水平不断提升,许多优秀作品在国际市场上崭露头角。从画面渲染到物理引擎,从AI技术到服务器架构,国产游戏已实现质的飞跃。然而,面对全球游戏市场的激烈竞争,国产游戏技术仍然面临诸多挑战。本文将探讨这些挑战,并展望未来的机遇,深入分析IT技术的创新将如何推动行业发展。 国产游戏技术现状 国产游戏在画面渲染、物理引擎、AI

尼采:在世纪的转折点上

孤独是一颗值得理解的心灵寻求理解而不可得,它是悲剧性的;无聊是一颗空虚的心灵寻求消遣而不可得,它是喜剧性的;寂寞是寻求普通人间温暖而不可得,它是中性的。我最孤独的时候就是无聊和寂寞过后无法排解才让我感到孤独!

第四次北漂----挣个独立游戏的素材钱

第四次北漂,在智联招聘上,有个小公司主动和我联系。面试了下,决定入职了,osg/osgearth的。月薪两万一。 大跌眼镜的是,我入职后,第一天的工作内容就是接手他的工作,三天后他就离职了。 我之所以考虑入职,是因为 1,该公司有恒歌科技的freex平台源码,可以学学,对以前不懂的解解惑。 2,挣点素材钱,看看张亮002的视频,他用了6000多,在虚幻商城买的吸血鬼游戏相关的素材,可以玩两年。我

OpenStack离线Train版安装系列—0制作yum源

本系列文章包含从OpenStack离线源制作到完成OpenStack安装的全部过程。 在本系列教程中使用的OpenStack的安装版本为第20个版本Train(简称T版本),2020年5月13日,OpenStack社区发布了第21个版本Ussuri(简称U版本)。 OpenStack部署系列文章 OpenStack Victoria版 安装部署系列教程 OpenStack Ussuri版

OpenStack镜像制作系列5—Linux镜像

本系列文章主要对如何制作OpenStack镜像的过程进行描述记录 CSDN:OpenStack镜像制作教程指导(全) OpenStack镜像制作系列1—环境准备 OpenStack镜像制作系列2—Windows7镜像 OpenStack镜像制作系列3—Windows10镜像 OpenStack镜像制作系列4—Windows Server2019镜像 OpenStack镜像制作