RAISR:機械学習を使って低解像度画像を綺麗にする技術

  • 2018.10.28
  • AI
RAISR:機械学習を使って低解像度画像を綺麗にする技術

1.RAISR:機械学習を使って低解像度画像を綺麗にする技術まとめ

・低解像度画像を高解像度画像にするアップサンプリングの新手法RAISR
・低品質画像と高品質画像を比較し必要なフィルターを学習させる
・従来のシンプルなアップルサンプル手法より綺麗な画像が出来る

2.RAISRとは?

以下、ai.googleblog.comより「Enhance! RAISR Sharp Images with Machine Learning」の意訳です。元記事の投稿は2016年11月なので約2年前ですが、RAISRは2018年10月に発売されたPixel 3の基礎となった技術で2018年10月現在でも画像を綺麗にするために使われている技術です。Pixel 3関連の記事のまとめはこちら

インターネットでは毎日、数百万の写真が共有され、保存されています。これらの写真は訪れた事のない世界に思いをはせたり、興味のあるトピックを研究したり、友人や家族と休暇の体験を共有したり、様々な目的に使われています。

しかし、使われている画像の多くは、撮影に使われたカメラの解像度か、またはスマートフォンやタブレットが接続しているネットワーク回線に対応するためにサイズが圧縮されています。つまり、意図的に写真の品質が劣化されているのです。

家庭やモバイル機器向けに高解像度ディスプレイが普及してきており、低解像度の画像から高品質な画像を再現したいと言う要望は幅広いデバイスで発生し、これまでにないほど需要が高まっています。

論文「RAISR:Rapid and Accurate Image Super-Resolution」では、低解像度画像から高品質バージョンを生成するために機械学習利用する手法を紹介します。RAISRは、現在入手可能な超解像度手法と同等以上の品質を、およそ10~100倍速く、典型的なモバイルデバイス上でリアルタイムに実現することができます。さらに、私達のこの技術は、より低い解像度の画像に存在する可能性のあるエイリアシングアーティファクト(低解像度で発生するボヤケやギザギザ等)の再現を避けることができます。

アップサンプリング、つまり低解像度画像から高品質な画像を生成する手法はかなり昔から行われてきました。アップサンプリングのよく知られた手法は、近くに存在する画素の値を組み合わせて、単純で固定的な線形法(linear method)を用いて作成する事です。この線形法は、数値が固定された線形フィルターであるため高速です。しかし、線形法によるアップサンプリングは、高品質な画質になりません。下の例のように、アップサンプリングされた画像はぼやけて見えてしまいます。このような品質では、低解像度画像から高品質画像が生成されたと主張する事は躊躇われます。

左:低解像度のオリジナル写真、右:シンプルなアップサンプリング(bicubic法)で2倍にした写真。画像クレジット:Masa Ushioda / Seapics / Solent News

RAISRでは、シンプルなアップサンプリングを使う代わりに機械学習を使用して、低解像度画像と高解像度画像のペアから「どのようなフィルター(変換ルール)を作れば、低解像度画像から高解像度画像が作れるか?」を学習させます。作成されたフィルターを低解像度画像の個々の画素に適用するとオリジナルの高解像度画像に近い品質の高品質な画像が作れるようになります。

RAISRは2つの方法で訓練することができます。1つ目の方法は、フィルタを低解像度画像と高解像度画像のペアから直接学習する「直接法」です。もう1つの方法は、最初に計算が簡単なアップサンプラー、例えば線形法を低解像度画像に適用し、次にアップサンプリングされた画像と高解像度画像のペアからフィルターを学習させます。直接法は計算速度が速いのですが、第2の方法は、非整数スケールファクタを可能にし、ハードウェアの機能を使ったアップサンプリングをより有効活用できます。

どちらの方法でも、RAISRフィルタは、画像の小さなつぎはぎ部分、すなわち輝度/色勾配、フラット/テクスチャ領域などに見られるエッジ(端っこ)に着目して学習します。エッジは、方向(エッジのアングル)、強度(鋭いエッジは大きな強度を持ちます)、一貫性(エッジの方向がどれだけ続くか)によって特徴付けられます。

以下にRAISRフィルタのセットを示します。高解像度と低解像度の画像ペア10,000個のデータベース(低解像度画像に最初にアップサンプリング処理をしたデータベース)から学習されたものです。トレーニングには約1時間かかりました。


学習した11×11フィルターを3倍に拡大した一覧。エッジの角度(angle)が変化すると、フィルタの角度も同様に変化することに注目してください。同様に、強度(strength)が増加するにつれて、フィルタの鮮明度(sharpness)が増加しますし、フィルタの異方性(anisotropy)は一貫性(coherence)の上昇とともに増加します。

たとえば、最下行中央のフィルタは、高いコヒーレンス度(エッジが曲線ではなく直線である等)の強い水平エッジ(90度の勾配角度)に対して最も適しています。そしてもし、この同じ水平エッジが低コントラストである場合、異なる行のフィルタ、例えば一番上の行が選択されます。

より正確に言えば、実行時にRAISRは学習済みフィルタのリストから最も適しているフィルタを選択し、低解像度画像の各ピクセル近傍に適用します。これらのフィルタを低品質の画像に適用すると、元の高解像度に匹敵する品質を再現し、線形法、バイキュービック法、またはLanczos補間法などの安価なアップスケーラに大幅な改善をもたらします。


上図:RAISRアルゴリズムの手順。安価なアップスケーラの出力に適用されます。下図:低解像度のオリジナル画像(左)、バイキュービックアップサンプラー2倍(中)、RAISR出力(右)

その他のRAISRの適用例


上:オリジナル写真、下:RAISR super-resolved 2x。画像クレジット: Andrzej Dragan


左:オリジナル写真、右:RAISR super-resolved 3x。画像クレジット:Marc Levoy

超解像度を実現する際のより複雑な側面の1つは、高周波コンテンツが低解像度でレンダリングされるときに発生するモアレパターン(ボヤケ)やジャギー(ギザギザ)などのエイリアシングを取り除くことです。元になった特徴の形状に応じて、これらの効果を取り消して元に戻すのは難しい場合があります。


エイリアシングの例(左は木と壁の部分がぼやけてしまっている)

シンプルなアップサンプリング手法では、基本構造を元に戻すことはできませんが、RAISRは可能です。下の例では、左側の3番と5番はエイリアシングされてボヤケた空間周波数が確認できますが、右側のRAISR画像は元の構造を復元できています。

RAISRのもう1つの重要な利点は、訓練プロセスの中に個々の画像圧縮アルゴリズム(JPEGなど)に固有のノイズや圧縮特徴を組み込める事です。RAISRは、具体的な学習データを用いて、解像度向上以外の効果を元に戻し、結果として得られるフィルタ内で画像圧縮アルゴリズムの影響を排除する方法を学ぶことができるのです。


左:元の低解像度画像、エイリアシングが強くギザギザやボヤケが目立ちます。右:RAISR出力。エイリアシングを取り除き、ギザギザやボヤケが目立ちません。

1つまたは複数のフレームを使用する超解像度技術は、長い間研究されてきました。今日、画像技術の進歩と機械学習の融合により、新しい画像処理が可能になり、今後、多くの潜在的利益がもたらされます。

たとえば、携帯電話のピンチズームの品質を向上させること以外にも、画像を低解像度で撮影して送信した後、品質を劣化させる事なく高品質画像を受信できるのです。その際に回線速度や料金、ストレージ容量を心配する必要はなくなります。

私たちの研究の詳細や他の現在のアーキテクチャとの比較については、論文「RAISR: Rapid and Accurate Image Super Resolution」を参照してください。これはIEEE Transactions on Computational Imagingにもうすぐ掲載されます。

3.RAISR:機械学習を使って低解像度画像を綺麗にする技術関連リンク

1)ai.googleblog.com
Enhance! RAISR Sharp Images with Machine Learning