(非技術者・初心者向け)著作権フリーでAIイラスト作成をする方法と仕組み
あけましておめでとうございます。AIによる「Happy New Year」でご挨拶をさせていただきます。
2022年は多数の高機能なAIイラスト生成サービスが登場しましたね。歴史的な1年でした。
特にオープンソースで公開されたStable Diffusion、Stable Diffusionsを元にした定額AIイラスト生成サービスのNovelAIは、まるで神絵師が描いたような絵を手軽に量産できてしまったため、良い意味でも悪い意味でも常に話題の中心にありました。
当記事では悪い話題の1つ、著作権や倫理的な問題に焦点を当てます。
Stable Diffusionが学習したデータセットにはDanbooruという海外の画像投稿サイトのものが多く含まれているのですが、こちらのサイトが無断転載の巣窟であるため、著作権的に問題のある画像を元にAIで生成されたイラストにも著作権的なリスクが潜在してしまっています。
今はまだ技術革新に法律や社会が追い付いていない状態であり、画像生成AIはグレーの状態です。私のような人間がグレーに手を出したくないなどと言っている間に、この未来の技術はイラストどころかアニメーションまで作り出すほどまで発展してしまいました。信じられない速度で変革が進んでいます。
こんな時代のうねり真っ只中で著作権が気になるなどと足踏みしていては、あっという間に時代に取り残されてしまいます。もはやそんな倫理観を気にする時代ではなくなりつつあるのかもしれません。
それでも著作権は気になるし、グレーではなく堂々とAIイラスト生成サービスを使いたい、という私のような方のためのAIイラスト関連まとめです。
倫理的問題の改善を目指したDiffusionモデル
Mitsua Diffusionという著作権や倫理的な問題を完全にクリアすることを第一目的とした画像生成モデルがあります。法や倫理よりも技術革新やクオリティを優先しがちなAIイラスト業界においては珍しいスタンスですが、私がずっと待ち望んでいたクリーンなAIイラストです。
[STAFF]
— 絵藍ミツア🖌️芸術専攻AI (@elanmitsua) December 26, 2022
ミツアちゃんのSTEP1ベースモデルである「Mitsua Diffusion CC0」公開🎉
パブリックドメイン/CC0もしくは適切な使用許諾を得た著作画像のみでU-Netをゼロから学習した倫理的Stable Diffusionモデルです💪#stablediffusion #mitsuadiffusioncc0 #mitsuadcc0 #aiarthttps://t.co/lVtqGG5sWw
絵藍ミツア氏はVTuberという体裁を取っておりYouTubeチャンネルも一応ありますが、大枠は「倫理的な問題をクリアしたAIイラスト」を実現するためのプロジェクトのように思われます。
絵藍ミツアが公開しているMitsua Diffusionは、パブリックドメインや許諾を得た画像のみで学習を行った画像生成モデルです。既存のモデルのように著作権を無視して無尽蔵に学習を行ったわけではないので、イラストの質や精度は既存の画像生成AIサービスには全く太刀打ちできません。
それでもSNSで学習に使える画像をオプトイン方式で募集するなどしながら学習を続けています。
Mitsua Diffusionの表現力がどこまで進化するのか、またそれはどれくらいのスピードなのかはまったく未知数です。目まぐるしく進化を続けるAIイラストまわりにおいては悠長すぎるやり方にも思えますが、後ろ暗いところがないというのは長い目で見ると大きな価値だと考えます。
現在のMitsua Diffusion CC0 v1.0の実力は?
せっかく初期モデルが公開されたので、イラストを描いていただきましょう。AIイラストは呪文と呼ばれるスクリプトで依頼をすることで画像を生成してもらいます。狙った画像を描いてもらうためには恐ろしく長い呪文が必要になったりしますが、今回はシンプルなスクリプトで自由に描かせます。
お題1:cat and dog
なかなか愛くるしい猫ちゃんズが出力されました。黒猫ちゃんはちょっと崩れてしまっています。
犬は…?
お題2:dog and cat
今度はワンちゃんと猫ちゃんが同時に出力されましたが、境界線が混ざっているのかいないのか、少し不安になります。
お題3:kawaii anime girl
眉毛が4本あったりと細かいツッコミどころはありますが、パッと見普通にかわいいですね。
公式が描いたAIイラスト
中世のお城スケッチ!!!#mitsuadcc0 #mitsuadiffusioncc0 #aiart pic.twitter.com/XPWyI1G0X9
— 絵藍ミツア🖌️芸術専攻AI (@elanmitsua) January 3, 2023
わーいおせち!!!#mitsuadcc0 #mitsuadiffusioncc0 #aiart pic.twitter.com/dYLkUy2MgF
— 絵藍ミツア🖌️芸術専攻AI (@elanmitsua) January 2, 2023
おはミツア!!
— 絵藍ミツア🖌️芸術専攻AI (@elanmitsua) January 4, 2023
苦手などうぶつかいてみた!
さてこのどうぶつはなんでしょう!!
正解は、いぬです
…絵の勉強がんばります。#おはようVtuber #Vtuber準備中 背景: #mitsuadcc0 pic.twitter.com/79C9OkXAKA
公式さんの投稿を見ていると、人物や動物よりも背景の方が得意なのかもしれません。綺麗な絵を出力することもたまにありますが上手くいってなさそうなことの方が多いです。
ミツアは今はまだよわよわAI
— 絵藍ミツア🖌️芸術専攻AI (@elanmitsua) January 9, 2023
つよつよAIになる日を期待しています。
AIイラストの仕組みと使い方
世にAIイラスト導入記事は数あれど、まったくの初心者である私は、根本的に何をどうすればAIイラストが使えるという状態になるのか分かりませんでした。
AIイラスト関連で出てくる固有名詞は、サービス名だったりモデルだったり様々な性質の用語がごちゃ混ぜになっていて、根本的な仕組みへの理解がないと意味不明で何がゴールでどこがスタートなのかすら分かりません。
私は炊飯器でお米を炊くにはコンセントが必要ですレベルの初歩でつまづきました。今にして考えると、AIイラストを使うのに必要なものは大雑把に以下の2つです。
1.学習済みモデル(以下:AIモデル、またはAI絵師)
簡単に言うと、絵師です。画風やクオリティはAIモデル次第です。先ほど紹介したMitsua DiffusionはこのAIモデルに該当します。
〇〇 Diffusionと言われたらAIモデルのことを指しているのだと解釈して差し支えありません。Diffusionというのは拡散モデルという意味ですが特に気にする必要はありません。
2.AIモデルに対する翻訳機
(翻訳機という表現は便宜上のものです。正確には全然違う概念を翻訳機と例えますので、イメージのお話だと解釈してください。)
これは、人間にとってはAI絵師に「こういう絵を描いてほしい」と依頼するための仕組みであり、AI絵師にとっては作業環境です。
結論を先に言いますが、既存のサービスを使うか、既存のUIを利用するかの2択だと思っておいてください。間違っても非技術者はDiffusersに手を出してはいけません。
さて、翻訳機ですが、翻訳機には種類があります。
NovelAIなどの画像生成AIサービスは、モデルと翻訳機とがセットになったサービスであり、会員登録だけで環境が整います。これが最も簡単で、希望のAIモデルを扱えるサービスが存在する場合は最もおすすめです。
パッケージ化された画像生成AIサービスを使わない場合、Diffusersという拡散モデル用の翻訳機を使う方法がありますが、Diffusersを使うためにPythonというプログラミング言語が必要になります。
AIイラストの導入記事を調べていると、たまに「Google Colab(Colaboratory)」で動かす方法みたいな記事が散見されますが、これは単にブラウザ上でPythonを扱えるというサービスを利用したという意味です。
気になる方はColabで動かすStable Diffusionをどうぞ。
Diffusersを用いるのは王道っぽいのですが、多分非技術者のAIイラスト初心者さんは忘れた方が良いです。手間がかかりすぎます。
まずPython開発環境を構築するだけで手間もあり罠もあり、そして実際にDiffusersを通してAIモデルを動かす際にも大きな手間があります。コマンドプロンプト上でいろいろ書かなければいけないのです。
技術者さんにしか馴染めない翻訳機なので、Diffusersは忘れてください。Diffusersを扱えるレベルの人であれば当記事の浅い解説など不要です。
サービスを利用せず、非技術者かつAIイラスト初心者の方は、Diffusersの代わりに、UIまたはGUIを探してください。UIはユーザーインターフェイスの略で、この場合は翻訳アプリのようなものです。
実際に私がUIを利用して画像生成をするとき、こういった画面で操作をしています。
このUIを動かすためにPythonを利用していますが、コマンドプロンプトで何かプログラムを書いて動かしているわけではありません。
というわけで、非技術者・AIイラスト初心者の方がAIで画像生成環境を整えるなら、既存のサービスを使うか、UIを使うか、このどちらかです。
Mitsua Diffusionの使い方
さて、実際にMitsua Diffusionを使う方法を紹介します
既存のサービスを使う方法と、UIを使う方法を紹介します。
それぞれ長所と短所があります。
既存のサービスを利用すると非常に楽で簡単です。
制約ナシで使いたい場合はUIの利用を検討してみてください。ただ、AIイラストはかなりパソコンのスペックを必要とします。VRAMは最低でも4GBくらいは必要です。VRAMが足りないとUIによっては起動しなかったりします。スペック的な要件を満たせない場合は既存のサービスを利用してください。
既存のサービスを使う方法
Mitsua DiffusionはMEMEPLEXで使えます。ミームプレックスと読みます。
Googleアカウントが必要です。Googleアカウントでログインするだけで使えるようになります。一瞬です。
画像生成時にモデルを選択する項目があるので、mitsua-diffusionを選択するだけで使えます。
無料で使えますが、生成した画像はギャラリーに公開されます。プライベートモードは有料です。無料でプライベートで使いたい場合はローカル環境へのUIのインストールを検討してみてください。
余談ですが、Mitsua Diffusionで画像を生成した後に、他のAIモデルで画像を生成するとクオリティの差にたまげます。Mitsuaはどこまで迫れるのでしょうか。
UIを使う方法
私が使用しているStable Diffusion Web UIを利用する方法を紹介します。
NMKD Stable Diffusion GUIという有名なUIもありますが、私はなぜかソフトに内蔵されているコンソールが起動できずに詰んだので、そちらでMitsua Diffusionが使用できるかは未確認です。
Stable Diffusion Web UIはVRAMが2GBのPCでも動いたという報告自体はありますが、VRAM4GBが最低ラインだと思います。
なお、導入の大筋は以下の記事を参考にしてください。Mitsua Diffusionを使用する際には相違点もあるので、以下の記事に補足する形で使い方を紹介します。
無駄を省いたStable Diffusion Web UIの導入方法。多機能なWindowsローカルGUI環境 | おっさんゲーマーどっとねっと
Pythonインストールの際にCustomize installationでインストール場所を変更すると、「Add Python to environment variables」にチェックを入れても正しい位置に環境パスを通してくれなくて面倒なので、フォルダ変更はしない方が無難です。もしフォルダ変更をする場合はインストール後に必ず手動で環境変数を通してください。
(参考:Stable Diffusion web UI 導入メモ (エラー対処・日本語化))
モデルファイルは、elanmitsuaからダウンロードします。ダウンロード方法ですが、解説記事の通りにコマンドプロンプト上のGitコマンドでStable Diffusion Web UIをインストールするついでに、適当なフォルダで以下のコマンドを実行してください。分かる方はモデルファイルの設置場所で実行してください。
git lfs install
git clone https://huggingface.co/Mitsua/mitsua-diffusion-cc0
するとフォルダ上にmitsua-diffusion-cc0のモデルがダウンロードされるので、C:\stable-diffusion-webui\models\Stable-diffusionに設置してください。
モデルを置くフォルダは、最終的にはこんな感じのファイル構成になります。
紹介記事では解説されていませんが、Mitsua Diffusionを使用する際には同名のckptファイルとyamlファイルのセットが必要です。画像では512と768のもので2セット置いていますが、どちらか1セットだけでも動きますが、どちらかは存在していないとsize mismatch for modelというエラーが出て画像を生成できません。
これの設置方法はこちらのStable Diffusion 2.0の項に解説されています。768の方を使う場合はこんな感じです。
- .ckptファイルをダウンロード
- .yamlファイルを右クリックして名前をつけてリンク先を保存でダウンロード
- どちらもmodels/Stable-Diffusion フォルダに設置(上の画像のように)
- 設定ファイル(.yaml)をckptファイルと同じ名前にリネーム
この設定を行えば、あとは解説サイトの通りに行えば導入が可能です。予測される導入時につまづきそうな罠ポイントとしては、
- Pythonのバージョンが新しすぎるか古すぎてUIが非対応
- Pythonインストール時に環境変数が正しく通っていないせいでUIのインストールが上手くいかない
- VRAM不足でUIが動作しない
- .ckptファイルと.yamlファイルを設置し忘れている
などがあるでしょうか。もしつまづいた場合は見直してみてください。
インストール時に使用したwebui.batですが、起動する際にも都度使用します。
以上で導入は終了です。お疲れさまでした。
最後に:Mitsua Diffusionは本当にクリーンか?
Mitsua Diffusion CC0 Model Cardにも記載されていますが、Mitsua DiffusionはText EncoderとVAEはStable Diffusion v2.1のものを借りています。これについては開発者の方からこんな説明がありました。
こちらなのですが、現状VAEの学習がうまくいかず、間に合いませんでした。U-Netだけでも十分クリーンさは担保できると考え、まずは現状のものをリリースさせていただきました。今後はVAEの学習も検討しております! https://t.co/pfRzwnbpAV
— Yuya Hanai (@hanasaan_) December 26, 2022
VAEとは何なのかという話ですが、専門的すぎて私にはよく分かりません。画像から特徴を抽出して、同じ特徴を持った違う画像を出力するときに役立つ何か、というような印象です。
例えるなら、「かわいい女の子」というカテゴリが指定されたとき、「かわいい女の子」という要素をVAEは学習していて、学習データセットには存在しない新たな「かわいい女の子」という要素を持った画像を出力するもの、といった感じでしょうか。
AIモデルがかわいい女の子という映像の記憶だとしたら、VAEはかわいい女の子という概念の記憶……という浅い理解ですが全然違ったらごめんなさい。
本日、慶應SFCでのダイトさんのData Driven Artのレクチャーで色々紹介させていただきました!
— Yuya Hanai (@hanasaan_) November 6, 2022
参加された学生の皆様に、「倫理的にクリーンな画像生成AIとはなにか」についてアンケートした結果が興味深かったのでシェア。(1/n) https://t.co/49iuWIHSiQ pic.twitter.com/p9Rht5Tz4S
Mitsua Diffusion 、現状では著作権侵害の可能性は、そもそもSDもないから、まぁ、ないけど、やはりVAEまで作らないと、クリーンとは言い難い。
— あるふ (@alfredplpl) December 26, 2022
Mitsua Diffusion のVAEをクリーンに作ったところ、それっぽい出力が出てくるようになりました。このVAEとMitsua Diffusion のU-Netを組み合わせ、Clean Diffusion 2.0 Mitsua として開発して行きます。なお、従来のClean Diffusion はClean Diffusion 1.0として開発していきます。 pic.twitter.com/029DHZrjN3
— あるふ (@alfredplpl) December 30, 2022
AIイラストについては、どこまでがクリーンなのか、どこまでが許容されるのか、という問いにすら答えが出ていないのが現状なのかもしれません。Mitsua Diffusionの開発者は現状でも十分クリーンさは担保できていると考えているようですが、Stable DiffusionのVAEを借りている状態ではクリーンとは言えないと考える方もいます。
問題の根が深すぎて今のところ私には具体的なことは何とも言えませんが、Mitsua DiffusionのクリーンなAIイラストという理念には共感しかないので、倫理的な部分も含め、今後の進化に期待しつつ応援していきたいと思います。