(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-25
(45)【発行日】2023-09-04
(54)【発明の名称】推定装置、推定方法及びプログラム
(51)【国際特許分類】
G01C 21/30 20060101AFI20230828BHJP
G01C 21/26 20060101ALI20230828BHJP
G08G 1/0969 20060101ALI20230828BHJP
G09B 29/10 20060101ALN20230828BHJP
【FI】
G01C21/30
G01C21/26 B
G08G1/0969
G09B29/10 A
(21)【出願番号】P 2019168061
(22)【出願日】2019-09-17
【審査請求日】2022-03-14
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】317011920
【氏名又は名称】東芝デバイス&ストレージ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】杉浦 貴行
(72)【発明者】
【氏名】渡辺 友樹
(72)【発明者】
【氏名】関 晃仁
【審査官】宮本 礼子
(56)【参考文献】
【文献】特開2007-322138(JP,A)
【文献】特開2015-036840(JP,A)
【文献】特表2011-511281(JP,A)
【文献】特開2018-116014(JP,A)
【文献】特開2018-185239(JP,A)
【文献】特開平05-066713(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01C 21/00-25/00
G08G 1/00-99/00
G09B 29/10
(57)【特許請求の範囲】
【請求項1】
第1のランドマークの地図中の位置及び姿勢の少なくとも一方を示す第1の位置情報を記憶する記憶部と、
移動体の周辺の第2のランドマークの位置及び姿勢の少なくとも一方を示す第2の位置情報
と、前記移動体の時系列の相対位置及び姿勢の少なくとも一方を示す相対位置情報と、を取得する取得部と、
前記第1の位置情報と前記第2の位置情報とに基づいて、前記移動体の地図中の位置及び姿勢の少なくとも一方を示す第3の位置情報、及び、前記第1のランドマークと前記第2のランドマークとの対応付けを推定する推定部と、を備え、
前記推定部は、前記第3の位置情報により特定される位置又は姿勢の少なくとも一方における前記第2のランドマークの観測誤差
、前記第2のランドマークに対応付けられる前記第1のランドマークと前記対応付けの誤差とを示す対応付け誤差、
及び、時系列の前記第3の位置情報により特定される前記移動体の相対位置及び姿勢の少なくとも一方と前記相対位置情報に含まれる相対位置及び姿勢の少なくとも一方との誤差を示す相対位置誤差がより小さくなるようにして、前記第3の位置情報と前記対応付けとを推定する、
推定装置。
【請求項2】
前記第2のランドマーク毎に、前記第2のランドマークの特徴に基づいて、対応付けの対象とする前記第1のランドマークを限定する限定部を更に備え、
前記推定部は、前記限定部によって限定された第1のランドマークと、前記第2のランドマークとの対応付けを推定する、
請求項1に記載の推定装置。
【請求項3】
前記限定部は、前記第2のランドマークの位置、姿勢、形状、種類及び状態の少なくとも1つに基づいて、対応付けの対象とする前記第1のランドマークを限定する、
請求項2に記載の推定装置。
【請求項4】
前記記憶部は、前記第1の位置情報を含む地図データを複数、記憶し、
前記限定部は、前記地図データ毎に、対応付けの対象とする前記第1のランドマークを限定し、
前記推定部は、前記限定部によって限定された第1のランドマークと前記第2のランドマークとの対応付け、及び、前記第3の位置情報を、前記地図データ毎に推定する、
請求項2に記載の推定装置。
【請求項5】
前記相対位置情報のスケールは、前記第1の位置情報を含む地図データのスケールとは異なり、
前記推定部は、前記相対位置情報のスケールを、前記地図データのスケールに変化させてから、前記相対位置誤差を算出する、
請求項
1に記載の推定装置。
【請求項6】
前記推定部は、前記相対位置誤差を算出するときのスケールを、前記移動体の各時刻の位置及び姿勢の少なくとも一方毎に算出する、
請求項
5に記載の推定装置。
【請求項7】
前記推定部は、前記第2のランドマークと、前記第1のランドマークとの対応付けを1対1にして、前記対応付けを推定する、
請求項1に記載の推定装置。
【請求項8】
第1のランドマークの地図中の位置及び姿勢の少なくとも一方を示す第1の位置情報を記憶するステップと、
移動体の周辺の第2のランドマークの位置及び姿勢の少なくとも一方を示す第2の位置情報
と、前記移動体の時系列の相対位置及び姿勢の少なくとも一方を示す相対位置情報と、を取得するステップと、
前記第1の位置情報と前記第2の位置情報とに基づいて、前記移動体の地図中の位置及び姿勢の少なくとも一方を示す第3の位置情報、及び、前記第1のランドマークと前記第2のランドマークとの対応付けを推定するステップと、を含み、
前記推定するステップは、前記第3の位置情報により特定される位置又は姿勢の少なくとも一方における前記第2のランドマークの観測誤差、及び、前記第2のランドマークに対応付けられる前記第1のランドマークと前記対応付けの誤差とを示す対応付け誤差、
及び、時系列の前記第3の位置情報により特定される前記移動体の相対位置及び姿勢の少なくとも一方と前記相対位置情報に含まれる相対位置及び姿勢の少なくとも一方との誤差を示す相対位置誤差がより小さくなるようにして、前記第3の位置情報と前記対応付けとを推定する、
推定方法。
【請求項9】
コンピュータを、
第1のランドマークの地図中の位置及び姿勢の少なくとも一方を示す第1の位置情報を記憶する記憶部と、
移動体の周辺の第2のランドマークの位置及び姿勢の少なくとも一方を示す第2の位置情報
と、前記移動体の時系列の相対位置及び姿勢の少なくとも一方を示す相対位置情報と、を取得する取得部と、
前記第1の位置情報と前記第2の位置情報とに基づいて、前記移動体の地図中の位置及び姿勢の少なくとも一方を示す第3の位置情報、及び、前記第1のランドマークと前記第2のランドマークとの対応付けを推定する推定部として機能させ、
前記推定部は、前記第3の位置情報により特定される位置又は姿勢の少なくとも一方における前記第2のランドマークの観測誤差、及び、前記第2のランドマークに対応付けられる前記第1のランドマークと前記対応付けの誤差とを示す対応付け誤差、
及び、時系列の前記第3の位置情報により特定される前記移動体の相対位置及び姿勢の少なくとも一方と前記相対位置情報に含まれる相対位置及び姿勢の少なくとも一方との誤差を示す相対位置誤差がより小さくなるようにして、前記第3の位置情報と前記対応付けとを推定する、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は推定装置、推定方法及びプログラムに関する。
【背景技術】
【0002】
自動運転や運転者支援では、自車両の地図中の自己位置を推定することで、地図に紐付いた情報を活用した高度な判断や、自車両の運動推定の高精度化が期待されている。ロボット分野においても地図中の自己位置はあらかじめ設定した移動経路に対する追従走行に利用することが出来る。移動体に搭載されたセンサで観測したランドマークと、地図データベースにあらかじめ登録されている位置が既知のランドマークとを照合し、ランドマークの観測に矛盾が少ないセンサの位置情報を利用して、地図中の自己位置を推定する技術が従来から知られている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術では、ランドマークの照合に誤対応が起こり得る状況では、推定処理の精度を向上させることが難しかった。
【課題を解決するための手段】
【0005】
実施形態の推定装置は、記憶部と取得部と推定部とを備える。記憶部は、第1のランドマークの地図中の位置及び姿勢の少なくとも一方を示す第1の位置情報を記憶する。取得部は、移動体の周辺の第2のランドマークの位置及び姿勢の少なくとも一方を示す第2の位置情報と、前記移動体の時系列の相対位置及び姿勢の少なくとも一方を示す相対位置情報と、を取得する。推定部は、前記第1の位置情報と前記第2の位置情報とに基づいて、前記移動体の地図中の位置及び姿勢の少なくとも一方を示す第3の位置情報、及び、前記第1のランドマークと前記第2のランドマークとの対応付けを推定する。前記推定部は、前記第3の位置情報により特定される位置又は姿勢の少なくとも一方における前記第2のランドマークの観測誤差、及び、前記第2のランドマークに対応付けられる前記第1のランドマークと前記対応付けの誤差とを示す対応付け誤差、及び、時系列の前記第3の位置情報により特定される前記移動体の相対位置及び姿勢の少なくとも一方と前記相対位置情報に含まれる相対位置及び姿勢の少なくとも一方との誤差を示す相対位置誤差がより小さくなるようにして、前記第3の位置情報と前記対応付けとを推定する。
【図面の簡単な説明】
【0006】
【
図2】第1実施形態の移動体の機能構成の例を示す図。
【
図3】第1実施形態の第1の位置情報の例を示す図。
【
図4A】第1実施形態の推定部の動作例を説明するための図。
【
図5A】第1実施形態の推定部の推定結果を説明するための図。
【
図6】第1実施形態の推定方法の例を示すフローチャート。
【
図7】第2実施形態の移動体の機能構成の例を示す図。
【
図8】第2実施形態の第1の位置情報の例を示す図。
【
図9A】第2実施形態の限定部により限定された第1のランドマークの例1を示す図。
【
図9B】第2実施形態の限定部により限定された第1のランドマークの例2を示す図。
【
図9C】第2実施形態の限定部により限定された第1のランドマークの例3を示す図。
【
図10B】第2実施形態の推定部の推定結果に対応する重み行列の例を示す図。
【
図11】第2実施形態の推定方法の例を示すフローチャート。
【
図12】第3実施形態の推定方法の例を示すフローチャート。
【
図13】第1乃至第3実施形態の推定装置のハードウェア構成の例を示す図。
【発明を実施するための形態】
【0007】
以下、添付図面を参照して実施形態の推定装置、推定方法及びプログラムについて説明する。
【0008】
(第1実施形態)
第1実施形態の推定装置は、例えば移動体に搭載される。
【0009】
[移動体の例]
図1は第1実施形態の移動体10の例を示す図である。
【0010】
移動体10は、推定装置20、出力部10A、カメラ10B、センサ10C、動力制御部10G及び動力部10Hを備える。
【0011】
移動体10は任意でよい。移動体10は、例えば車両、台車及び移動ロボット等である。車両は、例えば自動二輪車、自動四輪車及び自転車等である。また、移動体10は、例えば人による運転操作を介して走行する移動体でもよいし、人による運転操作を介さずに自動的に走行(自律走行)可能な移動体でもよい。
【0012】
推定装置20は、例えば専用又は汎用のコンピュータハードウェアにより実現される。推定装置20は、移動体10の位置及び姿勢の少なくとも一方を示す自己位置を推定する。具体的には、推定装置20は、移動体10の自己位置を時系列に推定するときに同時に、カメラ10Bで観測されたランドマーク(第2のランドマーク)と、地図データに登録されているランドマーク(第1のランドマーク)との対応付けを照合する。これによりランドマークの対応付けにロバストな自己位置推定を可能とする。
【0013】
なお、推定装置20は、移動体10に搭載された形態に限定されない。推定装置20は、静止物に搭載されていてもよい。静止物は、例えば地面に固定された物等の移動不可能な物である。地面に固定された静止物は、例えばガードレール、ポール、駐車車両及び道路標識等である。また例えば、静止物は、地面に対して静止した状態の物である。また、推定装置20は、クラウドシステム上で処理を実行するクラウドサーバに搭載されていてもよい。
【0014】
動力部10Hは、移動体10に搭載された駆動デバイスである。動力部10Hは、例えば、エンジン、モータ及び車輪等である。
【0015】
動力制御部10Gは、動力部10Hを制御する。動力制御部10Gの制御によって動力部10Hが駆動する。
【0016】
出力部10Aは情報を出力する。第1実施形態では、出力部10Aは、推定装置20により推定されたカメラ10Bの運動の推定結果を示す推定結果情報を出力する。
【0017】
出力部10Aは、例えば、推定結果情報を送信する通信機能、推定結果情報を表示する表示機能、及び、推定結果情報を示す音を出力する音出力機能等を備える。出力部10Aは、例えば通信部10D、ディスプレイ10E及びスピーカ10Fの少なくとも1つを備える。なお、第1実施形態では、出力部10Aは、通信部10D、ディスプレイ10E及びスピーカ10Fを備えた構成を例にして説明する。
【0018】
通信部10Dは、推定結果情報を他の装置へ送信する。例えば、通信部10Dは、通信回線を介して推定結果情報を他の装置へ送信する。ディスプレイ10Eは、推定結果に関する情報を表示する。ディスプレイ10Eは、例えばLCD(Liquid Crystal Display)、投影装置及びライト等である。スピーカ10Fは、推定結果に関する情報を示す音を出力する。
【0019】
カメラ10Bは、例えば単眼カメラ、ステレオカメラ、魚眼カメラ及び赤外線カメラ等である。カメラ10Bの数は任意でよい。また、撮像される画像はRGBの3チャネルで構成されたカラー画像であってもよく、グレースケールで表現された1チャネルのモノクロ画像であってもよい。カメラ10Bは、移動体10周辺の時系列の画像を撮像する。カメラ10Bは、例えば移動体10の周辺を時系列に撮像することにより、時系列の画像を撮像する。移動体10の周辺は、例えば当該移動体10から予め定められた範囲内の領域である。この範囲は、例えばカメラ10Bの撮像可能な範囲である。
【0020】
第1実施形態では、カメラ10Bが、移動体10の前方を撮影方向として含むように設置されている場合を例にして説明する。すなわち、第1実施形態では、カメラ10Bは、移動体10の前方を時系列に撮像する。
【0021】
センサ10Cは、測定情報を測定するセンサである。測定情報は、例えば移動体10の速度、並びに、移動体10のハンドルの舵角を含む。センサ10Cは、例えば慣性計測装置(IMU:Inertial Measurement Unit)、速度センサ及び舵角センサ等である。IMUは、移動体10の三軸加速度及び三軸角速度を含む測定情報を測定する。速度センサは、タイヤの回転量から速度を測定する。舵角センサは、移動体10のハンドルの舵角を測定する。また例えば、センサ10Cは、LiDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)のように物体までの距離を計測する奥行距離センサである。
【0022】
次に、第1実施形態の移動体10の機能構成の例について詳細に説明する。
【0023】
[機能構成の例]
図2は第1実施形態の移動体10の機能構成の例を示す図である。
【0024】
移動体10は、推定装置20、出力部10A、カメラ10B、センサ10C、動力制御部10G及び動力部10Hを備える。推定装置20は、処理部20A及び記憶部20Bを備える。出力部10Aは、通信部10D、ディスプレイ10E及びスピーカ10Fを備える。
【0025】
処理部20A、記憶部20B、出力部10A、カメラ10B、センサ10C及び動力制御部10Gは、バス10Iを介して接続されている。動力部10Hは、動力制御部10Gに接続されている。
【0026】
なお、出力部10A(通信部10D、ディスプレイ10E及びスピーカ10F)、カメラ10B、センサ10C、動力制御部10G及び記憶部20Bは、ネットワークを介して接続されていてもよい。接続に使用されるネットワークの通信方式は、有線方式であっても無線方式であってもよい。また、接続に使用されるネットワークは、有線方式と無線方式とを組み合わせることにより実現されていてもよい。
【0027】
記憶部20Bは、例えば半導体メモリ素子、ハードディスク及び光ディスク等である。半導体メモリ素子は、例えばRAM(Random Access Memory)及びフラッシュメモリ等である。なお、記憶部20Bは、推定装置20の外部に設けられた記憶装置であってもよい。また、記憶部20Bは、記憶媒体であってもよい。具体的には、記憶媒体は、プログラムや各種情報を、LAN(Local Area Network)やインターネットなどを介してダウンロードして記憶または一時記憶したものであってもよい。また、記憶部20Bを、複数の記憶媒体から構成してもよい。
【0028】
記憶部20Bは、例えば第1のランドマークの地図中の位置及び姿勢の少なくとも一方を示す第1の位置情報を記憶する。第1の位置情報は、例えば地図中の位置を示す地図データベースによって記憶される。第1のランドマークの位置は、地図中の点で表してもよいし、複数点の集合、矩形、及び、既知の形状モデル等の任意の形態で表してもよい。
【0029】
図3は第1実施形態の第1の位置情報の例を示す図である。
図3の第1の位置情報の例は、第1のランドマーク101a及び101bの地図中の位置を示す。以下、第1のランドマーク101a及び101bを区別しない場合、単に第1のランドマーク101という。
【0030】
第1のランドマーク101は、地図データベースの座標系において位置を登録することが可能であり、カメラ10B及びセンサ10Cで観測される際にも、移動せず同じ位置に存在する対象であることが好ましい。第1のランドマーク101は、例えば道路信号、交通標識、道路面標示及びポール等の道路構造物、店舗の看板のような路面に対して固定されている対象が好ましい。また、本来は移動可能な対象であっても、地図データベース生成時と観測時との間には移動していないことが事前に保証されている、あるいは移動していないことが検証可能であれば第1のランドマーク101として用いてもよい。また、ユーザが環境に設置することが可能であれば特定のマーカを、第1のランドマーク101として用いてもよい。
【0031】
第1の位置情報は、緯度経度により絶対座標系で定義されていてもよいし、特定の位置を座標の基準とした任意の座標系で定義されていてもよい。
【0032】
図2に戻り、処理部20Aは、取得部21及び推定部22を備える。
【0033】
取得部21は、移動体10の周辺の第2のランドマークの位置及び姿勢の少なくとも一方を示す第2の位置情報を取得する。取得部21は、例えばカメラ10Bによって撮像された画像から第2の位置情報を取得する。また例えば、取得部21は、センサ10Cによって取得されたデータから第2の位置情報を取得する。
【0034】
推定部22は、取得部21から第2の位置情報を受け付け、記憶部20Bから第1の位置情報を読み出す。そして、推定部22は、第1の位置情報と第2の位置情報とに基づいて、移動体10の地図中の位置及び姿勢の少なくとも一方を示す第3の位置情報、及び、第1のランドマークと第2のランドマークとの対応付けを推定する。推定部22の処理の詳細は後述する。
【0035】
処理部20Aは、例えばCPU(Central Processing Unit)等のプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現されてもよい。また例えば、処理部20Aは、専用のIC(Integrated Circuit)等の1又は複数のプロセッサ、すなわちハードウェアにより実現されてもよい。また例えば、処理部20Aは、ソフトウェア及びハードウェアを併用することにより実現されてもよい。
【0036】
なお、実施形態において用いられる「プロセッサ」の文言は、例えば、CPU、GPU(Graphical Processing Unit)、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)、及び、プログラマブル論理デバイスを含む。プログラマブル論理デバイスは、例えば単純プログラマブル論理デバイス(Simple Programmable Logic Device:SPLD)、複合プログラマブル論理デバイス(Complex Programmable Logic Device:CPLD)、及び、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array:FPGA)等を含む。
【0037】
プロセッサは、記憶部20Bに保存されたプログラムを読み出し実行することで、処理部20Aを実現する。なお、記憶部20Bにプログラムを保存する代わりに、プロセッサの回路内にプログラムを直接組み込むよう構成してもよい。この場合、プロセッサは回路内に組み込まれたプログラムを読み出し実行することで、処理部20Aを実現する。
【0038】
なお、
図10に示す移動体10の機能の一部は、他の装置に備えられていてもよい。例えば、カメラ10B及びセンサ10C等が移動体10に搭載され、推定装置20は移動体10の外部に設置されたサーバ装置として動作させてもよい。この場合、通信部10Dが、カメラ10B及びセンサ10C等によって観測されたデータをサーバ装置に送信する。
【0039】
[推定部の動作例]
次に、推定部21の動作の詳細について説明する。
【0040】
図4Aは第1実施形態の推定部21の動作例を説明するための図である。
図4Aの例では、第1のランドマーク101a及び101bと、第2のランドマーク102a及び102bとがある場合について説明する。第2のランドマーク102a及び102bが、観測位置201a及び201bで観測された場合を例にして説明する。
【0041】
まず、移動体10に搭載されたカメラ10Bが、観測位置201a及び201bで、第2のランドマーク102a及び102bを観測する。第2のランドマーク102a及び102bの第2の位置情報は、移動体10に定義された局所的な座標系(画像座標)で表される。以下、第2のランドマーク102a及び102bを区別しない場合は、単に第2のランドマーク102という。
【0042】
ここでセンサとして、地図データベースに第1のランドマーク101として保持されている対象を、第2のランドマーク102として観測できれば、任意のセンサが用いられてよい。上述のようにカメラ10Bを用いた画像を取得してもよいし、LiDARのように物体までの距離を計測するセンサ10Cを用いてもよい。
【0043】
センサデータから第2のランドマーク102を検出する方法は任意でよい。センサデータが画像である場合は、例えば特徴点検出方法や、CNN(Convolutional Neural Network)による特定物体認識を用いればよい。
【0044】
第2のランドマーク102の位置関係は、例えば画像におけるピクセル位置で表現される。また例えば、第2のランドマーク102の位置関係は、奥行距離センサにおける方向と距離のように、移動体10の位置姿勢に対する第2のランドマーク102の観測方向で表現される。
【0045】
また、第1実施形態では、センサデータに定義された座標の点によって第2のランドマーク102を観測するが、第2のランドマーク102を複数点の集合、矩形、及び、既知の形状モデル等により観測してもよい。第1の位置情報と照合できる形態であり、後述する観測誤差Eobs、及び、対応付け誤差Ematchを算出できれば、第2のランドマーク102を表す形態は任意でよい。
【0046】
推定部22は、第1のランドマーク101の第1の位置情報と、第2のランドマーク102の第2の位置情報とに基づいて、移動体10の地図中の位置及び姿勢の少なくとも一方を示す第3の位置情報、並びに、第1のランドマーク101及び第2のランドマーク102の対応付けを推定する。
【0047】
具体的には、推定部22は、例えば下記式(1)を用いて、第2のランドマーク102の地図中の位置を示す3次元点Lに関して、移動体10の地図中での位置姿勢Pを用いた第2のランドマーク102の観測情報Vとの観測誤差Eobsと、第1のランドマーク101を含む地図データMとの対応付け誤差Ematchの和Eをより小さくする。
【0048】
E(P,L,W│M,V)=Eobs(P,L│V)
+Ematch(L,W|M)・・・(1)
【0049】
ここで、観測情報Vは、カメラ10Bにより観測された画像の座標等によって表された第2の位置情報である。Wは第1のランドマーク101と第2のランドマーク102との対応付けを示す変数である。
【0050】
観測誤差Eobsは、推定された移動体10の位置姿勢において、推定された地図中の位置に基づいて第2のランドマーク102を再度観測したときの観測情報vと、カメラ10Bによって実際に観測された観測情報Vとの差を表す。例えば、推定部22は、第2のランドマーク102の地図中における3次元点Lを、カメラモデルを用いて2次元画像面に投影した場合の投影位置と、画像から検出された第2のランドマーク102の検出位置(第2の位置情報)との誤差である再投影誤差によって観測誤差Eobsを評価し、当該再投影誤差をより小さくする(最適化する)。
【0051】
なお、観測誤差Eobsは、再投影誤差に限らず、推定された移動体10の位置姿勢と第2のランドマーク102の位置とに基づいて算出された観測情報vと、実際の観測情報Vとの誤差が評価できればよい。例えば観測誤差Eobsは、第2のランドマーク102の方向を示すベクトルのなす角度で評価されてもよいし,投影した形状モデルの重なり具合に基づく一致度で評価されてもよい。
【0052】
対応付け誤差Ematchは、第2のランドマーク102各々に、どの第1のランドマーク101を対応付けるか、及び対応付けられた第1のランドマーク101との差を表す。例えば、推定部22は、対応付けWを、第2のランドマークの各々について、地図データベースに含まれる第1のランドマーク101への対応付けの重みで表現される重み行列とする。
【0053】
図4Bは、
図4Aの対応付けに対応する重み行列の例を示す図である。
図4Bの例では、全ての組み合わせで同じ重み0.5が使用されている。推定部22は、地図データベースに登録されている第1のランドマーク101の地図中の位置を重み行列で合成した線形和による位置と、第2のランドマーク102の位置間の距離を対応付け誤差E
matchとして評価し、当該距離をより小さくする(最適化する)。
【0054】
ここで距離を評価する位置とは、地図データベースに登録されている位置から算出できればよく、3次元点、特定の平面に投影した2次元点、または経緯度表現でもよい。誤差を求める位置を、第1のランドマーク101の位置の線形和で算出したが、第2のランドマーク102に対応付けた第1のランドマーク101の位置が参照できればよい。例えばSoftmax等で特定の第1のランドマーク101に重みを付けてもよいし、非線形な関数を用いて第1のランドマーク101に重みを付けてもよい。
【0055】
第1実施形態では、対応付けの重みによっては、第2のランドマーク102が複数の第1のランドマーク101に対応付く場合もあるが、1つの第2のランドマーク102に対して1つの第1のランドマーク101を対応付けるように拘束を加える構成であってもよい。すなわち、推定部22が、第2のランドマーク102と、第1のランドマーク101との対応付けを1対1にして、対応付けを推定してもよい。
【0056】
また、誤差には二つの位置間の距離を用いたが、形状モデルがある場合はモデル同士の一致度を用いてもよいし、対応付けられた第1のランドマーク101と第2のランドマーク102との一致度を評価できれば任意の形式で表された誤差を用いてよい。
【0057】
また、対応付けの変数Wを重み行列として表現する形態を示したが、第1のランドマーク101及び第2のランドマーク102同士の対応付けが表現できれば、対応付けの変数Wは重み行列以外の形態でもよい。例えば、対応付けられた第1のランドマーク101と第2のランドマーク102のペアを、重複を許して保持する形態でもよい。誤差の最適化方法については、例えばLevenberg-Marquardt法のような方法を用いればよい。
【0058】
図5Aは第1実施形態の推定部22の推定結果を説明するための図である。
図5Aでは、第2のランドマーク102をカメラ10Bに再投影したときの観測誤差E
obs、及び、第1のランドマーク101と第2のランドマーク102との対応付け誤差E
matchをより小さくすることで得られた推定結果を表す。
【0059】
図5Bは、
図5Aの推定結果に対応する重み行列の例を示す図である。
図5Bの例では、第1のランドマーク101aと第2のランドマーク102aとが、対応付けの重み1によって対応付けられる。また、第1のランドマーク101bと第2のランドマーク102bとが、対応付けの重み1によって対応付けられる。第1のランドマーク101aと第2のランドマーク102bとの対応付け、及び、第1のランドマーク101bと第2のランドマーク102aとの対応付けは、E
obsを合わせて小さくすることで観測との位置関係により棄却される(重み0)。
【0060】
図4A及び5Aの説明では、簡単のため平面上における2次元での動作の例を示したが、3次元空間で最適化を行ってもよい。また、地図データは高さ一定の平面で、位置姿勢は3次元のように各座標系で最適化を行ってもよい。
【0061】
また、1台のカメラ10Bによる複数箇所での計測を用いることにより、第2のランドマーク102の3次元位置を推定する方法を説明したが、複数台のカメラ10Bが移動体10に搭載されていてもよい。また、1つのカメラ10Bによって撮像された画像から直接奥行を推定してもよいし、奥行距離センサ等のセンサ10Cにより、奥行きの計測をしてもよい。推定部22は、奥行を含む観測情報Vを使用して、観測誤差Eobsを求める方式を使用してもよい。この場合は観測位置201が少なくとも1か所あればよい。
【0062】
[推定方法の例]
図6は第1実施形態の推定方法の例を示すフローチャートである。はじめに、カメラ10Bが、第2のランドマーク102を含む画像を撮像することによって、第2のランドマーク102を観測する(ステップS1)。次に、取得部21が、ステップS1の処理によって撮像された画像から、上述の第2の位置情報を取得する(ステップS2)。次に、推定部22が、記憶部20Bから、第1のランドマーク101の第1の位置情報を読み出す(ステップS3)。なお、
図6の例は一例であり、ステップS3の処理は、例えばステップS1及びステップS2の処理と並列で実施されてもよい。
【0063】
次に、推定部22が、上述の式(1)によって、観測誤差Eobs及び対応付け誤差Ematchをより小さくすることによって、上述の第3の位置情報と、第1のランドマーク101及び第2のランドマーク102の対応付けとを推定する(ステップS4)。具体的には、推定部22は、第3の位置情報により特定される位置又は姿勢の少なくとも一方における第2のランドマーク102の観測誤差Eobsと、対応付け誤差Ematchとがより小さくなるようにして、第3の位置情報と、第1のランドマーク101及び第2のランドマーク102の対応付けとを推定する。
【0064】
図6のフローチャートの処理により得られた移動体10の地図中の位置(第3の位置情報)は、例えば地図に紐付いた情報を活用した高度な判断に利用することが出来る。具体的には、例えば移動体10からは遮蔽や遠方にあるために直接、カメラ10B及びセンサ10C等で観測できない信号や標識の情報を、地図データから取得することであらかじめ安全な動作を行うことが出来る。自動運転やロボットにおいては、あらかじめ地図に定義された参照経路をたどることで、一度走行済みの経路あるいは目的地へ向かう経路を追従走行することが出来る。なお、第3の位置情報の利用方法はこれらに限られない。
【0065】
以上、説明したように、第1実施形態の推定装置20では、記憶部20Bは、第1のランドマーク101の地図中の位置及び姿勢の少なくとも一方を示す第1の位置情報を記憶する。取得部21は、移動体10の周辺の第2のランドマーク102の位置及び姿勢の少なくとも一方を示す第2の位置情報を取得する。推定部22は、第1の位置情報と第2の位置情報とに基づいて、移動体10の地図中の位置及び姿勢の少なくとも一方を示す第3の位置情報、及び、第1のランドマーク101と第2のランドマーク102との対応付けを推定する。推定部22は、第3の位置情報により特定される位置又は姿勢の少なくとも一方における第2のランドマーク102の観測誤差Eobsと、対応付けの誤差を示す対応付け誤差Ematchとがより小さくなるようにして、第3の位置情報と対応付けとを推定する。
【0066】
これにより第1実施形態の推定装置20によれば、地図データのランドマーク(第1のランドマーク101)と、観測されたランドマーク(第2のランドマーク102)との照合に誤対応が起こり得る状況でも、推定処理の精度を向上させることができる。具体的には、推定部22が、第2のランドマーク102の地図中の位置に関して、推定された移動体10の位置姿勢を用いた観測誤差Eobsと、対応付けられた第1のランドマーク101との対応付け誤差Ematchをより小さくする(最適化する)。これにより地図データと観測データとを対応付けることで移動体10の地図中の自己位置を推定する際に、地図データのランドマーク(第1のランドマーク101)と、観測されたランドマーク(第2のランドマーク102)との対応付け(ランドマークの照合)を同時に推定できる。すなわち、ランドマークの照合を、移動体10の地図中の自己位置を推定処理の前に、あらかじめしておく必要がない。第1実施形態の推定装置20によれば、カメラ10B及びセンサ10Cによる第2のランドマーク102の観測と、観測された第2のランドマーク102と地図データの第1のランドマーク101との位置関係により、矛盾のある対応付けを棄却できるため、単体の照合ではランドマークの誤対応が起こりやすい場合でもロバストな自己位置推定が可能になる。
【0067】
(第2実施形態)
次に第2実施形態について説明する。第2実施形態の説明では、第1実施形態と同様の説明については省略し、第1実施形態と異なる箇所について説明する。
【0068】
[機能構成の例]
図7は第2実施形態の移動体10の機能構成の例を示す図である。
【0069】
移動体10は、推定装置20-2、出力部10A、カメラ10B、センサ10C、動力制御部10G及び動力部10Hを備える。推定装置20-2は、処理部20A及び記憶部20Bを備える。
【0070】
処理部20Aは、取得部21、推定部22及び限定部23を備える。第2実施形態では、限定部23が更に追加されている。
【0071】
限定部23は、第2のランドマーク102毎に、対応付けの対象とする第1のランドマーク101を限定する。限定部23は、例えば第2のランドマーク102の位置、姿勢、形状、種類及び状態の少なくとも1つに基づいて、対応付けの対象とする第1のランドマーク101を限定する。
【0072】
推定部22は、限定部23によって限定された第1のランドマーク101と、第2のランドマーク102との対応付けを推定する。
【0073】
図8は第2実施形態の第1の位置情報の例を示す図である。
図8の第1の位置情報の例は、第1のランドマーク101c乃至101gの地図中の位置を示す。第1のランドマーク101c及び101dは、信号機である。第1のランドマーク101e及び101fは、転回禁止を示す道路標識である。第1のランドマーク101gは、駐車禁止を示す道路標識である。このように
図8の例では、3種類の第1のランドマーク101が含まれている。上述の第1実施形態では、第1のランドマーク101の種類が1種類だった。
【0074】
図9A乃至Cは、第2実施形態の限定部23により限定された第1のランドマーク101の例を示す図である。限定部23は、例えばカメラ10Bによって撮像された画像から、第2のランドマーク102の種類を特定できる場合、記憶部20Bに含まれる第1のランドマーク101の種類を参照し、種類が一致していない第1のランドマーク101を削除する。推定部22は、対応付けの対象を同一種類の第1のランドマーク101に限定して、対応付けを推定する。
【0075】
図9Aの例は、第1のランドマーク101の種類が信号機に限定された場合を示す。この場合、第2のランドマーク102c及び102dと対応付けられる第1のランドマーク101は、第1のランドマーク101c及び101dに限定される。
【0076】
図9Bの例は、第1のランドマーク101の種類が、転回禁止を示す道路標識に限定された場合を示す。この場合、第2のランドマーク102eと対応付けられる第1のランドマーク101は、第1のランドマーク101e及び101fに限定される。
【0077】
図9Cの例は、第1のランドマーク101の種類が、信号機以外に限定された場合を示す。種類を1つに限定できない場合は、明らかに棄却できる種類を除去する形で
図9Cのように限定してもよい。この場合、第2のランドマーク102fと対応付けられる第1のランドマーク101は、第1のランドマーク101e乃至101gに限定される。
【0078】
図10Aは、
図9A乃至9Cの対応付けに対応する重み行列の例を示す図である。限定部23は、取得部21から第2のランドマーク102の情報を受け取り、記憶部22Bから第1のランドマーク101の情報を受け取る。限定部23は、第2のランドマーク102c乃至102fについて、照合する可能性のない第1のランドマーク101を削除することで、地図データベースの一部を抽出する。限定部23は、第2のランドマーク102c乃至102f毎に、残った第1のランドマーク101を含む地図データベースの一部(
図9A乃至9C参照)を推定部22に入力する。推定部22は、第2のランドマーク102c乃至102fごとに、一部に限定された地図データベース中の第1のランドマーク101に基づく重み行列を用いて、上述の第3の位置情報と、対応付けとを推定する。
【0079】
図10Bは第2実施形態の推定部22の推定結果に対応する重み行列の例を示す図である。
図10Bの例では、推定処理の結果、対応付けられた組み合わせの重みは1となり、対応付けが棄却された重みは0になっている。
【0080】
上述の例では、第1のランドマーク101の種類を用いて、地図データベースを限定する場合を説明したが、種類以外にも、地図データベースに登録されている情報であれば、限定に用いられる情報は任意でよい。例えば、第2のランドマーク102の大よその位置を用いる方法でもよく、第2のランドマーク101との距離が所定の距離よりも遠い第1のランドマーク101を、地図データベースから削除してもよい。また例えば、限定部23は、平面の向きや路面からの高さといった設置の情報を用いてもよいし、点滅のような状態の時間変化を用いて限定してもよい。また例えば、限定部23は、第1のランドマーク101の形状が利用できる場合は、形状の近さを基準としてもよいし、第2のランドマーク102の一部パーツが観測できた場合に、パーツを含むか否かを基準としてもよい。また例えば、限定部23は、第1のランドマーク101の色やテクスチャを用いてもよいし、第1のランドマーク101に記載されている文字による限定を行ってもよい。
【0081】
また、ここまで第2のランドマーク102毎に、地図データベースの一部を抽出する形態について述べたが、1つの第2のランドマーク102に対して、複数の地図データベースを割り当ててもよい。この場合、地図データベースごとに個別に推定された自己位置姿勢を、後段の処理で合成する形態でもよいし、推定部22が適宜、地図データベースを切り替えながら推定する形態でもよい。
【0082】
例えば、記憶部20Bが、第1の位置情報を含む地図データを複数、記憶してもよい。この場合、限定部23が、地図データ毎に、対応付けの対象とする第1のランドマーク101を限定する。そして、推定部22が、限定部23によって限定された第1のランドマーク101と第2のランドマーク102との対応付け、及び、第3の位置情報を、地図データ毎に推定してもよい。
【0083】
[推定方法の例]
図11は第2実施形態の推定方法の例を示すフローチャートである。ステップS11~ステップS13の説明は、第1実施形態のステップS1~ステップS3の説明と同じなので省略する。なお、
図11の例は一例であり、ステップS13の処理は、例えばステップS11及びステップS12の処理と並列で実施されてもよい。
【0084】
限定部23は、第2のランドマーク102の位置、姿勢、形状、種類及び状態の少なくとも1つに基づいて、ステップS13の処理により読み出された第1の位置情報に対応する第1のランドマーク101の中から、対応付けの対象とする第1のランドマーク101を限定する(ステップS14)。
【0085】
次に、推定部22が、上述の第3の位置情報、及び、ステップS14の処理によって限定された第1のランドマーク101と第2のランドマーク102との対応付けを推定する(ステップS15)。
【0086】
以上、説明したように、第2実施形態によれば、第1実施形態とは異なり第2のランドマーク102毎に限定された地図データベースの一部を用いて、移動体10の自己位置姿勢、及び、第1のランドマーク101と第2のランドマーク102との対応付けを推定できる。これにより、明らかに対応付かない第1のランドマーク101をあらかじめ取り除くことができるので、誤対応が起こりやすい場合でもロバストな自己位置推定が可能になる。
【0087】
(第3実施形態)
次に第3実施形態について説明する。第3実施形態の説明では、第1実施形態と同様の説明については省略し、第1実施形態と異なる箇所について説明する。
【0088】
[機能構成の例]
第3実施形態の移動体10の機能構成は、第1実施形態と同様(
図2参照)であるが、取得部21が更に移動体10の時系列の相対位置を取得し、推定部22が当該相対位置に更に基づいて推定処理をする点が第1実施形態とは異なる。具体的には、第3実施形態では、移動体10が刻々と移動しており,移動する都度、カメラ10B及びセンサ10C等が観測を行い、時系列の観測情報Vを取得する。推定部22は、観測位置201の相対的な位置関係を更に考慮して、移動体10の位置姿勢を推定する。
【0089】
第3実施形態の取得部21は、移動体10の時系列の相対位置及び姿勢の少なくとも一方を示す相対位置情報を更に取得する。相対位置情報は、例えば移動体10の回転を含めた位置姿勢を示す。
【0090】
相対位置情報は、上述の観測情報Vを用いて、例えば時系列カメラ画像から検出された特徴点によるStructure from Motionを用いて推定してもよいし、車輪オドメトリのようにカメラ10Bとは異なるセンサ10Cを用いて取得されてもよい。
【0091】
推定部22は、上述の観測誤差Eobsと、上述の対応付け誤差Ematchと、時系列の上述の第3の位置情報により特定される移動体10の相対位置及び姿勢の少なくとも一方と相対位置情報に含まれる相対位置及び姿勢の少なくとも一方との誤差を示す相対位置誤差と、がより小さくなるようにして、第3の位置情報と対応付けとを推定する。
【0092】
具体的には、推定部22は、第1実施形態と同様に、観測誤差Eobs及び対応付け誤差Ematchをより小さくしつつ、時系列の第3の位置情報から推定された移動体10の相対位置と、取得部21により取得された相対位置との相対位置誤差がより小さくなるように拘束を加える。第1実施形態では同一の第2のランドマーク102を複数の観測位置201で観測している場合に間接的に拘束が加えられる一方で、第3実施形態では相対位置情報を取得した観測位置201間に直接拘束が加えられる。第3実施形態では、第2のランドマーク102が無いあるいは少ない範囲において、時系列の運動を拘束として用いることでより安定して滑らかな位置を推定できる。これにより、第2のランドマーク102が少ないことで対応付けが一意に決まらない場合においても、移動体10の時系列の移動の拘束を明に加えることになるため、第2のランドマーク102と第1のランドマーク101との誤対応による影響を減らすことができる。
【0093】
なお、取得部21により取得される相対位置情報と、地図データベースの座標系とが同じスケールで定義されていない場合がある。すなわち、地図データベースの座標系のスケールと、相対位置情報の座標系のスケールが異なる場合がある。
【0094】
例えば地図データベースは実空間のスケールであるのに対して、相対位置情報に含まれる相対位置姿勢は、最初の2フレームの距離を1とした時の空間に定義されている場合等がある。この場合、推定部22が、二つの座標系におけるスケール変化も推定(算出)し、一方の相対位置を他方の相対位置のスケールに変化させてから相対位置誤差を小さくする。
【0095】
例えば推定部22は、相対位置情報のスケールを、地図データベースのスケールに変化させてから、相対位置誤差を算出する。これにより、取得部21が、地図データベースのスケールと異なるスケールの相対位置情報を取得した場合でも、地図データベースにおけるスケールに対する拘束を得ることが出来る。ここでスケールの推定は、シーン全体で1つのスケールを用いてもよいし、一部あるいは1つの観測位置201ごとにスケールを推定してもよい。また例えば、推定部22は、相対位置誤差を算出するときのスケールを、移動体10の各時刻の位置及び姿勢の少なくとも一方毎に算出してもよい。
【0096】
ここまで、第3実施形態における推定装置20が、第3の位置情報と、相対位置情報とを時系列に取得する形態を示したが、相対位置関係が取得できれば、使用されるデータが時系列である必要はない。例えば、あらかじめ相対姿勢を校正済みの複数のカメラ10B及びセンサ10C等の間のデータを用いてもよいし、複数の移動体10で観測したセンサデータを用いてもよい。
【0097】
[推定方法の例]
図12は第3実施形態の推定方法の例を示すフローチャートである。ステップS31~ステップS32の説明は、第1実施形態のステップS1~ステップS2の説明と同じなので省略する。
【0098】
取得部21は、移動体10の上述の相対位置情報を取得する(ステップS33)。
【0099】
次に、推定部22が、記憶部20Bから、第1のランドマーク101の第1の位置情報を読み出す(ステップS34)。
【0100】
次に、推定部22が、上述の観測誤差Eobsと、上述の対応付け誤差Ematchと、上述の相対位置誤差と、がより小さくなるようにして、上述の第3の位置情報、及び、第1のランドマーク101と第2のランドマーク102との対応付けを推定する(ステップS35)。
【0101】
以上、説明したように、第3実施形態の推定装置20では、第1実施形態とは異なり移動体10の観測位置201の相対的な位置関係を、推定部22が直接拘束として用いる。これにより、矛盾なく観測できるランドマーク対応付けの拘束が増えるため、誤対応が起こりやすい場合でもロバストな自己位置推定が可能になる。
【0102】
最後に、第1乃至第3実施形態の推定装置20のハードウェア構成の例について説明する。
【0103】
[ハードウェア構成の例]
図13は第1乃至第3実施形態の推定装置20(20-2)のハードウェア構成の例を示す図である。推定装置20は、制御装置301、主記憶装置302、補助記憶装置303、表示装置304、入力装置305及び通信装置306を備える。制御装置301、主記憶装置302、補助記憶装置303、表示装置304、入力装置305及び通信装置306は、バス310を介して接続されている。
【0104】
なお、表示装置304、入力装置305及び通信装置306は備えていなくてもよい。例えば、推定装置20が他の装置と接続される場合、当該他の装置の表示機能、入力機能及び通信機能を利用してもよい。
【0105】
制御装置301は補助記憶装置303から主記憶装置302に読み出されたプログラムを実行する。制御装置301は、例えばCPU等の1以上のプロセッサである。主記憶装置302はROM(Read Only Memory)、及び、RAM等のメモリである。補助記憶装置303はメモリカード、及び、HDD(Hard Disk Drive)等である。
【0106】
表示装置304は情報を表示する。表示装置304は、例えば液晶ディスプレイである。入力装置305は、情報の入力を受け付ける。入力装置305は、例えばハードウェアキー等である。なお表示装置304及び入力装置305は、表示機能と入力機能とを兼ねる液晶タッチパネル等でもよい。通信装置306は他の装置と通信する。
【0107】
推定装置20で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、メモリカード、CD-R、及び、DVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータ・プログラム・プロダクトとして提供される。
【0108】
また推定装置20で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また推定装置20が実行するプログラムを、ダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
【0109】
また推定装置20で実行されるプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
【0110】
推定装置20で実行されるプログラムは、推定装置20の機能のうち、プログラムにより実現可能な機能を含むモジュール構成となっている。
【0111】
プログラムにより実現される機能は、制御装置301が補助記憶装置303等の記憶媒体からプログラムを読み出して実行することにより、主記憶装置302にロードされる。すなわちプログラムにより実現される機能は、主記憶装置302上に生成される。
【0112】
なお推定装置20の機能の一部を、IC等のハードウェアにより実現してもよい。ICは、例えば専用の処理を実行するプロセッサである。
【0113】
また複数のプロセッサを用いて各機能を実現する場合、各プロセッサは、各機能のうち1つを実現してもよいし、各機能のうち2つ以上を実現してもよい。
【0114】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0115】
10 移動体
10A 出力部
10B カメラ
10C センサ
10D 通信部
10E ディスプレイ
10F スピーカ
10G 動力制御部
10H 動力部
10I バス
20 推定装置
21 取得部
22 推定部
23 限定部
301 制御装置
302 主記憶装置
303 補助記憶装置
304 表示装置
305 入力装置
306 通信装置
310 バス