SpatialTransformerNetworks(NIPS2015)
description: PointNetの重要な基盤であるSTNについてのまとめ
url: https://arxiv.org/abs/1711.07399
概要しか書いていません。
よち詳しい説明を知りたい方は論文解説記事や論文を見に行くことを推奨します。
- Title
Spatial transformer networks 論文リンク Github ムービー - Conference
NIPS (Advances in neural information processing systems) 2015 - Authors
Max Jaderberg, Karen Simonyan, Andrew Zisserman, Koray Kavukcuoglu ファーストオーサーはDeepMindAIのリサーチサイエンティスト.
どんなもの?
入力画像の空間的補正(アフィン変換など)のパラメータを予測するモジュール
予測に必要な部分は一部だけであるような画像(下図)に対しては、余分な箇所が予測に悪影響を及ぼす可能性がある。
他にも、入力画像に含まれる対象物が傾いている場合や、歪んでいる可能性も存在する。
筆者らは本研究で紹介するSpatial Transformer
モジュールにより空間的不変性の問題を解消する。
図1:歪んだMNISTデータに対する実験。画像から認識に必要な箇所のみを切り出し、その箇所の空間的歪みを補正している。(a)から(c)への変換が Spatial Transformer
であり、ここで歪みを補正する。後に(c)から(d)で後続のCNN
へとデータを流して推定している。
先行研究と比べて何がすごい?
一応先行研究としては画像から必要そうな部分を切り取ったり、向きを補正したりするというアイデアはあるものの、end to endで学習できますという研究はこれが初めてらしい。
技術の手法や肝は?
入力画像に空間的補正を行う微分可能なモジュールであること。
CNN
など既存のネットワークにそのまま接続するだけで、学習方法などは特に変更することなく
補正能力を与えることができる。
入力部分に接続するのが一番それっぽい使い方だが、論文中でも実験されていた通り、複数回モデルの途中に挿入するといった使い方や、STモジュール
を並列に並べて画像中の複数のオブジェクトに対して変換をかけることもできる。
どうやって有効だと検証したか
3つやってる。
1. 歪んだMNISTへの適応
MNISTに対して以下の歪みをそれぞれ与える。
- R: 回転 (Rotation)
- RTS: 回転、拡大、移動 (Rotation, Scale, Translation)
- P: 射影変換 (Projective transformation)
- E: 弾性的な歪み (Elastic warping) (場合によっては STNs で完全に戻すことが不可能になる)
以下の8種類のネットワークで実験を行った。
-
FCN
(Fully-Connected Net) ベースライン -
CNN
(Convolutional Neural Net) ベースライン -
ST-FCN
(STNsを導入したFCN)- Aff (アフィン変換)
- Proj (射影変換)
- TPS (Thin Plate Spline (画像上の特定の点(本実験では16点)を任意の場所にズラし画像全体を歪曲させる変換))
-
ST-CNN
(STNsを導入したCNN)- Aff
- Proj
- TPS
STNを導入することで、いづれの歪みに対しても誤答率が減少していることが分かる。
2. Street View House Numbers
数字が書かれている看板なんかの、より現実に近いデータに対して実験を行う(StreetViewHouseNumbersデータセット)。
state-of-the-artを3.9%から3.6%へ更新した。
MultiModelではSTNを追加することにより6%遅くなった。
3. Fine-Grained Classification
CUB-200-2011 birds datasetに対して、筆者らの既存手法(CNN)に対して平行に並べたSTNを追加した。
精度の向上が見られた。
次に読むべき論文は?
PointNet、及びPointNetを読む上で必要になった論文
etcs
論文で使った全てのネットワーク構造の詳細はまとめて付録につけていた。
実に$\frac {10}{15}$ページが付録であった。