第7回全日本CV勉強会 CVPR2021読み会(前編)
DeepI2P: Image-to-Point Cloud Registration
via Deep Classification
2021/07/11 takmin
自己紹介
2
株式会社ビジョン&ITラボ 代表取締役
皆川 卓也(みながわ たくや)
博士(工学)
「コンピュータビジョン勉強会@関東」主催
株式会社フューチャースタンダード 技術顧問
略歴:
1999-2003年
日本HP(後にアジレント・テクノロジーへ分社)にて、ITエンジニアとしてシステム構築、プリ
セールス、プロジェクトマネジメント、サポート等の業務に従事
2004-2009年
コンピュータビジョンを用いたシステム/アプリ/サービス開発等に従事
2007-2010年
慶應義塾大学大学院 後期博士課程にて、コンピュータビジョンを専攻
単位取得退学後、博士号取得(2014年)
2009年-現在
フリーランスとして、コンピュータビジョンのコンサル/研究/開発等に従事(2018年法人化)
http://visitlab.jp
ビジョン
技術の町医者
AIビジネスについて、気軽に相談できる
紹介する論文
4
 DeepI2P: Image-to-Point Cloud Registration via Deep
Classification
 Jiaxin Li (Bytedance), Gim Hee Lee (National University of
Singapore)
 選んだ理由:
 個人的に興味のあるテーマ
興味をもった背景
5
都市等の点群化が進展
Project PLATEAU Shizuoka Point Cloud DB
都営大江戸線都庁駅前点群データ
興味をもった背景
6
都市等の点群化が進展
人物検出、車両検出等、AIを導入したカメラも普及
カメラ画像が点群内のどの位置を撮影しているかがわ
かれば、三次元空間中の人やモノの位置を動的に把握
できるようになる
目的
7
 点群におけるカメラの自己位置推定を行う
 LiDARはカメラに比べて高コスト。
 一度LiDARで三次元マップを作製したら、カメラを用いて自己
位置推定する方が安価
特徴点マッチングによる自己位置推定 識別による自己位置推定(本手法)
Related Work: 2D3D-MatchNet
 画像はSIFT、点群はISSによってキーポイントを抽出し、キー
ポイント間のマッチングを行うための特徴量をTriplet Lossを
用いて学習
Feng, M., Hu, S.,Ang, M., & Lee, G. H. (2019). 2D3D-MatchNet: Learning to Match Keypoints Across 2D Image and 3D Point Cloud.
International Conference on Robotics and Automation .
Related Work: 2D-3D Line Correspondences
 画像と点群上の直線をマッチさせることで自己位置推定
Visual SLAMによるTrackingが前提条件
Yu, H., Zhen,W.,Yang,W., Zhang, J., & Scherer, S. (2020). Monocular Camera Localization in Prior LiDAR Maps with 2D-3D Line
Correspondences. IEEE International Conference on Intelligent Robots and Systems
概要
 既存手法(2D3D-MatchNet)では、点群の特徴
点と画像の特徴点とのマッチングによる自己
位置推定
SIFTとISSで取る特徴点が違う
 Cross-Modalな特徴学習を避けて、点群が画
像のFrustumやGrid内に収まるかという識別
問題として解く。
1. 点群が画像のFrustum/Grid内に存在するかを判
定するネットワーク(Classification)
2. 点群を画像上に投影し、姿勢を最適化(Pose
Optimization)
1. Classification
 LiDARで取得した点の1つ1つが画像に投影可能な範囲
(Frustum内)かどうかを判定
Frustum=カメラの視野を表す四角錐
Network Architecture
Network Architecture
PointNet++で点群
をグルーピングしな
がら特徴量抽出
Network Architecture
ResNetで画像から
特徴量抽出
Network Architecture
画像のグローバル
特徴と点群特徴か
ら画像の重み付き
特徴算出
Network Architecture
画像と点群のグロー
バル特徴、Attention
Fusionの出力、点群
グループ特徴から点
群特徴をUp Sampling
Network Architecture
各点がFrustum(また
は画像グリッド)内に
含まれるかの判定
Network Architecture
画像グローバル特徴 点群局所特徴
画像特徴
Attention
重み付き画像特徴
Network Architecture
画像グローバル特徴 点群局所特徴
画像特徴
Attention
重み付き画像特徴
Training Pipeline
1. データセットから画像と点群のペア(𝐼, 𝑃𝑟𝑎𝑤)、および相
対位置𝐺𝑐
𝑝
を取得
𝐼
𝑃𝑟𝑎𝑤
𝐺𝑐
𝑝
カメラ座標系 LiDAR座標系
Training Pipeline
2. ランダムな回転/移動𝐺𝑟を与え、それに合わせて点群
の座標とLiDARの相対位置を変換
𝐼
𝑃 = 𝐺𝑟𝑃𝑟𝑎𝑤
𝐺𝑐
𝑝
カメラ座標系 LiDAR座標系
𝐺 = 𝐺𝑐
𝑝
𝐺𝑟
−1
Training Pipeline
3. 点群がFrustum内に入っているかを判定し、各点にラベ
ル𝑙𝑖
𝑐
∈ 0,1 を付与
𝐼
カメラ座標系
LiDAR座標系
𝐺 = 𝐺𝑐
𝑝
𝐺𝑟
−1
𝑙𝑖
𝑐
= 0
𝑙𝑖
𝑐
= 1
Training Pipeline
4. 画像と点群のペア 𝐼, 𝑃 でネットワークへ入力
5. Frustum内かどうかを識別
6. Cross Entropy Lossでネットワークを学習
𝐼
𝑃
2. Pose Optimization
 ClassificationでFrustum内と判定された点を画像内に投
影可能な姿勢 ෠
𝐺を推定
投影
2. Pose Optimization
解きたい問題
෠
𝐺 = argmax
𝐺∈SE(3)
෍
𝑖=1
𝑁
𝑓 𝐏𝑖; 𝐺, 𝐾, 𝐻, 𝑊 − 0.5 መ
𝑙𝑖
𝑐
− 0.5
投影
点をカメラ姿勢𝑮で画像
に投影し、画像内に収
まるかどうかを判定
(6)
点がfrustum
内か
投影点が
画像内か
カメラ姿勢
コスト関数の最小化
 (6)式を緩和
෠
𝐺 = argmin
𝐺∈SE(3)
෍
𝑖=1
𝑁
𝑟𝑖 𝐺; መ
𝑙𝑖
𝑐
(12)
መ
𝑙𝑖
𝑐
= 0 (frustum外)の時、投影した点が画像の内側でコストが正
መ
𝑙𝑖
𝑐
= 1 (frustum内)の時、投影した点が画像の外側でコストが正
となるコスト関数
点群の各点を画像上へ投影し、コストの総和が最小となる姿勢
෡
𝑮をガウスニュートン法で求める
ニューラルネットは使わない
ClassificationでFrustum内と判定された点の
コスト
姿勢𝐺で投影された点 𝑝𝑥𝑖
′ , 𝑝𝑦𝑖
′
𝑔 𝑝𝑥𝑖
′ ; 𝑊 = max −𝑝𝑥𝑖
′ , 0 + max 𝑝𝑥𝑖
′ − 𝑊, 0
𝑔 𝑝𝑦𝑖
′ ; 𝐻 = max −𝑝𝑦𝑖
′ , 0 + max 𝑝𝑦𝑖
′ − 𝐻, 0
ℎ 𝑧𝑖
′
; 𝑊 = 𝛼 ∙ max −𝑧𝑖
′
, 0
𝑝𝑥𝑖
′
, 𝑝𝑦𝑖
′
画像内はコストゼロ
画像外は画像からのL1距離
焦点より後ろにある場合のコスト
(7)
(8)
ClassificationでFrustum外と判定された点の
コスト
𝑢 𝑝𝑥𝑖
′
; 𝑊 =
𝑊
2
− 𝑝𝑥𝑖
′
−
𝑊
2
𝑢 𝑝𝑦𝑖
′
; 𝐻 =
𝐻
2
− 𝑝𝑦𝑖
′
−
𝐻
2
𝑝𝑥𝑖
′ , 𝑝𝑦𝑖
′
画像内は正のL1距離
画像外は画像からの負のL1距離
(9)
コスト関数の最小化
 コストの総和が最小となる姿勢 ෠
𝐺をガウスニュートン法で求める
෠
𝐺 = argmin
𝐺∈SE(3)
෍
𝑖=1
𝑁
𝑟𝑖 𝐺; መ
𝑙𝑖
𝑐
(12)
Iteration = 0 Iteration = 40 Iteration = 80
𝑟𝑖
0
= 𝑢 𝑝𝑥𝑖
′
; 𝑊 + 𝑢 𝑝𝑦𝑖
′
; 𝐻 ∙ 𝕝 𝑝𝑥𝑖
′
, 𝑝𝑦𝑖
′
, 𝑧𝑖
′
; 𝐻, 𝑊
𝑟𝑖
1
= 𝑔 𝑝𝑥𝑖
′
; 𝑊 + 𝑔 𝑝𝑦𝑖
′
; 𝐻 + ℎ 𝑧𝑖
′ (11)
: መ
𝑙𝑖
𝑐
= 0
: መ
𝑙𝑖
𝑐
= 1
(𝑝𝑥𝑖
′
, 𝑝𝑦𝑖
′
)が画像内なら0、それ以外1
Experiments
 Oxfordデータセット+KITTIデータセット
で評価
点群と画像のペアは±10mの範囲でラン
ダムに選択
 Pose Optimization
初期姿勢𝐺(0)
を60回ランダムに生成し、最
適化の結果最小コストとなるものを採用
初期姿勢𝐺(0)
のrotationはz軸を中心とした
回転のみ、translationはxy平面上でのみ
Experiments
Grid ClassificationとFrustum Classificationの可視化
 緑:どちらでも正しく識別
 黄色:Frustum Classificationのみ正しく識別
 赤: Frustum Classificationで外と判定
 青: Frustum Classificationで内と判定
Experiments
Frustum Classification + Pose Optimizationの結果例
Oxford KITTI
Experiments: Registration Accuracy
 RTE = Relative Translational Error
 RRE = Relative Rotation Error
Experiments: Registration Accuracy
 RTE = Relative Translational Error
 RRE = Relative Rotation Error
Global Image Feature +
Global Point Cloud Feature
からMLPでPose推定
Experiments: Registration Accuracy
 RTE = Relative Translational Error
 RRE = Relative Rotation Error
ニューラルネットによる単眼
デプス推定+点群キーポイ
ントマッチング
Experiments: Registration Accuracy
 RTE = Relative Translational Error
 RRE = Relative Rotation Error
ニューラルネットによる単眼
デプス推定+Ground Truthを
初期位置としたICP
Experiments: Registration Accuracy
 RTE = Relative Translational Error
 RRE = Relative Rotation Error
Experiments: Registration Accuracy
 RTE = Relative Translational Error
 RRE = Relative Rotation Error
32x32の画像Grid単位
で点のIn/Outを識別し、
PnPで姿勢推定
Experiments: Registration Accuracy
 RTE = Relative Translational Error
 RRE = Relative Rotation Error
画像全体でFrustumの
In/Out判定+6DoFで姿
勢推定
Experiments: Registration Accuracy
 RTE = Relative Translational Error
 RRE = Relative Rotation Error
画像全体でFrustumの
In/Out判定+3DoFで姿
勢推定
Experiments: Registration Accuracy
 RTE = Relative Translational Error
 RRE = Relative Rotation Error
MonoDepth2 + GT-ICPは初期値がGround Truthであるが、RREは上回り、RTEは同等
Ablation Study
Ablation Study
点群の密度
Pose Optimization
の初期値試行回数
点群と画像間の距
離の最大値
まとめ
 画像と点群という異なる領域の位置合わせ(レジスト
レーション)を提案
 レジストレーションを2つの問題に分割
点が画像内に収まるかという識別問題をニューラルネットワー
クで解く
カメラ/LiDAR間の姿勢を、点群のカメラへの投影によって最
小二乗問題として解く
 OxfordおよびKITTIデータセットで有用性確認

20210711 deepI2P