目次
- 目次
- はじめに
- CVPR2022概要
- Workshop on Image Matching: Local Features & Beyond
- SuperPoint and SuperGlue: Lessons Learned
- Large-scale 3D reconstruction Deployment - Successes, Challenges, Open Problems
- Unstructured Object Matching using Co-Salient Region Segmentation
- Nerfels: Renderable Neural Codes for Improved Camera Pose Estimation
- Feature Query Networks: Neural Surface Description for Camera Pose Refinement
- Learning Co-segmentation by segment swapping for retrieval and discovery
- DA-AE: Disparity-Alleviation Auto-Encoder Towards Categorization of Heritage Images for Aggrandized 3D Reconstruction
- Detecting and Suppressing Marine Snow for Underwater Visual SLAM
- A case for using rotation invariant features in state of the art feature matchers
- Kaggle IMC 2022 感想戦
- 最後に
はじめに
こんにちは、イノベーションセンターの鈴ヶ嶺・加藤・齋藤です。普段はコンピュータビジョンの技術開発やAI/MLシステムの検証に取り組んでいます。6月19日から24日にかけて、コンピュータービジョン分野におけるトップカンファレンスのひとつである CVPR2022 がオンラインで開催され、NTT Comからは複数名オンラインで参加しました。その参加レポートを前後編に分けて紹介します。 前編では会議の概要とワークショップ、Kaggle IMC 2022 感想戦について紹介します。後編では、論文の紹介をしたいと思います。
CVPR2022概要
CVPRは毎年6月に開催されるコンピュータービジョン分野におけるトップカンファレンスのひとつです。今年は現地(New Orlens)とオンラインのハイブリッド開催でした。採択率は25.3%(2064/8161)となっており、昨年(採択率1661/7093=23.6%)同様当該分野に高い関心が寄せられていることが分かります。以下の図のように国別の採択割合で見ると、昨年に引き続き中国、次いでアメリカ、韓国が割合として多くを占めています。
以下は、分野別の採択率を示したグラフです。3D from multi-view and sensors、Pose estimation and tracking分野の採択率が多い傾向にありました。
オープニングメッセージから引用
採択論文のタイトルをワードクラウドで可視化すると以下の図が得られます。Image、Video、Learningといったある意味自明なキーワードに加え、Transformerや3Dなどの出現頻度も高いことが見て取れます。
Workshop on Image Matching: Local Features & Beyond
https://image-matching-workshop.github.io
ここからワークショップについての紹介になります。
このワークショップでは、カメラ姿勢の推定や3次元再構成の基礎となる画像マッチング技術を取り扱っています。 これに合わせてKaggleでは画像マッチングのコンペティション(Kaggle IMC 2022)が開催され、ワークショップ終盤では上位陣のアプローチが紹介されました。 この章では各発表の概要を紹介していきます。
SuperPoint and SuperGlue: Lessons Learned
by Tomasz Malisiewicz, Meta Reality Labs
この発表ではDeep Learningベースの画像マッチング手法であるSuperPoint(CVPR workshop 2018)およびSuperGlue(CVPR 2020)の概要と、その開発の過程で得られた教訓が紹介されました。
SuperPoint: Self-Supervised Interest Point Detection and Description1
SuperPointとは、Visual SLAMのフロントエンド(特徴点抽出)に使われる畳み込みニューラルネットです。 Fully Convolutional Networkなので、計算の途中で特徴点周りの画像パッチを切り出すようなことはせず、特徴点の検出と記述子の計算が同時に行われることが特徴です。
記述子はSiamese trainingによるmetric learningで学習する一方、特徴点検出の学習や、記述子の学習に必要な点対応の生成はself-supervised learningでおこなっています。
self-supervised learningでは、まず特徴点が自明な人工データ(単純な立体のCG画像)で学習し、これによって得たモデルにMSCOCOデータを入力しそれらの擬似ラベルを生成します。そして画像をランダムに変形することで、特徴点とその対応関係が分かっている画像ペアが手に入ります。 これを教師データとみなしてSuperPointの全体を学習できます。 画像の変形はあくまで擬似的な変形であり、3次元空間でのカメラ移動を再現できませんが、実データでの評価により3次元的な画像の変化に対しても汎化できていることがわかっています。
SuperPoint開発過程で得られた教訓
- 畳み込みニューラルネットワークで直接6-DoF relative poseを推定させたがうまくいかなかった。
- Object detectionの技法が点検出に役立った。
- in-houseなプライベートデータセットではなくMSCOCOを使うという決断は、汎化性能を向上するという意味でもオープンソースの精神という意味でも有利に働いた。
- 人工データセットの構築は学習レシピをシンプルにしてくれた。
SuperGlue: Learning Feature Matching with Graph Neural Networks2
SuperGlueは、特徴点とその記述子をグラフニューラルネットワークに入れて、self-attention(同一画像内の点同士の関係をエンコード)とcross-attention(異なる画像内の点同士の関係をエンコード)モジュールを利用しマッチング用の特徴量を計算します。 各点の特徴量を計算した後はお互いの類似度を計算し、Sinkhorn Algorithmによって最終的な対応関係を算出します。このソルバは微分可能なので、学習時の勾配を前段のグラフニューラルネットワークまで伝播させることができます。
記述子にSIFT、SuperPointどちらを用いた場合でも、SuperGlueによるマッチング抽出は高い性能を発揮します。
SuperGlue開発過程で得られた教訓
- 実用システムから離れるという決断。記述子から特徴量を再計算するのはあまり実用的でないが、新しい手法の提案につながった。
Q&A
- 特徴点対応の算出を経由しないポーズ推定は今後可能になるだろうか?
- 昔ながらのCNNでは無理かもしれない。実際SuperPointの開発過程でやってみたがうまくいかなかった。しかし、将来的に新しいテクニック(ViTとか)で可能になるかもしれない。
Large-scale 3D reconstruction Deployment - Successes, Challenges, Open Problems
by Ales Hrabalik, Capturing Reality/Epic Games
この講演では、3次元再構成のアプリケーション、現在の技術のlimitationとその対策、未解決問題について紹介されました。以下に各々の詳細を記載します。
3次元再構成の応用先
近年3次元再構成を行う様々なアプリケーションが登場しており、以下のような応用が期待されています。
- 家具などをキャプチャして内装設計に利用
- 文化遺産をキャプチャして教材に利用
- ドローンなどで地形をキャプチャして解析
Limitationとその対策
様々な視点からの画像を集約し各視点の位置関係と物体の3次元形状を推定するという性質上、3次元再構成が困難な物体が存在します。それらの例と、そのようなケースに対する緩和策として以下が挙げられます。
- 動物など動くもの。大量のカメラを使い一発で全方位から撮る。
- のっぺりしていて画像から特徴的な点を抽出しにくい物体。3D laser scanningなど、カメラ以外の測定器を活用する。
- 鏡面反射があるため視点によって見た目が変化する物体。scanning sprayと呼ばれる、光反射を抑えるスプレーを吹き付ける。
- 透明な物体。scanning sprayを利用する。
未解決問題
前節とは異なり緩和が難しいケースとして以下のような困難が挙げられます。
- 髪の毛などの表現が非常に難しい。平面的なテクスチャでは細かい凹凸が表現できない。
- 複雑な形のせいでカメラに映らない箇所が生じ、出力モデルの一部が欠損する。
future challenge
3次元再構成を改良するにあたり以下のような取り組みが行われています。
- 物体の反射特性の推定。これによってキャプチャ時の光源環境による影響を取り除き(delighting)、合成先の光源環境に適応させること(relighting)が可能になる。
- 表現力の高いreflectanceモデルの適用。physically-basedな手法(5params)はLambert(3params)よりもリアルな表現を可能にする。
- color correction前処理。世のカメラはphoto finishingという非線形処理を施すため、これの較正が必要。
Unstructured Object Matching using Co-Salient Region Segmentation
形状が大きく変わりうる物体、例えば:
- 人が着ている状態の服と畳まれている服
- プールで使われている様子の浮き輪としぼんでいる浮き輪
などが写っている写真のマッチングを行いたいというのが本研究のモチベーションでした。
ドキュメントの性質によっては写真の撮り方が変わるため、商品検索やcompliance checkの際はこれを考慮した画像マッチングを行う必要があります。 (注 compliance checkについて:米国では子供用玩具に対し安全基準が定められており、amazonに出品する時はその類の書類を提出する必要があります。そしてamazon側はその書類中の画像とカタログの画像が同じ製品を撮ったものかどうかをチェックする必要があります。)
Toys In Context Dataset: 子供用品のカタログ写真から収集したデータセットの提案
- おもちゃ
- ぬいぐるみ
- パジャマ
- ...
物体検出フレームワーク SCOTTの提案
SCOTTはobjectを抽出するネットワーク(ここでsaliency mapと特徴量を得る)とマッチングを行うネットワークで構成されています。
baselineに対してF1-scoreの観点で最も良いパフォーマンスを達成したことが論文中に示されています。
Nerfels: Renderable Neural Codes for Improved Camera Pose Estimation
image matching & localizationではIndirect & sparseとDense Alignmentの2つの戦略があります。それぞれのメリットとデメリットは以下です。
- Indirect & sparse: 点を抽出してマッチング
- ORB-SLAM3などで使われる
- 処理が軽い
- 検出位置の精度が重要。サブピクセル単位の座標が欲しい。
- Dense Alignment: 全てのピクセルを使ってポーズ推定
- DTAM4など
- 処理が重い
画像の検出点周りを切り出しそれらのみをピクセルレベルでアラインメントすることで、2つのアプローチのいいとこ取りをしようというのがこの論文の目的です。 切り出された部分はカメラ移動によって見た目が変化しますが、これはNerfelという新しいレンダリング手法によって予測します。
そして検出点の位置によるreprojection lossと、Nerfelでレンダリングされた画像パッチによるphotometric lossの2つでマッチングを最適化しています。
Feature Query Networks: Neural Surface Description for Camera Pose Refinement
structure-based localization
あるシーンの3Dモデル(点群)が手に入っている時、クエリ画像から検出した特徴点と3次元点群との対応をとることで、2D-3D matchingによりカメラの姿勢(座標と回転の6自由度)を推定できます。しかしながら、3Dモデル構成時に使った参照画像と推論時のクエリ画像のカメラ姿勢が大きく異なる場合、同じ点に対する特徴量が異なってしまいます。本手法では、 視点に依存しない特徴量を抽出するのではなく、視点の変化に対応する特徴量が抽出できるMLPを構成し、マッチングの精度を高めました。
Feature Query Networks (FQNs)
学習するMLPへの入力はシーンの3Dモデルにおける参照点の座標(3d)・カメラの視線方向(2d)・カメラのroll回転(1d)・カメラの焦点距離(1d)・カメラから参照点までの距離(1d)の計8次元であり、ここから予測特徴量を出力します。
クエリ画像のカメラ姿勢を推定するときはFQNsに入力する情報が未知ですが、適当な推定値を初期値として以下の手順を繰り返すことで精度の良いカメラ姿勢を推定できます。
- 推定カメラ姿勢から特徴量を予測
- クエリ画像の特徴量とマッチング
- RANSACでポーズ推定
- 推定カメラ姿勢の更新
Learning Co-segmentation by segment swapping for retrieval and discovery
https://imagine.enpc.fr/~shenx/SegSwap
例えば以下のような異なるスタイルの画像間で同一パターンをco-segmentation(画像ペア中の同一物体をセグメンテーションするタスク)として検出するのが本研究の目的です。
- 彫刻 vs. 油画
- 昼画像 vs. 夜画像
スタイルの異なる画像間で同一パターンを含む公知のデータセットはないため、この研究では以下の方法で画像を生成しデータセットを構築しています。
- MSCOCOデータセットのセグメンテーションタスクに登場する物体を他画像にPoisson blendで合成
- Style transferで画像の見た目を多様化
Transformer, Sparse-Ncnet5の2つのモデルを学習して実験し、さまざまな場所の写真を集めたデータベースを基にクエリ画像の撮影場所を特定するPlace recognitionタスクを扱う以下のデータセットで評価しました。
- Pitts30K6: Google Street Viewを用いて収集した約1万枚のピッツバーグの画像データベースから、全く異なる時期に撮られた画像をクエリとしてその撮影場所を特定する。
- Tokyo 24/77: Google Street Viewを用いて収集した約76000枚の昼の東京の画像データベースから、様々な時間帯で撮られた画像をクエリとしてその撮影場所を特定する。
DA-AE: Disparity-Alleviation Auto-Encoder Towards Categorization of Heritage Images for Aggrandized 3D Reconstruction
クラウドソーシングで画像を収集して3次元復元しようとすると、無関係の画像が紛れ込むのでそれを除去しなければならないため、DA-AEと呼ばれるオートエンコーダーを提案しました。 これを用いて画像をクラスタリングすることで、異なる建築物の写真を分離できました。
Detecting and Suppressing Marine Snow for Underwater Visual SLAM
海底の物体を3次元再構成する時、特徴点検出器がマリンスノーを捉えてしまいその後の処理に悪影響を与えることがわかっています。 つまり海底ではRANSAC + Ratio test + Motion modelなどの後処理を加えてもSLAMがうまく動きません。 そこでマリンスノー由来の特徴点を検出結果から除去するために、Marine Snow Datasetを提案しました。
- 海底以外の方向を見れば基本的に単調な背景の(すなわち切り出しやすい)マリンスノー画像が得られる。
- 綺麗な海底画像にマリンスノーを合成する。
- まともなkeypointとマリンスノー由来のkeypointを収集し、"Clean" or "Snow"を各点にアノテーションする。
これでkeypointに付随するdescriptorからそのkeypointがまともかどうかを判定する分類器が作れます。制約として、後ろがテクスチャのある背景だと分類が難しくなるようです。
A case for using rotation invariant features in state of the art feature matchers
state-of-the-art (sota)なマッチング手法であるLoFTR8を回転に強くするために、SE(2)-LoFTRが提案されました。 これはSteerable CNNs(参考:General E(2) - Equivariant Steerable CNNs, NeurIPS 2019)の考え方をベースにしているようです。
提案されたネットワークでは、中間レイヤーや出力層での特徴量が回転不変になっています。
future workとしては以下の点が挙げられています。
- transformerのpositional encodingでは回転不変性が保証されていない
- scale invarianceの獲得
Kaggle IMC 2022 感想戦
https://www.kaggle.com/competitions/image-matching-challenge-2022 大体同じ場所で撮られた2枚の写真をもとに、その2つのカメラの相対的な姿勢変化を求めることが本コンペティションの目標です。具体的にはfundamental matrixを求め提出することが求められます。
上位陣はsotaなlocal feature matching(LoFTR, SuperGlueなど)を活用し、複数のモデルから特徴点を集めていました。また、モデルのバリエーションだけでなく、入力画像を回転させるなどしてTest time augmentationを行なっているチームもあったようです。
1st place solution
- concat keypoints:すなわちキーポイント検出器のアンサンブルであり、今回のコンペでかなり重要。後段のcropがより精密にもなる。
- 840px、1024px、1280pxへリサイズした画像にSuperPoint+SuperGlueをそれぞれ適用し得られた特徴点を集約する
- 840pxへリサイズした画像にLoFTRを適用し特徴点を得る
- DBSCAN9でco-visible boxesを抽出。keypointが多く残るようなクロップを見つける
- どのクラスタを選択する?選択されたキーポイントの割合が閾値を超えるまでクラスタを結合
- クロップは少し広めにとる
- クロップして再マッチング
- クロップからはみ出た正しいマッチングを拾うために、クロップ前の結果とクロップ後の結果をアンサンブル
5th place solution
- COTR10を改良した自作のモデルECO-TR(非公開)を用いて、SuperPoint+SuperGlueから得られた特徴点のrefinementを行った。
7th place solution
- LoFTRとDKM11のアンサンブル
- K-Meansでkeypointの集まっているところをクロップし再マッチング
- 推定Homographyを元に画像を変形し再マッチング
- Homography推定にはVSAC12を使った。Opencv MAGSAC++13より速い
最後に
本ブログでは、CVPR2022の概要と参加者が興味を持ったワークショップ、Kaggle IMC 2022をご紹介しました。後編では、参加者が気になった論文を紹介するのでぜひご覧になってください。 NTT Comでは、今回ご紹介した論文調査、画像や映像、更には音声言語も含めた様々なメディアAI技術の研究開発に今後も積極的に取り組んでいきます。
- アカデミックな研究に注力したくさん論文を書きたい
- 最新の技術をいちはやく取り入れ実用化に結び付けたい
- AIアルゴリズムに加え、AI/MLシステム全体の最適な設計を模索したい
という方々に活躍していただけるフィールドがNTT Comには多くあります。今後も私たちの取り組みをブログ等で発信していきますので、興味を持ってくださった方は是非今後もご注目ください!
-
Daniel DeTone, Tomasz Malisiewicz, Andrew Rabinovich. “SuperPoint: Self-Supervised Interest Point Detection and Description.” Proceedings of the IEEE/CVF conference on computer vision and pattern recognition workshops. 2018.↩
-
Sarlin, Paul-Edouard and DeTone, Daniel and Malisiewicz, Tomasz and Rabinovich, Andrew. “SuperGlue: Learning Feature Matching With Graph Neural Networks.” Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2020.↩
-
Mur-Artal, Raul, Jose Maria Martinez Montiel, and Juan D. Tardos. “ORB-SLAM: a versatile and accurate monocular SLAM system.” IEEE transactions on robotics 31.5 (2015): 1147-1163.↩
-
Newcombe, Richard A., Steven J. Lovegrove, and Andrew J. Davison. “DTAM: Dense tracking and mapping in real-time.” 2011 international conference on computer vision. IEEE, 2011.↩
-
Rocco, Ignacio, Relja Arandjelović, and Josef Sivic. “Efficient neighbourhood consensus networks via submanifold sparse convolutions.” European conference on computer vision. Springer, Cham, 2020.↩
-
Torii, Akihiko and Sivic, Josef and Okutomi, Masatoshi and Pajdla, Tomas. “Visual Place Recognition with Repetitive Structures.” Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2013.↩
-
Torii, Akihiko and Arandjelovic, Relja and Sivic, Josef and Okutomi, Masatoshi and Pajdla, Tomas. “24/7 Place Recognition by View Synthesis.” Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015.↩
-
Sun, Jiaming, et al. “LoFTR: Detector-free local feature matching with transformers.” Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2021.↩
-
Ester, Martin, et al. “A density-based algorithm for discovering clusters in large spatial databases with noise.” kdd. Vol. 96. No. 34. 1996.↩
-
Jiang, Wei and Trulls, Eduard and Hosang, Jan and Tagliasacchi, Andrea and Yi, Kwang Moo. “COTR: Correspondence Transformer for Matching Across Images.” Proceedings of the IEEE/CVF International Conference on Computer Vision. 2021.↩
-
Edstedt, Johan et al. “Deep Kernelized Dense Geometric Matching”. arXiv preprint arXiv:2202.00667. (2022).↩
-
Ivashechkin, Maksym, Daniel Barath, and Jiří Matas. “VSAC: Efficient and Accurate Estimator for H and F.” Proceedings of the IEEE/CVF International Conference on Computer Vision. 2021.↩
-
Barath, Daniel, et al. “MAGSAC++, a fast, reliable and accurate robust estimator.” Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2020.↩