狠狠撸

狠狠撸Share a Scribd company logo
PVNet: Pixel-wise Voting Network for
6DoF Pose Estimation
2019/6/30 neka-nat
自己紹介
● 名前:neka-nat
● 職業:とある製造メーカのソフトウェアエンジニア
● 普段のお仕事
○ 画像処理やロボットのソフト開発
● 最近の興味:点群処理、CG
● https://twitter.com/neka_nat
この論文を選んだ理由
● Oralの論文から選択
● 昔からある問題設定だが、深層学習によってかなり精度が上がってきている
● LINEMODデータセットでSOTA
● 本日の内容
○ 問題設定について
○ 関連研究について
○ PVNetについて
論文の問題設定
● 物体の種類と位置姿勢推定を同時に行いたい
○ 物体の種類
○ 物体の位置(XYZの3次元)
○ 物体の姿勢(ロールピッチヨーの3次元)
● 1枚のRGB画像のみを入力とする
● 物体のCADモデルを使用できる
合わせて6次元
応用例
● ロボットビジョン
● AR
● デプスセンサなどが使用しにくい環境?状況
○ 小型化
○ 屋外での使用
○ コスト削減
AR demo
よく用いられるデータセット
● それぞれCADモデルとRGBD画像が用意されている
● LINEMOD, Occlusion LINEMOD
○ 15種類の一般物体、オクルージョンがある?無いデータが分かれている
● T-LESS
○ 30種類の産業物体、テクスチャが無く似た物体が多い
● YCB
○ 5つにカテゴリ分けされた77の一般物体
評価メトリクス
● 6D Pose (ADD)
○ 以下の式の値が物体の直径の10%以内、xは3Dモデル上の点
● Projection 2D
○ 2次元に投影したエラーに対してしきい値を設定
正解の並進と回転 推定した並進と回転
関連論文①End-to-Endでやってみた―その1
● PoseCNN(RSS2018)
● ラベル、3次元位置、3次元姿勢の3つの出力を持つネットワーク
3次元位置
ラベル
3次元姿勢
物体中心に向かうベク
トル場を推定し、
Votingによって物体中
心を求める
物体中心の推定結果
と合わせてクォータニ
オンを出力する
関連論文①End-to-Endでやってみた―その1
● 物体の3次元位置を指すベクトル場を学習することでオクルージョンに強い
● 位置はロバストに推定できたが、姿勢の推定が弱い
関連論文②End-to-Endでやってみた―その2
● SSD-6D(ICCV2017)
● SSDをベースに姿勢推定を5°刻みのクラスタリング問題にして解く
○ よりロバストに姿勢が求まるが精度が落ちる
● 出力をさらにRGB画像を用いたエッジベースのRe?nementにかける
関連論文③2次元の特徴点を抽出してからのPnPを解く
● Tekinらの手法(CVPR2018)
● YOLOをベースにして高速化、50fps(SSD-6Dの5倍高速化)
● 問題を2つに分ける
○ 物体の境界BOXを2次元投影した頂点(8点)+中心点を画像から推定
○ 2次元投影した境界BOXの対応点からPnP(Perspective-n-Points)によって位
置姿勢を求める
PnP
関連論文④Re?nementもディープにしてみた
● BB8(ICCV2017)
● 特徴点抽出(境界BOXの頂点)+PnP+Re?nementの構成
● Re?nementにCNNを用いた
物体周辺を切り
取った入力画像
CADモデルを初期姿
勢でレンダリング
CNN
境界BOXの頂点の移動量
関連論文⑤オクルージョンに強いモデルの構築
● Oberwegerらの手法(ECCV2018)
● オクルージョンへの対応を意識した手法
● 入力画像のパッチから特徴点のヒートマップを出力
● 各パッチの出力を累積して特徴点を推定する
DNN
PVNet
● 関連研究で分かったこと
○ PoseCNNのようなベクトル場からのVotingはオクルージョンに強い
○ 特徴点推定→PnPの2段階にするのが良さそうだが、境界BOXを使った物体の
外にある特徴点はイマイチ
○ Re?nementは有効だが、物体毎に計算が必要になり計算時間が増加する
PVNet
● 関連研究を踏まえての方針
○ 2次元の特徴点推定→PnPの2段階で解く
○ 計算量の観点からRe?nementは行わないで解きたい
○ 特徴点推定にベクトル場の推定とVotingを取り入れる(ロバスト性向上)
○ 推定された特徴点の不確実性を考慮してPnPを解く(精度向上)
特徴点へ向かうベクトル
ラベル
VotingPnP
特徴点推定
● Farthest-Point-Samplingを用いて事前にCADモデル上の8点の特徴点と中心点を
求める
● RGB画像から各特徴点+中心点の方向を示すベクトル場を推定する
● 各ピクセルの出力次元は「(特徴点+中心点)×ベクトルの次元+カテゴリ数」
Uncertainty-driven PnP
● RANSACベースのVotingによって特徴点の候補点hをいくつ求める
● 候補点を特徴点とした場合のベクトル場と推定されたベクトル場との一致度合いを候
補点のスコアとする
● 候補点とそのスコアから特徴点の平均値と分散を求める
候補点の重み
特徴点の推定値
推定値の分散
Uncertainty-driven PnP
● 推定された特徴点と分散の両方を考慮したPnP問題を解く
ネットワークアーキテクチャ
● Pretrained ResNet18をバックボーンにしている
● 中間画像のサイズがH/8×W/8になった時点でPoolingを行わない
● 中間画像のサイズを維持しつつ情報集約を行うためにDilated Convを使用
● スキップするところはStrideで調整
学習方法
● 正解のベクトル場と推定結果を用いてSmooth L1 lossを計算
● 過学習を防ぐため合成画像を20000枚追加
Ablation study
● Occlusion LINEMODで様々に構成要素を変えて比較
● 特徴点の数を4、8、12で変化させて比較
● Uncertainty-driven PnPと普通のPnP(EPnP)との比較
特徴点を境界
BOXにしてみた
特徴点の数をそ
れぞれ変更
Uncertainty-driven
PnPを使用
ベクトル場でなくオフ
セットを使用
実験結果
● LINEMODによるADDを用いた従来手法との比較
● Tekinらの方法から30%以上精度が向上している
● Re?nementを行ったSSD-6Dよりも精度が良い
Re?nement無し Re?nement有り
実験結果
● Occlusion LINEMODによるADDを用いた従来手法との比較
● 翱产别谤飞别驳别谤らの手法よりも10%以上精度が向上している
実験結果
● Truncation LINEMOD(著者らが作成した端が切れた画像)に対しも実験を行ってお
り、ADDで平均31.48%の精度を出している
その他の実験結果
● YCBデータセットでも他手法と比較した
● 計算速度は480×640の画像で25fps
● Intel i7 3.7 CPU, GTX1080Tiを使用
まとめ
● CVPR2019で発表された6次元姿勢推定手法PVNetを紹介した
● Re?nement無しで高精度に推定可能
● Occlusion, truncationにも対応できる
● 著者によるPytorchのソースコードが利用できる
○ https://github.com/zju3dv/pvnet
● トレーニング画像生成
○ https://github.com/zju3dv/pvnet-rendering
おわり

More Related Content

Cvpr 2019 pvnet