(57)【要約】【課題】魚眼レンズを用いて撮影した画像を用いて、移動体の自己位置推定の精度を向上させる。【解決手段】情報処理装置は、移動体に設置されている魚眼レンズを用いて前記移動体の周囲を撮影した周囲画像の使用範囲を航法衛星からの衛星信号の強度に応じて、変更し、前記使用範囲内の画像に基づいて前記移動体の自己位置推定を行う第１の自己位置推定部を備える。本技術は、例えば、移動体の自己位置推定を行うシステムに適用することができる。【選択図】図２
2019045364.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５０２や記録部５０８に、あらかじめインストールしておくことができる。
【０１５８】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１５９】
また、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０１６０】
さらに、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０１６１】
例えば、本技術は、１つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０１６２】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０１６３】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０１６４】
＜構成の組み合わせ例＞
本技術は、以下のような構成をとることもできる。
【０１６５】
（１）
移動体に設置されている魚眼レンズを用いて前記移動体の周囲を撮影した周囲画像の使用範囲を航法衛星からの衛星信号の強度に応じて、変更し、前記使用範囲内の画像に基づいて前記移動体の自己位置推定を行う第１の自己位置推定部を
備える情報処理装置。
（２）
前記第１の自己位置推定部は、前記衛星信号の強度が低いほど前記使用範囲を広くする
前記（１）に記載の情報処理装置。
（３）
前記第１の自己位置推定部は、前記衛星信号の強度が低いほど、前記使用範囲を前記周囲画像の中央を基準にして外方向に広げる
前記（２）に記載の情報処理装置。
（４）
前記第１の自己位置推定部は、前記周囲画像の特徴点と事前に撮影された参照画像の特徴点との照合を行うことにより、前記移動体の自己位置推定を行う
前記（１）乃至（３）のいずれかに記載の情報処理装置。
（５）
前記第１の自己位置推定部は、前記周囲画像の前記使用範囲内の特徴点の照合を行う
前記（４）に記載の情報処理装置。
（６）
前記衛星信号に基づいて前記移動体の自己位置推定を行う第２の自己位置推定部を
さらに備える前記（１）乃至（５）のいずれかに記載の情報処理装置。
（７）
前記第１の自己位置推定部による第１の自己位置推定の結果、及び、前記第２の自己位置推定部による第２の自己位置推定の結果に基づいて、前記移動体の自己位置推定を行う第３の自己位置推定部を
さらに備える前記（６）に記載の情報処理装置。
（８）
前記第３の自己位置推定部は、前記衛星信号の強度が高いほど、前記第２の自己位置推定の結果を重視し、前記衛星信号の強度が低いほど、前記第１の自己位置推定の結果を重視して、前記移動体の自己位置推定を行う
前記（７）に記載の情報処理装置。
（９）
前記第１の自己位置推定部は、前記移動体の位置及び姿勢のうち少なくとも１つの推定を行う
前記（１）乃至（８）のいずれかに記載の情報処理装置。
（１０）
前記魚眼レンズを用いて前記周囲画像を撮影する撮像装置を
さらに備える前記（１）乃至（９）のいずれかに記載の情報処理装置。
（１１）
前記魚眼レンズは、前記移動体に上向き又は下向きに設置されている
前記（１）乃至（１０）のいずれかに記載の情報処理装置。
（１２）
前記移動体は、車両であり、
前記魚眼レンズは、前記車両に上向きに設置されている
前記（１１）に記載の情報処理装置。
（１３）
前記移動体は、飛行体であり、
前記魚眼レンズは、前記飛行体に下向きに設置されている
前記（１１）に記載の情報処理装置。
（１４）
情報処理装置が、
移動体に設置されている魚眼レンズを用いて前記移動体の周囲を撮影した周囲画像の使用範囲を航法衛星からの衛星信号の強度に応じて、変更し、前記使用範囲内の画像に基づいて前記移動体の自己位置推定を行う
自己位置推定方法。
（１５）
移動体に設置されている魚眼レンズを用いて前記移動体の周囲を撮影した周囲画像の使用範囲を航法衛星からの衛星信号の強度に応じて、変更し、前記使用範囲内の画像に基づいて前記移動体の自己位置推定を行う
処理をコンピュータに実行させるためのプログラム。
【０１６６】
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【符号の説明】
【０１６７】
１０  車両，  １００  車両制御システム，  １３２  自己位置推定部，  １４１  車外情報検出部，  ２０１  自己位置推定システム，  ２１１  キーフレーム生成部，  ２１２  キーフレームマップＤＢ，  ２１３  自己位置推定処理部，  ２３１  画像自己位置推定部，  ２３２  ＧＮＳＳ自己位置推定部，  ２３３  最終自己位置推定部，  ２４１  画像取得部，  ２４２  特徴点検出部，  ２４３  使用範囲設定部，  ２４４  特徴点照合部,  ２４５  演算部，  ２５２  信号強度検出部，  ３０１  魚眼カメラ，  ３０１Ａ  魚眼レンズ，  ３０２  車両，  ３３１  ロボット，  ３３２  魚眼カメラ，  ３３２Ａ  魚眼レンズ，  ３６１  ドローン，  ３６２  魚眼カメラ，  ３６２Ａ  魚眼レンズ
【図１】
2019045364.tif 000003
【図２】
2019045364.tif 000004
【図３】
2019045364.tif 000005
【図４】
2019045364.tif 000006
【図５】
2019045364.tif 000007
【図６】
2019045364.tif 000008
【図７】
2019045364.tif 000009
【図８】
2019045364.tif 000010
【図９】
2019045364.tif 000011
【図１０】
2019045364.tif 000012
【図１１】
2019045364.tif 000013
【図１２】
2019045364.tif 000014