Your SlideShare is downloading. ×
CV勉強会-カメラパラメータ推定-
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

CV勉強会-カメラパラメータ推定-

302
views

Published on

第28回コンピュータビジョン勉強会@関東

第28回コンピュータビジョン勉強会@関東

Published in: Science

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
302
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 第28回コンピュータビジョン勉強会@関東 コンピュータビジョン最先端ガイド5 第2章 複数画像からの三次元復元 #2 カメラパラメータ推定 東京大学 情報理工M1 伊神 大貴<@_Nonane_>
  • 2. 自己紹介 • @ketsumedo_yarouの手下その2 • 3次元の研究をしているという? – していない • L0-normの最適化をごりごりしています – 全ての非線形関数を生まれる前に消し去りたい
  • 3. ステレオによる3次元復元 3 Depth?
  • 4. ステレオによる3次元復元 4 Depth
  • 5. ステレオによる3次元復元 5 Depth 点のマッチングとカメラの位置姿勢 から3次元復元ができる
  • 6. カメラパラメータ スクリーン座標 ワールド座標 𝒙 = 𝐊 𝐑 𝒕 𝒑 𝒖 𝒗 𝟏 ~ 𝑓 𝑠 𝑐 𝑥 0 𝑎𝑓 𝑐 𝑦 0 0 1 𝑅11 𝑅12 𝑅13 𝑡 𝑥 𝑅21 𝑅22 𝑅23 𝑡 𝑦 𝑅31 𝑅32 𝑅33 𝑡 𝑧 𝒑 𝒙 𝒑 𝒚 𝒑 𝒛 𝟏 カメラ内部行列 DOF: 5 カメラ外部行列 DoF: 6
  • 7. カメラパラメータ カメラ内部行列 DOF: 5 スクリーン座標 カメラ外部行列 DoF: 6 ワールド座標 𝒙 = 𝐊 𝐑 𝒕 𝒑 𝒖 𝒗 𝟏 ~ 𝑓 𝑠 𝑐 𝑥 0 𝑎𝑓 𝑐 𝑦 0 0 1 𝑅11 𝑅12 𝑅13 𝑡 𝑥 𝑅21 𝑅22 𝑅23 𝑡 𝑦 𝑅31 𝑅32 𝑅33 𝑡 𝑧 𝒑 𝒙 𝒑 𝒚 𝒑 𝒛 𝟏 焦点距離など,カメラ 固有のパラメータ カメラの位置,姿勢を 示すパラメータ
  • 8. 透視投影 𝑐 𝑠 𝑦𝑠 𝑓 𝑥 𝑠 𝑦𝑐 𝑥 𝑐 𝑧 𝑐 画像面
  • 9. 透視投影 𝑐 𝑠 𝑦𝑠 𝑓 𝑥 𝑠 𝑦𝑐 𝑥 𝑐 𝑧 𝑐 画像面 𝒑 = (𝑝 𝑥, 𝑝 𝑦, 𝑝 𝑥) 𝒙 = (𝑢, 𝑣)
  • 10. 透視投影 𝑐 𝑠 𝑦𝑠 𝑓 𝑥 𝑠 𝑦𝑐 𝑥 𝑐 𝑧 𝑐 画像面 𝒑 = (𝑝 𝑥, 𝑝 𝑦, 𝑝 𝑥) 𝒙 = (𝑢, 𝑣) 𝑐 𝑠 ′ 𝑦𝑠 ′ 𝑥 𝑠 ′ 𝒙′ = (𝑢, 𝑣)
  • 11. 透視投影 𝑐 𝑠 𝑦𝑠 𝑓 𝑥 𝑠 𝑦𝑐 𝑥 𝑐 𝑧 𝑐 画像面 𝒑 = (𝑝 𝑥, 𝑝 𝑦, 𝑝 𝑥) 𝒙 = (𝑢, 𝑣) 𝑐 𝑠 ′ 𝑦𝑠 ′ 𝑥 𝑠 ′ 𝒙′ = (𝑢, 𝑣) 𝑢 𝑣 = 𝑓 𝑝 𝑥 𝑝𝑧 + 𝑐 𝑥 𝑓 𝑝 𝑦 𝑝 𝑧 + 𝑐 𝑦 ⇔ 𝑢 𝑣 1 ~ 𝑓 0 𝑐 𝑥 0 𝑓 𝑐 𝑦 0 0 1 𝑝 𝑥 𝑝 𝑦 𝑝 𝑧
  • 12. 内部パラメータ 𝑓: 焦点距離 𝑠: スキュー 𝑎: アスペクト比 𝑐 𝑥, 𝑐 𝑦: 光学中心 𝐊= 𝑓 𝑠 𝑐 𝑥 0 𝑎𝑓 𝑐 𝑦 0 0 1 ※歪曲収差パラメータも存在 →キャリブレーションチャートを用いた推定が一般的 MATLAB Calibration Toolbox OpenCVのcvCalibrateCamera2など ・𝑠 = 0, 𝑎 = 1とし, 𝑐 𝑥, 𝑐 𝑦をそれぞれ画像中心とすることも多い Bundlerなどはこの仮定を利用している
  • 13. カメラパラメータ カメラ内部行列 DOF: 5 スクリーン座標 カメラ外部行列 DoF: 6 ワールド座標 𝒙 = 𝐊 𝐑 𝒕 𝒑 𝒖 𝒗 𝟏 ~ 𝑓 𝑠 𝑐 𝑥 0 𝑎𝑓 𝑐 𝑦 0 0 1 𝑅11 𝑅12 𝑅13 𝑡 𝑥 𝑅21 𝑅22 𝑅23 𝑡 𝑦 𝑅31 𝑅32 𝑅33 𝑡 𝑧 𝒑 𝒙 𝒑 𝒚 𝒑 𝒛 𝟏 焦点距離など,カメラ 固有のパラメータ カメラの位置,姿勢を 示すパラメータ
  • 14. カメラの位置姿勢 14 𝒙0 𝒄0 回転行列 𝐑0 = 𝐈 並進ベクトル 𝒕0 = 𝟎 𝒙0~ 𝐊0 𝐑0 𝒕0 𝑝 𝑥 𝑝 𝑦 𝑝 𝑧 1 = 𝐊0 𝑝 𝑥 𝑝 𝑦 𝑝 𝑧 𝒑 = 𝑝 𝑥, 𝑝 𝑦, 𝑝𝑧, 1
  • 15. カメラの位置姿勢 15 𝒑 = 𝑝 𝑥, 𝑝 𝑦, 𝑝𝑧, 1 𝒙0 𝒙1 Rotation 𝐑1 and translation 𝒕1 𝒄0 𝒄1 回転行列 𝐑0 = 𝐈 並進ベクトル 𝒕0 = 𝟎 𝒙0~ 𝐊0 𝐑0 𝒕0 𝑝 𝑥 𝑝 𝑦 𝑝 𝑧 1 = 𝐊0 𝑝 𝑥 𝑝 𝑦 𝑝 𝑧 𝒙1~ 𝐊1 𝐑1 𝒕1 𝑝 𝑥 𝑝 𝑦 𝑝 𝑧 1
  • 16. 外部パラメータ 𝐑: 回転行列 𝒕: 並進ベクトル𝐑 𝒕 = 𝑅11 𝑅12 𝑅13 𝑡 𝑥 𝑅21 𝑅22 𝑅23 𝑡 𝑦 𝑅31 𝑅32 𝑅33 𝑡 𝑧 →SfM (Structure from Motion) による推定が一般的 -Bundler, VisualSFMなどが有名なソフト
  • 17. Structure from Motion 17 SfMのパイプライン 1. 画像から特徴量を抽出し,マッチングを行う
  • 18. Structure from Motion 18 2. 基本行列𝐄を対応点の組{(𝒙𝒊𝟏, 𝒙𝒊𝟎)}から求める (e.g. five-point algorithm, eight-point algorithm) SfMのパイプライン 1. 画像から特徴量を抽出し,マッチングを行う
  • 19. 2枚での外部パラメータ推定 19 𝒑 = 𝑝 𝑥, 𝑝 𝑦, 𝑝𝑧, 1 𝒙0 𝒙1 Rotation 𝐑1 and translation 𝒕1 𝒄0 𝒄1 回転行列 𝐑0 = 𝐈 並進ベクトル 𝒕0 = 𝟎 Epipolar constraint: 𝒙 𝟎 𝐄 𝟎𝟏 𝒙 𝟏 = 𝟎 𝑬 = 𝒕 × 𝑹 :essential matrix {𝒙 𝟎, 𝒙 𝟏}の組が8つ以上あれば解ける
  • 20. Structure from Motion 20 2. 基本行列𝐄を対応点の組{(𝒙𝒊𝟏, 𝒙𝒊𝟎)}から求める (e.g. five-point algorithm, eight-point algorithm) 3. バンドル調整による再投影誤差の最小化を行う SfMのパイプライン 1. 画像から特徴量を抽出し,マッチングを行う
  • 21. バンドル調整 21 : カメラパラメータ : 点の3次元座標 : 点のセンサー座標 : 再投影されたセンサー座標 argmin 𝒑 𝑖,𝒒 𝑗 𝑢𝑖𝑗 − 𝑢 𝒑𝑖, 𝒒 𝑗 2 𝒑𝑖 𝒒 𝑗 𝒖𝒊𝑗 𝒖𝒊𝑗 再投影誤差の最小化
  • 22. SfMのソフトウェア • Bundler – 最も有名なオープンソースのSfMソフトウェア – やや古い • Photosynth, Autodesk 123D Catch, Arc3D – SfMを行うWebサービス – 使いやすいがパラメータや途中経過が見えない
  • 23. SfMのソフトウェア • Bundler – 最も有名なオープンソースのSfMソフトウェア – やや古い • Photosynth, Autodesk 123D Catch, Arc3D – SfMを行うWebサービス – 使いやすいがパラメータや途中経過が見えない • VisualSFM
  • 24. VisualSFM
  • 25. VisualSFMによる復元結果 Exif有り Exif無し 焦点距離の初期値としてExifを利用しており,結果に 大きく影響する -Bundlerも同様
  • 26. SLAM • SLAM (Simultaneous Localization and Mapping) – カメラやセンサを用いて自己位置推定と地図作成 を同時に行うタスク – RGB-D SLAM, Monocular SLAMなど Kinect Fusion PTAM
  • 27. SLAMの基本 27 PTAMなど 1. Map initialization -ステレオなどによる
  • 28. SLAMの基本 28 PTAMなど 1. Map initialization -ステレオなどによる 2. Tracking -マップの点を新しい入力画像に投影する -再投影誤差を最小化することでカメラの位置姿勢を推定する
  • 29. SLAMの基本 29 PTAMなど 1. Map initialization -ステレオなどによる 2. Tracking 3. Mapping -マップの点を新しい入力画像に投影する -再投影誤差を最小化することでカメラの位置姿勢を推定する -三角測量の原理に基づきマップに点を追加する -バンドル調整によるリファインメントを行う
  • 30. LSD-SLAM 30
  • 31. LSD-SLAM 31 -Monocular SLAMの最新論文 -特徴点ではなく画像全てを利用 Large-Scale Direct Monocular SLAM -Semi-denseデプスマップ -CPUでのリアルタイム動作 -オープンソース