GFPGANで、顔のボヤけたモノクロ写真をシャープなカラー写真に変換する

1.はじめに

 今回ご紹介するのは、顔のボヤけたモノクロ写真をシャープなカラー写真に変換するGFPGANという技術です。

*この論文は、2021.11に提出されました。

2.GFPGANとは?

 下記が GFPGAN(Generative Facial Prior GAN)の概要図です。基本的には、従来からあるStyleGANを使ってボヤけた顔を復元する手法ですが、いくつか改良ポイントがあります。

 1つ目は、GANの前段に Degradation Removal(劣化除去モジュール)を設けて、latent codes W(潜在的コードマッピング)と Channel-Split SFT(分割空間機能変換)で接続したことです。このときGANへ伝達するのが、従来の低解像度の情報のみではなく、低解像度〜高解像度の情報であるため、学習後は1回のフォワードパスで結果を得ることが出来ます。

 2つ目は、ロスとして Facial Component Loss( 顔を構成するパーツ毎のロス)と Identity Preserving Loss(顔のアイデンティティを保持するためのロス)を追加したことです。

 また、これらと合わせてReal-ESRGANを使った一般的な画像復元を行い画像全体をシャープにしています。

3.コード

 コードはGoogle Colabで動かす形にしてGithubに上げてありますので、それに沿って説明して行きます。自分で動かしてみたい方は、この「リンク」をクリックし表示されたノートブックの先頭にある「Colab on Web」ボタンをクリックすると動かせます。

 まず、セットアップを行います。カラー化については、GFPGANにもカラー化バージョンはありますが、今回は個人的にカラー化性能の高いと思うDeOldifyを使用しますので、GFPGAN DeOldify  の両方をセットアップします。

 

  今回は、100年くらい前の古いモノクロ写真をシャープなカラー写真に変換してみます。最初に、GFPGAN/images フォルダに格納されているサンプル画像を見てみましょう。なお、自分の画像を使用したい場合は、このフォルダにその画像(jpg)を事前にアップロードしておいて下さい。

 

 表示されている画像の中から1つ選んで、picture : にファイル名を記入しGFPGANを実行します。ここでは picture : 09.jpg を設定して実行します。

 画像全体がクッキリしたことが分かります。続いて、DeOldifyを使ってこの画像をカラー化します。

 くっきりとしたカラー写真が出来ました。それでは、最初と比べてどの様に変化したのか見てみましょう。表示した画像は自動的にダウンロードされます(必ず Google chromeを使って下さい)。

 ぼやけたモノクロ写真が、クッキリとしたカラー写真に生まれ変わりました!ちなみに、この方は明治時代のミスコンの石川県代表だった方です。

 もう1つやってみましょう。今度は、picture : 10.jpg で実行します。

 これは、1934年(昭和9年)に発刊された雑誌「資生堂グラフ」に掲載された写真で、若い女性の和装と洋装が混在しており、洋装も興味深いデザインになっているのが時代を感じさせますね。

 では、また。

(オリジナルGithub)https://github.com/TencentARC/GFPGAN

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUTこの記事をかいた人

アバター

ディープラーニング・エンジニアを趣味でやってます。E資格ホルダー。 好きなものは、膨大な凡ショットから生まれる奇跡の1枚、右肩上がりのワクワク感、暑い国の新たな価値観、何もしない南の島、コード通りに動くチップ、完璧なハーモニー、仲間とのバンド演奏、数えきれない流れ星。