StoryDiffusion漫画创作节活动分享-VOD/创意
随着人工智能技术的发展,AI在创意产业的应用越来越广泛。为了帮助开发者更好地理解和应用这些新技术,华为云推出了“绘梦AI:StoryDiffusion漫画创作节”活动。本次活动结合了华为云ModelArts一站式AI开发平台和流行的图像生成模型Stable Diffusion,旨在通过趣味创作案例展示AI绘画的技术原理和实现过程,让参与者能够体验到如何快速创建和部署自己的AI漫画创作工具。
华为云ModelArts平台简介
华为云ModelArts是一个面向开发者的全栈式AI开发平台,它提供了从数据处理、模型训练到推理服务的一整套解决方案。ModelArts不仅支持多种主流深度学习框架,还配备了多规格的GPU资源,可以满足不同规模项目的需求。对于那些需要大规模参数模型训练的任务,如使用万亿参数级别的语言或视觉模型,ModelArts同样能提供强大的计算能力支撑。
AI绘画的技术原理
AI绘画的核心在于使用机器学习算法来模仿人类艺术家的创作风格。Stable Diffusion作为一种基于扩散过程的生成对抗网络(GAN),能够在给定提示词的情况下生成高质量的艺术作品。其工作流程大致如下:
- 输入提示词:用户向系统提供一段描述性的文本作为输入。
- 编码器解析:该文本被送入预训练好的编码器中,转化为潜在空间中的表示形式。
- 随机噪声引入:接下来,在这个潜在空间里加入一定量的随机噪声,模拟出一个初始状态。
- 逐步优化:然后,通过一系列迭代步骤逐渐减少噪声,并根据之前的文本提示调整图像特征,直到获得最终的结果。
实现过程及实践指南
为了让开发者更直观地了解整个过程,我们将以“绘梦AI:StoryDiffusion漫画创作节”为例,详细介绍如何利用ModelArts平台进行AI漫画创作。
- 注册并登录华为云账号:访问华为云官网完成注册后,进入ModelArts控制台开始构建你的第一个AI项目。
- 进入活动页面:进入活动页面后,我们可以直接点击右上角的ModelArts中运行,等待片刻,即可进入到CodeLab的运行环境.要注意的是,本案例需使用 P100 及以上规格运行,请确保运行规格一致,可按照下图切换规格。
活动地址:https://pangu.huaweicloud.cn/gallery/asset-detail.html?id=c1cf0774-59ce-44fc-a4a8-8fcf026d2fec
3. 进入案例体验:这里我们要确保选择对的规格的运行环境,不然会跑不动哦。
*这里温馨提醒下,如果找不到你要的规格,可以退出后重新进入实验哟,亲测有效。
- 下载StoryDiffusion模型:下载StoryDiffusion模型,点击左侧的运行按钮直接运行。
import moxing as mox
mox.file.copy_parallel('obs://modelarts-labs-bj4-v2/case_zoo/StoryDiffusion/StoryDiffusion', 'StoryDiffusion')
mox.file.copy_parallel('obs://modelarts-labs-bj4-v2/course/ModelBox/opus-mt-zh-en', 'opus-mt-zh-en')
mox.file.copy_parallel('obs://modelarts-labs-bj4-v2/course/ModelBox/frpc_linux_amd64', 'frpc_linux_amd64')
5. 配置环境:本案例依赖Python3.10.10及以上环境,因此我们首先创建虚拟环境:
!/home/ma-user/anaconda3/bin/conda clean -i
!/home/ma-user/anaconda3/bin/conda create -n python-3.10.10 python=3.10.10 -y --override-channels --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
!/home/ma-user/anaconda3/envs/python-3.10.10/bin/pip install ipykernel
如下图所示:
再运行下面代码:
import json
import os
data = {
"display_name": "python-3.10.10",
"env": {
"PATH": "/home/ma-user/anaconda3/envs/python-3.10.10/bin:/home/ma-user/anaconda3/envs/python-3.7.10/bin:/modelarts/authoring/notebook-conda/bin:/opt/conda/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/ma-user/modelarts/ma-cli/bin:/home/ma-user/modelarts/ma-cli/bin:/home/ma-user/anaconda3/envs/PyTorch-1.8/bin"
},
"language": "python",
"argv": [
"/home/ma-user/anaconda3/envs/python-3.10.10/bin/python",
"-m",
"ipykernel",
"-f",
"{connection_file}"
]
}
if not os.path.exists("/home/ma-user/anaconda3/share/jupyter/kernels/python-3.10.10/"):
os.mkdir("/home/ma-user/anaconda3/share/jupyter/kernels/python-3.10.10/")
with open('/home/ma-user/anaconda3/share/jupyter/kernels/python-3.10.10/kernel.json', 'w') as f:
json.dump(data, f, indent=4)
创建完成后,稍等片刻,或刷新页面,点击右上角kernel选择python-3.10.10(有时会出现在左上角,同样切换即可)
- 安装依赖库:
%cd StoryDiffusion
!pip install -r requirements.txt
!pip install sentencepiece
!cp ../frpc_linux_amd64 /home/ma-user/anaconda3/envs/python-3.10.10/lib/python3.10/site-packages/gradio/frpc_linux_amd64_v0.2
!chmod +x /home/ma-user/anaconda3/envs/python-3.10.10/lib/python3.10/site-packages/gradio/frpc_linux_amd64_v0.2
- 模型测试:运行如下代码,点击“Running on public URL”后面的链接,即可开启gradio的交互界面,进行模型功能测试。
%env HF_ENDPOINT=https://hf-mirror.com
!python gradio_app_sdxl_specific_id_low_vram.py
8. 进入页面:完成部署后,我们进入页面将会呈现以下界面。
【这里说个前奏】:第一版我刚开始写了个比较长的剧情漫画,但是出现了错误提示,哈哈,所以我改了第二版。
这里我把我的第一版的漫画剧情透露下(当然我上传的时候是英文版哈,这里方便阅读我用中文版):
漫画:《妙女王的古代奇遇》
**第一格:人物介绍**
背景:现代城市街道,高楼林立,车水马龙。
画面:一位年轻女孩站在街边,穿着时尚的连衣裙,手中拿着一本历史书,眼神中透露出对古代世界的向往。
文字框(旁白):“林妙妙,21岁,一个热爱历史的女孩,总是梦想着能穿越时空,体验古人的生活。”
**第二格:意外穿越**
背景:突然,周围环境变得模糊,天空中出现奇异光芒,仿佛时间在这一刻停滞。
画面:林妙妙惊讶地张大了嘴巴,手中的书飞向空中,她被一道强光包围。
文字框(对话):“这...这是怎么回事?”
**第三格:初到古代**
背景:一片华丽的宫殿庭院,红墙绿瓦,侍女们匆忙走动。
画面:林妙妙穿着华丽的皇后服饰,站在镜子前,一脸茫然。镜子里映出的是一个完全陌生但美丽的自己。
文字框(旁白):“当她再次睁开眼睛时,发现自己已经置身于一个完全不同的世界——古代。”
**第四格:成为女王**
背景:宏伟的大殿内,文武百官分列两侧,中央是一把金色的龙椅。
画面:林妙妙坐在龙椅上,表情严肃而坚定,接受群臣朝拜。
文字框(对话):“臣等参见女王陛下!”
文字框(旁白):“令人意想不到的是,她不仅穿越来到了古代,还成为了这个国家的女王!”
**第五格:适应新角色**
背景:宫廷花园,阳光明媚,鸟语花香。
画面:林妙妙与几位大臣讨论国事,虽然有些紧张,但她逐渐找到了自信,展现出领导才能。
文字框(对话):“我们该如何应对边境的问题?”
文字框(旁白):“面对突如其来的责任,林妙妙并没有退缩,而是勇敢地承担起了治理国家的重任。”
**第六格:结语**
背景:夜晚,皇宫屋顶,繁星点点。
画面:林妙妙独自一人站在屋顶边缘,望着远方的星空,嘴角微微上扬。
文字框(旁白):“从一个普通的现代女孩,到统治一方的女王,林妙妙的故事才刚刚开始。未来的路或许充满挑战,但她相信,只要心怀梦想,就没有什么是不可能的。”
于是我接下来改了第二版:《女王妙妙的古代奇遇》
这里我们先看下脚本剧情内容哈:
**第一页 - 人物介绍**
格1
画面:一个现代风格的房间,墙上挂着几幅漫画和绘画作品。房间里摆满了书籍和绘画工具。
文字(旁白):“林妙妙,22岁,一名充满梦想的漫画家。”
格2
画面:特写镜头,展示林妙妙的脸庞,她正对着镜子微笑,镜子反射出她的自信与活力。
文字(对话框,林妙妙):“虽然我只是一名普通的漫画家,但我相信有一天我的作品会改变世界。”
**第二页 - 穿越事件**
格1
画面:突然,一道奇异的光芒从天而降,笼罩住了林妙妙。她惊讶地睁大了眼睛。
文字(对话框,林妙妙):“这是怎么回事?!”
格2
画面:光芒消失后,林妙妙发现自己置身于一个古色古香的大殿之中,周围是华丽的装饰和侍女们恭敬的表情。
文字(旁白):“当光芒消散时,林妙妙发现自己已经穿越到了一个陌生的世界——而且成为了这个国家的新女王!”
**第三页 - 新身份适应**
格1
画面:林妙妙坐在王座上,显得有些不知所措,但眼神中透露出坚定。
文字(对话框,林妙妙内心独白):“好吧...既然如此,我就要成为一个称职的女王!”
格2
画面:一位老臣恭敬地站在王座前,向林妙妙鞠躬行礼。
文字(对话框,老臣):“陛下,请问您有何指示?”
**第四页 - 展望未来**
格1
画面:林妙妙站起身来,目光坚定地看着前方,周围的侍女和大臣们都充满了期待。
文字(对话框,林妙妙):“让我们一起创造一个更加美好的国度吧!”
格2
画面:最后的画面展示了林妙妙与老臣并肩站在宫殿的阳台上,俯瞰着广阔的国土。夕阳西下,整个场景充满了希望和未来的光辉。
文字(旁白):“从此,这位来自未来的女王开始了她的传奇统治,带领人民走向繁荣昌盛。”
【终于漫画产出啦】
这里我在说个小插曲,漫画描述每行对应一帧,第一次没注意看,出现很多废图,后面又优化了一次。
下面我们一起看下漫画哈:
(这里我没加字幕,哈哈!~)
关于漫画使用功能的建议我想到几点:
1.增加中文提示词,方便使用;
2.增加多人物多场景多风格,可以生成效果更好;
3.把漫画图和文案字幕用分开栏的格式来输入,可以更灵活;
4.可以针对单张或者多张漫画进行重新生成或者局部优化;
写在最后
通过参与“绘梦AI:StoryDiffusion漫画创作节”,无论是专业程序员还是业余爱好者都能轻松上手AI艺术创作。借助华为云ModelArts的强大功能,即使是没有深厚背景知识的人也能迅速成为AI领域的创作者。此次活动不仅展示了AI技术的魅力,也为未来更多的创新应用场景打开了大门。希望每位参加者都能在这个过程中收获满满,激发无限可能!
- 点赞
- 收藏
- 关注作者
评论(0)