車椅子の危険回避における オプティカルフローの有用性と

自走式車椅子の危険回避における
オプティカルフローの利用と
そのソフトウェア実装
首都大学東京 数理科学コース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
おわりです
ご静聴ありがとうございました。