[論文メモ] Localizing Objects with Self-Supervised Transformers and no Labels
自己教師あり学習でobject localizationを学習する論文
github.com
概要
自動運転とかでも重要なobject dectionは高精度を得るためには大量のラベル付きデータが必要。
教師なしデータでの学習方法もあるが精度が低い。
最近では顕著性に基づいた検出候補の抽出手法や画像間での類似度を測る手法などもあるが検出候補の数やデータセットの大きさによっては適用できない。
提案手法は一枚の画像から検出する(画像間で類似度を測らない)ので画像数に線形のスケーラビリティ。
手法
特徴量を得るのにVision Transformer(ViT)を利用する。
ViTは画像をパッチに分割し、それをシーケンスとみなしてTransformerに入力する。
またパッチだけでなく1つだけCLSトークンを追加する。
自己教師あり学習としてはDINOを使う。
arxiv.org
DINO-segではCLSトークンに注目していたが、本論文ではではCLSトークンは利用しないobject localization・特徴抽出を行うLOSTを提案する。
LOST
(多分Localizing Objects with Self-Supervised TransformersからLOST)
LOSTではTransformerの最終層から抽出した特徴量の集合を利用する。は特徴量の次元数, はパッチ数。
はポジションの特徴量。
LOSTは画像中に最低1つはオブジェクトがあると仮定し、画像中のオブジェクトの中からその内1つのオブジェクトの位置を検出する。
そのためにオブジェクトに関係しているパッチを選択することが重要で、そのパッチをseedと呼ぶ。
初期seedの選択
seed選択の方法として以下を仮定する。
(1) オブジェクトを含むパッチ同士は相関があり、そうではない背景とかのパッチとは相関しない
(2) 個々のオブジェクトは背景より領域が少ない
自己教師あり学習したTransformerから抽出した特徴量は経験的に仮定(1)に合っている。
なのでTransformerの特徴量を用い、仮定(2)に基づいて他のパッチとの正の相関が最も少ないものを初期seed、として選択する。
これによりパッチ同士の相関を表した(パッチとに正の相関がある箇所だけ1)二値行列を得る。
ただし
そしてseed選択は式2で行う。単純に他のパッチとの正の相関が少ないパッチを選択する(仮定2)。
4枚画像に対するのseed の選択結果が図2。真ん中の行の画像で赤色のパッチがseed、灰色のパッチがseedと正の相関のあるパッチ。seed と正の相関のあるパッチは確かにオブジェクトに属している。
seedの拡張
2つ目以降のseedはと正の相関を持ったパッチの中から、他のパッチとの相関の少ないパッチを選択する。
他のパッチとの相関の少ないパッチ集合をとして検出に利用するseed集合 は
でk=100にクリップ。当然。
矩形抽出
オブジェクトマスクを求める。
画像中のあるパッチに対してマスクは以下の式3で決定する。
パッチがオブジェクトに属するかは、内のパッチとの相関の平均で決まる。
図3が矩形抽出の例で。黄色の四角がseed のみで決定した矩形、紫色が上記の方法で選択した矩形。
Towards unsupervised object detection
1枚の画像には少なくとも1つのオブジェクトが存在すると仮定した上で、LOSTを使って1枚の画像から1つの矩形を抽出し既存の物体検出手法で学習する。
この時2つのパターン考える
Class-agnostic detection (CAD)
LOSTによって生成された矩形を全て「前景」カテゴリとして学習を行う。LOSTは1枚の画像から1つのオブジェクトしか抽出しないが、学習するObject Detectorの出力は1枚の画像から複数のオブジェクト検出を行い、かつLOSTの出力よりも正確な位置検出ができる(表1)。
実験・結果
省略するので詳しくは論文参照。
LOSTのバックボーンのモデルのアーキテクチャと学習方法の調査。
DINOで学習したViT-S/16がよいのはわかるが、supervisedなViT-S/16が無いのが気になる。ResNet同士の比較でDINO > supervisedな感じはするが、ViTでのDINOとsupervisedの比較が無いのは少々恣意的に感じる
Unsupervised object detectionでの結果。DetectorはFaster R-CNN。
Unsupervised class-aware detection
一部のクラスはラベル付きの弱教師あり学習より優れている。バックボーン等の違いあるらしく比較はできないらしいが、WSDDNとPCLには少々見劣りする。
同じく教師なしのrOSDと比較すると多少良い。
Unsupervised class-agnostic detection
結果は表4。
Selective Searchとかとの比較はまあそうだろうなという感じ。
制約
LOSTの検出方法の仕組み上オーバーラップに対応できない。
また「個々のオブジェクトは背景より領域が少ない」と仮定しているのでオブジェクトが大半を占める画像に対応できない。
これらはfuture work。
所感
教師なしのObject Detectionということで教師なしモデルの特徴量を使うというのはよくある手法で、それをどう使うのかが気になった。
この論文では2つの仮定に基づいて検出戦略を組んでいた。
1つ目の仮定もよくある話。2つ目の仮定は少々強い仮定な気がした。
ただ2つ目の仮定がないと選択が難しいのだろうとは思う。
制約のところでも述べられていたが大きすぎるオブジェクトは無理だし、また、データセット的に小さいオブジェクトとともに写ってしまうオブジェクトも検出できないはず。
初期値seed の選択をした後のマスク生成の戦略はよさそうなので初期seedの選択方法を練ればもう少し良くなりそう。
ただ、failureにあるが同じ種類のオブジェクトが複数写っているとマスク生成の戦略上全てがまとまってしまう。
また特徴量抽出として教師なし学習のDINOの選択も良さそう。他の手法(SimCLRとか)との比較が気になるところ。
そこまで精度が良いとは思えないが、個人でannotationする場合には良いかもしれない。
また2つの仮定が合っているデータセットなら強いのかも。
関係ないが、appendixに複数画像例があるが車に対する初期seedの多くが車輪についていて面白かった。
seed拡張の戦略で車全体まで広がるから良いのだが、自己教師あり学習の特徴量という気がした。