Page 1
中沢研究室 井ノ部 一喜 田村 威
複数台のカメラ協調による人物追跡の研究
目的
全方位カメラ
全方位カメラで得られた人物の座標からネットワークカメラでその人物を追跡する。その際、全方位カメラの映像は歪んでいるため、歪みを修正し、全方位カメラの映像とネットワークカメラの映像の同位置を推定する。
入力画像
座標を出力
CamShi' + Snake
特徴:静止物体に強い 指定した範囲からヒストグラムを取り、その色の 多く集まる場所を追跡する。
特徴:動きに強い
動的背景差分
CamShi' + Snake<移動量が7pixel≤動的背景差
分
混合 移動 静止 平均追跡時間 平均追跡率
切替型 90.95% 85.67% 82.72% 51.87 s 86.4% 動的背景差分 14.44% 100.00% 3.11% 23.51 s 39.2% CamShi'+Snake 0.33% 0.22% 98.67% 19.84 s 33.1%
評価
① エリアを4分割
② 16点を取る
出力 x = (基準点 x −入力 x) ×ネットワークカメラでの点と点の距離
全方位カメラでの点と点の距離
出力 y = (基準点 y −入力 y) ×ネットワークカメラでの点と点の距離
全方位カメラでの点と点の距離 ③ ネットワークカ
メラのパノラマ画像を用意
④ ②と同じ場所に点を取り、エリアを4分割
⑤ 2つの画像の点と点の距離の割合から出力座標x,yを求める
ルックアップテーブルによる座標変換
ネットワークカメラ
Page 2
今後の課題 まとめ
ネットワークカメラ
計算による座標変換
twoPointLen = *(ox − x)2 + (oy− y)2 y = −0.0005x2 + 1.0119x + 0.3029 compLen = −0.0005twoPointLen2 + 1.0119twoPointLen+ 0.3029 angle = arc tan2((y − oy), (ox − x)) × 180 ÷ π
※arctan2() はライブラリ関数アークタンジェントを表す
y = -0.0005x2 + 1.0119x + 0.3029
0
100
200
300
400
0 100 200 300 400
y
x
angle = arc tan2((y − oy), (ox − x)) × 180 ÷ π ※arctan2() はライブラリ関数アークタンジェントを表す
n = $(ox − n2x)2 + (oy − n2y)2 nは全方位カメラの中心から,映っているネットワークカメラまでの距離とする.
nx = ox − (ox− n2x) × (n − h) ÷ n ny = oy− (oy− n2y) × (n − h) ÷ n
a = ox − (ox − x) ×compLen
twoPointLen
b = oy − (oy − y) ×compLen
twoPointLen
a′ = x + (a − x) ×angle45
b′ = y + (b − y) × angle45
a = ox − (ox − x) ×compLen
twoPointLen
b = oy − (oy − y) ×compLen
twoPointLen
a′ = x + (a − x) ×angle45
b′ = y + (b − y) × angle45
n = $(ox − n2x)2 + (oy − n2y)2 nは全方位カメラの中心から,映っているネットワークカメラまでの距離とする.
nx = ox − (ox− n2x) × (n − h) ÷ n ny = oy− (oy− n2y) × (n − h) ÷ n
n = $(ox − n2x)2 + (oy − n2y)2 nは全方位カメラの中心から,映っているネットワークカメラまでの距離とする.
nx = ox − (ox− n2x) × (n − h) ÷ n ny = oy− (oy− n2y) × (n − h) ÷ n
n = $(ox − n2x)2 + (oy − n2y)2 nは全方位カメラの中心から,映っているネットワークカメラまでの距離とする.
nx = ox − (ox− n2x) × (n − h) ÷ n ny = oy− (oy− n2y) × (n − h) ÷ n a = ox − (ox − x) ×
compLentwoPointLen
b = oy − (oy − y) ×compLen
twoPointLen
a′ = x + (a − x) ×angle45
b′ = y + (b − y) × angle45
a = ox − (ox − x) ×compLen
twoPointLen
b = oy − (oy − y) ×compLen
twoPointLen
a′ = x + (a − x) ×angle45
b′ = y + (b − y) × angle45
n = $(ox − n2x)2 + (oy − n2y)2 nは全方位カメラの中心から,映っているネットワークカメラまでの距離とする.
nx = ox − (ox− n2x) × (n − h) ÷ n ny = oy− (oy− n2y) × (n − h) ÷ n
n = $(ox − n2x)2 + (oy − n2y)2 nは全方位カメラの中心から,映っているネットワークカメラまでの距離とする.
nx = ox − (ox− n2x) × (n − h) ÷ n ny = oy− (oy− n2y) × (n − h) ÷ n
n = $(ox − n2x)2 + (oy − n2y)2 nは全方位カメラの中心から,映っているネットワークカメラまでの距離とする.
nx = ox − (ox− n2x) × (n − h) ÷ n ny = oy− (oy− n2y) × (n − h) ÷ n
n = $(ox − n2x)2 + (oy − n2y)2 nは全方位カメラの中心から,映っているネットワークカメラまでの距離とする.
nx = ox − (ox− n2x) × (n − h) ÷ n ny = oy− (oy− n2y) × (n − h) ÷ n
0
20
40
60
80
100
120
140
160
180
1 2 3 4 5 6 7 8 9 10 11 12
(cm)
(点番号)
①実際に測った誤差
LUT(cm)
計算(cm)
0.0
50.0
100.0
150.0
200.0
250.0
300.0
350.0
400.0
1 2 3 4 5 6 7 8 9 10 11 12
(px)
(点番号)
②画像上で測った誤差
LUT(px)
計算(px)
① 全方位カメラの歪みの計算 ② ①の結果から座標を修正
③ ネットワークカメラと座標の角度から出力xを算出
④ ネットワークカメラと座標の距離から出力yを算出
0
20
40
60
80
100
120
140
160
180
1 2 3 4 5 6 7 8 9 10 11 12
(cm)
(点番号)
①実際に測った誤差
LUT(cm)
計算(cm)
0.0
50.0
100.0
150.0
200.0
250.0
300.0
350.0
400.0
1 2 3 4 5 6 7 8 9 10 11 12
(px)
(点番号)
②画像上で測った誤差
LUT(px)
計算(px)
ランダムに12点の座標を取る ①ネットワークカメラに映る中心点との誤差を 実際に測る ②ネットワークカメラに映る中心点との誤差を 画像上で測る
X = #(ox− n2x)2 + (oy − n2y)2 Xは a’,b’と nx,nyの距離とする.
outy = −0.000006X3 + 0.007X2 − 2.6354X + 575.13
X = #(ox− n2x)2 + (oy − n2y)2 Xは a’,b’と nx,nyの距離とする.
outy = −0.000006X3 + 0.007X2 − 2.6354X + 575.13
X = #(ox− n2x)2 + (oy − n2y)2 Xは a’,b’と nx,nyの距離とする.
outy = −0.000006X3 + 0.007X2 − 2.6354X + 575.13
X = #(ox− n2x)2 + (oy − n2y)2 Xは a’,b’と nx,nyの距離とする.
outy = −0.000006X3 + 0.007X2 − 2.6354X + 575.13
評価
① 実際に測った誤差 LUT 平均約98.17cm 計算 平均約57.17cm ② 画像上で測った誤差
LUT 平均約170.4px 計算 平均約66.8 px
l 追跡対象の検出 ⇒動的背景差分とCamShi'+Snakeの切替型 ・・・高い追跡率を得ることができる。
l ネットワークカメラによる追跡 ⇒計算による座標変換 ・・・精度の高い追跡が行える。
l 追跡対象の検出 切替条件として検出矩形の面積による切替 ⇒より高い検出率を得られたと考えている。 l ルックアップテーブルの座標変換 作り込みが甘い・・・より時間をかけて作成する ⇒より誤差の小さいプログラムが作れたと考えている。 l リアルタイムによる人物追跡 ⇒可能にしたい。