Jetson TK1でSemi-Global matching
株式会社フィックスターズ
山田てるみ
もくじ
自己紹介
Semi-global matchingについて
デモ1
デモ2
今後の展望・課題
2
自己紹介
名前
– 山田てるみ(偽名)
• telmin_orca
所属
– 株式会社フィックスターズ
• 色々高速化とかしたりする会社
• SSDとか作ってたりする
3
お詫び
4
あんまりJetson(GPGPU)な話にはなりません…
5
Deep Learningもいいけど、画像処理もしたくない?
http://www.greencarcongress.com/2014/11/20141114-toshibaimage.html
Semi-global matchingについて
Semi-global Matchingとは?
– ステレオマッチングの1手法
– 2005年にHirschmullerにより提案
• Accurate and Efficient Stereo Processing by Semi-Global
Matching and Mutual Information
– http://www.6d-vision.com/
• ダイムラー社のシステム
• FPGAで実装
– 2008年時点で VGA(またはそれ以下) で30FPSを達成
6
Semi-global matchingについて
ステレオマッチング?
7
Semi-global matchingについて
ステレオマッチング手法
– Localな手法
• 画像の類似度を用いて視差を求める手法
• 似たようなテクスチャが並んでいる領域へはうまくマッ
チングできない
– Globalな手法
• コスト関数の最小化に基づく手法
• 画像の類似度に加えて、視差に対する空間的な制約を考
慮する
• 処理時間が大きくなる
8
https://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:Crosswalk_02.jpg
Semi-global matchingについて
Semi-global matchingの特徴
– コスト関数の最小化
– 視差に対する制約を一次元方向に限定することで、
動的計画法で効率よく最適化を可能にしている
処理手順
– Matching Cost
– Path Aggregation
– Cost Summation
– winner-takes-all
9
Semi-global matchingについて
Matching Cost
– 画素間の類似度を算出する
– SAD, NCC…
– Census変換
• http://www.slideshare.net/FukushimaNorishige/popcnt
10
120 80 12
40 50 78
245 180 220
1 1 0
0 X 1
1 1 1
1 1 0 0 1 1 1 1
Semi-global matchingについて
Path Aggregation
– ある方向に対する動的計画法
– matching costを用いて算出した結果からコスト最
小化を行う
11
Semi-global matchingについて
Cost Summation
– 8方向に対してPath aggregationを行い、計算した
結果の総和を取る
winner-takes-all
– 各座標について、累積コストSを最小にする視差を
選択し、最終出力(=視差)とする
12
13
14
アッタ\(^o^)/
デモ
Fixstars-sgm(仮) vs Visonworks-sgm
15
*同一のフレームではありません
Fixstars-sgm(仮) vs Visonworks-sgm
性能
– Fixstars-sgm(仮)
• 15~22FPS
– VisionWorks-sgm
• 18~25FPS
– 若干負けた…?
デモとしての見栄え
– Visionworks-sgmの勝利
• 色付け実装予定
16
今後の展望・課題
今後について
– ソースコードを公開します
• 近日公開予定
• http://github.com/fixstars-jp
– 最適化します
• Jetson TK1 -> Jetson TX1
• 半精度浮動小数点使ってみたりします
• VisionWorksよりも速く…できたらいいな…
17

Jetson TK1でSemi-Global Matching