Upload
mqnakamura
View
331
Download
0
Embed Size (px)
Citation preview
OpenCV
百聞は一見にしかず2015/03/18
中村侯太
(株)マップクエスト
きっかけ
• 以前から画像処理に興味
• 友人がOpenCVを使った話も聞いていた
• OpenCVの勉強会がある
• ARやヘッドマウントディスプレイとも絡めた話がある
• これは行くしかない!2
OpenCVとは
• Open Computer Vision Library
• 最初はインテルが開発、現在はWillow Garage(米企業)が開発
• 1999年: プロジェクト開始
• 2006年: Ver1.0 リリース
• 2009年: Ver2.0 リリース
• 2015年: Ver3.0 リリース予定 (現在ベータ版リリース中)
3
メリット
• 行列等を使った複雑な画像処理が1行で書ける!
• プログラミング時間の大幅な削減が可能
• 無料で利用できる!
• 商用利用もソース公開等なしに可能
4
百聞は一見にしかず
• デモをまじえながら進めていきます
• 今日紹介するデモ
• 射影変換
• 色変換
• 特徴量抽出
• カメラキャリブレーション
5
射影変換
• 平面を別の平面に投影する
6
射影変換
• アフィン変換だけでは実現できない
• アフィン変換では、変換前に平行だった線は、変換後も平行
• 射影変換は、奥行きが加わるため平行ではなくなる
7
射影変換
• 変換前後の点の座標を4点求める→ それを解ける行列を計算する
8
実用例
• 地図の重ね合わせ
• 航空写真や古地図を地図上に写像
9
色変換
• 画像の画素値そのものを変換する
• グレースケール、白黒(2値化)など
• 文字認識やエッジ抽出の前処理に使われる
10
特徴量抽出
• 画像にフィルタを掛けて特徴を抽出する
• 境界線(エッジ)の抽出、直線の抽出など
11
エッジの抽出のしくみ
• 周辺の画素から重み付けを求める→ エッジであれば値が大きくなる
12
直線の抽出のしくみ
• ハフ変換: x-y平面の直線をパラメータ化し、θ-ρ平面へ写像する
13
直線の抽出のしくみ
• x-y平面の点は、θ-ρ平面では曲線になる
14
直線の抽出のしくみ
• θ-ρ平面で曲線の集まった座標→ x-y平面では直線がある!
15
カメラキャリブレーション
• カメラ座標と実座標を変換
• ARの表示に必要
16
出典: マイナビ, "OpenCVプログラミングブック第2版" (2009)
カメラキャリブレーション
• アフィン変換(拡大縮小・せん断・回転(3軸)・平行移動)
• 射影変換
• カメラのレンズによる歪みの補正
17
出典: マイナビ, "OpenCVプログラミングブック第2版" (2009)
カメラキャリブレーション
• 変換前後の点の座標を6点以上求める→ それを解ける行列を計算する
• Zhangのキャリブレーション手法
• 平面チェックパターンを3枚以上撮影しパラメータを求める
18
実用例1
• 事件の捜査協力
• 防犯カメラに被疑者と思われる映像が写っていた
• 弁護側「被疑者にしては身長が小さいのではないか?」
• 「これが被疑者ではないことを証明してほしい!」
19
実用例1
• 実際の防犯カメラでパターンを撮影しパラメータを求めた
• この形状のものは、このカメラではこう映るということが分かる
• 映像中の身長と被疑者の身長が合わない
• 「映像に映っているのは被疑者ではない!」
• 無罪を勝ち取った!
20
実用例2
• 医療現場
• 内視鏡の映像に手術の支援情報(摘出箇所など)を表示
• カメラを見ながらだと、向き等が直観的に分からない
• ヘッドマウントディスプレイで直観的に手術ができる
• 採血シミュレータに血管などの位置を投影
• 解剖学の知識と実際の訓練をリンクさせる 21
まとめ
• 画像処理は難しいというイメージがあった
• それがこんなに簡単にできることに感動
• 結果が画像ですぐに見られるので分かりやすい
• みなさんもぜひこの感動を味わってください!
22