話題沸騰中のオープンソースによるサービス
皆さんはStable Diffusionというサービスをご存じでしょうか?Stable Diffusionとは最近流行っているMidjouneyやmimicといったAIによるお絵描きサービスの一つになります。筆者のブログでは、過去にcrypkoというAIによるお絵描きサービスを紹介したのですが、今回のサービスはもう少し玄人向けなものになります。
Stable Diffusionとは?
Stable Diffusion(ステーブル・ディフュージョン)は、オープンソースとして2022年8月に無償公開された描画AI。仕組みとしてはユーザがテキストで内容を指定して、AI側がそれに答えたAIを作るというもの。Stable Diffusion の開発は、オンライン上の研究コミュニティである ConpVis と LAION、およびロンドンを本拠とする AI 企業 Stability AI によって行われていてデモ版がHugging Faceというオープンソースのサイトで公開されています。
Stable Diffusion はあくまでただのライブラリなので、少しとっつきにくい作業をする必要がありますが公開されたAPIを使って様々な場所で続々とサービスが出ているのでどんなものかの体験はできるでしょう。
photoshopの機能に
LINEで出力
Stable Diffusionを使うメリット
さて、今回は上のような関連サービスではなく、あえてStable Diffusion本体を使ってみましょう。Stable Diffusionを本体を使うことで、
以上のメリットが存在します。後述しますが、今のところかゆいところに手の届くサービスというのはないので、AIで絵を本気で書きたいのであればStable Diffusionを研究する必要がありそうです。
Stable Diffusionの導入方法
さっくりとですが、Stable Diffusionのインストール方法を書いておきます。導入にはpythonが必要です。
pythonインストール方法は↓
自分はAnacondaの環境があったのでそれを使いました。ちなみに、GPU(Nvidia製)のが必須になるので自分の持っているPCにこれがあるのかは確認しておきましょう。
また、Python上でGPUを動かすためのpycudaを使用するためにはMicrosoft Visual C++が必要になる(windows)ので以下のページからインストールを忘れずに行いましょう。
上の前提を終わらせたのち、Stable Diffusionの導入方法については以下サイトを参考にするとうまくいきます。
要約をすると、
・Diffusers(画像生成ライブラリ)を導入
・Stable Diffusionのアクセストークンの獲得
の2種類を行うことができます。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 import torch
from diffusers import StableDiffusionPipeline
from torch import autocast
MODEL_ID = "CompVis/stable-diffusion-v1-4"
DEVICE = "cuda"
YOUR_TOKEN = "取得トークン"
pipe = StableDiffusionPipeline.from_pretrained(MODEL_ID, revision="fp16", torch_dtype=torch.float16, use_auth_token=YOUR_TOKEN)
pipe.to(DEVICE)
prompt = "fantacy city,Realistic Landscape painting,4K,"
with autocast(DEVICE):
for num in range(10):
image = pipe(prompt, guidance_scale=7.5)["sample"][0]
s=str(num)+".png"
image.save(s)
後は上のような感じにコードを書けばいい感じになります。
promptの内部が注文に使う文章ですが、英単語をカンマ区切りで表現して書くといい感じに出力してくれます。
生成できる作品
こんな感じのが生成できます
“fantacy city,Realistic Landscape painting,4K”
“apple on the table,Realistic,4K,”
“kawaii girl,idol,pixiv,4K”
かわいいアニメキャラはかけるのか?
超えそうで超えられない壁
さて、このStable Diffusion、現段階での質なのですが、かわいいアニメキャラを生成するにはまだまだ足りないというのが現状です。足りないところは色々あるのですが、以下の点があるのかなと
基本的に、現在のAIは一枚の絵に色をそのままぬっていく感じです。デジタルで絵を描いている人なら多分レイヤーをわけて、これは肌、これは服などと分類しながら行っていくのですが、AIはそういうのを全く考慮しないので、顔だけはうまいことかけても全身を書こうとすると破綻するというのが現状です。その辺は後発サービスに期待したり、自身で改造を行っていく必要がありますね。
コメント