今回はStable Diffusionで生成したイラストの不自然な手を修正する方法を解説します。
Stable DiffusionのWebUIであるAUTOMATIC1111に、c and poser(深度ライブラリ)とControlNetをインストールし、これらを組み合わせることで実現できます。
今まで気に入ったイラストでも、手だけが失敗したためにボツになっていたものを復活させることができますので、ぜひ活用してみてください。
- ControlNetのインストール方法
- Depth map library and poserのインストール方法
- Depth map library and poserを使った手の修正手順
- Depth map library and poserを適用した効果
また、当ブログのStable Diffusionに関する記事を以下のページでまとめていますので、あわせてご覧ください。
Stable Diffusionの導入方法から応用テクニックまでを動画を使って習得する方法についても以下のページで紹介しています。
Stable Diffusionとは
Stable Diffusion(ステーブル・ディフュージョン)は2022年8月に無償公開された描画AIです。ユーザーがテキストでキーワードを指定することで、それに応じた画像が自動生成される仕組みとなっています。
NVIDIAのGPUを搭載していれば、ユーザ自身でStable Diffusionをインストールし、ローカル環境で実行することも可能です。
(出典:wikipedia)
Stable DiffusionのWeb UI AUTOMATIC1111
AUTOMATIC1111はStable Diffusionをブラウザから利用するためのWebアプリケーションです。
AUTOMATIC1111を使用することで、プログラミングを一切必要とせずにStable Diffusionで画像生成を行うことが可能になります。
Web UI AUTOMATIC1111のインストール方法
Web UIであるAUTOMATIC1111を実行する環境は、ローカル環境(自宅のゲーミングPCなど)を使用するか、クラウドコンピューティングサービスを利用する2通りの方法があります。
以下の記事ではそれぞれの環境構築方法について詳し解説していますので、合わせてご覧ください。
ControlNetのインストール
Stable Diffusionの拡張機能であるControlNetをAUTOMATIC1111にインストールします。
手順は以下のページで解説していますので、事前に済ませておいてください。
Depth map library and poserのインストール
Stable Diffusionの拡張機能であるDepth map library and poserをAUTOMATIC1111にインストールします。
手順は以下のページで解説していますので、事前に済ませておいてください。
手の修正手順
ここからは実際にDepthライブラリを使って手を修正していく手順を解説します。
今回私が使用しているAUTOMATIC1111は古いバージョンを使っているため、最新のWebUIと若干画面デザインが異なりますが、UIの項目は同じです。
Depthデータの作成
AUTOMATIC1111を起動したら、「Depth Library」のタブを開きます。
そして「Add background image」をクリックし、修正したい画像を選択します。
画像を選択すると、以下のように右側のエリアに画像が表示されます。
修正したい画像のサイズに合わせ「width」と「height」を設定します。
赤枠の「Hands」タブをクリックします。以下のように手のポーズの一覧が表示されます。
使用したい手のポーズを選択します。選択すると中央のエリアに手のポーズの画像が表示されます。
手を選択した状態で「Add」をクリックすると、右側の修正したい絵の上に重ねて手の画像が表示されます。
元画像の上に表示された手の画像をクリックすると、以下のように枠線が表示されマウスで拡大縮小と回転ができます。
元のイラストと重ねて配置したい場所に移動し、サイズや向きを調整します。
完了したら「Save PNG」をクリックします。ファイルを任意の場所に保存してください。
ControlNetでの読み込み
先ほど作成したDepthデータをControlNetで読み込みます。
「img2img」タブをクリックします。
修正したい元画像をimg2imgのエリアにドラッグアンドドロップして読み込みます。
「ControlNet」の項目をクリックして、UIを展開します。
ControlNetの「image」のエリアに、先ほどの「Depth Library」のタブで作成したDepthデータの画像をドラッグアンドドロップして読み込みます。
Depthデータが読み込まれると、以下のように表示されます。
「Enable」にチェックを入れ、「Model」で「control_depth-fp16」を選択します。
「Preprocessor」は「none」のままにしてください。
「Canvas Width」と「Canvas Height」は元の画像サイズを設定します。
あとは通常どおり、モデル、VAE、プロンプトを設定します。設定内容は元画像生成時と同じものを使用します。
「Sampling method」と「Width」、「Height」も元画像と同じ値に設定します。
それ以外のパラメータは必要に応じて設定してください。
設定が完了したら、「Generate」ボタンをクリックします。
生成が完了すると、右側のプレビューエリアに手が修正された画像が表示されますので、保存してください。
動作確認
用意したデータ
修正前の画像データ
こちらが修正前の元となるデータです。全体的にきれいに描けているのですが、右手の指の部分だけが不自然な形状になってしまっています。
Depthライブラリで作成した深度データ
「Depth Library」のタブで作成した手の深度データです。こちらをControlNetに読み込みます。
実行結果
こちらが実行結果の画像です。手の微妙な角度も調整されており、違和感なく描画されきれいになりました。
Inpaintを使った手の修正方法
今回はDepthライブラリを使った手の修正方法を紹介しましたが、Stable Diffusion WebUIの標準機能であるInpaintを使って修正することも可能です。
Inpaintの詳細な使い方については、以下の記事で解説していますので、あわせてご覧ください。
Stable Diffusionのテクニックを効率よく学ぶには?
Stable Diffusionを使ってみたいけど、ネットで調べた情報を試してもうまくいかない…
そんな時は、操作方法の説明が動画で見られるUdemyがおすすめだよ!
動画学習プラットフォームUdemyでは、画像生成AIで高品質なイラストを生成する方法や、AIの内部で使われているアルゴリズムについて学べる講座が用意されています。
Udemyは講座単体で購入できるため安価で(セール時1500円くらいから購入できます)、PCが無くてもスマホでいつでもどこでも手軽に学習できます。
Stable Diffusionに特化して学ぶ
Stable Diffusionに特化し、クラウドコンピューティングサービスPaperspaceでの環境構築方法から、モデルのマージ方法、ControlNetを使った構図のコントロールなど、中級者以上のレベルを目指したい方に最適な講座です。
画像生成AIの仕組みを学ぶ
画像生成AIの仕組みについて学びたい方には、以下の講座がおすすめです。
画像生成AIで使用される変分オートエンコーダやGANのアーキテクチャを理解することで、よりクオリティの高いイラストを生成することができます。
まとめ
今回はDepth map library and poserとControlNetを使って、手の描画を失敗した絵を修正する方法について解説しました。手だけを修正することにより、成功率が劇的に向上しますのでぜひ活用してみてください。
また、以下の記事で効率的にPythonのプログラミングスキルを学べるプログラミングスクールの選び方について解説しています。最近ではほとんどのスクールがオンラインで授業を受けられるようになり、仕事をしながらでも自宅で自分のペースで学習できるようになりました。
スキルアップや副業にぜひ活用してみてください。
スクールではなく、自分でPythonを習得したい方には、いつでもどこでも学べる動画学習プラットフォームのUdemyがおすすめです。
講座単位で購入できるため、スクールに比べ非常に安価(セール時1200円程度~)に学ぶことができます。私も受講しているおすすめの講座を以下の記事でまとめていますので、ぜひ参考にしてみてください。
それでは、また次の記事でお会いしましょう。
コメント