(57)【要約】  三次元点群データ生成方法は、プロセッサを用いて１以上の三次元点を備える三次元点群を生成する三次元点群データ生成方法であって、距離センサを用いて三次元オブジェクトをセンシングすることにより得られた第１三次元点群と、カメラを用いて三次元オブジェクトを撮像することにより得られた二次元画像とを取得し（Ｓ１１、Ｓ１２）、取得された二次元画像から、二次元画像上の位置に対応する二次元画像の属性値を１以上検出し、検出された１以上の属性値のそれぞれについて、（ｉ）第１三次元点群を構成する複数の三次元点のうちで当該属性値の二次元画像上の位置が対応する１以上の第１三次元点を特定し（Ｓ１６）、（ｉｉ）特定された１以上の第１三次元点に当該属性値を付加することで、それぞれが属性値を有する１以上の第２三次元点を含む第２三次元点群を生成する（Ｓ１７）。
2019098318.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサを用いて複数の三次元点を含む三次元点群を生成する三次元点群生成方法であって、
カメラを用いて三次元オブジェクトを撮像することにより得られた二次元画像と、距離センサを用いて前記三次元オブジェクトをセンシングすることにより得られた第１三次元点群とを取得し、
取得された前記二次元画像から、前記二次元画像上の位置に対応する前記二次元画像の属性値を１以上検出し、
検出された前記１以上の属性値のそれぞれについて、
（ｉ）前記第１三次元点群を構成する複数の三次元点のうちで当該属性値の前記二次元画像上の位置が対応する１以上の第１三次元点を特定し、
（ｉｉ）特定された前記１以上の第１三次元点に当該属性値を付加することで、それぞれが前記属性値を有する１以上の第２三次元点を含む第２三次元点群を生成する
三次元点群データ生成方法。
【請求項２】
前記取得では、それぞれが、互いに異なる位置および／または姿勢における前記カメラにより撮像されることにより得られた複数の前記二次元画像を取得し、
前記検出では、取得された前記複数の二次元画像のそれぞれについて、前記１以上の属性値を検出し、
前記三次元点群データ生成方法は、さらに、
前記複数の二次元画像のそれぞれについて検出された前記１以上の属性値を用いて、前記複数の二次元画像のうちの２枚の二次元画像で対応する属性値をマッチングすることで、マッチングされた属性値のペアを１以上出力し、
前記特定では、前記１以上のペアのそれぞれについて、当該ペアを構成する２つの属性値のそれぞれの前記二次元画像上の位置と、前記２枚の二次元画像のそれぞれが撮像されたときの前記カメラの位置および姿勢とを用いて、前記複数の三次元点のうちで当該ペアを構成する前記２つの属性値の前記二次元画像上の位置が対応する前記１以上の第１三次元点を特定し、
前記生成では、前記１以上のペアのそれぞれについて、特定された前記１以上の第１三次元点に当該ペアを構成する前記２つの属性値に基づく属性値を付加することで、前記第２三次元点群を生成する
請求項１に記載の三次元点群データ生成方法。
【請求項３】
前記生成では、特定された１つの前記第１三次元点に複数の前記属性値を付加することで、前記第２三次元点を生成する
請求項１または２に記載の三次元点群データ生成方法。
【請求項４】
前記生成において前記１つの第１三次元点に付加される前記複数の属性値は、それぞれ、複数の前記二次元画像から検出された属性値である
請求項３に記載の三次元点群データ生成方法。
【請求項５】
前記生成において前記１つの第１三次元点に付加される前記複数の属性値は、それぞれ、属性の種類が互いに異なる属性値である
請求項３に記載の三次元点群データ生成方法。
【請求項６】
前記検出では、取得された前記二次元画像を構成する複数の領域毎に算出された特徴量を、前記二次元画像上の位置に対応する前記二次元画像の前記１以上の属性値として検出する
請求項１から５のいずれか１項に記載の三次元点群データ生成方法。
【請求項７】
前記生成では、さらに、前記１以上の第２三次元点のそれぞれについて、
（ｉ）当該第２三次元点に付加された前記属性値に基づいて当該第２三次元点の重要度を算出し、
（ｉｉ）算出された前記重要度を、当該第２三次元点に付加することで、それぞれが前記属性値および前記重要度を有する１以上の第３三次元点を含む第３三次元点群を生成する
請求項１から６のいずれか１項に記載の三次元点群データ生成方法。
【請求項８】
さらに、
クライアント機器から閾値を受信し、
前記１以上の第３三次元点のうち、受信された前記閾値を超える重要度が付加されている１以上の第４三次元点を抽出し、
抽出された前記１以上の第４三次元点を含む第４三次元点群を前記クライアント機器に送信する
請求項７に記載の三次元点群データ生成方法。
【請求項９】
プロセッサを用いて移動体の現在位置を推定する位置推定方法であって、
三次元オブジェクトを撮像した第１二次元画像の属性値である第１属性値がそれぞれ予め付加された複数の三次元点を含む三次元点群を取得し、
前記移動体が備えるカメラにより撮像された、前記移動体の周囲の第２二次元画像を取得し、
取得された前記第２二次元画像から、前記第２二次元画像上の位置に対応する前記第２二次元画像の属性値である第２属性値を１以上検出し、
検出された前記１以上の第２属性値のそれぞれについて、前記複数の三次元点のうちで、当該第２属性値に対応する１以上の第５三次元点を特定することで当該第２属性値および前記１以上の第５三次元点により構成される組合せを１以上生成し、
記憶装置から前記移動体に対する前記カメラの位置および姿勢を取得し、
生成された前記１以上の組合せと、取得された前記カメラの位置および姿勢とを用いて前記移動体の位置および姿勢を算出する
位置推定方法。
【請求項１０】
プロセッサを備える三次元点群データ生成装置であって、
前記プロセッサは、
カメラを用いて三次元オブジェクトを撮像することにより得られた二次元画像と、距離センサを用いて前記三次元オブジェクトをセンシングすることにより得られた第１三次元点群とを取得し、
取得された前記二次元画像から、前記二次元画像上の位置に対応する前記二次元画像の属性値を１以上検出し、
検出された前記１以上の属性値のそれぞれについて、
（ｉ）前記第１三次元点群を構成する複数の三次元点のうちで当該属性値の前記二次元画像上の位置が対応する１以上の第１三次元点を特定し、
（ｉｉ）特定された前記１以上の第１三次元点に当該属性値を付加することで、それぞれが前記属性値を有する１以上の第２三次元点を含む第２三次元点群を生成する
三次元点群データ生成装置。
【請求項１１】
プロセッサを備え、前記プロセッサを用いて移動体の現在位置を推定する位置推定装置であって、
前記プロセッサは、
三次元オブジェクトを撮像した第１二次元画像の属性値である第１属性値がそれぞれ予め付加された複数の三次元点を含む三次元点群を取得し、
前記移動体が備えるカメラにより撮像された、前記移動体の周囲の第２二次元画像を取得し、
取得された前記第２二次元画像から、前記第２二次元画像上の位置に対応する前記第２二次元画像の属性値である第２属性値を１以上検出し、
検出された前記１以上の第２属性値のそれぞれについて、前記複数の三次元点のうちで、当該第２属性値に対応する１以上の第５三次元点を特定することで当該第２属性値および前記１以上の第５三次元点により構成される組合せを１以上生成し、
記憶装置から前記移動体に対する前記カメラの位置および姿勢を取得し、
生成された前記１以上の組合せと、取得された前記カメラの位置および姿勢とを用いて前記移動体の位置および姿勢を算出する
位置推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、三次元点群データ生成方法、位置推定方法、三次元点群データ生成装置、および、位置推定装置に関する。
【背景技術】
【０００２】
特許文献１には、三次元形状データを転送する方法について開示されている。特許文献１では、三次元形状のデータが、例えば、ポリゴンやボクセルなどの要素毎に、ネットワークに送り出される。そして、受信側では、その三次元形状のデータが取り込まれ、受け取った要素毎に画像展開して表示される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−２３７３５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献に係る技術には、更なる改善が必要とされていた。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本開示の一態様に係る三次元点群データ生成方法は、プロセッサを用いて複数の三次元点を含む三次元点群を生成する三次元点群生成方法であって、カメラを用いて三次元オブジェクトを撮像することにより得られた二次元画像と、距離センサを用いて前記三次元オブジェクトをセンシングすることにより得られた第１三次元点群とを取得し、取得された前記二次元画像から、前記二次元画像上の位置に対応する前記二次元画像の属性値を１以上検出し、検出された前記１以上の属性値のそれぞれについて、（ｉ）前記第１三次元点群を構成する複数の三次元点のうちで当該属性値の前記二次元画像上の位置が対応する１以上の第１三次元点を特定し、（ｉｉ）特定された前記１以上の第１三次元点に当該属性値を付加することで、それぞれが前記属性値を有する１以上の第２三次元点を含む第２三次元点群を生成する。【０００６】
また、本開示の一態様に係る位置推定方法は、プロセッサを用いて移動体の現在位置を推定する位置推定方法であって、三次元オブジェクトを撮像した第１二次元画像の属性値である第１属性値がそれぞれ予め付加された複数の三次元点を含む三次元点群を取得し、前記移動体が備えるカメラにより撮像された、前記移動体の周囲の第２二次元画像を取得し、取得された前記第２二次元画像から、前記第２二次元画像上の位置に対応する前記第２二次元画像の属性値である第２属性値を１以上検出し、検出された前記１以上の第２属性値のそれぞれについて、前記複数の三次元点のうちで、当該第２属性値に対応する１以上の第５三次元点を特定することで当該第２属性値および前記１以上の第５三次元点により構成される組合せを１以上生成し、記憶装置から前記移動体に対する前記カメラの位置および姿勢を取得し、生成された前記１以上の組合せと、取得された前記カメラの位置および姿勢とを用いて前記移動体の位置および姿勢を算出する。【０００７】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【０００８】
本開示は、更なる改善を図ることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、位置推定システムの概要を示す図である。
【図２】図２は、位置推定システムの機能構成の一例を示すブロック図である。
【図３】図３は、クライアント機器としての車両の機能構成の一例を示すブロック図である。
【図４】図４は、位置推定システムの動作の一例を示すシーケンス図である。
【図５】図５は、位置推定システムの動作を説明するための図である。
【図６】図６は、マッピング部の機能構成の一例を示すブロック図である。
【図７】図７は、マッピング処理の詳細な処理の一例を示すフローチャートである。
【図８】図８は、変形例１における三次元点群データ生成装置の動作の一例を示すフローチャートである。
【図９】図９は、重要度の算出処理の詳細な処理の一例を示すフローチャートである。
【図１０】図１０は、第３三次元点のデータ構成の一例を示す図である。
【図１１】図１１は、符号化部の機能構成の一例を示すブロック図である。
【図１２】図１２は、符号化処理の詳細な処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
（本開示の基礎となった知見）
三次元点群データは、製造、建築において普及しており、近年、自律走行などの情報技術アプリケーションにおいて重要になってきている。三次元点群データは、通常、データの格納、および、データの処理において大きく非効率的である。このため、実際のアプリケーションで三次元点群データを利用するために、コンパクトなサイズに圧縮した三次元点群データを生成することが求められている。このように、三次元点群データのデータ量を削減できることが必要とされていた。また、データ量を削減した三次元点群データを用いて、自己位置を推定することも必要とされていた。
【００１１】
本開示は、三次元点群データのデータ量を効果的に削減することができる、三次元点群データ生成方法および三次元点群データ生成装置、並びに、データ量を削減した三次元点群データを用いて、自己位置を推定することができる位置推定方法および位置推定装置を提供することを目的とする。
【００１２】
本開示の一態様に係る三次元点群データ生成方法は、プロセッサを用いて複数の三次元点を含む三次元点群を生成する三次元点群生成方法であって、カメラを用いて三次元オブジェクトを撮像することにより得られた二次元画像と、距離センサを用いて前記三次元オブジェクトをセンシングすることにより得られた第１三次元点群とを取得し、取得された前記二次元画像から、前記二次元画像上の位置に対応する前記二次元画像の属性値を１以上検出し、検出された前記１以上の属性値のそれぞれについて、（ｉ）前記第１三次元点群を構成する複数の三次元点のうちで当該属性値の前記二次元画像上の位置が対応する１以上の第１三次元点を特定し、（ｉｉ）特定された前記１以上の第１三次元点に当該属性値を付加することで、それぞれが前記属性値を有する１以上の第２三次元点を含む第２三次元点群を生成する。
【００１３】
これによれば、距離センサを用いて得られた第１三次元点群を構成する複数の三次元点のうちで、カメラを用いて得られた二次元画像上における位置に対応する二次元画像の属性値を、当該二次元画像上における位置に対応する三次元点に付加した第２三次元点を含む第２三次元点群を生成する。このため、自己位置を推定する位置推定装置では、新たに三次元点群をセンシングしなくても、新たに自装置の周囲の二次元画像を撮像すれば、撮像して得られた二次元画像の位置に対応する属性値と、第２三次元点群の各第２三次元点に付加された属性値とを比較することで、自己位置を効率よく推定することができる。
【００１４】
また、前記取得では、それぞれが、互いに異なる位置および／または姿勢における前記カメラにより撮像されることにより得られた複数の前記二次元画像を取得し、前記検出では、取得された前記複数の二次元画像のそれぞれについて、前記１以上の属性値を検出し、前記三次元点群データ生成方法は、さらに、前記複数の二次元画像のそれぞれについて検出された前記１以上の属性値を用いて、前記複数の二次元画像のうちの２枚の二次元画像で対応する属性値をマッチングすることで、マッチングされた属性値のペアを１以上出力し、前記特定では、前記１以上のペアのそれぞれについて、当該ペアを構成する２つの属性値のそれぞれの前記二次元画像上の位置と、前記２枚の二次元画像のそれぞれが撮像されたときの前記カメラの位置および姿勢とを用いて、前記複数の三次元点のうちで当該ペアを構成する前記２つの属性値の前記二次元画像上の位置が対応する前記１以上の第１三次元点を特定し、前記生成では、前記１以上のペアのそれぞれについて、特定された前記１以上の第１三次元点に当該ペアを構成する前記２つの属性値に基づく属性値を付加することで、前記第２三次元点群を生成してもよい。
【００１５】
これによれば、２枚の二次元画像のそれぞれの属性値をマッチングすることで特定された属性値のペアを特定し、ペアの属性値それぞれの二次元画像に対応する位置を用いて当該位置に対応する三次元点を特定し、特定した三次元点にペアを構成する２つの属性値を付加する。このため、属性値に対応する三次元点を精度よく特定することができる。
【００１６】
また、前記生成では、特定された１つの前記第１三次元点に複数の前記属性値を付加することで、前記第２三次元点を生成してもよい。
【００１７】
これによれば、１つの第１三次元点に付加する属性値の数を複数とするため、位置推定において、位置推定を行うために取得する、二次元画像上の位置に対応する二次元画像の属性値と、第１三次元点との対応付けを精度よく行うことができる。
【００１８】
また、前記生成において前記１つの第１三次元点に付加される前記複数の属性値は、それぞれ、複数の前記二次元画像から検出された属性値であってもよい。
【００１９】
１つの第１三次元点は、複数の視点から撮像されうる。また、位置推定では、異なる位置で二次元画像を撮像するため、得られる二次元画像は、異なる複数の視点から撮像される。このため、複数の二次元画像から検出された複数の属性値を付加することで、位置推定において、異なる複数の視点それぞれで撮像された二次元画像を用いても、それぞれの二次元画像から得られる属性値と第１三次元点との対応付けを容易に行うことができる。よって、位置推定を容易に行うことができる。
【００２０】
また、前記生成において前記１つの第１三次元点に付加される前記複数の属性値は、それぞれ、属性の種類が互いに異なる属性値であってもよい。
【００２１】
これによれば、１つの第１三次元点に付加する属性値を異なる複数種類の属性値とするため、位置推定において、位置推定を行うために取得する、二次元画像上の位置に対応する二次元画像の属性値と、第１三次元点との対応付けを精度よく行うことができる。
【００２２】
また、前記検出では、取得された前記二次元画像を構成する複数の領域毎に算出された特徴量を、前記二次元画像上の位置に対応する前記二次元画像の前記１以上の属性値として検出してもよい。
【００２３】
このため、二次元画像の位置における特徴量を所定の方法で容易に算出することができる。
【００２４】
また、前記生成では、さらに、前記１以上の第２三次元点のそれぞれについて、（ｉ）当該第２三次元点に付加された前記属性値に基づいて当該第２三次元点の重要度を算出し、（ｉｉ）算出された前記重要度を、当該第２三次元点に付加することで、それぞれが前記属性値および前記重要度を有する１以上の第３三次元点を含む第３三次元点群を生成してもよい。
【００２５】
このため、例えば、クライアント機器は、重要度が大きい第３三次元点ほど優先的に利用することができるため、処理の精度に悪影響を与えないように、処理に利用する三次元点群データのデータ量を調整することができる。
【００２６】
また、さらに、クライアント機器から閾値を受信し、前記１以上の第３三次元点のうち、受信された前記閾値を超える重要度が付加されている１以上の第４三次元点を抽出し、抽出された前記１以上の第４三次元点を含む第４三次元点群を前記クライアント機器に送信してもよい。
【００２７】
このため、クライアント機器の要求に応じて、送信する三次元点群データのデータ量を調製することができる。
【００２８】
また、本開示の一態様に係る位置推定方法は、プロセッサを用いて移動体の現在位置を推定する位置推定方法であって、三次元オブジェクトを撮像した第１二次元画像の属性値である第１属性値がそれぞれ予め付加された複数の三次元点を含む三次元点群を取得し、前記移動体が備えるカメラにより撮像された、前記移動体の周囲の第２二次元画像を取得し、取得された前記第２二次元画像から、前記第２二次元画像上の位置に対応する前記第２二次元画像の属性値である第２属性値を１以上検出し、検出された前記１以上の第２属性値のそれぞれについて、前記複数の三次元点のうちで、当該第２属性値に対応する１以上の第５三次元点を特定することで当該第２属性値および前記１以上の第５三次元点により構成される組合せを１以上生成し、記憶装置から前記移動体に対する前記カメラの位置および姿勢を取得し、生成された前記１以上の組合せと、取得された前記カメラの位置および姿勢とを用いて前記移動体の位置および姿勢を算出する。
【００２９】
これによれば、三次元オブジェクトを撮像した二次元画像の属性値が予め三次元点群に付加されているため、新たに三次元点群をセンシングしなくても、新たに自装置の周囲の第２二次元画像を撮像すれば、撮像して得られた第２二次元画像の位置に対応する第２属性値、および、当該第２属性値に対応する１以上の第５三次元点の組合せと、三次元点群の各三次元点に付加された第１属性値とを比較することで、自己位置を効率よく推定することができる。
【００３０】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
【００３１】
以下、本開示の一態様に係る三次元点群データ生成方法、位置推定方法、三次元点群データ生成装置、および、位置推定装置について、図面を参照しながら具体的に説明する。
【００３２】
なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置および接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００３３】
（実施の形態１）
まず、本実施の形態の概要を説明する。本実施の形態では、三次元点群データを用いて車両などの移動体の自己位置を推定する位置推定システムについて説明する。
【００３４】
図１は、位置推定システムの概要を示す図である。
【００３５】
図１には、三次元点群データ生成装置１００と、車両２００、３００と、通信ネットワーク４００と、移動通信システムの基地局４１０とが示されている。例えば、位置推定システム１は、これらの構成要素のうち、三次元点群データ生成装置１００および車両２００、３００を備える。車両２００および車両３００は、互いに異なる種類の車両である。位置推定システム１では、１台の車両２００を備えることに限らずに２台以上の車両２００を備えていてもよいし、同様に、１台の車両３００を備えることに限らずに３台以上の車両３００を備えていてもよい。
【００３６】
三次元点群データ生成装置１００は、車両２００が備えるカメラ２１０により撮像された複数の二次元画像と、車両２００が備えるＬｉＤＡＲ（Light Detection and Ranging、Laser Imaging Detection and Ranging）２３０により得られた三次元点群とを取得し、車両３００による車両３００の自己位置を推定するために用いる三次元点群データを生成する装置である。ここで、三次元点群データは、特徴点の特徴量が付加された複数の三次元点を含む三次元点群を示すデータである。特徴点の特徴量が付加された複数の三次元点については、後述する。三次元点群データ生成装置１００は、例えば、サーバである。
【００３７】
車両２００は、カメラ２１０およびＬｉＤＡＲ２３０を備え、車両２００の周囲の三次元オブジェクトの二次元画像を撮像し、かつ、当該三次元オブジェクトの三次元点群を検出する車両である。三次元点群は、例えば、車両２００の周囲の三次元オブジェクトの表面の複数の位置それぞれを示す複数の三次元座標（Ｘ、Ｙ、Ｚ）により構成される。車両２００は、例えば、道路を走行しながらカメラ２１０による撮像を、異なる複数のタイミングで行うことで、それぞれのタイミングにおける車両２００の位置から車両２００のカメラ２１０が撮像した二次元画像を生成する。つまり、車両２００は、移動経路を移動しながらカメラ２１０による撮像を異なる複数のタイミングで行う。このため、複数の二次元画像は、それぞれが、互いに異なる位置および／または姿勢におけるカメラ２１０により撮像されることにより得られることとなる。また、車両２００は、例えば、道路を走行しながらＬｉＤＡＲ２３０によるセンシングを複数の異なるタイミングで行うことで、それぞれのタイミングにおける車両２００の位置から車両２００のＬｉＤＡＲ２３０がセンシングした三次元点群を生成する。
【００３８】
ＬｉＤＡＲ２３０によるセンサデータは、車両２００のカメラ２１０により撮像された二次元画像と、当該二次元画像を撮像したときのカメラ２１０の位置および姿勢を特定するために用いられてもよい。この場合、一般的な車両が自己位置を推定するために用いる正確な三次元マップ（Accurate 3D map）は、車両２００とは異なる別の機器により得られた三次元点群を用いて生成されてもよい。正確な三次元マップは、第１三次元点群の一例であり、複数の三次元点により構成される。複数の三次元点は、例えば、Ｘ軸方向、Ｙ軸方向およびＺ軸方向の異なる三方向の座標で示されてもよい。
【００３９】
ＬｉＤＡＲ２３０によるセンサデータは、一般的な車両が自己位置を推定するために用いる正確な三次元マップを生成するために用いられてもよい。この場合、ＬｉＤＡＲ２３０は、一般の車両が自動運転または運転支援に用いるＬｉＤＡＲよりも、例えば、精度よく、多くの三次元点を計測することが可能な距離センサである。つまり、車両２００は、自己位置推定に用いられる正確な三次元マップを生成するための三次元点群および二次元画像を取得するセンシング装置である。
【００４０】
なお、カメラ２１０による撮像のタイミングと、ＬｉＤＡＲ２３０によるセンシングのタイミングとは、同期されていてもよいし、同期されていなくてもよい。カメラ２１０による撮像のタイミングと、ＬｉＤＡＲ２３０によるセンシングのタイミングとは、互いに同じタイミングであってもよいし、互いに異なるタイミングであってもよい。
【００４１】
車両３００は、カメラ３１０を備え、車両３００の周囲の三次元オブジェクトの二次元画像を撮像する車両である。車両３００は、カメラ３１０の撮像により得られた二次元画像と、三次元点群データ生成装置１００から取得した三次元点群とを用いて、車両３００の自己位置を推定する。車両３００は、自己位置の推定結果を用いて、自動運転または運転支援を行う。つまり、車両３００は、クライアント機器として機能する。
【００４２】
通信ネットワーク４００は、インターネットなどの汎用のネットワークであってもよいし、専用のネットワークであってもよい。基地局４１０は、例えば、第３世代移動通信システム（３Ｇ）、第４世代移動通信システム（４Ｇ）、ＬＴＥ（登録商標）、第５世代移動通信システム（５Ｇ）などのような移動通信システムで利用される基地局である。
【００４３】
次に、位置推定システムの機能構成の具体例について図２を用いて説明する。
【００４４】
図２は、位置推定システムの機能構成の一例を示すブロック図である。
【００４５】
まず、三次元点群データ生成装置１００の機能構成について説明する。
【００４６】
三次元点群データ生成装置１００は、通信部１１０と、マッピング部１２０と、符号化部１３０と、外部メモリ１４０とを備える。
【００４７】
通信部１１０は、通信ネットワーク４００を介して車両２００、３００と通信する。通信部１１０は、二次元画像および三次元点群を、通信ネットワーク４００を介した通信により車両２００から受信することで取得する。また、通信部１１０は、ＬｉＤＡＲ２３０に対するカメラ２１０の相対的な位置および姿勢を、通信ネットワーク４００を介した通信により車両２００から受信することで取得してもよい。また、通信部１１０は、車両３００へ、特徴点の特徴量が付加された三次元点群を、通信ネットワーク４００を介した通信により送信する。また、通信部１１０は、図示しない上位サーバへ、特徴点の特徴量が付加された三次元点群を、通信ネットワーク４００を介した通信により送信してもよい。
【００４８】
なお、三次元点群データ生成装置１００は、ＬｉＤＡＲ２３０に対するカメラ２１０の相対的な位置および姿勢を、車両２００の車種毎、または、車両毎のテーブルとして、予め外部メモリ１４０などの不揮発性の記憶装置に記憶していてもよい。この場合、三次元点群データ生成装置１００は、車両２００から車種または車両を特定するための情報を取得することで、車両２００におけるＬｉＤＡＲ２３０に対するカメラ２１０の相対的な位置および姿勢を、不揮発性の記憶装置に記憶されているテーブルから特定することで取得してもよい。
【００４９】
なお、通信部１１０は、通信ネットワーク４００に通信接続できる通信インタフェースにより実現される。具体的には、通信部１１０は、移動通信システムの基地局４１０との通信接続により、通信ネットワーク４００と通信接続する。通信部１１０は、例えば、第３世代移動通信システム（３Ｇ）、第４世代移動通信システム（４Ｇ）、ＬＴＥ（登録商標）、第５世代移動通信システム（５Ｇ）などのような移動通信システムで利用される通信規格に適合した無線通信インタフェースにより実現されてもよい。また、通信部１１０は、例えば、ＩＥＥＥ８０２．１１ａ、ｂ、ｇ、ｎ、ａｃ規格に適合した無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）インタフェースにより実現されてもよく、図示しないルータ（例えば、モバイル無線ＬＡＮルータ）との通信接続により、通信ネットワーク４００と通信接続する通信インタフェースにより実現されてもよい。
【００５０】
マッピング部１２０は、通信部１１０により取得された二次元画像および三次元点群を用いて、二次元画像から検出された属性値を、三次元点群を構成する複数の三次元点に付加するマッピング処理を行う。マッピング部の詳細は、図６および図７を用いて後述する。
【００５１】
符号化部１３０は、マッピング処理により得られた三次元点群を符号化することで符号化ストリームを生成する。符号化部１３０は、生成した符号化ストリームを外部メモリ１４０に格納してもよい。また、符号化部１３０は、生成した符号化ストリームを通信部１１０に、通信ネットワーク４００を介して車両３００へ送信させてもよい。符号化部１３０による符号化処理の詳細は、図８および図９を用いて後述する。
【００５２】
マッピング部１２０および符号化部１３０のそれぞれは、プロセッサおよびメモリにより実現されてもよいし、専用回路により実現されてもよい。つまり、マッピング部１２０および符号化部１３０は、ソフトウェアにより実現されてもよいし、ハードウェアにより実現されてもよい。
【００５３】
外部メモリ１４０は、例えば、プログラムなどのような、プロセッサが必要とする情報を格納してもよい。外部メモリ１４０は、属性値が付加された三次元点群、符号化ストリームなどのような、プロセッサの処理で生じたデータを格納してもよい。外部メモリ１４０は、例えば、フラッシュメモリ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの不揮発性記憶装置により実現される。
【００５４】
車両２００は、カメラ２１０と、取得部２２０と、ＬｉＤＡＲ２３０と、取得部２４０と、メモリ２５０と、通信部２６０とを備える。
【００５５】
カメラ２１０は、車両２００の周囲の三次元空間上における三次元オブジェクトを撮像することで二次元画像を得る。カメラ２１０は、車両２００に対して所定の位置および所定の姿勢で配置されている。例えば、カメラ２１０は、車両２００の車室内に配置されていてもよいし、車室外に配置されていてもよい。また、カメラ２１０は、車両２００の前方を撮像してもよいし、車両２００の右側方または左側方を撮像してもよいし、車両２００の後方を撮像してもよいし、車両２００の３６０度全方位を撮像してもよい。カメラ２１０は、１つのカメラで構成されていてもよいし、２つ以上のカメラで構成されていてもよい。カメラ２１０は、異なる複数のタイミングにおいて撮像することにより、複数の二次元画像を得てもよい。カメラ２１０は、予め定められたフレームレートで複数の二次元画像としての複数のフレームを含む動画像を撮像してもよい。
【００５６】
取得部２２０は、カメラ２１０に対応して設けられ、カメラ２１０において異なる複数のタイミングで撮像されることにより得られた二次元画像を記憶し、記憶した二次元画像を通信部２６０に出力する。二次元画像には、当該二次元画像が撮像されたタイミングが対応付けられている。取得部２２０は、カメラ２１０に内蔵される処理部であってもよい。つまり、カメラ２１０は、取得部２２０の機能を有していてもよい。
【００５７】
ＬｉＤＡＲ２３０は、車両２００の周囲の三次元空間上における三次元オブジェクトをセンシングすることにより三次元点群を得る。ＬｉＤＡＲ２３０は、車両２００に保持され、車両２００の水平方向において３６０度全方位、および、垂直方向において所定の角度（例えば３０度）の角度範囲の検出範囲にある三次元オブジェクトとの距離を検出するレーザセンサである。ＬｉＤＡＲ２３０は、距離センサの一例である。ＬｉＤＡＲ２３０は、周囲にレーザを発し、周囲の物体に反射されたレーザを検知することで、ＬｉＤＡＲ２３０から三次元オブジェクトまでの距離を計測する。ＬｉＤＡＲ２３０は、例えば、センチメートルオーダーで当該距離を計測する。このように、ＬｉＤＡＲ２３０は、車両２００の周囲の地形表面の複数の点それぞれの三次元座標を検出する。つまり、ＬｉＤＡＲ２３０は、周囲の地形表面の複数の三次元座標を検出することで、車両２００の周囲の物体を含む地形の三次元形状を検出する。このように、ＬｉＤＡＲ２３０では、複数の点の三次元座標で構成される三次元点群であって、車両２００の周囲の物体を含む地形の三次元形状を示す三次元点群が得られる。なお、距離センサは、ＬｉＤＡＲ２３０に限らずに、ミリ波レーダ、超音波センサ、ＴｏＦ（Ｔｉｍｅ  ｏｆ  Ｆｌｉｇｈｔ）カメラ、ステレオカメラなどのような他の距離センサであってもよい。
【００５８】
取得部２４０は、ＬｉＤＡＲ２３０に対応して設けられ、異なる複数のタイミングでＬｉＤＡＲ２３０においてセンシングされることにより得られた三次元点群を記憶し、記憶した三次元点群を通信部２６０に出力する。三次元点群には、当該三次元点群がセンシングされたタイミングが対応付けられている。取得部２４０は、ＬｉＤＡＲ２３０に内蔵される処理部であってもよい。つまり、ＬｉＤＡＲ２３０は、取得部２４０の機能を有していてもよい。
【００５９】
メモリ２５０は、車両２００に対するカメラ２１０の位置および姿勢と、車両２００に対するＬｉＤＡＲ２３０の位置および姿勢とを記憶している。また、メモリ２５０は、ＬｉＤＡＲ２３０に対するカメラ２１０の相対的な位置および姿勢を記憶していてもよい。ＬｉＤＡＲ２３０に対するカメラ２１０の相対的な位置および姿勢は、ＬｉＤＡＲ２３０が出力するレーザ光の強度と、カメラ２１０により撮像されたＬｉＤＡＲ２３０によるレーザ光の三次元オブジェクトにおける反射光を含む二次元画像とを、相互情報量のような方法を用いてマッチングさせることで、検出してもよいし、カメラ２１０およびＬｉＤＡＲ２３０以外の機器を用いて検出してもよい。メモリ２５０は、例えば、不揮発性記憶装置により実現される。
【００６０】
通信部２６０は、通信ネットワーク４００を介して三次元点群データ生成装置１００と通信する。通信部２６０は、二次元画像および三次元点群を、通信ネットワーク４００を介した通信により三次元点群データ生成装置１００へ送信する。また、通信部２６０は、ＬｉＤＡＲ２３０に対するカメラ２１０の相対的な位置および姿勢を、通信ネットワーク４００を介した通信により三次元点群データ生成装置１００へ送信してもよい。
【００６１】
なお、通信部２６０は、通信ネットワーク４００に通信接続できる通信インタフェースにより実現される。具体的には、通信部２６０は、移動通信システムの基地局４１０との通信接続により、通信ネットワーク４００と通信接続する。通信部２６０は、例えば、第３世代移動通信システム（３Ｇ）、第４世代移動通信システム（４Ｇ）、ＬＴＥ（登録商標）、第５世代移動通信システム（５Ｇ）などのような移動通信システムで利用される通信規格に適合した無線通信インタフェースにより実現されてもよい。
【００６２】
次に、車両３００の機能構成について説明する。
【００６３】
図３は、クライアント機器としての車両の機能構成の一例を示すブロック図である。
【００６４】
車両３００は、カメラ３１０と、取得部３２０と、通信部３３０と、復号部３４０と、位置推定部３５０と、制御部３６０と、外部メモリ３７０とを備える。
【００６５】
カメラ３１０は、車両３００に対して所定の位置および所定の姿勢で配置されており、車両３００の周囲の三次元空間上における三次元オブジェクトを撮像する。カメラ３１０は、車両３００に配置される点でカメラ２１０とは異なるが、それ以外においてカメラ２１０と同様の構成であるため、カメラ２１０の説明において、カメラ２１０をカメラ３１０に読み替え、車両２００を車両３００に読み替えることで説明できる。このため、カメラ３１０の詳細な説明を省略する。
【００６６】
取得部３２０は、カメラ３１０に対応して設けられ、カメラ３１０において撮像されることにより得られた二次元画像を記憶し、記憶した二次元画像を位置推定部３５０に出力する。取得部３２０は、カメラ３１０に内蔵される処理部であってもよい。つまり、カメラ３１０は、取得部３２０の機能を有していてもよい。
【００６７】
通信部３３０は、通信ネットワーク４００を介して三次元点群データ生成装置１００と通信する。通信部３３０は、三次元点群データ生成装置１００から符号化ストリームを、通信ネットワーク４００を介した通信により受信することで取得する。また、通信部３３０は、通信負荷を軽減するために、後述する重要度に関する閾値を、通信ネットワーク４００を介して三次元点群データ生成装置１００に送信してもよい。
【００６８】
通信部３３０は、三次元点群データ生成装置１００が有する三次元点群に含まれる複数の三次元点の全てを取得してもよい。なお、通信部３３０は、三次元点群データ生成装置１００から三次元点群を取得する場合、図示しないＧＰＳ（Global Positioning System）などのような粗い精度の位置検出デバイスにより検出される車両３００の位置を基準とする所定の領域の三次元点群を、上記の全ての三次元点として取得してもよい。これにより、世界中の全ての道路などのような、移動体の移動経路の周辺の三次元点群を取得しなくてもよく、取得する三次元点群のデータ量を低減することができる。また、通信部３３０は、全ての三次元点を取得しなくてもよく、三次元点群データ生成装置１００に上記閾値を送信することで上記複数の三次元点のうちで、閾値よりも重要度の大きい複数の三次元点を取得し、閾値以下の重要度の複数の三次元点を取得しなくてもよい。
【００６９】
なお、通信部３３０は、通信ネットワーク４００に通信接続できる通信インタフェースにより実現される。具体的には、通信部３３０は、移動通信システムの基地局４１０との通信接続により、通信ネットワーク４００と通信接続する。通信部３３０は、例えば、第３世代移動通信システム（３Ｇ）、第４世代移動通信システム（４Ｇ）、ＬＴＥ（登録商標）、第５世代移動通信システム（５Ｇ）などのような移動通信システムで利用される通信規格に適合した無線通信インタフェースにより実現されてもよい。
【００７０】
復号部３４０は、通信部３３０により取得された符号化ストリームを復号することで、属性値が付加された三次元点群を生成する。
【００７１】
位置推定部３５０は、カメラ３１０により得られた二次元画像と、復号部３４０において復号されることで得られた、属性値が付加された三次元点群とを用いて、当該三次元点群におけるカメラ３１０の位置および姿勢を推定することで、車両３００の位置および姿勢を推定する。
【００７２】
制御部３６０は、車両３００の運転を制御する。具体的には、制御部３６０は、車輪の操舵を行うステアリング、車輪を回転駆動させるエンジン、モータなどの動力源、車輪の制動するブレーキなどを制御することで、車両３００の自動運転または運転支援を行う。例えば、制御部３６０は、車両３００の現在位置、車両３００の目的地、および周囲の道路情報を用いて、車両３００がどの道路を走行するかを示す経路を決定する。また、制御部３６０は、決定した経路上を走行するようにステアリング、動力源およびブレーキを制御する。
【００７３】
復号部３４０、位置推定部３５０および制御部３６０は、プロセッサにより実現されてもよいし、専用回路により実現されてもよい。つまり、復号部３４０、位置推定部３５０および制御部３６０は、ソフトウェアにより実現されてもよいし、ハードウェアにより実現されてもよい。
【００７４】
外部メモリ３７０は、例えば、プログラムなどのような、プロセッサが必要とする情報を格納してもよい。外部メモリ３７０は、属性値が付加された三次元点群、符号化ストリームなどのような、プロセッサの処理で生じたデータを格納してもよい。外部メモリ３７０は、例えば、フラッシュメモリ、ＨＤＤ（Hard Disk Drive）などの不揮発性記憶装置により実現される。
【００７５】
次に、位置推定システム１の動作について説明する。
【００７６】
図４は、位置推定システムの動作の一例を示すシーケンス図である。図５は、位置推定システムの動作を説明するための図である。
【００７７】
まず、車両２００は、カメラ２１０が車両２００の周囲の三次元空間上における三次元オブジェクトを撮像することにより得られた二次元画像、および、ＬｉＤＡＲ２３０が車両２００の周囲の三次元空間上における三次元オブジェクトをセンシングすることにより得られた三次元点群を、通信ネットワーク４００を介して三次元点群データ生成装置１００に送信する（Ｓ１）。なお、車両２００における詳細な処理は、図２を用いて既に説明したため省略する。
【００７８】
次に、三次元点群データ生成装置１００では、通信部１１０は、車両２００から通信ネットワーク４００を介して、二次元画像および三次元点群を取得する（Ｓ３）。
【００７９】
そして、マッピング部１２０は、通信部１１０により取得された二次元画像および三次元点群を用いて、二次元画像から検出された属性値を、三次元点群を構成する複数の三次元点に付加するマッピング処理を行う（Ｓ４）。
【００８０】
次に、マッピング処理の詳細について、マッピング部１２０の詳細な構成と共に、図６および図７を用いて後述する。
【００８１】
図６は、マッピング部の機能構成の一例を示すブロック図である。図７は、マッピング処理の詳細な処理の一例を示すフローチャートである。
【００８２】
図６に示すように、マッピング部１２０は、特徴検出モジュール１２１と、特徴マッチングモジュール１２２と、点群登録モジュール１２３と、三角測量モジュール１２４と、位置姿勢算出モジュール１２５と、メモリ１２６とを有する。
【００８３】
マッピング部１２０には、二次元画像と、二次元画像が撮像されたタイミングに対応するタイミングでセンシングされた三次元点群が入力されることを前提として説明する。つまり、マッピング部１２０は、互いに対応するタイミングで、撮像された二次元画像と、センシングされた三次元点群とを対応付けてマッピング処理を行う。なお、二次元画像が撮像されたタイミングで得られた三次元点群は、当該二次元画像が撮像されたタイミングに最も近いタイミングでセンシングされた三次元点群としてもよいし、当該二次元画像が撮像されるタイミングより前にセンシングされた最新の三次元点群としてもよい。また、互いに対応するタイミングで得られた二次元画像および三次元点群は、カメラ２１０による撮像のタイミングと、ＬｉＤＡＲ２３０によるセンシングのタイミングとが同期されている場合には、同一のタイミングにより得られた二次元画像および三次元画像としてもよい。
【００８４】
特徴検出モジュール１２１は、通信部１１０により取得された複数の二次元画像それぞれの特徴点を検出する（Ｓ１１）。特徴検出モジュール１２１は、特徴点における特徴量を検出する。特徴量は、例えば、ＯＲＢ（Oriented FAST and Rotated BRIEF）、ＳＩＦＴ、ＤＡＩＳＹなどである。また、特徴量は、２５６ビットのデータ列で表されてもよい。また、特徴量には、二次元画像における各画素の輝度値が用いられてもよし、ＲＧＢ値などで表される色が用いられてもよい。特徴点の特徴量は、二次元画像上の位置に対応する二次元画像の属性値の一例である。特徴量は、二次元画像上の位置に対応していれば特徴点の特徴量であることに限らずに、複数の領域毎に算出された特徴量であればよい。複数の領域は、二次元画像を構成する領域であり、各領域は、二次元画像の１画素であってもよいし、複数の画素の集合により構成されるブロックであってもよい。
【００８５】
位置姿勢算出モジュール１２５は、正確な三次元マップをメモリ１２６または外部メモリ１４０から取得し、取得した正確な三次元マップと、通信部１１０により取得された三次元点群、つまり、ＬｉＤＡＲ２３０の検出結果である三次元点群とを用いて、正確な三次元マップにおけるＬｉＤＡＲ２３０の位置および姿勢を特定する（Ｓ１２）。位置姿勢算出モジュール１２５は、例えば、ＩＣＰ（Iterative Closest Point）などのようなパターンマッチングのアルゴリズムを用いて、ＬｉＤＡＲ２３０の検出結果である三次元点群と、正確な三次元マップを構成している三次元点群とのマッチングを行う。これにより、位置姿勢算出モジュール１２５は、正確な三次元マップにおけるＬｉＤＡＲ２３０の位置および姿勢を特定する。なお、位置姿勢算出モジュール１２５は、正確な三次元マップを、三次元点群データ生成装置１００の外部の上位サーバから取得してもよい。
【００８６】
次に、位置姿勢算出モジュール１２５は、正確な三次元マップにおけるＬｉＤＡＲ２３０の位置および姿勢と、メモリ２５０に記憶されているＬｉＤＡＲ２３０に対するカメラ２１０の相対的な位置および姿勢と取得する。そして、位置姿勢算出モジュール１２５は、取得した正確な三次元マップにおけるＬｉＤＡＲ２３０の位置および姿勢と、メモリ２５０に記憶されているＬｉＤＡＲ２３０に対するカメラ２１０の相対的な位置および姿勢とを用いて、複数の二次元画像それぞれが撮像されたタイミングにおけるカメラ２１０の位置および姿勢を算出する（Ｓ１３）。
【００８７】
次に、特徴マッチングモジュール１２２は、特徴検出モジュール１２１において検出された複数の二次元画像それぞれの特徴点と、位置姿勢算出モジュール１２５において算出された複数の二次元画像それぞれが撮像されたタイミングにおけるカメラ２１０の位置および姿勢とを用いて、複数の二次元画像のうちのペア、つまり、２枚の二次元画像それぞれにおける特徴点をマッチングする（Ｓ１４）。例えば、図５の「マッチング／三角測量」に示すように、特徴マッチングモジュール１２２は、タイミングＴでカメラ２１０により撮像された二次元画像Ｉ１で特徴検出モジュール１２１により検出された複数の特徴点のうちの特徴点Ｐ１と、タイミングＴの後のタイミングＴ＋１でカメラ２１０により撮像された二次元画像Ｉ２により検出された複数の特徴点のうちの特徴点Ｐ２とをマッチングする。例えば、タイミングＴ＋１は、タイミングＴの次の撮像のタイミングであってもよい。これにより、特徴マッチングモジュール１２２は、複数の二次元画像のそれぞれについて検出された複数の特徴点を、異なる二次元画像間において対応付けする。このように、特徴マッチングモジュール１２２は、複数の二次元画像のそれぞれについて検出された複数の特徴点を用いて、複数の二次元画像のうちの２枚の二次元画像で対応する特徴点をマッチングすることで、マッチングされた特徴点のペアを複数出力する。
【００８８】
次に、三角測量モジュール１２４は、特徴マッチングモジュール１２２においてマッチングされた複数の特徴点のペアのそれぞれについて、当該ペアを構成する２つの特徴点それぞれの二次元画像上の位置と、当該ペアの特徴点が得られた２枚の二次元画像のそれぞれが撮像されたときのカメラ２１０の位置および姿勢とを用いて、例えば三角測量することで、マッチングされた特徴点のペアの二次元画像上の位置が対応する三次元位置を算出する（Ｓ１５）。三角測量モジュール１２４は、例えば、図５の「マッチング／三角測量」に示すように、二次元画像Ｉ１において検出された特徴点Ｐ１と、二次元画像Ｉ２において検出された特徴点Ｐ２とを三角測量することで三次元位置Ｐ１０を算出する。ここで用いられるカメラ２１０の位置および姿勢は、特徴点のペアが得られた２枚の二次元画像それぞれが撮像されたタイミングにおけるカメラ２１０の位置および姿勢である。
【００８９】
次に、点群登録モジュール１２３は、正確な三次元マップとしての第１三次元点群を構成する複数の三次元点のうち、三角測量モジュール１２４において算出された三次元位置に対応する三次元点である第１三次元点を複数特定する（Ｓ１６）。点群登録モジュール１２３は、例えば、第１三次元点群を構成する複数の三次元点のうち、１つの三次元位置に最も近い位置の三次元点を第１三次元点として特定してもよい。点群登録モジュール１２３は、例えば、第１三次元点群を構成する複数の三次元点のうち、１つの三次元位置を基準とする所定範囲内に含まれる１以上の三次元点を第１三次元点として特定してもよい。つまり、点群登録モジュール１２３は、１つの三次元位置に対応する第１三次元点として、当該１つの三次元位置を基準とした所定の条件を満たす複数の三次元点を特定してもよい。
【００９０】
そして、点群登録モジュール１２３は、複数のペアのそれぞれについて、特定された複数の第１三次元点に当該ペアを構成する２つの特徴点それぞれの特徴量を付加することで、複数の第２三次元点群により構成される第２三次元点群を生成する（Ｓ１７）。なお、点群登録モジュール１２３は、複数のペアのそれぞれについて、特定された複数の第１三次元点に、（ｉ）当該ペアを構成する２つの特徴点のうちの一方の特徴量を付加することで、第２三次元点群を生成してもよいし、（ｉｉ）当該ペアを構成する２つの特徴点の２つの特徴量から算出される１つの特徴量を付加することで、第２三次元点群を生成してもよい。つまり、点群登録モジュール１２３は、特定された複数の第１三次元点に、複数のペアの２つの特徴量に基づく特徴量を付加することで、第２三次元点群を生成すればよい。なお、２つの特徴量から算出される１つの特徴量は、例えば、平均値である。なお、ここでいう「特徴量」は、属性値の一例であるため、点群登録モジュール１２３における処理では、他の属性値にも適用できる。
【００９１】
点群登録モジュール１２３は、ステップＳ１６およびＳ１７において、例えば、図５の「対応付け」に示すように、三角測量モジュール１２４により得られた三次元位置Ｐ１０に対応する三次元点を特定することで、三次元位置Ｐ１０に対応する特徴点Ｐ１、Ｐ２それぞれの特徴量を、三次元位置Ｐ１０に対応する、正確な三次元マップにおける三次元点に付加する対応付けを行う。これにより、図５に示すような、それぞれに特徴点Ｐ１、Ｐ２の特徴量が付加された複数の三次元点を含む三次元点群Ｃ１が生成される。つまり、三次元点群Ｃ１に含まれる属性値が付加された三次元点は、三次元座標と、属性値としての、特徴点Ｐ１、Ｐ２の各二次元画像における照度（輝度）、特徴量とにより構成される。つまり、三次元点には、特徴点の特徴量が付加されるだけでなく、特徴点の二次元画像における照度（輝度）またはＲＧＢ値などの色のような属性値が付加されてもよい。
【００９２】
なお、点群登録モジュール１２３は、１つの第１三次元点に複数の属性値を付加することで第２三次元点を生成してもよい。点群登録モジュール１２３は、例えば上述したように、複数の属性値として、複数の二次元画像それぞれから検出された複数の特徴点それぞれの特徴量を１つの第１三次元点に付加してもよい。また、点群登録モジュール１２３は、複数の属性値として、種類が互いに異なる属性値を１つの第１三次元点に付加してもよい。
【００９３】
なお、メモリ１２６は、正確な三次元マップを格納していてもよい。メモリ１２６には、予め正確な三次元マップを格納していてもよいし、通信部１１０により上位サーバから受信された正確な三次元マップを格納していてもよい。メモリ１２６は、例えば、フラッシュメモリ、ＨＤＤ（Hard Disk Drive）などの不揮発性記憶装置により実現される。
【００９４】
このように、点群登録モジュール１２３は、ステップＳ４のマッピング処理が行われることで、特徴点の特徴量が付加された複数の三次元点である複数の第２三次元点を含む第２三次元点群を生成する。
【００９５】
図４に戻り、ステップＳ４の後において、符号化部１３０は、マッピング部１２０において生成された第２三次元点群を符号化することで、符号化ストリームを生成する（Ｓ５）。
【００９６】
そして、通信部１１０は、符号化部１３０において生成された符号化ストリームを車両３００に送信する（Ｓ６）。
【００９７】
車両３００では、通信部３３０が三次元点群データ生成装置１００から符号化ストリームを取得する（Ｓ７）。
【００９８】
次に、復号部３４０は、通信部３３０において取得された符号化ストリームを復号することで、第２三次元点群を取得する（Ｓ８）。つまり、車両３００は、三次元オブジェクトを撮像した二次元画像の属性値がそれぞれ予め付加された複数の三次元点を含む三次元点群を取得する。
【００９９】
次に、位置推定部３５０は、カメラ３１０により得られた二次元画像と、復号部３４０において復号されることで得られた、属性値が付加された三次元点群とを用いて、当該三次元点群におけるカメラ３１０の位置および姿勢を推定することで、車両３００の位置および姿勢を推定する（Ｓ９）。
【０１００】
位置推定部３５０による位置推定処理の詳細について説明する。
【０１０１】
位置推定部３５０は、図３に示すように、特徴検出モジュール３５１と、特徴マッチングモジュール３５２と、メモリ３５３とを有する。
【０１０２】
特徴検出モジュール３５１は、車両３００が備えるカメラ３１０により撮像された、車両３００の周囲の第２二次元画像を取得する。そして、特徴検出モジュール３５１は、取得された第２二次元画像から、第２二次元画像上の位置に対応する第２二次元画像の属性値である第２属性値を複数検出する。特徴検出モジュール３５１における処理は、車両２００におけるマッピング部１２０の特徴検出モジュール１２１における処理と同様である。なお、特徴検出モジュール３５１における処理は、マッピング部１２０の特徴検出モジュール１２１における全ての処理が同じでなくてもよい。例えば、特徴検出モジュール１２１において属性値として複数の種類の第１属性値が検出される場合、特徴検出モジュール３５１は、複数の種類に含まれる１種類以上の属性値を第２属性値として検出すればよい。
【０１０３】
次に、特徴マッチングモジュール３５２は、特徴検出モジュール３５１により検出された複数の第２属性値のそれぞれについて、複数の第２三次元点のうちで、当該第２属性値に対応する１以上の第５三次元点を特定することで当該第２属性値および１以上の第５三次元点からなる組合せを１以上生成する。具体的には、特徴マッチングモジュール３５２は、特徴検出モジュール３５１により検出された複数の属性値にそれぞれ対応付けられている二次元画像上の複数の二次元位置のそれぞれについて、複数の第２三次元点のうちで当該二次元位置に対応付けられている属性値に最も近い属性値が付加されている１以上の第２三次元点を第５三次元点として特定する。これにより、特徴マッチングモジュール３５２は、二次元画像上の二次元位置と、１以上の第５三次元点とにより構成される組合せを、１以上生成する。特徴マッチングモジュール３５２は、メモリ３５３から車両３００に対するカメラ３１０の位置および姿勢を取得する。特徴マッチングモジュール３５２は、特定された１以上の組合せと、取得された車両３００に対するカメラ３１０の位置および姿勢とを用いて車両３００の位置および姿勢を算出する。なお、特徴マッチングモジュール３５２は、組合せをより多く生成するほど、車両３００の位置および姿勢を精度よく算出することができる。
【０１０４】
メモリ３５３は、車両３００に対するカメラ３１０の位置および姿勢を格納していてもよい。メモリ３５３は、復号部３４０による復号により得られた第２三次元点群を格納していてもよい。メモリ３５３は、例えば、フラッシュメモリ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの不揮発性記憶装置により実現される。
【０１０５】
本実施の形態に係る三次元点群データ生成方法によれば、三次元点群データ生成装置１００は、ＬｉＤＡＲ２３０などの距離センサを用いて得られた第１三次元点群を構成する複数の三次元点のうちで、カメラ２１０を用いて得られた二次元画像上における位置に対応する二次元画像の属性値としての特徴点の特徴量を、当該二次元画像上における位置に対応する三次元点に付加した第２三次元点を含む第２三次元点群を生成する。このため、自己位置を推定する位置推定装置としての車両３００は、車両３００の周囲の三次元オブジェクトをセンシングしなくても、車両３００の周囲の三次元オブジェクトの二次元画像を撮像すれば、撮像して得られた二次元画像の位置に対応する特徴点の特徴量と、三次元点群データ生成装置１００から取得した第２三次元点群の各第２三次元点に付加された特徴点の特徴量とを比較することで、自己位置を効率よく推定することができる。
【０１０６】
また、本実施の形態に係る三次元点群データ生成方法において、２枚の二次元画像のそれぞれの特徴点をマッチングすることで特定された特徴点のペアを特定し、ペアの特徴点それぞれの二次元画像に対応する位置を用いて当該位置に対応する三次元点を特定し、特定した三次元点にペアを構成する２つの特徴点の特徴量を付加する。このため、特徴点に対応する三次元点を精度よく特定することができる。
【０１０７】
また、本実施の形態に係る三次元点群データ生成方法において、第２三次元点群の生成では、特定された１つの第１三次元点に複数の特徴点それぞれの特徴量を付加することで、第２三次元点を生成する。このように、１つの第１三次元点に付加する特徴点の数を複数とするため、車両３００における位置推定において、位置推定を行うために取得する、二次元画像上の位置に対応する二次元画像の特徴点と、第１三次元点との対応付けを精度よく行うことができる。
【０１０８】
また、本実施の形態に係る三次元点群データ生成方法において、第２三次元点群の生成において１つの第１三次元点に付加される複数の属性値は、それぞれ、複数の二次元画像から検出された属性値である。ここで、１つの第１三次元点は、複数の視点から撮像されうる点である。また、車両３００における位置推定では、カメラ３１０が異なる位置で二次元画像を撮像する。このため、カメラ３１０により得られる二次元画像は、異なる複数の視点から撮像される。これにより、複数の二次元画像から検出された複数の属性値を付加することで、位置推定において、異なる複数の視点それぞれで撮像された二次元画像を用いても、それぞれの二次元画像から得られる属性値と第１三次元点との対応付けを容易に行うことができる。よって、位置推定を容易に行うことができる。
【０１０９】
また、本実施の形態に係る三次元点群データ生成方法において、第２三次元点群の生成において１つの第１三次元点に付加される複数の属性値は、それぞれ、属性の種類が互いに異なる属性値である。このように、１つの第１三次元点に付加する属性値を異なる複数種類の属性値とするため、車両３００における位置推定において、位置推定を行うために取得する、二次元画像上の位置に対応する二次元画像の属性値と、第１三次元点との対応付けを精度よく行うことができる。
【０１１０】
また、本実施の形態に係る位置推定方法によれば、三次元オブジェクトを撮像した二次元画像の属性値が予め三次元点群に付加されているため、新たに三次元点群をセンシングしなくても、新たに車両３００の周囲の第２二次元画像を撮像すれば、撮像して得られた第２二次元画像の位置に対応する第２属性値、および、当該第２属性値に対応する１以上の第５三次元点の組合せと、三次元点群の各三次元点に付加された第１属性値とを比較することで、車両３００の自己位置を効率よく推定することができる。
【０１１１】
（変形例）
（変形例１）
上記実施の形態に係る三次元点群データ生成装置１００では、さらに、第２三次元点群に含まれる複数の第２三次元点のそれぞれに対して、重要度を算出し、算出した重要度を対応する第２三次元点に付加し、付加することにより得られた複数の第３三次元点を含む第３三次元点群を生成してもよい。また、三次元点群データ生成装置１００は、付加された重要度に応じて、第３三次元点群に含まれる複数の第３三次元点のうち、車両３００に送信する第３三次元点の数を絞り込み、絞り込んだ数の第３三次元点を車両３００に送信するようにしてもよい。
【０１１２】
動作について図８を用いて説明する。図８は、変形例１における三次元点群データ生成装置の動作の一例を示すフローチャートである。この動作は、図４のシーケンス図におけるステップＳ５の代わりに行われる。
【０１１３】
三次元点群データ生成装置１００では、マッピング部１２０の点群登録モジュール１２３は、さらに、１以上の第２三次元点のそれぞれについて、当該第２三次元点に付加された属性値に基づいて第２三次元点の重要度を算出する（Ｓ２１）。そして、点群登録モジュール１２３は、１以上の第２三次元点のそれぞれについて、算出された重要度を、当該第２三次元点に付加することで、それぞれが属性値および重要度を有する１以上の三次元点を含む第３三次元点群を生成する。重要度の算出処理の詳細は、図９を用いて後述する。
【０１１４】
次に、三次元点群データ生成装置１００の符号化部１３０は、第３三次元点群を用いて符号化ストリームを生成する（Ｓ２２）。符号化ストリームの生成処理の詳細は、図１０および図１１を用いて後述する。
【０１１５】
図９は、重要度の算出処理の詳細な処理の一例を示すフローチャートである。
【０１１６】
点群登録モジュール１２３は、生成した第２三次元点群に含まれる複数の第２三次元点のそれぞれについて、重要度の算出処理を行う。以下では、１つの第２三次元点について行われる処理について説明する。重要度の算出処理では、全ての第２三次元点の１つ１つについて同様の処理が行われる。
【０１１７】
まず、点群登録モジュール１２３は、処理対象の第２三次元点を見ることができる二次元画像の数を算出する（Ｓ３１）。点群登録モジュール１２３は、複数の二次元画像において、処理対象の第２三次元点が映り込んでいる二次元画像の数をカウントすることで、上記数を算出してもよい。
【０１１８】
また、点群登録モジュール１２３は、処理対象の第２三次元点に対応付けられた複数の特徴点のマッチングにおけるマッチング誤差を算出する（Ｓ３２）。点群登録モジュール１２３は、当該マッチング誤差を特徴マッチングモジュール１２２から取得してもよい。
【０１１９】
また、点群登録モジュール１２３は、処理対象の第２三次元点（つまり、正確な三次元マップにおける三次元点）と、当該第２三次元点に対応付けられた特徴点との間のマッチングにおけるマッチング誤差を算出する（Ｓ３３）。
【０１２０】
点群登録モジュール１２３は、ステップＳ３１〜Ｓ３３において算出された、処理対象の第２三次元点を見ることができる二次元画像の数と、二次元画像の複数の特徴点間のマッチング誤差と、三次元マップと特徴点との間のマッチング誤差とを用いて、処理対象の第２三次元点の重要度を算出する（Ｓ３４）。点群登録モジュール１２３は、例えば、処理対象の第２三次元点を見ることができる二次元画像の数が大きいほど、重要度を大きい値に算出する。また、点群登録モジュール１２３は、例えば、二次元画像の複数の特徴点間のマッチング誤差が大きいほど、重要度を小さい値に算出する。また、点群登録モジュール１２３は、例えば、三次元マップと特徴点との間のマッチング誤差が大きいほど、重要度を小さい値に算出する。このように、重要度は、大きい値であるほど、より重要であることを示す指標である。
【０１２１】
点群登録モジュール１２３は、処理対象の第２三次元点の三次元座標を取得し（Ｓ３５）、処理対象の第２三次元点に付加された二次元画像の特徴点を取得する（Ｓ３６）。
【０１２２】
そして、点群登録モジュール１２３は、算出した重要度および特徴点を、取得した三次元座標に付加することで、第３三次元点を生成する（Ｓ３７）。なお、ステップＳ３５およびＳ３６で、処理対象の第２三次元点から三次元座標および特徴点をそれぞれ取得するとしたが、これに限らずに、ステップＳ３７において、処理対象の第２三次元点に算出した重要度を付加することで第３三次元点を生成してもよい。
【０１２３】
点群登録モジュール１２３は、ステップＳ３１〜Ｓ３７の処理を全ての第２三次元点のそれぞれについて実行することで、重要度がさらに付加された三次元点群である第３三次元点群を生成する。第３三次元点は、図１０に示されるように、三次元座標と、第２三次元点を見ることができるＮ枚の二次元画像それぞれの特徴点と、重要度とを含む。
【０１２４】
ここで、Ｎ個の特徴量のうち、値が近いものがあれば統合してもよい。例えば、２個の特徴量の値Ｆ０，Ｆ１の差が閾値以下であれば、値をＦ０とＦ１の平均値にした１個の特徴量に統合してもよい。これにより第２三次元点群のデータ量を削減できる。また、第２三次元点に割り当て可能な特徴量の個数Ｎの値に上限を設けてもよい。例えば、特徴量の個数がＮより大きい場合は、特徴量の値を用いて上位Ｎ個を選択して、選択したＮ個の特徴量を三次元点に割り当てるようにしてもよい。
【０１２５】
次に、符号化処理の詳細について、符号化部１３０の詳細な構成と共に、図１１および図１２を用いて後述する。
【０１２６】
図１１は、符号化部の機能構成の一例を示すブロック図である。図１２は、符号化処理の詳細な処理の一例を示すフローチャートである。
【０１２７】
図１１に示すように、符号化部１３０は、特徴ソートモジュール１３１と、特徴組合せモジュール１３２と、メモリ１３３と、エントロピ符号化モジュール１３４とを有する。
【０１２８】
符号化部１３０による符号化処理では、第３三次元点群に含まれる複数の第３三次元点に対して処理が行われる。
【０１２９】
特徴ソートモジュール１３１は、第３三次元点群に含まれる複数の第３三次元点を、複数の第３三次元点のそれぞれに付加されている重要度が大きい順に並べ替える（Ｓ４１）。
【０１３０】
次に、特徴組合せモジュール１３２は、複数の第３三次元点のそれぞれについて以下のステップＳ４３およびＳ４４の処理を実行するループ１を開始する（Ｓ４２）。特徴組合せモジュール１３２は、重要度が大きい順にループ１を実行する。
【０１３１】
特徴組合せモジュール１３２は、処理対象の第３三次元点に付加されている重要度が閾値を超えるか否かを判定する（Ｓ４３）。なお、閾値は、車両３００から受信した値である。閾値は、車両３００のスペックに応じて、異なる値に設定されていてもよい。つまり、閾値は、車両３００の情報処理能力および／または検出能力が大きいほど大きい値に設定されていてもよい。
【０１３２】
特徴組合せモジュール１３２は、処理対象の第３三次元点に付加されている重要度が閾値を超えると判定した場合（Ｓ４３でＹｅｓ）、ステップＳ４４の処理を実行する。
【０１３３】
一方で、特徴組合せモジュール１３２は、処理対象の第３三次元点に付加されている重要度が閾値未満であると判定した場合（Ｓ４３でＮｏ）、ステップＳ４５の処理を実行する。これにより、ループ１は終了する。
【０１３４】
ステップＳ４４において、特徴組合せモジュール１３２は、処理対象の第３三次元点を符号化対象データとして追加する（Ｓ４４）。特徴組合せモジュール１３２は、ステップＳ４４の後で、次の第３三次元点を処理対象として、ループ１を実行する。
【０１３５】
このように、特徴組合せモジュール１３２は、ステップＳ４３およびＳ４４を実行することで、複数の第３三次元点のうち閾値を超える重要度が付加されている複数の第４三次元点を抽出する。
【０１３６】
なお、ステップＳ４１の処理は必ずしも実行されなくてもよい。この場合、ループ１は、全ての複数の第３三次元点に対して実行され、ステップＳ４３においてＮｏと判定された場合にも、次の第３三次元点に対してループ１が繰り返されることとなる。
【０１３７】
ステップＳ４５において、エントロピ符号化モジュール１３４は、符号化対象データとされた複数の第３三次元点に対してエントロピ符号化を実行し、符号化ストリームを生成する（Ｓ４５）。エントロピ符号化モジュール１３４は、例えば、符号化対象データを８分木構造で表現してバイナリ化し、算術符号化することで符号化ストリームを生成してもよい。
【０１３８】
生成された符号化ストリームは、図４のステップＳ６において、閾値を送信した車両３００に送信される。
【０１３９】
変形例１に係る三次元点群データ生成方法によれば、第２三次元点の生成では、さらに、（ｉ）複数の第２三次元点のそれぞれについて、当該第２三次元点に付加された属性値に基づいて当該第２三次元点の重要度を算出し、（ｉｉ）算出された重要度を、当該第２三次元点に付加することで、それぞれが属性値および重要度を有する１以上の第３三次元点を含む第３三次元点群を生成する。このため、例えば、重要度が大きい第３三次元点ほど優先的に利用することができるため、処理の精度に悪影響を与えないように、処理に利用する三次元点群データのデータ量を調整することができる。
【０１４０】
また、変形例１に係る三次元点群データ生成方法において、さらに、クライアント機器である車両３００から閾値を受信し、１以上の第３三次元点のうち、受信された閾値を超える重要度が付加されている複数の第４三次元点を抽出し、抽出された複数の第４三次元点を含む第４三次元点群をクライアント機器に送信する。このため、車両３００の要求に応じて、送信する三次元点群データのデータ量を調製することができる。
【０１４１】
なお、上記変形例１における三次元点群データ生成装置１００の符号化部１３０は、閾値を車両３００から取得するとしたが、三次元点の数を車両３００から取得してもよい。この場合、符号化部１３０は、重要度が大きい順に、取得した三次元点の数の第３三次元点を符号化対象データとして符号化してもよい。
【０１４２】
（変形例２）
上記変形例１では、三次元点群データ生成装置１００は、クライアント機器である車両３００から閾値を受信することで、重要度が閾値以下の第３三次元点を符号化対象データから除外するとしたが、これに限らずに、全ての複数の第３三次元点を符号化対象データとして符号化することで、符号化ストリームを生成してもよい。つまり、三次元点群データ生成装置１００は、全ての複数の第３三次元点を符号化したデータを車両３００に送信してもよい。
【０１４３】
この場合、車両３００は、受信した符号化ストリームを復号することで、複数の第３三次元点を取得する。そして、車両３００は、複数の第３三次元点のうち、閾値を超える重要度の第３三次元点を車両３００の自己位置を推定する処理に利用してもよい。
【０１４４】
なお、車両３００の復号部３４０は、通信部３３０が全ての三次元点を取得した場合には、全ての三次元点のうち重要度の大きいものから優先的に復号してもよい。これにより、復号部３４０は、必要な数の三次元点を復号すればよいため、復号処理にかかる処理負荷を軽減することができる。また、この場合、符号化ストリームが重要度の大きい順に符号化されていれば、復号部３４０は、符号化ストリームを復号し、閾値以下の重要度の三次元点を復号した時点で復号処理を止めてもよいし、必要な数の三次元点が得られた時点で復号処理を止めてもよい。これにより、三次元点群データ生成装置１００は、車両３００毎に符号化ストリームを生成しなくても復号処理にかかる処理負荷を軽減できる。よって、三次元点群データ生成装置１００の符号化ストリームを生成する処理にかかる処理負荷を軽減できる。
【０１４５】
なお、車両３００は、複数の第３三次元点を、自己位置を推定する処理に用いなくてもよく、三次元マップの三次元映像の再構成する処理に用いてもよい。つまり、クライアント機器としての車両３００は、閾値を車両３００が実施する用途に応じて切替えてもよい。例えば、車両３００が自己位置推定を行う場合は、重要度が大きい三次元点のみが必要と判断し、閾値を第１の閾値に設定し、クライアントが地図を描画する場合は重要度が小さい三次元点まで必要と判断し、閾値を第１の閾値よりも小さい第２の閾値に設定することが考えられる。
【０１４６】
（その他）
マッピング部１２０は、２枚の二次元画像内の特徴点のマッチングによって算出された三次元位置を、当該特徴点の特徴量を持つ三次元点として正確な三次元マップに追加してもよい。
【０１４７】
マッピング部１２０は、１枚の二次元画像内の特徴点と正確な三次元マップの三次元点とをマッチングし、当該特徴点とマッチングされた三次元点に特徴点の特徴量を付加しても良い。この場合、カメラ２１０の姿勢を用いて、特徴点を三次元空間に逆投影する、または、三次元点を二次元画像に投影することにより、特徴点と正確な三次元マップの三次元点とのマッチングをしてもよい。つまり、マッピング部１２０は、複数の二次元画像のうちの２枚の二次元画像の特徴点をマッチングしたペアにより特定された三次元位置に近い三次元点を特定することで、特徴点と三次元点とをマッチングしていたがこれに限らずに、１枚の二次元画像の特徴点と、三次元点とをマッチングしてもよい。言い換えると、マッピング部１２０は、検出された１以上の属性値のそれぞれについて、（ｉ）第１三次元点群を構成する複数の三次元点のうちで当該属性値の二次元画像上の位置が対応する１以上の第１三次元点を特定し、（ｉｉ）特定された１以上の第１三次元点に当該属性値を付加することで、それぞれが前記属性値を有する１以上の第２三次元点を含む第２三次元点群を生成してもよい。
【０１４８】
また、三次元点の符号化には、エントロピ符号化に限らず、どのような符号化を適用しても構わない。例えば符号化対象データとされた三次元点群を８分木構造で符号化（ｏｃｔｒｅｅ  ｃｏｄｉｎｇ）してもよい。
【０１４９】
三次元点群データ生成装置１００は、車両２００とは異なるサーバであるとしたが、車両２００に備えられていてもよい。つまり、三次元点群データ生成装置１００による処理は、車両２００により実行されてもよい。この場合、車両２００により得られた第２三次元点群または第３三次元点群は、上位サーバに送信され、上位サーバが複数の車両２００から各地の第２三次元点群または第３三次元点群を収集してもよい。
【０１５０】
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態の三次元点群データ生成方法または位置推定方法などを実現するソフトウェアは、次のようなプログラムである。
【０１５１】
すなわち、このプログラムは、コンピュータに、プロセッサを用いて複数の三次元点を含む三次元点群を生成する三次元点群生成方法であって、カメラを用いて三次元オブジェクトを撮像することにより得られた二次元画像と、距離センサを用いて前記三次元オブジェクトをセンシングすることにより得られた第１三次元点群とを取得し、取得された前記二次元画像から、前記二次元画像上の位置に対応する前記二次元画像の属性値を１以上検出し、検出された前記１以上の属性値のそれぞれについて、（ｉ）前記第１三次元点群を構成する複数の三次元点のうちで当該属性値の前記二次元画像上の位置が対応する１以上の第１三次元点を特定し、（ｉｉ）特定された前記１以上の第１三次元点に当該属性値を付加することで、それぞれが前記属性値を有する１以上の第２三次元点を含む第２三次元点群を生成する三次元点群データ生成方法を実行させる。
【０１５２】
また、このプログラムは、コンピュータに、プロセッサを用いて移動体の現在位置を推定する位置推定方法であって、三次元オブジェクトを撮像した第１二次元画像の属性値である第１属性値がそれぞれ予め付加された複数の三次元点を含む三次元点群を取得し、前記移動体が備えるカメラにより撮像された、前記移動体の周囲の第２二次元画像を取得し、取得された前記第２二次元画像から、前記第２二次元画像上の位置に対応する前記第２二次元画像の属性値である第２属性値を１以上検出し、検出された前記１以上の第２属性値のそれぞれについて、前記複数の三次元点のうちで、当該第２属性値に対応する１以上の第５三次元点を特定することで当該第２属性値および前記１以上の第５三次元点により構成される組合せを１以上生成し、記憶装置から前記移動体に対する前記カメラの位置および姿勢を取得し、生成された前記１以上の組合せと、取得された前記カメラの位置および姿勢とを用いて前記移動体の位置および姿勢を算出する位置推定方法を実行させる。
【０１５３】
以上、本開示の一つまたは複数の態様に係る三次元点群データ生成方法、位置推定方法、三次元点群データ生成装置、および、位置推定装置について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の範囲内に含まれてもよい。
【産業上の利用可能性】
【０１５４】
本開示は、更なる改善を図ることができる三次元点群データ生成方法、位置推定方法、三次元点群データ生成装置、および、位置推定装置として有用である。
【符号の説明】
【０１５５】
１    位置推定システム
１００    三次元点群データ生成装置
１１０    通信部
１２０    マッピング部
１２１、３５１    特徴検出モジュール
１２２、３５２    特徴マッチングモジュール
１２３    点群登録モジュール
１２４    三角測量モジュール
１２５    位置姿勢算出モジュール
１２６、１３３、２５０、３５３    メモリ
１３０    符号化部
１３１    特徴ソートモジュール
１３２    特徴組合せモジュール
１３４    エントロピ符号化モジュール
１４０、３７０    外部メモリ
２００、３００    車両
２１０、３１０    カメラ
２２０、２４０、３２０    取得部
２３０    ＬｉＤＡＲ
２６０、３３０    通信部
３４０    復号部
３５０    位置推定部
３６０    制御部
４００    通信ネットワーク
４１０    基地局
【図１】
2019098318.tif 000003
【図２】
2019098318.tif 000004
【図３】
2019098318.tif 000005
【図４】
2019098318.tif 000006
【図５】
2019098318.tif 000007
【図６】
2019098318.tif 000008
【図７】
2019098318.tif 000009
【図８】
2019098318.tif 000010
【図９】
2019098318.tif 000011
【図１０】
2019098318.tif 000012
【図１１】
2019098318.tif 000013
【図１２】
2019098318.tif 000014
【国際調査報告】
2019098318.tif 000015
2019098318.tif 000016
2019098318.tif 000017
2019098318.tif 000018