220 likes | 376 Views
自走式車椅子の危険回避における オプティカルフローの利用と そのソフトウェア実装. 首都大学東京 数理科学コース4年 福永研究室 斎藤健司. 内容. 研究背景 オプティカルフローとは オプティカルフローの自走式車椅子への利用法 ソフト実装の挙動 今後の課題. 研究の背景. 本研究室では TPCORE と呼ばれる、並列処理言語 OCCAM による実装を可能にした、並列動作可能なオリジナルの CPU を開発 TPCORE を利用したシステムとして、本年度「自走式車椅子に車載したカメラと TPCORE による高速画像処理を用いた危機回避システム」の開発を提案
E N D
自走式車椅子の危険回避におけるオプティカルフローの利用とそのソフトウェア実装自走式車椅子の危険回避におけるオプティカルフローの利用とそのソフトウェア実装 首都大学東京 数理科学コース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
おわりです ご静聴ありがとうございました。