CVPR 2021 参加報告

 こんにちは、2021年4月に入社したCTO室リサーチャーの名古屋です。

 私たちが働く株式会社モルフォでは毎年、国内外を問わず画像処理・機械学習の学会や国際会議に積極的に参加しています。今回は私ともう2名の社内リサーチャーとで、6月19~25日に開催した「CVPR 2021」に参加してきました。

 この記事では、CVPRの概要と、個人的に気になった研究を3つピックアップして紹介します。

目次

CVPR 2021 の概要

 CVPR (Computer Vision and Pattern Recognition) とは、コンピュータビジョンとパターン認識の分野における世界トップレベルの学会です。毎年非常に多くの論文が集まっており、その数は毎年のように増え続けています。今年は7000本の論文の中から1700本が採択されました (採択率23%) [1]。通常はアメリカ国内で開催されていますが、新型コロナウイルスの影響で去年からリモート参加によるバーチャル開催となっています。

CVPR 2021 の様子

 参加者 (聴講者) は開催前日から特設サイトにログインすることができ、そこでは各論文のポスターや事前に録画された講演動画を見ることができます。ポスターは非常に簡潔にまとまっているものが多く、論文の概要を把握するのに便利です。特設サイトは大会終了後3ヶ月間は入ることができます。

 開催期間中はセッション時間が設けられていて、その時間内で発表者に質疑応答をします。質疑応答はリアルタイムなビデオ通話形式とテキストチャット形式があります。ビデオ通話形式では1論文に1部屋用意されているためか、参加者が分散して1部屋1部屋が過疎り気味です。周囲を気にせず訊ける反面、通常の学会のノリで他人の議論を聴きに行こうと参加者の多い部屋に入ると、沈黙に殺されることになります。テキストチャット形式はセッション時間外でも質問する事ができます (セッション時間を過ぎてしまえば回答は返ってきませんが) 。テキストベースであるため、話すのが苦手な方にとっては非常に便利な機能です。セッションが終わってもログが見れる利点もあります。

 その他チュートリアルやワークショップも同時に開催されており、身一つではとても回りきれないほど充実しています。

論文紹介

 ここからは、私が個人的に興味を持った (主に画像生成についての) 論文を紹介します。

1. Learning Continuous Image Representation with Local Implicit Image Function

著者:Yinbo Chen, Sifei Liu, Xiaolong Wang. (CVRP 2021)

論文:Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021. pp. 8628-8638.

一言で

 画像の局所表現を学習することで、拡大縮小画像の任意の座標における連続的な画素値を回帰する手法

背景

 コンピュータ上では、画像データは離散信号で保存されるため、標本化によって一部の信号情報が切り捨てられます。これらの画像を拡大する際は、この切り捨てられた信号を補間する必要があります。

 従来法では、切り捨てられた信号の値自体を予測するように学習しますが、提案手法では画像特徴から連続値座標における画素値を回帰するデコーダを学習します。

 これにより、モデルの出力のサイズにとらわれない任意の解像度での拡大・縮小が可能となります。

手法

【Local Implicit Image Function (LIIF) の連続画像表現方法】

 論文では、連続画像  I の予測したい座標  x_q とその周辺の2次元特徴量  z^*_t を入力とし、座標  x_q のRGB値を予測し出力する「Local Implicit Image Function (LIIF) 」と呼ぶ表現方法を提案しています。

 すべての画像で共有されるデコーディング関数  f_{\theta} (  \theta をパラメータとするMLP) で特徴量をデコードします。

LIIFの表現方法 - [2] Fig.2より引用

 式にすると (1) のようになります。

 \displaystyle
 I(x_q)=\sum_{t\in \{ 00, 01, 10, 11\} } \frac{S_t}{S} \cdot f_{\theta}(z^\ast_t, x_q - v^\ast_t)
\tag{1}

   v^\ast_t z^\ast_t の座標、  S_t x_q v^\ast_t 間の長方形の面積で  S (S=\sum_{t} S_t) で正規化されます。

 式 (1) は、特徴量のデコードを バイリニア補間しているといえます。


【LIIFの学習方法】

 入力画像をLIIF表現として2D特徴マップにマッピングするエンコーダ  E_{\varphi} (パラメータとして  \varphi を使用) と、すべての画像で共有されるデコーディング関数  f_{\theta} を学習します。

 まず、学習用のデータの作成を行います。入力画像として、トレーニング画像からランダムなスケールでダウンサンプリングした画像を使用します。またLIIFで参照する座標  x_{\mathrm{hr}} と、そのRGB値  s_{\mathrm{hr}}を作成します。

学習用データの作成方法 - [2] Fig.4より引用

 次に学習の流れについて説明します。エンコーダ  E_{\varphi} は、入力画像をそのLIIF表現として2次元特徴マップにマッピングします。  f_{\theta} はLIIF表現に基づいて座標  x_{\mathrm{hr}} に対するRGB値を予測します。予測された信号  s_{pred} と教師用の信号  s_{\mathrm{hr}} との間で学習損失 (論文ではL1Loss) を計算します。

学習の流れ - [2] Fig.4より引用

実験・結果

 実験では、PSNRを用いて画質を評価します。

 LIIFは既存の超解像手法に比べて、学習セットに含まれないような極端な倍率 (30倍など) で高い精度を出しています。

PSNRによる比較 - [2] Table 1より引用

 また、LIIFでは画像のエッジ部分のぼけが抑制され、クリアに拡大できている事がわかります。

左から、ピクセルで拡大、バイリニア補間、LIIF (提案手法) - [3]より引用

感想

 フィルムカメラみたいに画像を連続的な表現にするという発想が非常に面白いと感じました。

 ただ、拡大していくと画像がイラストのようなのっぺりとした感じになってしまうのが気になります。デコーディング関数 f_{\theta} の重みを座標  z^\ast_t x_q からなる面積という線形的な値ではなく深層学習で求めれば、もっと詳細なテクスチャやディティールを復元できそうです。

リンク

2. GLEAN: Generative Latent Bank for Large-Factor Image Super-Resolution

著者:Kelvin C.K. Chan, Xintao Wang, Xiangyu Xu, Jinwei Gu, Chen Change Loy. (CVRP 2021)

論文:Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021. pp. 14245-14254.

一言で

 学習済みGAN生成器をLatent Bankとして使用することにより、超解像の品質を向上させる手法

背景

 ここ数年でBigGANやStyleGANなど、高精度の高解像画像を生成できる深層学習モデルが登場しています。BigGANなどは複数カテゴリーの画像を生成できるため、多様な自然画像に対する潜在空間・特徴空間を持っています。

 これらの既存のGAN生成器が詳細なテクスチャやディティールを生成することに着目し、超解像技術に応用したのがこの研究です。

手法:GLEAN

 この論文では、学習済みのGAN生成器をLatent Bankとして従来のEncoder-Decoder構造に組み込んだ、新しいEncoder-Bank-Decoder 構造を提案しています。

 Latent Bankは、GANによって事前に獲得された多種多用な画像表現を持っています。そのため、このLatent Bankが細かい部分 (ディテールやテクスチャ) の復元を支援することで、Encoderは構造の復元に集中することができます。これにより、EncoderとDecoderが「入力画像に対する忠実度 (以下、忠実度) 」と「フォトリアリズム」の両方を同時に学習する負担が軽減され、学習時間を短くしながら高い品質の超解像画像の生成を期待できます。

Encoder-Bank-Decoder 構造 - [4] Fig.2より引用

 各モデルの役割は以下のようになっています。

  • Encoder:入力画像の構造を復元し、空間特徴を生成
  • Latent Bank:自然な画像の事前情報を提供し、詳細特徴を生成
  • Decoder:空間特徴と詳細特徴を融合
実験・結果

 GLEANでは、学習済みのStyleGANまたはStyleGAN2をLatent bankとして使用しています。

 GLEANでは、他の超解像手法に比べて忠実性や細部のディティールを自然に再現していることがわかります。論文では、64倍の拡大でもリアリティの高い復元に成功しています。

16倍の超解像での比較 - [4] Fig.3より引用

 更に、GLEANの興味深いところは、人の顔のデータセットで学習したにもかかわらず、人の顔ではない画像や、顔の角度が極端に変化するポーズにも対応できる点です。PULSEは低解像度 (下図、各顔画像の左下の小さな図) では正解画像 (GT) に似ているように見えますが、高解像度になるとGTとは大きく異なり正面の顔画像を生成してしまっているのが分かります。

多様なポーズや内容の入力画像に対する出力 - [4] Fig.6より引用

ちなみに

 このEncoder-Bank-Decoder 構造を見て、「BankはGANのGeneratorだから、Encoder-Bankだけで画像は生成できるはず。Decoderは本当に必要なのだろうか?」と疑問に思いました。が、論文ではそのような疑問についてのアンサーもしっかり用意されていました。

Decoderあり/なしの比較 (上段がDecoderあり、下段がなし) - [4] Fig9より引用

 Decoderありの方は、テクスチャ部分の細かいアーティファクトが減っており、より自然な画像になっていることがわかります。DecoderがEncoderからの構造的な特徴量とLatent Bankからの細部の特徴量を融合させる働きをしていることがよくわかります。

感想

 EncoderとDecoderの間に学習済みのGAN生成器を挟む、シンプルながら非常に有用性の高い発想が面白いと感じました。インペインティングや反射面の映り込み除去などのタスクに応用できそうです。

リンク

3. Closed-Form Factorization of Latent Semantics in GANs

著者:Yujun Shen, Bolei Zhou. (CVRP 2021)

論文:Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021. pp. 1532-1540.

一言で

 GANの潜在空間内の意味のある変動 (意味ベクトル) を教師なし学習で発見する

背景

 近年、GANの潜在空間を用いて画像内のオブジェクトの角度や色などを変えるなどの「意味のある変動 (以下、意味ベクトル) 」を操作する試みが多数なされています。

 この論文もその1つです。論文では学習済みのGANの潜在空間から意味ベクトルを見つける手法を提案しています。潜在空間の次元軸に沿って意味を学習させたり、意味ラベルの付いたデータセットを用意したりする必要がありません。

手法:Semantic Factorization (SeFa)

 提案手法では、ほとんどのGANが、ある入力潜在ベクトル z を一番最初に全結合層でProjection (投影) することに着目します。

GANの構造 - CVPR2021講義動画より引用

 「潜在空間上の意味のある方向  n は生成画像を明らかに変化させる」と仮定します。

 GANの1ステップ目  G_1(\cdot) のProjectionのパラメータをアフィン変換行列  A 、バイアスを  b とします。潜在コード  z を1段階上の特徴空間へマッピングすることは式 (2) で表せます。

 G_1(z) = Az + b  \tag{2}

 式 (2) から、任意の潜在コード  z を単位ベクトル  n に沿ってスカラー値  \alpha だけ移動させる潜在空間内の操作は式 (3) と表せます。

 G_1(z + \alpha n) = Az + b +\alpha A n  \tag{3}

 ここから  Az を大きく変化させる単位ベクトル  n を見つけることを目的とします。そのためには、式 (4) の最適化問題を解く必要があります。


\newcommand{\argmax}{\mathop{\rm arg~max}\limits}
n^{\ast} = \argmax_{\{n \in \mathbb{R}^d : n^\mathsf{T} n=1\}} \Vert An \Vert ^2_2  \tag{4}

 この問題を解くためにラグランジュ未定乗数法を導入すると、  A^\mathsf{T} A の最大固有値に対応する固有ベクトルとして単位ベクトル  n が求まることになります。

実験・結果

 上記の手法によって得られた意味ベクトルを徐々に変化していった結果です。

意味ベクトルによる出力画像の変化 (左:角度、右:形) - [5]より引用

プロジェクトのホームページではデモの様子が見られます。

感想

 GAN生成器が必ず潜在ベクトルから画像としてアップサンプリングできる形にする際に全結合層を通すという部分への着目が非常に面白いと感じました。

 この手法の一つ残念に感じたところは、抽出した意味ベクトルがどんな「意味」を持つかが生成画像を見ない限りわからない点です。Vision & Language系のモデルと融合させることで、抜き出された意味ベクトルに人が理解可能な名前を自動でつけたり、人が指定した言葉に近い意味ベクトルを探索したりできそうですね。

リンク

おわりに

 記事中では画像生成に関する論文を紹介しましたが、CVPR2021全体では3D系の論文が多い印象でした (実際に3Dコンピュータビジョンに関する論文は200以上ありました[6])。特に、2D画像から3Dを復元・生成する深層学習や、3D姿勢推定についての論文が多かったです。

 バーチャル開催についてですが、実際に参加してみて以下の点について良い点、残念な点を感じました。

  • 良い点
    • 発表会場に行く手間・時間が省ける。
    • 講演動画を後から見返せる。
    • テキストチャットで質疑応答ができるため、チャットログが残る。
    • 要点よくまとめられたポスター資料でななめ読みが捗りそう。
  • 残念な点
    • 会議の雰囲気を十分に味わえない。
    • タイトルごとに部屋が用意されているため、発表者はセッション時間中 (2時間ほど) 質疑応答する羽目になる。ポスターセッションに近い。
    • 部屋が過疎りがち。そのため、参加者の建設的な意見交換が難しそう。また、他人が質問しているのを横から聞くことが中々できない。
    • ビデオ会議のログが残らない。
    • 観光できない。

 聴講するにはバーチャルのほうがありがたいですが、発表するには現地で行いたいといった感じです。

 モルフォでは引き続き最新技術のキャッチアップを行い、価値ある製品の開発に取り組んで参ります。

参考文献

  1. CVPR-2021 Paper-Statistics
  2. Yinbo Chen, Sifei Liu, Xiaolong Wang; Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2021, pp. 8628-8638
  3. Learning Continuous Image Representation with Local Implicit Image Function - GitHub
  4. Kelvin C.K. Chan, Xintao Wang, Xiangyu Xu, Jinwei Gu, Chen Change Loy; Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2021, pp. 14245-14254
  5. Closed-Form Factorization of Latent Semantics in GANs - GitHub
  6. CVPR 2021 public tableau gallery