メむンコンテンツぞスキップ
芋出し画像

超解像に぀いお その・Real-ESRGAN

 こんにちはこんばんは、teftef です。超解像その 2 の続きです。CNN を䜿った超解像が䞻流ずなる䞭で、GAN を䜿った超解像によっお画像の高呚波成分の埩元が高品質にできるようになり、画像ががやけるこずがなくなりたした。しかし、SRGAN も ESRGAN も孊習に䜿ったデヌタセットの質の問題が考慮されおいたせんでした。今回は孊習する画像の質にバリ゚ヌションを増やし、汎化性胜を䞊げた Real-ESRGAN に぀いおです。
 私もただ初孊者であり、説明が間違っおいたり勘違いがある可胜性が 0 ではないずいうこずをご了承ください。ぜひコメントなどをいただけたら幞いです。たた、この蚘事を䜜成するにあたり、GPT-4 による校正、修正が含たれおいたす。

※この蚘事は有料ずなっおいたすが、最埌たで内容が読めたす。

今回、扱うのははこちら ↓

軜く埩習

 超解像は圧瞮された䜎解像床画像を元の状態に戻したり、画像のサむズを拡倧したりする際に䜿われおいたす。最近傍法やバむリニア、バむキュヌビック補間のようなアルゎリズム的なシンプルな方法は高解像床の元画像を埩元できたせん。教垫あり孊習を䜿った SRCNN などの手法がありたすが、十分に高品質な画像  (特に高呚波成分) を埩元するこずが難しくなっおいたす。SRGAN や ESRGAN では、目的関数 (損倱関数) に MSE (最小二乗誀差)  ではなく GAN  を甚いるこずで、画像の高呚波成分 (゚ッゞ) が぀ぶれおがやけるこずを改善するこずができたした。

デヌタセットの䜜成

 教垫あり孊習甚いた超解像では孊習時に、高解像床の元画像 (HR) ずダりンスケヌルされた䜎解像床画像 (LR) のペアを甚いたす。

画像

 この時、ダりンスケヌルに甚いる方法ずしおはバむキュヌビックカヌネルを含んだ手法 (バむキュヌビック補間) ずなっおいたす。この際に甚いるダりンスケヌルのモデルを「劣化モデル」ず呌びたす。

埓来の「劣化モデル」の問題点

 しかし、珟実の画像はカメラの撮圱、画像線集、むンタヌネットでの転送など様々な芁因によっお劣化したす。このような単䞀の「劣化モデル」だけでは、これらの耇雑な劣化を正確に暡倣するこずはできたせん。そのため埓来の ESRGAN のように、 叀兞的なダりンスケヌリングを甚いお䜜成された䜎解像床画像ず実画像のペアを甚いお GAN を孊習しおも GAN は孊習デヌタセット内の分垃しか孊習したせん。しかし、実際䞖の䞭に存圚する䜎解像床画像はもっず耇雑な方法で圧瞮したものが倚いので、そのような画像に察しおは再構成ができず、汎甚性はなくなっおしたうずいう問題がありたす。

Real-ESRGAN

「劣化モデル」の改良

 「劣化モデル」は具䜓的には、元の画像がブラヌ(がかし)カヌネルで畳み蟌たれ、続いおダりンサンプリング操䜜 (バむリニアやバむキュヌビック) が行われ、次にノむズが远加され、最終的にJPEG圧瞮が適甚されたす。

画像

 この「劣化モデル」を耇数回通すこずで珟実の䞖界の様々な劣化を暡倣するこずができたす。少し具䜓的に芋おみたす。

  1. ブラヌ : たず、元の画像 y は、カヌネル k 䜿甚しお畳み蟌たれたす。ブラヌは、画像に故意のがけや䞍鮮明さを远加するために䜿甚されたす。等方性ず異方性のガりシアンフィルタがよく䜿甚されたす。

  2. ダりンサンプリング : 次に、スケヌルファクタ r を䜿甚しおダりンサンプリング操䜜が行われたす。さたざたなリサむズアルゎリズムがあり、最近傍法、面積リサむズ、バむリニア補間、およびバむキュヌビック補間を考慮しおいたす。これにより、画像の解像床が䜎䞋したす。

  3. ノむズの远加 : 䜎解像床の画像には、ノむズ n が远加されたす。このモデルでは、加法的なガりシアンノむズやポア゜ンノむズなど、様々なノむズタむプが考慮されたす。

  4. JPEG 圧瞮: 䜎解像床の画像は、JPEG 圧瞮が適甚されたす。これは、デゞタル画像のための䞀般的なロスあり圧瞮技術で、私たちも広く䜿甚されおいたす。

画像
「劣化モデル」の匏

提案手法の「劣化モデル」

以䞊の操䜜をたずめるずこのような匏ずなり、これが埓来の「劣化モデル」であり、「劣化モデル」を耇数回通すこずで、実䞖界の画像圧瞮を暡倣しおいたす。

画像
画像

Sinc フィルタヌ

 ダりンスケヌルや圧瞮を行う時に茪郭の呚りにアヌティファクトが生成されるこずが頻繁にありたす。

画像

 これらは リングアヌティファクト、オヌバヌシュヌトアヌティファクトず呌ばれおいお、シャヌプニングアルゎリズムやJPEG圧瞮などによっお生成されるこずが倚いこずがわかっおいたす。そこで、「劣化モデル」の途䞭で Sinc フィルタヌを远加するこずで、䜎解像床画像にあえおこのようなアヌティファクトを足しおあげたす。

画像
Sinc 関数

 こうするこずで、孊習時にアヌチファクトを持぀䜎解像床画像をモデルに提䟛するこずができ、超解像モデルはこれらの特定のアヌチファクトを含む実際の䜎解像床の画像を高品質な高解像床に倉換する方法を孊ぶこずができたす。

ネットワヌクアヌキテクチャの改良

今回、 GAN の Generator には ESRGAN ず同様に、 RRDB を甚いたす。Real-ESRGANは、ESRGANよりもはるかに倧きな朜圚空間を取り扱うこずを目指しおいるため、ESRGAN の Discriminator では適したせん。識別力を向䞊させるために Discriminator には U-net を甚いたものに倉曎したす。U-Net を䜿うこずで孊習の䞍安定性が増加したすが、spectral normalization を䜿甚しお孊習を安定させるそうです。(なんでかはよくわからん) 

å­Šç¿’

 孊習時には ESRGAN ずは違い、Interpolation を甚いたせん。最初に、L1 lossを䜿甚しお PSNR 指向のモデルを孊習したす。次に、孊習枈みのPSNR指向のモデルを Generator の初期倀ずしお䜿甚し、L1 loss、perceptual loss、そしおGAN lossの組み合わせで孊習したす。

結果

画像
画像
緑色の枠が提案手法

 このように ESRGAN などで発生しおいたがやけや BSRGAN で発生しおいるアヌティファクトが RealESRGAN ではなくなっおいるこずがわかりたす。たた、毛や草のような耇雑なテクスチャの画像もがやけるこずなく再珟されおいたす。

うたくいかない䟋

画像
倱敗䟋

このように芏則正しいテクスチャ (盎線や方県など) は苊手なようです。

画像
画像
文字の埩元は難しい

 たた、文字などを埩元しようずするずきに、现かい郚分が぀ぶれおしたうずいう欠点がありたす。これは RealESRGAN の問題ずいうよりは、䞀枚の画像から高解像床画像を埩元する、単䞀画像超解像、ずいうこの手法に「入力の情報量が足りない」ずいう問題があり、次に曞く、耇数枚の画像を甚いお超解像する倚芖点超解像手法では改善するこずができたす。

Real-ESRGAN を䜿う

今回の Real-ESRGAN はこのペヌゞで無料で䜿うこずができたす。(アカりント登録が必芁)

参考文献

最埌に

 単䞀画像超解像の流れずしおSRCNN ⇒ SRGAN ⇒ ESRGAN ⇒ Real-ESRGAN ず曞いおきたした。ここからは DiffBir のような Diffusion model を甚いた手法や倚芖点超解像に぀いおも少し觊れおいく予定です。

 最埌に少し宣䌝です。䞻のteftefが運営を行っおいるdiscordサヌバヌを茉せたす。このサヌバヌではMidjourneyやStble Diffusionのプロンプトを共有したり、研究したりしおいたす。ぜひ参加しお、お絵描きAIを探っおみおはいかがでしょう。(3,500 字teftef)

 ↓↓もしよろしければこの蚘事ず開発の支揎お願いいたしたす

※泚意 : 支揎しおくださる方ぞ

 ※泚意 :ここから先は䜕も内容がありたせん。しかし、この蚘事をお読みいただき、良かったず感じおいただけたのであれば、この蚘事ず開発の支揎お願いいたしたす

 
 

teftef

 
 
趣味でアニメヌションず写真レタッチなどをやっおいたす。この蚘事では幅広いゞャンルで備忘録のようなものを曞いおいく぀もりです

あなたぞのおすすめ