はじめに
今回は,SinGANを用いてぼやけた画像から綺麗な画像を生成する超解像度化タスクに触れてみたいと思います.
予め宣言しておきますが,この記事の作者は画像処理系はほぼ素人なので,間違いがあれば指摘してもらえると助かります.
SinGANとは?
一言でいえば,様々な研究タスクをこのSinGANでやると出来ちゃうという優れもの.
あと,一枚の画像で学習することが可能なので,巨大なデータセットはいらないのが特徴です.
Paper: SinGAN: Learning a Generative Model from a Single Natural Image
GitHub: Official pytorch implementation of the paper: "SinGAN: Learning a Generative Model from a Single Natural Image"
SinGANの詳しい説明は先駆者の方が多くいらっしゃるので,ここでは省略します.
以下,先駆者の方々のリンクを示しておきます.
【論文解説】SinGAN: Learning a Generative Model from a Single Natural Image
SinGANの論文を読んだらテラすごかった
SinGAN: Learning a Generative Model from a Single Natural Image 論文まとめ
実験
1. 実験に使用するフリー素材
色々フリー素材はあると思いますが,今回は「ぱくたそ」の画像を使ってみます.
https://www.pakutaso.com/
2. 前処理
ぱくたそから拾ってきたフリー素材は基本的に綺麗な画像なので,少し加工します.
収集した画像に対して縦横それぞれresizeして,ぼかした画像が出来るようにします.
そして,このぼかした画像をSinGANの学習データとして,高解像度化をしていきます.
3. 実験結果
3.1 街並み
3.2 遺跡
3.3 女性
3.4 猫
4. 考察
3.1と3.2の建物系に関しては,ゴツゴツとした画像が生成されていることがわかりました.これは,こちらの記事でも指摘されていて,画像内の特定の質感に依存しているのかなと思いました.
【SinGAN】たった1枚の画像から多様な画像生成タスクが可能に
また,3.3の女性については,鼻や顎のラインに注目するときれいに出来てそうでした.しかし,髪の分け目の部分は,元々の粗さに引っ張られた状態で画像が生成されていました.
最後に3.4の猫については,一種のアート作品みたいになりました.猫のモフモフの表現は流石に難しかったかなと思います.これはこれで面白かったです.
(それと,生成された全体画像を見るとオーラがあって強そう(小並感))
まとめ
今回はSinGANを用いてぼやけた画像から綺麗な画像を生成する超解像度化タスクに触れてみました.
実験結果では,SinGANで生成される画像の特徴などを説明し,自分なりに整理しました.
この分野は素人なので,しっかりした考察ではなくて恐縮ですが,とても面白いと思いました.
SinGANは他のタスクも実行可能なので,余裕があればそちらも今後やってみます.