Stable Diffusionで描いた人物の顔をGFPGANで補正する方法

  • URLをコピーしました!

高品質なイラストが生成できることで話題のStable Diffusionですが、人間を描かせると良い絵ができるまでにかなりの回数をトライしなければいけません。そこで、人の顔の画像を補正するAIであるGFPGANを使って、Stable Diffusionのイラストの顔を補正してみたいと思います。

また、以下の記事でStable Diffusionの使い方をまとめていますので、あわせてご覧ください。

以下のページで自然言語処理モデルGPT-3を使ったライティングツールCatchyで、Stable DiffusionのPromptを自動生成する方法について解説していますので、あわせてご覧ください。

目次

GFPGANとは

GFPGANは、GenerativeFacial Prior GANの略称で、ディープラーニングを使って古い写真やノイズが載っている写真に写っている人物の顔を復元するモデルです。
元々は実写の画像を補正するために用いられるモデルのようですが、今回はStable Diffusionで生成した2次元のイラストに適用してみたいと思います。

Stable Diffusion自体の使い方は以下のページで解説していますので、あわせてご覧ください。

GFPGANのインストール

インストールしたいディレクトリに移動し、GitHubからリポジトリをダウンロードします。

git clone https://github.com/TencentARC/GFPGAN.git

ダウンロードしたリポジトリのディレクトリに移動します。

cd GFPGAN

requirements.txtを使って必要なライブラリを一括インストールします。以下のコマンドを実行してください。

pip install -r requirements.txt
pip install realesrgan

セットアッププログラムを実行します。

python setup.py develop

GFPGANのバージョンが表示されたら完了です。

Finished processing dependencies for gfpgan==1.3.7

学習済みモデルの取得

学習済みモデルをダウンロードします。

https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth

ダウンロードしたら先ほどのGFPGANのディレクトリの以下の場所にモデルファイルを配置します。

(GFPGANのファイルが配置されているディレクトリ)\GFPGAN\experiments\pretrained_models

使い方

ここからは実際にGFPGANを使って顔の補正を行う方法を解説します。
先ほどダウンロードしたGFPGANのディレクトリ内に「inference_gfpgan.py」というファイルがあります。このPythonのファイルが実際にAIを使って補正を行う処理のファイルとなります。

入出力されるディレクトリ

補正したい画像を入れるディレクトリは以下となります。「inference_gfpgan.py」を実行する前に画像ファイルを入れておいてください。

(GFPGANのファイルが配置されているディレクトリ)\GFPGAN\inputs\whole_imgs

処理が完了すると以下のディレクトリに補正された画像が出力されます。

(GFPGANのファイルが配置されているディレクトリ)\GFPGAN\results\restored_imgs

実行方法

「inference_gfpgan.py」のファイルがあるディレクトリで、以下のコマンドを実行して画像を補正します。

python inference_gfpgan.py -i inputs/whole_imgs -o results -v 1.3 -s 2

初期状態でも「whole_imgs」のフォルダ内にはサンプルファイルが入っており、実行すると以下のように補正されたファイルが出力されます。

補正前

雑誌をスキャンしたような画像でノイズが載っています。

補正後

プログラムを実行するとノイズが除去されてきれいになりました。また画像サイズも大きくなっています。

StableDiffusionで生成したイラストの顔をGFPGANで補正してみる

ここからは実際にStable Diffusionで生成したイラストを補正していきます。

イラスト例1

まず1枚目はこちらのイラストです。

補正前

全体的に奇麗なイラストが描けたと思ったのですが、目のあたりが明らかに崩壊してしまっています。

補正後

GFPGANで補正をかけた後の画像がこちらです。目と鼻の周りが綺麗になり違和感がなくなりました。

イラスト例 2

続いて2枚目のイラストがこちらです。

補正前

このイラストも目と鼻のあたりがぼやけた感じになっています。

補正後

GFPGANで補正後の画像がこちらです。1枚目と同じく目、鼻、口周りが綺麗に修正されました。

Stable Diffusionのローカル環境

Stable Diffusionを使用する際にGoogle ColaboratoryやWebサービスを利用されている方も多いかと思います。しかし、最近Google Colabの無料での使用範囲が大きく制限されたり、Webサービスでは月額費用がかかったりします。

欲しいイラストを生成するにはかなりの回数をトライする必要があるため、これらの制約に縛られることなく使用できるローカル環境を構築するのがおすすめです。

ローカルのPCに搭載するグラフィックボード

ローカルマシンで実行する上で重要になってくるのがグラフィックボードです。
Stable Diffusionでイラストを生成するために実行される推論処理を、グラフィックボード上のGPUを使って大幅に高速化することができます。
トライする回数が増えれば品質の高いイラストが生成される可能性が上がりますので、グラフィックボードは重要です。

Stable Diffusionで使用するためのGPUは2022年に新たにNVIDIAから発売されたRTX4000シリーズのGPUとVRAM12GB以上のものがおすすめです。最近は半導体不足も一服したこともあり、新しい製品ながら価格が下がりつつあります。

エントリーモデルのGPU

予算を安く抑えたい方向けにはRTX4070を搭載したグラフィックボードがおすすめです。

予算に余裕がある方向け ミドル~ハイエンド

予算に余裕がある方向けにおすすめのRTX 4080、ビデオメモリ16GB以上搭載のモデルです。

大サイズの画像を高速に生成したい方向けのハイエンドGPU、RTX 4090 ビデオメモリ24GB搭載モデルです。

予算とパフォーマンスに合わせて選んでみてください。

画像生成AIについて学ぶ

動画学習プラットフォームUdemyでは、画像生成AIで高品質なイラストを生成する方法や、AIの内部で使われているアルゴリズムについて学べる講座が用意されています。
Udemyは講座単体で購入できるため安価で(セール時1500円くらいから購入できます)、PCが無くてもスマホでいつでもどこでも手軽に学習できます。

画像生成AIの使い方を学ぶ

Stable DiffusionやMidjourneyの使い方や活用方法を勉強したい方には、以下の講座がおすすめです。

icon icon 【文字からイラスト画像を生成】素人でもプロ並みの絵を作れる画像生成AIツール講座【ChatGPTも活用】 icon

画像生成AIの仕組みを学ぶ

画像生成AIの仕組みについて学びたい方には、以下の講座がおすすめです。
画像生成AIで使用される変分オートエンコーダやGANのアーキテクチャを理解することで、よりクオリティの高いイラストを生成することができます。

icon icon AIによる画像生成を学ぼう!【VAE / GAN】 -Google ColabとPyTorchで基礎から学ぶ生成モデル- icon

UdemyのStable Diffusionなど、AIアート関連の講座は海外のものも多いですが、ブラウザのリアルタイム翻訳機能を使うことで日本語字幕付きで視聴できます。

Udemyの海外講座の字幕を日本語化する方法

まとめ

今回は人の顔の画像を高品質化するAI、GFPGANをStableDiffusionで生成した2次元イラストで補正してみるという実験でした。

明らかに顔の構造がおかしいような絵は無理でしたが、「ちょっと違和感があるあるな?」レベルのイラストであれば綺麗に補正できることがわかりました。「せっかく綺麗なイラストが出力されたのに顔周りだけがオシイ!」という場合にぜひ試してみてください。

以下のページで自然言語処理モデルGPT-3を使ったライティングツールCatchyで、Stable DiffusionのPromptを自動生成する方法について解説していますので、あわせてご覧ください。

また、以下の記事で効率的にPythonのプログラミングスキルを学べるプログラミングスクールの選び方について解説しています。最近ではほとんどのスクールがオンラインで授業を受けられるようになり、仕事をしながらでも自宅で自分のペースで学習できるようになりました。

スキルアップや副業にぜひ活用してみてください。

スクールではなく、自分でPythonを習得したい方には、いつでもどこでも学べる動画学習プラットフォームのUdemyがおすすめです。

講座単位で購入できるため、スクールに比べ非常に安価(セール時1200円程度~)に学ぶことができます。私も受講しているおすすめの講座を以下の記事でまとめていますので、ぜひ参考にしてみてください。

それでは、また次の記事でお会いしましょう。

\ Pythonのプログラミングを学びたい人には自宅で学べるUdemyがおすすめ!  /

講座単位で購入できます!

参考

よかったらシェアしてね!
  • URLをコピーしました!
目次