人工知能とか犬とか

人工知能と犬に興味があります。しょぼしょぼ更新してゆきます。

2020年01月の論文リスト

概要

今月すでに読んだ、これから読む予定、実装する予定論文をまとめておきます。

1月が終わったので、簡単に振り返ります。 内容的に外部に共有して良さそうなものは、Qiitaとか本ブログで発信していく予定です。

論文読解

今月のテーマは単眼深度推定モデルにしていて、特に、訓練時にステレオカメラデータを必要としないタイプのもの、かつSelf-Supervisedなものを中心に読んでいます。 とはいえ、網羅的なサーベイはしておらず、目についたものをとりあえず読んでいるという状態です。来月も引き続きテーマにする予定です。

「ベストペーパーを読む」は、今年の最初の目標に挙げていた、いろいろな分野のベストペーパーを読んで行こうという企画です。 とはいえ、時間の制限を決めてチャレンジする、という企画なので、「へー、こんな分野があるんだねー」程度の理解しかできない可能性もあります。

また、それ以外にも、へーこんなのあるんだ、と発見したものを読んでいきます。

単眼深度推定

【済】How Do Neural Networks See Depth in Single Images?

サーベイも兼ねて、単眼深度推定モデルが何を根拠に深度の推測をしているの、という論文です。 詳細はQiitaに記事を書きました。

qiita.com

個々のモデルの内部には一切触れずあくまでブラックボックステストを行うような実験だったので、サーベイとしては微妙ですが、こういう弱点に気をつけなければいけないんだな、ということがわかって、なかなかおもしろい論文でした。

以下の論文は、本論文で比較対象になっている手法ですが、余裕があったら読もうと思います。

  • SemiSupervised Deep Learning for Monocular Depth Map Prediction
  • Unsupervised Monocular Depth Estimation with Left-Right Consistency

【済】Unsupervised Learning of Depth and Ego-Motion from Video

いわゆるSfMLearnerの論文です。これも「How Do ~」で比較対象になっています。 Depthを予測するネットワークとPoseを予測するネットワークを組み合わせる手法で、Self-Supervisedなところが特徴です。 Self-Supervisedの手法の中ではよく引かれる論文で、源流になっていますね。

【済】Learning depth from monocular videos using direct methods

これも「How Do ~」で比較対象になっています。 こちらは、SfMLearnerのPose部分を、DDVOという手法に変えているものです。 端的に言えば、SfMlearnerの場合は、2つのフレーム画像からPoseを推定しますが、DDVOの方は、推定した深度マップも加えてPoseの推定に使う、というもののようです。

興味深いのは、DDVOを使う場合は、ニュートン法を使用してPoseを推定します。初期値としてPoseCNNの出力結果を使うと、より良いとのことです。

【済】Digging Into Self-Supervised Monocular Depth Estimation

MonoDepth2として公開されている手法の論文です。 既存の手法の細かい不具合を取り除くための3つの提案をしている論文です。

【済】Depth Prediction Without the Sensors: Leveraging Structure for Unsupervised Learning from Monocular Videos

struct2depthという名前で公開されている手法の論文です。

sites.google.com

深度を推定するだけでなく、周囲の物体の運動も捉えるという手法のようです。 まだ読み始めていないのでテキトーな予想ですが、単眼深度推定は動いている物体は基本的にうまくいかないので、速度の推定も同時に行うことで、深度推定もロバストになるよ、というのは有り得そうな話です。

周囲の物体は事前にインスタンスセグメンテーションしておく、という前処理が必要です。その後、まずはPoseを推定して単純な再構成画像を作ります。このとき、セグメンテーションされた各物体も同時に再構成しますが、再構成損失には関与しません。単純な再構成画像は、「もし、周囲の物体が動いていなければ別視点からはこう見える」という意味合いです。そのため、別視点から見たときの真の物体の見た目と単純な再構成画像とを見比べると、「その物体が動かなかったときの見た目」と「その物体が動いたときの見た目」を比較することになりますので、そこから物体の運動を推定できる、ということみたいです。

【途】ベストペーパー:HighLife: Higher-arity Fact Harvesting(WWW2018 Best Paper)

WWW2018のベストペーパーです。 いわゆるWebマイニングの研究ですが、通常、Web上から関係抽出を行う際は、Triplet(3項)を作って行う、というのが一般的なところを、より多項の関係(Higher-arity)でやろうという研究のようです。 論文をざっと見ると、何やら木構造が描いてあり、探索アルゴリズム的な手法を提案している雰囲気が漂っています。 引用件数がそんなに多くないので、再現や改善する上での制約があるタイプの研究なのかもしれません。

深度推定系の論文を読むのが意外と骨が折れたので、途中までしか読んでいません。別に急ぐ必要はないので、2月の半ばくらいまでを目処に目を通してみたいです。

その他

【済】Analyzing and Improving the Image Quality of StyleGAN

StyleGANのversion2です。 StyleGANは、画像生成モデルにStyleTransferで使われるAdaptive Instance Normalizationを使ってやったぜって研究だったわけですが、 この論文では、AdaINはお払い箱になり、それに代わる機構が導入されています。

詳細はQiitaに解説記事書きました。

qiita.com

【済】Unsupervised Robust Disentangling of Latent Characteristics for Image Synthesis

ICCV2019でDisentangle系の論文をいくつか読みたいなと思ったので、そのうちの1つです。 例として挙げられていた、人物画像の服装の入れ替えがオモシロイと思ったので、読んでみようとしています。

画像中の人物や物体の見た目(appearance)と姿勢(pose)を分離したエンコード表現を得る、ということを目的とし、それらを合成して任意のポーズと見た目を組み合わせた画像を生成できる、という手法でした。 見た目と姿勢の情報を分離するために、敵対的分類器を創り、見た目情報と姿勢情報との相互情報量が最小になる、つまり、それぞれが独立するように訓練していきます。

一通りは読んだのですが、久々に読むVAE系の手法なので、色々と基本的な数式を忘れてしまっていて雰囲気で読んでしまったので、来月以降この手の手法を一気に再読する機会を設けたいなあと思います。

【未】Content and Style Disentanglement for Artistic Style Transfer

ICCV2019でDisentangle系の論文をいくつか読みたいなと思ったので、そのうちのもう1つです。 こちらは画風の変換モデルにDisentanglementの観点を入れてみたというもののようですね。

残念ながら手つかず。少し間を開けて上の論文の再読時に読もうと思います。

再現実装

【済】OpenPose(2018年版)

OpenPoseって結構まえからある姿勢推定のモデルなわけですが、2016年版と2018年版があるということを最近知りました。 というわけで、2018年版の論文を昨年末に読んだので、それを実装しています。

実装はすでに終わっていて、現在Training中です。 後処理の実装は並行して進めていますが、こちらもほぼ完了しています。PAFsの後処理がめんどくさいかなと思っていましたが、意外とすんなり実装できました。 チューニングとかも含めて今月中に完了できればいいなあ、と思います。

Qiitaに実装上の気付きも含めた解説記事も書いてみました。

qiita.com

チューニングがやや甘いので、来月以降も少しやっていこうと思います。 データセット作るのが大変だとは思いますが、人間以外の動物や物体に対しても本手法を適用して学習させてみたいです。

【途】SfMLearner

論文も読んだし、まずは基本的な単眼深度推定モデルを実装してみようと思い、SfMLearnerをPyTorchで再現実装中です。 ネットワークの実装はほぼ完成しており、再構成画像をPoseとDepthと入力フレーム画像から作成する、という部分が残っているぐらいです。 こちらもチューニング含めて今月中に一段落させたいところです。

一通り実装は完了して、これからデバッグと実験です。実験は試算してみたところ、GTX1080ti singleだと2日かかりそうです。 来月にいくつか別の論文の改善要素も取り込んでみながら引き続きとりくんでみようと思います。

まとめ

  • 論文:7.5本

  • 論文解説記事:4本

この記事に挙げているもの以外に、RepsPointに関する解説記事を書きました。

qiita.com

  • 実装:1.5個