紹介する論文
論文の要約
- ターゲット点群に対して,入力のソース点群を位置合わせするための変換を求めるネットワークの学習を行う
- 1度の位置合わせでは完全に合わないので,反復(iterative)して変換を行う(Iterative Transformer Network: IT-Net)
- 対応点探索を行わずに,ICPスキャンマッチングと類似の挙動を示す位置合わせを行うことができるようになる
はじめに
Iterativeとは「反復」という意味です.自己位置推定や点群位置合わせ(Alignment)の文脈では「2つのデータを反復計算により最適化することで照合する」というような意味で良く使われています.代表的なものとして,Iterative Closest Point(ICP)スキャンマッチングという方法があり,これは2つの点群を位置合わせするために利用できます.本論文では,これを深層学習を用いて行う方法を提案しています.
IT-Net
Iterative Transformer Network(IT-Net)は,1つの点群(ソース点群)を受け取り,もう1つの点群(ターゲット点群)に対応する座標変換を予測します.3次元空間での座標変換を行うためには,3×3の回転行列(yaw,roll,pitch角の成分に対して決まる行列)と3次元の平行移動ベクトルを求める必要があります.なお変数の都合上,回転行列を予測する際にはクォータニオンが良く使われます.なのでIT-Netは,クォータニオン(4成分)と平行移動ベクトル(3成分)の7成分を予測します.なお,トレーニング用のデータは著者ら自身が用意しているようです.
LK法とICP
画像処理において有名なアルゴリズムであるLucas-Kanade(LK)法は,ソース画像とターゲット画像を反復計算により位置合わせする方法です(KLに関しては,Webで検索すれば大量の関連記事がヒットします).また前述の通りICPは,2つの点群を反復計算により位置合わせを行います.どちらの方法でも,2つのデータ間での誤差を定義し,その誤差に基づくコスト関数を作成します.そして,コスト関数の位置・姿勢に関する勾配(偏微分)を求め,最小のコストになる状態(最適状態)を求めます.
上図(論文中図4)にIT-Netによる位置合わせの概略が示されており,IT-NetもLKやICPの様な反復計算に基づいて実装されています.最初にソース点群をネットワークに入力し,座標変換を予測します.そして,予測された座標変換を作用したソース点群をさらにネットワークに入力し,新たな座標変換を予測します.これらの処理を繰り返し行い(反復し),得られた座標変換を全て掛け合わせると,最終的な座標変換の値を求めることができます.
なお,このような反復計算は,基本的に反復回数が増えるほど座標変換による移動量(Magnitude)の大きさが減っていきます.これは,最適状態に近づくほどコスト関数の勾配が緩やかになるためです.IT-Netでもこの様な現象が観測されるようで,上図(論文中図5)には反復回数が増えるほど移動量が下がっていくことが示されています.
感想
End-to-Endで位置合わせをしようとすると,素直にソース点群とターゲット点群間の座標変換のみを求める実装になると思います.しかし本論文で紹介している方法では,反復計算を行う方法になります.確かにEnd-to-Endで学習してしまうよりも,位置合わせの性能が上がることは直感的も想像できます.
End-to-Endの位置合わせでもそうですが,このような位置合わせに深層学習を使う最大のメリットは,2つのデータ間の対応点探索を省けることにあると思います.一般に対応点探索さえ完璧にできれば,おおよその位置合わせは最適化することで正しく解けます.しかしデータにはノイズなどが含まれるため,この対応点探索は極めて難しい問題となります.このような問題をデータドリブンに解けることこそ,深層学習の強みと言えると思います.
しかし,やはりどうしてうまく位置合わせができるかどうかを示せないことは弱点だと思います.深層学習で対応を求め,その対応が正しいかどうか検定する,なんて方法を採用すると,良い手法になるのかもしれません.