StoryDiffusion漫画创作节活动分享-VOD/创意

举报
郑小健 发表于 2024/12/19 11:39:39 2024/12/19
【摘要】 随着人工智能技术的发展,AI在创意产业的应用越来越广泛。为了帮助开发者更好地理解和应用这些新技术,华为云推出了“绘梦AI:StoryDiffusion漫画创作节”活动。本次活动结合了华为云ModelArts一站式AI开发平台和流行的图像生成模型Stable Diffusion,旨在通过趣味创作案例展示AI绘画的技术原理和实现过程,让参与者能够体验到如何快速创建和部署自己的AI漫画创作工具。

随着人工智能技术的发展,AI在创意产业的应用越来越广泛。为了帮助开发者更好地理解和应用这些新技术,华为云推出了“绘梦AI:StoryDiffusion漫画创作节”活动。本次活动结合了华为云ModelArts一站式AI开发平台和流行的图像生成模型Stable Diffusion,旨在通过趣味创作案例展示AI绘画的技术原理和实现过程,让参与者能够体验到如何快速创建和部署自己的AI漫画创作工具。

华为云ModelArts平台简介

华为云ModelArts是一个面向开发者的全栈式AI开发平台,它提供了从数据处理、模型训练到推理服务的一整套解决方案。ModelArts不仅支持多种主流深度学习框架,还配备了多规格的GPU资源,可以满足不同规模项目的需求。对于那些需要大规模参数模型训练的任务,如使用万亿参数级别的语言或视觉模型,ModelArts同样能提供强大的计算能力支撑。

AI绘画的技术原理

AI绘画的核心在于使用机器学习算法来模仿人类艺术家的创作风格。Stable Diffusion作为一种基于扩散过程的生成对抗网络(GAN),能够在给定提示词的情况下生成高质量的艺术作品。其工作流程大致如下:

  1. 输入提示词:用户向系统提供一段描述性的文本作为输入。
  2. 编码器解析:该文本被送入预训练好的编码器中,转化为潜在空间中的表示形式。
  3. 随机噪声引入:接下来,在这个潜在空间里加入一定量的随机噪声,模拟出一个初始状态。
  4. 逐步优化:然后,通过一系列迭代步骤逐渐减少噪声,并根据之前的文本提示调整图像特征,直到获得最终的结果。

实现过程及实践指南

为了让开发者更直观地了解整个过程,我们将以“绘梦AI:StoryDiffusion漫画创作节”为例,详细介绍如何利用ModelArts平台进行AI漫画创作。

  1. 注册并登录华为云账号:访问华为云官网完成注册后,进入ModelArts控制台开始构建你的第一个AI项目。
  2. 进入活动页面:进入活动页面后,我们可以直接点击右上角的ModelArts中运行,等待片刻,即可进入到CodeLab的运行环境.要注意的是,本案例需使用 P100 及以上规格运行,请确保运行规格一致,可按照下图切换规格。

活动地址:https://pangu.huaweicloud.cn/gallery/asset-detail.html?id=c1cf0774-59ce-44fc-a4a8-8fcf026d2fec

3. 进入案例体验:这里我们要确保选择对的规格的运行环境,不然会跑不动哦。
*这里温馨提醒下,如果找不到你要的规格,可以退出后重新进入实验哟,亲测有效。

  1. 下载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(有时会出现在左上角,同样切换即可)

  1. 安装依赖库
%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
  1. 模型测试:运行如下代码,点击“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技术的魅力,也为未来更多的创新应用场景打开了大门。希望每位参加者都能在这个过程中收获满满,激发无限可能!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。