【導入と考察】AIによるお絵描きソフトStable Diffusionは絵師の仕事を奪うのか?

スポンサーリンク
便利ツール

話題沸騰中のオープンソースによるサービス

皆さんはStable Diffusionというサービスをご存じでしょうか?Stable Diffusionとは最近流行っているMidjouneymimicといった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の機能に

文章から画像を生成するAI「Stable Diffusion」をPhotoshopで動かすプラグイン「alpaca」が登場
入力した文章に沿った画像を自動生成できるAIが「Stable Diffusion」です。そんなStable Diffusionを、Photoshopのプラグインとして使用できるようになる「alpaca」が登場しました。

LINEで出力

画像生成AI「Stable Diffusion」がLINEのチャットbotに 九工大の学生が作成 日本語にも対応
画像生成AI「Stable Diffusion」を使ったLINEのAIチャットbotサービス「お絵描きばりぐっどくん」が公開された。文章を送ることで、AIが画像を生成する。

Stable Diffusionを使うメリット

さて、今回は上のような関連サービスではなく、あえてStable Diffusion本体を使ってみましょう。Stable Diffusionを本体を使うことで、

・AIによる画像生成の基本を理解

・他サービスだと規制されやすい画像(エロ、グロ系)がうっかりでてもリスク0

・本体ソースコードが読めるので改造すれば自分好みの絵が生成可能に

以上のメリットが存在します。後述しますが、今のところかゆいところに手の届くサービスというのはないので、AIで絵を本気で書きたいのであればStable Diffusionを研究する必要がありそうです

Stable Diffusionの導入方法

さっくりとですが、Stable Diffusionのインストール方法を書いておきます。導入にはpythonが必要です。

pythonインストール方法は↓

Pythonのインストール方針 - python.jp
Python環境構築ガイド では、Pythonを初めて使う方の学習用に、できるだけ簡単で汎用性のあるPythonのインストール方法を紹介しています。 本来、Pythonのインストール自体はそう面倒なことではないのですが、Webでちょっと検索...

自分はAnacondaの環境があったのでそれを使いました。ちなみに、GPU(Nvidia製)のが必須になるので自分の持っているPCにこれがあるのかは確認しておきましょう。

また、Python上でGPUを動かすためのpycudaを使用するためにはMicrosoft Visual C++が必要になる(windows)ので以下のページからインストールを忘れずに行いましょう。

Visual Studio をダウンロードいただきありがとうございます - Visual Studio

上の前提を終わらせたのち、Stable Diffusionの導入方法については以下サイトを参考にするとうまくいきます。

【簡単】ローカル環境でStable Diffusionを実行する方法
「精度の高いAIアートをPythonで試したい」 「ローカル環境でStable Diffusionを動かしたい」このような場合には、この記事の内容が参考になります。この記事では、ローカル環境で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はそういうのを全く考慮しないので、顔だけはうまいことかけても全身を書こうとすると破綻するというのが現状です。その辺は後発サービスに期待したり、自身で改造を行っていく必要がありますね。

コメント

タイトルとURLをコピーしました