Depth From Sequence
Upcoming SlideShare
Loading in...5
×
 

Depth From Sequence

on

  • 174 views

第25回コンピュータビジョン勉強会@関東での発表資料です。

第25回コンピュータビジョン勉強会@関東での発表資料です。

http://connpass.com/event/8082/

Statistics

Views

Total Views
174
Views on SlideShare
169
Embed Views
5

Actions

Likes
1
Downloads
0
Comments
0

1 Embed 5

https://twitter.com 5

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Depth From Sequence Depth From Sequence Presentation Transcript

  • iPhoneで奥行き推定する プログラムを作りました 第25回CV勉強会@関東 Yuichi Takeda / @ginrou799
  • iPhoneのカメラだけで動く iPhoneで奥行き推定する プログラムを作りました デプスセンサ作りました 第25回CV勉強会@関東 Yuichi Takeda / @ginrou799
  • 自己紹介 • Yuichi Takeda / @ginrou799 • CV • コンピュテーショナルフォトグラフィ • MIRU 2012 優秀賞 • iOS • ミクシィでiPhoneアプリの開発 • 本も出してますhttp://goo.gl/OaLUDc View slide
  • AndroidのLensBlur ご存知ですか? View slide
  • LensBlur • Android に搭載されているカメラの機能 • シーンの奥行きを推定してリフォーカス 出典 http://googleresearch.blogspot.jp/2014/04/lens-blur-in-new-google-camera-app.html
  • そのiPhone版を 作りました。
  • Depth From Sequence iPhoneを手に持って撮影した画像シーケンスから奥行きを推定します
  • Depth From Sequence • ソースコードは公開しています。 • https://github.com/ginrou/DepthFromSequence • C++ • 動作環境 • CMake OpenCVの動く環境 • Mac, Linux(多分) • iOS
  • 元ネタ • 元ネタはLensBlurの元になった論文 • 3D Reconstruction from Accidental Motion (Fisher Yu et al. CVPR 2014) • この論文をベースに実際に使えるように少し改良
  • アルゴリズム・入力画像 • 1280x720で撮影して 640x320 に縮小して処理 • 実際のデプスを計測するのは中央の320x320の領域 • 10 ~ 15枚ほどが安定している
  • アルゴリズム Feature Tracking Bundle Adjustment Plane Sweep • KLT Trackerを使って特徴点追跡 最初のフレームでは150個の特徴点を追跡し、 最終フレームで70個まで減ったら失敗
  • アルゴリズム Feature Tracking Bundle Adjustment Plane Sweep • Feature Trackingの結果からカメラの位置と姿勢を推定 • Bundle Adjustment • 便利ライブラリなかったので実装しました
  • アルゴリズム Feature Tracking Bundle Adjustment Plane Sweep • パラメータ • 最大反復回数は 5 回 • 反復終了時に再投影エラーが 1.0 未満だと失敗とみなす
  • アルゴリズム Feature Tracking Bundle Adjustment Plane Sweep •入力画像がある奥行き上にあると仮定してワーピング •ワーピング画像を積み重ね、輝度一致度で奥行きを推定
  • アルゴリズム Feature Tracking Bundle Adjustment Plane Sweep • 輝度一致度だけで奥行きを求めると精度が悪い •テクスチャのない箇所に弱い •グラフカットを利用して精度向上 • http://graphics.stanford.edu/projects/densecrf/ を利用
  • アルゴリズム Feature Tracking Bundle Adjustment Plane Sweep • 輝度一致度だけで奥行きを求めると精度が悪い •テクスチャのない箇所に弱い •グラフカットを利用して精度向上 • http://graphics.stanford.edu/projects/densecrf/ を利用
  • アルゴリズム Feature Tracking Bundle Adjustment Plane Sweep •奥行き分解能は奥行きに反比例 •近いものは細かく計れるが、遠いものは粗くなる •奥行き分解能は20~32段階くらい •分解能を上げるとメモリを圧迫する •100MBくらい食うのでスマートフォンにはキツイ
  • iPhoneへ移植 • iOSはC++をそのまま使える • ただそのままだと扱いづらい • C++ / Objective-C / Objective-C++ を使い分ける
  • Objective-C/ Objective-C++ / C++ どう使い分けるか? Objective-C Objective-C++ C++ • Obj-C C++ の橋渡し • UIImage と cv::Mat の変換 • 非同期処理 • カメラのバッファ • UI • 画像処理のコア まずはコア部分を独立して開発
  • Objective-C/ Objective-C++ / C++ どう使い分けるか? Objective-C Objective-C++ C++ • Obj-C C++ の橋渡し • UIImage と cv::Mat の変換 • 非同期処理 • カメラのバッファ • UI • 画像処理のコア うまく行ったらiiPPhhoonneeの部分を作る
  • 残りの課題 • パラメータチューニング (もう少しよく出来そう) • ステレオ法だけで挑んでみる • CocoaPods化 • 実スケール単位での計測(1m, 2m とか実測)
  • ご静聴ありがとうございました