自走式車椅子の危険回避における オプティカルフローの利用と そのソフトウェア実装 首都大学東京 数理科学コース4年 福永研究室 斎藤健司 内容 • 研究背景 • オプティカルフローとは • オプティカルフローの自走式車椅子への利用法 • ソフト実装の挙動 • 今後の課題 研究の背景 • 本研究室ではTPCOREと呼ばれる、並列処理言語 OCCAMによる実装を可能にした、並列動作可能なオ リジナルのCPUを開発 • TPCOREを利用したシステムとして、本年度「自走式車 椅子に車載したカメラとTPCOREによる高速画像処理 を用いた危機回避システム」の開発を提案 • 今回はその前研究の一つとして、動画像処理の一つ であるオプティカルフローの方法を研究し「車椅子へ の活用」という観点から利用法を考え、ソフトウェアと して実装した(Java) オプティカルフローとは そもそもオプティカルフローとは • オプティカルフローとは、動画において、フ レーム間で「どの部分が、どの方向へ、どれ だけ動いたかの見かけの動き」 を、ベクトル (方向と、大きさ)により表すという方法である フレーム1 フレーム2 オプティカルフローの方法 • ブロックマッチング法 ‥動画の前後フレーム同士の直接的な比較により変化 を求める方法。 回転や拡大といった変化に弱く、計測に時間がかかる 場合があり、範囲を絞り込むなどの高速化の必要があ る。 • 勾配法 ‥動画の輝点の微小変化を微分により計測する方法。 比較的早いが、ノイズや急激な輝度変化に弱い。 ※今回はブロックマッチング法を用いてを実装・テストした オプティカルフローの 自走式車椅子への利用法 オプティカルフローを利用するために 考えたこと Ⅰ: 車椅子における危険にはどんなものがある のか Ⅱ: Ⅰで判明している危険を回避するために、 オプティカルフローをどう利用するか Ⅲ: そのために必要なことは何か 自走式車椅子における 危険な状況 1.人や物体の進路への突発的な侵入 ‥乗り手が気付かない・反応できない場合が多く、危険。 車椅子は即座に方向変更ができず、衝突を避けにくい。 2.進行方向に平行な段差(死角になる) ‥椅子に座っているため足元が確認し辛く、タイヤを段 差に滑らせると転倒・落下につながりうる。 今回はこれらを2つを認識することを目標にした。 1.進入物の認識 • 考え →画面内側に向かってくる物の動きを認識できれば 良いのではないか? →自身が移動しているので、うまくいかない! ↓どうすれば良いか? • 考え2 →周囲の静止物のオプティカルフローから進行方向 を判断し、その上で危険な動きを見つける。 1.進入物の認識 • フロー中心FOE ‥カメラが移動している場合、そのフローベクトルの 始点はFOE (Focus of Expansion)と呼ばれる定点に 集まることが知られている。 →始点をFOEからはずれたベクトルから、危険なもの を発見する。 2.死角にある段差の回避 • 考え →進行方向にある段差を認識しておき、その付 近のオプティカルフローをチェックする。 (段差が自分に近づいてきたら危険、など) →段差である基準を知り、認識できる必要がある。 2.死角にある段差の回避 進行方向に並走する段差の判断基準として、 今回は以下のように考えて実装した ・ 道と道の境界線部分 (段差により道どうしは影で分けられる) ・ 境界線が一定の長さ以上続いている ・ 進行方向直線上にある 上の判断基準を満たす箇所の判断に、次の画像処理手法 を用いた。 ・ Cannyフィルタ ‥画像中の境界線を抽出 ・Hough変換 ‥画像中の点を一定数以上通る直線を検出 2.死角にある段差の回避 元画像 ↓ Cannyフィルタ 境界線画像 ↓ Hough変換 直線検出 ↓ 方向絞り込み 段差(候補)検出 実装にあたり考慮した点 • 精度と実行時間 ‥精度を求めれば多く、細かな点での動き情報 が欲しいが、フローベクトル計測には時間が かかる。 → 「進入物の認識」では、画面全体の動き情 報が要るが、密な範囲での情報は必要ない。 →「段差接近の認識」では、段差の付近では正 確で詳細な情報が欲しいが、他の動き情報 は必要ない。 オプティカルフローのソフト実装 と、その実行結果 テスト環境 • 実装環境 Javaにより実装(javaアプレットを使用) (コンパイラバージョン : JDK1.6_0.14) • テスト撮影画像 グレースケール(白黒256階調) サイズ640×480 フレームレート : 30fps (1秒間に30枚) 通常歩行により撮影.(撮影協力:家村光(M1) ) 結果の考察(進入物の認識) • 危険物のみの抽出はまだ出来ていないものの、オプティカル フローにより進入物が発見できる事が分かった。 • FOE計測の点から見ると、カメラの上下ぶれなど、テスト前 には分からなかった誤差が存在した(車椅子固定ではどうな るかはまだ分からない) 結果の考察(段差の回避) • 段差を認識していれば、その部分でのオプティカルフローか ら段差への接近を検知できていることが示された。 • 段差認識において、今回自分で設定した基準では状況を選 ぶ場合が大いにあることが分かった。(タイル面、平坦な道 の境界線など) 今後の課題 • リアルタイム計算を想定した並列化・ハードウェア化 による高速化の考察 • 「段差である」等の判断を下すための、より明確かつ 正確な方法の研究 • TPCOREへの実装を想定した、OCCAMプログラムへ の書き換え • 車椅子からの実際の画像を用いたテスト • 車椅子の他の危険状況に関する考察 • 危険回避に対する、より有用な手法の模索 参考資料 • 書籍 C言語による画像処理入門(昭晃堂/安居院 猛 , 長尾 智晴 .著) 詳解OpenCV (オライリージャパン/Gary-Bradski&Adrian-Kaebler.著/松田晃一.訳) • Webサイト(URLのみ) http://opencv.jp/sample/optical_flow.html http://awabi.jaist.ac.jp:8000/kotani_lab/research/cv/flow/index.html http://home.hiroshima-u.ac.jp/tkurita/lecture/statimage/node11.html http://d8yd.blog105.fc2.com/blog-entry-84.html http://www.cvl.cs.chubu.ac.jp/~iwahori/prcv/02.ppt#256,1,Determining Optical Flow http://www.ciec.or.jp/event/2003/papers/pdf/E00077.pdf http://www.rtri.or.jp/infoce/rrr/2009/12/200912_10.pdf おわりです ご静聴ありがとうございました。
© Copyright 2024 ExpyDoc