画像処理 - 情報メディア学科演習室

動画像処理
画像処理
z
差分画像を用いた移動物体検出
‹ 差分画像,背景差分法,フレーム間差分,
統計的背景差分法
2015年度 (第13回)
z
オプティカルフロー
z
移動体追跡
‹ ブロックマッチング法,勾配法
‹ テンプレートマッチング,KLTトラッカー,ミーンシフトトラッキ
ング,ベイジアンフィルタ
中島 克人
z
情報メディア学科
その他の動画像処理
‹ カット検出,カメラモーション推定,時空間画像処理,
動画像からの自動ストロボ画像生成
[email protected]
2
差分画像を用いた移動物体検出
差分画像を用いた移動物体検出
z
差分画像
z 背景差分法
z フレーム間差分
z 統計的背景差分法
z
差分画像(subtraction image)
‹ 2枚の画像において,同じ位置にある画素の差の絶対値を
画素とする画像
‹ 移動物体検出やカット検出に用いる
z図13.1
3
差分画像を用いた移動物体検出
z
4
差分画像を用いた移動物体検出
背景差分法(background subtraction method)
z
背景差分法の課題
‹ 単純な方法では,移動物体の影も差分として検出され,移動
‹ 移動物体がない状態の画像を固定カメラで背景画像として
物体の形状認識を困難にする
取り込み,移動物体が含まれる画像と背景画像との差分画
像から移動物体の領域を検出する
z
異なる時間に撮影された画像の差分画像
‹ 背景の照度変動などにより,画像全体が差分として検出さ
差分画像を閾値処理により2値化し,ノイズをクロージングやオープ
ニングで除去した後にこれをマスク画像として,移動物体領域を得る
れてしまう恐れがある
カメラ入力
背景画像
差分結果
(移動物体の影も
差分として検出
されている)
入力画像
検出された
移動物体画像
予め撮影しておく
差分結果
z図13.2
背景差分法の概念図
5
z図13.3
背景差分法による移動物体検出
6
画像処理 1
差分画像を用いた移動物体検出
z
差分画像を用いた移動物体検出
フレーム間差分(frame subtraction method)
z
‹ 移動物体を撮影した異なる時間(t0,t0+1,t0+2)の3枚の画像
‹ 移動物体の影も差分として検出されるのは背景差分法と同様
(A,B,C)から移動物体の領域を取り出す
z
z
フレーム間差分の例
移動物体がない理想的な背景画像を得られない事が多いため
背景は変化がないことを前提とする
Bの画像に対する
差分結果
‹原理
z AとBの差分画像AB,
および,BとCの差分画
像BCの論理ANDで差分
の共通領域を取り出し,
これを画像Bにおける移
動物体の領域とする
‹問題
検出された
移動物体画像
z 物体の移動量が小さいと
どうなるか考察せよ
z図13.4
フレーム間差分法の概念図
差分画像を用いた移動物体検出
z
z図13.5
7
フレーム間差分法による移動物体検出
8
差分画像を用いた移動物体検出
統計的背景差分法
(statistical background subtraction method)
z
統計的背景差分法
背景画像の
あるフレーム
度数
入力画像の
あるフレーム
‹ 背景の定常的な変動を考慮に入れた背景差分法
z
背景の樹木の揺れ等を移動体ではなく背景に分類する差分法
‹ アルゴリズム
z
z
z
背景の画素値分布
度数
背景映像を一定期間(一定フレーム数)蓄え,各画素位置での画素
値の統計(ヒストグラム=確率分布)を求めておく
移動物体の画素値の統計(ヒストグラム)も求めて(推定して)おく
– 移動物体の画素値を推定できない場合は全ての画素値が
1/256(階調数)の確率だとする
入力画像の各画素位置での画素値が背景と移動体のどちらに属す
る可能性が高いかを,2つのヒストグラムを用いて判断する
画素値
移動物体の画素値分布 画素値
度数
画素値
この画素値が観測
されたなら背景と推定する
z図13.6
統計的背景差分法による移動体検出
9
差分画像を用いた移動物体検出
z
差分画像を用いた移動物体検出
統計的背景差分法(数学表記)
‹ ベイズの定理
z
統計的背景差分法(数学表記)
‹ 移動物体の画素値の確率分布
ある画素位置
での話
z
ω0:背景に属する画素
ω1:移動物体に属する画素
:画素値I がω0である確率
:画素値I がω1である確率
:背景ヒストグラム(※1)
背景画素値のヒストグラムの
度数を総数で正規化
における画素値I の度数
(※1) 背景のある画素位置での
観測に基づくヒストグラム
度数
背景の画素値分布
‹ 入力画像で画素値I
z
z
I
画素値
11
予測が付かない場合は等確率
ω0:背景に属する画素
ω1:移動物体に属する画素
:画素値I がω0である確率
:画素値I がω1である確率
度数
z
‹ 背景画素値の確率分布
z
10
を観測
I
画素値
p(ω0 | I ) と p(ω1 | I )を比べて大きい方で分類
大小は次式で判断(式14.1の比)
:その画素がω0である事前確率
:その画素がω1である事前確率
いずれも,一定期間観測する事で求める
p(ω0) と p(ω1)が予め求まらない場合は
次式で判断
とし,
12
画像処理 2
オプティカルフローを用いた
移動物体検出
z
オプティカルフロー
zブロックマッチング法(block
オプティカルフロー(optical flow)
‹ 異なる時間に撮影された2枚の画像から,画像中の移動物
位置に移動したかを,画像Aの画素aを中心とする小領域
(block)をテンプレートとして画像B内で探す
体の動き(画像内の対応ピクセルの移動ベクトル)を検出
z
z 画像Aの画素aの位置と同じ位置bを中心に画像B内を探索
オプティカルフローを求め
る代表手法
z SADやSSDでマッチング
z 位置bから求まった位置a’
‹ ブロックマッチング
へのベクトルがオプティカ
ルフロー
‹ 勾配法
z
‹ 動きの大きい対象に対し
オプティカルフローからの
移動物体検出
ても有効だが,探索のた
めの処理時間が長くなる
z図13.8
z図13.7
オプティカルフローの例
13
オプティカルフロー
z
:位置(x,y)の時刻t
における画素値
:⊿t 後の移動量
勾配法(gradient-based method)
z
オプティカルフローを (u,v)とすると
単位時間当たりの移動量
⊿t 後に(⊿x,⊿y )
だけずれた位置の
画素値が等しい
画素値が滑らかに変化していると仮定して
テーラー展開し,2次以降の項を無視
z
画像上の画素値の勾配を Ix,Iy とし,画素値の時間微分を It とすると
次式がオプティカルフローの拘束条件式
z式13.5
z式13.2
z
両辺を⊿t で割り,整理
z
z
z式13.3
z
z式13.4
未知数が u, v の2つあるため,上記だけでは一意に求まらない
注目画素の近傍も同じオプティカルフローを持つという仮定で,同じ u, v
を用いて複数の拘束条件式を立て,二乗誤差が最小となる u, v を求める
微小な時間の微小な移動なので
‹問題:追跡対象物の移動量が微小であることを前提としているのは何故か?
z式13.4
15
16
移動体追跡
オプティカルフロー
z
14
z勾配法(続)
ことを前提とし,拘束条件式を立てて数学的に解く
z式13.1
ブロックマッチング法による
オプティカルフローの求め方
オプティカルフロー
‹ 連続する2枚の画像での追跡対象物の移動量が微小である
z
matching method)
‹ ある時刻tの画像Aのある画素aが,時刻t+⊿tの画像Bのどの
z
オプティカルフローからの移動物体検出
‹ 前時刻における移動体の位置周辺だけを探索すれば良い
‹ 固定カメラの場合にオプティカルフローで移動物体が検出可
z
テンプレートマッチングによる移動体追跡
が,以下の課題がある
各画素位置でのオプティカルフローの値で領域分割し,オプティカル
フローの絶対値がある閾値以上の領域を移動物体として抽出する
z
z
z
z
z
どれぐらいの周辺?
一度見失うとどうする?
背景に移動体に類似した領域があると間違うのでは?
3次元の移動体の姿勢変化による見え(大きさ,回転)が変わると?
対策
‹ KLTトラッカー
… 抽出した特徴点を頼りに丁寧に追跡
… 色分布を頼りに丁寧に追跡
‹ ミーンシフトトラッキング
z図13.8
オプティカルフローの例
z図13.9
オプティカルフローを用いた
移動物体検出の例
‹ ベイジアンフィルタ
z
z
17
カルマンフィルタ … 移動体が線形運動と仮定しきっちりと追跡
パーティクルフィルタ(ブートストラップフィルタ) … 観測点(探索窓)
を移動予測位置を中心にランダムにばら撒き,確率的に追跡
18
画像処理 3
移動体追跡
z
移動体追跡
KLT(Kanade-Lucas-Tomasi)トラッカー
z
KLT(Kanade-Lucas-Tomasi)トラッカー(続)
(4) 移動前後の画像の差分に基づき,再度オプティカル
フローを求める
(5) これを繰り返し,高い精度のオプティカルフローを得る
‹ 以下の手順で特徴点のオプティカルフローを求めて追跡
(1) 特徴点(コーナー)を検出
z 下記行列Hの2つの固有値が閾値以上
‹ 移動量が大きい可能性がある場合は,ピラミッド画像を用い
z式13.10
て,解像度の低い画像で大まかなオプティカルフローを求め
ることから開始する
p:注目画素
S(p): pを囲む方形領域
Ix,Iy: 画素値の勾配
f(k): k番目のオプティカルフロー
(2) 特徴点ごとにオプティカルフロー
を求める
(3)求めたオプティカルフロー分だけ
画像をワープ(移動)する
z図13.10
z 移動は並進,もしくは,アフィン変換
KLTトラッカー
における特徴点
検出の例
19
移動体追跡
z
z図13.11
オプティカルフローの算出手順
z図13.12
ピラミッド画像の例
20
移動体追跡
ミーンシフトトラッキング
z
(0) 対象物体の色ヒストグラム(モデル) q={qu}(u=1~n)を求めておく
(1) 現在フレームの探索スタート位置y0での色ヒストグラム
p(y0)={pu(y0)}(u=1~n)を求める
(2) p(y0)とqのバタチャリア距離ρを求める
z式13.24
(6) y0 を y1 に読み替えて(2)から繰り返す.
もし,移動量が閾値以下なら収束とする.
真の物体領域
探索開始位置
(3) y0を中心とする面積nの領域内の
画素xi (i=1~n)について,画素の
重みwiを求める
ミーンシフトトラッキング(続)
(4) y0を中心とする面積nの領域内で,重みwiを加味した重心位置y1を
求める(式13.26).
(5) モデルq が p(y0) と p(y1) のどちらが近いかバタチャリア距離で比
較し,p(y1) が近ければ,注目画素を p(y0) と p(y1)の中点に移動
する.
⇒
‹ 色分布(色ヒストグラム)を手がかりに追跡
z式13.25
ただし,b(x)は x のビンのイン
z図13.13
デックスで,
移動体追跡
z図13.14
画素の重みの変化
z図13.15
探索位置の変化
22
移動体追跡
z ベイジアンフィルタ(Bayesian
z カルマンフィルタ(Kalman
filter)
‹ ベイズの定理に基づく手法
filter)
‹ システムの状態x
は線形に変化(ノイズはガウス分布)し,
システムの観測値y は状態x を線形変換(ノイズはガウス分
布)して得られる
‹ 状態空間モデルに基づく
‹ 時系列の観測データ(観測画像)
y1:t={y1, … , yt} から
移動体の状態 xt を推定(逐次推定)
‹ 代表的なのは以下の2つ
z カルマンフィルタ
モデルq
ミーンシフト
トラッキングの動作例
21
z
システムノイズ
システムモデル
z式13.29
… 線形運動+ガウスノイズ
… 非線形運動+非ガウスノイズ
z パーティクルフィルタ
システム行列
z
観測モデル
z式13.30
観測行列
z図13.16
状態空間モデルのグラフィカルモデル表現
23
観測ノイズ
24
画像処理 4
移動体追跡
z
移動体追跡
パーティクルフィルタ(particle filter)
‹ 粒子フィルタ,コンデンセーション
z
等とも称する
パーティクルフィルタのアルゴリズムの概要
‹ Step1(予測)
‹ 特徴
z
z
z
z
z
カルマンフィルタのようにシステムモデルや観測モデルが定式化で
きない場合にも利用可
観測点(パーティクル)を乱数でばら撒く(システムモデルの動きを予
測してばら撒く時は,ブートストラップフィルタとも称する)
計算時間はパーティクル数に比例するため高速
プログラムも意外とシンプル
システムの動きを予測して,その周囲に仮説(複数のパーティクル)
を動かす(ブートストラップ)
‹ Step2(観測=尤度計算):
z
観測結果のシステムとの一致
度合い(尤度)に応じて仮説の
重みを評価する
‹ Step3(リサンプリング)
z
重みに応じて仮説を複製・削除する
‹ 追跡中,Step1~Step3を
繰り返す
ブートストラップフィルタでの人物の顔の追跡
(赤点がパーティクル,赤矩形は赤点の重み付き平均で求めたもの)
z図13.16
z図13.16
25
その他の動画像処理
z
ブートストラップフィルタ
の動作の模式図
26
その他の動画像処理
zカット検出(cut
カット検出
detection)
‹ 異なるシーンの切り替わり時(cut/camera
break)に多くの
場合,画像が大きく変化することを利用し,隣り合うフレーム
間の差分画像で検出
‹ 一連の動画から,撮影もしくは編集の切れ目を自動検出
‹ 動画の途中再生や,部分切り出しのヒントに利用
カメラモーション推定
z 時空間画像処理
z 動画像からの自動ストロボ画像生成
z
z
z
画像をM×N(ex.16×16)の格子状に区切り,各矩形ごとに画素値
の平均値の差の絶対値を用いて判定する手法がある
ショット(shot=カットとカットの間)毎に,検索用の注釈を付けておく
‹ 問題1:何故M×Nの
各矩形を用いるのか?
‹ 問題2:これで間違いなく
カット検出が出来るか?
z図13.20
27
その他の動画像処理
z
その他の動画像処理
zカメラモーション推定(続)
カメラモーション推定(camera motion estimation)
‹ 移動物体が無く,静止する背景に対してカメラが動く場合,
‹
動いて撮影される背景からカメラの動きを推定する
‹ ただし,パンとトラック,ティルトとブーム,ズームとドリーの区
別は困難なため,トラック,ブーム,ドリーとして検出
‹
‹
トラックとブーム(平行移動)はオプティカルフローのベクトル平均で求まる
ドリー(後退)はオプティカルフローのベクトルの向きが1点に集まる
ドリー(前進)はオプティカルフローのベクトルが1点から外に向かう
z図13.22
z図13.21
カメラの動き
カット検出による映像ショットへの分割
(カッコ内は検索のための注釈)
28
29
カメラの動きによるオプティカルフロー
30
画像処理 5
その他の動画像処理
z
その他の動画像処理
時空間画像(spatio-temporal image)
z
‹ 動画像を時間方向に重ね合わせた3次元データ
‹ 動画像から運動している対象物体のみを切り出し,切り出し
‹ 移動物体の軌跡が柱状に現れる
z
た対象画像を背景画像に順番に重ね書きする
時空間断面画像(spatio-temporal cross section image)
z
‹ x軸とt軸に平行な断面では移動体の輪郭が線状に現れ,エッジ検出で
その軌跡を抽出可能で,その角度φから速度が求まる
z
に積み上げると移動物体を柱状の固まりとして抽出可能
時空間画像
運動の軌跡を1枚の静止画で見る事ができるようになる
‹ 動きの早い運動のストロボ画像生成
‹ x軸とt軸に平行な複数の断面から移動物体の領域を取り出し,y軸方向
z図13.23
動画像からの自動ストロボ画像(strobe light image)生成
31
フレーム間差分法で移動物体の領域を大まかに抽出し,スネーク等
で丁寧に移動物体を領域分割した後,重ね合わせる
z図13.24
映像から対象領域を切り出して重ね書きしたストロボ画像例
32
画像処理 6