(57)【特許請求の範囲】
【請求項１】
移動体に接近する障害物との衝突を回避するための移動体の衝突回避システムであって、
前記移動体の周囲の環境を撮像する撮像手段と、
前記撮像手段により撮像された画像に基づいて、画像上のオプティカルフローの動きベクトルを算出する手段と、
前記画像内の複数の画素において、前記動きベクトルを入力とするフィルタ関数の出力に基づき前記障害物と前記移動体との衝突可能性を算出する手段と、
前記複数の画素における前記衝突可能性を比較して、当該衝突可能性が最小となる方向を判定し、該方向へ前記移動体を移動させる状態判定手段とを有し、
前記衝突可能性を算出する手段は、前記画素の近傍において前記画素を中心に拡散する向きの動きベクトルに対して正の値の出力をし、前記画素から離れた位置において前記画素を中心に収縮する向きの動きベクトルに対して負の値を出力するフィルタ関数の出力を前記衝突可能性として算出する、移動体の衝突回避システム。
【請求項２】
前記動きベクトルを算出する手段は、前記画面上の異なる２つの画素における明暗情報の時間的相関値Vを、前記フィルタ関数の出力値Iおよび時定数τの時間遅れ出力値I’を用いた式、
V(x,y,t)= I(x,y,t)×I’(x+1,y,t)−I(x+1,y,t)×I’(x,y,t)
ただし、x、ｙ：座標、ｔ：時間、
を用いて計算し、該相関値を動きベクトルとする、請求項１に記載の移動体の衝突回避システム。
【請求項３】
前記フィルタ関数はメキシカンハット型の形状を有する、請求項１に記載の移動体の衝突回避システム。
【請求項４】
前記状態判定手段は、前記フィルタ関数の出力値のうちの１つが所定のしきい値を超えるとき、前記複数の画素における前記フィルタ関数の出力値が最小となる方向へ前記移動体を移動させる、請求項２に記載の移動体の衝突回避システム。
【請求項５】
移動体に接近する障害物との衝突を回避するためのプログラムであって、
前記移動体の周囲の環境を撮像する機能と、
前記撮像機能によって撮像された画像に基づいて、画像上のオプティカルフローの動きベクトルを算出する機能と、
前記画像内の複数の画素において、前記動きベクトルを入力とするフィルタ関数の出力に基づき前記障害物と前記移動体との衝突可能性を算出する機能であって、前記画素の近傍において前記画素を中心に拡散する向きの動きベクトルに対して正の値の出力をし、前記画素から離れた位置において前記画素を中心に収縮する向きの動きベクトルに対して負の値を出力するフィルタ関数の出力を前記衝突可能性として算出する機能と、
前記複数の画素における前記衝突可能性を比較して、当該衝突可能性が最小となる方向を判定し、該方向へ前記移動体を移動させる機能と、をコンピュータに実現させるためプログラム。
【請求項６】
移動体に接近する障害物との衝突を回避するための方法であって、
前記移動体の周囲の環境を撮像するステップと、
前記撮像するステップで撮像された画像に基づいて、画像上のオプティカルフローの動きベクトルを算出するステップと、
前記画像内の複数の画素において、前記動きベクトルを入力とするフィルタ関数の出力に基づき前記障害物と前記移動体との衝突可能性を算出するステップと、
前記複数の画素における前記衝突可能性を比較して、当該衝突可能性が最小となる方向を判定し、該方向へ接近する方向を判定し、該方向とは異なる方向へ前記移動体を移動させるステップと、を有し、
前記衝突可能性を算出するステップは、前記画素の近傍において前記画素を中心に拡散する向きの動きベクトルに対して正の値の出力をし、前記画素から離れた位置において前記画素を中心に収縮する向きの動きベクトルに対して負の値を出力するフィルタ関数の出力を前記衝突可能性として算出する、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害物との衝突を回避するための移動体の衝突回避システム、プログラムおよび方法に関し、より詳細には、ハエの視葉神経群をモデル化した複数の運動検出ユニットを用いて障害物の衝突可能性および接近方向を推定する移動体の衝突回避システム、プログラムおよび方法に関する。
【背景技術】
【０００２】
移動体において、障害物に対する衝突回避は、安全に目的地に到達するために必要な機能である。これまでに、カメラ画像などの視覚情報から抽出されたオプティカルフローに基づいて、障害物との衝突を回避する手法が多く提案されている。
【０００３】
たとえば、特許文献１には、任意の点を中心に拡散する方向のオプティカルフローのベクトル和から、同点を中心に収縮する方向のオプティカルフローのベクトル和を差し引いた値に基づき、障害物の衝突を検知する装置が開示されている。拡散方向および収縮方向のベクトル和の差分の算出にはニューラルネットワークが適用される。
【０００４】
また、特許文献２には、画像内の異なる２つの選択領域において、それぞれガウスフィルタなどの空間フィルタでオプティカルフローを統合するベクトル和を算出し、これらのベクトル和の差分に基づき、接近する障害物を検出するシステムが開示されている。
【特許文献１】特開平１１−１３４５０４号
【特許文献２】特開２００３−５１０１６号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ここで、生体の視覚情報に基づく回避行動について考えると、生体は、実世界の複雑な外環境に応じて、高速かつ適当な精度で多種多様な回避行動を実現している。移動体の衝突回避手法においても、障害物が移動体に接近してくる方向などに応じて、最適な回避行動が選択されることが望ましい。しかしながら、特許文献１または特許文献２などの従来手法では、障害物が接近してくる方向を検知する手法については開示されていない。
【０００６】
本発明は、視覚情報に基づいて障害物が接近してくる方向を検知し、障害物の接近方向に応じた行動を選択することにより、障害物との衝突を回避することができる移動体の衝突回避手法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、移動体に接近する障害物との衝突を回避するための移動体の衝突回避システムを提供する。このシステムは、移動体の周囲の環境を撮像する撮像手段と、撮像手段により撮像された画像に基づいて、画像上の動きベクトルを算出する手段と、画像内の複数の画素において、動きベクトルに基づき前記障害物の衝突可能性を算出する手段と、複数の画素における衝突可能性を比較して、障害物が前記移動体へ接近する方向を判定し、該方向とは異なる方向へ移動体を移動させる状態判定手段と、を有する。
【０００８】
この発明により、画像内の複数の画素において算出される衝突可能性に基づいて障害物が移動体へ接近する方向を判定することができるので、最適な行動を選択して障害物との衝突を回避することができる。
【０００９】
本発明の一実施形態によると、動きベクトルを算出する手段は、画面上の異なる２つの画素における明暗情報の時間的相関値を計算し、該相関値を動きベクトルとする。
【００１０】
本発明の一実施形態によると、障害物の衝突可能性を算出する手段は、画素の近傍において画素を中心に拡散する向きの動きベクトルに対して興奮性の反応を示し、画素から離れた位置において画素を中心に収縮する向きの動きベクトルに対して抑制性の反応を示すフィルタ関数を用いて、動きベクトルの大きさに応じた値を加算して衝突可能性を算出する。
【００１１】
本発明の一実施形態によると、状態判定手段は、衝突可能性のうちの１つが所定のしきい値を超えるとき、複数の画素における衝突可能性の大小関係により、障害物が前記移動体へ接近する方向を判定し、該方向に応じて予め設定された方向へ移動体を移動させる。
【００１２】
また、本発明は、移動体に接近する障害物との衝突を回避するためのプログラムを提供する。このプログラムは、移動体の周囲の環境を撮像する機能と、撮像機能によって撮像された画像に基づいて、画像上の動きベクトルを算出する機能と、画像内の複数の画素において、動きベクトルに基づき障害物の衝突可能性を算出する機能と、複数の画素における衝突可能性を比較して、障害物が移動体へ接近する方向を判定し、該方向とは異なる方向へ移動体を移動させる機能と、をコンピュータに実現させる。
【００１３】
さらに、本発明は、移動体に接近する障害物との衝突を回避するための方法を提供する。この方法は、移動体の周囲の環境を撮像するステップと、撮像するステップで撮像された画像に基づいて、画像上の動きベクトルを算出するステップと、画像内の複数の画素において、動きベクトルに基づき障害物の衝突可能性を算出するステップと、複数の画素における衝突可能性を比較して、障害物が移動体へ接近する方向を判定し、該方向とは異なる方向へ移動体を移動させるステップと、を有する。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明の実施形態を説明する。図１は、本発明の一実施形態である移動体１０の衝突回避システムを示す概略図である。
【００１５】
本実施形態では、移動体１０は、自律移動が可能な小型の2輪型ロボットであり、例えば、汎用性が高く実験用の小型移動ロボットとして広く利用されているKheperaロボット（商標）である。移動体１０は、ＣＣＤカメラ１２などの撮像手段をその本体に備えており、ＣＣＤカメラ１２によって撮像された画像に基づいて移動体１０の周囲の障害物１６を認識する。ＣＣＤカメラ１２によって撮像された画像は、移動体１０と有線または無線で接続されている衝突回避装置１４へと送信される。
【００１６】
衝突回避装置１４は、移動体１０から受信した画像を分析して、障害物１６が移動体１０に接近している方向および衝突の可能性を推定する。衝突回避装置１４は、障害物１６が移動体１０に衝突する可能性が高いと判定すると、障害物１６の接近方向に応じて障害物１６との衝突を回避するように移動命令を移動体１０に与える。移動命令は、例えば図１に示すように、障害物１６が正面方向（θ＝０）から移動体１０に接近している場合には、点線の矢印で示すような右斜め前方に移動させるように、選択的に決定されるものである。なお、衝突回避装置１４は、移動体１０内部に設けても良い。
【００１７】
図２は、本実施形態による移動体１０の衝突回避システムの機能ブロック図である。衝突回避システムは、移動体１０に設けられたＣＣＤカメラ１２および移動体制御部２４、ならびに衝突回避装置１４から構成される。さらに、衝突回避装置１４は、動きベクトル算出部１８、衝突可能性算出部２０、および状態判定部２２から構成される。
【００１８】
移動体１０の衝突回避システムの基本的な動作は次のとおりである。
【００１９】
移動体１０に設置されたＣＣＤカメラ１２が、移動体１０の周囲の環境を撮像する。動きベクトル算出部１８は、ＣＣＤカメラ１２によって撮像された画像を分析して、画像内の各ピクセルにおける動きの方向に関する情報である「動きベクトル」を算出する。衝突可能性算出部２０は、ハエの視葉神経群を基にしてモデル化された衝突回避モデルを用いて、画像内の複数のピクセルにおいて、障害物１６が移動体１０に接近および衝突する可能性を表す指標となる「衝突可能性」を算出する。状態判定部２２は、算出された衝突可能性の大きさに基づき障害物１６が移動体１０に衝突するかどうかを判断し、複数のピクセルにおける衝突可能性を比較して、移動体１０が移動すべき方向θを決定する。そして移動体制御部２４が移動体１０をθの方向へ移動させて、障害物１６との衝突を回避する。
【００２０】
次に、図３を参照して、本実施形態による移動体１０の衝突回避処理について説明する。図３は、移動体１０の衝突回避処理を示すフローチャートである。
【００２１】
ステップＳ１０１において、動きベクトル算出部１８が、ＣＣＤカメラ１２から画像を取得する。本実施形態では、ＣＣＤカメラ１２によって１０ヘルツで画像がサンプリングされ、動きベクトル算出部１８へ送信される。ＣＣＤカメラ１２によって撮像される画像は６４０×４８０ピクセルであり、画像内の各ピクセルは０〜２５５のグレースケール値を持つ。これ以降、図４に示すように、画像の横方向にｘ軸を、縦方向にｙ軸をとる二次元座標を設定し、時刻ｔにおける座標(x, y)のピクセルのグレースケール値をi(x, y, t)と表現する。
【００２２】
ステップＳ１０３において、動きベクトル算出部１８が、画像内の各ピクセルのグレースケール値i(x, y, t)を前処理する。本実施形態では、ガウスフィルタを適用して、各ピクセルのグレースケール値i(x, y, t)を平滑化する。時刻ｔにおける画面上の任意の座標(xk, yl)のピクセルのグレースケール値をi(xk, yl, t)とすると、座標(x, y)におけるガウスフィルタの出力I(x, y, t)は、次式のように表される。
【数１】
0004579191.tif 000002
ここで、σはフィルタの空間的広がりを決定する定数である。
【００２３】
ステップＳ１０５において、動きベクトル算出部１８が、画像の各ピクセルの動きベクトルを算出する。本実施形態では、動きベクトルを算出する手法として、ハエの光学的運動検出器のモデルとして提案されているＥＭＤ（Elementary Movement Detector）が適用される。ＥＭＤは、図５に示すような構成をとり、レセプタ間の時間的相関を計算することにより動きを検出する。
【００２４】
本実施形態では、ＥＭＤの２つのレセプタには、それぞれｘ軸方向に隣り合うピクセルにおけるガウスフィルタの出力値I(x, y, t)およびI(x+1, y, t)が入力される。
【００２５】
続いて、時定数τの時間遅れ成分I’(x, y, t)およびI’(x+1, y, t)が次式により算出される。
【数２】
0004579191.tif 000003
【００２６】
そして、レセプタ間における時空間の相関値v(x, y, t)が次式により算出される。
【数３】
0004579191.tif 000004
【００２７】
（４）式で算出された相関値v(x, y, t)は、座標(x, y)から座標(x+1, y)へ画像内の物体が移動しているとき（図４では右方向への移動）、正の値をとり、座標(x+1, y)から座標(x, y)へ画像内の物体が移動しているとき（図４の左方向）、負の値をとる。この相関値v(x, y, t)が、ピクセル(x, y)における「動きベクトル」として定義される。
【００２８】
なお、動きベクトルv(x, y, t)を算出する手法は、画像からピクセル単位で動作方向に関する情報が抽出できる手法であれば良く、オプティカルフローなどの従来手法を用いても良い。
【００２９】
図３に戻り説明を続けると、ステップＳ１０７において、衝突可能性算出部２０が、動きベクトル算出部１６で算出された動きベクトルに基づいて、画面上の複数のピクセルにおける「衝突可能性」を算出する。ここで、「衝突可能性」とは、障害物１６が移動体１０に接近および衝突する可能性を表す指標であり、その値が大きいほど障害物１６が移動体１０に衝突する可能性が高い。本実施形態では、衝突可能性を算出する手法として、ハエの視葉神経群を基にしてモデル化された衝突回避モデルを適用する。
【００３０】
衝突回避モデルは、図７に示すように、画像上に複数の受容野ユニットを配置し、受容野ユニットのそれぞれの中心に位置するピクセル(xc1, yc1)、(xc2, yc2)、(xc3, yc3)の衝突可能性を算出する。受容野ユニットは、図６（ｃ）に示すようなメキシカンハット型のフィルタである。フィルタの中心近傍（図７のＬＥで示す部分）で興奮性の反応を示し、逆に中心から離れたところ（図７のＬＣで示す部分）では抑制性の反応を示す。
【００３１】
本実施形態では、受容野ユニットは、分散の異なる２つのガウスフィルタを組み合わせて実現される。受容野ユニットは、拡散方向の動きに対して反応を示すガウスフィルタＦ（ｔ）と、収縮方向の動きに対して反応を示すガウスフィルタＣ（ｔ）から構成される。
【００３２】
受容野ユニットの中心となるピクセルの座標を(xc, yc)とすると、障害物１６の接近に対して反応を示すガウスフィルタＦ（ｔ）への入力Ve(x, y, t)は、動きベクトルv(x, y, t)およびピクセルの座標に応じて、次式のように求められる。
【数４】
0004579191.tif 000005
【００３３】
ピクセル(xc, yc)におけるガウスフィルタＦ（ｔ）の出力は、次式のように算出される。
【数５】
0004579191.tif 000006
ここで、σeは、動きベクトルを統合する際の空間的広がりを決定する定数である。
【００３４】
（６）式のガウスフィルタＦ（ｔ）では、ピクセル(xc, yc)からの距離に応じて、入力Ve(x, y, t)に乗ずるゲインが決められる。（６）式のガウスフィルタのゲインは、ピクセル(xc, yc)からの距離に応じて、例えば図６（ａ）に示すような値をとる。
【００３５】
続いて、障害物１６が遠ざかるのに対して反応を示すガウスフィルタC（ｔ）への入力Vc(x, y, t)は、動きベクトルv (x, y, t)およびピクセルの座標に応じて、次式のように求められる。
【数６】
0004579191.tif 000007
【００３６】
ピクセル(xc, yc)におけるガウスフィルタC（ｔ）の出力は、次式のように算出される。
【数７】
0004579191.tif 000008
ここで、σcは、動きベクトルを統合する際の空間的広がりを決定する定数である。
【００３７】
（８）式のガウスフィルタでは、ピクセル(xc, yc)からの距離に応じて、入力Vc(x, y, t)に乗ずるゲインが決まる。（８）式のガウスフィルタのゲインは、ピクセル(xc, yc)からの距離に応じて、例えば図６（ｂ）に示すような値をとる。
【００３８】
最後に、これら２つのフィルタの差分をとり、受容野ユニットO(t)を導出する。
O(t)＝F(t)−a・C(t)                              （９）
ここで、ａは０＜ａ＜１の定数である。
【００３９】
このように導出された本実施形態の受容野ユニットO(t)は図６（ｃ）に示すようなメキシカンハット型のフィルタとなる。受容野ユニットＯ（ｔ）は、フィルタの中心となるピクセル(xc, yc)の近傍（ＬＥ）では、ピクセル(xc, yc)から拡散する方向の動きベクトルに対して興奮性の反応を示し、その周囲（ＬＣ）では、ピクセル(xc, yc)へ収縮する方向の動きベクトルに対して抑制性の反応を示す。
【００４０】
なお、受容野ユニットは、図３（ｃ）に示すようにメキシカンハット型の形状をとるように設計されていれば良いので、ガウスフィルタ以外の他の手法を用いて受容野ユニットを設計しても良い。
【００４１】
本実施形態における衝突回避モデルでは、図７に示すように、（５）式〜（９）式にしたがって導出された受容野ユニットがｘ軸方向に水平となるように３個配置される。そして、各受容野ユニットの中心となるピクセル(xc1, yc1)、(xc2, yc2)、(xc3, yc3)におけるユニット出力O1(t)、O2(t)、O3(t)が算出され、これらの値が各ピクセル(xc1, yc1)、(xc2, yc2)、(xc3, yc3)における「衝突可能性」と定義される。
【００４２】
図３に戻り説明を続けると、ステップＳ１０９において、状態判定部２２が、受容野ユニットの出力O1(t)、O2(t)、O3(t)のうちのいずれかがしきい値（例えば0.02）以上かどうかを判定する。ユニット出力O1(t)、O2(t)、O3(t)のいずれかがしきい値以上のとき、障害物１６が移動体１０と衝突する可能性が高いと判断され、ステップＳ１１１に進む。ユニット出力O1(t)、O2(t)、O3(t)のすべてがしきい値より小さいとき、障害物１６の衝突の可能性がまだ低いので回避行動をとる必要がないと判断され、処理を終了する。
【００４３】
ステップＳ１１１において、状態判定部２２が、受容野ユニットの出力O1(t)、O2(t)、O3(t)を比較して、移動体１０の移動する方向を決定する。状態判定部２０は、例えば、以下のような条件にしたがって、移動体が障害物との衝突を回避するために移動する方向θを選択する。ここで、θは図１に示したように正面方向をθ＝０とし、正面から時計回り方向を正方向とする。
【数８】
0004579191.tif 000009
【００４４】
ここで、条件式（１０）は、受容野ユニットの出力O1(t)、O2(t)、O3(t)のうち、最小の値をとるユニットの方向へ移動体１０の移動方向θを選択するように設定されている。つまり、障害物１６と衝突する可能性が最も低い方向へ移動体１０を移動させるような回避行動が実現される。
【００４５】
そして、ステップＳ１１３において、移動体１０をステップＳ１１１で決定された角度方向に移動させて、障害物１６との衝突を回避する。
【００４６】
次に、図８を参照して、本実施形態による衝突回避システムの実験結果について説明する。
【００４７】
図８は、障害物１６が正面（θ＝０）から移動体１０に接近したときの、各受容野ユニットの出力O1(t)、O2(t)、O3(t)の推移を示すグラフである。グラフの横軸は衝突までの時間を表しており、時刻０で衝突し、時刻―１は衝突の１秒前、時刻―２は衝突の２秒前を示す。この「衝突までの時間」は、障害物１６の移動速度および移動体までの距離に応じて検証用にあらかじめ導出されたものである。グラフの縦軸は、受容野ユニットの出力を表す。
【００４８】
図８を参照すると、衝突の1秒強前の時点において、画像の中央に配置された受容野ユニットの出力Ｏ２がしきい値を超える。図３のステップＳ１０９を参照すると、状態判定部２２は、この時点で障害物１６が移動体１０と衝突する可能性が高いと判定する。
【００４９】
そして、図３のステップＳ１１１で示した条件式（１０）に基づいて移動体１０の移動方向θが決定される。この時点の受容野ユニットの出力O1(t)、O2(t)、O3(t)の大小関係は、O3(t)＜O1(t)かつO3(t)＜O2(t)なので、状態判定部２２は、障害物１６との衝突の可能性が最も低い受容野ユニットO3(t)の方向、すなわち右斜め前方４５度の方向を移動体１０の移動方向θとして選択する。そして、移動体１０は、選択された移動方向に移動して、障害物１６との衝突を回避する。
【００５０】
このように、本発明により、画像内の複数のピクセルにおいて障害物１６が移動体１０と衝突する可能性O1(t)、O2(t)、O3(t)が算出され、これら複数の衝突可能性O1(t)、O2(t)、O3(t)に基づいて障害物が移動体へ接近している方向が判定されるので、移動体１０は最適な移動方向θを選択して障害物１６との衝突を回避することができる。
【００５１】
以上、本発明の実施の形態について本発明はこのような実施形態に限定されることはなく、本発明の趣旨を逸脱しない範囲において改変して用いることができる。
【００５２】
上述の実施形態では、障害物１６が移動体１０に接近してくる場合について説明したが、これと同様に、移動体１０が固定された障害物に向かって移動する場合や、移動体１０および障害物１６が共に移動する場合においても、本発明による衝突回避手法は適用可能である。
【００５３】
また、上述の実施形態では、移動体１０の具体例として小型移動ロボットを挙げて説明したが、本発明の移動体１０は小型移動ロボットに限定されることはなく、例えば、二足歩行ロボットまたは自動車を用いることも可能である。
【図面の簡単な説明】
【００５４】
【図１】本発明の一実施形態である移動体の衝突回避システムを示す概略図である。
【図２】本実施形態による移動体の衝突回避システムの機能ブロック図である。
【図３】移動体の衝突回避処理を示すフローチャートである。
【図４】ＣＣＤカメラから取得する画像情報の概念図である。
【図５】動きベクトル算出部で適用するＥＭＤの構成図である。
【図６】衝突可能性算出部で適用する衝突回避モデルを構成する受容野ユニットの特性を示す図である。
【図７】衝突可能性算出部で適用する衝突回避モデルの構成図である。
【図８】障害物が正面（θ＝０）から移動体に接近したときの、各受容野ユニットの出力O1(t)、O2(t)、O3(t)の推移を示すグラフである。
【符号の説明】
【００５５】
１０  移動体
１２  ＣＣＤカメラ（撮像手段）
１８  動きベクトル算出部
２０  衝突可能性算出部
２２  状態判定部
２４  移動体制御部
【図１】
0004579191.tif 000010
【図２】
0004579191.tif 000011
【図３】
0004579191.tif 000012
【図４】
0004579191.tif 000013
【図５】
0004579191.tif 000014
【図６】
0004579191.tif 000015
【図７】
0004579191.tif 000016
【図８】
0004579191.tif 000017