ステレオカメラを用いた歩行者コンテキストのリアルタイム推定システム 慶應義塾大学大学院 政策・メディア研究科 鈴木慧 メディアとう各 ステレオカメラを用いたリアルタイム歩行者コンテキスト推定システム
背景 近年、ビデオカメラで撮影した映像から歩行者を検知する研究が行われている リアルタイムな異常検知に応用されている ビデオカメラの普及や機械学習の進化 リアルタイムな異常検知に応用されている
問題 単なる異常検知ではなく,歩行者のコンテキストのリアルタイム抽出は難しい
目的 歩行者コンテキストをリアルタイムに抽出する 街角の複数歩行者を監視し複数コンテキストを抽出 異常検知! 転んだ人がいます
運動領域注視型ステレオカメラシステム 中央大学梅田研究室で開発された3 次元的な移動を検知可能なステレオカメラシステム 本システムで利用する 運動領域の特徴量を取得できる 距離, 3次元重心座標,高さ,幅,タイムスタンプ,ラベル番号 背景差分処理で運動領域を抽出 本システムで利用する 運動領域がわかりずらい
運動領域注視型ステレオカメラシステムを用いた歩行者コンテキストのリアルタイム抽出 アプローチ 運動領域注視型ステレオカメラシステムを用いた歩行者コンテキストのリアルタイム抽出 歩行者の3次元的な移動情報に着目 歩行者の移動情報解析モデルとしてベイジアンネットを用いる カメラから取得する情報にはノイズが入りやすいが、不確実な要因下でも妥当な推論を実行できる
プロトタイプのターゲットコンテキスト 普通の歩行 小走り 転んだ 転んだ 屯っている こぜりあい ひったくり 仲間同士で歩いている 目標とするコンテキスト 対象 今回実際に推定するコンテキスト 普通の歩行 小走り 転んだ 転んだ 移動体個々 屯っている こぜりあい ひったくり 仲間同士で歩いている グループ 混んでいる 閑散としている 場の雰囲気 今回はやらない
システム要件 Input&Processing Output 歩行者移動情報を時系列データとしてリアルタイム解析 時間条件: 歩行者移動情報レートを満足する Output 推定結果をユーザにGUIで示す 今回は2種類のコンテキストに対応 詳細 イベントトリガ方式によるコンテキスト推定 転ぶコンテキストの場合、急にz座標値が下がったらイベントとして検出する 監視対象を絞る 仲間同士のグループは監視対象からはずす 監視対象を優先して推論 コンテキスト推定用の優先度キューで実装 Inputとしてなに Outpuとしてなに 時間条件がなに? 何種類のコンテキストが識別できること
ハードウェア構成図 ネットワーク ステレオカメラ コンテキスト 推定処理PC 画像処理PC コンテキスト推定結果表示 街角の歩行者 ステレオカメラシステム 歩行者コンテキスト リアルタイム推定部
コンテキスト推定部のプロトタイプの設計 Picture Data Flow Infer contexts row data Data Client DataPreProcessor Data Channel Context Infer Controller Bayesian Network Engine row data Model Manager context read, update Bayesian Models ハードウェア構成 ソフトウェア構成 矢印の太さに意味を持たせる Context Observer Context Map Viewer Context List Viewer user feedback user input
モジュール間通信プロトコルの設計 データフォーマット データ長 [0:15] timestamp [16:79] sec [16:47] millisec[48:79] ペイロード長 [80:95] データ数 [96:103] データ長 16bit timestamp 64bit ペイロード長 16bit データ数 8bit ペイロード
コンテキスト推定の流れ 仲間同士グループを推定する例 半分ずつオーバーラップさせて解析していく スライドウィンドウバッファ A: 速度ベクトルの類似度 B: 距離の平均 C: ベクトルの挟角の平均 イベント検出スレッド (距離が一定化になるとトリガ) ベイズモデルへの変数入力 コンテキスト推定スレッド (検出されたイベントに対応した コンテキストを推定)
実装環境 実行環境 実装言語 使用ライブラリ Windows Vista カメラ:Point Grey Research製 のBumblebee2 320×240画 実装言語 C++ 3500行 プログラムの全般を実装 Java 500行 プログラムの一部を実装(ベイズエンジン部) JNI経由でコールする 使用ライブラリ GUI部のみで使用: QT4 Library Windows,UNIX,MacOSの マルチプラットフォームに対応するため ステレオカメラ 分けたほうが Cross-Platform Rich Client Development Framework
実験 概要 実験環境 転ぶ、仲間同士コンテキストを2人の歩行者について抽出 屋外での実験 動作環境 CPU: Core2Duo E6850(2.6GHz 2 core) OS: Windows Vista 作ったソフトウェアがちゃんと動いているという信憑性がない スクリーンショットを取って、動いているソフトウェアの様子出す アウトプットがわからない 全てのウィンドウの話
基本性能評価 ステレオカメラシステムのデータレート 実験時の評価データ コンテキスト推定の最大負荷時 14 frame/sec (1人あたり7 frame/sec) 実験時の評価データ 平均コンテキスト推定時間 32 msec CPU使用率 5% コンテキスト推定の最大負荷時 コンテキスト同時推定数 2 平均40msec, CPU使用率100% コンテキスト同時推定数 4 平均160msec 最悪200msec, CPU使用率100%
実験結果に対する考察と課題 考察 課題 最悪でも160msecなのでリアルタイム性を満足する 実際にはイベントモデルを用いているのでコンテキストを複数同時推定する場面は少なくなる 歩行者数や推定コンテキスト数が増えるとスケールしない 課題 コンテキスト推定精度の評価を取る 対象とするコンテキスト数が増えてもスケールするようにする 仲間同士のモデルを用いたことを示す 動きの2倍の周波数でサンプリングしないとだめ
まとめ ステレオカメラシステムを用いた歩行者コンテキストのリアルタイム抽出を行った プロトタイプ実装し、実験を行い有効性を確認した
ベイズモデル例 仲間グループコンテクスト 仲間グループ (True,False) A: 速度ベクトルの類似度 B: 距離 C: ベクトルの挟角 C’’ B’’ A’’ 分かりずらい このスライドはなくても良い A’の意味をちゃんと書く B’ A’ C’ C B A 高い 低い
それぞれのコンテキストを表す歩行者モデルを作るのが大変そうだ 質疑応答 それぞれのコンテキストを表す歩行者モデルを作るのが大変そうだ 仲間同士のグループを抽出する場合でも、歩行の邪魔にならないように、並んで歩かない ステレオカメラじゃないと抽出できないコンテキストって何かきちんと考えてる? 街角でシステムを使いたいと言ったが、遠くの人にも対応できるのか?
Wikipediaのデータ構造を用いた用語のオントロジー作成 おもしろかった発表 Wikipediaのデータ構造を用いた用語のオントロジー作成 Webで公開されているオントロジーとしては初 ユーザがWebから自由に編集可能 Is-Aなどの関係が自動生成できる PC is a computer