(57)【要約】  本技術は、移動体の自己位置推定の精度を向上させることができるようにする情報処理装置、情報処理方法、プログラム、及び、移動体に関する。情報処理装置は、移動体の自己位置推定に用いる参照画像の特徴点を検出する特徴点検出部と、前記特徴点の不変性を推定する不変性推定部と、前記特徴点及び前記特徴点の不変性に基づいて、地図を生成する地図生成部とを備える。本技術は、例えば、移動体の自己位置推定を行う装置、システム、又は、車両等の各種の移動体に適用することができる。
2019082670.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）とされる。
【００４８】
認識対象となる車両１０の状況には、例えば、車両１０の位置、姿勢、動き（例えば、速度、加速度、移動方向等）、並びに、異常の有無及び内容等が含まれる。認識対象となる車両１０の周囲の状況には、例えば、周囲の静止物体の種類及び位置、周囲の動物体の種類、位置及び動き（例えば、速度、加速度、移動方向等）、周囲の道路の構成及び路面の状態、並びに、周囲の天候、気温、湿度、及び、明るさ等が含まれる。認識対象となる運転者の状態には、例えば、体調、覚醒度、集中度、疲労度、視線の動き、並びに、運転操作等が含まれる。
【００４９】
状況認識部１５３は、認識処理の結果を示すデータ（必要に応じて、状況認識用マップを含む）を自己位置推定部１３２及び状況予測部１５４等に供給する。また、状況認識部１５３は、状況認識用マップを記憶部１１１に記憶させる。
【００５０】
状況予測部１５４は、マップ解析部１５１、交通ルール認識部１５２及び状況認識部１５３等の車両制御システム１００の各部からのデータ又は信号に基づいて、車両１０に関する状況の予測処理を行う。例えば、状況予測部１５４は、車両１０の状況、車両１０の周囲の状況、及び、運転者の状況等の予測処理を行う。
【００５１】
予測対象となる車両１０の状況には、例えば、車両１０の挙動、異常の発生、及び、走行可能距離等が含まれる。予測対象となる車両１０の周囲の状況には、例えば、車両１０の周囲の動物体の挙動、信号の状態の変化、及び、天候等の環境の変化等が含まれる。予測対象となる運転者の状況には、例えば、運転者の挙動及び体調等が含まれる。
【００５２】
状況予測部１５４は、予測処理の結果を示すデータを、交通ルール認識部１５２及び状況認識部１５３からのデータとともに、計画部１３４のルート計画部１６１、行動計画部１６２、及び、動作計画部１６３等に供給する。
【００５３】
ルート計画部１６１は、マップ解析部１５１及び状況予測部１５４等の車両制御システム１００の各部からのデータ又は信号に基づいて、目的地までのルートを計画する。例えば、ルート計画部１６１は、グローバルマップに基づいて、現在位置から指定された目的地までのルートを設定する。また、例えば、ルート計画部１６１は、渋滞、事故、通行規制、工事等の状況、及び、運転者の体調等に基づいて、適宜ルートを変更する。ルート計画部１６１は、計画したルートを示すデータを行動計画部１６２等に供給する。
【００５４】
行動計画部１６２は、マップ解析部１５１及び状況予測部１５４等の車両制御システム１００の各部からのデータ又は信号に基づいて、ルート計画部１６１により計画されたルートを計画された時間内で安全に走行するための車両１０の行動を計画する。例えば、行動計画部１６２は、発進、停止、進行方向（例えば、前進、後退、左折、右折、方向転換等）、走行車線、走行速度、及び、追い越し等の計画を行う。行動計画部１６２は、計画した車両１０の行動を示すデータを動作計画部１６３等に供給する。
【００５５】
動作計画部１６３は、マップ解析部１５１及び状況予測部１５４等の車両制御システム１００の各部からのデータ又は信号に基づいて、行動計画部１６２により計画された行動を実現するための車両１０の動作を計画する。例えば、動作計画部１６３は、加速、減速、及び、走行軌道等の計画を行う。動作計画部１６３は、計画した車両１０の動作を示すデータを、動作制御部１３５の加減速制御部１７２及び方向制御部１７３等に供給する。
【００５６】
動作制御部１３５は、車両１０の動作の制御を行う。動作制御部１３５は、緊急事態回避部１７１、加減速制御部１７２、及び、方向制御部１７３を備える。
【００５７】
緊急事態回避部１７１は、車外情報検出部１４１、車内情報検出部１４２、及び、車両状態検出部１４３の検出結果に基づいて、衝突、接触、危険地帯への進入、運転者の異常、車両１０の異常等の緊急事態の検出処理を行う。緊急事態回避部１７１は、緊急事態の発生を検出した場合、急停車や急旋回等の緊急事態を回避するための車両１０の動作を計画する。緊急事態回避部１７１は、計画した車両１０の動作を示すデータを加減速制御部１７２及び方向制御部１７３等に供給する。
【００５８】
加減速制御部１７２は、動作計画部１６３又は緊急事態回避部１７１により計画された車両１０の動作を実現するための加減速制御を行う。例えば、加減速制御部１７２は、計画された加速、減速、又は、急停車を実現するための駆動力発生装置又は制動装置の制御目標値を演算し、演算した制御目標値を示す制御指令を駆動系制御部１０７に供給する。
【００５９】
方向制御部１７３は、動作計画部１６３又は緊急事態回避部１７１により計画された車両１０の動作を実現するための方向制御を行う。例えば、方向制御部１７３は、動作計画部１６３又は緊急事態回避部１７１により計画された走行軌道又は急旋回を実現するためのステアリング機構の制御目標値を演算し、演算した制御目標値を示す制御指令を駆動系制御部１０７に供給する。
【００６０】
＜＜２．実施の形態＞＞
次に、図２乃至図１１を参照して、本技術の実施の形態について説明する。
【００６１】
なお、この実施の形態は、図１の車両制御システム１００のうち、主に自己位置推定部１３２、車外情報検出部１４１、及び、状況認識部１５３の処理、並びに、自己位置推定処理に用いられる地図の生成処理に関連する技術である。
【００６２】
＜自己位置推定システムの構成例＞
図２は、本技術を適用した自己位置推定システムの一実施の形態である自己位置推定システム２０１の構成例を示すブロック図である。
【００６３】
自己位置推定システム２０１は、車両１０の自己位置推定を行うシステムである。
【００６４】
自己位置推定システム２０１は、地図生成処理部２１１、地図ＤＢ（データベース）２１２、及び、自己位置推定処理部２１３を備える。
【００６５】
地図生成処理部２１１は、車両１０の自己位置推定用の地図であるキーフレームマップを構成するキーフレームの生成処理を行う。
【００６６】
なお、地図生成処理部２１１は、必ずしも車両１０に設ける必要はない。例えば、地図生成処理部２１１を車両１０と異なる車両に設けて、異なる車両を用いてキーフレームを生成するようにしてもよい。
【００６７】
なお、以下、地図生成処理部２１１が車両１０と異なる車両（以下、マップ生成用車両と称する）に設けられる場合の例について説明する。
【００６８】
地図生成処理部２１１は、画像取得部２２１、自己位置推定部２２２、バッファ２２３、物体認識部２２４、特徴点検出部２２５、不変性推定部２２６、及び、地図生成部２２７を備える。
【００６９】
画像取得部２２１は、例えばカメラを備え、マップ生成用車両の前方の撮影を行い、得られた画像（以下、参照画像と称する）をバッファ２２３に記憶させる。
【００７０】
自己位置推定部２２２は、マップ生成用車両の自己位置推定処理を行い、推定結果を示すデータを地図生成部２２７に供給するとともに、バッファ２２３に記憶させる。
【００７１】
物体認識部２２４は、参照画像内の物体の認識処理を行い、認識結果を示すデータを不変性推定部２２６に供給する。
【００７２】
特徴点検出部２２５は、参照画像の特徴点の検出処理を行い、検出結果を示すデータを不変性推定部２２６に供給する。
【００７３】
不変性推定部２２６は、参照画像の特徴点の不変性の推定処理を行い、推定結果を示すデータ及び参照画像を地図生成部２２７に供給する。
【００７４】
地図生成部２２７は、キーフレームを生成し、地図ＤＢ２１２に登録する。キーフレームは、例えば、参照画像において検出された各特徴点の画像座標系における位置及び特徴量、並びに、参照画像を撮影したときのワールド座標系におけるマップ生成用車両の位置及び姿勢（すなわち、参照画像を撮影した位置及び姿勢）を示すデータを含む。
【００７５】
なお、以下、キーフレームの作成に用いた参照画像を撮影したときのマップ生成用車両の位置及び姿勢を、単にキーフレームの位置及び姿勢とも称する。
【００７６】
また、地図生成部２２７は、参照画像内の物体の認識処理の実行を物体認識部２２４に指示したり、参照画像の特徴点の検出処理の実行を特徴点検出部２２５に指示したりする。
【００７７】
地図ＤＢ２１２は、マップ生成用車両が走行しながら各地で撮影した複数の参照画像に基づく複数のキーフレームを含むキーフレームマップを格納する。
【００７８】
なお、キーフレームマップの生成に用いるマップ生成用車両は、必ずしも１台でなくてもよく、２台以上でもよい。
【００７９】
また、地図ＤＢ２１２は、必ずしも車両１０に設ける必要はなく、例えば、サーバに設けるようにしてもよい。この場合、例えば、車両１０が、走行前又は走行中に地図ＤＢ２１２に格納されているキーフレームマップを参照又はダウンロードする。ダウンロードされたキーフレームマップは、例えば、車両１０の記憶部１１１（図１）に一時的に保存される。
【００８０】
自己位置推定処理部２１３は、車両１０に設けられ、車両１０の自己位置推定処理を行う。自己位置推定処理部２１３は、画像取得部２４１、特徴点検出部２４２、特徴点照合部２４３、及び、自己位置推定部２４４を備える。
【００８１】
画像取得部２４１は、例えばカメラを備え、車両１０の前方の撮影を行い、得られた画像（以下、観測画像と称する）を特徴点検出部２４２に供給する。
【００８２】
特徴点検出部２４２は、観測画像の特徴点の検出処理を行い、検出結果を示すデータを特徴点照合部２４３に供給する。
【００８３】
特徴点照合部２４３は、観測画像の特徴点と、地図ＤＢ２１２に格納されているキーフレームマップのキーフレームの特徴点との照合処理を行う。特徴点照合部２４３は、特徴点の照合結果、並びに、照合に用いたキーフレームの位置及び姿勢を示すデータを自己位置推定部２４４に供給する。
【００８４】
自己位置推定部２４４は、観測画像とキーフレームの特徴点の照合結果、並びに、照合に用いたキーフレームの位置及び姿勢に基づいて、ワールド座標系における車両１０の位置及び姿勢を推定する。自己位置推定部２４４は、車両１０の位置及び姿勢を示すデータを、図１のマップ解析部１５１、交通ルール認識部１５２、及び、状況認識部１５３等に供給する。
【００８５】
なお、地図生成処理部２１１をマップ生成用車両ではなく車両１０に設ける場合、すなわち、キーフレームマップの生成に用いる車両と自己位置推定処理を行う車両が同じ場合、例えば、地図生成処理部２１１の画像取得部２２１及び特徴点検出部２２５と、自己位置推定処理部２３１の画像取得部２４１及び特徴点検出部２４２とを共通化することが可能である。
【００８６】
＜地図生成処理＞
次に、図３のフローチャートを参照して、地図生成処理部２１１により実行される地図生成処理を説明する。なお、この処理は、例えば、マップ生成用車両を起動し、運転を開始するための操作が行われたとき、例えば、マップ生成用車両のイグニッションスイッチ、パワースイッチ、又は、スタートスイッチ等がオンされたとき開始される。また、この処理は、例えば、運転を終了するための操作が行われたとき、例えば、マップ生成用車両のイグニッションスイッチ、パワースイッチ、又は、スタートスイッチ等がオフされたとき終了する。
【００８７】
ステップＳ１において、画像取得部２２１は、参照画像を取得する。具体的には、画像取得部２２１は、マップ生成用車両の前方の撮影を行い、得られた参照画像をバッファ２２３に記憶させる。
【００８８】
ステップＳ２において、自己位置推定部２２２は、自己位置を推定する。すなわち、自己位置推定部２２２は、ワールド座標系におけるマップ生成用車両の位置及び姿勢を推定する。これにより、ステップＳ１の処理で参照画像を取得したときのマップ生成用車両の位置及び姿勢が推定される。自己位置推定部２２２は、推定結果を示すデータを地図生成部２２７に供給するとともに、バッファ２２３に記憶されている参照画像にメタデータとして付与する。
【００８９】
なお、マップ生成用車両の自己位置推定方法には、任意の手法を用いることができる。例えば、ＲＴＫ（Real Time Kinematic）−ＧＮＳＳやＬｉＤＡＲ等を用いた高精度な推定方法が用いられる。
【００９０】
ステップＳ３において、地図生成部２２７は、前回のキーフレームの登録位置から十分に移動したか否かを判定する。具体的には、地図生成部２２７は、前回のキーフレームの生成に用いた参照画像を取得したときのマップ生成用車両の位置と、ステップＳ２の処理で推定されたマップ生成用車両の位置との間の距離を算出する。そして、地図生成部２２７は、算出した距離が所定の閾値未満である場合、前回のキーフレームの登録位置からまだ十分に移動していないと判定し、処理はステップＳ１に戻る。
【００９１】
その後、ステップＳ３において、前回のキーフレームの登録位置から十分に移動したと判定されるまで、ステップＳ１乃至ステップＳ３の処理が繰り返し実行される。
【００９２】
一方、ステップＳ３において、地図生成部２２７は、算出した距離が所定の閾値以上である場合、前回のキーフレームの登録位置から十分に移動したと判定し、処理はステップＳ４に進む。
【００９３】
なお、最初のキーフレームの登録前の場合、例えば、ステップＳ３の処理はスキップされ、無条件で処理はステップＳ４に進む。
【００９４】
ステップＳ４において、物体認識部２２４は、各参照画像の物体認識を行う。具体的には、地図生成部２２７は、参照画像内の物体の認識処理の実行を物体認識部２２４に指示する。
【００９５】
物体認識部２２４は、バッファ２２３に記憶されている参照画像を全てバッファ２２３から読み出す。なお、バッファ２２３には、前回ステップＳ４及びステップＳ５の処理が行われた後に取得された参照画像が記憶されている。ただし、最初にステップＳ４及びステップＳ５の処理が行われる場合には、地図生成処理が開始された後に取得された参照画像がバッファ２２３に記憶されている。
【００９６】
物体認識部２２４は、各参照画像内の物体の認識処理を行う。これにより、各参照画像内の物体の位置及び種類等が認識される。
【００９７】
なお、参照画像内の物体の認識方法には、セマンティックセグメンテーション等の任意の手法を用いることが可能である。
【００９８】
物体認識部２２４は、各参照画像内の物体の認識結果を示すデータを不変性推定部２２６に供給する。
【００９９】
ステップＳ５において、特徴点検出部２２５は、各参照画像の特徴点を検出する。具体的には、地図生成部２２７は、参照画像の特徴点の検出処理の実行を特徴点検出部２２５に指示する。
【０１００】
特徴点検出部２２５は、バッファ２２３に記憶されている参照画像を全てバッファ２２３から読み出す。特徴点検出部２２５は、各参照画像の特徴点の検出処理を行う。これにより、各参照画像の特徴点の位置及び特徴量等が検出される。
【０１０１】
なお、特徴点の検出方法には、例えば、ハリスコーナー等の任意の手法を用いることができる。
【０１０２】
特徴点検出部２２５は、各参照画像の特徴点の検出結果を示すデータ、及び、参照画像を不変性推定部２２６に供給する。また、特徴点検出部２２５は、読み出した参照画像をバッファ２２３から削除する。
【０１０３】
ステップＳ６において、不変性推定部２２６は、各特徴点の不変性を推定する。具体的には、不変性推定部２２６は、各参照画像の各特徴点が属する物体の種類に基づいて、各特徴点の不変性スコアを求める。
【０１０４】
ここで、不変性スコアとは、時間の経過や環境の変化に対して特徴点が変化しない度合いを示すスコアである。より具体的には、不変性スコアとは、時間の経過や環境の変化に対して特徴点の位置及び特徴量が変化しない度合いを示すスコアである。従って、時間の経過や環境の変化に対して位置及び特徴量の変化が小さい特徴点ほど、不変性スコアは高くなる。例えば、静止物体の特徴点は、位置がほとんど変化しないため、特徴点スコアは高くなる。一方、時間の経過及び環境の変化のうち少なくとも１つに対して位置及び特徴量のうち少なくとも１つの変化が大きい特徴点ほど、不変性スコアは低くなる。例えば、動物体の特徴点は、位置が容易に変化するため、特徴点スコアは低くなる。
【０１０５】
図４は、不変性スコアの例を示している。この例では、物体が複数の種類に分類され、各物体に対して個別に不変性スコアが設定されている。
【０１０６】
例えば、ビルや民家は位置が変化しない静止物である。また、工事が行われたり、取り壊されたりする可能性が低い。そのため、ビルや民家において検出される特徴点の位置や特徴量は、変化する可能性が低い。従って、ビルや民家の不変性スコアは高く設定される。
【０１０７】
なお、民家は、ビルに比べて、模様替えをしたり、洗濯物を干したりする等により、外観が変化する可能性が高い。従って、民家の不変性スコアは、ビルより低く設定される。
【０１０８】
なお、例えば、図５及び図６に示されるように、路面と同じ階にある店舗等の商業施設は、看板、ディスプレイ、商品の陳列等が頻繁に変えられる。また、商業施設の前に、搬入用のトラック、顧客の車又は自転車等が駐車されることが多い。さらに、店舗のシャッタが開閉されたり、店舗が入れ替わったり、閉店したりすることも多い。従って、ビルであっても、商業施設（特に、路面と同じ階にある商業施設）に対する不変性スコアは、低く設定するようにしてもよい。
【０１０９】
路面は、静止物体ではあるが、時間の経過や環境の変化に対する変化が比較的大きい。例えば、雨で路面が濡れたり、水溜りができたり、雪が積もったりすることにより、路面の状態（例えば、反射特性）が大きく変化したり、路面の白線等の道路標示の見え方が大きく変化する。その結果、路面において検出される特徴点の位置や特徴量が大きく変化する。
【０１１０】
また、例えば、図７に示されるように、道路は、ビルや民家等の建物と比べて工事が良く行われる。道路工事が行われると、路面にトラック、機械、工具、工事の案内板等が置かれる。また、路面の道路標示が消されたり、描き替えられたりする。その結果、路面において検出される特徴点の位置や特徴量が大きく変化する。
【０１１１】
さらに、例えば、図８に示されるように、路上駐車している車両により、路面の道路標示が隠れることがよくある。その結果、路面において検出される特徴点の位置や特徴量が大きく変化する。
【０１１２】
従って、路面の不変性スコアは、ビルや民家より低く設定される。
【０１１３】
植物は、基本的に位置が移動しない静止物体であるが、時間の経過や環境の変化に対する変化が大きい。例えば、季節により、花が咲いたり、葉が生い茂ったり、葉の色が変化したり、葉が散ったり、成長したり、枯れたりして、色や形状が変化する。また、風によってなびくことにより、形状が変化する。その結果、植物において検出される特徴点の位置や特徴量が大きく変化する。従って、植物は、路面より不変性スコアが低く設定される。
【０１１４】
車は、移動体であるため、現在の位置から移動し、いなくなる可能性が非常に高い。従って、車の不変性スコアは非常に低く設定される。
【０１１５】
なお、図４は、不変性スコアの設定方法の一例であり、任意に変更することが可能である。例えば、物体の種類を増やしたり、物体をさらに詳細に分類したりすることが可能である。
【０１１６】
ステップＳ７において、不変性推定部２２６は、各参照画像の不変性を推定する。具体的には、不変性推定部２２６は、各特徴点の不変性スコアを参照画像毎に集計し、集計した値を各参照画像の不変性スコアとする。従って、不変性スコアがより高い特徴点をより多く含む参照画像ほど、不変性スコアが高くなる。
【０１１７】
ここで、図９を参照して、参照画像の不変性スコアの算出方法の具体例について説明する。図９は、参照画像の例を示している。参照画像内のバツ印は、検出された特徴点の位置を示している。この参照画像において、領域Ｒ１乃至領域Ｒ３内において、特徴点が検出されている。また、領域Ｒ１は民家として認識され、領域Ｒ２は車として認識され、領域Ｒ３は植物として認識されている。
【０１１８】
この例の場合、図４の表に基づいて、領域Ｒ１内の各特徴点に対して、民家の不変性スコアである１が付与される。領域Ｒ２内の各特徴点に対して、車の不変性スコアである０．０００５が付与される。領域Ｒ３内の各特徴点に対して、植物の不変性スコアである０．０１が付与される。そして、各特徴点に付与された不変性スコアを合計することにより、参照画像の不変性スコアが算出される。
【０１１９】
不変性推定部２２６は、各参照画像の特徴点の位置、特徴量、及び、不変性スコアを示すデータ、各参照画像の不変性スコアを示すデータ、並びに、各参照画像を地図生成部２２７に供給する。
【０１２０】
ステップＳ８において、地図生成部２２７は、不変性スコアが閾値を超える参照画像があるか否かを判定する。不変性スコアが閾値を超える参照画像があると判定された場合、処理はステップＳ９に進む。
【０１２１】
ステップＳ９において、地図生成部２２７は、キーフレームを生成し、登録する。
【０１２２】
例えば、地図生成部２２７は、不変性スコアが最も高い参照画像をキーフレームの生成に用いる参照画像に選択する。次に、地図生成部２２７は、選択した参照画像の特徴点の中から不変性スコアが閾値以上の特徴点を抽出する。そして、地図生成部２２７は、抽出した各特徴点の画像座標系における位置及び特徴量、並びに、参照画像を撮影したときのマップ生成用車両のワールド座標系における位置及び姿勢（すなわち、キーフレームの取得位置及び取得姿勢）を示すデータを含むキーフレームを生成する。地図生成部２２７は、生成したキーフレームを、地図ＤＢ２１２に登録する。
【０１２３】
例えば、図１０に示されるように参照画像Ｐ１乃至参照画像Ｐ４が得られている場合、不変性スコアが最も高い参照画像Ｐ２に基づいてキーフレームが生成され、登録される。
【０１２４】
その後、処理はステップＳ１に戻り、ステップＳ１以降の処理が実行される。
【０１２５】
一方、ステップＳ８において、不変性スコアが閾値を超える参照画像がないと判定された場合、ステップＳ９の処理は行われずに、処理はステップＳ１に戻り、ステップＳ１以降の処理が実行される。すなわち、不変性の高い特徴点を多く含む参照画像が得られていないため、キーフレームの生成は行われない。
【０１２６】
次に、図１１のフローチャートを参照して、自己位置推定処理部２１３により実行される自己位置推定処理について説明する。なお、この処理は、例えば、車両１０を起動し、運転を開始するための操作が行われたとき、例えば、車両１０のイグニッションスイッチ、パワースイッチ、又は、スタートスイッチ等がオンされたとき開始される。また、この処理は、例えば、運転を終了するための操作が行われたとき、例えば、車両１０のイグニッションスイッチ、パワースイッチ、又は、スタートスイッチ等がオフされたとき終了する。
【０１２７】
ステップＳ５１において、画像取得部２４１は、観測画像を取得する。具体的には、画像取得部２４１は、車両１０の前方の撮影を行い、得られた観測画像を特徴点検出部２４２に供給する。
【０１２８】
ステップＳ５２において、特徴点検出部２４２は、観測画像の特徴点を検出する。特徴点検出部２４２は、検出結果を示すデータを特徴点照合部２４３に供給する。
【０１２９】
なお、特徴点の検出方法には、地図生成処理部２１１の特徴点検出部２２５と同様の手法が用いられる。
【０１３０】
ステップＳ５３において、特徴点照合部２４３は、キーフレームの検索、及び、観測画像とのマッチングを行う。例えば、特徴点照合部２４３は、地図ＤＢ２１２に格納されているキーフレームの中から、取得位置が観測画像の撮影時の車両１０の位置に近いキーフレームを検索する。次に、特徴点照合部２４３は、観測画像の特徴点と、検索により得られたキーフレームの特徴点（すなわち、事前に撮影された参照画像の特徴点）とのマッチングを行う。
【０１３１】
なお、複数のキーフレームが抽出された場合、各キーフレームと観測画像との間でそれぞれ特徴点マッチングが行われる。
【０１３２】
次に、特徴点照合部２４３は、観測画像との特徴点マッチングに成功したキーフレームが存在する場合、観測画像と特徴点マッチングに成功したキーフレームとのマッチング率を算出する。例えば、特徴点照合部２４３は、観測画像の特徴点のうちキーフレームの特徴点とのマッチングに成功した特徴点の割合をマッチング率として算出する。なお、特徴点マッチングに成功したキーフレームが複数ある場合、各キーフレームについてマッチング率が算出される。
【０１３３】
そして、特徴点照合部２４３は、マッチング率が最も高いキーフレームを参照キーフレームに選択する。なお、特徴点マッチングに成功したキーフレームが１つのみの場合、そのキーフレームが参照キーフレームに選択される。
【０１３４】
特徴点照合部２４３は、観測画像と参照キーフレームとの間のマッチング情報、並びに、参照キーフレームの取得位置及び取得姿勢を示すデータを自己位置推定部２４４に供給する。なお、マッチング情報は、例えば、観測画像と参照キーフレームの間でマッチングに成功した各特徴点の位置や対応関係等を含む。
【０１３５】
ステップＳ５４において、特徴点照合部２４３は、ステップＳ５３の処理の結果に基づいて、特徴点マッチングに成功したか否かを判定する。特徴点マッチングに失敗したと判定された場合、処理はステップＳ５１に戻る。
【０１３６】
その後、ステップＳ５４において、特徴点マッチングに成功したと判定されるまで、ステップＳ５１乃至ステップＳ５４の処理が繰り返し実行される。
【０１３７】
一方、ステップＳ５４において、特徴点マッチングに成功したと判定された場合、処理はステップＳ５５に進む。
【０１３８】
ステップＳ５５において、自己位置推定部２４４は、車両１０の位置及び姿勢を推定する。具体的には、自己位置推定部２４４は、観測画像と参照キーフレームとの間のマッチング情報、並びに、参照キーフレームの取得位置及び取得姿勢に基づいて、参照キーフレームの取得位置及び取得姿勢に対する車両１０の位置及び姿勢を算出する。より正確には、自己位置推定部２４４は、参照キーフレームに対応する参照画像の撮影が行われたときのマップ生成用車両の位置及び姿勢に対する車両１０の位置及び姿勢を算出する。
【０１３９】
次に、自己位置推定部２４４は、参照キーフレームの取得位置及び取得姿勢に対する車両１０の位置及び姿勢を、ワールド座標系における位置及び姿勢に変換する。そして、自己位置推定部２４４は、車両１０のワールド座標系における位置及び姿勢の推定結果を示すデータを、例えば、図１のマップ解析部１５１、交通ルール認識部１５２、及び、状況認識部１５３等に供給する。
【０１４０】
その後、処理はステップＳ５１に戻り、ステップＳ５１以降の処理が実行される。
【０１４１】
以上のように不変性が高い参照画像に基づいてキーフレームが生成され、不変性が高い特徴点のみがキーフレームに登録されるため、観測画像とキーフレームの特徴点のマッチング率（観測画像とキーフレームの特徴点の照合精度）が向上する。その結果、車両１０の自己位置推定の精度が向上する。
【０１４２】
また、不変性の低い参照画像に基づくキーフレームは生成されないため、キーフレームマップの生成に係る負荷やキーフレームマップの容量を削減することができる。また、不変性の低い特徴点がキーフレームに登録されないため、さらにキーフレームマップの容量を削減することができる。
【０１４３】
＜＜３．変形例＞＞
以下、上述した本技術の実施の形態の変形例について説明する。
【０１４４】
以上の説明では、図３のステップＳ９の処理で、不変性スコアが最も高い参照画像のみを用いてキーフレームを生成する例を示したが、例えば、不変性スコアが閾値を超える参照画像を全て用いて、それぞれキーフレームを生成するようにしてもよい。
【０１４５】
また、例えば、各キーフレームが、各特徴点の不変性（例えば、不変性スコア）を含むようにしてもよい。
【０１４６】
この場合、例えば、特徴点照合部２４３は、キーフレームの各特徴点の不変性に基づく重みをつけて、観測画像の特徴点とキーフレームの特徴点との照合を行うようにしてもよい。例えば、特徴点照合部２４３は、観測画像とキーフレームのマッチング率を算出する場合、不変性スコアが高い特徴点に対するマッチングスコアを高くし、不変性スコアが低い特徴点に対するマッチングスコアを低くする。これにより、不変性スコアが高い特徴点とのマッチングが成功する頻度が高くなるほど、マッチング率が高くなる。
【０１４７】
また、以上の説明では、不変性スコアが閾値以上の特徴点を抽出してキーフレームに登録する例を示したが、全ての特徴点を不変性スコアとともにキーフレームに登録するようにしてもよい。この場合、例えば、特徴点照合部２４３が、キーフレームの各特徴点のうち不変性スコアが所定の閾値以上の特徴点のみを用いて、観測画像とキーフレームの照合を行うようにしてもよい。また、この場合、天候等の条件により、閾値を可変にするようにしてもよい。
【０１４８】
さらに、地図生成処理部２１１の画像取得部２２１に複数のカメラを設けて、複数のカメラで参照画像を撮影するようにしてもよい。この場合、必ずしも全てのカメラがマップ生成用車両の前方を撮影する必要はなく、一部又は全部のカメラが前方以外の方向を撮影するようにしてもよい。
【０１４９】
同様に、自己位置推定処理部２１３の画像取得部２４１に複数のカメラを設けて、複数のカメラで観測画像を撮影するようにしてもよい。この場合、必ずしも全てのカメラが車両１０の前方を撮影する必要はなく、一部又は全部のカメラが前方以外の方向を撮影するようにしてもよい。
【０１５０】
また、例えば、観測画像とのマッチングの成功率が低いキーフレームを削除するようにしてもよい。例えば、所定の期間内の観測画像とのマッチングの成功率が所定の閾値未満のキーフレーム、又は、所定の期間以上観測画像とのマッチングが成功していないキーフレームを削除するようにしてもよい。
【０１５１】
例えば、図１２は、登録されたキーフレームの元になる参照画像Ｐ１１乃至参照画像Ｐ１４の例を示している。例えば、参照画像Ｐ１１に基づくキーフレームが観測画像と最後にマッチングに成功したのが２日前、参照画像Ｐ１２に基づくキーフレームが観測画像と最後にマッチングに成功したのが１５日前、参照画像Ｐ１３に基づくキーフレームが観測画像と最後にマッチングに成功したのが２日前、参照画像Ｐ１４に基づくキーフレームが観測画像と最後にマッチングに成功したのが１日前とする。例えば、２週間以上観測画像とのマッチングに成功していないキーフレームを削除するようにした場合、参照画像Ｐ１２に基づくキーフレームが削除される。
【０１５２】
これにより、例えば、参照画像Ｐ１２を撮影した後、参照画像Ｐ１２の撮影範囲内の状態が大きく変化し、観測画像とのマッチングが困難になった不要なキーフレームを削除することができる。これにより、地図ＤＢ２１２の容量を効率的に使用することができる。
【０１５３】
なお、この場合、例えば、参照画像Ｐ１２と近い位置及び姿勢で新たに撮影した参照画像Ｐ１５に基づくキーフレームを新たに生成し、登録するようにしてもよい。
【０１５４】
さらに、周囲の環境など物体の種類以外の条件を加えて、特徴点の不変性スコアを設定するようにしてもよい。例えば、特徴量に影響する条件（例えば、日当たり、照明、天候等）の変化が大きい場所の特徴点の不変性スコアを下げるようにしてもよい。
【０１５５】
また、例えば、時間の経過及び環境の変化の両方ではなく一方に対して特徴点が変化しない度合いに基づいて、各特徴点の不変性スコアを設定するようにしてもよい。
【０１５６】
さらに、本技術は、先に例示した車両以外にも、自動二輪車、自転車、パーソナルモビリティ、飛行機、船舶、建設機械、農業機械（トラクター）、ドローン、ロボット等の各種の移動体の自己位置推定を行う場合にも適用することができる。
【０１５７】
＜＜４．その他＞＞
＜コンピュータの構成例＞
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【０１５８】
図１３は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【０１５９】
コンピュータ５００において、CPU（Central Processing Unit）５０１，ROM（Read Only Memory）５０２，RAM（Random Access Memory）５０３は、バス５０４により相互に接続されている。
【０１６０】
バス５０４には、さらに、入出力インターフェース５０５が接続されている。入出力インターフェース５０５には、入力部５０６、出力部５０７、記録部５０８、通信部５０９、及びドライブ５１０が接続されている。
【０１６１】
入力部５０６は、入力スイッチ、ボタン、マイクロフォン、撮像素子などよりなる。出力部５０７は、ディスプレイ、スピーカなどよりなる。記録部５０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部５０９は、ネットワークインターフェースなどよりなる。ドライブ５１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブル記録媒体５１１を駆動する。
【０１６２】
以上のように構成されるコンピュータ５００では、CPU５０１が、例えば、記録部５０８に記録されているプログラムを、入出力インターフェース５０５及びバス５０４を介して、RAM５０３にロードして実行することにより、上述した一連の処理が行われる。
【０１６３】
コンピュータ５００（CPU５０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体５１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０１６４】
コンピュータ５００では、プログラムは、リムーバブル記録媒体５１１をドライブ５１０に装着することにより、入出力インターフェース５０５を介して、記録部５０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部５０９で受信し、記録部５０８にインストールすることができる。その他、プログラムは、ROM５０２や記録部５０８に、あらかじめインストールしておくことができる。
【０１６５】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１６６】
また、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０１６７】
さらに、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０１６８】
例えば、本技術は、１つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０１６９】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０１７０】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０１７１】
＜構成の組み合わせ例＞
本技術は、以下のような構成をとることもできる。
【０１７２】
（１）
移動体の自己位置推定に用いる参照画像の特徴点を検出する特徴点検出部と、
前記特徴点の不変性を推定する不変性推定部と、
前記特徴点及び前記特徴点の不変性に基づいて、地図を生成する地図生成部と
を備える情報処理装置。
（２）
前記地図生成部は、前記特徴点の不変性に基づく前記参照画像の不変性に基づいて、前記地図に用いる前記参照画像を抽出する
前記（１）に記載の情報処理装置。
（３）
前記地図生成部は、前記特徴点の不変性を示す不変性スコアを前記参照画像毎に集計することにより得られる、前記参照画像の不変性を示す不変性スコアに基づいて、前記地図に用いる前記参照画像を抽出する
前記（２）に記載の情報処理装置。
（４）
前記地図生成部は、前記特徴点の不変性に基づいて、前記地図に用いる前記特徴点を抽出する
前記（１）乃至（３）のいずれかに記載の情報処理装置。
（５）
前記参照画像内の物体の認識処理を行う物体認識部を
さらに備え、
前記不変性推定部は、前記特徴点が属する物体の種類に基づいて前記特徴点の不変性を推定する
前記（１）乃至（４）のいずれかに記載の情報処理装置。
（６）
前記特徴点の不変性は、時間の経過及び環境の変化のうち少なくとも１つに対して前記特徴点が変化しない度合いを示す
前記（１）乃至（５）のいずれかに記載の情報処理装置。
（７）
前記地図は、前記特徴点の位置、特徴量、及び、不変性を含む
前記（１）乃至（６）のいずれかに記載の情報処理装置。
（８）
移動体の自己位置推定に用いる参照画像の特徴点を検出し、
前記特徴点の不変性を推定し、
前記特徴点及び前記特徴点の不変性に基づいて、地図を生成する
情報処理方法。
（９）
移動体の自己位置推定に用いる参照画像の特徴点を検出し、
前記特徴点の不変性を推定し、
前記特徴点及び前記特徴点の不変性に基づいて、地図を生成する
処理をコンピュータに実行させるためのプログラム。
（１０）
観測画像の特徴点を検出する特徴点検出部と、
特徴点及び特徴点の不変性に基づいて生成された地図の特徴点と前記観測画像の特徴点との照合を行う特徴点照合部と、
前記地図の特徴点と前記観測画像の特徴点との照合結果に基づいて、自己位置推定を行う自己位置推定部と
を備える移動体。
（１１）
前記特徴点照合部は、前記地図の特徴点の不変性に基づく重みをつけて、前記地図の特徴点と前記観測画像の特徴点との照合を行う
前記（１０）に記載の移動体。
（１２）
前記特徴点照合部は、前記地図の特徴点のうち不変性が所定の閾値以上の特徴点と、前記観測画像の特徴点との照合を行う
前記（１０）又は（１１）に記載の移動体。
（１３）
前記特徴点の不変性は、時間の経過及び環境の変化のうち少なくとも１つに対して前記特徴点が変化しない度合いを示す
前記（１０）乃至（１２）のいずれかに記載の移動体。
【０１７３】
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【符号の説明】
【０１７４】
１０  車両，  １００  車両制御システム，  １３２  自己位置推定部，  １４１  車外情報検出部，  ２０１  自己位置推定システム，  ２１１  地図生成処理部，  ２１３  自己位置推定処理部，  ２２１  画像取得部，  ２２４  物体認識部，  ２２５  特徴点検出部，  ２２６  不変性推定部，  ２２７  地図生成部，  ２４１  画像取得部，  ２４２  特徴点検出部，  ２４３  特徴点照合部，  ２４４  自己位置推定部
【図１】
2019082670.tif 000003
【図２】
2019082670.tif 000004
【図３】
2019082670.tif 000005
【図４】
2019082670.tif 000006
【図５】
2019082670.tif 000007
【図６】
2019082670.tif 000008
【図７】
2019082670.tif 000009
【図８】
2019082670.tif 000010
【図９】
2019082670.tif 000011
【図１０】
2019082670.tif 000012
【図１１】
2019082670.tif 000013
【図１２】
2019082670.tif 000014
【図１３】
2019082670.tif 000015
【国際調査報告】
2019082670.tif 000016
2019082670.tif 000017