Stable Diffusion でAI画像生成を行うには別途「Model(モデル)」というデータを用意する必要があります。
1.モデルとは
AI画像生成の仕組みは、大量の画像データをコンピュータに学習させ、学ばせた中から指定の特徴を抽出するというものです。
この学習させたデータのことをモデルと言います。また「Checkpoint」という表記がされている場合もあります。Model と Checkpoint は同義です。
AIはモデルを元に画像を生成するので、例えばアニメを大量に覚えさせたモデルはアニメの絵を出しやすいですし、車しか学習させていないモデルは車しか出てきません。
ちょっと極端な例をあげましたが、要はモデルによって強み弱みがあるよ、という事です。
モデルはデータの塊として管理しているので、複数の違うモデルを持っていれば切り替えて使うことも簡単にできます。
最初のモデルはOpenAI社が開発したSD1.x系で、出始めの頃はあまり精度が高くないという評価だったように記憶しています。
その後Anlatan社のNovelAIが台頭、した直後にデータが流出し拡散。色々と問題ありつつも質の高いデータにより一般層の普及に一役買ったとか。
今は様々なモデルがリリースされていて選ぶだけでも大変な時代になっています。それから自分でモデル同士を調合するマージなんかもできるので、もう滅茶苦茶です。
ちなみに先ほど話に出たSD1.x系はバージョン1.5で止まっており、今はSD2.x系とXL系が開発されているようです。1.x系とそれ以外では互換性がありません。ここでは一般に普及している1.x系モデルで話を進めさせていただきます。
2.モデルの種類
モデルの種類は大きく分けて3つ。リアル系、2.5次元系、2次元系です。
他に特化型というのがあります。
2.1.リアル系モデル
写真のようにリアルな画像を生成できます。
リアル系は当初、アジア系(特に日本人)の顔を生成するのが苦手でした。今はアジア系特化モデルが増えましたが、逆にアジア系に強いモデルは西洋系の造形が(比較すると)いまいちな印象です。その辺はうまく使い分けですね。
上の画像は Henmix Real V4.0 を使用しています。比較的、洋の東西を問わず出しやすいモデルという印象で、現時点ではオススメかなあと思います。
2.2.2.5次元系モデル
2.5次元の定義って何でしょうね。
リアル寄りだけれども、絵。というのが2.5次元系だと思いますが、けっこう人によって感覚が違うので判定は難しいです。
ともかく、「写真みたいなリアルは望んでいないんだけどな」とか、「アニメよりは立体感欲しいな」という場合に試してみたいジャンルです。
とりあえずモデル名に「2.5D」と入っていたら2.5次元系モデルなのかなと言ったところで、上の画像は epi 2.5Dphotogodess を使ってみました。
2.3.2次元系モデル
みんな大好き2次元系モデル。
アニメ塗りに強いモデルや厚塗りタイプなど、一口に2次元と言っても幅広いモデルが存在しています。
上の画像は綺麗な背景が出ることでおなじみの BreakDomainAnime を使用しています。指の数がおかしいのは気にしないでください。
2.4.特化型
一つの特徴に秀でたモデルというものもたくさん存在します。
ひたすら景色を覚えさせた背景特化型や、特定の顔(人物)やシチュエーションばかり出るようにしたモデルなどです。
「これ何の意味があるんだろう?」と思うようなものもありますが、需要があるから供給があるのです。
3.モデルに欠かせない「VAE」という存在
画像生成にモデルが欠かせないという話をしましたが、もう一つ「VAE」というデータも必要になることがあります。
VAEの仕組みについては深層学習のアルゴリズムを理解する必要があるため割愛しますが、VAEがどのような効果を及ぼすか具体例を挙げます。
VAEが必要なモデル出力した下画像、左はVAE無し、右がVAEを適用したものになります。
VAEにも種類がありますが、主流は vae-ft-mse-840000-ema-pruned というデータになります。
各モデルの説明文にVAEが必要かどうか、どのVAEが良いかというのが書かれているので使用前に確認しておきましょう。
4.モデルの探し方
2023年5月現在、モデルデータが大量に置かれている有名どころのサイトは「Hugging Face」と「CivitAI」の2つになります。
モデルを探すための検索機能は CivitAI が優れていますので、恐らくこちらのサイトを多く活用することになるでしょうか。
そのほかにも各コミュニティやWikiから Mega のリンクが貼ってあったりするので、具体的に欲しいモデルがあればウェブ検索してみるのも手です。
モデルの拡張子は「safetensors」と「ckpt」の2種類が存在しどちらでも動きますが、ckpt はセキュリティ的に問題があるとのことなので、できれば safetensors を使用したほうが良いです。
以上、モデルについての説明を終わります。
モデルのマージなんかについては時間があれば記事を書きます。検索したらやり方は沢山でてくるので興味があれば是非やってみてください。
0 件のコメント:
コメントを投稿