ABEJA Tech Blog

中の人の興味のある情報を発信していきます

Deepでポン!Deep Learningによるホモグラフィ推定技術の調査(コード有り)

はじめに

こんにちは、最近Web3.0系の技術をやりたみのある年頃の藤本(@peisuke)です。今は2022年ですが、Deep Learningが有名になったのが2012年のILSVRCの辺りからでしょうか、今年でなんと10年になるんですね。最近はDeep Learningも色々な用途に用いられるようになってきましたし、初手Deep Learningも常識になってきていると思います。当時は解けなかった多くのタスクで高い精度を叩き出しており、その恩恵を受けている日々です。

一方で、僕自身はDeep以前の時代からコンピュータビジョンに触れていましたが、当時から既にそこそこ解けていたタスクについては、現在では老害を発揮してしまうこともあり「Deepなんて使わなくても、SIFTで良くない?」と考えてしまいがちだったりします。という事で、コンピュータビジョン分野において昔から取り組まれてきたジャンルについて調査をし、最後に色々と実験をしてみました。

本記事ではホモグラフィ行列の推定に関する最近の展開について述べていきます。ホモグラフィ推定とは、簡単に言えば2つの異なる姿勢から一枚の平面を撮影した際に、その平面間の変換を推定する問題です。これにより画像同士の合成やカメラ間の相対姿勢などを計算できます。身近なアプリケーションとしては、スマートフォンに入っているパノラマ画像作成や、ARなどで平面を認識してキャラを配置するなどがあります。

ホモグラフィ推定の応用

多くの場合は、コーナーのような目立った画像の特徴点を検出し、画像間で同じ点を複数対応付けることで、この計算をします。平面同士のホモグラフィ変換の場合は、4点以上の対応点を見つけることで求まります。対応付けの主なアプローチとして、特徴点の検出や、その周囲のテクスチャの特徴量を使います。例えば、SIFTやSURF、ORBといったものが有名です。

4点による変換

大抵の問題においては、そういった特徴点ベースの手法で計算でき、様々な所で実用化されています。しかし、実際のシーンでは、十分な特徴点が取れない事もしばしばあります。例えば、テスクチャに特徴のない壁などの平坦なシーンがあります。仮に模様があったとしても、それがシンプルすぎる場合などは、上手くマッチできないことも多いです。また他にも、明暗が激しい場合や、画面の一部しかマッチしない場合、ぼやけた場合など、様々挙げられます。

そこで、Deep Learningをホモグラフィ推定へ適用した論文を幾つか紹介し、実験ではSIFTと学習済みのモデルを比較して、これまで解けなかった環境において、どの程度できるようになってきているかを検証します。実験に利用したデータ・コードは以下のリンクに置いておきます。

github.com

ホモグラフィ推定とは

ここではホモグラフィ推定の詳細な話は割愛しますが、先にも述べた通り1枚の平面を2つの地点から撮影すると、2枚の画像間で平面の見え方は変化します。この2枚の関係は8次元の自由度を持つ行列で表すことができ、これをホモグラフィ行列と呼びます。具体的には、片方の画像に映った点xに対して行列Hを掛けたときに、もう片方の画像の点x’になるような行列です。

Hを計算するには、画像間の点のペアを4点以上用意して最小二乗法を利用します。上式を最小二乗法の形にするために、DLT法というものが使われます。

ここで、特徴点の対応が適切に4点以上見つかれば容易に行列を計算できるのですが、実際は誤った点同士を対応付けてしまうことが殆どです。誤った対応関係から直接ホモグラフィを計算しても、正しい結果が得られません。そのために、十分な量の特徴点を見つけるための検出器や、角度や大きさに対して同じ値を出力してくれるような特徴量、仮に誤った対応があっても、それを除去するロジックなどの研究が進められてきました。

本記事では、Deep Learningをホモグラフェイの推定に適用した事例を紹介していきます。

特徴量ベースの手法

特徴点・特徴量を用いた手法が、ホモグラフィを計算するための最も一般的なアプローチかと思います。プロセスとしては、(1)特徴点の抽出、(2)特徴量の計算、(3)誤対応の除去、(4)ホモグラフィ行列の計算から成ります。

特徴点の抽出・特徴量の計算

特徴点検出・特徴量抽出の最も有名な手法としては、SIFTやORBなどが挙げられます。これらの手法では、特徴点の検出ではコーナーなどのような点として定まる位置を見つけます。特徴量の計算では、テクスチャが異なったら特徴量も異なるようにしつつ、回転や拡大に対しては同じ値を返すような計算を行います。こういった手法はOpenCVで簡単に使えたり、計算コストも低いことから、今でも広く使われているように思います。ここでは、Deep Learningを使った特徴点・特徴量の計算について紹介します。

LIFT: Learned Invariant Feature Transform [1]

LIFTは、僕の知っている限りでは一番古い学習ベースの特徴点抽出・特徴量計算の手法のうちの一つです。LIFTが出た当時は、まだDeep Learningは、物体認識や検出のような、画像から直接答えを学習・推論するといったタスクが主流で、特徴点・特徴量のような答えが無いようなタスクに対しては適用が進んでいなかったかと思い、かなりimpressiveだった事を覚えています。

LIFTでは、SIFTで計算している特徴点検出からマッチングまでの一連の流れを、SIFTの結果を正解データとして学習するという流れです。SIFTそのものは特徴量の精度が高くなく誤対応が発生しますが、最後に幾何的な矛盾が発生するような対応関係を除去する事で、ホモグラフィ等を計算できています。ならば、逆に、誤った対応関係を除去した後の対応点を正解として学習させることで、より良い特徴点の検出・特徴量の算出ができないか、というアプローチがLIFTです。

LIFTでは、検出器・パッチ向きの計算・特徴量の計算それぞれのネットワークを用意し、SIFTの結果を元に下図のようにそれぞれを学習します。学習の結果としてもSIFT(左)よりもLIFT(右)の方が多くの点を正しく検出・対応付け出来ていることを確認できます。

全体構成

対応付け結果、左: SIFT、右: LIFT

SuperPoint: Self-Supervised Interest Point Detection and Description [2]

前述したLIFTはSIFTの結果を学習しているため、SIFTの性能の限界に引きづられている面があると考えられます。なるべくDeep Learningでしか捉えられないような特徴点・特徴量を計算したくなります。一方で、特徴点の検出は正解のない問題設定であることが課題となります。これに対し、SuperPointは自己教師あり学習により、明示的に正解となるルールを与えなくともそれらを学習できる手法の一つです。

学習は3段階で、(1)ヒューリスティックな特徴のある点に関して学習、(2)Homographic Adaptation (後述)を使っての学習、(3)人工的にホモグラフィ変換を掛けたのを正解として学習、となります。2, 3段階目の学習ではそれぞれ前段階の学習済みモデルを利用します。ヒューリスティックな特徴とは、人工的に画像を生成した上で、コーナーとなるような点を特徴としたものです。2段階目の学習においては、自然画像から正解となる特徴点を作成しますが、ここでHomographic Adaptationという技術を使います。Homographic Adaptationとは、学習済みモデルで画像から特徴点を抽出した後に、画像に適当な変換を掛けて再度特徴点を抽出、これを繰り返して、最後に全ての特徴点を合成するといったものです。3段階目では、これまで学習したモデルから特徴点を抽出した上で、所定の自然画像と、それに対して変換をかけた画像間で対応付を行います。変換は既知なので正しく対応付けが出来るため、これを正解とすることで学習が出来ます。

3段階の学習

LoFTR: Detector-Free Local Feature Matching with Transformers [3]

ここまでに古典的な特徴抽出の手法を紹介しましたので、少し新し目のものを紹介します。これまでのアプローチでは、特徴点の抽出と特徴量の検出を行った上で対応付けを行っていましたが、これらを一気にやってくれるのがLoFTRという手法です。この手法では、まず対応付けに利用する情報として、画像全体からCNNおよびTransformerを用いて画像全体に関する特徴量を計算しておきます(下図1, 2)。対応付けについては大きく2段階に分かれており、先にパッチ間の大まかな対応付けを輸送最適アルゴリズムによって計算した上で(下図3)、更に計算した小パッチ内での詳細な対応関係の計算を行います(下図4)。教師データとして、屋内のシーンではScanNet、屋外ではMegaDepthという正解となるカメラ姿勢・デプスが既知のものを利用しています。教師データを与える点ではLIFTと似ていますが、LIFTでは検出する特徴点の位置なども陽に教師として与えていたためSIFTの性能に引きづられていましたが、end-to-endで学習することでそういった制約に縛られない違いがあります。

全体構成

対応関係の計算

特徴点と特徴量が計算できたら特徴量が似ている点同士を対応付け、ホモグラフィを計算します。ここで、対応関係が間違っていた場合、適切なパラメータが求まらない、推定するパラメータがの精度が下がるという結果になります。そこで、誤った対応を除去するというプロセスを挟みます。

適切な対応関係だけ残すための最も有名なアプローチはRANSACという手法です。RANSACでは、ランダムに対応点のペアを選択し仮のパラメータを計算した上で、残りの対応点と矛盾しないかどうかをチェックする。矛盾しない対応がなるべく多くなるようなパラメータを最終的に利用する。

ちなみに、RANSAC以外にもMLESAC、MSAC、KALMANSACなど様々な手法がある。例えば、MLESACは、RANSACにおける矛盾チェック時の閾値の設定の問題を解決するための試みです。対応数で決めるだけではなく、当てはまり具合も考慮したものです。仮に矛盾する対応も無矛盾としてカウントしてしまっても、その影響を抑えることができます。ただし実用上は、適切な当てはまり具合の計算は対象次第になってくるため、使いやすさの面からRANSACが主流になっているかと思います。

RANSACのもう一つの課題として、ランダムに対応点の組を選択しているため、誤った対応が多いケースでは運悪く正しい組が見つからない、というものがあります。そこでDeep Learningを用いて対応の良し悪しを計算しようという試みがあります。

Learning to Find Good Correspondences [4]

機械学習ベースで対応付けの良し悪しを学習・推論する最も古い手法の一つとなります。この手法では、対応ペアの座標値の列を入力として、全体の対応関係の傾向から対応の良し悪しを出力するものとなります。画像のように隣り合うピクセル同士の情報を統合するのではなく、PointNetのように全体の特徴を利用するというアプローチで、これを計算します。なお、この手法ではPointNetのように点の特徴の合成して全体の特徴を計算せずに、ContextNormという各ペアの特徴量の正規化により簡易的にコンテキストを計算します。学習では、ネットワークの出力するwから得られる対応関係に対し、正解となる基本行列Eと矛盾しない対応関係かどうかの分類問題と、基本行列Eに対する回帰問題を解きます。

ネットワーク図

Neural-Guided RANSAC: Learning Where to Sample Model Hypotheses [5]

RANSACにおいては、なるべく多くのペアに当てはまるモデルのパラメータ(本記事であればホモグラフィ行列、論文では基本行列など)の元となる種となる数点を選ぶことがゴールになります。ここで、これを学習しようとしたときに、どの対応関係が種として選ばれるべきかを陽に与えることはできません。ホモグラフィであれば、同一平面上の4点が種となりますが、良いパラメータを出力する最適な4点を選ぶ方策が必要になります。そこで、この研究では最終的にインライアとなるペア数が多くなることを報酬とし、種となるペアを選択する方策を強化学習で求めました。

これを更に拡張し、NG-RANSACを繰り返して画面内に複数のモデルがある際に逐次的にそれぞれのモデルを見つけるCONSAC[6]という手法もあります。

ガイドと対応付け結果

ネットワーク図

画像マッチングベースの方法

ここまでに、特徴点・特徴量を用いた手法について紹介しました。これらの手法は、局所的な特徴が対となる画像の局所的な特徴の1つに対応する事を前提としています。そのため、画像内に、ある程度複雑なテクスチャが写っていることが必要であり、テクスチャの少ない画像や、似たパターンの繰り返しには強くないという課題があります。これに対して、画像同士を直接マッチングするという試みも多くあります。

画像のマッチングで最も単純なの方法は、画像間のピクセルの輝度の差分など、画像間の直接的な比較を行うテンプレートマッチングと呼ばれるアプローチです。画像間が一致するような変換を求めることで、ホモグラフィの推定を行います。画像のマッチングの手法としては、OpenCVに実装されている直接パラメータを探索する事による画像間のテンプレートマッチングや、それ以外にも位相相関限定法などがありますが、ホモグラフィの推定では推定すべきパラメータが8次元と比較的高く、単純に探索ベースで求めるのが難しい事が課題となります。

輪郭のみしか得られないような場合は、ICPアルゴリズムのように画像間の最近傍点を対応付け最適化するというアプローチや、事前にある程度パラメータが推定出来ている前提でトラッキングを行うESMといったアプローチなどはあります。これらの手法は利用シーンが限定されていたり、ライブラリ等が無いことから、特徴点ベースの手法と比較して利用されているケースは少なさそうです。

やっと本題です。これに対し、Deep Learningを用いることで画像のマッチングベースでのホモグラフィ推定を直接行うというケースも増えてきているので紹介していきます。

Deep Image Homography Estimation [7]

おそらくDeep Learningを用いてホモグラフィの学習を行った最初の論文かと思います。ホモグラフィ行列は、画像内の4点間の対応から直接計算できるため、片方の画像の4点に対して、対となる画像の対応点を出力できれば、そこから計算できます。この手法では、画像全体が一枚の平面に乗っているものとして、元の画像の端の4点に対応する対画像の4点を推論するアプローチです。学習データとしては、1枚の画像の任意の領域を切り抜き、その画像にランダムに変換を掛けてやり対応関係を擬似的に生成します。

ネットワーク図

推定は4頂点の対応関係、ここからホモグラフィを決定できる

Content-Aware Unsupervised Deep Homography Estimation [8]

先程の手法では、1枚の画像が平面を写したものとして擬似的な変換を計算していましたが、実際のシーンでは画像全体が平面であるという前提を置けないことも多いです。この手法では、画像中において平面以外の領域のマスクを同時に学習することで、上記前提の回避を試みたものとなります。具体的には、特徴量の抽出機を学習すると共に、ホモグラフィ計算に寄与しないエリアを計算するマスクの抽出機を同時に学習します。出力したホモグラフィからSpatial Transformer Networks (STN)を用いて画像を変換して合わせこんだ画像間の差異をロスに利用します。また、変換後の画像と対画像の差異が、変換しない元の画像間の差異より小さくなるというTriplet lossを利用するなどの工夫も入れています。

ネットワーク図とロス

Deep Homography Estimation for Dynamic Scenes [9]

一般的なホモグラフィの学習のために用いるデータは静的なシーンを想定し、1枚の画像から複数画像を擬似的に作成して対応関係を計算するなどが主で、動的なシーンでのデータセットやそれに対する学習の方法がありませんでした。この論文では、動くオブジェクトを含む動画からのデータセット作成も含め、動的シーンでのホモグラフィの学習を行った。ここで、画像内の各ピクセルがホモグラフィ推定に使われる平面上に含まれるか、それ以外の動的なコンテンツに含まれるかを推定する必要があるが。ここで、ホモグラフィ推定を適切に出来た方が動的コンテンツの判断がしやすくなる、逆に動的コンテンツか判断できたほうがホモグラフィを推定しやすくなるという相補的な関係があることから、この手法では、ホモグラフィ推定と動的コンテンツの推定をマルチタスク学習的に同時に学習した。この際に、動的コンテンツかどうかの正解データを、オプティカルフローを利用して事前に作成しておく。その他の工夫点としては、荒い画像から多段階でホモグラフィを推定・合成することで大きな変化に対しても推定できるようにしています。

ネットワーク図

Deep Lucas-Kanade Homography for Multimodal Image Alignment [10]

Lucas-KanadeアルゴリズムをDeep Learningで拡張して、マルチモーダルの画像に対してもアライメントを行えるようにする手法を提案しています。この手法では、Deep Lucal Kanade Feature Map (DLKFM) と呼ぶ特徴マップ構築を行っています。これまでに紹介した画像間を直接マッチングするホモグラフィ行列を直接求めるのではなく、現在の画像対を少し近づけるような微小な変化を出力するネットワークを学習し逐次的に繰り返すことで、離れた画像同士のマッチングを実現しています。ここで微小な各変化は一意に決まらないので直接与えて学習することは出来ませんが、ゴールに少しでも近づくこと、ゴールに向かいジャンプや迂回をせずに変化していることを制約として微小変化を学習しています。

異なるドメイン間でのホモグラフィ推定

ネットワーク図

特徴量の空間で逐次的に合わせ込み

実験

冒頭にもあったように、ホモグラフィ推定をはじめとした昔からある程度は解けていた問題に出会ったときに、古典的な手法を使うか初手Deepにするかを考えるのが今回の目的です。論文から分かるように、精度面だけを見るならばDeepを使えば良いですが、実装面ではライブラリの整備がされているSIFTの方が断然楽ですので、それを越える利便性があるかを検証していきます。

今回の実験では、SIFTでは出せない結果を、どの程度楽に出せるかを見積もれれば良く、学習済みモデルをそのまま使って比較します。本来的な精度比較ならば、学習データを揃えて再学習が必要ですが、「学習データを用意さえすればSIFTより精度が良いです、頑張りましょう!」では論文を読めば良いだけですので、今回は利便性を見たいだけなので学習済みモデルを使います。チューニングした上での手法同士の精度比較ではないため、今回精度が悪かったからといって、手法が悪い事にはならない事に注意ください。冒頭でも書きましたが、実験に利用したデータ・コードは以下のリンクに置いておきます。

github.com

実験環境・条件

特徴点ベースとマッチングベースの中から学習済みモデルが公開されていたものを中心に、(1) SIFT + RANSAC、(2) SuperPoint + RANSAC、(3) SIFT + CONSAC、(4) SuperPoint + CONSAC、(5) LoFTR単体、(6) Deep Image Homography Estimation (DHE)、(7) DeepLKに関して比較します。

実験に使う画像は、利便性の観点で初見の問題でどの程度使えるか見たいので、これまで比較に使われていなかった新しい環境を使うのが望ましいと考えます。なので、安直に僕の住まいの中で適当に画像を集めることとしました。ここでは、テクスチャが多少ある通常の屋外環境を2つ(平面シーンx1、非平面シーンx1)、テクスチャレスな屋内環境を3つ、表・文字を1つ用意しました。大量に集めての定量評価は面倒なのでやりません。

実験環境

実験結果

屋外シーン

まずは屋内シーンについて特徴点ベースの手法を試してみました。左図は屋外としては特徴の少なめのシーンですが、どの手法もそれなりに正しく認識していそうです。右図は床と壁の2面および非平面の自転車から構成されている環境です。十分に対応が正しければ、RANSACによって最も大きな平面が選ばれるはずですが、SIFT+RANSACでは大量の対応点の中から偶然検出された平面乗のペアが選ばれているように見えます。一方、SuperPointの方は壁の点が選ばれていることから、SIFTよりは多少は適切に平面上に対応関係が作られていそうです。SIFT+CONSACでは、少し結果が良くなり床面が検出されました。SuperPoint+CONSACでは大分背景の壁が取れている事を確認できます。LoFTRはかなり対応が取れています。本実験ではLoFTRでは最大3枚の平面をそれぞれ認識する設定としています。結果の図は、線が多すぎてよくわかりませんが、ズームして細かく確認してみても問題なさそうです。壁と床がそれぞれ取れていそうです。

屋外シーンの実験(特徴点ベース)

次にマッチングベースのロジックを試してみました。対応点が得られているわけではないので、ホモグラフィ変換した結果を載せます。左の画像がテンプレートで、合わせこんだ結果が中央、合わせ込み先が右になります。結果を見る限りは、全然うまく行ってないですね・・・。これとは別にトイデータで確認しておりますが、そちらでは上手く行ってました。学習において、学習数するテンプレートと合わせ先の2枚のデータを、1枚の画像からself-supervisedで作っているため、立体であったり照明の変化には弱いからではないかと考えています。

屋外シーンの実験(マッチングベース)

屋内シーン

続いてテクスチャの少ない屋内環境で実験をしてみました。中央のテクスチャのある対象に対しては、どの手法もある程度平面が取れていることは確認できます。一方、左のテクスチャの無い対象に対しては、SuperPoint+CONSACおよびLoFTR+CONSACでのみ対応が取れていそうです。但し、天井のライトに関しては、見る角度を大幅に変えており、特徴のない中でなんとかマッチを作ろうとはしつつも、模様や向きについては、正しい対応は作れていないことが確認できます。

屋内シーンの実験(特徴点ベース)

次に先程と同様にマッチングベースの手法を試しましたがこちらも上手くいかないようでした。

屋外シーンの実験(マッチングベース)

文字・表

最後に表のような特徴の少ない・繰り返しも多いデータに対して実験してみましょう。SIFTとSuperPointは、似たパターンが繰り替えした際に、それらを見分けることが出来ない中、沢山の候補を作ることで、後段のRANSACを用いて対応を修正します。結果としては、ほぼ文字の部分のみしかマッチできていないようです。そのため、文字が全く無いような、よりシンプルな対象に適用するのは難しいかもしれません。これに対して、LoFTRは全体として適切にマッチできていることが確認できます。マッチングベースはやはり上手くいかず。

文字・表に対する実験

おまけ

CONSACは平面用ですが、ついでに任意の立体シーン用にNG-RANSACのケースでも実験してみました。F行列を使ってのNG-RANSACですが、やはりLoFTRは強そうですね。ターゲットが平面を多く持つシーンであればCONSAC、立体シーンならNG-RANSACを使うのが現時点では良さそうですね。

立体シーンにおける対応点計算

感想

沢山動かしたので結構疲れた

特徴点ベースの手法については、当初の想定通りテクスチャの多い環境では上手くマッチしましたが、幾つかのシーンでは推定が出来ませんでした。自転車の写っているシーンは、平面が一部にしか写っておらず、本来はホモグラフィ推定の対象では無いですが原理的には出来るはず、という事で実験しました。十分な精度の良い対応が元々無かったから平面上のペアが選択されなかったと考えられます。屋内の2シーンについては、特徴がほとんど無く、やはり推定は出来ませんでした。一方で、SuperPoint+CONSAC、LoFTR+CONSACなどはテクスチャの少ないシーンでも、一部のテクスチャのある領域をなんとか推定出来ていることが確認できます。

一方、ライトのシーンは難しかったようで、上手く推論できていませんでした。ヒントとして火災報知器?が両シーンに映るようにしておき、これをヒントにマッチしてくれることを期待しましたが、内部で火災報知器同士の特徴ペアは見つかりましたが、無視されてしまったようです。現在の特徴点ベースの手法は、最もマッチした対応先を決定的に選択していますが、これを確率的にできれば、もう少し性能が上がるかもしれませんね。ぱっと思いつくのは、現在はペアの中からランダムに4ペア選びますが、選んだペアの中で更に確率的に対応先を決めるとか。

マッチングベースの方法はまだまだですね。DHEでは画面の4隅の修正という問題設定ですが、似たような問題設定としてMTCNNで検出した顔のバウンディングボックスを修正するみたいなのがあったので、解くことはできそうですが、広い範囲での探索には限界があるため難しい気がします。隅の4点の対応先の推定という方針であればLoFTRの限定版とみなすこともできるので、画面全体の対応先を探すLoFTRでやってしまえば良さそうですね。DeepLKも中間の行列のアップデートをimplicitに学習するため、広い範囲での変換、特に回転が入る場合は難しそうです。

ここまで実験しての個人的な結論ですが、今後についても、対象を見てテクスチャがある場合は今まで通りSIFT+RANSACを使えば良さそうですね。一方、テクスチャがないためにマッチできないような場合には、これまでは問題設定を変えるか諦めるしかなかったのですが、LoFTR + CONSACといった手法も奥の手で選択肢に入るというのが非常に心強いです。

まとめ

本記事では、古典的な機械学習の問題に対して、老害な僕がよく言う「SIFTでやればいいじゃん」が本当に正しいかの調査を目的に、少し難しそうな環境下で様々な既存の手法を適用して、手軽で精度の高いアプローチを探してみました。ホモグラフィ推定という非常に古典的な問題設定ではあるものの、Deep Learningを利用した論文も今でも出ており、技術的にも進歩している事が確認できました。元々はテクスチャレスな環境で特徴点ベースの手法の適用が難しいというのを考えていましたが、最近の手法であればSIFT+RANSACに対ロバストな推論が可能そうです。というわけで、これからばLoFTRでポンって感じでよしなにできそうですね!

最後に

 株式会社ABEJAでは、Deepでポンな人も、「それSIFTで良くない?」っていう人も、共に働く仲間を募集しています。興味ある方はぜひこちらの採用ページからエントリーください。

hrmos.co

[1] K. M. Yi, E. Trulls, V. Lepetit, P. Fua, LIFT: Learned Invariant Feature Transform, ECCV2016.
[2] D. DeTone, T. Malisiewicz, A. Rabinovich, SuperPoint: Self-Supervised Interest Point Detection and Description, CVPR2018.
[3] J. Sun, Z. Shen, Y. Wang, H. Bao, X. Zhou, LoFTR: Detector-Free Local Feature Matching with Transformers, CVPR2021.
[4] K. M. Yi, E. Trulls, Y. Ono, V. Lepetit, M. Salzmann, P. Fua, Learning to Find Good Correspondences, CVPR2018.
[5] E. Brachmann, C. Rotherm, Neural-Guided RANSAC: Learning Where to Sample Model Hypotheses, ICCV2019.
[6] F. Kluger, E. Brachmann, H. Ackermann, C. Rother, M. Y. Yang, B. Rosenhahn, CONSAC: Robust Multi-Model Fitting by Conditional Sample Consensus, CVPR2020.
[7] D. DeTone, T. Malisiewicz, and A. Rabinovich, Deep Image Homography Estimation, Arxiv 2016.
[8] J. Zhang, C. Wang, S. Liu, L. Jia, N. Ye, J. Wang, J. Zhou, J. Sun, Content-Aware Unsupervised Deep Homography Estimation, ECCV2020.
[9] H. Le, F. Liu, S. Zhang, A. Agarwala, Deep Homography Estimation for Dynamic Scenes, CVPR2020.
[10] Y. Zhao, X. Huang, Z. Zhang, Deep Lucas-Kanade Homography for Multimodal Image Alignment, CVPR2021.