22
OpenCV 百聞は一見にしかず 2015/03/18 中村 侯太 ()マップクエスト

OpenCV 百聞は一見にしかず

Embed Size (px)

Citation preview

Page 1: OpenCV 百聞は一見にしかず

OpenCV

百聞は一見にしかず2015/03/18

中村侯太

(株)マップクエスト

Page 2: OpenCV 百聞は一見にしかず

きっかけ

• 以前から画像処理に興味

• 友人がOpenCVを使った話も聞いていた

• OpenCVの勉強会がある

• ARやヘッドマウントディスプレイとも絡めた話がある

• これは行くしかない!2

Page 3: OpenCV 百聞は一見にしかず

OpenCVとは

• Open Computer Vision Library

• 最初はインテルが開発、現在はWillow Garage(米企業)が開発

• 1999年: プロジェクト開始

• 2006年: Ver1.0 リリース

• 2009年: Ver2.0 リリース

• 2015年: Ver3.0 リリース予定 (現在ベータ版リリース中)

3

Page 4: OpenCV 百聞は一見にしかず

メリット

• 行列等を使った複雑な画像処理が1行で書ける!

• プログラミング時間の大幅な削減が可能

• 無料で利用できる!

• 商用利用もソース公開等なしに可能

4

Page 5: OpenCV 百聞は一見にしかず

百聞は一見にしかず

• デモをまじえながら進めていきます

• 今日紹介するデモ

• 射影変換

• 色変換

• 特徴量抽出

• カメラキャリブレーション

5

Page 6: OpenCV 百聞は一見にしかず

射影変換

• 平面を別の平面に投影する

6

Page 7: OpenCV 百聞は一見にしかず

射影変換

• アフィン変換だけでは実現できない

• アフィン変換では、変換前に平行だった線は、変換後も平行

• 射影変換は、奥行きが加わるため平行ではなくなる

7

Page 8: OpenCV 百聞は一見にしかず

射影変換

• 変換前後の点の座標を4点求める→ それを解ける行列を計算する

8

Page 9: OpenCV 百聞は一見にしかず

実用例

• 地図の重ね合わせ

• 航空写真や古地図を地図上に写像

9

Page 10: OpenCV 百聞は一見にしかず

色変換

• 画像の画素値そのものを変換する

• グレースケール、白黒(2値化)など

• 文字認識やエッジ抽出の前処理に使われる

10

Page 11: OpenCV 百聞は一見にしかず

特徴量抽出

• 画像にフィルタを掛けて特徴を抽出する

• 境界線(エッジ)の抽出、直線の抽出など

11

Page 12: OpenCV 百聞は一見にしかず

エッジの抽出のしくみ

• 周辺の画素から重み付けを求める→ エッジであれば値が大きくなる

12

Page 13: OpenCV 百聞は一見にしかず

直線の抽出のしくみ

• ハフ変換: x-y平面の直線をパラメータ化し、θ-ρ平面へ写像する

13

Page 14: OpenCV 百聞は一見にしかず

直線の抽出のしくみ

• x-y平面の点は、θ-ρ平面では曲線になる

14

Page 15: OpenCV 百聞は一見にしかず

直線の抽出のしくみ

• θ-ρ平面で曲線の集まった座標→ x-y平面では直線がある!

15

Page 16: OpenCV 百聞は一見にしかず

カメラキャリブレーション

• カメラ座標と実座標を変換

• ARの表示に必要

16

出典: マイナビ, "OpenCVプログラミングブック第2版" (2009)

Page 17: OpenCV 百聞は一見にしかず

カメラキャリブレーション

• アフィン変換(拡大縮小・せん断・回転(3軸)・平行移動)

• 射影変換

• カメラのレンズによる歪みの補正

17

出典: マイナビ, "OpenCVプログラミングブック第2版" (2009)

Page 18: OpenCV 百聞は一見にしかず

カメラキャリブレーション

• 変換前後の点の座標を6点以上求める→ それを解ける行列を計算する

• Zhangのキャリブレーション手法

• 平面チェックパターンを3枚以上撮影しパラメータを求める

18

Page 19: OpenCV 百聞は一見にしかず

実用例1

• 事件の捜査協力

• 防犯カメラに被疑者と思われる映像が写っていた

• 弁護側「被疑者にしては身長が小さいのではないか?」

• 「これが被疑者ではないことを証明してほしい!」

19

Page 20: OpenCV 百聞は一見にしかず

実用例1

• 実際の防犯カメラでパターンを撮影しパラメータを求めた

• この形状のものは、このカメラではこう映るということが分かる

• 映像中の身長と被疑者の身長が合わない

• 「映像に映っているのは被疑者ではない!」

• 無罪を勝ち取った!

20

Page 21: OpenCV 百聞は一見にしかず

実用例2

• 医療現場

• 内視鏡の映像に手術の支援情報(摘出箇所など)を表示

• カメラを見ながらだと、向き等が直観的に分からない

• ヘッドマウントディスプレイで直観的に手術ができる

• 採血シミュレータに血管などの位置を投影

• 解剖学の知識と実際の訓練をリンクさせる 21

Page 22: OpenCV 百聞は一見にしかず

まとめ

• 画像処理は難しいというイメージがあった

• それがこんなに簡単にできることに感動

• 結果が画像ですぐに見られるので分かりやすい

• みなさんもぜひこの感動を味わってください!

22