2023/11追記:最新のSDXLモデルでの作画例はこちらをどうぞ。
2022年の夏、Stable Diffsuionという画像生成AIを使って様々な画風の東京ビル群を描かせてみたところ、ゴッホ風から宮崎駿風に到るまで驚くほど「それっぽい」画像を作り出すのを目の当たりにして腰を抜かしました。
それから半年も経たないうちに、世間を賑わしているChatGPTに触れてみて、底知れないポテンシャルを体感。過去のことを何でも覚えている妻すらを超える日も近い気がしてきました。
1週間ほど前にMicrosoftが公開したビデオではOfficeシリーズにChatGPTを組み込んだCopilotが紹介されましたが、このビデオを観ていよいよAIが僕らの生活に普通に浸透していく未来がすぐそこにあることを実感しました。
そんな中、Stable Diffusionの画像生成が更に進化しているというニュースを目にしました。いわゆるCGっぽさのない自然な写真画質の人物画像をAIで簡単に生成できるというもの。
今回はStable Diffusionを活用してAIアイドルを爆誕させてみました。
【追記1】彼女の写真をAIに追加学習させて架空のスナップ写真を生成してみたドキュメンタリーはこちら。
【追記2】AIで白黒写真をカラー化、さらに高解像度化した上で機械学習させたドキュメンタリーはこちら。
Amazonには既に無数のAIアイドル写真集が販売されています。近いうちに動画も出てくることでしょう。アイドルですらAIと競う時代に。
AIアイドル爆誕!
後述する設定を済ませたら右上のGenerateをクリックするだけ。10数秒ほどで画像が生成されました。
髪型
記念すべき1枚目。実在しないAIアイドルの誕生です。
ここから、ひたすら呪文を変えていきながら、様々なアイドル画像を生成してみます。
まずはヘアスタイルを色々と変えてみましょう。
ポージング
続いて、ポージングを指定してみます。
コスチューム
服装も変えてみましょう。何というキャパシティー!
背景
背景も変えられました。
…という感じで、もうキリがないのでこの辺にしておきます。
日本、韓国、台湾の違い
LoRAモデルには、Japanese Doll Likenessの他にもKorean-doll-likeness(韓国人モデル)やTaiwan-doll-likeness(台湾人モデル)もあります。それぞれの国の顔立ちや体型等を学習させた個別モデルです。
試しに同じ画像を元に各モデルの出力を0.5だけ適用して作成してみたらこんな感じでした。
テスト1
テスト2
元画像が同じでも、それぞれのLoRAモデルから生成される画像の傾向はかなりはっきりしています。学習データの差というか、偏りを感じますね。
テスト3
シチュエーションを海岸とカジュアルなスタイルに変更。もう解答は不要ですね。
ちなみに台湾人の友人からこんなコメントをもらいました。
I laughed when seeing the picture of Taiwanese. AI definitely learned and gave an insight.
Gilbert
ベースモデルによる違い
【2023/6追記】このエントリーを書いた2023/3頃はアジア人のベースモデルと言えばChilloutMixくらいしか見当たりませんでしたが、3ヶ月も経つと様々なモデルが公開されてきています。
今回は、代表的なアジア人のベースモデルの中から、BRAV5(PleaseBanKaiさん)、yayoi_mix(こたじろうさん)、BracingEvoMix_Another(佐城郎画さん)の3つのモデルで作画を比較してみました。
シード画像(ベースとなる画像)やプロンプトはすべて同じとし、ベースモデルだけを変更して画像生成した結果は以下のとおり。明らかに薄着を好むモデル等、全く同じ入力でもベースモデルによって生成画像に結構な違いが出るのが分かりますね。
春
夏
秋
冬
自宅のノートPCでもOK?
少しググってみたところ、どうやら自宅のPCで動作させようとすると無理があることが判明。
- Stable DiffusionはNVIDIA製のグラフィックボード用に開発されているので基本的にはGeForceシリーズのグラボを選ぶ
- VRAM(ビデオメモリ)が最低でも4GB、できれば10GB以上あること
我が家のPCは普通のDellノートのため、グラフィックボードではなくIntel内蔵GPUのUHD Graphicsです。これではローカル環境でStable Diffusionを動作させるのは現実的ではないようです。
そこで、もう少し調べてみると、どうやらGoogleが提供しているColaboratoryという無料クラウドサービス(web上で動くpython環境)を使うことで超高性能のグラフィックボード相当のマシン環境でStable Diffusionを動かせるとのこと。
SDXL Fooocus-MRE
Stable Diffusionの新しい画像生成モデルであるSDXLに対応したWEB UIのFooocus-MREを用いて作画した例がこちら。GoogleのColaboratory上で無償で動作させています。
ベースモデルはデフォルト(sd_xl_base_1.0_0.9vae.safetensors)、LoRAにjapanese_girl_v1.1.safetensors、styleはデフォルトのSlightly Cinematicを設定。特段のポジティブ・ネガティブプロンプト設定なしで、単純に「カメラを見つめるニットの肩出しワンピース着た女性」というプロンプトでこれだけのクオリティの作画が可能です。
PerformanceはQuiality重視の設定で60ステップをかけて作画していますが、1分少々で完成しました。
試しに同じSeed、プロンプトで背景情報のみを変えて作画してみた例がこちら。StyleはSAI Analog Filmを設定。
Stable Diffusion Web UI
ただし、Stable Diffusionをそのまま使用すると欧米系な画像が出てきます。そこで、アジア系の画像を学習させたモデル、更に日本人の特徴を追加学習させたモデルを導入することで自然な日本人的な画像を出力できるようです。
さっそく試してみたところ、以下の手順で30分ほどで簡単に環境設定できました。
- GitHubからイラスト作成に使うモデル「ChilloutMix」をダウンロード
- Stable Diffusionで画像を生成する際に使用する学習済みのモデルの1つで、Chilloutmixはアジア人のような実写画像を生成するのが得意なモデル
- 解凍したフォルダの中にある「chilloutmix.ipynb」を、Google Colaboratoryのアップロードの中にドラッグアンドドロップしてアップロード
- Colaboratory上でコードを実行して6分ほどするとpublic URL (recommended)が表示されるのでクリックしてStable Diffusion Web UIを起動
- Hugging Faceから「Japanese Doll Likeness」をダウンロード
- Japanese Doll LikenessはChilloutMix上で特に日本人の特徴を追加学習させたLoraモデル
- LoRA (Low-Rank Adaption of Large Language Models)モデルは学習済みモデルに対して追加学習した差分だけを保持・適用するモデル
- Colaboratoryのファイル画面からstable-diffusion-webui→models→Lora配下にJapanese-doll-likeness.safetensorsをアップロード
なお、Google Colaboratoryは無料アカウントの場合は一定量のCPUリソースを消費するとしばらくの間(1日程度?)は使用できない期間があります。そのため、終了時は「ランタイムを接続解除して削除」を選択すること。後日に再度利用する場合は、上記の3からでOKです。
画像を生成するためのポイント
Stable Diffusion上で画像を生成するためには多数のパラメータやプロンプト(呪文)を指定します。
パラメータ
あまりに多くの設定があるため圧倒されますが、とりあえず以下だけ分かれば大丈夫でした。
- Settings – Stable Diffusion – Clip Skip: 2
- Sampling method: DPM++ SDE Karras
- Width: 512
- Height: 768
プロンプト(呪文)
生成したい画像のキーワードを入力します。画像へ反映させたいキーワードはポジティブプロンプト欄に、逆に反映させたくないネガティブキーワードはネガティブプロンプト欄に入力。
表情や構図、ライティング、髪型、服装、ポーズ、背景等、上手にキーワードを指定するとこれらの指示をちゃんと反映した画像が生成されます。
例えばこんな感じです。
Positive prompt
best quality, 1 girl, smile, detailed beautiful skin, dress shirt, collarbone, dark_hair, long_hair, hair_flower, hair_ornament, windy, soft light, (jumping:2) <lora:Japanese-doll-likeness:0.2>
()で囲まれたキーワードは数値の分だけ重み付けされます。例えば上では「ジャンプ」というキーワードは他のキーワードよりも2倍強調されます。
また、lora:Japanese-doll-likeness:の後の数値は0-1で指定し、日本人らしさの度合いを示します。大きいほどメイクが濃い感じになるので、個人的には0.2くらいがちょうど良い感じでした。
Negative prompt
painting, sketches,(worst quality:2),(low quality:2),(normal quality:2),((monochrome)),((grayscale)), missing fingers ,skin spots ,acnes, skin blemishes, nsfw
今回はアイドル画像がテーマなので、シミやニキビ等がないこと、公序良俗に反しないこと等がポイントです。
nsfw(not safe for work)は「職場での閲覧は危険」という意味のキーワード。これをネガティブプロンプト欄に入れておけば自宅のリビングでも安心して作業できます。
ついでにブログのタイトルをAIに提案してもらう
このブログのエントリーのタイトルを考えようと思いましたが、どうも良いタイトルが思い浮かばないので困ったときのGPTに聞いてみました。
僕:AIを活用して様々なアイドル画像を生成してみたところ、想像以上に高品質な結果が得られました。このことをブログに書いた記事のタイトルを考えてください。Google検索でヒットしやすく、バズりやすいタイトルをお願いします。
さすがはGPT、それっぽいタイトルを瞬時に提案してくれました。
GPT: 以下は、AIによって生成された高品質なアイドル画像を紹介したブログ記事のタイトルの例です。検索エンジンでのヒット率を高めるため、いくつかのキーワードを含めるようにしました。
- 【衝撃】AIアイドル画像がリアルすぎる!
- AIが創り出す美少女アイドル画像に驚愕!
- 【最新技術】AIが作り出すアイドル画像が美しすぎて感動!
- 未来のアイドルはAIが作る?驚愕の高品質画像に迫る!
- 【注目】AIが生成するアイドル画像にはリアルさがあるって知ってた?
僕:このタイトルを選んだ理由についてそれぞれ教えてください。
- 【衝撃】AIアイドル画像がリアルすぎる! このタイトルを選んだ理由は、”衝撃”という言葉が強調されているため、読者にとってこの記事が驚きと興味を引くことが期待できるからです。また、”リアルすぎる”という表現によって、AIが生成する画像のクオリティが高いことを強調し、読者の期待を高めることができます。
- AIが創り出す美少女アイドル画像に驚愕! このタイトルを選んだ理由は、”美少女”というキーワードが入っているため、アイドルファンや萌え系ファンなどの読者層にアピールできるからです。また、”驚愕”という言葉が使われているため、読者にとってこの記事が興味深いものであることが期待できます。
- 【最新技術】AIが作り出すアイドル画像が美しすぎて感動! このタイトルを選んだ理由は、”最新技術”というキーワードが入っているため、技術系の読者層にアピールできるからです。また、”美しすぎて感動”という表現によって、AIが生成する画像の美しさや感動を伝えることができます。
- 未来のアイドルはAIが作る?驚愕の高品質画像に迫る! このタイトルを選んだ理由は、”未来のアイドル”というキーワードが入っているため、アイドルファンや未来志向の読者層にアピールできるからです。また、”驚愕”という表現によって、AIが生成する画像のクオリティが高いことを強調し、読者の期待を高めることができます。
- 【注目】AIが生成するアイドル画像にはリアルさがあるって知ってた? このタイトルを選んだ理由は、”注目”というキーワードが入っているため、興味のある読者層にアピールできるからです。また、”リアルさ”という表現によって、AIが生成する画像のクオリティが高いことを伝えることができます。さらに、”って知ってた?”というフレーズを使うことで、読者に対して問いかけるような形式でタイトルを設定し、興味を引くことができます。このタイトルは、短く簡潔であり、検索エンジンでのヒット率を高めるために、キーワードを含めることで読者の興味を引くように設計されています。
以上のように、タイトルを選ぶ際には、読者の興味を引きつけることが非常に重要です。また、検索エンジンでのヒット率を高めるために、キーワードを含めることも大切です。タイトルは記事の入口であり、タイトルが良ければ読者にクリックしてもらいやすくなり、記事のアクセス数やシェア数を増やすことができます。
勉強になります!というわけで、何も考えずに1番目の提案を受け入れたのでした。
AIが自動生成した画像とAIが自動生成したタイトルをコピペしただけのブログ。ここ半年くらいであっという間にAIの性能が急成長しています。
最近のAIの急速な進化を見ていると、まだWindows95やネットスケープが登場する前に、当時IBM勤務だった父が自宅に持ち帰ったThinkPadをモデムと繋いでモザイク(Mosaic)経由でインターネットに初めて触れた時の衝撃に近いものを感じます。
インターネットが僕らの生活を大きく変えた以上に、AIは今までの常識や人間の役割、あり方を根本的に変えていくことでしょう。このスピードの変化に人間はもはやついていけないのでは。