技術コラム技術コラム

技術解説

スーパーリテイク™
~AIで思い出写真を「撮り直す」~

2018.08.29

サービスクリエーション本部 チーフ・イノベイター 髙橋 敬祐

サービスクリエーション本部
チーフ・イノベイター
髙橋 敬祐

スーパーリテイク ~AIで思い出写真を「撮り直す」~

思い出の写真。きっと誰もが何かしらお持ちだと思います。

1人あたりのスマホに保存されている写真の枚数は、平均1,351枚だと言われています。そして写真撮影の一番の目的は「思い出」であるというアンケート調査結果もあります。
一方で、スマホでの写真撮影で一番多く挙げられる不満は、画質です。これは、解像度が低い、階調が豊かでない、色彩の鮮やかさに欠ける、といったことに起因します。デジタルカメラのハードウェアでいうと、センサーの画素が少ない、ダイナミックレンジが狭い、フィルターが時代遅れ、といった点が原因です。

ハードウェアの切り口で深掘りしてみましょう。

次の表1および2は、これまでのデジタルカメラの変遷を簡易にまとめたものです。

C社 製品P 600 C社 製品P G2 C社 製品P G7 C社 製品P G9 X Mark II
発売年 1996 2001 2006 2017
画素数 57万 400万 1000万 2010万
解像度 832 x 608 2272 x 1704 3648 x 2736 5472 x 3648
センサーサイズ 1/3インチ 1/1.8インチ 1/1.8インチ 1インチ

表1. ハイエンド・コンデジ ( 抜粋 ) のカメラ性能の変遷

J社 製品SH04 D社 製品N900i W社 製品ZERO3 A社 製品7
発売年 2000 2004 2006 2016
画素数 11万 200万 133万 1200万
解像度 96 x 128 1616 x 1212 (実質1280 x 960) 1280 x 1024 4032 x 3024
出荷台数 N/A 2.3万台(初日) 15万台 2150万台

表2. 携帯電話・スマートフォン ( 抜粋 ) のカメラ性能の変遷

いかがでしょうか?この20年の間のハードウェアの進歩により、デジタル写真の表現力(主に解像度)は劇的に向上したことがわかります。

しかし一方で、それを表示するディスプレイもまた、劇的な進歩を遂げています。入力装置であるデジカメと出力装置であるディスプレイは、時代とともに二人三脚で高度化し、私達に思い出と感動をもたらしてくれるものであると言えるでしょう。

出力装置も進歩する

図1. カメラの出力解像度とディスプレイ解像度の比較。最新のスマホでも4Kにギリギリ対応できていることがわかるが、一方でディスプレイ解像度は8K(4Kの4倍)に突入しようとしている。

これに対して、過去に撮影した写真はどうでしょうか?それは時代とともに進歩しません。撮影した当時のままです。ディスプレイの解像度が高まるにつれて、過去に撮影したほとんどの写真の相対的な解像度は下がっていきます。なので、ディスプレイでの表示サイズを撮影した当時と同じぐらいにするためには、写真画像の拡大が必要です。

画像の拡大処理に使用されるアルゴリズムにも、色々あります。昔から使われるメジャーなものを挙げると、Nearest NeighborBilinearBicubic の3系統、2000年代の応用として確立されたLanczos も含めれば4系統です。それぞれ違いや得意・不得意はありますが、個別の解説は省きます。
全体的な傾向としては、ドットを単純拡大する「Nearest Neighbor」の場合、写真画像は当然荒くなりますし、その他の3つも基本的に周囲のピクセルから補完するアルゴリズムであるため、仕上がりは“シャープさに欠ける”“ぼやけた”ものになってしまいます。

拡大アルゴリズムの比較

図2. 拡大アルゴリズムの比較。Originalは640pであるが、わかりやすくするため、リンク先画像は「Nearest Neighbor」を用いてさらに4倍 ( 2560p ) している。

写真とディスプレイの解像度の話に戻りますが、ディスプレイが進歩すればするほど、過去の写真は相対的に小さくなり、ディスプレイに合わせて拡大することで“ぼやけた”ものになってしまうのです。

過去の写真を最新の液晶で映した場合のイメージ

図3.過去の写真を最新の液晶で映した場合のイメージ。

補完ではなく生成

従来手法では画像の拡大にあたって周囲のピクセルから補完を行いますが、噛み砕いて言えば、拡大することで空白となってしまうピクセルをどの色で埋めれば自然な仕上がりになるかを、周囲のピクセルの色をヒントに計算して決めるということです。

そのアウトプットを見て、私たちは「ぼやけている」と感じてしまいます。あるいは「元の画像は小さいもので、あるアルゴリズムによって拡大された」と勘付いてしまいます。つまり、シャープさやリアルさとは対極の印象を受けてしまいます。

私たちが心を動かされるのは、フォーカスされた対象にはしっかりとエッジが効いているシャープな写真であり、まるで自身の眼の前に広がるかのようなリアルな写真です。

エッジの効いたリアルな写真

図4. エッジの効いたリアルな写真のイメージ。

発想を転換してみましょう。「この小さな写真は、ある写真を縮小したものであると仮定する。そのある写真とは元々どのようなものであったか?」と。
もしかしたら、これを私たちは脳内で処理しているのかもしれません。私たちはある小さな写真から思いを馳せるにあたって、脳内でピクセルを補完しているわけではなく、リアルなシーンを想像していることでしょう。だとしたら、これを人間の脳ではなくAIにやらせることが、チャレンジとなります。

すなわち、私たちが欲するアウトプットを求めてコンピュータにやらせるのは、「補完」ではなく「生成」なのではないかということです。

AI

言うまでもなく「人工知能 ( Artificial Intelligence ) 」のことですが、本稿では「複数のデータからパターンを認識する学習を行い、それによって組み上げたモデル ( 入力と出力を持ち、ある程度共通したあるいは汎用的なパターンを表現する数式のようなもの ) に対して他のデータをあてはめて、予測や分類を行うもの」とします。
つまり、手法としては機械学習における「教師あり学習」を採用します。

機械学習の手法、すなわちモデルの生成器には、多層ニューラルネットワークを採用します。つまり、「Deep Learning」 を行います。

「Deep Learning」で何をするかというと、学習フェーズでは高精細な写真画像を複数用意し、それぞれの縮小画像を生成したうえで、パターンを学習します。縮小画像から高精細な画像を生成し、それと元々の高精細な画像との誤差を最小にするには、どのような損失関数を用意すればよいかを考えます。

ここで一つ工夫を入れます。ニューラルネットワークをもう一つ用意し、精度向上に貢献させます。このニューラルネットワークは生成された画像と自然な画像との誤差に関する損失関数を持っています。

この2つのネットワークの関係は敵対的です。偽物の作品を作るネットワークと、それを見抜くネットワークであるためです。この手法を「敵対的生成ネットワーク ( GAN:Generative adversarial networks ) 」といい、AIで効率的にデータを生成する手法として画期的なアイデアです。

情報量を増幅させることで、本来の解像度の画像がもつ情報量を超えて、高い解像度の高精細な画像を生成する技術は「超解像 ( Super-resolution ) 」と呼ばれ、それは20世紀から研究されてきたものですが、GANはまさにこれを行うものであるということで、「SRGAN ( Super Resolution GAN ) 」と名付けられました。

なお、「SRGAN」に関する詳しい技術的な解説は、次回以降に触れたいと思います。

スーパーリテイク™

前置きが長くなりました。2017年10月、上記のアイデアを形にしたのが、私たちの「スーパーリテイク™」です。
これは「超解像を行うSRGANを始めとするAI技術により、あたかも現代のスペックのカメラで過去のシーンの撮り直し ( リテイク ) をしたかのような、写真画像の生成を行う」ツールセットであることに由来します。

ツールセットということで、実現しているのは超解像だけではありません。他にも ( 超解像とは異なり一般的な言葉ではありませんが ) 「超階調」や、現状ではコンセプトのみですが「超美麗」といった処理も含んでいます。

解決する課題

スーパーリテイク™が解決する課題は次のとおりです。

  • 写真画像を拡大するにあたり、エッジの効いたシャープでリアルなものにしたい。
  • 被写体が逆光で黒く潰れてしまっている1枚の写真画像から、黒く潰れていないHDR(※)写真を生成したい。
    ※HDR: High Dynamic Range は、撮影の瞬間に露光の異なる写真を複数撮り、
    それらを組み合わせて階調表現豊かな写真を作り出す技術。
  • 色域を調整するにあたり、人が「美しい」と感じる(イイね!をつけたくなる)色調にしたい。(コンセプトのみ。)

解決できない課題

反対に、現時点でスーパーリテイク™が解決できない課題は次のとおりです。

  • 元の写真画像には映っていない細部を再現したい。
  • 写真の潰れてしまっている部分を拡大して細部が見えるようにしたい。
  • 高い証拠能力のある超解像写真を生成したい。
  • 手ブレしてしまった写真を改善したい。
  • モザイクを外したい。
  • 白飛びしてしまっている1枚の写真画像から、白飛びしていないHDR写真を生成したい。
  • 静止画以外のフォーマット ( 動画など ) に対する処理。

現時点で解決できない課題であっても、みなさまとコミュニケーションを取りながら、実現性を模索していきたいと考えています。

システム

スーパーリテイク™はAI機能を提供するシステムとして実装しており、誰でも簡単に使えるシンプルなものに仕上げています。

ユーザーインターフェース

スーパーリテイク™は複数のユーザーインターフェースを持っており、SNSやSlack等のBotとしても提供をしています。ユーザーは基本的にBotに対して画像を投げるだけで、SRGANの処理を施して超解像画像を生成することができるようになっています。

APIサービス

REST APIを提供しており、アプリケーションと連携できるようになっています。

バックエンド

システム部分は開発効率と信頼性・並行処理能力を重視しElixirのPhoenix Frameworkで、AI機能は鉄板のPythonで実装しています。大量の画像を扱うユースケースと要求されるスケーラビリティから、バックエンドストレージはMicrosoft Azure のBlobストレージを利用。AI機能はGPUのパワーで処理を高速化しています。

評価

クラウドソーシングサービス 「Amazon Mechanical Turk ( MTurk ) 」 を利用して、スーパーリテイク™による超解像画像の評価を実施しました。5組の写真画像について、それぞれオリジナル画像、縮小してから従来手法で拡大した画像、そしてスーパーリテイクの超解像により生成された拡大画像の3つに対して、5点満点で精細さを評価する内容のサーベイです。

結果は次のとおりでした。

オリジナル画像 従来手法
( Bicubic )
スーパーリテイク™
( 超解像 )
写真画像1(風景と女性) 4.4 1.9 2.7
写真画像2(女性のポートレート写真) 4.5 2.5 2.7
写真画像3(女性のランドスケープ写真) 4.4 2.2 2.7
写真画像4(猫) 4.5 2.8 3.2
写真画像5(麻婆豆腐) 4.3 2.2 2.9
総合(上記1〜5の平均) 4.4 2.3 2.8

表3. サーベイ結果

サーベイ結果

図5. サーベイ結果。図中の写真は、実際に使用した5枚の写真の一部分。

いずれにおいても、従来手法に対してアドバンテージがあることが確認できました。

余談ですが、サーベイの規模は1,000名でしたが、報酬を1件あたり$0.64としたところ、わずか3時間で完了しました。コストはAmazonへのフィーも含めて、日本円にして約10万円でした。

作例

文字や言葉で説明するよりも、実際の写真をご覧になる方が伝わると思いますので、次に作例を従来手法との比較付きで紹介します ( 「思い出の写真」ということで、いずれもオリジナル画像はガラケーで撮影したQVGAまたはQCIFの写真です。処理後の写真は拡大縮小せず、本稿のコンテンツの規定サイズに合わせて切り出しを行っています ) 。

作例2

図6. 作例1。Bicubicでは輪郭が補完されている感が出ているのに対し、SRGANの方では初めからこのようなラインであったかのように表現されている。

作例3

図7. 作例2。素材感に注目。Bicubicではあたかもぬいぐるみ画像を拡大したかのような表現となっているのに対し、SRGANの方はぬいぐるみの生地の質感がリアルに出ている。

作例は以上になります。SRGANによるエッジの効いたリアルな高解像度化を、体感されたと思います。

今後の展望

NTTPCでは、スーパーリテイク™の開発を継続して行いつつ、みなさまのビジネスのお役に立てるよう正式サービス化を目指して準備しております。ポッと生まれたものをサービス化しようというNTTらしからぬベンチャー的な風土に、力強い後押しをもらっています。

とはいえ、今までに無かったもの、しかも技術ドリブンで生まれたものをサービス化するのは、非常にエキサイティングである一方で、産みの苦しみとの闘いでもあります。
AIやデータサイエンスでイノベーションを起こす仲間を募集しつつ、イベント出展や講演、デモなどでみなさまのご意見やアドバイスを賜りながら、継続してブラッシュアップを行っていきます ( もしご興味を持たれましたら、ぜひお問い合わせください! ) 。

<まとめ>

AIがSRGANにより写真画像を超解像するサービス「スーパーリテイク™」を紹介しました。GPUを活用した価値創造の1つの事例として、みなさまのご参考になれば幸いです。

スーパーリテイクで超解像した風景写真

図8. スーパーリテイク™で超解像した風景写真。蓼科 女の神展望台は、長野県のビーナスラインを美ヶ原高原〜霧ヶ峰〜車山へと辿り、白樺湖からさらに八ヶ岳方面へ行った場所に突然現れる穴場の絶景ポイント。八ヶ岳,南アルプスの山々が見渡せ、八ヶ岳の裾野に広がる広大な森が眼下に広がる。ちなみに、展望台として名前が付いたのは最近であるとのこと。