(57)【要約】  本技術は、移動体の自己位置推定の精度を向上させることができるようにする情報処理装置、自己位置推定方法、プログラム、及び、移動体に関する。情報処理装置は、異なる位置において所定の方向を撮影した画像である複数の撮影画像と、事前に撮影された参照画像とを比較する比較部と、前記複数の撮影画像のそれぞれと前記参照画像とを比較した結果に基づいて、移動体の自己位置推定を行う自己位置推定部とを備える。本技術は、例えば、移動体の自己位置推定を行うシステムに適用することができる。
2019073795.tif 000002
【特許請求の範囲】
【請求項１】
異なる位置において所定の方向を撮影した画像である複数の撮影画像と、事前に撮影された参照画像とを比較する比較部と、
前記複数の撮影画像のそれぞれと前記参照画像とを比較した結果に基づいて、移動体の自己位置推定を行う自己位置推定部と
を備える情報処理装置。
【請求項２】
前記複数の撮影画像の特徴点を検出する特徴点検出部を
さらに備え、
前記比較部は、前記複数の撮影画像のそれぞれと前記参照画像との間で特徴点のマッチングを行い、
前記自己位置推定部は、前記特徴点のマッチングを行うことにより得られるマッチング情報に基づいて、前記移動体の自己位置推定を行う
請求項１に記載の情報処理装置。
【請求項３】
前記比較部は、前記複数の撮影画像のそれぞれと前記参照画像との間の特徴点のマッチング率をそれぞれ算出し、
前記自己位置推定部は、さらに前記マッチング率に基づいて、前記移動体の自己位置推定を行う
請求項２に記載の情報処理装置。
【請求項４】
前記自己位置推定部は、前記マッチング率に基づいて、前記移動体の自己位置推定に用いる前記撮影画像を選択し、選択した前記撮影画像と前記参照画像との間の前記マッチング情報に基づいて、前記移動体の自己位置推定を行う
請求項３に記載の情報処理装置。
【請求項５】
前記自己位置推定部は、前記参照画像との前記マッチング率が最も高い前記撮影画像を前記移動体の自己位置推定に用いる前記撮影画像に選択する
請求項４に記載の情報処理装置。
【請求項６】
前記比較部は、前記マッチング率の推移を予測し、
前記自己位置推定部は、前記マッチング率の予測値と実際の前記マッチング率との差が所定の閾値未満となる前記撮影画像の中から前記移動体の自己位置推定に用いる前記撮影画像を選択する
請求項４に記載の情報処理装置。
【請求項７】
前記自己位置推定部は、前記参照画像の撮影が行われた位置及び姿勢に基づいて、前記移動体の自己位置推定を行う
請求項１に記載の情報処理装置。
【請求項８】
前記撮影画像に基づいて、前記移動体が移動可能な移動可能領域を検出する移動可能領域検出部と、
前記移動可能領域内において、前記参照画像の撮影が行われた位置に前記移動体を近づけるように前記移動体の移動を制御する移動制御部と
をさらに備える請求項７に記載の情報処理装置。
【請求項９】
前記移動体は、車両であり、
前記移動制御部は、前記参照画像の撮影が行われた車線を走行するように前記移動体の移動を制御する
請求項８に記載の情報処理装置。
【請求項１０】
前記自己位置推定部は、前記移動体の位置及び姿勢のうち少なくとも１つの推定を行う
請求項７に記載の情報処理装置。
【請求項１１】
前記自己位置推定部は、前記参照画像との類似度が最も高い前記撮影画像と前記参照画像とを比較した結果に基づいて、前記移動体の自己位置推定を行う
請求項１に記載の情報処理装置。
【請求項１２】
情報処理装置が、
異なる位置において所定の方向を撮影した画像である複数の撮影画像と、事前に撮影された参照画像とを比較し、
前記複数の撮影画像のそれぞれと前記参照画像とを比較した結果に基づいて、移動体の自己位置推定を行う
情報処理装置の自己位置推定方法。
【請求項１３】
異なる位置において所定の方向を撮影した画像である複数の撮影画像と、事前に撮影された参照画像とを比較し、
前記複数の撮影画像のそれぞれと前記参照画像とを比較した結果に基づいて、移動体の自己位置推定を行う
処理をコンピュータに実行させるためのプログラム。
【請求項１４】
異なる位置において所定の方向を撮影した画像である複数の撮影画像と、事前に撮影された参照画像とを比較する比較部と、
前記複数の撮影画像のそれぞれと前記参照画像とを比較した結果に基づいて、自己位置推定を行う自己位置推定部と
を備える移動体。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、情報処理装置、自己位置推定方法、プログラム、及び、移動体に関し、特に、移動体の自己位置推定の精度を向上させるようにした情報処理装置、自己位置推定方法、プログラム、及び、移動体に関する。
【背景技術】
【０００２】
従来、ロボットがステレオカメラとレーザレンジファインダを備え、ステレオカメラによって撮影された画像、及び、レーザレンジファインダによって得られたレンジデータに基づいて、ロボットの自己位置推定を行うことが提案されている（例えば、特許文献１参照）。【０００３】
また、ロボットが移動する間に連続して撮影した連続画像間で局所特徴量のマッチングを取り、マッチングが取れた局所特徴量の平均を不変特徴量として算出し、各不変特徴量及び距離情報を有する局所メトリカル地図を生成し、ロボットの自己位置推定に用いることが提案されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−３２２１３８号公報
【特許文献２】特開２０１２−６４１３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１及び特許文献２に示されるように、移動体の自己位置推定の精度を向上させることが望まれている。【０００６】
本技術は、このような状況に鑑みてなされたものであり、移動体の自己位置推定の精度を向上させるようにするものである。
【課題を解決するための手段】
【０００７】
本技術の第１の側面の情報処理装置は、異なる位置において所定の方向を撮影した画像である複数の撮影画像と、事前に撮影された参照画像とを比較する比較部と、前記複数の撮影画像のそれぞれと前記参照画像とを比較した結果に基づいて、移動体の自己位置推定を行う自己位置推定部とを備える。【０００８】
本技術の第１の側面の情報処理方法は、情報処理装置が、異なる位置において所定の方向を撮影した画像である複数の撮影画像と、事前に撮影された参照画像とを比較し、前記複数の撮影画像のそれぞれと前記参照画像とを比較した結果に基づいて、移動体の自己位置推定を行う。【０００９】
本技術の第１の側面のプログラムは、異なる位置において所定の方向を撮影した画像である複数の撮影画像と、事前に撮影された参照画像とを比較し、前記複数の撮影画像のそれぞれと前記参照画像とを比較した結果に基づいて、移動体の自己位置推定を行う処理をコンピュータに実行させる。【００１０】
本技術の第２の側面の移動体は、異なる位置において所定の方向を撮影した画像である複数の撮影画像と、事前に撮影された参照画像とを比較する比較部と、前記複数の撮影画像のそれぞれと前記参照画像とを比較した結果に基づいて、自己位置推定を行う自己位置推定部とを備える。【００１１】
本技術の第１の側面においては、異なる位置において所定の方向を撮影した画像である複数の撮影画像と、事前に撮影された参照画像とが比較され、前記複数の撮影画像のそれぞれと前記参照画像とを比較した結果に基づいて、移動体の自己位置推定が行われる。【００１２】
本技術の第２の側面においては、異なる位置において所定の方向を撮影した画像である複数の撮影画像と、事前に撮影された参照画像とが比較され、前記複数の撮影画像のそれぞれと前記参照画像とを比較した結果に基づいて、自己位置推定が行われる。
【発明の効果】
【００１３】
本技術の第１の側面又は第２の側面によれば、移動体の自己位置推定の精度を向上させることができる。【００１４】
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載された何れかの効果であってもよい。
【図面の簡単な説明】
【００１５】
【図１】本技術が適用され得る車両制御システムの概略的な機能の構成例を示すブロック図である。
【図２】本技術を適用した自己位置推定システムの一実施の形態を示すブロック図である。
【図３】キーフレーム生成処理を説明するためのフローチャートである。
【図４】自己位置推定処理を説明するためのフローチャートである。
【図５】自己位置推定処理を説明するためのフローチャートである。
【図６】車両の位置を示す図である。
【図７】前方画像の例を示す図である。
【図８】マッチング率予測関数の例を示す図である。
【図９】車線変更を行う場合の例を説明するための図である。
【図１０】マッチング率のエラー量を説明するための図である。
【図１１】車両の位置及び姿勢の推定結果の確定方法を説明するための図である。
【図１２】コンピュータの構成例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
１．車両制御システムの構成例
２．実施の形態
３．変形例
４．その他
【００１７】
＜＜１．車両制御システムの構成例＞＞
図１は、本技術が適用され得る移動体制御システムの一例である車両制御システム１００の概略的な機能の構成例を示すブロック図である。
【００１８】
車両制御システム１００は、車両１０に設けられ、車両１０の各種の制御を行うシステムである。なお、以下、車両１０を他の車両と区別する場合、自車又は自車両と称する。
【００１９】
車両制御システム１００は、入力部１０１、データ取得部１０２、通信部１０３、車内機器１０４、出力制御部１０５、出力部１０６、駆動系制御部１０７、駆動系システム１０８、ボディ系制御部１０９、ボディ系システム１１０、記憶部１１１、及び、自動運転制御部１１２を備える。入力部１０１、データ取得部１０２、通信部１０３、出力制御部１０５、駆動系制御部１０７、ボディ系制御部１０９、記憶部１１１、及び、自動運転制御部１１２は、通信ネットワーク１２１を介して、相互に接続されている。通信ネットワーク１２１は、例えば、ＣＡＮ（Controller Area Network）、ＬＩＮ（Local Interconnect Network）、ＬＡＮ（Local Area Network）、又は、ＦｌｅｘＲａｙ（登録商標）等の任意の規格に準拠した車載通信ネットワークやバス等からなる。なお、車両制御システム１００の各部は、通信ネットワーク１２１を介さずに、直接接続される場合もある。
【００２０】
なお、以下、車両制御システム１００の各部が、通信ネットワーク１２１を介して通信を行う場合、通信ネットワーク１２１の記載を省略するものとする。例えば、入力部１０１と自動運転制御部１１２が、通信ネットワーク１２１を介して通信を行う場合、単に入力部１０１と自動運転制御部１１２が通信を行うと記載する。
【００２１】
入力部１０１は、搭乗者が各種のデータや指示等の入力に用いる装置を備える。例えば、入力部１０１は、タッチパネル、ボタン、マイクロフォン、スイッチ、及び、レバー等の操作デバイス、並びに、音声やジェスチャ等により手動操作以外の方法で入力可能な操作デバイス等を備える。また、例えば、入力部１０１は、赤外線若しくはその他の電波を利用したリモートコントロール装置、又は、車両制御システム１００の操作に対応したモバイル機器若しくはウェアラブル機器等の外部接続機器であってもよい。入力部１０１は、搭乗者により入力されたデータや指示等に基づいて入力信号を生成し、車両制御システム１００の各部に供給する。
【００２２】
データ取得部１０２は、車両制御システム１００の処理に用いるデータを取得する各種のセンサ等を備え、取得したデータを、車両制御システム１００の各部に供給する。
【００２３】
例えば、データ取得部１０２は、車両１０の状態等を検出するための各種のセンサを備える。具体的には、例えば、データ取得部１０２は、ジャイロセンサ、加速度センサ、慣性計測装置（ＩＭＵ）、及び、アクセルペダルの操作量、ブレーキペダルの操作量、ステアリングホイールの操舵角、エンジン回転数、モータ回転数、若しくは、車輪の回転速度等を検出するためのセンサ等を備える。
【００２４】
また、例えば、データ取得部１０２は、車両１０の外部の情報を検出するための各種のセンサを備える。具体的には、例えば、データ取得部１０２は、ＴｏＦ（Time Of Flight）カメラ、ステレオカメラ、単眼カメラ、赤外線カメラ、及び、その他のカメラ等の撮像装置を備える。また、例えば、データ取得部１０２は、天候又は気象等を検出するための環境センサ、及び、車両１０の周囲の物体を検出するための周囲情報検出センサを備える。環境センサは、例えば、雨滴センサ、霧センサ、日照センサ、雪センサ等からなる。周囲情報検出センサは、例えば、超音波センサ、レーダ、ＬｉＤＡＲ（Light Detection and Ranging、Laser Imaging Detection and Ranging）、ソナー等からなる。
【００２５】
さらに、例えば、データ取得部１０２は、車両１０の現在位置を検出するための各種のセンサを備える。具体的には、例えば、データ取得部１０２は、航法衛星であるＧＮＳＳ（Global Navigation Satellite System）衛星からの衛星信号（以下、ＧＮＳＳ信号と称する）を受信するＧＮＳＳ受信機等を備える。
【００２６】
また、例えば、データ取得部１０２は、車内の情報を検出するための各種のセンサを備える。具体的には、例えば、データ取得部１０２は、運転者を撮像する撮像装置、運転者の生体情報を検出する生体センサ、及び、車室内の音声を集音するマイクロフォン等を備える。生体センサは、例えば、座面又はステアリングホイール等に設けられ、座席に座っている搭乗者又はステアリングホイールを握っている運転者の生体情報を検出する。
【００２７】
通信部１０３は、車内機器１０４、並びに、車外の様々な機器、サーバ、基地局等と通信を行い、車両制御システム１００の各部から供給されるデータを送信したり、受信したデータを車両制御システム１００の各部に供給したりする。なお、通信部１０３がサポートする通信プロトコルは、特に限定されるものではなく、また、通信部１０３が、複数の種類の通信プロトコルをサポートすることも可能である。
【００２８】
例えば、通信部１０３は、無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ（Near Field Communication）、又は、ＷＵＳＢ（Wireless USB）等により、車内機器１０４と無線通信を行う。また、例えば、通信部１０３は、図示しない接続端子（及び、必要であればケーブル）を介して、ＵＳＢ（Universal Serial Bus）、ＨＤＭＩ（登録商標）（High-Definition Multimedia Interface）、又は、ＭＨＬ（Mobile High-definition Link）等により、車内機器１０４と有線通信を行う。
【００２９】
さらに、例えば、通信部１０３は、基地局又はアクセスポイントを介して、外部ネットワーク（例えば、インターネット、クラウドネットワーク又は事業者固有のネットワーク）上に存在する機器（例えば、アプリケーションサーバ又は制御サーバ）との通信を行う。また、例えば、通信部１０３は、Ｐ２Ｐ（Peer To Peer）技術を用いて、車両１０の近傍に存在する端末（例えば、歩行者若しくは店舗の端末、又は、ＭＴＣ（Machine Type Communication）端末）との通信を行う。さらに、例えば、通信部１０３は、車車間（Vehicle to Vehicle）通信、路車間（Vehicle to Infrastructure）通信、車両１０と家との間（Vehicle to Home）の通信、及び、歩車間（Vehicle to Pedestrian）通信等のＶ２Ｘ通信を行う。また、例えば、通信部１０３は、ビーコン受信部を備え、道路上に設置された無線局等から発信される電波あるいは電磁波を受信し、現在位置、渋滞、通行規制又は所要時間等の情報を取得する。
【００３０】
車内機器１０４は、例えば、搭乗者が有するモバイル機器若しくはウェアラブル機器、車両１０に搬入され若しくは取り付けられる情報機器、及び、任意の目的地までの経路探索を行うナビゲーション装置等を含む。
【００３１】
出力制御部１０５は、車両１０の搭乗者又は車外に対する各種の情報の出力を制御する。例えば、出力制御部１０５は、視覚情報（例えば、画像データ）及び聴覚情報（例えば、音声データ）のうちの少なくとも１つを含む出力信号を生成し、出力部１０６に供給することにより、出力部１０６からの視覚情報及び聴覚情報の出力を制御する。具体的には、例えば、出力制御部１０５は、データ取得部１０２の異なる撮像装置により撮像された画像データを合成して、俯瞰画像又はパノラマ画像等を生成し、生成した画像を含む出力信号を出力部１０６に供給する。また、例えば、出力制御部１０５は、衝突、接触、危険地帯への進入等の危険に対する警告音又は警告メッセージ等を含む音声データを生成し、生成した音声データを含む出力信号を出力部１０６に供給する。
【００３２】
出力部１０６は、車両１０の搭乗者又は車外に対して、視覚情報又は聴覚情報を出力することが可能な装置を備える。例えば、出力部１０６は、表示装置、インストルメントパネル、オーディオスピーカ、ヘッドホン、搭乗者が装着する眼鏡型ディスプレイ等のウェアラブルデバイス、プロジェクタ、ランプ等を備える。出力部１０６が備える表示装置は、通常のディスプレイを有する装置以外にも、例えば、ヘッドアップディスプレイ、透過型ディスプレイ、ＡＲ（Augmented Reality）表示機能を有する装置等の運転者の視野内に視覚情報を表示する装置であってもよい。
【００３３】
駆動系制御部１０７は、各種の制御信号を生成し、駆動系システム１０８に供給することにより、駆動系システム１０８の制御を行う。また、駆動系制御部１０７は、必要に応じて、駆動系システム１０８以外の各部に制御信号を供給し、駆動系システム１０８の制御状態の通知等を行う。
【００３４】
駆動系システム１０８は、車両１０の駆動系に関わる各種の装置を備える。例えば、駆動系システム１０８は、内燃機関又は駆動用モータ等の駆動力を発生させるための駆動力発生装置、駆動力を車輪に伝達するための駆動力伝達機構、舵角を調節するステアリング機構、制動力を発生させる制動装置、ＡＢＳ（Antilock Brake System）、ＥＳＣ（Electronic Stability Control）、並びに、電動パワーステアリング装置等を備える。
【００３５】
ボディ系制御部１０９は、各種の制御信号を生成し、ボディ系システム１１０に供給することにより、ボディ系システム１１０の制御を行う。また、ボディ系制御部１０９は、必要に応じて、ボディ系システム１１０以外の各部に制御信号を供給し、ボディ系システム１１０の制御状態の通知等を行う。
【００３６】
ボディ系システム１１０は、車体に装備されたボディ系の各種の装置を備える。例えば、ボディ系システム１１０は、キーレスエントリシステム、スマートキーシステム、パワーウィンドウ装置、パワーシート、ステアリングホイール、空調装置、及び、各種ランプ（例えば、ヘッドランプ、バックランプ、ブレーキランプ、ウィンカ、フォグランプ等）等を備える。
【００３７】
記憶部１１１は、例えば、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ＨＤＤ（Hard Disc Drive）等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、及び、光磁気記憶デバイス等を備える。記憶部１１１は、車両制御システム１００の各部が用いる各種プログラムやデータ等を記憶する。例えば、記憶部１１１は、ダイナミックマップ等の３次元の高精度地図、高精度地図より精度が低く、広いエリアをカバーするグローバルマップ、及び、車両１０の周囲の情報を含むローカルマップ等の地図データを記憶する。
【００３８】
自動運転制御部１１２は、自律走行又は運転支援等の自動運転に関する制御を行う。具体的には、例えば、自動運転制御部１１２は、車両１０の衝突回避あるいは衝撃緩和、車間距離に基づく追従走行、車速維持走行、車両１０の衝突警告、又は、車両１０のレーン逸脱警告等を含むＡＤＡＳ（Advanced Driver Assistance System）の機能実現を目的とした協調制御を行う。また、例えば、自動運転制御部１１２は、運転者の操作に拠らずに自律的に走行する自動運転等を目的とした協調制御を行う。自動運転制御部１１２は、検出部１３１、自己位置推定部１３２、状況分析部１３３、計画部１３４、及び、動作制御部１３５を備える。
【００３９】
検出部１３１は、自動運転の制御に必要な各種の情報の検出を行う。検出部１３１は、車外情報検出部１４１、車内情報検出部１４２、及び、車両状態検出部１４３を備える。
【００４０】
車外情報検出部１４１は、車両制御システム１００の各部からのデータ又は信号に基づいて、車両１０の外部の情報の検出処理を行う。例えば、車外情報検出部１４１は、車両１０の周囲の物体の検出処理、認識処理、及び、追跡処理、並びに、物体までの距離の検出処理を行う。検出対象となる物体には、例えば、車両、人、障害物、構造物、道路、信号機、交通標識、道路標示等が含まれる。また、例えば、車外情報検出部１４１は、車両１０の周囲の環境の検出処理を行う。検出対象となる周囲の環境には、例えば、天候、気温、湿度、明るさ、及び、路面の状態等が含まれる。車外情報検出部１４１は、検出処理の結果を示すデータを自己位置推定部１３２、状況分析部１３３のマップ解析部１５１、交通ルール認識部１５２、及び、状況認識部１５３、並びに、動作制御部１３５の緊急事態回避部１７１等に供給する。
【００４１】
車内情報検出部１４２は、車両制御システム１００の各部からのデータ又は信号に基づいて、車内の情報の検出処理を行う。例えば、車内情報検出部１４２は、運転者の認証処理及び認識処理、運転者の状態の検出処理、搭乗者の検出処理、及び、車内の環境の検出処理等を行う。検出対象となる運転者の状態には、例えば、体調、覚醒度、集中度、疲労度、視線方向等が含まれる。検出対象となる車内の環境には、例えば、気温、湿度、明るさ、臭い等が含まれる。車内情報検出部１４２は、検出処理の結果を示すデータを状況分析部１３３の状況認識部１５３、及び、動作制御部１３５の緊急事態回避部１７１等に供給する。
【００４２】
車両状態検出部１４３は、車両制御システム１００の各部からのデータ又は信号に基づいて、車両１０の状態の検出処理を行う。検出対象となる車両１０の状態には、例えば、速度、加速度、舵角、異常の有無及び内容、運転操作の状態、パワーシートの位置及び傾き、ドアロックの状態、並びに、その他の車載機器の状態等が含まれる。車両状態検出部１４３は、検出処理の結果を示すデータを状況分析部１３３の状況認識部１５３、及び、動作制御部１３５の緊急事態回避部１７１等に供給する。
【００４３】
自己位置推定部１３２は、車外情報検出部１４１、及び、状況分析部１３３の状況認識部１５３等の車両制御システム１００の各部からのデータ又は信号に基づいて、車両１０の位置及び姿勢等の推定処理を行う。また、自己位置推定部１３２は、必要に応じて、自己位置の推定に用いるローカルマップ（以下、自己位置推定用マップと称する）を生成する。自己位置推定用マップは、例えば、ＳＬＡＭ（Simultaneous Localization and Mapping）等の技術を用いた高精度なマップとされる。自己位置推定部１３２は、推定処理の結果を示すデータを状況分析部１３３のマップ解析部１５１、交通ルール認識部１５２、及び、状況認識部１５３等に供給する。また、自己位置推定部１３２は、自己位置推定用マップを記憶部１１１に記憶させる。
【００４４】
状況分析部１３３は、車両１０及び周囲の状況の分析処理を行う。状況分析部１３３は、マップ解析部１５１、交通ルール認識部１５２、状況認識部１５３、及び、状況予測部１５４を備える。
【００４５】
マップ解析部１５１は、自己位置推定部１３２及び車外情報検出部１４１等の車両制御システム１００の各部からのデータ又は信号を必要に応じて用いながら、記憶部１１１に記憶されている各種のマップの解析処理を行い、自動運転の処理に必要な情報を含むマップを構築する。マップ解析部１５１は、構築したマップを、交通ルール認識部１５２、状況認識部１５３、状況予測部１５４、並びに、計画部１３４のルート計画部１６１、行動計画部１６２、及び、動作計画部１６３等に供給する。
【００４６】
交通ルール認識部１５２は、自己位置推定部１３２、車外情報検出部１４１、及び、マップ解析部１５１等の車両制御システム１００の各部からのデータ又は信号に基づいて、車両１０の周囲の交通ルールの認識処理を行う。この認識処理により、例えば、車両１０の周囲の信号の位置及び状態、車両１０の周囲の交通規制の内容、並びに、走行可能な車線等が認識される。交通ルール認識部１５２は、認識処理の結果を示すデータを状況予測部１５４等に供給する。
【００４７】
状況認識部１５３は、自己位置推定部１３２、車外情報検出部１４１、車内情報検出部１４２、車両状態検出部１４３、及び、マップ解析部１５１等の車両制御システム１００の各部からのデータ又は信号に基づいて、車両１０に関する状況の認識処理を行う。例えば、状況認識部１５３は、車両１０の状況、車両１０の周囲の状況、及び、車両１０の運転者の状況等の認識処理を行う。また、状況認識部１５３は、必要に応じて、車両１０の周囲の状況の認識に用いるローカルマップ（以下、状況認識用マップと称する）を生成する。状況認識用マップは、例えば、占有格子地図（Occupancy Grid Map）とされる。
【００４８】
認識対象となる車両１０の状況には、例えば、車両１０の位置、姿勢、動き（例えば、速度、加速度、移動方向等）、並びに、異常の有無及び内容等が含まれる。認識対象となる車両１０の周囲の状況には、例えば、周囲の静止物体の種類及び位置、周囲の動物体の種類、位置及び動き（例えば、速度、加速度、移動方向等）、周囲の道路の構成及び路面の状態、並びに、周囲の天候、気温、湿度、及び、明るさ等が含まれる。認識対象となる運転者の状態には、例えば、体調、覚醒度、集中度、疲労度、視線の動き、並びに、運転操作等が含まれる。
【００４９】
状況認識部１５３は、認識処理の結果を示すデータ（必要に応じて、状況認識用マップを含む）を自己位置推定部１３２及び状況予測部１５４等に供給する。また、状況認識部１５３は、状況認識用マップを記憶部１１１に記憶させる。
【００５０】
状況予測部１５４は、マップ解析部１５１、交通ルール認識部１５２及び状況認識部１５３等の車両制御システム１００の各部からのデータ又は信号に基づいて、車両１０に関する状況の予測処理を行う。例えば、状況予測部１５４は、車両１０の状況、車両１０の周囲の状況、及び、運転者の状況等の予測処理を行う。
【００５１】
予測対象となる車両１０の状況には、例えば、車両１０の挙動、異常の発生、及び、走行可能距離等が含まれる。予測対象となる車両１０の周囲の状況には、例えば、車両１０の周囲の動物体の挙動、信号の状態の変化、及び、天候等の環境の変化等が含まれる。予測対象となる運転者の状況には、例えば、運転者の挙動及び体調等が含まれる。
【００５２】
状況予測部１５４は、予測処理の結果を示すデータを、交通ルール認識部１５２及び状況認識部１５３からのデータとともに、計画部１３４のルート計画部１６１、行動計画部１６２、及び、動作計画部１６３等に供給する。
【００５３】
ルート計画部１６１は、マップ解析部１５１及び状況予測部１５４等の車両制御システム１００の各部からのデータ又は信号に基づいて、目的地までのルートを計画する。例えば、ルート計画部１６１は、グローバルマップに基づいて、現在位置から指定された目的地までのルートを設定する。また、例えば、ルート計画部１６１は、渋滞、事故、通行規制、工事等の状況、及び、運転者の体調等に基づいて、適宜ルートを変更する。ルート計画部１６１は、計画したルートを示すデータを行動計画部１６２等に供給する。
【００５４】
行動計画部１６２は、マップ解析部１５１及び状況予測部１５４等の車両制御システム１００の各部からのデータ又は信号に基づいて、ルート計画部１６１により計画されたルートを計画された時間内で安全に走行するための車両１０の行動を計画する。例えば、行動計画部１６２は、発進、停止、進行方向（例えば、前進、後退、左折、右折、方向転換等）、走行車線、走行速度、及び、追い越し等の計画を行う。行動計画部１６２は、計画した車両１０の行動を示すデータを動作計画部１６３等に供給する。
【００５５】
動作計画部１６３は、マップ解析部１５１及び状況予測部１５４等の車両制御システム１００の各部からのデータ又は信号に基づいて、行動計画部１６２により計画された行動を実現するための車両１０の動作を計画する。例えば、動作計画部１６３は、加速、減速、及び、走行軌道等の計画を行う。動作計画部１６３は、計画した車両１０の動作を示すデータを、動作制御部１３５の加減速制御部１７２及び方向制御部１７３等に供給する。
【００５６】
動作制御部１３５は、車両１０の動作の制御を行う。動作制御部１３５は、緊急事態回避部１７１、加減速制御部１７２、及び、方向制御部１７３を備える。
【００５７】
緊急事態回避部１７１は、車外情報検出部１４１、車内情報検出部１４２、及び、車両状態検出部１４３の検出結果に基づいて、衝突、接触、危険地帯への進入、運転者の異常、車両１０の異常等の緊急事態の検出処理を行う。緊急事態回避部１７１は、緊急事態の発生を検出した場合、急停車や急旋回等の緊急事態を回避するための車両１０の動作を計画する。緊急事態回避部１７１は、計画した車両１０の動作を示すデータを加減速制御部１７２及び方向制御部１７３等に供給する。
【００５８】
加減速制御部１７２は、動作計画部１６３又は緊急事態回避部１７１により計画された車両１０の動作を実現するための加減速制御を行う。例えば、加減速制御部１７２は、計画された加速、減速、又は、急停車を実現するための駆動力発生装置又は制動装置の制御目標値を演算し、演算した制御目標値を示す制御指令を駆動系制御部１０７に供給する。
【００５９】
方向制御部１７３は、動作計画部１６３又は緊急事態回避部１７１により計画された車両１０の動作を実現するための方向制御を行う。例えば、方向制御部１７３は、動作計画部１６３又は緊急事態回避部１７１により計画された走行軌道又は急旋回を実現するためのステアリング機構の制御目標値を演算し、演算した制御目標値を示す制御指令を駆動系制御部１０７に供給する。
【００６０】
＜＜２．実施の形態＞＞
次に、図２乃至図１１を参照して、本技術の実施の形態について説明する。
【００６１】
なお、この実施の形態は、図１の車両制御システム１００のうち、主に自己位置推定部１３２、車外情報検出部１４１、状況認識部１５３、及び、行動計画部１６２の処理、並びに、自己位置推定処理に用いられる地図データの生成処理に関連する技術である。
【００６２】
＜自己位置推定システムの構成例＞
図２は、本技術を適用した自己位置推定システムの一実施の形態である自己位置推定システム２０１の構成例を示すブロック図である。
【００６３】
自己位置推定システム２０１は、車両１０の自己位置推定を行い、車両１０の位置及び姿勢を推定するシステムである。
【００６４】
自己位置推定システム２０１は、キーフレーム生成部２１１、キーフレームマップＤＢ（データベース）２１２、及び、自己位置推定処理部２１３を備える。
【００６５】
キーフレーム生成部２１１は、キーフレームマップを構成するキーフレームの生成処理を行う。
【００６６】
なお、キーフレーム生成部２１１は、必ずしも車両１０に設ける必要はない。例えば、キーフレーム生成部２１１を車両１０と異なる車両に設けて、異なる車両を用いてキーフレームを生成するようにしてもよい。
【００６７】
なお、以下、キーフレーム生成部２１１が車両１０と異なる車両（以下、マップ生成用車両と称する）に設けられる場合の例について説明する。
【００６８】
キーフレーム生成部２１１は、画像取得部２２１、特徴点検出部２２２、自己位置取得部２２３、地図ＤＢ（データベース）２２４、及び、キーフレーム登録部２２５を備える。なお、地図ＤＢ２２４は、必ずしも必要なものではなく、必要に応じてキーフレーム生成部２１１に設けられる。
【００６９】
画像取得部２２１は、例えばカメラを備え、マップ生成用車両の前方の撮影を行い、得られた撮影画像（以下、参照画像と称する）を特徴点検出部２２２に供給する。
【００７０】
特徴点検出部２２２は、参照画像の特徴点の検出処理を行い、検出結果を示すデータをキーフレーム登録部２２５に供給する。
【００７１】
自己位置取得部２２３は、マップ生成用車両の地図座標系（地理座標系）における位置及び姿勢を示すデータを取得し、キーフレーム登録部２２５に供給する。
【００７２】
なお、マップ生成用車両の位置及び姿勢を示すデータの取得方法には、任意の手法を用いることができる。例えば、航法衛星からの衛星信号であるＧＮＳＳ（Global Navigation Satellite System）信号、地磁気センサ、車輪オドメトリ、及び、ＳＬＡＭ（Simultaneous Localization and Mapping）のうち少なくとも１つ以上に基づいて、マップ生成用車両の位置及び姿勢を示すデータが取得される。また、必要に応じて、地図ＤＢ２２４に格納されている地図データが用いられる。
【００７３】
地図ＤＢ２２４は、必要に応じて設けられ、自己位置取得部２２３がマップ生成用車両の位置及び姿勢を示すデータを取得する場合に用いる地図データを格納する。
【００７４】
キーフレーム登録部２２５は、キーフレームを生成し、キーフレームマップＤＢ２１２に登録する。キーフレームは、例えば、参照画像において検出された各特徴点の画像座標系における位置及び特徴量、並びに、参照画像の撮影が行われたときのマップ生成用車両の地図座標系における位置及び姿勢（すなわち、参照画像の撮影が行われた位置及び姿勢）を示すデータを含む。
【００７５】
なお、以下、キーフレームの生成に用いた参照画像の撮影が行われたときのマップ生成用車両の位置及び姿勢を、単にキーフレームの取得位置及び取得姿勢とも称する。
【００７６】
キーフレームマップＤＢ２１２は、マップ生成用車両が走行しながら異なる位置において撮影された複数の参照画像に基づく複数のキーフレームを含むキーフレームマップを格納する。
【００７７】
なお、キーフレームマップの生成に用いるマップ生成用車両は、必ずしも１台でなくてもよく、２台以上でもよい。
【００７８】
また、キーフレームマップＤＢ２１２は、必ずしも車両１０に設ける必要はなく、例えば、サーバに設けるようにしてもよい。この場合、例えば、車両１０が、走行前又は走行中にキーフレームマップＤＢ２１２に格納されているキーフレームマップを参照又はダウンロードする。
【００７９】
自己位置推定処理部２１３は、車両１０に設けられ、車両１０の自己位置推定処理を行う。自己位置推定処理部２１３は、画像取得部２３１、特徴点検出部２３２、比較部２３３、自己位置推定部２３４、移動可能領域検出部２３５、及び、移動制御部２３６を備える。
【００８０】
画像取得部２３１は、例えばカメラを備え、車両１０の前方の撮影を行い、得られた撮影画像（以下、前方画像と称する）を特徴点検出部２３２及び移動可能領域検出部２３５に供給する。
【００８１】
特徴点検出部２３２は、前方画像の特徴点の検出処理を行い、検出結果を示すデータを比較部２３３に供給する。
【００８２】
比較部２３３は、前方画像と、キーフレームマップＤＢ２１２に格納されているキーフレームマップのキーフレームとの比較を行う。より具体的には、比較部２３３は、前方画像とキーフレームとの間で特徴点マッチングを行う。比較部２３３は、特徴点マッチングを行うことにより得られるマッチング情報、並びに、マッチングに用いたキーフレーム（以下、参照キーフレームと称する）の取得位置及び取得姿勢を示すデータを自己位置推定部２３４に供給する。
【００８３】
自己位置推定部２３４は、前方画像とキーフレームとの間のマッチング情報、並びに、参照キーフレームの取得位置及び取得姿勢に基づいて、車両１０の位置及び姿勢を推定する。自己位置推定部２３４は、推定処理の結果を示すデータを図１のマップ解析部１５１、交通ルール認識部１５２、及び、状況認識部１５３等、並びに、比較部２３３及び移動制御部２３６に供給する。
【００８４】
移動可能領域検出部２３５は、前方画像に基づいて、車両１０が移動可能な領域（以下、移動可能領域と称する）を検出し、検出結果を示すデータを移動制御部２３６に供給する。
【００８５】
移動制御部２３６は、車両１０の移動を制御する。例えば、移動制御部２３６は、移動可能領域内において、キーフレームの取得位置に車両１０を近づけるように指示する指示データを図１の動作計画部１６３に供給することにより、キーフレームの取得位置に車両１０を接近させる。
【００８６】
なお、キーフレーム生成部２１１をマップ生成用車両ではなく車両１０に設ける場合、すなわち、キーフレームマップの生成に用いる車両と自己位置推定処理を行う車両が同じ場合、例えば、キーフレーム生成部２１１の画像取得部２２１及び特徴点検出部２２２と、自己位置推定処理部２１３の画像取得部２３１及び特徴点検出部２３２とを共通化することが可能である。
【００８７】
＜キーフレーム生成処理＞
次に、図３のフローチャートを参照して、キーフレーム生成部２１１により実行されるキーフレーム生成処理を説明する。なお、この処理は、例えば、マップ生成用車両を起動し、運転を開始するための操作が行われたとき、例えば、マップ生成用車両のイグニッションスイッチ、パワースイッチ、又は、スタートスイッチ等がオンされたとき開始される。また、この処理は、例えば、運転を終了するための操作が行われたとき、例えば、マップ生成用車両のイグニッションスイッチ、パワースイッチ、又は、スタートスイッチ等がオフされたとき終了する。
【００８８】
ステップＳ１において、画像取得部２２１は、参照画像を取得する。具体的には、画像取得部２２１は、マップ生成用車両の前方の撮影を行い、得られた参照画像を特徴点検出部２２２に供給する。
【００８９】
ステップＳ２において、特徴点検出部２３２は、参照画像の特徴点を検出し、検出結果を示すデータをキーフレーム登録部２２５に供給する。
【００９０】
なお、特徴点の検出方法には、例えば、ハリスコーナー等の任意の手法を用いることができる。
【００９１】
ステップＳ３において、自己位置取得部２２３は、自己位置を取得する。すなわち、自己位置取得部２２３は、任意の方法により、マップ生成用車両の地図座標系における位置及び姿勢を示すデータを取得し、キーフレーム登録部２２５に供給する。
【００９２】
ステップＳ４において、キーフレーム登録部２２５は、キーフレームを生成し、登録する。具体的には、キーフレーム登録部２２５は、参照画像において検出された各特徴点の画像座標系における位置及び特徴量、並びに、参照画像を撮影したときのマップ生成用車両の地図座標系における位置及び姿勢（すなわち、キーフレームの取得位置及び取得姿勢）を示すデータを含むキーフレームを生成する。キーフレーム登録部２２５は、生成したキーフレームをキーフレームマップＤＢ２１２に登録する。
【００９３】
その後、処理はステップＳ１に戻り、ステップＳ１以降の処理が実行される。
【００９４】
これにより、移動中のマップ生成用車両から異なる位置において撮影された参照画像に基づいてキーフレームがそれぞれ生成され、キーフレームマップに登録される。
【００９５】
次に、図４のフローチャートを参照して、自己位置推定処理部２１３により実行される自己位置推定処理について説明する。なお、この処理は、例えば、車両１０を起動し、運転を開始するための操作が行われたとき、例えば、車両１０のイグニッションスイッチ、パワースイッチ、又は、スタートスイッチ等がオンされたとき開始される。また、この処理は、例えば、運転を終了するための操作が行われたとき、例えば、車両１０のイグニッションスイッチ、パワースイッチ、又は、スタートスイッチ等がオフされたとき終了する。
【００９６】
ステップＳ５１において、画像取得部２３１は、前方画像を取得する。具体的には、画像取得部２３１は、車両１０の前方の撮影を行い、得られた前方画像を特徴点検出部２３２及び移動可能領域検出部２３５に供給する。
【００９７】
ステップＳ５２において、特徴点検出部２３２は、前方画像の特徴点を検出する。特徴点検出部２３２は、検出結果を示すデータを比較部２３３に供給する。
【００９８】
なお、特徴点の検出方法には、キーフレーム生成部２１１の特徴点検出部２２２と同様の手法が用いられる。
【００９９】
ステップＳ５３において、比較部２３３は、前方画像とキーフレームの特徴点マッチングを行う。例えば、比較部２３３は、キーフレームマップＤＢ２１２に格納されているキーフレームの中から、取得位置が前方画像の撮影時の車両１０の位置に近いキーフレームを検索する。次に、比較部２３３は、前方画像の特徴点と、検索により得られたキーフレームの特徴点（すなわち、事前に撮影された参照画像の特徴点）とのマッチングを行う。
【０１００】
なお、複数のキーフレームが抽出された場合、前方画像と各キーフレームとの間でそれぞれ特徴点マッチングが行われる。
【０１０１】
次に、比較部２３３は、前方画像との特徴点マッチングに成功したキーフレームが存在する場合、前方画像と特徴点マッチングに成功したキーフレームとのマッチング率を算出する。例えば、比較部２３３は、前方画像の特徴点のうちキーフレームの特徴点とのマッチングに成功した特徴点の割合をマッチング率として算出する。なお、特徴点マッチングに成功したキーフレームが複数ある場合、各キーフレームについてマッチング率が算出される。
【０１０２】
そして、比較部２３３は、マッチング率が最も高いキーフレームを参照キーフレームに選択する。なお、特徴点マッチングに成功したキーフレームが１つのみの場合、そのキーフレームが参照キーフレームに選択される。
【０１０３】
比較部２３３は、前方画像と参照キーフレームとの間のマッチング情報、並びに、参照キーフレームの取得位置及び取得姿勢を示すデータを自己位置推定部２３４に供給する。なお、マッチング情報は、例えば、前方画像と参照キーフレームの間でマッチングに成功した各特徴点の位置や対応関係等を含む。
【０１０４】
ステップＳ５４において、比較部２３３は、ステップＳ５３の処理の結果に基づいて、特徴点マッチングに成功したか否かを判定する。特徴点マッチングに失敗したと判定された場合、処理はステップＳ５１に戻る。
【０１０５】
その後、ステップＳ５４において、特徴点マッチングに成功したと判定されるまで、ステップＳ５１乃至ステップＳ５４の処理が繰り返し実行される。
【０１０６】
一方、ステップＳ５４において、特徴点マッチングに成功したと判定された場合、処理はステップＳ５５に進む。
【０１０７】
ステップＳ５５において、自己位置推定部２３４は、参照キーフレームに対する車両１０の位置及び姿勢を算出する。具体的には、自己位置推定部２３４は、前方画像と参照キーフレームとの間のマッチング情報、並びに、参照キーフレームの取得位置及び取得姿勢に基づいて、参照キーフレームの取得位置及び取得姿勢に対する車両１０の位置及び姿勢を算出する。より正確には、自己位置推定部２３４は、参照キーフレームに対応する参照画像の撮影が行われたときのマップ生成用車両の位置及び姿勢に対する車両１０の位置及び姿勢を算出する。自己位置推定部２３４は、車両１０の位置及び姿勢を示すデータを比較部２３３及び移動制御部２３６に供給する。
【０１０８】
なお、車両１０の位置及び姿勢の算出方法には、任意の手法を用いることができる。
【０１０９】
ステップＳ５６において、比較部２３３は、マッチング率の推移を予測する。
【０１１０】
ここで、図６乃至図８を参照して、マッチング率の推移の予測方法の例について説明する。
【０１１１】
図７は、図６に示されるように車両１０が移動（前進）した場合に、位置Ｐ１乃至位置Ｐ４において撮影された前方画像の例を示している。具体的には、前方画像３０１乃至前方画像３０４は、車両１０がそれぞれ位置Ｐ１乃至位置Ｐ４にいるときに画像取得部２３１により撮影された前方画像である。なお、位置Ｐ３は、参照キーフレームの取得位置と同じ位置であるものとする。
【０１１２】
より具体的には、例えば、前方画像３０１は、車両１０が参照キーフレームの取得位置より１０ｍ手前を走行し、かつ、参照キーフレームの取得姿勢に対して反時計回りに１０度回転した状態で撮影されたものである。前方画像３０１内の点線の領域Ｒ１は、参照キーフレームとのマッチング率が高い領域である。例えば、前方画像３０１と参照キーフレームのマッチング率は約５１％となる。
【０１１３】
前方画像３０２は、車両１０が参照キーフレームの取得位置より５ｍ手前を走行し、かつ、参照キーフレームの取得姿勢に対して反時計回りに５度回転した状態で撮影されたものである。前方画像３０２内の点線の領域Ｒ２は、参照キーフレームとのマッチング率が高い領域である。例えば、前方画像３０２と参照キーフレームのマッチング率は約７５％となる。
【０１１４】
前方画像３０３は、車両１０の位置及び姿勢が参照キーフレームの取得位置及び取得姿勢と同じ状態で撮影されたものである。前方画像３０３内の点線の領域Ｒ３は、参照キーフレームとのマッチング率が高い領域である。例えば、前方画像３０３と参照キーフレームのマッチング率は約９３％となる。
【０１１５】
前方画像３０４は、車両１０が参照キーフレームの取得位置から５ｍ進んだ位置を走行し、かつ、参照キーフレームの取得姿勢に対して反時計回りに２度回転した状態で撮影されたものである。前方画像３０４内の点線の領域Ｒ４は、参照キーフレームとのマッチング率が高い領域である。例えば、前方画像３０４と参照キーフレームのマッチング率は約６０％となる。
【０１１６】
このように、マッチング率は、通常は車両１０が参照キーフレームの取得位置に近づくにつれて増加し、参照キーフレームの取得位置を過ぎると減少する。
【０１１７】
そこで、比較部２３３は、参照キーフレームの取得位置と車両１０との間の相対距離が短くなるにつれてマッチング率が線形に増加し、相対距離が０ｍのときにマッチング率が１００％になると仮定する。そして、比較部２３３は、その仮定の下に、マッチング率の推移を予測するための一次関数（以下、マッチング率予測関数と称する）を導出する。
【０１１８】
例えば、図８は、マッチング率予測関数の例を示している。図８の横軸は、参照キーフレームの取得位置と車両１０との間の相対距離を示している。なお、参照キーフレームの取得位置より手前側を負の方向とし、参照キーフレームの取得位置より奥側を正の方向としている。従って、相対距離は、車両１０が参照キーフレームの取得位置に到達するまで負の値となり、車両１０が参照キーフレームの取得位置を通過した後、正の値となる。また、図７の縦軸は、マッチング率を示している。
【０１１９】
点Ｄ０は、相対距離＝０ｍ及びマッチング率＝１００％となる点である。点Ｄ１は、最初に特徴点マッチングが成功したときの相対距離及びマッチング率に対応する点である。例えば、比較部２３３は、点Ｄ０及び点Ｄ１を通る直線により表されるマッチング率予測関数Ｆ１を導出する。
【０１２０】
ステップＳ５７において、自己位置推定処理部２１３は、移動可能領域を検出する。例えば、移動可能領域検出部２３５は、前方画像内の路面の白線等の区画線を検出する。次に、移動可能領域検出部２３５は、区画線の検出結果に基づいて、車両１０が走行中の走行車線、走行車線と同じ方向に進行可能な並行車線、及び、走行車線と逆方向に進行可能な対向車線の検出を行う。そして、移動可能領域検出部２３５は、走行車線及び並行車線を移動可能領域として検出し、検出結果を示すデータを移動制御部２３６に供給する。
【０１２１】
ステップＳ５８において、移動制御部２３６は、車線変更を行うか否かを判定する。具体的には、移動制御部２３６は、車両１０と同じ方向に進行可能な車線が２車線以上ある場合、参照キーフレームの取得位置及び取得姿勢に対する車両１０の位置及び姿勢の推定結果に基づいて、参照キーフレームの取得が行われた車線（以下、キーフレーム取得車線と称する）を推定する。すなわち、キーフレーム取得車線は、参照キーフレームに対応する参照画像の撮影が行われたときにマップ生成用車両が走行していたと推定される車線である。移動制御部２３６は、推定したキーフレーム取得車線が現在の車両１０の走行車線と異なり、かつ、キーフレーム取得車線への車線変更を安全に実行可能な場合、車線変更を行うと判定し、処理はステップＳ５９に進む。
【０１２２】
ステップＳ５９において、移動制御部２３６は、車線変更を指示する。具体的には、移動制御部２３６は、キーフレーム取得車線への車線変更の指示を示す指示データを、例えば図１の動作計画部１６３に供給する。これにより、車両１０の走行車線が、キーフレーム取得車線に変更される。
【０１２３】
例えば、図９は、車両１０から撮影した前方画像の例を示している。なお、車両１０が車線Ｌ１１を走行中であり、参照キーフレームの取得位置Ｐ１１が左隣の車線Ｌ１２内であるものとする。従って、車線Ｌ１２がキーフレーム取得車線となる。
【０１２４】
この例の場合、車両１０が走行する車線が車線Ｌ１１から車線Ｌ１２に変更される。これにより、車両１０が参照キーフレームの取得位置Ｐ１１により近い位置を走行することができ、その結果、前方画像と参照キーフレームのマッチング率が向上する。
【０１２５】
その後、処理はステップＳ６０に進む。
【０１２６】
一方、ステップＳ５８において、移動制御部２３６は、例えば、車両１０と同じ方向に進行可能な車線が１車線である場合、車両１０がキーフレーム取得車線を走行中の場合、キーフレーム取得車線への車線変更を安全に実行可能でない場合、又は、キーフレーム取得車線の推定に失敗した場合、車線を変更しないと判定する。そして、ステップＳ５９の処理はスキップされ、処理はステップＳ６０に進む。
【０１２７】
ステップＳ６０において、ステップＳ５１の処理と同様に、前方画像が取得される。
【０１２８】
ステップＳ６１において、ステップＳ５２の処理と同様に、前方画像の特徴点が検出される。
【０１２９】
ステップＳ６２において、比較部２３３は、参照キーフレームを変えずに、特徴点マッチングを行う。すなわち、比較部２３３は、ステップＳ６０の処理で新たに取得された前方画像と、ステップＳ５３の処理で選択された参照キーフレームとの特徴点マッチングを行う。また、比較部２３３は、特徴点マッチングに成功した場合、マッチング率を算出するとともに、マッチング情報、並びに、参照キーフレームの取得位置及び取得姿勢を示すデータを自己位置推定部２３４に供給する。
【０１３０】
ステップＳ６３において、比較部２３３は、ステップＳ６２の処理の結果に基づいて、特徴点マッチングに成功したか否かを判定する。特徴点マッチングに成功したと判定された場合、処理はステップＳ６４に進む。
【０１３１】
ステップＳ６４において、ステップＳ５５の処理と同様に、参照キーフレームに対する車両１０の位置及び姿勢が算出される。
【０１３２】
ステップＳ６５において、比較部２３３は、マッチング率のエラー量が所定の閾値以上であるか否かを判定する。
【０１３３】
具体的には、比較部２３３は、マッチング率予測関数に参照キーフレームの取得位置に対する車両１０の相対距離を代入することにより、マッチング率の予測値を算出する。そして、比較部２３３は、ステップＳ６２の処理で算出した実際のマッチング率（以下、マッチング率の算出値と称する）と、マッチング率の予測値との差をマッチング率のエラー量として算出する。
【０１３４】
例えば、図１０の点Ｄ２及び点Ｄ３は、マッチング率の算出値を示している。そして、点Ｄ２に対応する相対距離をマッチング率予測関数Ｆ１に代入することにより、マッチング率の予測値が算出され、マッチング率の算出値と予測値の差がエラー量Ｅ２として算出される。同様に、点Ｄ３に対応する相対距離をマッチング率予測関数Ｆ１に代入することにより、マッチング率の予測値が算出され、マッチング率の算出値と予測値の差がエラー量Ｅ３として算出される。
【０１３５】
そして、比較部２３３が、マッチング率のエラー量が所定の閾値未満であると判定した場合、処理はステップＳ５７に戻る。
【０１３６】
その後、ステップＳ６３において、特徴点マッチングに失敗したと判定されるか、ステップＳ６５において、マッチング率のエラー量が所定の閾値以上であると判定されるまで、ステップＳ５７乃至ステップＳ６５の処理が繰り返し実行される。
【０１３７】
一方、ステップ６５において、マッチング率のエラー量が所定の閾値以上であると判定された場合、処理はステップＳ６６に進む。
【０１３８】
例えば、図１１の点Ｄ４は、マッチング率の算出値を示している。そして、点Ｄ４に対応する相対距離をマッチング率予測関数Ｆ１に代入することにより、マッチング率の予測値が算出され、マッチング率の算出値と予測値の差がエラー量Ｅ４として算出される。そして、エラー量Ｅ４が閾値以上であると判定された場合、処理はステップＳ６６に進む。
【０１３９】
例えば、車両１０が参照キーフレームの取得位置を通り過ぎたり、車両１０が参照キーフレームの取得位置から遠ざかったり、又は、車両１０の進行方向が変わったりした場合等に、マッチング率のエラー量が閾値以上になると想定される。
【０１４０】
また、ステップＳ６３において、特徴点マッチングに失敗したと判定された場合、ステップＳ６４及びステップＳ６５の処理はスキップされ、処理はステップＳ６６に進む。
【０１４１】
これは、１フレーム前の前方画像まで特徴点マッチングが成功しており、現在のフレームの前方画像において特徴点マッチングが失敗した場合である。これは、例えば、車両１０が参照キーフレームの取得位置を通り過ぎたり、車両１０が参照キーフレームの取得位置から遠ざかったり、又は、車両１０の進行方向が変わったりした場合等であると想定される。
【０１４２】
ステップＳ６６において、自己位置推定部２３４は、車両１０の位置及び姿勢の推定結果を確定する。すなわち、自己位置推定部２３４は、車両１０の最終的な自己位置推定を行う。
【０１４３】
例えば、自己位置推定部２３４は、現在の参照キーフレームと特徴点マッチングを行った前方画像の中から、マッチング率に基づいて、車両１０の最終的な自己位置推定に用いる前方画像（以下、選択画像と称する）を選択する。
【０１４４】
例えば、マッチング率が最大となる前方画像が、選択画像に選択される。換言すれば、参照キーフレームに対応する参照画像との類似度が最も高い前方画像が、選択画像に選択される。例えば、図１１の例では、マッチング率が最大の点Ｄ３に対応する前方画像が、選択画像に選択される。
【０１４５】
或いは、例えば、マッチング率のエラー量が閾値未満となる前方画像のうちの１つが、選択画像に選択される。例えば、図１１の例では、マッチング率のエラー量が閾値未満となる点Ｄ１乃至点Ｄ３に対応する前方画像のうちの１つが、選択画像に選択される。
【０１４６】
或いは、例えば、前方画像の撮影順にマッチング率を並べた場合にマッチング率が低下する直前の前方画像が、選択画像に選択される。例えば、図１１の例では、マッチング率が低下する点Ｄ４の直前の点Ｄ３に対応する前方画像が、選択画像に選択される。
【０１４７】
次に、自己位置推定部２３４は、選択画像に基づいて算出された参照キーフレームの取得位置及び取得姿勢に対する車両１０の位置及び姿勢を、地図座標系における位置及び姿勢に変換する。そして、自己位置推定部２３４は、車両１０の地図座標系における位置及び姿勢の推定結果を示すデータを、例えば、図１のマップ解析部１５１、交通ルール認識部１５２、及び、状況認識部１５３等に供給する。
【０１４８】
その後、処理はステップＳ５３に戻り、ステップＳ５３以降の処理が実行される。これにより、新たな参照キーフレームに基づいて、車両１０の位置及び姿勢の推定が行われる。
【０１４９】
以上のように、複数の前方画像と参照キーフレームの特徴点マッチングが行われ、マッチング率に基づいて選択画像が選択され、選択画像に基づいて、車両１０の位置及び姿勢が推定される。従って、より適切な前方画像を用いて車両１０の自己位置推定が行われるようになり、推定精度が向上する。
【０１５０】
また、車両１０の走行車線がキーフレーム取得車線に変更されることにより、前方画像と参照キーフレームのマッチング率が向上し、その結果、車両１０の自己位置推定の精度が向上する。
【０１５１】
＜＜３．変形例＞＞
以下、上述した本技術の実施の形態の変形例について説明する。
【０１５２】
本技術は、車両１０の前方に限らず、車両１０の周囲の任意の方向（例えば、側方、後方等）を撮影した画像（以下、周囲画像と称する）を用いて自己位置推定処理を行う場合に適用することができる。また、本技術は、車両１０から複数の異なる方向を撮影した複数の周囲画像を用いて自己位置推定処理を行う場合にも適用することができる。
【０１５３】
また、以上の説明では、車両１０の位置及び姿勢を推定する例を示したが、本技術は、車両１０の位置及び姿勢のうちいずれか一方のみの推定を行う場合にも適用することができる。
【０１５４】
さらに、本技術は、特徴点マッチング以外の方法により、周囲画像と参照画像を比較し、比較した結果に基づいて自己位置推定を行う場合にも適用することが可能である。この場合、例えば、参照画像との類似度が最も高い周囲画像と参照画像を比較した結果に基づいて、自己位置推定が行われる。
【０１５５】
また、以上の説明では、車線変更により車両１０をキーフレーム取得位置に近づける例を示したが、車線変更以外の方法により車両１０をキーフレーム取得位置に近づけるようにしてもよい。例えば、同じ車線内でキーフレーム取得位置にできるだけ近い位置を通過するように車両１０を移動させるようにしてもよい。
【０１５６】
また、本技術は、先に例示した車両以外にも、自動二輪車、自転車、パーソナルモビリティ、飛行機、船舶、建設機械、農業機械（トラクター）等の各種の移動体の自己位置推定を行う場合にも適用することができる。また、本技術が適用可能な移動体には、例えば、ドローン、ロボット等のユーザが搭乗せずにリモートで運転（操作）する移動体も含まれる。
【０１５７】
＜＜４．その他＞＞
＜コンピュータの構成例＞
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【０１５８】
図１２は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【０１５９】
コンピュータ５００において、CPU（Central Processing Unit）５０１，ROM（Read Only Memory）５０２，RAM（Random Access Memory）５０３は、バス５０４により相互に接続されている。
【０１６０】
バス５０４には、さらに、入出力インターフェース５０５が接続されている。入出力インターフェース５０５には、入力部５０６、出力部５０７、記録部５０８、通信部５０９、及びドライブ５１０が接続されている。
【０１６１】
入力部５０６は、入力スイッチ、ボタン、マイクロフォン、撮像素子などよりなる。出力部５０７は、ディスプレイ、スピーカなどよりなる。記録部５０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部５０９は、ネットワークインターフェースなどよりなる。ドライブ５１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブル記録媒体５１１を駆動する。
【０１６２】
以上のように構成されるコンピュータ５００では、CPU５０１が、例えば、記録部５０８に記録されているプログラムを、入出力インターフェース５０５及びバス５０４を介して、RAM５０３にロードして実行することにより、上述した一連の処理が行われる。
【０１６３】
コンピュータ５００（CPU５０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体５１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０１６４】
コンピュータ５００では、プログラムは、リムーバブル記録媒体５１１をドライブ５１０に装着することにより、入出力インターフェース５０５を介して、記録部５０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部５０９で受信し、記録部５０８にインストールすることができる。その他、プログラムは、ROM５０２や記録部５０８に、あらかじめインストールしておくことができる。
【０１６５】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１６６】
また、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０１６７】
さらに、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０１６８】
例えば、本技術は、１つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０１６９】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０１７０】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０１７１】
＜構成の組み合わせ例＞
本技術は、以下のような構成をとることもできる。
【０１７２】
（１）
異なる位置において所定の方向を撮影した画像である複数の撮影画像と、事前に撮影された参照画像とを比較する比較部と、
前記複数の撮影画像のそれぞれと前記参照画像とを比較した結果に基づいて、移動体の自己位置推定を行う自己位置推定部と
を備える情報処理装置。
（２）
前記複数の撮影画像の特徴点を検出する特徴点検出部を
さらに備え、
前記比較部は、前記複数の撮影画像のそれぞれと前記参照画像との間で特徴点のマッチングを行い、
前記自己位置推定部は、前記特徴点のマッチングを行うことにより得られるマッチング情報に基づいて、前記移動体の自己位置推定を行う
前記（１）に記載の情報処理装置。
（３）
前記比較部は、前記複数の撮影画像のそれぞれと前記参照画像との間の特徴点のマッチング率をそれぞれ算出し、
前記自己位置推定部は、さらに前記マッチング率に基づいて、前記移動体の自己位置推定を行う
前記（２）に記載の情報処理装置。
（４）
前記自己位置推定部は、前記マッチング率に基づいて、前記移動体の自己位置推定に用いる前記撮影画像を選択し、選択した前記撮影画像と前記参照画像との間の前記マッチング情報に基づいて、前記移動体の自己位置推定を行う
前記（３）に記載の情報処理装置。
（５）
前記自己位置推定部は、前記参照画像との前記マッチング率が最も高い前記撮影画像を前記移動体の自己位置推定に用いる前記撮影画像に選択する
前記（４）に記載の情報処理装置。
（６）
前記比較部は、前記マッチング率の推移を予測し、
前記自己位置推定部は、前記マッチング率の予測値と実際の前記マッチング率との差が所定の閾値未満となる前記撮影画像の中から前記移動体の自己位置推定に用いる前記撮影画像を選択する
前記（４）に記載の情報処理装置。
（７）
前記自己位置推定部は、前記参照画像の撮影が行われた位置及び姿勢に基づいて、前記移動体の自己位置推定を行う
前記（１）乃至（６）のいずれかに記載の情報処理装置。
（８）
前記撮影画像に基づいて、前記移動体が移動可能な移動可能領域を検出する移動可能領域検出部と、
前記移動可能領域内において、前記参照画像の撮影が行われた位置に前記移動体を近づけるように前記移動体の移動を制御する移動制御部と
をさらに備える前記（７）に記載の情報処理装置。
（９）
前記移動体は、車両であり、
前記移動制御部は、前記参照画像の撮影が行われた車線を走行するように前記移動体の移動を制御する
前記（８）に記載の情報処理装置。
（１０）
前記自己位置推定部は、前記移動体の位置及び姿勢のうち少なくとも１つの推定を行う
前記（７）乃至（９）のいずれかに記載の情報処理装置。
（１１）
前記自己位置推定部は、前記参照画像との類似度が最も高い前記撮影画像と前記参照画像とを比較した結果に基づいて、前記移動体の自己位置推定を行う
前記（１）に記載の情報処理装置。
（１２）
情報処理装置が、
異なる位置において所定の方向を撮影した画像である複数の撮影画像と、事前に撮影された参照画像とを比較し、
前記複数の撮影画像のそれぞれと前記参照画像とを比較した結果に基づいて、移動体の自己位置推定を行う
情報処理装置の自己位置推定方法。
（１３）
異なる位置において所定の方向を撮影した画像である複数の撮影画像と、事前に撮影された参照画像とを比較し、
前記複数の撮影画像のそれぞれと前記参照画像とを比較した結果に基づいて、移動体の自己位置推定を行う
処理をコンピュータに実行させるためのプログラム。
（１４）
異なる位置において所定の方向を撮影した画像である複数の撮影画像と、事前に撮影された参照画像とを比較する比較部と、
前記複数の撮影画像のそれぞれと前記参照画像とを比較した結果に基づいて、自己位置推定を行う自己位置推定部と
を備える移動体。
【０１７３】
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【符号の説明】
【０１７４】
１０  車両，  １００  車両制御システム，  １３２  自己位置推定部，  １３５  動作制御部，  １４１  車外情報検出部，  １５３  状況認識部，  １６２  行動計画部，  １６３  動作計画部  ２０１  自己位置推定システム，  ２１１  キーフレーム生成部，  ２１２  キーフレームマップＤＢ，  ２１３  自己位置推定処理部，  ２３１  画像取得部，  ２３２  特徴点検出部，  ２３３  比較部,  ２３４  自己位置推定部，  ２３５  移動可能領域検出部，  ２３６  移動制御部
【図１】
2019073795.tif 000003
【図２】
2019073795.tif 000004
【図３】
2019073795.tif 000005
【図４】
2019073795.tif 000006
【図５】
2019073795.tif 000007
【図６】
2019073795.tif 000008
【図７】
2019073795.tif 000009
【図８】
2019073795.tif 000010
【図９】
2019073795.tif 000011
【図１０】
2019073795.tif 000012
【図１１】
2019073795.tif 000013
【図１２】
2019073795.tif 000014
【国際調査報告】
2019073795.tif 000015
2019073795.tif 000016