以下に添付図面を参照して、情報処理装置、および、情報処理方法を詳細に説明する。
(第1の実施の形態)
図1は、本実施の形態の情報処理装置10の一例を示す図である。情報処理装置10は、物体30の対象点Tを特定する。
本実施の形態では、情報処理装置10が車両12に搭載されている場合を一例として説明する。なお、情報処理装置10は、車両12に搭載された形態に限定されない。情報処理装置10は、道路などの地面に固定された外部装置などの静止物に搭載されていてもよい。また、情報処理装置10は、車両12以外の移動体に搭載されていてもよい。
物体30は、情報処理装置10によって対象点Tを特定される物である。詳細には、物体30は、センサ10G(詳細後述)の外界に存在する物体であって、センサ10Gによって観測される物体である。
物体30は、移動体、静止物、の何れであってもよい。移動体は、移動可能な物である。移動体は、例えば、車両(自動二輪車、自動四輪車、自転車)、台車、飛行可能な物体(有人飛行機、無人飛行機(例えば、ドローン))、ロボット、人物、などである。静止物は、地面に固定された物である。静止物は、移動不可能な物や、地面に対して静止した状態の物である。静止物は、例えば、ガードレール、ポール、駐車車両、道路標識、などである。また、物体30は、生物および非生物の何れであってもよい。生物は、例えば、人物、動物、植物、などである。非生物は、例えば、車両や飛行可能な物体やロボットなどである。
物体30の対象点Tは、物体30を示す1つの点である。物体30の対象点Tは、例えば、物体30の位置や速度の導出に用いられる。なお、物体30の対象点Tを、物体30の位置として用いてもよい。本実施の形態では、情報処理装置10は、物体30の対象点Tを特定する。対象点Tの特定方法については、詳細を後述する。
情報処理装置10は、処理回路10Aと、出力回路10Cと、センサ10Gと、を備える。
センサ10Gは、外界の観測情報を取得する。観測情報は、センサ10Gの設置位置の周辺の、観測結果を示す情報である。本実施の形態では、観測情報は、センサ10Gの周辺の複数の検知点の各々の位置情報を導出可能な情報である。
検知点の位置情報は、センサ10Gから検知点までの距離と、センサ10Gを基準とした検知点の方向と、を示す情報である。これらの距離および方向は、例えば、センサ10Gを基準とする検知点の相対位置を示す位置座標や、検知点の絶対位置を示す位置座標や、ベクトルなどで表すことができる。
検知点は、センサ10Gの外界における、センサ10Gによって個別に観測される点の各々を示す。例えば、センサ10Gは、センサ10Gの周囲に光を照射し、反射点で反射した反射光を受光する。この反射点が、検知点に相当する。なお、複数の反射点を1つの検知点として用いてもよい。
これにより、センサ10Gは、複数の検知点の各々に対する光の照射方向(センサ10Gを基準とする検知点の方向)と、複数の検知点の各々で反射した反射光に関する情報と、を含む、観測情報を得る。反射光に関する情報は、例えば、光の照射から反射光の受光までの経過時間や、受光した光の強度(または出射した光の強度に対する受光した光の強度の減衰率)などである。後述する処理回路10Aでは、この経過時間などを用いて、センサ10Gから検知点までの距離を導出する。
センサ10Gは、例えば、撮影装置や、距離センサ(ミリ波レーダ、レーザセンサ)、などである。撮影装置は、撮影によって撮影画像データ(以下、撮影画像と称する)を得る。撮影画像データは、画素ごとに画素値を規定したデジタル画像データや、画素毎にセンサ10Gからの距離を規定したデプスマップなどである。レーザセンサは、例えば、水平面に対して平行に設置された二次元LIDAR(Laser Imaging Detection and Ranging)センサや、三次元LIDARセンサである。
LIDARセンサは、パルス状に発光するレーザ光を周囲に照射し、物体30の検知点で反射したレーザ光を受光する。そして、LIDARセンサは、レーザ光の照射方向と、レーザ光の照射から受光までの経過時間と、を含む観測情報を得る。そして、後述する処理回路10Aでは、検知点の観測情報に含まれる経過時間から、照射方向におけるセンサ10Gと検知点との距離を算出する。これによって、後述する処理回路10Aでは、各検知点の位置情報を取得する(詳細後述)。なお、LIDARセンサ(センサ10G)が、レーザ光の照射方向と、レーザ光の照射から受光までの経過時間と、から、照射方向におけるセンサ10Gと検知点との距離を算出してもよい。
本実施の形態では、センサ10Gが、二次元LIDARセンサである場合を一例として説明する。
なお、センサ10Gは、物体30の表面を構成する各面の各々の観測情報を取得する構成であってもよい。また、センサ10Gは、互いに異なる複数の撮影方向の撮影画像を取得する構成であってもよい。また、情報処理装置10は、複数のセンサ10Gを備えた構成であってもよい。この場合、情報処理装置10は、同じ種類のセンサ10Gを備えた構成であってもよいし、少なくとも1つの種類の異なる複数のセンサ10Gを備えた構成であってもよい。なお、情報処理装置10が複数のセンサ10Gを備えた構成の場合、後述する処理回路10Aでは、これらの複数のセンサ10Gで得られた観測情報を統合したものを、観測情報として用いればよい。
出力回路10Cは、各種情報を出力する。本実施の形態では、出力回路10Cは、出力情報を出力する。出力情報は、物体30の対象点Tに関する情報を含む。具体的には、出力情報は、物体30の対象点Tの位置を示す情報、対象点Tに基づいて導出された物体30の移動方向、移動距離、移動速度、の少なくとも1つを含む。物体30の対象点Tの位置を示す情報は、センサ10Gに対する相対位置であってもよいし、絶対位置であってもよい。
出力回路10Cは、例えば、出力情報を送信する通信機能、出力情報を表示する表示機能、出力情報を示す音を出力する音出力機能、などを備える。例えば、出力回路10Cは、通信回路10Dと、ディスプレイ10Eと、スピーカ10Fと、を含む。
通信回路10Dは、出力情報を他の装置へ送信する。例えば、通信回路10Dは、公知の通信回線を介して出力情報を送信する。ディスプレイ10Eは、出力情報を表示する。ディスプレイ10Eは、例えば、公知のLCD(liquid crystal display)や投影装置やライトなどである。スピーカ10Fは、出力情報を示す音を出力する。
次に、情報処理装置10の構成について詳細に説明する。図2は、情報処理装置10の構成の一例を示すブロック図である。
情報処理装置10は、物体30の対象点Tを特定する。情報処理装置10は、例えば、専用または汎用コンピュータである。情報処理装置10は、処理回路10Aと、記憶回路10Bと、出力回路10Cと、センサ10Gと、入力装置10Hと、を備える。出力回路10Cは、上述したように、通信回路10Dと、ディスプレイ10Eと、スピーカ10Fと、を含む。
処理回路10A、記憶回路10B、出力回路10C、センサ10G、および入力装置10Hは、バス10Iを介して接続されている。なお、記憶回路10B、出力回路10C(通信回路10D、ディスプレイ10E、スピーカ10F)、センサ10G、および入力装置10Hは、有線または無線で処理回路10Aに接続すればよい。また、記憶回路10B、出力回路10C(通信回路10D、ディスプレイ10E、スピーカ10F)、センサ10G、および入力装置10Hの少なくとも1つと、処理回路10Aと、を、ネットワークを介して接続してもよい。
入力装置10Hは、ユーザからの各種指示や情報入力を受け付ける。入力装置10Hは、例えば、マウスやトラックボール等のポインティングデバイス、あるいはキーボード等の入力デバイスである。
記憶回路10Bは、各種データを記憶する。記憶回路10Bは、例えば、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスク等である。なお、記憶回路10Bは、情報処理装置10の外部に設けられた記憶装置であってもよい。また、記憶回路10Bは、記憶媒体であってもよい。具体的には、記憶媒体は、プログラムや各種情報を、LAN(Local Area Network)やインターネットなどを介してダウンロードして記憶または一時記憶したものであってもよい。また、記憶回路10Bを、複数の記憶媒体から構成してもよい。
本実施の形態では、記憶回路10Bは、形状モデル管理情報10Jを記憶する。形状モデル管理情報10Jは、形状モデルを管理するための情報である。形状モデル管理情報10Jのデータ形式は限定されない。例えば、形状モデル管理情報10Jは、データベースやテーブルである。
形状モデルとは、物体30の表面形状を表すモデルである。具体的には、形状モデルは、物体30を外側から視認したときの輪郭によって示される形を示す。言い換えると、形状モデルは、物体30における、センサなどによって観測可能な表面形状を示す。
なお、形状モデルは、物体30の表面形状を表すモデルであればよく、その形態は限定されない。例えば、物体30が自動四輪車である場合、自動四輪車の表面形状を水平面に投影して近似した長方形を、該物体30の形状モデルとして用いる。また、形状モデルには、多角形や楕円などの平面図形、1以上の線分の組合せ、立体形状(例えば、直方体)などを用いてもよい。
図3は、形状モデル管理情報10Jのデータ構成の一例を示す模式図である。形状モデル管理情報10Jは、形状モデルと、物体の種類と、とりうる大きさの範囲と、候補点と、を対応づけたものである。
形状モデル管理情報10Jには、形状モデルとして、形状モデルの特徴を示す特徴情報を登録してもよいし、形状モデルによって表される形状そのものを示す情報(正方形、長方形など)を登録してもよい。
物体の種類は、形状モデルによって示される形の物体30の種類を示す情報である。とりうる大きさの範囲は、観測情報における、対応する種類の物体30のとりうる大きさの範囲を示す。とりうる大きさの範囲は、例えば、観測情報としての撮影画像における、対応する種類の物体30の高さh(例えば、撮影画像または水平面に沿った二次元平面における第1の方向の長さ)の範囲と、幅w(例えば、該二次元平面における該第1の方向に直交する第2の方向の長さ)の範囲と、によって表す。なお、とりうる大きさの範囲の表し方は、図3に示す形態に限定されない。
候補点は、形状モデルにおける、対象点Tの候補となる点である。形状モデル管理情報10Jには、1つの形状モデルに対して、少なくとも2つ以上の候補点が予め設定されている。
候補点は、形状モデルにおける、対応する種類の物体30を示す点である。
例えば、候補点は、対応する形状モデルの物体30における、外界から観測されやすい点である。外界から観測されやすい、とは、物体30を様々な方向から観測したときに、観測される確率または観測される頻度が閾値以上であることを示す。具体的には、候補点は、物体30とセンサ10Gとの位置関係を考慮し、異なる位置関係であっても、センサ10Gによって、閾値以上の回数、観測可能な点であることが好ましい。この閾値は、予め設定する。なお、この閾値は、ユーザによる入力装置10Hの操作指示などによって、適宜変更可能としてもよい。
具体的には、候補点は、形状モデルが正方形や長方形などの多角形である場合、多角形を構成する隣接する2辺の交点によって構成される頂点(四角形状である場合、例えば、4頂点)の各々である。なお、候補点は、形状モデルが多角形である場合、多角形を構成する各辺の各々の中点(中間の点)や、線分の交点であってもよい。
また、候補点は、対応する形状モデルの物体30の、特徴的な形状や材質を示す点であってもよい。例えば、センサ10GとしてLIDARセンサを用いる場合、LIDARセンサから照射されたレーザ光が正しく反射される領域を、該形状モデルの候補点として設定する。なお、センサ10Gとして、LIDARセンサを用いる場合、センサ10Gから照射されたレーザ光が正しく反射されない領域(黒色領域や透明領域)については、該形状モデルの候補点として設定しないことが好ましい。
また、1つの物体30に剛体と非剛体が混在する場合、剛体の領域を候補点として設定してもよい。例えば、物体30が、人の乗車した自転車である場合、人の部分は変形する可能性がある。このため、この場合、自転車の車体(例えば、フレーム部分)に候補点を設定すればよい。
また、候補点は、対応する形状モデルの物体30における、内側の点を含んでいてもよい。内側の点とは、物体30の外郭より内側の点であり、外界から視認されない点を含む。例えば、候補点は、形状モデルの物体30の、重心を示す点を含むものであってもよい。
なお、形状モデル管理情報10Jは、形状モデルと、複数の候補点と、を少なくとも対応づけたものであればよい。このため、形状モデル管理情報10Jは、物体の種類およびとりうる大きさの範囲の少なくとも一方が未登録のものであってもよい。また、形状モデル管理情報10Jは、予め設定すればよい。また、形状モデル管理情報10Jは、ユーザによる入力装置10Hの操作指示などによって、適宜変更可能としてもよい。
また、形状モデル管理情報10Jは、1つの物体30を様々な方向から視認したときの、各視認方向に対応する形状モデルと複数の候補点とを対応づけたものであってもよい。
図2に戻り説明を続ける。次に、処理回路10Aについて説明する。処理回路10Aは、取得機能10Kと、分類機能10Lと、形状導出機能10Mと、特定機能10Nと、出力制御機能10Pと、を備える。
処理回路10Aにおける各処理機能は、コンピュータによって実行可能なプログラムの形態で記憶回路10Bへ記憶されている。処理回路10Aは、プログラムを記憶回路10Bから読出、実行することで、各プログラムに対応する機能を実現するプロセッサである。
各プログラムを読み出した状態の処理回路10Aは、図2の処理回路10A内に示された各機能を有することになる。図2においては単一の処理回路10Aによって、取得機能10K、分類機能10L、形状導出機能10M、特定機能10N、および出力制御機能10Pが実現されるものとして説明する。
なお、各機能の各々を実現するための独立した複数のプロセッサを組み合わせて処理回路10Aを構成してもよい。この場合、各プロセッサがプログラムを実行することにより各機能を実現する。また、各処理機能がプログラムとして構成され、1つの処理回路が各プログラムを実行する場合であってもよいし、特定の機能が専用の独立したプログラム実行回路に実装される場合であってもよい。
なお、本実施の形態および後述する実施の形態において用いる「プロセッサ」との文言は、例えば、CPU(Central Processing Unit)、GPU(Graphical Processing Unit)或いは、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)、プログラマブル論理デバイス(例えば、単純プログラマブル論理デバイス(Simple Programmable Logic Device:SPLD)、複合プログラマブル論理デバイス(Complex Programmable Logic Device:CPLD)、及びフィールドプログラマブルゲートアレイ(Field Programmable Gate Array:FPGA))の回路を意味する。プロセッサは、記憶回路10Bに保存されたプログラムを読み出し実行することで機能を実現する。なお、記憶回路10Bにプログラムを保存する代わりに、プロセッサの回路内にプログラムを直接組み込むよう構成しても構わない。この場合、プロセッサは回路内に組み込まれたプログラムを読み出し実行することで機能を実現する。
取得機能10Kは、取得部の一例である。取得機能10Kは、複数の検知点の各々の位置情報を取得する。
取得機能10Kは、センサ10Gから、センサ10Gの周辺の観測情報を取得する。観測情報は、上述したように、センサ10Gの外界の観測情報であって、センサ10Gの周辺の複数の検知点の各々の位置情報を導出可能な情報である。取得機能10Kは、観測情報から、検知点の各々の位置情報を導出する。これによって、取得機能10Kは、検知点の位置情報を取得する。
具体的には、センサ10GがLIDARセンサであったと仮定する。この場合、取得機能10Kは、観測情報として、センサ10Gからのレーザ光の照射方向と、レーザ光の照射から受光までの経過時間と、を含む観測情報を取得する。そして、取得機能10Kは、経過時間から、照射方向におけるセンサ10Gと検知点との距離を算出する。これによって、取得機能10Kは、検知点の各々について、センサ10Gから検知点までの距離と、センサ10Gを基準とした検知点の方向と、を示す位置情報を取得する。
なお、上述したように、センサ10GがLIDARセンサである場合、センサ10Gが、レーザ光の照射方向と、レーザ光の照射から受光までの経過時間と、から、位置情報(照射方向と距離)を算出してもよい。この場合、取得機能10Kは、検知点の各々の位置情報を、センサ10G(LIDARセンサ)から取得すればよい。
なお、上述したように、センサ10Gが、物体30の表面を構成する各面の各々の観測情報を得る構成の場合がある。この場合、取得機能10Kは、観測情報に示される異なる面の各々を水平面に投影することで、検知点の位置情報を取得すればよい。また、センサ10Gが、互いに異なる複数の撮影方向の撮影画像を得る構成の場合がある。この場合、取得機能10Kは、センサ10Gから取得した複数の撮影方向の撮影画像から、各検出点の奥行情報(距離情報)を再構築することで、検出点の各々の三次元の位置情報を推定すればよい。また、センサ10Gが、複数のセンサ10Gを備えた構成の場合がある。この場合、取得機能10Kは、これらの複数のセンサ10Gで得られた観測情報を統合した上で、検出点の位置情報の取得に用いればよい。
図4は、処理回路10Aによる処理の説明図である。図4(A)は、取得機能10Kによる位置情報の取得の説明図である。図4(A)に示すように、センサ10Gは、センサ10Gの周囲に光を照射し、センサ10Gの周辺の物体30(物体30A〜物体30E)で反射した反射光を受光する。これによって、センサ10Gは、物体30(物体30A〜物体30E)における反射点に相当する検知点32(例えば、検知点321〜検知点3227)の各々の観測情報を得る。なお、物体30の位置、物体30の数、検知点32の数、および、検知点32の位置は、一例であり、図4に示す形態に限定されない。
そして、取得機能10Kは、観測情報から、これらの検知点32(例えば、検知点321〜検知点3227)の各々の位置情報を取得する。
図2に戻り説明を続ける。分類機能10Lは、分類部の一例である。分類機能10Lは、取得機能10Kで位置情報を取得した複数の検知点32を、物体30を構成する検知点群に分類する。詳細には、分類機能10Lは、複数の検知点32を、複数のカテゴリに分類する。このカテゴリは、少なくとも物体30を含む。カテゴリは、物体30以外の要素を含んでいてもよい。
図4(B)は、分類機能10Lによる分類の説明図である。分類機能10Lは、検知点32の各々の位置情報に基づいて、複数の検知点32を、物体30を構成する検知点群Bに分類する。
例えば、センサ10Gが二次元LIDARセンサであったと仮定する。この場合、分類機能10Lは、センサ10Gを水平面に沿った二次元平面の円中心とした円の周方向に向かって順に、複数の検知点32の各々に番号を付与(順序付け)する。
そして、情報処理装置10は、付与した番号の順に、検知点32の各々について、ひとつ前の検知点32と同じ物体30を構成するか否かを判定する。例えば、分類機能10Lは、ひとつ前の検知点32の位置情報に示される距離(センサ10Gまでの距離)と、処理対象の検知点32の位置情報に示される距離と、の差が閾値以下であると、同じ物体30を構成すると判定する。そして、分類機能10Lは、同じ物体30と判定されなくなるまで、該周方向に順に検知点32を判定する。そして、同じ物体30を構成すると判定した検知点32の群を、1つの物体30を構成する検知点群Bとして、分類する。
この分類処理によって、図4(A)および図4(B)に示す例では、複数の検知点32(検知点321〜検知点3227)が、物体30を構成する1または複数の検知点群B(検知点群B1〜検知点群B5)に分類される。
なお、分類機能10Lによる分類方法は、上記方法に限定されない。詳細には、上記では、センサ10Gを二次元平面の円中心とした円の周方向に向かって順に、検知点32を順序付けし、分類処理を行った。しかし、検知点32の順序付けの方法は、この方法に限定されない。
また、同じ物体30を構成するか否かの判定基準は、上記基準に限定されない。例えば、分類機能10Lは、センサ10Gを基準とする検知点32の相対位置を示す位置座標や、検知点32の絶対位置を、判定基準に用いてもよい。また、分類機能10Lは、同じ物体30を構成すると判定した複数の検知点32から、次に判定する対象の検知点32までの距離が閾値以下であるか否かを判別することで、同じ物体30を構成すると判定してもよい。また、分類機能10Lは、検知点32の観測情報に含まれる光の反射強度を用いて、同じ物体30を構成するか否かを判定してもよい。
図2に戻り説明を続ける。形状導出機能10Mは、形状導出部の一例である。形状導出機能10Mは、検知点群Bを構成する検知点32の各々の位置情報に基づいて、検知点群Bに所定の形状モデルをあてはめる。言い換えると、形状導出機能10Mは、物体30に分類された複数の検知点32の各々の位置情報に基づいて、検知点群Bごとに形状モデルMをあてはめる。
図4を用いて具体的に説明する。図4(C)は、形状導出機能10Mによる形状モデルMのあてはめの一例を示す説明図である。
例えば、形状導出機能10Mは、あらかじめ定めた1つの形状モデルの種類を用いて、座標変化や長辺方向の角度変化(重心回転)や辺の長さの変形などの調整を行うことで、による変,検知点群Bの各々に、形状モデルMをあてはめる。
例えば、形状導出機能10Mが、センサ10Gの周辺の物体30(例えば、自動四輪車)への形状モデルMのあてはめに、形状モデルの種類として長方形を用意した場合を説明する。形状導出機能10Mは、形状モデルである長方形を、検知点群B(検知点群B1〜検知点群B5)の各々にあてはめる(図4(B)参照)。
例えば、形状導出機能10Mは、形状モデルである長方形について、長方形の座標と、長方形の姿勢を表す1つの基準方向に対する角度と、長方形の辺の長さと、を変数とする。そして、形状導出機能10Mは、1つの物体30を構成する検知点群Bごとに、水平面に投影した検知点群Bに対して、用意した形状モデルである長方形の変数に初期値を設定する。さらに、形状導出機能10Mは、初期値から変数を微小に変化させて走査し、評価関数を最小にする変数によって、形状モデルである長方形を1つ規定する。これによって、規定したこの形状モデルを、該検知点群Bの形状モデルMとしてあてはめる。
なお、形状モデルの変数の初期値には、例えば、形状モデルの種類を長方形とした場合,処理対象の検知点群Bを囲む最小面積の長方形の座標と角度(1つの座標軸に対する長辺方向の角度)と辺の長さとを設定する。なお、初期値の設定方法は、この方法に限定されない。例えば、形状導出機能10Mは、検知点群Bに対してハフ変換を行うことで、直線を検出し、初期形状モデルとしての長方形の1辺とする方法を用いてもよい。
評価関数には、例えば、検知点群Bを構成する検知点32の各々と、あてはめた形状モデルの辺と、の最短距離の和を用いる。
形状導出機能10Mは、形状モデルの変数を調整し、評価関数の値が最小となる形状モデルを1つに規定する。そして、形状導出機能10Mは、規定した形状モデルを、対応する検知点群Bにあてはめる形状モデルMとして用いる。このようにして、形状導出機能10Mは、物体30を構成する検知点群Bに形状モデルMをあてはめる。
なお、形状導出機能10Mは、検知点群Bを構成する複数の検知点32の各々の上記最短距離の内、最も大きい最短距離を、評価関数として用いてもよい。すなわち、形状導出機能10Mは、検知点群Bを構成する複数の検知点32の内、あてはめた初期形状モデルの辺との最短距離の最も大きい1つの検知点32を用いて、評価関数を求めてもよい。
また、形状導出機能10Mは、検知点32の各々に、検知点32の各々の位置情報に応じた重み付けを行ったものを、評価関数として用いてもよい。
例えば、形状導出機能10Mは、ある物体30を構成する検知点群Bに属する複数の検知点32と、他の物体30を構成する検知点群Bに属する1または複数の検知点32と、を用いて、ある物体30を構成する検知点群Bへ形状モデルMをあてはめてもよい。
この場合、形状導出機能10Mは、処理対象の検知点群Bに含まれる、他の検知点群Bにも属する検知点32(他の検知点32と称する)の数や、センサ10Gと該他の検知点32の各々とを結ぶ直線が処理対象の検知点群Bにあてはめた初期形状モデルに交差する数を、評価関数として用いる。
また、形状導出機能10Mは、これらの複数種類の評価関数の和を、形状モデルMのあてはめに用いる評価関数として用いてもよい。
なお、形状導出機能10Mは、他の方法を用いて、検知点群Bに形状モデルMをあてはめてもよい。
例えば、形状導出機能10Mは、検知点群Bから物体30の種類を判別し、物体30の種類ごとに対応する形状モデルMを選択することで、該検知点群Bに形状モデルMをあてはめてもよい。
例えば、形状導出機能10Mは、物体30の種類ごとに異なる形状モデルMを、予め設定する。具体的には、形状導出機能10Mは、物体30の種類“人物”には円の形状モデルM、物体30の種類“自動四輪車”には長方形の形状モデルM、物体30の種類“ガードレール”には線状の形状モデルM、を予め設定する。
そして、形状導出機能10Mは、検知点群Bから判別した物体30の種類に対応する形状モデルMを、選択すればよい。これによって、形状導出機能10Mは、物体30の種類の判別結果に応じて、あてはめる形状モデルMの種類を変化させることができる。
なお、形状導出機能10Mは、形状モデル管理情報10J(図3参照)における、物体30の種類に対応する“とりうる大きさの範囲”を更に用いて、検知点群Bに形状モデルMをあてはめてもよい。この場合、“とりうる大きさの範囲”は、物体30の種類ごとに予め定めればよい。例えば、形状モデルMの形状が長方形であっても、その長方形の大きさは、対応する物体30の種類に応じて異なる。このため、“とりうる大きさの範囲”には、対応する物体30の種類(例えば、自転車、自動四輪車、バス、など)の平均的なサイズを用いればよい。
そして、情報処理装置10は、形状モデルの大きさ(例えば、長方形の辺の長さ)を、検知点群Bへのあてはめの際の変数として加え、大きさの変数を変化される探索範囲を、物体30の種類に対応する“とりうる大きさの範囲”とし、検知点群Bに形状モデルMをあてはめればよい。
これによって、例えば、図4(B)および図4(C)に示すように、検知点群B1〜検知点群B5の各々に、形状モデルM1〜形状モデルM5の各々があてはめられる。
図2に戻り説明を続ける。特定機能10Nは、特定部の一例である。特定機能10Nは、形状導出機能10Mによってあてはめられた形状モデルMに基づいて、物体30の対象点Tを特定する。すなわち、特定機能10Nは、形状モデルMに基づいて、形状モデルMのあてはめられた検知点群Bに対応する物体30の対象点Tを特定する。
本実施の形態では、特定機能10Nは、形状モデルMに予め設定した複数の候補点の内の1つを、物体30の対象点Tとして特定する。
図4(D)は、特定機能10Nによる対象点Tの特定の一例を示す説明図である。例えば、形状モデルM1〜形状モデルM5の各々に、各形状モデルMに対応する複数の候補点Cとして、矩形状の形状モデルMの4頂点(候補点C1〜候補点C4)の各々が予め設定されていたと仮定する。この場合、特定機能10Nは、検知点群Bごとにあてはめられた形状モデルM(形状モデルM1〜形状モデルM5)の各々について、各形状モデルMの複数の候補点C(候補点C1〜候補点C4)の内の1つを、対象点Tとして特定する。
特定機能10Nは、形状導出機能10Mであてはめた形状モデルMに対応する複数の候補点Cを、形状モデル管理情報10Jから読取り、対象点Tの特定に用いればよい。
詳細には、特定機能10Nは、形状モデルMに対応する複数の候補点Cを予め設定する。本実施の形態では、特定機能10Nは、形状モデルMと、複数の候補点Cと、を対応づけて予め形状モデル管理情報10J(図3参照)に登録することで、候補点Cを予め設定すればよい。
特定機能10Nは、あてはめた形状モデルMに予め設定した複数の候補点の内の1つを、対象点Tとして特定する。
例えば、特定機能10Nは、形状モデルMに予め設定した複数の候補点Cの内、センサ10Gの位置に最も近い候補点Cを、対象点Tとして特定する。
センサ10Gの位置には、観測情報の取得時のセンサ10Gの位置を用いればよい。また、特定機能10Nは、検知点32の位置情報、および、形状モデルMにおける複数の候補点Cの各々と検知点群Bを構成する検知点32の各々との相対的な位置関係、に基づいて、候補点Cの各々の位置を特定すればよい。そして、特定機能10Nは、形状モデルMに予め設定した複数の候補点Cの内、センサ10Gの位置に最も近い位置の候補点Cを、対象点Tとして特定する。
なお、上述したように、形状モデルMは、物体30を構成する検知点32の検知点群Bごとにあてはめられたものである。また、取得機能10Kは、検知点32の各々の位置情報を取得する。このため、特定機能10Nは、形状モデルMに設定された複数の候補点Cの各々と、検知点群Bを構成する検知点32の各々と、の相対的な位置関係を把握することができる。
図4(D)を用いて説明する。例えば、物体30Aの検知点群B1(図4(B)参照)にあてはめた形状モデルM1に、複数の候補点C(候補点C1〜候補点C4)が設定されていたと仮定する(図4(D)参照)。この場合、特定機能10Nは、該形状モデルM1の複数の候補点C(候補点C1〜候補点C4)の内、センサ10Gの位置に最も近い候補点C4を、物体30Aの対象点Tとして特定する。
特定機能10Nは、検知点群B2〜検知点群B5の各々にあてはめた形状モデルM2〜形状モデルM5の各々についても同様に、複数の候補点Cの内、センサ10Gの位置に最も近い候補点C(図4(D)に示す例では、形状モデルM2の候補点C1、形状モデルM3の候補点C2、形状モデルM4の候補点C2、形状モデルM5の候補点C4)の各々を、各形状モデルM(形状モデルM2〜形状モデルM5)の各々に対応する物体30(物体30B〜物体30E)の各々の対象点Tとして特定する。
なお、特定機能10Nは、形状モデルMに予め設定した複数の候補点Cの内、該形状モデルMをあてはめた検知点群Bを構成する検知点32に最も近い候補点Cを、物体30の対象点Tとして特定してもよい。すなわち、特定機能10Nは、形状モデルMに予め設定した複数の候補点Cの内、最も近い位置に検知点32の存在する候補点Cを、物体30の対象点Tとして特定してもよい。
また、特定機能10Nは、形状モデルMに予め設定した複数の候補点Cの内、検知点群Bを構成する検知点32の分布率の最も高い候補点Cを、物体30の対象点Tとして特定してもよい。
検知点32の分布率は、候補点Cの周辺に存在する検知点32の割合を示す。検知点32の分布率は、候補点Cに対して、より近くに位置する検知点32の数が多いほど、大きい値を示す。例えば、候補点Cにおける検知点32の分布率は、候補点Cから予め定めた範囲内に位置する検知点32の各々に、候補点Cに近い位置ほど大きい値を付与し、該検知点32に付与した値の合計値で表す。
そして、物体30の検知点群Bにあてはめた形状モデルMにおける複数の候補点Cの内、検知点32の分布率の最も高い候補点Cを、物体30の対象点Tとして特定すればよい。
すなわち、特定機能10Nは、分布率を用いて対象点Tを特定することで、検知点群Bを構成する複数の検知点32における、候補点Cから所定の範囲内に含まれる検知点32の数や、候補点Cから該候補点Cに最も近い検知点32までの距離を用いて、物体30の対象点Tを特定することができる。
ここで、検知点32の分布率が高いほど、候補点Cに対する形状モデルMのあてはまりが良いといえる。このため、特定機能10Nが、検知点32の分布率の最も高い候補点Cを物体30の対象点Tとして特定することで、対象点Tの特定精度の向上を図ることができる。また、形状モデルMに設定された複数の候補点Cの内、周囲の検知点32の少ない不安定な候補点Cを対象点Tから除外することができる。このため、特定機能10Nは、異なるタイミングに観測された観測情報における、同じ物体30の対象点Tを精度良く特定することができる。
出力制御機能10Pは、出力部の一例である。出力制御機能10Pは、物体30の対象点Tを示す出力情報を、出力回路10Cから出力する。なお、出力制御機能10Pは、出力情報を記憶回路10Bへ記憶してもよい。また、出力制御機能10Pは、出力情報を、他の処理機能部(例えば、衝突判定や運動予測などを行う機能)に対して出力してもよい。また、出力制御機能10Pは、出力情報の記憶回路10Bへの記憶と、出力情報の出力と、出力情報の他の処理機能部への出力と、の少なくとも2つ以上を行ってもよい。
上述したように、出力情報は、物体30の対象点Tに関する情報を含む。具体的には、出力情報は、物体30の対象点Tの位置を示す情報、対象点Tに基づいて導出された物体30の移動方向、移動距離、移動速度、の少なくとも1つを含む。
例えば、出力制御機能10Pは、分類機能10Lで分類した検知点群Bの物体30の各々の対象点Tに関する出力情報を、出力回路10Cから出力する。
これによって、出力回路10Cにおける通信回路10Dが、外部装置などに、対象点Tに関する出力情報を送信する。また、例えば、出力回路10Cにおけるディスプレイ10Eに、出力情報が表示される。また、例えば、出力回路10Cにおけるスピーカ10Fが、出力情報に応じた音を出力する。出力情報に応じた音は、出力情報を示す音声であってもよいし、出力情報に応じた警告音であってもよい。
次に、処理回路10Aが実行する処理の手順を説明する。図5は、処理回路10Aが実行する処理の手順の一例を示す、フローチャートである。
まず、取得機能10Kが、センサ10Gから、観測情報を取得する(ステップS100)。次に、取得機能10Kは、ステップS100で取得した観測情報から、検知点32の各々の位置情報を取得する(ステップS102)。
次に、分類機能10Lが、ステップS102で位置情報を取得した複数の検知点32を、物体30を構成する検知点群Bに分類する(ステップS104)。次に、形状導出機能10Mが、ステップS104で分類した検知点群Bに、形状モデルMをあてはめる(ステップS106)。なお、ステップS104の処理において、形状導出機能10Mが、複数の検知点32を複数の検知点群Bに分類した場合には、形状導出機能10Mは、複数の検知点群Bの各々に、形状モデルMをあてはめる。
次に、特定機能10Nは、ステップS106であてはめた形状モデルMに基づいて、物体30の対象点Tを特定する(ステップS108)。なお、ステップS106の処理において、形状導出機能10Mが、複数の検知点群Bの各々に形状モデルMをあてはめた場合、特定機能10Nは、複数の形状モデルMの各々に対応する物体30の各々について、対象点Tを特定する。
次に、特定機能10Nは、ステップS108で特定した対象点Tに関する出力情報を、出力回路10Cから出力する(ステップS110)。
次に、処理回路10Aは、処理を終了するか否かを判断する(ステップS112)。例えば、処理回路10Aは、入力装置10Hから処理終了を示す信号を受付けたか否かを判別することで、ステップS112の判断を行う。ステップS112で否定判断すると(ステップS112:No)、上記ステップS100へ戻る。一方、ステップS112で肯定判断すると(ステップS112:Yes)、本ルーチンを終了する。
上記処理を実行することによって、処理回路10Aでは、センサ10Gが観測情報を取得する毎に、観測情報から取得した検知点32の各々の位置情報に基づいて検知点群Bに形状モデルMをあてはめ、形状モデルMに基づいて、物体30の対象点Tを特定する。このため、観測時刻などの異なる複数の観測情報の各々について、物体30の対象点Tを特定することができる。
図6は、本実施の形態の処理回路10Aによる、対象点Tの特定の一例を示す説明図である。形状モデルM1によって示される物体30Aが、センサ10Gから離れる方向(矢印X方向)に移動していると仮定する。そして、センサ10Gが、時刻t1、時刻t2、時刻t3、時刻t4、の各々の時刻の観測情報を取得したと仮定する。
そして、処理回路10Aが、時刻t1、時刻t2、時刻t3、および、時刻t4の各々の時刻の観測情報を取得するごとに、上記ステップS100〜ステップS112の処理を実行したと仮定する。
この場合、取得機能10Kは、時刻t1、時刻t2、時刻t3、および、時刻t4の各々の時刻における、物体30Aを構成する複数の検知点32(検知点321〜検知点325)の位置情報を取得する(図6(A)参照)。そして、分類機能10Lおよび形状導出機能10Mによって、時刻t1、時刻t2、時刻t3、および、時刻t4の各々の時刻における、物体30Aを構成する検知点群B1に、形状モデルM1があてはめられる(図6(A)、図6(B)参照)。
特定機能10Nは、時刻t1、時刻t2、時刻t3、および、時刻t4の各々のタイミングにおいてあてはめた形状モデルM1の各々について、形状モデルM1の複数の候補点Cの内の1つを、対象点Tとして特定する。図6に示す例は、特定機能10Nは、時刻t1、時刻t2、時刻t3、および、時刻t4の各々の時刻において、あてはめた形状モデルM1の各々の複数の候補点Cの内、センサ10Gに最も近い候補点C4を、対象点Tとして特定した場合を示した。
詳細には、特定機能10Nは、あてはめた形状モデルM1に設定されている候補点C(候補点C1〜候補点C4)の各々の位置を特定する。図6に示す例では、特定機能10Nは、長方形の形状モデルM1の4頂点の各々の位置を特定する。
次に、特定機能10Nは、観測情報を取得した各時刻(時刻t1、時刻t2、時刻t3、および、時刻t4)における、センサ10Gの位置を特定する。本実施の形態では、特定機能10Nは、情報処理装置10にセンサ10Gが設置されているものとし、情報処理装置10の位置をセンサ10Gの位置として用いる。なお、各検知点32に対するセンサ10Gの相対位置を、センサ10Gの位置として用いてもよい。
そして、特定機能10Nは、形状モデルM1を構成する複数の候補点C(候補点C1〜候補点C4)の各々と、センサ10Gと、の距離を算出する。特定機能10Nは、観測情報を取得した各時刻(時刻t1、時刻t2、時刻t3、および、時刻t4)の各々について、形状モデルM1に設定された候補点C1〜候補点C4の内、センサ10Gとの距離が最も小さい候補点C4を、対象点Tとして特定する。
このように、特定機能10Nは、形状モデルM1に予め設定した複数の候補点Cの内の1つを、対象点Tとして特定する。このため、観測情報を取得した時刻が異なる場合であっても、物体30の対象点Tを安定して特定することができる。
以上説明したように、本実施の形態の情報処理装置10は、取得機能10Kと、分類機能10Lと、形状導出機能10Mと、特定機能10Nと、を備える。取得機能10Kは、複数の検知点32の各々の位置情報を取得する。分類機能10Lは、複数の検知点32を、物体30を構成する検知点群Bに分類する。形状導出機能10Mは、分類された検知点群Bを構成する検知点32の各々の位置情報に基づいて、検知点群Bに所定の形状モデルMをあてはめる。特定機能10Nは、形状モデルMに基づいて、物体30の対象点Tを特定する。
このように、本実施の形態の情報処理装置10では、物体30を構成する検知点群Bにあてはめた形状モデルMに基づいて、物体30の対象点Tを特定する。
従って、本実施の形態の情報処理装置10では、物体30の対象点Tを精度良く特定することができる。
また、本実施の形態では、特定機能10Nは、形状モデルMに予め設定した複数の候補点の内の1つを、物体30の対象点Tとして特定する。このため、本実施の形態の情報処理装置10では、物体30における同じ位置を対象点Tとして特定することができる。すなわち、時刻や観察方向などの異なる複数の観測情報に、同じ物体30が含まれる場合であっても、同じ物体30について、該物体30における同じ位置を、対象点Tとして特定することができる。
なお、本実施の形態の情報処理装置10で特定した、物体30の対象点Tは、物体30の位置、物体30の移動量、および、物体30の移動速度、などの導出に用いることができる。
例えば、図6(C)に示すように、特定機能10Nは、時刻t1、時刻t2、時刻t3、および、時刻t4の各々において特定した、物体30Aの対象点Tを用いて、該物体30Aの移動方向、移動量、および、移動速度、の少なくとも1つを算出してもよい。
この場合、特定機能10Nは、例えば、物体30Aについて、異なる時刻の各々で特定した対象点Tを結ぶ直線の方向(図6(D)中の、矢印X方向参照)を、物体30Aの移動方向として算出する。また、特定機能10Nは、例えば、物体30Aについて、異なる時刻の各々で特定した対象点T間の距離を、各時刻間の移動量として算出する。また、特定機能10Nは、例えば、物体30Aについて、異なる時刻の各々で特定した対象点T間の距離と、時刻間の間隔と、を用いて、移動速度を算出する。
このため、本実施の形態の情報処理装置10で特定した物体30の対象点Tを用いることで、本実施の形態の情報処理装置10では、上記効果に加えて、物体30の位置、移動量、および移動速度の少なくとも1つを、高精度に導出することが出来る。
なお、物体30とセンサ10Gとの位置関係によっては、同じ物体30であっても、物体30における異なる位置が対象点Tとして特定される場合がある。
図7は、物体30における異なる位置が対象点Tとして特定される場合の説明図である。図7に示すように、物体30Aが、センサ10Gに近付く方向に向かって移動した後に離れる方向に向かって移動したと仮定する(図7中、矢印X方向参照)。
そして、特定機能10Nが、該物体30Aの検知点群B1にはてはめられた形状モデルM1に設定された候補点C(候補点C1〜候補点C4)における、センサ10Gに最も近い位置の候補点Cを、対象点Tとして特定したと仮定する。この場合、時刻t1で観測された観測情報に基づいて特定された、物体30Aの対象点Tは、物体30Aの検知点群B1にあてはめられた形状モデルM1における、候補点C1である。一方、時刻t2で観測された観測情報に基づいて特定された、物体30Aの対象点Tは、物体30Aの検知点群B1にあてはめられた形状モデルM1における、候補点C4である。
この場合、物体30Aの移動量を、時刻t2において対象点Tとして特定した候補点C4と、時刻t1において対象点Tとして特定した候補点C1、を用いて、物体30Aの移動距離、移動方向、および移動速度を算出すると、誤差が生じる。
そこで、特定機能10Nでは、特定した対象点Tを用いて物体30(図7では物体30A)の移動量、移動方向、および移動速度の少なくとも1つを導出する場合、以下の方法を用いることが好ましい。
詳細には、特定機能10Nは、この場合、異なる時刻の各々の物体30Aにあてはめられた形状モデルM1間における、互いに対応する位置の候補点Cを用いて、移動量、移動方向、および移動速度を導出すればよい。対応する位置の候補点Cとは、異なる時刻の同じ物体30(ここでは物体30A)の各々にあてはめられた複数の形状モデルM(例えば形状モデルM1)間における、同じ位置関係の候補点Cを示す。
図7に示す例では、特定機能10Nは、物体30Aの移動量、移動方向、および移動速度の少なくとも1つを導出する場合、時刻t1における候補点C1である対象点Tと、時刻t1の候補点C1に対応する、時刻t2における対応する候補点Cである候補点C1と、を用いて、物体30Aの移動量、移動方向、および移動速度を導出する。
これにより、本実施の形態の情報処理装置10では、上記効果に加えて、物体30の、移動量、移動方向、および移動速度の少なくとも1つを、精度良く導出することができる。
なお、特定機能10Nは、物体30Aの移動量、移動方向、および移動速度の少なくとも1つを導出する場合、時刻t1における対象点T(候補点C1)と、時刻t2における対象点T(候補点C4)と、の距離に、物体30Aにおける移動方向の長さを加算した値を、物体30Aの移動量として用いてもよい。なお、物体30Aにおける移動方向の長さに代えて、形状モデルMにおける、該候補点C1と該候補点C4との位置関係を用いてもよい。
なお、本実施の形態では、特定機能10Nは、形状モデルMに予め設定した複数の候補点Cの内、センサ10Gの位置に最も近い候補点C、検知点32の分布率の最も高い候補点C、検知点32に最も近い候補点C、の何れかを、対象点Tとして特定する場合を示した。しかし、特定機能10Nは、形状モデルMに予め設定された複数の候補点Cの内の1つを、対象点Tとして特定すればよく、その特定方法は限定されない。
また、特定機能10Nは、複数の特定方法を組み合わせて、対象点Tの特定に用いてもよい。例えば、特定機能10Nは、複数の特定方法の各々の基準値の合計値を、1つの基準値として求める。そして、特定機能10Nは、形状モデルMに設定された複数の候補点Cの各々を、該基準値を用いて判定し、最も良いと判定した候補点Cを、対象点Tとして特定してもよい。また、特定機能10Nは、複数の特定方法の各々に閾値を設定した判定処理を行い、合格判定の多かった(もしくはすべて合格した)候補点Cを、対象点Tとして特定してもよい。
このように、特定機能10Nが複数の特定方法を組み合わせて対象点Tを特定することで、情報処理装置10は、より精度良く対象点Tを特定することができる。
例えば、図7に示すように、同じ物体30Aにあてはめた形状モデルM1から対象点Tとして特定される候補点Cが変わる時刻(時刻t1、時刻t2)の時間帯では、1つの特定方法を用いて対象点Tを特定すると、対象点Tとして特定される候補点Cが変動する場合がある。一方、特定機能10Nが複数の特定方法を組み合わせて対象点Tを特定することで、このような変動を抑制することができる。
(第2の実施の形態)
図8は、情報処理装置14の構成の一例を示すブロック図である。本実施の形態では、情報処理装置14は、第1の実施の形態の情報処理装置10とは異なる方法で、対象点Tを特定する。
情報処理装置14の構成について詳細に説明する。
情報処理装置14は、物体30の対象点Tを特定する。情報処理装置14は、例えば、専用または汎用コンピュータである。情報処理装置14は、処理回路14Aと、記憶回路10Bと、出力回路10C(通信回路10D、ディスプレイ10E、スピーカ10F)と、センサ10Gと、入力装置10Hと、を備える。
情報処理装置14は、処理回路10Aに代えて処理回路14Aを備えた点以外は、第1の実施の形態の情報処理装置10と同様である。
処理回路14Aは、取得機能10Kと、分類機能10Lと、探索部14Rと、形状導出機能14Mと、特定機能14Nと、出力制御機能10Pと、を備える。処理回路14Aは、形状導出機能10Mおよび特定機能10Nに代えて、形状導出機能14Mおよび特定機能14Nを備え、探索部14Rを更に備える以外は、処理回路10Aと同様である。
本実施の形態では、処理回路14Aは、あるタイミング(第1のタイミングとする)の物体30の対象点Tを特定するときに、他のタイミング(第2のタイミングとする)の同じ物体30の対象点Tから、第1のタイミングの物体30の対象点Tを特定する。
第1のタイミングと第2のタイミングは、センサ10Gによる観測情報の取得タイミング、およびセンサ10Gの位置、の少なくとも一方が異なる。取得タイミングが異なる場合、第2のタイミングは、第1のタイミングより前のタイミングであってもよいし、第1のタイミングより後のタイミングであってもよい。センサ10Gの位置が異なる場合、情報処理装置14は、設置位置の異なる複数のセンサ10Gを備えた構成とすればよい。そして、各センサ10Gから取得した観測情報の内の1つを、第1のタイミングの観測情報とし、他のセンサ10Gから取得した観測情報を、第2のタイミングの観測情報として用いればよい。
なお、第2のタイミングが第1のタイミングより後の(すなわち第1のタイミングより未来の)タイミングである場合、処理回路14Aでは、各タイミングに対応する複数の観測情報を取得した後に、各タイミングの観測情報に基づいた物体30の対象点Tの特定を行えばよい。
本実施の形態の処理回路14Aは、探索部14Rを更に備える。また、処理回路14Aは、第1の実施の形態の形状導出機能10Mおよび特定機能10Nに代えて、形状導出機能14Mおよび特定機能14Nを備える。なお、なお、取得機能10K、分類機能10L、および出力制御機能10Pは、第1の実施の形態と同様である。
図9は、処理回路14Aによる処理の説明図である。
探索部14Rは、第1のタイミングt1’における物体30を構成する検知点群Bに対応する、第2のタイミングt2’における同じ物体30を構成する検知点群Bを探索する。
例えば、図9(A)に示すように、取得機能10Kが、第2のタイミングt2’における物体30Fを構成する検知点32の位置情報として、検知点32c〜検知点32fの位置情報を取得したと仮定する。また、分類機能10Lが、これらの検知点32c〜検知点32fを、物体30Fを構成する検知点群Bbに分類したと仮定する。
取得機能10Kは、第1のタイミングt1’における検知点32(検知点32a、検知点32b)の各々の位置情報を取得する。すると、分類機能10Lは、これらの検知点32(検知点32a、検知点32b)を、物体30Fを構成する検知点群Baに分類する。
そして、探索部14Rは、分類機能10Lで分類した検知点群Bの各々について、第2のタイミングt2’における、同じ物体30を構成する検知点群Bを探索する。
例えば、探索部14Rは、第2のタイミングt2’における検知点群Bを記憶しておく。そして、探索部14Rは、第1のタイミングt1’における検知点群Baを分類機能10Lから受付けると、該検知点群Baの物体30Fと同一の物体30Fを構成する検知点群B(検知点群Bb)を、第2のタイミングt2’の検知点群Bから探索する。
例えば、探索部14Rは、第1のタイミングt1’における検知点群Baを構成する検知点32の各々について、1点ごとに、第2のタイミングt2’における対応する検知点32を探索する。そして、探索部14Rは、第2のタイミングt2’の検知点群Bの内、第1のタイミングt1’における検知点群Baを構成する検知点32に対して対応する検知点32を最も多く含む検知点群Bを、同じ物体30Fを構成する検知点群Bbとして探索する。
具体的には、探索部14Rは、第1のタイミングt1’における検知点群Baを構成する検知点32の各々の位置情報を用いて、第2のタイミングt2’における最も近い位置に存在する検知点32を、対応する検知点32として探索する。そして、第2のタイミングt2’における対応する検知点32の最も多い検知点群Bを、該第2のタイミングt2’における同じ物体30Fの検知点群Bbとして探索すればよい。
なお、探索部14Rは、他の方法を用いて、第1のタイミングt1’における検知点群Baを構成する検知点32の各々に対応する、第2のタイミングt2’における検知点32を探索してもよい。
例えば、探索部14Rは、第1のタイミングt1’における検知点群Baを構成する検知点32について、1点ごとに、周辺の他の検知点32の分布を示す特徴量を算出する。そして、探索部14Rは、第2のタイミングt2’における、該特徴量の最も近い検知点32を、対応する検知点32として探索してもよい。
また、探索部14Rは、第1のタイミングt1’と第2のタイミングt2’との差分(例えば、経過時間)と、第2のタイミングt2’における物体30Fの移動方向および移動量に基づいて、第1のタイミングt1’における検知点群Baに対応する、第2のタイミングt2’における同じ物体30Fの検知点群Bbを探索してもよい。
このようにして、探索部14Rは、第1のタイミングt1’における検知点群Baの示す物体30Fと同一の物体30Fを構成する検知点群Bbを、第2のタイミングt2’の検知点32から探索する。
なお、探索部14Rは、第1のタイミングt1’で分類された検知点群Bと、第2のタイミングt2’で分類された検知点群Bと、を用いて、同じ物体30を構成する検知点群Bごとに、対応づけを行ってもよい。この場合、探索部14Rは、検知点群Bを構成する検知点32の各々の移動量や、検知点群Bを構成する検知点32の各々の該特徴量を用いて、対応する検知点群Bを探索すればよい。
形状導出機能14Mは、形状導出部の一例である。形状導出機能14Mは、第1のタイミングt1’における検知点群Baと、第2のタイミングt2’における対応する検知点群Bbと、の各々に、形状モデルMをあてはめる。形状導出機能14Mは、第1の実施の形態の形状導出機能10Mと同様にして、検知点群Bへ形状モデルMをあてはめればよい。
図9に示す例では、形状導出機能14Mは、第1のタイミングt1’における物体30Fの検知点群Baに、形状モデルMをあてはめる。また、形状導出機能14Mは、第2のタイミングt2’における、同じ物体30Fの検知点群Bbに、形状モデルM’をあてはめる(図9(B)参照)。
そして、特定機能14Nは、第1のタイミングt1’の検知点群Baにあてはめられた形状モデルMにおける、第2のタイミングt2’の検知点群Bbにあてはめられた形状モデルM’に基づいて設定された対象点T’に基づいて、第1のタイミングt1’の物体30Fの対象点Tを特定する(図9(B)参照)。
詳細には、まず、特定機能14Nは、第2のタイミングt2’の検知点群Bbに形状モデルM’をあてはめ、該形状モデルM’の候補点Cの内の1つを、対象点T’として特定する。形状モデルM’のあてはめ、および、対象点T’の特定方法は、第1の実施の形態と同様である。
なお、特定機能14Nは、第2のタイミングt2’における、検知点群Bbにあてはめた形状モデルM’に、対象点T’が既に特定済である場合、特定済の対象点T’を読取ることで、対象点T’を特定すればよい。
そして、特定機能14Nは、第1のタイミングt1’の検知点群Baにあてはめられた形状モデルMに設定された複数の候補点C(C1〜C4)の内、第2のタイミングt2’の形状モデルM’の対象点T’に基づいて、検知点群Baの対象点Tを特定する。
図9(B)に示す例では、特定機能14Nは、物体30Fがセンサ10Gから離れる方向(矢印X方向)に向かって移動しているものとして、形状モデルMおよび形状モデルM’の各々の候補点Cを対応づける。これにより、図9(B)に示す例では、特定機能14Nは、第1のタイミングt1’の形状モデルMに設定された複数の候補点C(C1〜C4)の内、第2のタイミングt2’の形状モデルM’の対象点T’(候補点C4)に対応する位置の候補点C4を、検知点群Baの対象点Tとして特定する。
このように、本実施の形態では、特定機能14Nは、他のタイミング(第2のタイミングt2’)で特定した対象点T’を用いて、第1のタイミングt1’における同じ物体30の対象点Tを特定する。
このため、本実施の形態の情報処理装置14では、例えば、第1のタイミングt1’における、物体30を構成する検知点群Bに含まれる検知点32の数が少ない場合や、あてはめた形状モデルMにおける複数の候補点Cの何れもがセンサ10Gから遠い位置に存在する場合であっても、安定して物体30の対象点Tを特定することができる。
なお、第2のタイミングt2’として用いる観測情報には、他のタイミングの観測情報から導出した検知点群Bを構成する検知点32の数に比べて、検知点群Bを構成する検知点32の数が多いものを用いることが好ましい。また、第2のタイミングt2’として用いる観測情報には、他のタイミングの観測情報に比べて、センサ10Gから物体30までの距離の近いものを用いることが好ましい。
これによって、特定機能14Nは、より精度良く物体30の対象点Tを特定することができる。
なお、上記には、探索部14Rが、第2のタイミングt2’における検知点群Bを記憶しておき、第1のタイミングt1’における検知点群Baの物体30Fと同一の物体30Fを構成する検知点群B(検知点群Bb)を、第2のタイミングt2’の検知点群Bから探索する形態を示した。
しかし、処理回路14Aは、第1のタイミングt1’における検知点群Baにあてはめた形状モデルMに対応する、第2のタイミングt2’の同じ物体30Fの形状モデルM’を、第2のタイミングt2’における検知点群Bにあてはめた形状モデルMから探索し、対象点Tの特定に用いてもよい。
また、本実施の形態では、第1のタイミングt1’と第2のタイミングt2’の2つのタイミングを用いて対象点Tを特定する場合を説明した。しかし、処理回路14Aは、第1のタイミングt1’に対して、複数の第2のタイミングt2’を用いて、対象点Tを特定してもよい。
また、処理回路14Aは、第2のタイミングt2’における物体30Fの移動方向や移動速度から、第1のタイミングt1’における同じ物体30Fの移動を予測してもよい。そして、処理回路14Aは、予測した位置における形状モデルMと、第1のタイミングt1’における検知点群Baにあてはめた形状モデルMと、を用いて、対象点Tの特定を行ってもよい。
次に、処理回路14Aが実行する処理の手順の一例を説明する。図10は、処理回路14Aが実行する処理の手順の一例を示す、フローチャートである。なお、図10に示すフローでは、第2のタイミングt2’は、第1のタイミングt1’より前の(過去の)タイミングであるものとして説明する。
まず、取得機能10Kが、センサ10Gから、第1のタイミングt1’の観測情報を取得する(ステップS200)。この第1のタイミングt1’は、センサ10Gが新たに観測情報の取得する毎に、該観測情報の取得タイミングに更新すればよい。
次に、取得機能10Kは、ステップS200で取得した、第1のタイミングt1’の観測情報から、検知点32の各々の位置情報を取得する(ステップS202)。
次に、分類機能10Lが、ステップS202で位置情報を取得した複数の検知点32を、物体30を構成する検知点群Bに分類する(ステップS204)。ステップS204では、分類機能10Lが、複数の検知点32(検知点32a、検知点32b)を、物体30Fを構成する検知点群Baに分類したと仮定して、説明を続ける。
次に、探索部14Rは、第2のタイミングt2’における対応する物体30Fの検知点群Bbを探索する(ステップS206)。次に、形状導出機能14Mは、第1のタイミングt1’における物体30Fの検知点群Baに、形状モデルMをあてはめる(ステップS208)。また、形状導出機能14Mは、第2のタイミングt2’における、同じ物体30Fの検知点群Bbに、形状モデルM’をあてはめる(ステップS208)。
次に、特定機能14Nは、第2のタイミングt2’の検知点群Bbにあてはめられた形状モデルM’の複数の候補点Cの内の1つを、対象点T’として特定する(ステップS210)。
次に、特定機能14Nは、第1のタイミングt1’の検知点群Baにあてはめられた形状モデルMに設定された複数の候補点C(C1〜C4)の内、ステップS210で特定した対象点T’に対応する位置の候補点Cを、第1のタイミングt1’における物体30Fの対象点Tとして特定する(ステップS212)。
次に、特定機能14Nは、ステップS212で特定した対象点Tを示す出力情報を出力する(ステップS214)。
次に、処理回路14Aは、処理を終了するか否かを判断する(ステップS216)。例えば、処理回路14Aは、入力装置10Hから処理終了を示す信号を受付けたか否かを判別することで、ステップS216の判断を行う。ステップS216で否定判断すると(ステップS216:No)、上記ステップS200へ戻る。一方、ステップS216で肯定判断すると(ステップS216:Yes)、本ルーチンを終了する。
以上説明したように、本実施の形態の情報処理装置14では、探索部14Rが、第1のタイミングt1’の検知点32の位置情報に基づいて分類された物体30を構成する検知点群Bに対応する、第2のタイミングt2’の検知点32の位置情報に基づいて分類された同じ物体30を構成する検知点群Bを探索する。特定機能14Nは、第1のタイミングt1’の検知点群Bにあてはめられた形状モデルMにおける、第2のタイミングt2’の検知点群Bにあてはめられた形状モデルMに基づいて設定された対象点T’に対応する位置を、第1のタイミングt1’の物体30の対象点Tとして特定する。
このように、本実施の形態の情報処理装置14は、異なるタイミングの観測情報に基づいて特定した対象点T’を用いて、処理対象のタイミングの観測情報に含まれる、物体30の対象点Tを特定する。
従って、本実施の形態の情報処理装置14では、第1の実施の形態の効果に加えて、対象点Tを安定して精度良く特定することができる。また、本実施の形態の情報処理装置14では、第1の実施の形態の効果に加えて、処理回路14Aへの処理負荷の軽減、および、処理速度の向上の少なくとも一方を図ることができる。
(第3の実施の形態)
図11は、本実施の形態の情報処理装置16の構成の一例を示すブロック図である。本実施の形態の情報処理装置16は、検知点群Bに複数の形状モデルMをあてはめ、複数の形状モデルMに基づいて、物体30の対象点Tを特定する。
情報処理装置16は、上記実施の形態の情報処理装置10、情報処理装置14と同様に、物体30の対象点Tを特定する。情報処理装置16は、例えば、専用または汎用コンピュータである。
情報処理装置16は、処理回路16Aと、記憶回路10Bと、出力回路10Cと、センサ10Gと、入力装置10Hと、を備える。情報処理装置16は、処理回路10Aに代えて処理回路16Aを備えた点以外は、第1の実施の形態の情報処理装置10と同様である。
処理回路16Aは、取得機能10Kと、分類機能10Lと、形状導出機能16Mと、特定機能16Nと、出力制御機能10Pと、を備える。処理回路16Aは、形状導出機能10Mおよび特定機能10Nに代えて、形状導出機能16Mおよび特定機能16Nを備える以外は、処理回路10Aと同様である。
形状導出機能16Mは、分類機能10Lが分類した検知点群Bに、形状および位置の少なくとも一方の異なる複数の形状モデルMをあてはめる。言い換えると、本実施の形態では、形状導出機能16Mは、1つの検知点群Bに対して、複数の形状モデルMをあてはめる。
形状導出機能16Mは、第1の実施の形態の形状導出機能10Mと同様にして形状モデルMをあてはめる。なお、第1の実施の形態では、形状導出機能10Mは、1つの物体30を構成する検知点群Bごとに、水平面に投影した検知点群Bに対して初期形状モデルの変数を微小に変化させ、評価関数を最小にする1つの初期形状モデルを、形状モデルMとしてあてはめた。一方、本実施の形態では、形状導出機能10Mは、1つの物体30を構成する検知点群Bごとに、評価関数が最小のものから順に予め定めた複数の数の初期形状モデルを、複数の形状モデルMとしてあてはめる。
図12は、処理回路16Aによる対象点Tの特定の説明図である。図12には、複数の検知点32を含む検知点群Bに対して、互いに形の異なる2つの形状モデルM(形状モデルM10(図12(A)参照)、形状モデルM11(図12(B)参照))の各々をあてはめた場合を示した。図12に示す現象は、物体30上における観測面が変わる事などにより生じる場合がある。
特定機能16Nは、検知点群Bにあてはめた複数の形状モデルMに基づいて、該検知点群Bの示す物体30の対象点Tを特定する。
ここで、図12(A)、図12(B)の各々に示す形状モデルM(形状モデルM10、形状モデルM11)を、検知点32に対する位置が一致するように重ねて示すと、図12(C)に示すものとなる。
特定機能16Nは、あてはめた複数の形状モデルMの各々に設定された候補点C(形状モデルM11の候補点C1’〜候補点C4’、形状モデルM10の候補点C1〜候補点C4)の内の1つの候補点Cを、対象点Tとして特定する。複数の候補点Cから、対象点Tとして1つの候補点Cを特定する方法は、第1の実施の形態における特定機能10Nと同様の方法を用いればよい。
例えば、特定機能16Nは、複数の形状モデルMの各々に設定された候補点C(形状モデルM11の候補点C1’〜候補点C4’、形状モデルM10の候補点C1〜候補点C4)の内、センサ10Gの位置に最も近い候補点C(例えば、候補点C4)を、対象点Tとして特定すればよい。
なお、特定機能16Nは、検知点群Bにあてはめた複数の形状モデルMについて、同じ領域に存在する候補点Cごとの平均位置を用いて、対象点Tを特定してもよい。同じ領域とは、形状モデルMにおける位置が同じ領域を意味する。
図13は、処理回路16Aによる対象点Tの特定の説明図である。図13には、複数の検知点32を含む検知点群Bに対して、互いに位置の異なる5つの形状モデルM(形状モデルM20〜形状モデルM24(図13(A)〜図13(E)参照)の各々をあてはめた場合を示した。図13に示す現象は、評価関数の小さい(評価関数が予め定めた値未満)の形状モデルMが、真の物体の形状の近傍に複数存在する場合に生じる。
図13(A)〜図13(E)の各々に示す形状モデルM(形状モデルM20〜形状モデルM24)の各々の検知点32を、物体30の真の形状を示す長方形にあてはめて表すと、図13(F)に示すものとなる。
特定機能16Nは、これらの形状モデルM(形状モデルM20〜形状モデルM24)の各々に設定された候補点Cの各々について、形状モデルMにおける同じ領域の候補点Cの群(群C10〜群C13)ごとに、候補点Cの平均位置を求める。そして、求めた平均位置の各々を、該検知点群Bに対応する候補点C(C10’、C11’、C12’、C13’)として用いる。
そして、特定機能16Nは、これらの複数の候補点C(C10’、C11’、C12’、C13’)の内の1つの候補点Cを、対象点Tとして特定する。複数の候補点C(C10’、C11’、C12’、C13’)から、対象点Tとして1つの候補点Cを特定する方法は、第1の実施の形態における特定機能10Nと同様の方法を用いればよい。なお、特定機能16Nは、候補点Cの平均位置に代えて、候補点Cの中点や重み付け平均を用いてもよい。
次に、処理回路16Aが実行する処理の手順を説明する。図14は、処理回路16Aが実行する処理の手順の一例を示す、フローチャートである。
まず、取得機能10Kが、センサ10Gから、観測情報を取得する(ステップS300)。次に、取得機能10Kは、ステップS300で取得した観測情報から、検知点32の各々の位置情報を取得する(ステップS302)。
次に、分類機能10Lが、ステップS302で位置情報を取得した複数の検知点32を、物体30を構成する検知点群Bに分類する(ステップS304)。次に、形状導出機能16Mが、ステップS304で分類した検知点群Bに、複数の形状モデルMをあてはめる(ステップS306)。
次に、特定機能16Nは、ステップS306であてはめた複数の形状モデルMに基づいて、対象点Tを特定する(ステップS308)。次に、特定機能16Nは、ステップS308で特定した対象点Tを示す出力情報を出力する(ステップS310)。
次に、処理回路16Aは、処理を終了するか否かを判断する(ステップS312)。例えば、処理回路16Aは、入力装置10Hから処理終了を示す信号を受付けたか否かを判別することで、ステップS312の判断を行う。ステップS312で否定判断すると(ステップS312:No)、上記ステップS300へ戻る。一方、ステップS312で肯定判断すると(ステップS312:Yes)、本ルーチンを終了する。
以上説明したように、本実施の形態の情報処理装置16では、形状導出機能16Mが、検知点群Bに、形状および位置の少なくとも一方の異なる複数の形状モデルMをあてはめる。特定機能16Nは、複数の形状モデルMに基づいて、物体30の対象点Tを特定する。
このため、本実施の形態の情報処理装置16では、形状モデルMのあてはめが不安定な場合であっても、安定して物体30の対象点Tを特定することができる。
従って、本実施の形態の情報処理装置16では、上記第1の実施の形態の情報処理装置10の効果に加えて、更に精度良く、物体30の対象点Tを特定することができる。
次に、上記実施の形態の情報処理装置10、情報処理装置14、および、情報処理装置16のハードウェア構成の一例を説明する。図15は、上記実施の形態の情報処理装置10、情報処理装置14、および情報処理装置16のハードウェア構成図の一例である。
上記実施の形態の情報処理装置10、情報処理装置14、および情報処理装置16は、CPU(Central Processing Unit)86などの制御装置と、ROM(Read Only Memory)88やRAM(Random Access Memory)90やHDD(ハードディスクドライブ)92などの記憶装置と、各種機器とのインターフェースであるI/F部82と、出力情報などの各種情報を出力する出力部80と、ユーザによる操作を受付ける入力部94と、各部を接続するバス96とを備えており、通常のコンピュータを利用したハードウェア構成となっている。
上記実施の形態の情報処理装置10、情報処理装置14、および情報処理装置16では、CPU86が、ROM88からプログラムをRAM90上に読み出して実行することにより、上記各機能がコンピュータ上で実現される。
なお、上記実施の形態の情報処理装置10、情報処理装置14、および情報処理装置16で実行される上記各処理を実行するためのプログラムは、HDD92に記憶されていてもよい。また、上記実施の形態の情報処理装置10、情報処理装置14、および情報処理装置16で実行される上記各処理を実行するためのプログラムは、ROM88に予め組み込まれて提供されていてもよい。
また、上記実施の形態の情報処理装置10、情報処理装置14、および情報処理装置16で実行される上記処理を実行するためのプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、CD−R、メモリカード、DVD(Digital Versatile Disk)、フレキシブルディスク(FD)等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されるようにしてもよい。また、上記実施の形態の情報処理装置10、情報処理装置14、および情報処理装置16で実行される上記処理を実行するためのプログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記実施の形態の情報処理装置10、情報処理装置14、および情報処理装置16で実行される上記処理を実行するためのプログラムを、インターネットなどのネットワーク経由で提供または配布するようにしてもよい。
なお、上記には、本発明の実施の形態を説明したが、上記実施の形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。