最新AI論文をキャッチアップ

Cutblur:超解像タスクにおける最適なData Augmentationとは?

Cutblur:超解像タスクにおける最適なData Augmentationとは?

Super Resolution

3つの要点
✔️ 超解像タスクにおけるData Augmentation手法の包括的な研究
✔️ Cutblurはモデルに超解像すべき場所と方法を学習させる
✔️ 各種ベンチマークの超解像タスクやノイズ除去タスクで知覚品質の向上に寄与

Rethinking Data Augmentation for Image Super-resolution: A Comprehensive Analysis and a New Strategy
written by Jaejun YooNamhyuk AhnKyung-Ah Sohn
(Submitted on 1 Apr 2020 (v1), last revised 23 Apr 2020 (this version, v2))
Comments: Accepted to arXiv.

Subjects:  Image and Video Processing (eess.IV); Computer Vision and Pattern Recognition (cs.CV)

code:  

はじめに

Super Resolution(画像超解像)は画像のピクセル間を補完し,低解像度の画像を高解像度に変換する技術です.DNNの発展以降,SoTAな画像超解像の多くは他のComputer Vision分野と同様に,データ駆動のNerural Network(NN)によって実現されています.NNの普遍的な問題として,ネットワークの長大による学習コスト増大が考えられます.代表的な画像分類タスクでは,派手なネットワーク開発と並行して,様々なData Augmentation(DA)手法による改善の動きがありますが,超解像タスクではほとんど研究されてきませんでした.個別タスクにフォーカスしたDAは,過学習を抑制しモデルの汎化に大きく寄与することが経験的に知られています.このような背景から,超解像タスクでもDAの可能性を探索することには十分な価値がありました.

本記事では,2020年のCVPRにて報告された” Rethinking Data Augmentation for Image Super-resolution: A Comprehensive Analysis and a New Strategy”の解説を行います.本論文は下図のように,超解像タスクを取り巻く多様なDAを包括的に検証されています.また,分類タスクなどで発見された既存手法の再適用に留まらず,超解像タスクに最適なDA手法について新たに研究されています.それはCutblur , CutMixupです.なかでもCutblurは超解像タスクにフォーカスしたスマートなDAということで注目を浴び,CutMixupは分類タスクなどにも応用されています.論文では,これらの手法の結果及び解析が潤沢になされており,タスクベースのDAを考える上での重要な知見が含まれております.

本記事では,以下の4つをセクションとして本論文を解説していきます.

  • 超解像タスクにおける従来DA手法の解析
  • Cutblurの仕組み
  • Cutblurはモデルにどんな学習を促すのか
  • 包括的な実験結果

超解像タスクにおける従来DA手法の解析

データレベルの拡張

まずは,現行のデータレベルの拡張における超解像の具合を見てみましょう.DIV2K, RealSRは超解像タスクで用いられる合成/実データセット,PSNRは画像の近似度を算出する評価指標,EDSRはベースラインとなる単一画像超解像モデルです.それぞれのDA手法による結果を見てみると,どのAugmentにおいてもベースラインよりスコアが向上しているのが確認できます.特にこの表で見るべき点は下記の2点です.

  • CutMixupはCutmixの境界変化を抑えた新手法⇒Cutmixよりも高精度
  • Cut系(Cutout, CutMix)よりもMix系(Mixup, CutMixup, RGB perm)の方が高精度

この2点から,超解像タスクにおいては画像の構造変化を抑えることが重要だということが示唆されています.Cut系では画像の一部が切り取られるため,構造に大きく変化を与えてしまいますが,Mix系では構造情報が保持されます.分類タスクでは優秀なCutMixも超解像では上手くいかず,反面Mixupや単なるRGB変換の方が超解像タスクにおいては最適だということが示唆されています.実際にCutoutの矩形の大きさを変えて,余計に構造情報を落としてみたら,下図のように精度が悪化することがこの主張を補強しています.(赤線が最も欠落)

特徴レベルの拡張

 一般的にDAは先のデータレベルの拡張を指すことが多いですが,広義には特徴空間の操作もDAに含まれます.最も代表的なものは,特定のニューラルを無視するDropoutです.他にも中間層の出力を混合するManifold Mixup, forwardとbackwardで重み更新の計算を乱数によって乱すShakeShake, ShakeDropが挙げられます.これらの特徴量の操作は一様に超解像タスクのスコアを低下させることが下図(ManifoldMixup, ShakeDrop)によって示されています.RCAN, EDSRの両モデルにおいて,+MM, +SDはベースラインを下回っていることが確認できます.この理由は,上記とほぼ同様で,畳み込み後に特徴レベルで構造情報を大きく乱すことに起因すると考えられています.

それにしても,タスクの違いで,なぜこのようなことが起きるのでしょう?端的に言えば,分類モデルは画像を究極的に抽象化することが目的ですが,超解像タスクは画像を具体化(復元)することが目的です.このようなレベル(※)の違いが,画像空間の構造情報(ローカル,グローバル両方)を保持することの必要性に繋がっていると示唆されています.※文献中ではこの違いをhigh-level, low-levelと表現しています.

Cutblurの仕組み

先の従来DAの解析でわかったことは,「構造情報を保持したDAが大切」という知見です.この知見に基づき,ある意味自然に編み出されたのがCutblurになります.Cutblurは上図のような操作により,低解像度の画像を高解像度の画像に切り貼りします.端的に言えば画像中の特定箇所を低解像度にするだけです.これをCutMix準拠の数式で表現すると,数式では下記のように表現されるようです.

$\hat{x}_{HR→LR}=M \odot x_{HR} + (1-M) \odot {x^s}_{LR}$

$\hat{x}_{LR→HR}=M \odot {x^s}_{LR} + (1-M) \odot x_{HR}$

$x_{LR}$は低解像度,$x_{HR}$は高解像度の画像です.解像度の異なる画像をCutMixするだけですが,空間的に同じ領域に対応付けるため,低解像度画像を高解像度画像にあわせる必要があります.具体的には,${x^s}_{LR}$のように$x_{HR}$を目指してスケールアップしています.このCutblurの特徴を下記にまとめます.超解像タスクに最適化されたDAであることが確認できるかと思います.

  • CutMixのようなコンテンツ変化による画像内の急激な境界変化を生じさせない.
  • バニラMixupのような非現実な画像も生み出すこともない.
  • Cut系のような構造情報の欠落も生み出さない.

Cutblurはモデルにどんな学習を促すのか

Cutblurによってモデルは超解像するべき場所と方法を学習すると論文中にて示されています.具体的には,もとから高解像度の部分は→そのまま・低解像度の部分は→集中的にです.

高解像度の部分はそのまま

上図では従来ではHR(高解像度画像)を入力すると,ベースラインの単一画像超解像にて,目が痛いほどに過度にエッジが強調されることが示されています(EDSR w/o Cutblur).しかし,Cutblurによって学習されたモデルはエッジを無駄に強調することがありません.(図を参照すると,青と黄色の残差画像を見ると,w/o Cutblurの方では残差がシャープな輪郭を描いているのに対して,w/Cutblurではほとんど残差がなく真っ青→すなわち過度に解像度を上げない)

低解像度の部分は集中的に

また,Cutblurは画像内に含まれる低解像度の領域を改善しています.上図はCutblur画像をそれぞれのモデルに入力していますが,w/ではHR領域の残差がほとんど無いことは勿論,LR領域ではシャープな残差が抑えられているのが確認できます(一見差はないが,目をこらせば特にLR領域の右らへんの赤白の矩形が描かれている領域が分かりやすい).実画像としては,かような条件は限定的だという批判も勿論考えられますが,論文ではピンぼけ画像などを反例として,実世界に多様に存在すると主張されています.以上を根拠に,従来のHR画像では,グローバルな範囲でどのように超解像すべきかのみ学習しますが.Cutblur画像を用いると,どの場所を&どのように超解像すべきかを学習することができます.

包括的な実験結果

それでは最後に実験結果を見ていきましょう.本論文では,モデルサイズやデータセットサイズのバラエティを考慮した実験もされていますが,本記事では以下の3点の実験にフォーカスします.

  • 多様なベンチマークのSR性能
  • Cutblur的な実画像を対象とした検証
  • 低レベル画像復元タスクによる検証(ノイズ除去)

多様なベンチマークのSR性能

上表は,合成データセット(DIV2K)&実画像データセット(RealSR)で検証した結果です.CARNは小規模モデル,RCAN, EDSRは大規模モデルです.CARNモデル以外では,両データセットでPSNR, SSIMを向上させていることが分かります.尚,CARNなどの小規模モデルではそもそものSR性能性能が低くCutblurの学習に手を回している暇がないため,学習不足に繋がりproposedの性能が低いです.ですが,そんな小規模モデルでさえ,実画像データセットではスコア向上に寄与していることが分かります.下図はUrban100の定性的な結果となっております.合成データセットなのでCARNではそこまでですが,他モデルではシャープすぎる残差が抑制されています.

Cutblur的な実画像を対象とした検証

こちらは実世界の画像において,高解像度と低解像度が入り交じる一例を示されています.具体的には前景と背景で解像度が異なります.左がwebから引用された画像,右側はiphone11 Proによって撮影された画像です.特にiPhone11の右側の例を見ると顕著ですが,w/o Cutblurでは赤枠で示された,英字の周囲がぶれており奇妙な印象を受けますが,w/の方ではそれがなく残差画像を見ても明らかに改善されています.左側の鳥も特に目や顔の部分において,w/の方が妥当な超解像になっていることが確認できます.このことから,実画像においてはCutblur的な事例は存在するため,Cutblurは効果を発揮すると考えられます.

低レベル画像復元タスクによる検証

最後は画像中に含まれるガウスノイズを削除するタスクです.Train $\sigma$はどれくらいノイズをかけてモデルを学習するかを意味します.尚,testの際には$\sigma = 30$のノイズをかけます.LPIPSのみ低い値の方が良い改善を意味します.また,PSNRよりも,SSIM・LPIPSのほうが人間の知覚に近い画像指標となっています.下段のPSNRを除き,どれを見ても改善されているのが分かります.また下図を見ても.test画像:右上を入力されると,ベースライン:左下は,PSNRを向上させるためにオーバーにノイズを削除(ぼやか)していますが,Proposed:右下の方が妥当にノイズを削除していることが確認できます.

まとめ

本記事では,Cutblurを中心とした超解像タスクにおける最適なDA手法について解説しました.Cutblurによって,モデルが超解像すべき方法だけでなく場所まで学習できることが分かりました.尚,本記事では,原著の潤沢な比較検証の一部を割愛しましたので,他の結果(データサイズやモデルサイズの違い等)に興味をお持ちになった方はぜひ原著を参照されることをお勧めします.本論文はタスクベースのDAに関して,非常に論理的かつ実験的に調査がされています.Super Resolutionに興味がなくとも,タスクベースのDAを考える場合必見です.日に日に派手で複雑大規模なネットワークモデルが登場する昨今,かような包括的なDAの研究需要は水面下でどんどん増していくことが予見されるでしょう.

  • メルマガ登録(ver
  • ライター
  • エンジニア_大募集!!

記事の内容等について改善箇所などございましたら、
お問い合わせフォームよりAI-SCHOLAR編集部の方にご連絡を頂けますと幸いです。
どうぞよろしくお願いします。

お問い合わせする