(57)【要約】一実施態様において、システムは、ＡＤＶの一つ又は複数のＬＩＤＡＲセンサによりキャプチャされた複数のポイントクラウドを受信するとともに、対応するポーズを受信する。システムは、ＡＤＶの一つ又は複数の画像キャプチャセンサから複数のＲＧＢ画像を受信する。システムは、ＲＧＢ画像をポイントクラウドと同期させてＲＧＢポイントクラウドを得る。システムは、ＲＧＢポイントクラウドから、ＲＧＢポイントクラウドの状況情報及び空間情報を含む特徴を抽出する。抽出された特徴に基づいて前記ＲＧＢポイントクラウドを登録し、ＲＧＢポイントクラウドの登録に基づいてポイントクラウド地図を生成する。【選択図】図１８
2021515254.tif 000002
【特許請求の範囲】
【請求項１】
自動運転車（ＡＤＶ）のための、ポイントクラウドを三次元（３Ｄ）ポイントクラウド地図に登録するコンピュータ実施方法であって、
ＡＤＶの一つ又は複数のＬＩＤＡＲセンサによりキャプチャされた複数のポイントクラウドを受信するとともに、対応するポーズを受信するステップと、
前記ＡＤＶの一つ又は複数の画像キャプチャセンサから複数のＲＧＢ画像を受信するステップと、
前記ＲＧＢ画像を前記ポイントクラウドと同期させてＲＧＢポイントクラウドを得るステップと、
前記ＲＧＢポイントクラウドから、前記ＲＧＢポイントクラウドの状況情報及び空間情報を含む特徴を抽出するステップと、
抽出された特徴に基づいて前記ＲＧＢポイントクラウドを登録するステップと、
前記ＲＧＢポイントクラウドの登録に基づいてポイントクラウド地図を生成するステップと、
を含むことを特徴とするコンピュータ実施方法。
【請求項２】
前記ＲＧＢ画像を前記ポイントクラウドと同期させてＲＧＢポイントクラウドを得るステップは、
各ポイントクラウドに対して当該ポイントクラウドのタイムスタンプを決定するステップと、
複数のＲＧＢ画像から前記ポイントクラウドのタイムスタンプの時間閾値内にあるタイムスタンプを有するＲＧＢ画像を特定するステップと、
一つ又は複数の画素を前記ポイントクラウドの一つ又は複数のポイントと関連付けることによって、前記ＲＧＢ画像とポイントクラウドを関連付けるステップと、
を含む、請求項１に記載の方法。
【請求項３】
前記ＲＧＢポイントクラウドから特徴を抽出するステップは、
前記ＲＧＢ画像と関連するポイントクラウドとの両方からの状況情報及び空間情報に基づいて特徴を抽出することを含む、請求項２に記載の方法。
【請求項４】
前記状況情報は、前記特徴の色彩パターン及び色彩パターンの複雑度を含み、前記空間情報は、前記特徴のポイントの位置に関する情報を含む、請求項１に記載の方法。
【請求項５】
抽出された特徴に基づいて前記ＲＧＢポイントクラウドを登録するステップは、
前記複数のポイントクラウドに対して最適化アルゴリズムを用いることを含む、請求項１に記載の方法。
【請求項６】
前記最適化アルゴリズムは、反復最近接点（ＩＣＰ）アルゴリズムを含む、請求項５に記載の方法。
【請求項７】
ＲＡＮＳＡＣアルゴリズムを、抽出された特徴に対し用いることで、外れ値特徴に対し用いることを更に含む、請求項５に記載の方法。
【請求項８】
ＲＧＢポイントクラウドに基づいて前記ポイントクラウドを登録することによって、ポイントに基づいて登録を行うステップを更に含む、請求項１に記載の方法。
【請求項９】
前記ポイントに基づいて登録を行うステップは、
登録されたポイントクラウドに対してＲＧＢに基づくＩＣＰアルゴリズムを用いることであって、ここで、ＲＧＢ情報は、ＩＣＰアルゴリズムのコスト関数に集積されたものであることを含む、請求項８に記載の方法。
【請求項１０】
命令を記憶している非一時性機械可読メディアであって、
前記命令は、プロセッサによって実行されると、
ＡＤＶの一つ又は複数のＬＩＤＡＲセンサによりキャプチャされた複数のポイントクラウドを受信するとともに、対応するポーズを受信するステップと、
前記ＡＤＶの一つ又は複数の画像キャプチャセンサから複数のＲＧＢ画像を受信するステップと、
前記ＲＧＢ画像を前記ポイントクラウドと同期させてＲＧＢポイントクラウドを得るステップと、
前記ＲＧＢポイントクラウドから、前記ＲＧＢポイントクラウドの状況情報及び空間情報を含む特徴を抽出するステップと、
抽出された特徴に基づいて前記ＲＧＢポイントクラウドを登録するステップと、
前記ＲＧＢポイントクラウドの登録に基づいてポイントクラウド地図を生成するステップと、
を含む操作を前記プロセッサに実行させる、ことを特徴とする命令を記憶している非一時性機械可読メディア。
【請求項１１】
前記ＲＧＢ画像を前記ポイントクラウドと同期させてＲＧＢポイントクラウドを得るステップは、
各ポイントクラウドに対して当該ポイントクラウドのタイムスタンプを決定するステップと、
複数のＲＧＢ画像から前記ポイントクラウドのタイムスタンプの時間閾値内にあるタイムスタンプを有するＲＧＢ画像を特定するステップと、
一つ又は複数の画素を前記ポイントクラウドの一つ又は複数のポイントと関連付けることによって、前記ＲＧＢ画像とポイントクラウドを関連付けるステップと、
を含む、請求項１０に記載の非一時性機械可読メディア。
【請求項１２】
前記ＲＧＢポイントクラウドから特徴を抽出するステップは、
前記ＲＧＢ画像と関連するポイントクラウドとの両方からの状況情報及び空間情報に基づいて特徴を抽出することを含む、請求項１１に記載の非一時性機械可読メディア。
【請求項１３】
前記状況情報は、前記特徴の色彩パターン及び色彩パターンの複雑度を含み、前記空間情報は、前記特徴のポイントの位置に関する情報を含む、請求項１０に記載の非一時性機械可読メディア。
【請求項１４】
抽出された特徴に基づいて前記ＲＧＢポイントクラウドを登録するステップは、
前記複数のポイントクラウドに対して最適化アルゴリズムを用いることを含む、請求項１０に記載の非一時性機械可読メディア。
【請求項１５】
ＲＡＮＳＡＣアルゴリズムを、抽出された特徴に対し用いることで、外れ値特徴に対し用いることを更に含む、請求項１４に記載の非一時性機械可読メディア。
【請求項１６】
プロセッサと、前記プロセッサに接続され命令を記憶しているメモリとを含むデータ処理システムであって、
前記命令は、前記プロセッサによって実行されると、
ＡＤＶの一つ又は複数のＬＩＤＡＲセンサによりキャプチャされた複数のポイントクラウドを受信するとともに、対応するポーズを受信するステップと、
前記ＡＤＶの一つ又は複数の画像キャプチャセンサから複数のＲＧＢ画像を受信するステップと、
前記ＲＧＢ画像を前記ポイントクラウドと同期させてＲＧＢポイントクラウドを得るステップと、
前記ＲＧＢポイントクラウドから、前記ＲＧＢポイントクラウドの状況情報及び空間情報を含む特徴を抽出するステップと、
抽出された特徴に基づいて前記ＲＧＢポイントクラウドを登録するステップと、
前記ＲＧＢポイントクラウドの登録に基づいてポイントクラウド地図を生成するステップと、
を含む操作を前記プロセッサに実行させる、データ処理システム。
【請求項１７】
前記ＲＧＢ画像を前記ポイントクラウドと同期させてＲＧＢポイントクラウドを得るステップは、
各ポイントクラウドに対して当該ポイントクラウドのタイムスタンプを決定するステップと、
複数のＲＧＢ画像から前記ポイントクラウドのタイムスタンプの時間閾値内にあるタイムスタンプを有するＲＧＢ画像を特定するステップと、
一つ又は複数の画素を前記ポイントクラウドの一つ又は複数のポイントと関連付けることによって、前記ＲＧＢ画像とポイントクラウドを関連付けるステップと、
を更に含む、請求項１６に記載のシステム。
【請求項１８】
前記ＲＧＢポイントクラウドから特徴を抽出するステップは、
前記ＲＧＢ画像と関連するポイントクラウドとの両方からの状況情報及び空間情報に基づいて特徴を抽出することを含む、請求項１７に記載のシステム。
【請求項１９】
前記状況情報は、前記特徴の色彩パターン及び色彩パターンの複雑度を含み、前記空間情報は、前記特徴のポイントの位置に関する情報を含む、請求項１６に記載のシステム。
【請求項２０】
抽出された特徴に基づいて前記ＲＧＢポイントクラウドを登録するステップは、
前記複数のポイントクラウドに対して最適化アルゴリズムを用いることを含む、請求項１６に記載のシステム。
【請求項２１】
ＲＡＮＳＡＣアルゴリズムを、抽出された特徴に対し用いることで、外れ値特徴に対し用いることを更に含む、請求項２０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願の実施形態は、主に自動運転車の操作に関し、具体的には、自動運転車（ＡＤＶ）のための、ＲＧＢ（赤、緑、青）ポイントクラウドに基づく地図生成システムに関する。
【背景技術】
【０００２】
自動運転モード（例えば、無人運転）で走行する車両は、乗員（特に運転手）を、幾つかの運転関連の責務から解放することができる。自動運転モードで運転する場合、車両は、車載センサを使用して各位置にナビゲートされることができ、故に車両を最少のヒューマンインタラクションや、乗客なしなどの状況で走行することができる。
【０００３】
運動計画及び制御は、自動運転時の大事な操作である。しかしながら、従来の運動計画操作では、主にその曲率及び速度に基づいて所定の経路を完成する難易度を推定するが、異なる種類の車両が特性での差異を考慮しない。同じ運動計画及び制御があらゆる種類の車両に用いられる場合に、不正確で、滑らかではない場合がある。
【０００４】
高精細度（ＨＤ）三次元（３Ｄ）ポイントクラウド地図は、自動運転車にとって重要であり、ポイントクラウドデータに基づいてＨＤ３Ｄポイントクラウド地図を構築するには、ポイントクラウド登録（ｐｏｉｎｔ  ｃｌｏｕｄ  ｒｅｇｉｓｔｒａｔｉｏｎ）システムが重点となる。高精細度を有するＨＤ３Ｄポイントクラウド地図は、自動運転車（ＡＤＶ）の運動計画のキーポイントとなる。
【０００５】
しかし、地図構造の性能及び精確度に影響する若干の問題がある。まず、現在のポイントクラウド登録アルゴリズムは、位置特定のためのＧＰＳ信号に大きく依存して地図の構築を行っているが、例えば、ビルが林立する都市の街又はうっそうとした森林の中では、ＧＰＳ信号はメータルレベルの範囲の誤差を生じたり、ＧＰＳジャンプを有する信号を記録してしまったりする可能性がある。又は、例えば、トンネル又は車庫の中では、信号がＧＰＳにより完全に記録されることができない可能性がある。その次、ポイントクラウドの登録は、複雑な計算を必要とされる可能性があり、例えば、大きい地図領域の場合では、これは、挑戦的であり、かなり時間がかかる。
【０００６】
また、登録されたＨＤ３Ｄポイントクラウド地図の精確度は、ポイントクラウド又はポイントクラウドの接ぎ合わしの品質に依存する。ポイントクラウド地図は、例えば、ポイントクラウドの接ぎ合わしによるゴースト画像を有すれば、ＨＤ３Ｄポイントクラウド地図の精確度は、損なわれる可能性がある。高い精確度を保つために、ゴースト効果に対してポイントクラウド地図を評価することが期待されている。
【発明の概要】
【課題を解決するための手段】
【０００７】
本開示の第１態様においては、自動運転車（ＡＤＶ）のための、ポイントクラウドを三次元（３Ｄ）ポイントクラウド地図に登録するコンピュータ実施方法であって、ＡＤＶの一つ又は複数のＬＩＤＡＲセンサによりキャプチャされた複数のポイントクラウドを受信するとともに、対応するポーズを受信するステップと、前記ＡＤＶの一つ又は複数の画像キャプチャセンサから複数のＲＧＢ画像を受信するステップと、前記ＲＧＢ画像を前記ポイントクラウドと同期させてＲＧＢポイントクラウドを得るステップと、前記ＲＧＢポイントクラウドから、前記ＲＧＢポイントクラウドの状況情報及び空間情報を含む特徴を抽出するステップと、抽出された特徴に基づいて前記ＲＧＢポイントクラウドを登録するステップと、前記ＲＧＢポイントクラウドの登録に基づいてポイントクラウド地図を生成するステップと、を含むことを特徴とするコンピュータ実施方法を提供する。
【０００８】
本開示の第２態様においては、命令を記憶している非一時性機械可読メディアであって、前記命令は、プロセッサによって実行されると、ＡＤＶの一つ又は複数のＬＩＤＡＲセンサによりキャプチャされた複数のポイントクラウドを受信するとともに、対応するポーズを受信するステップと、前記ＡＤＶの一つ又は複数の画像キャプチャセンサから複数のＲＧＢ画像を受信するステップと、前記ＲＧＢ画像を前記ポイントクラウドと同期させてＲＧＢポイントクラウドを得るステップと、前記ＲＧＢポイントクラウドから、前記ＲＧＢポイントクラウドの状況情報及び空間情報を含む特徴を抽出するステップと、抽出された特徴に基づいて前記ＲＧＢポイントクラウドを登録するステップと、前記ＲＧＢポイントクラウドの登録に基づいてポイントクラウド地図を生成するステップと、を含む操作を前記プロセッサに実行させる、ことを特徴とする命令を記憶している非一時性機械可読メディアを提供する。
【０００９】
本開示の第３態様においては、プロセッサと、前記プロセッサに接続され命令を記憶しているメモリとを含むデータ処理システムであって、前記命令は、前記プロセッサによって実行されると、ＡＤＶの一つ又は複数のＬＩＤＡＲセンサによりキャプチャされた複数のポイントクラウドを受信するとともに、対応するポーズを受信するステップと、前記ＡＤＶの一つ又は複数の画像キャプチャセンサから複数のＲＧＢ画像を受信するステップと、前記ＲＧＢ画像を前記ポイントクラウドと同期させてＲＧＢポイントクラウドを得るステップと、前記ＲＧＢポイントクラウドから、前記ＲＧＢポイントクラウドの状況情報及び空間情報を含む特徴を抽出するステップと、抽出された特徴に基づいて前記ＲＧＢポイントクラウドを登録するステップと、前記ＲＧＢポイントクラウドの登録に基づいてポイントクラウド地図を生成するステップと、を含む操作を前記プロセッサに実行させる、データ処理システムを提供する。
【図面の簡単な説明】
【００１０】
本開示の実施態様は図面の各図において限定的ではなく例示的に示され、図面において同様の参照符号が同様の素子を示す。
【００１１】
【図１】一実施態様に係るネットワーク化システムを示すブロック図である。
【００１２】
【図２】一実施態様に係る自動運転車の例を示すブロック図である。
【００１３】
【図３Ａ】一実施態様に係る、自動運転車と共に使用される感知・計画システムの例を示すブロック図である。
【図３Ｂ】一実施態様に係る、自動運転車と共に使用される感知・計画システムの例を示すブロック図である。
【００１４】
【図４】一実施態様に係るＨＤ地図生成エンジンの例を示すブロック図である。
【００１５】
【図５】一実施態様に係るＨＤ地図生成システムの例を示すブロック図である。
【００１６】
【図６】一実施態様に係るＨＤ地図生成システムに用いられるパイプラインの例を示すブロック図である。
【００１７】
【図７Ａ】一実施態様に係るループ閉鎖を有する地図領域を示す図である。
【００１８】
【図７Ｂ】一実施態様に係るＬＩＤＡＲ画像の二次元鳥瞰図を示す画像である。
【００１９】
【図８】一実施態様に係る方法の例を示すフローチャートである。
【００２０】
【図９】一実施態様に係る自動運転車と共に使用される感知・計画システムの例を示すブロック図である。
【００２１】
【図１０】一実施態様に係るリアルタイムＨＤ地図生成モジュールの例を示すブロック図である。
【００２２】
【図１１Ａ】一実施態様に係るリアルタイムＨＤ地図生成パイプラインの例を示すフローチャートである。
【００２３】
【図１１Ｂ】一実施態様に係るループ閉鎖の測位の例を示すフローチャートである。
【００２４】
【図１２】一実施態様に係る多層パーセプトロンの例を示している。
【００２５】
【図１３】一実施態様に係るターゲット地図の例を示している。
【００２６】
【図１４】一実施態様に係る方法の例を示すフローチャートである。
【００２７】
【図１５】一実施態様に係る自動運転車と共に使用される感知・計画システムの例を示すブロック図である。
【００２８】
【図１６】一実施態様に係るＲＧＢポイントクラウドモジュールの例を示すブロック図である。
【００２９】
【図１７】幾つかの実施態様に係るＲＧＢポイントクラウド同期方法の例を示すブロック図である。
【００３０】
【図１８】一実施態様に係る方法の例を示すフローチャートである。
【００３１】
【図１９】一実施態様に係る自動運転車と共に使用される感知・計画システムの例を示すブロック図である。
【００３２】
【図２０】一実施態様に係る地図区画モジュールの例を示すブロック図である。
【００３３】
【図２１】一実施態様に係る道路標示抽出の例を示すフローチャートである。
【００３４】
【図２２】一実施態様に係る道路標示ポイントの抽出のための検索の例を示している。
【００３５】
【図２３】一実施態様に係る道路縁石抽出の例を示すフローチャートである。
【００３６】
【図２４】一実施態様に係る道路縁石抽出の例を示している。
【００３７】
【図２５】一実施態様に係る地図区画の例を示している。
【００３８】
【図２６Ａ】幾つかの実施態様に係る方法の例を示すフローチャートである。
【図２６Ｂ】幾つかの実施態様に係る方法の例を示すフローチャートである。
【００３９】
【図２７】一実施態様に係る自動運転車と共に使用される感知・計画システムの例を示すブロック図である。
【００４０】
【図２８】一実施態様に係るゴースト効果エンジンの例を示すブロック図である。
【００４１】
【図２９】一実施態様に係るゴースト効果検出の例を示すフローチャートである。
【００４２】
【図３０】一実施態様に係る方法の例を示すフローチャートである。
【００４３】
【図３１】一実施態様に係るデータ処理システムを示すブロック図である。
【発明を実施するための形態】
【００４４】
以下、検討する詳細を参照しながら本発明の各実施態様及び局面を記載して、図面において前記各実施態様を示す。下記記載及び図面は、本開示を説明するためのものであり、本発明を限定するためのものとして解釈されるべきではない。特定の詳細を多く記載することは、本開示の各実施態様を完全に理解するためである。しかしながら、本発明の実施態様を簡潔的に検討するために、周知または通常の詳細を記載しない場合がある。
【００４５】
本明細書において「一実施態様」または「実施態様」を言及することは、当該実施態様によって説明される特定の特徴、構成や特性が本発明の少なくとも１つの実施態様に含まれることを意味する。「一実施態様では」という語句の本明細書における各箇所での記載のすべては、必ずしも同一の実施態様を指すことに限定されない。
【００４６】
本明細書においては、ＨＤ地図又はＨＤポーズのように引用される「ＨＤ」又は「高精細度」とは、非常に高いレベルの精確度を有する地図及びポーズを指す。例えば、ＨＤ地図は、センチ又は数十センチのレベルの精確度を有することができる。
【００４７】
大きい地図領域においてＧＰＳ信号が弱い又はＧＰＳ信号がなくなる時に生じた問題及び計算複雑度の問題を解決するために、地図領域のトポロジ情報（例えば、ループ閉鎖）を用いて前記大きい地図領域をより小さい区画に分ける。その後、計算クラスタ（例えば、Ｈａｄｏｏｐクラスタ）の各ノードにおいてそれぞれの区画の計算を個別に実行（例えば、並行計算する）することによって、各ノードの計算負荷になることにより、全体として計算複雑度を低減することができる。また、トポロジ情報により、ＧＰＳ信号が弱い又はＧＰＳ信号がなくなる時のポイントクラウド登録が洗練される。
【００４８】
第１態様によれば、自動運転車（ＡＤＶ）のためのポイントクラウドの登録システムを開示する。システムは、地図作成すべきの走行可能領域のポイントクラウドをキャプチャするＬＩＤＡＲセンサが配置されているＡＤＶから、第１座標系（例えば、ＡＤＶの位置に対する相対座標系）に対応する複数のポイントクラウド及び対応するポーズを受信する。システムは、ポイントクラウドによりキャプチャされた走行可能ループ情報に基づき、ポイントクラウド及び対応するポーズを一つ又は複数のループ区画に分ける。システムは、各ループ区画について、ループ区画に対応するポイントクラウドに対して最適化モデルを用いることで、ポイントクラウドを登録し、ここで、ポイントクラウドを第１座標系から第２座標系（例えば、ＵＴＭ座標系のようなグローバル座標系又は絶対座標系）に変換することが含まれる。システムは、ポーズグラフアルゴリズムを用いて一つ又は複数のループ区画を合併し、合併されたポイントクラウド区画を用いてＡＤＶの周囲の運転環境を感知する。
【００４９】
第２態様によれば、システムは、ＡＤＶの一つ又は複数のＬＩＤＡＲセンサからポイントクラウドフレームストリームをリアルタイムで受信するとともに、対応するポーズをリアルタイムで受信する。システムは、フレームストリームの各フレームにおける点の幾何学形状又は空間属性に基づき、フレームストリームの各フレームに用いられるセグメント情報を抽出し、なお、セグメント情報は、第１ポーズに対応する少なくとも第１フレームの一つ又は複数のセグメントを含む。システムは、セグメント情報に基づいてフレームストリームを登録する。システムは、フレームの登録に基づいてフレームストリームの第１ポイントクラウド地図を生成する。
【００５０】
第３態様によれば、システムは、ＡＤＶの一つ又は複数のＬＩＤＡＲセンサによりキャプチャされた複数のポイントクラウドを受信し、且つ、対応するポーズを受信する。システムは、ＡＤＶの一つ又は複数の画像キャプチャセンサから複数のＲＧＢ（赤、緑、青）画像を受信する。システムは、ＲＧＢ画像をポイントクラウドと同期させてＲＧＢポイントクラウドを得る。システムは、ＲＧＢポイントクラウドから、ＲＧＢポイントクラウドの状況情報及び空間情報を含む特徴を抽出する。システムは、抽出された特徴に基づいてＲＧＢポイントクラウドを登録し、ＲＧＢポイントクラウドの登録に基づいてポイントクラウド地図を生成する。
【００５１】
第４態様によれば、システムは、ＡＤＶによりナビゲートされた道路を識別し、前記道路は、一つ又は複数のＬＩＤＡＲセンサからの一つ又は複数のポイントクラウドによりキャプチャされる。当該システムは、ポイントクラウドから識別された道路の道路標示情報を抽出し、前記道路標示情報は、識別された道路の一つ又は複数の道路標示を記述する。システムは、道路標示に基づいて道路を一つ又は複数の道路区画に分ける。システムは、道路区画に基づいてポイントクラウド地図を生成し、なお、ポイントクラウド地図を用いてＡＤＶの周囲の運転環境を感知する。
【００５２】
第５態様によれば、システムは、ポイントクラウドの初期フレームに基づいて占有格子地図を生成する。システムは、ポイントクラウドの一つ又は複数の後続フレームを受信する。システムは、各後続フレームに対しては、当該後続フレームに基づいて占有格子地図を更新する。システムは、上述した更新に基づいて一つ又は複数の異常ボクセルを識別し、異常ボクセルが壁オブジェクトであるか否かを判定し、異常ボクセルが壁オブジェクトであると判定されたことに応答し、前記システムは、異常ボクセルを後続フレームのゴースト効果ボクセルとして標示する。
【００５３】
図１は、本発明の一実施態様にかかる自動運転車のネットワーク構成を示すブロック図である。図１を参照すると、ネットワーク構成１００は、ネットワーク１０２を介して１つまたは複数のサーバ１０３〜１０４に対して通信可能に接続する自動運転車１０１を備える。１つの自動運転車のみを示すが、複数の自動運転車は、ネットワーク１０２を介して相互に接続し、および／またはサーバ１０３〜１０４に接続可能である。ネットワーク１０２は、いずれのタイプのネットワークであってもよく、例えば、有線または無線のローカルエリアネットワーク（ＬＡＮ）、インターネットのような広域ネットワーク（ＷＡＮ）、セルラ網、衛星ネットワークまたはそれらの組み合せである。サーバ１０３〜１０４は、いずれの形式のサーバまたはサーバクラスタであってもよく、例えば、Ｗｅｂサーバやクラウドサーバ、アプリケーションサーバ、バックエンドサーバまたはそれらの組み合せである。サーバ１０３〜１０４は、データ解析サーバやコンテンツサーバ、交通情報サーバ、地図・関心地点（ＭＰＯＩ）サーバまたは位置サーバなどであってもよい。
【００５４】
自動運転車とは、自動運転モードにある可能に配置される車両を指し、前記自動運転モードで、車両は、運転者からの入力が非常に少なく又は完全にない状況で環境を通過するように案内される。そのような自動運転車は、車両運転環境に関する情報を検出可能に配置される１つまたは複数のセンサを有するセンサシステムを備えることが可能である。前記車両及びかかるコントローラは、検出された情報を使用して前記環境を通過するように案内される。自動運転車１０１は、マニュアルモード、全自動運転モードまたは一部自動運転モードで運転することが可能である。
【００５５】
一実施態様では、自動運転車１０１は、感知・計画システム１１０と、車両制御システム１１１と、無線通信システム１１２と、ユーザインタフェースシステム１１３と、情報エンターテインメントシステム１１４と、センサシステム１１５とを備えるが、これに限定されない。自動運転車１０１は、通常の車両に含まれる一部の汎用的な部材、例えば、エンジン、車輪、ステアリングホイール、変速機などを備えることが可能であり、前記部材は、車両制御システム１１１および／または感知・計画システム１１０により多種の通信信号および／または命令で制御され、当該多種の通信信号および／または命令は、例えば、加速信号または命令、減速信号または命令、操舵信号または命令、ブレーキ信号または命令などである。
【００５６】
部材１１０〜１１５同士は、インターコネクト、バス、ネットワークまたはそれらの組合せを介して通信可能に接続されることが可能である。例えば、部材１１０〜１１５同士は、コントローラエリアネットワーク（ＣＡＮ）バスを介して通信可能に接続されることが可能である。ＣＡＮバスは、マイクロコントローラと装置とがホストなしのアプリケーションで相互に通信することを許容するように設計される車両バス規格である。それは、最初に自動車における多重化電気配線のために設計される、メッセージベースのプロトコルであるが、様々な他の環境にも適用される。
【００５７】
図２を参照すると、一実施態様では、センサシステム１１５は、１つまたは複数のカメラ２１１と、全地球測位システム（ＧＰＳ）ユニット２１２と、慣性計測ユニット（ＩＭＵ）２１３と、レーダユニット２１４と、光検出・測距（ＬＩＤＡＲ）ユニット２１５とを備えるが、これに限定されない。ＧＰＳユニット２１２は、自動運転車の位置に関する情報を提供するように操作可能な送受信器を備えることが可能である。ＩＭＵユニット２１３は、慣性加速度に基づいて自動運転車の位置及び方向変化を検知可能である。レーダユニット２１４は、電波信号により自動運転車のローカル環境におけるオブジェクトを検知するシステムを表すことが可能である。一部の実施態様では、レーダユニット２１４は、オブジェクトに加え、オブジェクトの速度および／または前進方向を検知可能である。ＬＩＤＡＲユニット２１５は、激光により自動運転車が所在する環境におけるオブジェクトを検知することが可能である。ＬＩＤＡＲユニット２１５は、他のシステム部材に加え、１つまたは複数のレーザ光源、レーザスキャナ及び１つまたは複数の検出器を備えることが可能である。カメラ２１１は、自動運転車の周囲の環境の画像を撮像するための１つまたは複数の装置を備えることが可能である。カメラ２１１は、スチルカメラおよび／またはビデオカメラであってもよい。カメラは、機械的に移動可能なものであってもよく、例えば、カメラが回転および／または傾斜するステージに取り付けられることにより移動可能である。
【００５８】
センサシステム１１５は、例えば、ソナーセンサや赤外線センサ、操舵角センサ、スロットルセンサ、ブレーキセンサ、オーディオセンサ（例えば、マイクフォン）などの他のセンサを備えることが可能である。オーディオセンサは、自動運転車の周囲の環境から音声を収音するように配置可能である。操舵角センサは、ステアリングホイール、車両の車輪またはそれらの組み合せの操舵角を検知するように配置可能である。スロットルセンサ及びブレーキセンサは、それぞれ車両のスロットル位置及びブレーキ位置を検知する。スロットルセンサ及びブレーキセンサは、集積式スロットル／ブレーキセンサに集積される場合もある。
【００５９】
一実施態様では、車両制御システム１１１は、操舵ユニット２０１と、スロットルユニット２０２（加速ユニットともいう）と、ブレーキユニット２０３とを備えるが、これに限定されない。操舵ユニット２０１は、車両の方向または前進方向を調整するためのものである。スロットルユニット２０２は、モータまたはエンジンの速度を制御することにより車両の速度及び加速度を制御するためのものである。ブレーキユニット２０３は、摩擦を与えることにより、車両の車輪またはタイヤを減速させて車両を減速させる。なお、図２に示す部材は、ハードウェア、ソフトウェアまたはそれらの組み合せで実現されることが可能である。
【００６０】
図１に戻って、無線通信システム１１２は、自動運転車１０１と、例えば装置やセンサ、他の車両などの外部システムとの通信を可能にする。例えば、無線通信システム１１２は、１つまたは複数の装置と直接に無線通信を行い、または通信ネットワークを介して無線通信を行うことが可能であり、例えば、ネットワーク１０２を介してサーバ１０３〜１０４と通信する。無線通信システム１１２は、いずれのセルラ通信ネットワークまたは無線ローカルエリアネットワーク（ＷＬＡＮ）、例えば、ＷｉＦｉ（登録商標）を利用して他の部材やシステムと通信可能である。無線通信システム１１２は、例えば赤外線リンクやブルートゥース（登録商標）などを利用して装置（例えば、乗員の携帯機器、表示装置、車両１０１内のスピーカ）と直接に通信可能である。ユーザインタフェースシステム１１３は、車両１０１内で実現される周辺装置の部分であることが可能であり、例えばキーボード、タッチパネル式表示装置、マイクフォン及びスピーカなどを含む。
【００６１】
特に自動運転モードで操作される際に、自動運転車１０１の機能の一部または全部は、感知・計画システム１１０により制御または管理されることが可能である。感知・計画システム１１０は、必要なハードウェア（例えば、プロセッサ、メモリ、記憶装置）及びソフトウェア（例えば、オペレーティングシステム、計画・ルーティングプログラム）を含み、センサシステム１１５、制御システム１１１、無線通信システム１１２および／またはユーザインタフェースシステム１１３から情報を受信して、受信した情報を処理し、開始点から目的地点までのルートまたは経路を計画した後、計画・制御情報に基づいて車両１０１を運転する。その代わりに、感知・計画システム１１０は、車両制御システム１１１に集積されてもよい。
【００６２】
例えば、乗員であるユーザは、例えばユーザインタフェースを介して行程の開始位置及び目的地を指定することが可能である。感知・計画システム１１０は、行程に関するデータを取得する。例えば、感知・計画システム１１０は、ＭＰＯＩサーバから位置・ルート情報を取得することが可能であり、前記ＭＰＯＩサーバは、サーバ１０３〜１０４の一部であってもよい。位置サーバは位置サービスを提供するとともに、ＭＰＯＩサーバは地図サービス及び一部の位置のＰＯＩを提供する。その代わりに、そのような位置及びＭＰＯＩ情報は、感知・計画システム１１０の永続的記憶装置にローカルキャッシュされてもよい。
【００６３】
自動運転車１０１がルートに沿って移動する際に、感知・計画システム１１０は、交通情報システムまたはサーバ（ＴＩＳ）からリアルタイム交通情報を取得してもよい。なお、サーバ１０３〜１０４は、第三者エンティティにより操作されることが可能である。その代わりに、サーバ１０３〜１０４の機能は、感知・計画システム１１０に集積されてもよい。感知・計画システム１１０は、リアルタイム交通情報、ＭＰＯＩ情報及び位置情報、並びにセンサシステム１１５により検出または検知されたリアルタイムローカル環境データ（例えば、障害物、オブジェクト、周辺車両）に基づいて、最適ルートを計画して、計画したルートに応じて、例えば制御システム１１１を介して車両１０１を運転すること可能であり、これにより、安全で且つ効率よく指定の目的地に到達することができる。
【００６４】
サーバ１０３は、複数のクライアントについてデータ解析サービスを実行するデータ解析システムであってもよい。一実施態様では、データ解析システム１０３は、データ収集器１２１及び機械学習エンジン１２２を備える。データ収集器１２１は、種々の車両（自動運転車または人間の運転者が運転する通常の車両）から運転統計データ１２３を収集する。運転統計データ１２３は、異なる時点で発行された運転命令（例えば、スロットル命令、ブレーキ命令、操舵命令）及び車両のセンサによってキャプチャされた車両の応答（例えば速度、加速、減速、方向）を示す情報を含む。運転統計データ１２３は、異なる時点での運転環境を記述する情報、例えば、ルート（開始位置及び目的地位置を備える）、ＭＰＯＩ、道路状況、気候状況などをさらに含むことが可能である。運転統計データ１２３は、例えば、車両に取り付けられているＬＩＤＡＲセンサによりキャプチャされ運転環境を記述するポイントクラウド画像や、ＩＭＵ及びＧＰＳセンサによりキャプチャされ車両の位置と向く方向を記述する対応するポーズなどのポイントクラウド情報を更に含む。
【００６５】
機械学習エンジン１２２は、各種の目的を達成するために、ワンセットのルール、運転統計データ１２３に基づき、アルゴリズム及び／または予測モデル１２４の集合を生成または訓練する。一実施態様においては、アルゴリズム１２４は、バンドル調整（ｂｕｎｄｌｅ  ａｄｊｕｓｔｍｅｎｔ）アルゴリズム、交互方向乗数法（ＡＤＭＭ）アルゴリズム、画像セグメンテーションアルゴリズム（例えば、エッジ検出、運動検出等）、自己位置推定と環境地図作成（ＳＬＡＭ）アルゴリズム、ディープラーニングニューラルネットワークモデルを含むことができる。
【００６６】
アルゴリズム１２４は、自動運転の期間でリアルタイムで使用されるように、又は、サーバ１０３のその他のモジュール（例えば、ＨＤ地図生成エンジン１２５）に使用されるように、ＡＤＶにアップロードすることができる。一実施態様においては、ＨＤ地図生成エンジン１２５は、ＡＤＶにより収集されたポイントクラウドを登録し、登録されたポイントクラウドに基づいてＨＤ地図を生成することができる。ＨＤ地図生成エンジン１２５は、サーバ１０３の一部として示されているが、幾つかの実施形態においては、エンジン１２５は、サーバ１０４の一部であっても良い。
【００６７】
図３Ａ及び図３Ｂは一実施態様にかかる自動運転車とともに使用される感知・計画システムの例を示すブロック図である。システム３００は、図１の自動運転車１０１の一部として実現されることが可能であり、感知・計画システム１１０と、制御システム１１１と、センサシステム１１５とを備えるが、これに限定されない。図３Ａ〜図３Ｂを参照すると、感知・計画システム１１０は、測位モジュール３０１と、感知モジュール３０２と、予測モジュール３０３と、決定モジュール３０４と、計画モジュール３０５と、制御モジュール３０６と、ルーティングモジュール３０７とを備えるが、これに限定されない。
【００６８】
モジュール３０１〜３０７の一部または全部は、ソフトウェア、ハードウェアまたはそれらの組み合せにより実現されることが可能である。例えば、それらのモジュールは、永続的記憶装置３５２にインストールされて、メモリ３５１にローディングされ、且つ１つまたは複数のプロセッサ（図示せず）により実行されることが可能である。なお、それらのモジュールの一部または全部は、図２の車両制御システム１１１の一部または全部モジュールに対して通信可能に接続され、または集積される。モジュール３０１〜３０７の一部は、集積モジュールに集積されてもよい。
【００６９】
測位モジュール３０１は（例えば、ＧＰＳユニット２１２を使用する）、自動運転車３００の現在位置を特定し、ユーザの行程またはルートに関連する任意のデータを管理する。測位モジュール３０１（地図及びルートモジュールともいう）は、ユーザの行程やルートに関するデータ全体を管理する。ユーザは、例えばユーザインタフェースを介してログインして、行程の開始位置及び目的地を指定する。測位モジュール３０１は、自動運転車３００の地図・ルート情報３１１のような他のモジュールと通信して、行程に関するデータを取得する。例えば、測位モジュール３０１は、位置サーバと地図・ＰＯＩ（ＭＰＯＩ）サーバから位置・ルート情報を取得することが可能である。位置サーバが位置サービスを提供するとともに、ＭＰＯＩサーバが地図サービス及び一部の位置のＰＯＩを提供することにより、地図・ルート情報３１１の一部としてキャッシュされることが可能である。自動運転車３００がルートに沿って移動する際に、測位モジュール３０１は、交通情報システムまたはサーバからリアルタイム交通情報を取得してもよい。
【００７０】
感知モジュール３０２は、センサシステム１１５により提供されるセンサデータ及び測位モジュール３０１により取得される測位情報に基づいて、周囲環境への感知を特定する。感知情報は、通常の運転者がその運転している車両の周囲から感知したものを示す。感知は、例えばオブジェクト式による車線配置、信号機信号、他の車両の相対位置、歩行者、建物、横断歩道や他の交通に関する標識（例えば、止まれ標識、道譲れ標識）などを含むことが可能である。車線構成は、例えば車線の形状（例えば直線または曲率）、車線の幅、道路における車線数、一方通行車線または双方向車線、合流車線または分流車線、出口車線などの１つまたは複数の車線を記述する情報を含む。
【００７１】
感知モジュール３０２は、コンピュータビジョンシステムまたはコンピュータビジョンシステムの機能を含むことが可能であり、１つまたは複数カメラにより撮像された画像を処理して解析することにより、自動運転車環境におけるオブジェクトおよび／または特徴を認識する。前記オブジェクトは、交通信号、道路境界、他の車両、歩行者および／または障害物などを含むことが可能である。コンピュータビジョンシステムは、オブジェクト認識アルゴリズム、ビデオトラッキング及び他のコンピュータビジョン技術を使用することが可能である。一部の実施態様では、コンピュータビジョンシステムは、環境地図の描画、オブジェクトのトラッキングや、及びオブジェクトの速度の推定などを行うことが可能である。感知モジュール３０２は、レーダおよび／またはＬＩＤＡＲのような他のセンサにより提供される他のセンサデータに基づいて、オブジェクトを検出してもよい。
【００７２】
各オブジェクトに対して、予測モジュール３０３は、この場合の前記オブジェクトの挙動を予測する。前記予測は、ある時点で感知される運転環境の感知データに基づいて、地図・ルート情報３１１と交通規則３１２とのゼットに応じて実行される。例えば、オブジェクトが反対方向の車両であり、現在の運転環境が交差点を含むと、予測モジュール３０３は、該車両が前方に直進可能であるか、または旋回可能であるかを予測する。感知データは交差点に信号機がないことを示すと、予測モジュール３０３は、該車両が交差点に進入する前に完全に停車しなければいけない可能性がある、と予測することができる。感知データは該車両が左折専用車線または右折専用車線にあることを示すと、予測モジュール３０３は、それぞれ車両が左折または右折する可能性が高いと予測することができる。
【００７３】
決定モジュール３０４は、オブジェクト毎に対して、どのようにオブジェクトを対処するかを决定する。例えば、特定のオブジェクト（例えば、交差ルートにある他の車両）及びオブジェクトを記述するメタデータ（例えば、速度、方向、操舵角）に対して、決定モジュール３０４は、前記オブジェクトに行き合う時にどうのように動作するか（例えば、追い越し、一時停止、停止、越え）を決定する。決定モジュール３０４は、例えば交通ルールや運転ルール３１２のルール集合に基づいて、そのような决定を行うことが可能であり、前記ルール集合が永続的記憶装置３５２に記憶されることが可能である。
【００７４】
ルーティングモジュール３０７は、開始点から終点までの１つまたは複数のルートや経路を提供するように配置される。例えば、ユーザから受信した開始位置から目的地位置までの所定の行程に対して、ルーティングモジュール３０７は、地図・ルート情報３１１を取得し、開始位置から目的地位置までのすべての可能なルートまたは経路を決定する。決定された開始位置から目的地位置までの各ルートに対して、ルーティングモジュール３０７は、地形図の形態で基準線を生成することができる。基準線は、他の車両、障害物または交通状況などのいかなる干渉もない理想的なルートまたは理想的な経路を示す。即ち、道路には他の車両、歩行者や障害物がないと、ＡＤＶは、精確または密接に基準線に追従すべきである。その後、決定モジュール３０４および／または計画モジュール３０５に地形図を提供してもよい。他のモジュールによって提供される他のデータ（例えば、測位モジュール３０１からの交通状況、感知モジュール３０２によって感知された運転環境および予測モジュール３０３によって予測された交通状況）に基づいて、決定モジュール３０４および／または計画モジュール３０５は、全ての可能な経路をチェックして、そのうちの最適ルートの１つを選択し、修正する。ある時点での特定の運転環境によっては、ＡＤＶを制御するための実際のルートまたは経路は、ルーティングモジュール３０７により提供される基準線に対して近接し、または相違する可能性がある。
【００７５】
感知されたオブジェクト毎に対する决定に基づいて、計画モジュール３０５は、ルーティングモジュール３０７により提供された基準線を基にして、自動運転車に対してルートまたは経路、及び運転パラメータ（例えば、距離、速度および／または旋回角度）を計画する。つまり、所定のオブジェクトに対して、決定モジュール３０４は、当該オブジェクトが何をすべきかを決定する一方、計画モジュール３０５は、どのようにするかを決定する。例えば、所定のオブジェクトに対して、決定モジュール３０４は、前記オブジェクトを越えることを決定することが可能である一方、計画モジュール３０５は、前記オブジェクトの左側か右側かで越えることを決定することが可能である。計画・制御データは、計画モジュール３０５により生成されて、車両３００が次の移動サイクル（例えば、次のルート／経路セグメント）でどのように移動するかを記述する情報を含む。例えば、計画・制御データは、車両３００が３０ｍｐｈの速度で１０メートル移動した後、２５ｍｐｈの速度で右側の車線に変更することを指示可能である。
【００７６】
計画・制御データに基づいて、制御モジュール３０６は、計画・制御データにより限定されるルートまたは経路に応じて、適当な命令または信号を車両制御システム１１１に発信することにより、自動運転車を制御して運転する。前記計画・制御データは、ルートまたは経路に沿って、異なる時点で適当な車両配置または運転パラメータ（例えば、スロットル、ブレーキおよび操舵命令）を使用して車両をルートまたは経路の第１点から第２点に走行させるための充分な情報を含む。
【００７７】
一実施態様では、計画段階が複数の計画周期（運転周期ともいう）で実行され、例えば、１００ミリ秒（ｍｓ）の時間間隔で実行される。各計画周期または運転周期に対して、計画・制御データに基づいて１つまたは複数の制御命令を発行する。即ち、１００ｍｓ毎に、計画モジュール３０５は、次のルートセグメントまたは経路セグメントを計画し、例えば、目標位置、及びＡＤＶがこの目標位置に到達するのに必要な時間を含む。その代わりに、計画モジュール３０５は、具体的な速度、方向および／または操舵角などを規定してもよい。一実施態様では、計画モジュール３０５は、次の所定の期間（例えば、５秒）に対してルートセグメントまたは経路セグメントを計画する。計画周期毎に、計画モジュール３０５は、前の周期で計画した目標位置に基づいて現在周期（例えば、次の５秒）のための目標位置を計画する。そして、制御モジュール３０６は、現在周期の計画・制御データに基づいて１つまたは複数の制御命令（例えばスロットル制御命令、ブレーキ制御命令、操舵制御命令）を生成する。
【００７８】
なお、決定モジュール３０４と計画モジュール３０５とは、集積モジュールに集積されることが可能である。決定モジュール３０４／計画モジュール３０５は、自動運転車の運転経路を決定するために、ナビゲーションシステムまたはナビゲーションシステムの機能を含むことが可能である。例えば、ナビゲーションシステムは、自動運転車が最終目的地への車道に基づく経路に沿って前進すると同時に、感知した障害物を実質的に回避するような経路に沿って、自動運転車が移動することを実現するための一連の速度及び前進方向を決定すること可能である。目的地は、ユーザインタフェースシステム１１３を介したユーザ入力に基づいて設定可能である。ナビゲーションシステムは、自動運転車が運転していると同時に、動的に運転経路を更新することが可能である。ナビゲーションシステムは、ＧＰＳシステム及び１つまたは複数の地図からのデータを合併して、自動運転車用の運転経路を決定することが可能である。
【００７９】
図４は、一実施態様に係るＨＤ地図生成エンジンの例を示すブロック図である。ＨＤ地図生成エンジンは、ポイントクラウドを登録し、ポイントクラウドの登録に基づいてＨＤ地図を生成することができる。図４に示すように、ＨＤ地図生成エンジン１２５は、例えば、ポイントクラウド受信モジュール４０１、ポイントクラウドダウンサンプリングモジュール４０３、ループ（ｌｏｏｐ）情報判定モジュール４０５、区画モジュール４０７、最適化ソルバモジュール４０９、合併モジュール４１１というような複数のモジュールを含んでも良い。なお、これらのモジュールの一部又は全部は、より少ないモジュールに集積されても良く、又は、より多いモジュールに分けても良い。
【００８０】
ポイントクラウド受信モジュール４０１は、ポイントクラウド（例えば、ＡＤＶのＬＩＤＡＲセンサによりキャプチャされたＬＩＤＡＲ画像）及び対応するポーズ（例えば、位置及び向き）を受信することができる。当該例では、ポイントクラウドとは、ＬＩＤＡＲ装置により特定の時点においてキャプチャされた１組のデータポイントを指す。それぞれのデータポイントは、データポイントの位置情報（例えば、ｘ、ｙ及びｚ座標）と関連付けられる。ポイントクラウドダウンサンプリングモジュール４０３（選択可能であっても良い）は、空間又は時間上でポイントクラウドに対してダウンサンプリングすることができる。ループ情報判定モジュール４０５は、地理ループに形成された走行可能領域に対応する１組のポイントクラウドに対してループ閉鎖（ｌｏｏｐ  ｃｌｏｓｕｒｅ）が存在しているか否かを判定する。区画モジュール４０７は、閉合情報又はブロック区画情報に基づいて一つ又は複数の走行可能領域を一つ又は複数の区画に分けることができる。最適化ソルバモジュール４０９は、精確なＨＤ  ＬＩＤＡＲポーズを生成するために、区画に対応するポイントクラウド及びポーズに対し、最適化アルゴリズム（例えば、バンドル調整又はＡＤＭＭアルゴリズムであり、図４のアルゴリズム４１５又は図１のアルゴリズム１２４の一部）を用いることができる。合併モジュール４１１は、複数の区画を合併してＨＤ地図を生成することができる。なお、登録とは、地図を作成すべきの領域のポイントクラウドデータのアライメントである。
【００８１】
図５は、一実施態様に係るＨＤ地図生成システムの例を示すブロック図である。ＨＤ地図生成システム５００は、ＨＤ地図生成の概況を示している。ＨＤ地図生成システム５００は、図１のＨＤ地図生成エンジン１２５の一部であっても良い。図５に示すように、一実施態様においては、ＨＤ地図生成システム５００は、ポイントクラウド登録サブシステム５０１と、ＨＤ地図生成サブシステム５０２とを含む。ポイントクラウド登録サブシステム５０１は、（例えば、ＩＭＵ２１３、ＧＰＳユニット２１２及びＬＩＤＡＲユニット２１５からのそれぞれ）ＩＭＵ信号、ＧＰＳ信号及びＬＩＤＡＲ画像５０３を入力として受信し、受信された入力に基づいてＨＤポーズ５０４を生成することができる（又は、ＬＩＤＡＲ画像５０３に対してポーズをアライメントする）。その後、ＨＤ地図生成サブシステム５０２は、ＬＩＤＡＲ画像５０３及びＨＤポーズ５０４を入力として受信し、これらの入力に基づいてＨＤ地図５０５を生成することができる。
【００８２】
図６は、一実施態様に係るＨＤ地図生成システムに用いられるパイプラインの例を示すブロック図である。パイプライン６００は、ＨＤ地図生成システム（例えば、図５のシステム５００）又はＨＤ地図生成エンジン（例えば、図４のエンジン１２５）に用いられるパイプラインであっても良い。図６に示すように、一実施態様においては、パイプライン６００は、ダウンサンプリングプロセス６０１、分けプロセス６０２、Ｈａｄｏｏｐ及びメッセージ通信インターフェース（ＭＰＩ）並行登録プロセス６０３、ポーズグラフアライメントプロセス６０４及びポーズ調整プロセス６０５を含むが、これらに限定されない。これらの操作６０１〜６０５の中の幾つかは、異なる処理ノードによりシリアル方式、パラレル方式、又はパイプライン方式で実行可能であり、これは、地図生成システムにより配分することができる。異なるプロセスに関する記述は、以下の通りである。
【００８３】
パイプラインの入力として、原始ポイントクラウドであっても良く、それらのポーズは、一つ又は複数のＡＤＶに取り付けられているＬＩＤＡＲセンサによりタスク場面から収集されたものである。通常、入力は、数万又は数十万の最適化すべき又はアライメントすべきのＬＩＤＡＲポーズを含む。パイプライン６００に用いられる入力ポイントの数を最小化させるために、ダウンサンプリングプロセス６０１において、ポーズに対し、空間及び／又は時間上で連続してダウンサンプリングする。
【００８４】
一実施態様においては、プロセス６０１によれば、空間においてポイントクラウドに対してダウンサンプリングすることができる。例えば、プロセス６０１は、空間スライディングウインドウを決定することができる。スライディングウインドウは、所定の半径を有する円形のウインドウであっても良い。その後、プロセス６０１は、空間ウインドウ内の全てのポイントクラウドに対して、更なる処理をすべきの一つのＬＩＤＡＲポイントクラウド及び対応するポーズを識別する。別の実施形態においては、プロセス６０１によれば、更なる処理をすべきと識別されなかった、その他のＬＩＤＡＲポイントクラウド及び対応するポーズに対して、処理を行うことができる。一実施態様においては、関心の空間領域（例えば、スライディングウインドウの中心領域）から一つのＬＩＤＡＲポイントクラウドを識別することができる。
【００８５】
別の実施形態においては、プロセス６０１によれば、ポイントクラウドに対して時間上でダウンサンプリングすることができる。例えば、プロセス６０１において、時間スライディングウインドウを決定し、それぞれの空間スライディングウインドウに対して（例えば、タイムスタンプを使用して）一つの時系列のＬＩＤＡＲポイントクラウドを追跡することができる。その後、プロセス６０１は、それぞれの時系列に対し、一つのＬＩＤＡＲポイントクラウド及びその対応するポーズを識別して、更なる処理を行うことができる。例えば、二つの時系列（即ち、二つの時間クラスタ（ｃｌｕｓｔｅｒ））が存在する場合、プロセス６０１において、二つの時系列のそれぞれに対してポイントクラウド及び対応するポーズを保つ。ＡＤＶが赤信号のところに止まっている場面においては、ポイントクラウドに対して時間上でダウンサンプリングすることが特に役に立つ。この場合、止まったＡＤＶは、一つの時系列のほぼ同じＬＩＤＡＲフレームをキャプチャすることができるが、一つのＬＩＤＡＲポイントクラウドのみが役に立つ。よって、ダウンサンプリングは、当該赤信号に対してキャプチャされた類似するポイントクラウドのあらゆる時系列における複数のＬＩＤＡＲポイントクラウドを識別することはなく、上記１つの時系列に対して一つのＬＩＤＡＲポイントクラウドを識別して、更なる処理を行うことになる。故に、ダウンサンプリングによれば、重複又は類似するポイントクラウドデータの数が低減され、パイプラインの入力データが最適化される。その後、分けプロセス６０２により、ダウンサンプリングされたポイントクラウドを分ける。
【００８６】
一実施形態においては、分けプロセス６０２において、一つ又は複数のコンピュータビジョンアルゴリズム（例えば、エッジ検出及び／又は画像分割アルゴリズム）に基づいてループ閉鎖情報を判定する。例えば、分けプロセス６０２は、コーナー検出（ｃｏｒｎｅｒ  ｄｅｔｅｃｔｉｏｎ）アルゴリズムを用いて特徴又は画像エッジを検出することができる。コーナー検出アルゴリズム（例えば、Ｈａｒｒｉｓコーナー検出器）により、ＬＩＤＡＲ画像（例えば、ポイントクラウド）から特徴を抽出し推理することができる。その後、分けプロセス６０２により、対応するポーズと、検出された特徴及び／又は車両の時間と速度情報の集合（車両の位置を推測することができる）の組み合わせとに基づき、一つ又は複数のループを検出し追跡することができる。別の実施形態においては、道路輪郭又は道路輪郭の特徴に基づいて道路のループ閉鎖を識別する。次に、分けプロセス６０２は、ループ閉鎖情報に基づいて、１組のポイントクラウドがループと対応するポイントクラウドと対応するように、１組又は複数組のポイントクラウドに分ける。
【００８７】
一実施態様においては、検出されたループは、所定の閾値より大きい領域を跨る場合、分けプロセス６０２において、ループ区画に対し空間分けを実施することにより、ループ区画を更に二つ以上のブロック区画に分けることができる。これにより、各区画の計算負荷は、所定の閾値を超えることはない。一実施態様では、ループは、沢山の所定の空間領域に分けられる。その後、分けられたポイントクラウドは、Ｈａｄｏｏｐ及びメッセージ通信インターフェース（ＭＰＩ）プロセス６０３の中のノードクラスタを介し並行登録することができる。
【００８８】
ポイントクラウド登録とは、様々なポイントクラウドを参考ポーズ又は参考ポイントクラウドとアライメントすることである。それぞれのループ区画又はブロック区画に対しては、区画の中のポイントクラウドをアライメントするために、当該区画に対応するポイントクラウドに対して最適化アルゴリズムを用いることによって、これらのポイントクラウドに対するＨＤ  ＬＩＤＡＲポーズを生成する。例えば、プロセス６０３において、１組のポイントクラウドに対し、反復最近接点（ＩＣＰ）アルゴリズムを用いることができる。なお、ＩＣＰは、二つのポイントクラウドの間の差異を最小化するためのアルゴリズムである。ＩＣＰは、通常、異なる走査に基づいて２Ｄ又は３Ｄ表面を再構築するために用いられる。ＩＣＰに対しては、一つのポイントクラウド（例えば、参照）を一定に保ち、その他のポイントクラウドを当該参照に最適にマッチするように変換させる。当該アルゴリズムは、誤差計量（例えば、マッチペア同士の座標の平方差の合計又はその他のポイントクラウドから参考ポイントクラウドまでの距離）を最小化するために必要とする変換（例えば、平行移動及び回転）を反復して補正する。
【００８９】
例えば、対応するＬＩＤＡＲポーズを有するポイントクラウドｉに対しては、変換マトリックス（例えば、Ｒｉ＝（ｔｉ，Ｒｉ）、ただし、ｔｉは、平行移動であり、Ｒｉは、回転変換である）に対応するＬＩＤＡＲポーズ（ｘ、ｙ、ｚ、（ヨー、ピッチ、ロール））は、ポイントクラウドｉを相対座標系（車両に相対する）からユニバーサル横メルカトル（ＵＴＭ）座標系に投影するのに用いられることができる。そして、投影方程式は、以下の式である。
【数１】
2021515254.tif 000003
ただし、ｘｋは、１組のポイントクラウドｉの中の任意のポイントであり、ｔｉは、平行移動であり、Ｒｉは、回転変換である。
【００９０】
それぞれの区画に対しては、プロセス６０３において、ポイントクラウドのポーズに基づいて関連ポイントクラウドペア（又は、フレームペア）を
【数２】
2021515254.tif 000004
として識別し、ただし、
【数３】
2021515254.tif 000005
は、ポイントクラウドｉとポイントクラウドｊのペアを表す。そして、二つのポイントクラウドのペアにおけるポイントを
【数４】
2021515254.tif 000006
に限定することができ、ただし、ｘｋは、ＬＩＤＡＲポイントクラウドインデックスｉの中のポイントであり、ｘｌは、ＬＩＤＡＲポイントクラウドインデックスｊの中のポイントであり、
【数５】
2021515254.tif 000007
は、ポイントペアを表す。そして、以上に基づく最適化すべきのバンドル調整（ＢＡ）式は、以下の通りである。
【数６】
2021515254.tif 000008
【００９１】
上述した等式（Ｐ）は、最適化アルゴリズム（例えば、Ｌｅｖｅｎｂｅｒｇ  Ｍａｒｑｕａｒｄｔ（ＬＭ）アルゴリズム）により解くことができるが、その複雑度は、約Ｏ（ｍ＾３）であり、ただし、ｍは、フレームペアの数である。ＬＭアルゴリズムは、局部の最小値を特定することによって、非線形最小二乗問題を解くものである。一実施態様においては、等式（Ｐ）は、一つ又は複数のサブ問題に細分化され、これらのサブ問題に対して最適化アルゴリズム（例えば、ＡＤＭＭアルゴリズム）を用いて個別に解くことができる。一実施態様においては、ノードクラスタを用いてこれらのサブ問題を並行して解決する。例えば、与えられたフレームペア
【数７】
2021515254.tif 000009
について、ｍ番目のフレームペアのｉ番目のポイントクラウドのポーズ変換マトリックスは、Ｒｉｍであり、ここで、上付き文字は、フレームペアｍのサブセットのインデックスを表し、下付き文字は、１組のポイントクラウドＰの中のポイントクラウドｉのインデックスを表す。そして、並行パイプラインに基づく最適化すべきのバンドル調整（ＢＡ）式は、以下の通りである。
【数８】
2021515254.tif 000010
【００９２】
当該例示においては、ノードクラスタの１つ又は複数のノードにより、最適化アルゴリズムを実行することができ、例えば、それぞれのノードは、一つのフレームペアを処理することができる。一実施態様においては、これらのフレームペアに対応するタイムスタンプに基づいてフレームペアが関連するか否かを判定することができ、例えば、連続するタイムスタンプを有するフレームペア、又は時間の閾値内にあるフレームペアは、関連するフレームペアであると判定してもよい。別の実施形態においては、ループ閉鎖情報に基づいて関連するフレームペアを判定する。例えば、別々のタイムスタンプを有するが、同じ又は類似する位置と一致する二つのフレームは、関連するフレームであると判定しても良い（例えば、ループ閉鎖）。この場合、二つのフレームのポイントクラウドは、ほぼ類似又はマッチすると判定すべきである。それぞれの区画に対してポーズをアライメント又は登録すると、プロセス６０４により、これらの区画を合併することができる。
【００９３】
一実施態様においては、ポーズグラフアライメントプロセス６０４は、ポーズグラフアライメントアルゴリズム（例えば、自己位置推定と環境地図作成（ＳＬＡＭ）アルゴリズム）に基づき、それぞれの区画をより大きい地図区画の中に合併することができる。一実施態様においては、並んだ区画の重なり領域を接続することによって、重なり領域について１組のみの出力を必要とされる。例えば、重なり領域は、二つの領域に共通するルートである場合、１組のみの重なりルートを必要とされる。
【００９４】
一実施態様においては、ポーズ調整プロセス６０５は、これらのポーズを洗練するか、又はＵＴＭ座標系に調整することができる。例えば、前のように、仮に、一つのポーズを、その他のポーズ及びポイントクラウドに対しアライメントするのための参考ポーズとする。プロセス６０５において、最終のポーズ調整を用いて、ＵＴＭ座標系へのマッピングによるトータル誤差を減らすことができる。例えば、プロセス６０５において、最適化アルゴリズムを用いる前後の対応するポーズを比較することによって、ＧＰＳ信頼度について、入力されたＬＩＤＡＲポーズを解析する。最大の信頼度で識別された（複数の）ポーズ（例えば、受信したポーズと計算されたＨＤポーズとの間の差異が閾値より低い）が保たれ、ポーズを調整するために用いらえる。そして、識別されたポーズに基づいて全てのポーズに対して形状保存変換（ｒｉｇｉｄ  ｂｏｄｙ  ｔｒａｎｓｆｏｒｍａｔｉｏｎ）を用いる。形状保存変換は、変換すべきオブジェクトの形状及びサイズを保つ変換である。ここでは、回転変換又は反射変換は、形状保存変換である一方、拡大縮小は、形状保存変換ではない。最後に、調整されたポーズを有するポイントクラウドを用いて高精細度（ＨＤ）３Ｄポイントクラウド地図を生成する。一実施態様においては、３Ｄポイントクラウド地図を、鳥瞰図を有する２Ｄ測位地図に変換することができる。
【００９５】
図７Ａは、一実施態様に係るループ閉鎖を有する地図領域を示す図である。図７Ａに示すように、ループ閉鎖７０１は、一本の道路（例えば、円形）又は二本以上の道路の組み合わせにより形成されたループであっても良い。図７Ａに示すように、ループ閉鎖７０１は、高速道路と道路の組み合わせにより形成されたループであり、高速道路及び道路の両方は、走行可能な道路である。一実施態様においては、ループ閉鎖は、最小の走行可能なループである。ここでは、ループ閉鎖７０１は、長さにおいて伸びてループ閉鎖７０１を通り抜ける沢山のその他の道路セグメントを含む。しかしながら、ループ閉鎖７０１は、ループ閉鎖内のその他の道路を含んでも良く、含まなくても良い。言い換えれば、ループ閉鎖の中のポイントクラウドに用いられるポーズに対してアライメントするのに必要とする計算負荷の閾値に基づき、ループ閉鎖７０１（取得しようとする道路分岐）を識別することができる。一実施態様においては、ループ閉鎖を囲む空間領域の閾値に基づいてループ閉鎖を識別する。
【００９６】
図７Ｂは、一実施態様に係るＬＩＤＡＲ画像の二次元鳥瞰図を示す画像である。図７Ｂに示すように、２Ｄ鳥瞰図は、ＨＤ３Ｄポイントクラウド地図から生成された測位地図の一部であっても良い。ここでは、図７ＢのＬＩＤＡＲ画像の２Ｄ鳥瞰図は、図７Ａの位置７０３のビューに対応することができる。
【００９７】
図８は、一実施態様に係る方法の例を示すフローチャートである。プロセス８００は、ソフトウェア、ハードウェアまたはその組み合わせを含むことができる処理ロジックによって実行することができる。例えば、プロセス８００は、自動運転車の地図生成エンジン（例えば、サーバ１０３のＨＤ地図生成エンジン１２５）により実行することができる。図８に示すように、ブロック８０１においては、処理ロジックは、地図作成すべきの走行可能領域のポイントクラウドをキャプチャするＬＩＤＡＲセンサが配置されているＡＤＶから、第１座標系に対応する複数のポイントクラウド及び対応するポーズを受信する。ブロック８０２においては、処理ロジックは、ポイントクラウドによりキャプチャされた走行可能ループ情報に基づき、これらのポイントクラウド及び対応するポーズを一つ又は複数のループ区画に分ける。ブロック８０３においては、処理ロジックは、各ループ区画について、当該ループ区画に対応するポイントクラウドに対して最適化モデルを用いることで、ポイントクラウドを登録し、ここで、ポイントクラウドを第１座標系から第２座標系に変換することが含まれる。ブロック８０４においては、処理ロジックは、ポーズグラフアルゴリズムを用いて一つ又は複数のループ区画を合併し、ポイントクラウドの合併された区画を用いてＡＤＶの周囲の運転環境を感知する。
【００９８】
一実施態様においては、時間スライディングウインドウに基づいて受信されたポイントクラウドに対して時間上でダウンサンプリングし、所定の空間半径を有する空間ウインドウに基づいて受信されたポイントクラウドに対して空間上でダウンサンプリングする。別の実施形態においては、走行可能ループ情報は、道路輪郭に基づいて走行可能道路ループ閉鎖を識別するループ閉鎖ポイントを含む。
【００９９】
一実施態様においては、ループ区画に用いられる複数のポイントクラウド及び対応するポーズは、所定の空間領域より大きい空間領域を跨る場合、処理ロジックは、ループ区画を所定の空間領域より小さい又は等しい複数のブロック区画に分ける。一実施態様においては、最適化モデルを用いることは、反復最近接点問題を解くことによって、バンドル調整最適化モデルに基づいてループ区画に用いられるポイントクラウドを登録することを含み、ループ区画の各ポイントクラウド及び対応するポーズを相対座標系からＵＴＭ座標系に投影し、ループ区画に対して関連するフレームを配分し、ポーズペアに対して最適化問題を解くことによって、ループ区画に対して投影されたポイントクラウドを登録することが含まれる。
【０１００】
一実施態様においては、交互方向乗数法（ＡＤＭＭ）最適化フレームワークにより、それぞれのループ区画に対する最適化問題を並行して解決する。別の実施形態においては、区画を合併することは、二つ以上のループ区画に用いられる重なりルートを識別し、二つ以上のループ区画に用いられる重なりルートを合併することによって、二つ以上のループ区画を合併することを含む。
【０１０１】
一実施態様においては、処理ロジックは、合併後の区画のポーズに対しポーズ調整アルゴリズムを用いることによって、合併後の区画の特徴間の差異を最小化する。別の実施形態においては、ポーズ調整アルゴリズムを用いることは、合併後の区画のポーズに対し、閾値より高い信頼度を有するポーズに基づいて決められた形状保存変換を用いることを含む。
【０１０２】
図９は、一実施態様に係る自動運転車と共に使用される感知・計画システムの例を示すブロック図である。システム９００は、図１の自動運転車１０１の一部として実装することができ、感知・計画システム１１０、制御システム１１１及びセンサシステム１１５を含むが、これらに限定されない。図３Ａのシステム３００に類似し、システム９００の感知・計画システム１１０は、測位モジュール３０１、感知モジュール３０２、予測モジュール３０３、決定モジュール３０４、計画モジュール３０５、制御モジュール３０６及びルーティングモジュール３０７を含むが、これらに限定されない。また、システム９００は、リアルタイム地図生成モジュール３０８を含む。
【０１０３】
モジュール３０１〜３０８の中の幾つか又は全部は、ソフトウェア、ハードウェアまたはその組み合わせとして実装することができる。例えば、これらのモジュールは、永続的記憶装置３５２にインストールされ、メモリ３５１にロードされ、一つまたは複数のプロセッサ（示さず）によって実行されても良い。これらのモジュールの中の幾つか又は全部は、図２の車両制御システム１１１の幾つか又は全部のモジュールと通信可能的に接続され、又は、一体に集積されることができることに注意すべきである。モジュール３０１〜３０８の中の幾つかは、一体に集積モジュールとして集積されても良い。
【０１０４】
現在、ＡＤＶにより、ＡＤＶに取り付けられている高精細度のＬＩＤＡＲセンサからの大量のポイントにおいてポイントクラウドを受信する。大量のポイントにより大量の計算及びメモリコストが生じてしまうという技術問題が存在している。また、高精細度のＬＩＤＡＲセンサは、視野が限られたために局部のオブジェクトを観測する、又は、異なるＬＩＤＡＲフレームにおいて、視野の中のオブジェクトが他のオブジェクトに阻まれる可能性がある。また、ＳＬＡＭのような技術は、ＳＬＡＭが推定したＨＤポーズにおいて時間経過と共にドリフトする可能性がある。幾つかの実施形態の技術解決案は、計算及びメモリコストを減らし、ＳＬＡＭのドリフトも減らすことができた。
【０１０５】
図１０は、一実施態様に係るリアルタイムＨＤ地図生成モジュールの例を示すブロック図である。リアルタイムＨＤ地図生成モジュールは、ポイントクラウドを登録し、ポイントクラウドの登録に基づいてＨＤ地図をリアルタイムで生成することができる。図１０に示すように、一実施態様においては、リアルタイムＨＤ地図生成モジュール３０８は、受信サブモジュール１００１、セグメント情報抽出サブモジュール１００３、フレーム登録／位置特定サブモジュール１００５、地図生成サブモジュール１００７、特徴情報抽出サブモジュール１００９及びループ閉鎖検出サブモジュール１０１１のような複数のサブモジュールを含んでも良い。受信サブモジュール１００１は、ＡＤＶの一つ又は複数のＬＩＤＡＲセンサからＬＩＤＡＲ画像フレームストリーム（例えば、ポイントクラウドフレームストリーム）を受信することができる。サブモジュール１００１は、ＡＤＶにより配置されたＩＭＵ及びＧＰＳユニットからポーズ情報を受信することもできる。セグメント情報抽出サブモジュール１００３は、それぞれのＬＩＤＡＲ画像フレームから一つ又は複数のセグメントを抽出することができる。フレーム登録／位置特定サブモジュール１００５は、セグメント情報に基づいてフレームを登録、又は位置特定することができる。地図生成サブモジュール１００７は、フレームの登録に基づいてＨＤ３Ｄポイントクラウド地図を生成することができる。特徴情報抽出サブモジュール１００９は、抽出された各セグメントから特徴を抽出することができる。ループ閉鎖検出サブモジュール１０１１は、抽出された特徴に基づいてループ閉鎖を検出することができる。これらのモジュールの中の幾つか又は全部は、必要とする特定の配置に基づき、より少ないモジュールに集積される、又は、より多いモジュールに分けることができる。
【０１０６】
図１１Ａは、一実施態様に係るリアルタイムＨＤ地図生成パイプラインの例を示すフローチャートである。パイプライン１１００は、リアルタイム地図生成モジュール（例えば、図１０のモジュール３０８）により実行されるパイプラインであっても良い。図１１Ａに示すように、一実施態様においては、パイプライン１１００は、セグメント抽出プロセス１１０２、セグメントに基づく登録プロセス１１０３、特徴抽出プロセス１１０４、ループ検出プロセス１１０５及びポイントに基づく登録プロセス１１０７を含むが、これらに限定されない。
【０１０７】
図１１Ａに示すように、一実施態様においては、パイプライン１１００は、ＡＤＶのＬＩＤＡＲセンサから初期フレーム１１０１（例えば、第１ＬＩＤＡＲポイントクラウドフレーム）を受信する。そして、セグメント抽出プロセス１１０２は、受信したフレームからセグメントを抽出する。なお、セグメントとは、ポイントクラウド、スーパーポイント又は顕著画像領域（又は、ボクセル）のクラスタを指し、即ち、それぞれの表面、オブジェクト、輪郭又はオブジェクトの自然部分に対応する領域を指すことである。フレームにおいて検出されたオブジェクトの構造情報を用いてこれらのセグメント又はスーパーポイントオブジェクトを抽出することができる。一実施態様においては、セグメントは、セグメントタイプに分類される。セグメントタイプ又はオブジェクトタイプの例示としては、円柱形のオブジェクト、平らなパッチオブジェクト（ｐａｔｃｈ  ｏｂｊｅｃｔ）であっても良く、又は、特殊の幾何学形状及び空間属性を有する任意の幾何学形状の識別可能オブジェクトであっても良い。ポイントクラウド特徴は、セグメントを抽出するために用いることができ、例えば、ポイントクラウドにより表されたオブジェクトの強度、テクスチャー又は近接度である。セグメント抽出プロセスは、ポイントクラウドに対して複数のアルゴリズム（図９のアルゴリズム／モデル３１３の一部）を用いてセグメントを抽出することができる。例えば、セグメント抽出プロセスは、画像分割アルゴリズム（例えば、エッジ検出、デュアルクラスタリング、領域成長又は分水嶺変換アルゴリズム等）を用いてＬＩＤＡＲフレームからセグメントを抽出することができる。
【０１０８】
抽出したセグメントに基づき、セグメントに基づく登録プロセス１１０３は、それぞれのセグメントタイプからのフレームの限定ポイントセットを用い、ＩＣＰのような最適化アルゴリズム（図９のアルゴリズム／モデル３１３の一部）を用いて、バッフアの中の前の最も近いフレームから、同じセグメントタイプからマッチを探す。初期フレームは、唯一のフレーム（例えば、第１フレーム）であるならば、初期フレームを参考フレームとしても良く、初期フレームに用いられる相応するポーズは、参考ポーズであっても良い。
【０１０９】
一実施態様においては、特徴抽出プロセス１１０４は、現在のフレームの各セグメントから特徴又は特徴表示を抽出し、ループ検出プロセス１１０５は、抽出された特徴を前のフレームの特徴と比較する。特徴を抽出することは、次元削減のプロセスであり、初期設定されたセグメントは、処理のために、１組の特徴に簡略化されるとともに、オリジナルなセグメントを精確で且つ完全に記述する。特徴の例としては、セグメント（例えば、パターン）の滑らかさ、線形性及びポイントの連続性を含む。当該比較の結果、所定の閾値（例えば、数又はパーセント）より高い複数のマッチ特徴が得られる場合、ループ閉鎖が検出されることになる。ここでは、前の視野と異なり、オブジェクトは、現在の視野において阻まれる又は部分的に見える可能性があるため、セグメントに対して比較することではなく、特徴に対して比較するようにする。一実施態様においては、特徴は、固有値に基づく特徴を含む。固有値に基づく特徴は、線形、平らさ、散乱、全分散（例えば、体積ポイント分布の特徴）等の特徴を含んでも良い。
【０１１０】
一実施態様においては、抽出されたセグメントは、ターゲット地図に記憶することができ、セグメント又はセグメント情報は、セグメントの特徴を抽出するために用いられることができる。別の実施形態においては、プロセス１１０５は、最近傍検索、教師なし機械学習アルゴリズムのような機械学習アルゴリズム（図９のアルゴリズム／モデル３１３の一部）を用いて二つのセグメントがマッチするか否かを判定することができる。マッチするセグメントを候補セグメントペアとする。これらの候補セグメントペアに基づき、幾何学的一貫性推定アルゴリズムを用いてこれらのセグメント間の変換（例えば、変換マトリックス）を決定することができる。
【０１１１】
その後、変換マトリックスを用いて検出されたループ閉鎖の確実性を検証することができる。別の実施形態においては、機械学習モデル（例えば、ディープラーニングニューラルネットワーク）を用いて現在のフレームと先に受信した任意のフレームとの間に特徴マッチが存在するか否かを判定することができる。例示するディープラーニングニューラルネットワークは、図１２の多層パーセプトロン（（ＭＬＰ）１２００であり、三層が含まれる。入力層は、現在のフレーム及び前のフレームから抽出された特徴を受信し、非表示層は、各入力を出力層に接続し、出力層は、セグメントマッチの確率を示す確率出力インジケーターを有する。図１２のＭＬＰ１２００は、入力層及び非表示層の中の四つの入力ノード及び四つの非表示ノードのそれぞれのみを示しているが、任意の数のノードであっても良い。
【０１１２】
なお、機械学習モデルは、ニューラルネットワーク（完全接続、局部接続又はその組み合わせ）、サポートベクターマシン（ＳＶＭ）、線形回帰、ｋ近傍、ナイーブベイズ、ｋ平均及びランダムフォレストモデルを含むが、これらに限定されない。ニューラルネットワークは、機械学習モデルであり、特定のタスクのルールでプログラミングすることをせずに、実例（例えば、入力／出力場面を用いて訓練する）を考慮することで、タスクを実行するように学習することができる。ニューラルネットワークは、一連の非表示層又は内層の中のニューラルユニット又はニューロンの大きの集合に基づく計算方法である。それぞれの非表示層は、１組のニューロンからなり、なお、それぞれのニューロンは、前にある層の中の一つ又は複数のニューロンに接続し、一つの層の中のニューロンは、完全に独立して働くことができ、当該層のその他のニューロンと如何なる接続も共用しなくても良い。ニューラルネットワークは、自主学習及び訓練するものであり、明確にプログラミングするものではない。
【０１１３】
図１１Ａに示すように、プロセス１１０６において、前記ストリームのために処理されるその他のフレームが存在するか否かを判定し、存在の場合、プロセス１１０６は、プロセス１１０２に移行し、存在しない場合、プロセス１１０６は、プロセス１１０７に入る。プロセス１１０７は、当該ストリームの中の連続フレームのポイントクラウドに基づいて従来のＩＣＰアルゴリズムを用いることによって、フレームストリームのポイントクラウド登録を実行する。ここでは、初期段階においては、フレームツーフレーム（ｆｒａｍｅ−ｔｏ−ｆｒａｍｅ）で、当該ストリームのフレームに対し、プロセス１１０２〜プロセス１１０５を反復して実行することができる。
【０１１４】
図１１Ｂは、一実施態様に係るループ閉鎖の測位の例を示すフローチャートである。図１１Ａのループ検出プロセス１１０５により操作１１１０を実行することができる。図１１Ｂに示すように、ループ閉鎖１１１１が検出されると、ターゲット地図又はセグメント地図生成プロセス１１１２は、前にループのフレームに対して抽出されたセグメントに基づいてターゲット地図を生成することができる。ターゲット地図又はセグメント地図は、フレームのセグメントのリストを記憶しているデータベース、構造又はクラスオブジェクトであっても良い。これらのセグメントは、セグメントに対応する複数のポイントとして記憶することができる。図１３は、一実施態様に係るターゲット地図の例を示している。図１１Ｂに戻り、ターゲット地図及び図１１Ａのプロセス１１０４により実行された前の登録結果に基づき、プロセス１１１３は、初期ポーズに対して最良候補ポーズを検索することによって、初期ポーズを更新する。一実施態様においては、更新された初期ポーズに基づき、プロセス１１１３は、初期ポーズ及び登録結果に対し、反復法を用いることによって、ＳＬＡＭによるドリフトを減らすために登録結果に用いられるべき変換を決定する。この場合、ループ閉鎖は、初期ポーズの位置及び方向に対して第２指示を提供したので、ＳＬＡＭのドリフトを減らすことができる。反復法の例としては、ランダムサンプルコンセンサス（ＲＡＮＳＡＣ）であっても良い。ＲＡＮＳＡＣは、反復法の一つであり、外れ値データポイントを含む１組の観測データに基づいてモデルを近似することに用いられ、この場合、近似すべきモデルに影響を与えない外れ値データポイントを付与すべきである。ポイントクラウドを登録すると、登録結果を用いてＨＤポイントクラウド地図を生成することができる。
【０１１５】
図１４は、一実施態様に係る方法の例を示すフローチャートである。プロセス１４００は、ソフトウェア、ハードウェア又はその組み合わせを含む処理ロジックにより実行することができる。例えば、プロセス１４００は、自動運転車の地図生成モジュール（例えば、図９のリアルタイム地図生成モジュール３０８）により実行することができる。図１４に示すように、ブロック１４０１においては、処理ロジックは、ＡＤＶの一つ又は複数のＬＩＤＡＲセンサからポイントクラウドのフレームストリームをリアルタイムで受信するとともに、対応するポーズをリアルタイムで受信する。ブロック１４０２においては、処理ロジックは、フレームストリームの各フレームの中のポイントの幾何学形状又は空間属性に基づいて前記フレームのセグメント情報を抽出し、なお、セグメント情報は、第１ポーズに対応する少なくとも第１フレームの一つ又は複数のセグメントを含む。ブロック１４０３においては、処理ロジックは、セグメント情報に基づいてフレームストリームを登録する。ブロック１４０４においては、処理ロジックは、フレームの登録に基づいてフレームストリームから第１ポイントクラウド地図を生成する。
【０１１６】
一実施態様においては、処理ロジックは、各フレームの各セグメントから一つ又は複数の特徴を抽出し、第１フレーム及び第２フレームからの特徴が含まれる。処理ロジックは、抽出された第１フレーム及び第２フレームの特徴に基づいて第１フレームと第２フレームの間のループ閉鎖を検出する。第１フレームと第２フレームの間のループ閉鎖が検出されたことに応答し、処理ロジックは、フレームの登録に基づいて第２フレームを位置特定し、位置特定及びフレームの登録に基づいて第１ポーズを更新することによって、第２ポイントクラウド地図を生成する。
【０１１７】
別の実施形態においては、第１フレームと第２フレームの間のループ閉鎖を検出することは、第１フレーム及び第２フレームのセグメントの特徴に対して教師なし機械学習アルゴリズムを用いて二つのセグメントがマッチするか否かを判定することを含む。別の実施形態においては、第１フレームと第２フレームの間のループ閉鎖を検出することは、第１フレームと第２フレームに対してＲＡＮＳＡＣアルゴリズムを用いて二つのセグメントがマッチするか否かを判定することを更に含む。別の実施形態においては、教師なし機械学習アルゴリズムは、最近傍検索を含む。
【０１１８】
別の実施形態においては、フレームツーフレームで、各フレームの各セグメントから特徴をリアルタイムで抽出し、第２フレームは、現在のフレームを含む。別の実施形態においては、フレーム毎にフレームストリームをリアルタイムで登録する。
【０１１９】
一実施態様においては、フレームのセグメント情報を抽出することは、フレームに対して画像分割アルゴリズムを用いることで、フレームに用いられる一つ又は複数のセグメントを抽出し、フレームに用いられる一つ又は複数のセグメントを記憶するためのセグメント地図を生成することを含む。一実施態様においては、セグメント情報は、円柱体のオブジェクト、一つ又は複数の平らなパッチオブジェクト（ｐａｔｃｈ  ｏｂｊｅｃｔ）、又は一つ又は複数の滑らかな表面オブジェクトの一つ又は複数のセグメントを含む。
【０１２０】
一実施態様においては、セグメント情報に基づいてフレームストリームを登録することは、セグメント情報に基づいて前のフレーム及び後続フレームの複数のセグメントを識別し、複数のセグメントに対応する複数のポイントを識別し、複数のポイントに対して反復最近接点（ＩＣＰ）アルゴリズムを用いてフレーム登録用の複数のポイントの中の最も近いポイントの間の距離を最小化することを含む。
【０１２１】
一実施態様においては、処理ロジックは、前記ストリームの中の各フレームのポイントに対して反復最近接点（ＩＣＰ）アルゴリズムを用いてフレームストリームを登録する。一実施態様においては、特徴は、セグメントに用いられる線形、平らさ、散乱及び／又は全分散の情報を含む。一実施態様においては、特徴は、固有値に基づく一つ又は複数の特徴を含む。
【０１２２】
図１５は、一実施態様に係る自動運転車と共に使用される感知・計画システムの例を示すブロック図である。システム１５００は、図１の自動運転車１０１の一部として実装することができ、感知・計画システム１１０、制御システム１１１及びセンサシステム１１５を含むが、これらに限定されない。図３Ａのシステム３００に類似し、システム１５００の感知・計画システム１１０は、測位モジュール３０１、感知モジュール３０２、予測モジュール３０３、決定モジュール３０４、計画モジュール３０５、制御モジュール３０６及びルーティングモジュール３０７を含むが、これらに限定されない。また、システム１５００は、ＲＧＢポイントクラウドモジュール３０９を含む。
【０１２３】
モジュール３０１〜３０９の中の幾つかまたは全部は、ソフトウェア、ハードウェアまたはその組み合わせとして実装することができる。例えば、これらのモジュールは、永続的記憶装置３５２にインストールされ、メモリ３５１にロードされ、一つまたは複数のプロセッサ（示さず）によって実行されても良い。これらのモジュールの中の幾つかまたは全部は、図２の車両制御システム１１１の幾つかまたは全部のモジュールと通信可能的に接続され、または一体に集積されることができることに注意すべきである。モジュール３０１〜３０９の中の幾つかは、一体に集積モジュールとして集積されても良い。
【０１２４】
ポイントクラウド及びＡＤＶの画像装置によりキャプチャされたＲＧＢ画像を用いる方法で付加情報（例えば、色）をポイントクラウドに加える。例えば、ＲＧＢ画像により、ＬＩＤＡＲセンサによりキャプチャできない環境の状況情報及び色情報を観測することができる。よって、特にＬＩＤＡＲポイントクラウド画像（例えば、灌木を有する道路（例えば、ＬＩＤＡＲ画像を用いて区別することが不可能な空間特徴））だけを用いて区別しにくい環境に対して、ＲＧＢ画像及びポイントクラウドを集積することで、地図生成の精確度を高めることができる。
【０１２５】
図１６は、一実施態様に係るＲＧＢポイントクラウドモジュールの例を示すブロック図である。ＲＧＢポイントクラウドモジュールは、ＲＧＢ画像をポイントクラウド画像と集積／同期させることによって、特徴に基づくＨＤ地図生成のためのＲＧＢ／ポイントクラウド特徴を生成することができる。図１６に示すように、一実施態様においては、ＲＧＢポイントクラウドモジュール３０９は、例えば、受信サブモジュール１６０１、同期サブモジュール１６０３、特徴抽出サブモジュール１６０５、登録サブモジュール１６０７及び地図生成サブモジュール１６０７というような複数のサブモジュールを含んでも良い。受信サブモジュール１６０１は、ＡＤＶの一つ又は複数のＬＩＤＡＲセンサから複数のＬＩＤＡＲポイントクラウド画像又はフレームを受信することができる。受信サブモジュールは、ＡＤＶに取り付けられている画像キャプチャ装置から大量のＲＧＢ画像又はフレームを受信することもできる。同期サブモジュール１６０３は、これらの画像がキャプチャされた時のタイムスタンプに基づいてポイントクラウドをＲＧＢ画像と同期させることができる。
【０１２６】
特徴抽出サブモジュール１６０５は、ＲＧＢポイントクラウドから特徴ベクトルを抽出することができる。特徴ベクトルは、フレームに用いられるポイントクラウド及びＲＧＢ画像の特徴を含んでも良い。登録モジュールは、ＲＧＢ／ポイントクラウド特徴に基づいてポイントクラウドを登録することができる。別の実施形態においては、登録サブモジュール１６０７は、最適化アルゴリズムを用いてポイントクラウドを登録することができ、前記最適化アルゴリズムは、ＲＧＢ情報を有し、前記ＲＧＢ情報は、ポイントクラウドと共に最適化アルゴリズムのコスト関数に集積される。地図生成サブモジュール１６０７は、これらの登録に基づいて地図を生成することができる。ＲＧＢポイントクラウドモジュール３０９は、ＡＤＶの感知・計画システム１１０の一部とされているが、ＲＧＢポイントクラウドモジュール３０９は、図１のサーバ１０３のＨＤ地図生成エンジン１２５の一部であっても良く、及び／又は、一体に集積されても良い。これらのモジュールの幾つか又は全部は、特定のアプリケーションによって、より少ないモジュールに集積されても良く、より多いモジュールに分けても良い。
【０１２７】
画像キャプチャ装置（例えば、カメラ）によりキャプチャされた画像は、ＬＩＤＡＲセンサのキャプチャ周波数と異なる周波数にあっても良いので、第１操作は、ＲＧＢ画像を適切なポイントクラウドと同期させることである。同期は、物理的な同期を含んでも良い。物理的な同期は、次のことを含んでも良い。カメラセンサは、同期すべきＬＩＤＡＲセンサユニットの立体ビューと同じ又はほぼ類似するビューをキャプチャするように、ある物理的な位置に設置されてもよく、例えば、パノラマカメラセット（例えば、複数のカメラからなる）は、ＬＩＤＡＲセンサユニットに対応するビューを有するＲＧＢ画像をキャプチャできるように、回転するＬＩＤＡＲセンサユニットに取り付けられてもよい。
【０１２８】
同様に、フラッシュＬＩＤＡＲセンサに対しては、立体ビューカメラは、フラッシュＬＩＤＡＲユニットの近くに取り付けてＲＧＢ画像をキャプチャすることができ、フラッシュＬＩＤＡＲセンサユニットのビューに対応する立体ビューを有する。別の実施形態においては、ＬＩＤＡＲセンサユニットとカメラ設置は、オフラインでキャリブレートされる。別の実施形態においては、同期は、タイムスタンプを用いて時間同期を行うことを含んでも良く、例えば、ＲＧＢフレームを正しいポイントクラウドとマッチする。例えば、時間情報提供装置によるタイムスタンプは、ＬＩＤＡＲユニットが画像フレームをキャプチャする際に画像フレームと関連することができる。一実施態様においては、タイムスタンプは、ミリ秒の精確度の閾値を有する。
【０１２９】
同様に、カメラユニットは、画像フレームをキャプチャすることができ、時間情報提供装置は、キャプチャ時間を用いて画像フレームに対してタイムスタンプを付けることができる。時間情報提供装置は、ＬＩＤＡＲと画像キャプチャ装置とに共有されることができる。一実施態様においては、時間情報提供装置は、コンピュータシステムのＣＰＵにより提供されたローカルリアルタイムクロック（ＲＴＣ）である。別の実施形態においては、時間情報提供装置は、ネットワークを通じて外部ソース（例えば、時間サーバからの原子時計）と周期的に同期させられる。別の実施形態においては、時間情報提供装置は、ＧＰＳ信号と同期させられる。
【０１３０】
ポイントクラウドとＲＧＢは、何れもタイムスタンプと関連するので、異なる周波数で受信するポイントクラウドとＲＧＢ画像は、アライメントすることができる。例えば、５ヘルツ〜２０ヘルツでポイントクラウドをキャプチャし、且つ、約６０ヘルツでＲＧＢ画像をキャプチャする場合、各ポイントクラウドフレームは、そのタイムスタンプに基づいてＲＧＢ画像と関連付けることができる。当該例示においては、ポイントクラウド画像のタイムスタンプと最も近いタイムスタンプを有するＲＧＢ画像を識別することによって、各ポイントクラウドを少なくとも１つのＲＧＢ画像と関連付けることができる。関連付けられないＲＧＢ画像は、ポイントクラウドとの集積／同期に用いられることが考慮されず、捨てられても良い。一実施態様においては、ＲＧＢ画像のタイムスタンプは、対応するポイントクラウド画像の時間閾値内にあれば、何れのＲＧＢ画像でも、当該ポイントクラウドと関連することができる。別の実施形態においては、ＲＧＢ画像キャプチャ周波数は、対応するポイントクラウドキャプチャ周波数より低くなる場合、受信したポイントクラウドフレームの中の幾つかは、ＲＧＢ画像と同期しない可能性がある。この場合、ＲＧＢポイントクラウドは、後方互換であり、即ち、特徴の抽出に影響を与えず、その特徴の抽出においてＲＧＢ情報しかを考慮しない。別の一実施態様においては、画像キャプチャ装置のＲＧＢ画像キャプチャ周波数を調整することによって、ＬＩＤＡＲセンサユニットと類似する周波数で画像をキャプチャすることができる。
【０１３１】
ＲＧＢ画像フレームとポイントクラウドフレームとが同期すると、ＬＩＤＡＲフレームの対応するポイントは、ＲＧＢ画像からの一つ又は複数の画素と同期することになる。図１７は、一実施態様に係るＲＧＢポイントクラウド同期の例を示すブロック図である。図１７に示すように、図１７００は、複数の画素を有するＲＧＢ画像に重ねた複数のポイントクラウド（１７０１〜１７０９）を示している。ＬＩＤＡＲ画像と比較した場合のＲＧＢ画像の解像度（又は、画素の密度）により、空間的近接性に基づいてポイントクラウドのポイントを一つのＲＧＢ画素又はＲＧＢ画素のクラスタにマッピングすることができる。例えば、ＲＧＢの色の特徴により、ポイント１７０１は、画素１７１１（星形状）にマッピングされても良く、又は、ポイント１７０３は、画素１７１３（五点形）にマッピングされても良い。別の例示においては、ポイントクラウドとＲＧＢの間の解像度の差異に基づき、ポイント１７０５を単独の画素１７１５にマッピングする、又は、ポイント１７０７を画素１７１７（方形状）にマッピングする又は任意の形状の画素１７１９にマッピングすることができる。
【０１３２】
一実施態様においては、ポイントクラウドのポイントと関連可能なＲＧＢ画像に対して、特徴抽出サブモジュール（例えば、図１６の特徴抽出サブモジュール１６０５）は、ＲＧＢ画素から状況及び位置情報を表す特徴を抽出することができ、下層のポイントクラウドから空間分布及び幾何学特徴を描く情報を抽出することもできる。上述した内容と同様に、例えば、ａのような沢山のアルゴリズムを用いて特徴を抽出することができる。空間分布の例示は、各３Ｄ特徴に関する確率分布を含む。そして、この二種類のタイプの特徴を、直列させることによって、ＲＧＢポイントクラウドに用いられる特徴ベクトルを生成することができる。状況特徴は、例示として、少なくとも色パターン及びこれらの色パターンの複雑度を含むことで、あるＬＩＤＡＲフレームからその次のＬＩＤＡＲフレームまでの、同じ状況の二つのオブジェクトは、これらのオブジェクトが関連性を有することを示す確率が高くなる（例えば、それらは、二つの異なるフレームからの同じオブジェクトである）。位置情報の例示は、少なくとも隣接点の近接情報を含む。例えば、一つの特徴（例えば、エッジ）と抽出されたもう一つの特徴（例えば、もう一つのエッジ）間は、大きな距離で間隔を空ける場合、それらは、異なると見なされる。
【０１３３】
一実施態様においては、生成された特徴ベクトルを用いてポイントクラウドに対して特徴に基づく登録を実行することができる。例えば、ＲＧＢポイントクラウドのサブセット（例えば、特徴ベクトルのサブセット）に対して、ＲＧＢコスト成分を有するＩＣＰアルゴリズムを用いることによって、候補点マッチ用のＲＧＢポイントクラウドを最適化し、ポイントクラウド用のＨＤポーズを生成する。特徴に基づく登録結果を用いてポイントクラウド地図を生成することができる。別の実施形態においては、特徴に対してＲＡＮＳＡＣアルゴリズムのような発見的アルゴリズム（図１５のアルゴリズム／モデル３１３の一部である）を用いることによって、特徴に基づいて登録を行うことができる。ここでは、大量の外れ値特徴（例えば、それは、登録用のマッチするペアの特徴を有しない）が存在しても、ＲＡＮＳＡＣアルゴリズムによれり、ポイントクラウドを登録することができる。
【０１３４】
別の実施形態においては、ＲＧＢポイントクラウドに対してＲＧＢポイントに基づく第２登録を実行することができる。ここでは、全てのＲＧＢポイントクラウドに対してＲＧＢコスト成分を有するＩＣＰアルゴリズムを用いることによって、候補点マッチ用のポイントクラウドを最適化し、ＨＤポーズを生成する。例えば、コスト成分により、画素のＲＧＢ色情報の平均値を合併することによって、最小化をすることができる。別の実施形態においては、四つのチャンネル（Ｒ、Ｇ、Ｂ及び奥行き）情報（例えば、三つのチャンネルは、ＲＧＢコンポーネントである）を有するＲＧＢポイントクラウドに対して最適化をすることができる。そして、ＲＧＢポイントに基づく登録結果を用いてポイントクラウド地図を生成することができる。
【０１３５】
図１８は、一実施態様に係る方法の例を示すフローチャートである。プロセス１８００は、ソフトウェア、ハードウェア又はその組み合わせを含む処理ロジックにより実行することができる。例えば、プロセス１８００は、ＲＧＢポイントクラウドモジュールにより実行することができ、例えば、図１６のＲＧＢポイントクラウドモジュール３０９により実行することができる。図１８に示すように、ブロック１８０１においては、処理ロジックは、ＡＤＶの一つ又は複数のＬＩＤＡＲセンサによりキャプチャされた複数のポイントクラウド及び相応するポーズを受信する。ブロック１８０２においては、処理ロジックは、ＡＤＶの一つ又は複数の画像キャプチャセンサから複数のＲＧＢ画像を受信する。ブロック１８０３においては、処理ロジックは、ＲＧＢ画像をポイントクラウドと同期させることによって、ＲＧＢポイントクラウドを得る。ブロック１８０４においては、処理ロジックは、ＲＧＢポイントクラウドからＲＧＢポイントクラウドの状況情報及び空間情報を含む特徴を抽出する。ブロック１８０５においては、処理ロジックは、抽出された特徴に基づいてＲＧＢポイントクラウドを登録する。ブロック１８０６においては、処理ロジックは、ＲＧＢポイントクラウドの登録に基づいてポイントクラウド地図を生成する。
【０１３６】
一実施態様においては、ＲＧＢ画像をポイントクラウドと同期させることによって、ＲＧＢポイントクラウドを得ることは、各ポイントクラウドに対して当該ポイントクラウドのタイムスタンプを決定し、複数のＲＧＢ画像からポイントクラウドのタイムスタンプの時間閾値内にあるタイムスタンプを有するＲＧＢ画像を特定し、一つ又は複数の画素をポイントクラウドの一つ又は複数のポイントと関連付けることによって、ＲＧＢ画像とポイントクラウドを関連付けることを含む。別の実施形態においては、ＲＧＢポイントクラウドから特徴を抽出することは、ＲＧＢ画像と関連するポイントクラウドの両方からの状況情報及び空間情報に基づいて特徴を抽出することを含む。
【０１３７】
一実施態様においては、状況情報は、特徴の色彩パターン及び色彩パターンの複雑度を含み、空間情報は、これらの特徴のポイントの位置に関する情報を含む。一実施態様においては、抽出された特徴に基づいてポイントクラウドを登録することは、複数のポイントクラウドに対して最適化アルゴリズムを用いることを含む。一実施態様においては、最適化アルゴリズムは、反復最近接点（ＩＣＰ）アルゴリズムを含む。
【０１３８】
一実施態様においては、処理ロジックは、ＲＡＮＳＡＣアルゴリズムを、抽出された特徴に対し用いることで、外れ値特徴に対し用いる。一実施態様においては、処理ロジックは、ＲＧＢポイントクラウドに基づいてポイントクラウドを登録することによって、ポイントに基づいて登録を行う。一実施態様においては、ポイントに基づいて登録を行うことは、登録されたポイントクラウドに対してＲＧＢに基づくＩＣＰアルゴリズムを用いることを含み、なお、ＲＧＢ情報は、ＩＣＰアルゴリズムのコスト関数に集積される。
【０１３９】
図１９は、本願の幾つかの実施態様に係る自動運転車のネットワーク配置を示すブロック図である。図１９に示すように、ネットワーク配置１９００は、ネットワーク１０２を通じて一つまたは複数のサーバ１０３〜１０４に通信可能に接続する自動運転車１０１を含む。図１に類似するように、サーバ１０３〜１０４は、任意のタイプのサーバ又はサーバクラスタであっても良く、例えば、ネットワークまたはクラウドサーバ、アプリケーションサーバ、バックエンドサーバまたはその組み合わせであっても良い。サーバ１０３〜１０４は、データ解析サーバ、コンテンツサーバ、交通情報サーバ、地図・関心地点（ＭＰＯＩ）サーバまたは位置サーバ等であっても良い。一実施形態においては、サーバ１０３は、地図区画エンジン１２６を含む。また、アルゴリズム／モデル１２４は、道路標示及び縁石ポイントを抽出する複数のアルゴリズム／モデルを含んでも良い。エンジン１２６は、地図サーバ１０４により提供された地図（又は、ＨＤ地図生成エンジン１２５により生成する地図）において使用される際、抽出された道路標示及び縁石ポイントに基づいて当該地図を一つ又は複数の部分に分けるようにする。
【０１４０】
自動運転期間においてＡＤＶがリアルタイムで用いるために、地図を部分ごとにＡＤＶにアップロードすることができる。エンジン１２６は、サーバ１０３の一部として示されているが、幾つかの実施形態においては、エンジン１２６は、サーバ１０４の一部であっても良い。別の実施形態においては、エンジン１２６は、ＡＤＶ１０１の一部であっても良く、例えば、図３Ａの感知・計画システム１１０の一部である。例えば、地図は、ＡＤＶによりリアルタイムで生成することができ、地図区画エンジン（例えば、エンジン１２６）は、地図をＡＤＶ１０１から部分ごとにサーバ１０３／１０４にアップロードする部分に分けることができる。
【０１４１】
図２０は、一実施態様に係る地図区画エンジンの例を示すブロック図である。地図区画エンジン１２６は、地図の道路及び縁石を抽出し、前記抽出に基づいて地図を分けることができる。図２０に示すように、一実施態様においては、地図区画エンジン１２６は、道路識別装置モジュール２００１、道路標示抽出モジュール２００３、縁石特徴抽出モジュール２００５、ラベラーモジュール２００７、曲線生成モジュール２００９及び区画モジュール２０１１のような複数のモジュールを含んでも良い。
【０１４２】
道路識別装置モジュール２００１は、ポイントクラウド地図内の道路を識別することができる。道路標示抽出モジュール２００３は、識別された道路から道路標示を抽出することができる。縁石特徴抽出モジュール２００５は、識別された道路に対して縁石特徴を抽出することができる。ラベラーモジュール２００７は、縁石特徴と関連する縁石ポイントをラベリングすることができる。曲線生成モジュール２００９は、縁石ポイントを表す曲線を生成することができる。区画モジュール２０１１は、識別された道路標示及び縁石曲線に基づいて地図を分けることができる。
【０１４３】
図２１は、一実施態様に係る道路標示抽出の例を示すフローチャートである。フローチャート２１００は、図２０の道路識別装置モジュール２００１及び／又は道路標示抽出モジュール２００３により実行することができる。一実施態様においては、道路ポイントクラウドを識別する前に、地図グローバル静的ポイントクラウド地図（ＧＳＰＣＭ）生成プロセスによりポイントクラウドに対して処理を行う。生成プロセスは、地図の生成のために、任意の動的オブジェクトを除去し、例えば、地図の生成のために、静的オブジェクトだけを残す。異なる時間において地理的場所を少なくとも二回キャプチャすることによって、動的オブジェクトを検出することができる。そして、画像分割アルゴリズムを用いて静的オブジェクト及び動的オブジェクトを識別することができる。二回の再訪において変化が生じた特徴を有する画像セグメントは、動的オブジェクトとして標示されるので、地図の生成のために、除去される。その後、地図生成プロセスにおいて、グローバルリアル世界地図を生成することができ、例えば、ＧＰＳ装置が使用する地図と類似する地図である。一実施態様においては、地図生成は、静的フレームポイントに対して変換を用いてＧＳＰＣＭを得る。その後、路面ポイント及び道路標示を抽出する前に、ＧＳＰＣＭをポイントクラウドの二次元（２Ｄ）グリッド（又は、ブロック）に分けることができる。例示変換は、次のように表すことができる。
【数９】
2021515254.tif 000011
ただし、Ｔｉは、第ｉフレーム変換マトリックスを表し、Ｐｔｉｊは、第ｉフレームの第ｊポイントを表し、Ｍは、第ｉフレームに用いられるポイントの数を表し、Ｎは、ポイントクラウドフレームの総数である。
【０１４４】
図２１に示すように、一実施態様においては、フローチャート２１００は、ポイントクラウド２１０１を受信する。ポイントクラウド２１０１は、ＧＳＰＣＭの２Ｄグリッドからのポイントクラウドのブロックであっても良い。そして、プロセス２１０３は、ポイントクラウド２１０１から地面ポイントを抽出する。一実施態様においては、ポイントクラウド２１０１からのポイントの高さ情報に基づいて地面ポイントの抽出を実行することができる。例えば、プロセス２１０３は、ポイントクラウドから最小の高さを有する単一ポイントを識別することができる。その後、識別された最小の高さの所定の閾値内の高さを有するポイントを地面ポイントとして識別する。別の実施形態においては、車両の付近の地面画素の平均高さを確定する。そして、地面ポイントは、当該平均高さの所定の閾値内にあると確定される。
【０１４５】
幾つかの実施形態においては、識別された地面ポイントに基づいて、ポイントクラウドに対し例えばＲＡＮＳＡＣのような近似アルゴリズムを用いることによって、平らなオブジェクト又は平面（例えば、路面）を識別する。ＲＡＮＳＡＣは、外れ値ポイントを除去するのに役立つ。ＲＡＮＳＡＣのような近似アルゴリズムを反復して実行し、毎回近似の後に外れ値ポイントを捨て、残ったポイントに対して再び近似アルゴリズムを用いて一つ又は複数の平面を可能な地平面として得ることができる。その後、法線方向がＺ軸（ポイントクラウドをキャプチャするＬＩＤＡＲセンサユニットの垂直軸線）に平行で且つ最も大きい面積を有する単一平面を表すポイントを、路面ポイントとすることができる。
【０１４６】
路面ポイントに基づき、一実施態様においては、プロセス２１０５は、路面ポイントから
【数１０】
2021515254.tif 000012
を計算する。強度勾配とは、画像の強度値（例えば、画像の中の任意の二つの最も接近するポイント）の方向変化である。一実施態様においては、強度勾配を計算することは、路面ポイントに対してメディアンフィルタのようなフィルタを用いることを含む。メディアンフィルタ又はメディアン強度フィルタは、ポイントクラウド画像からノイズを除去することによって、画像の勾配をより良く強調するのに用いられるフィルタである。路面ポイントに対してメディアンフィルタを用いることによって、路面ポイントから塩強度ノイズ及び胡椒強度ノイズを除去することができる。例示的なメディアンフィルタは、以下のアルゴリズムを用いることができる。１）各ポイントに対し、当該ポイント周囲の所定サイズの隣接領域内にある隣接ポイントを識別する。前記隣接ポイントは、２Ｄ又は３Ｄ又は任意の次元のＫＤツリーを用いて識別することができる。２）それらの強度値に基づいて識別された隣接ポイントに対してソートする。３）そして、上述した強度値に基づくソート結果に基づいて当該ポイントに対してメディアン強度値を配分する。
【０１４７】
一実施態様においては、強度勾配を計算することは、各ポイント及びその隣接ポイントの強度値に基づいて強度の方向を確定することを含む。それぞれのポイントに対して強度の方向又はｘ方向及びｙ方向における強度の方向微分係数を計算することができる。その後、方向微分係数に基づいて勾配の大きさ及び方向を計算することができる。別の実施形態においては、それぞれのポイントの隣接ポイントに対して最小自乗法を用いて勾配を推定することができる。そして、方向微分係数及び推定された勾配に基づいて強度勾配を推定することができる。
【０１４８】
次に、強度勾配（例えば、大きさ）に基づき、クラスタ（ｃｌｕｓｔｅｒ）アルゴリズム（例えば、ｋ平均法クラスタリングアルゴリズム）を用いて勾配ポイントを二つのカテゴリーにクラスタリングすることができ、なお、第１クラスタは、所定の閾値より高い大きさを有する路面ポイントに対するクラスタであり、第２クラスタは、所定の閾値又は第２所定の閾値より低い大きさを有する全ての他のポイントに対するクラスタである。ここでは、第１クラスタの中のポイントは、路面ポイントである。
【０１４９】
プロセス２１０７については、第１クラスタの各ポイントを、シードポイントとして、道路標示ポイントを導き出す又は抽出することができる。一実施態様により、図２２は、道路標示ポイントを抽出するために用いられる検索の例を示すことができる。図２１及び図２２に示すように、一実施態様においては、ポイントＰは、第１クラスタのシードポイントの例示であっても良い。ポイントＰに基づき、プロセス２１０７は、Ｐからの距離が所定の閾値距離内であるポイントＰ０を特定し、Ｐ０は、Ｐと同じ（又は、反対）の強度勾配方向を有する。そして、プロセス２１０７は、ＰからＰ０までの全てのポイントを道路標示ポイントに識別し分類する。図２２の例を参考するように、ポイントＰ１は、ＰとＰ０の間にあり、なお、当該例示において、ＰとＰ０は、反対の方向強度勾配を有する。Ｐ１は、ＰとＰ０の間にあるので、Ｐ１を識別して道路標示ポイントとしてマークする。プロセス２０１７は、第１クラスタの中の全てのポイントを使い果たすまで、第１クラスタの中のポイントを用いて反復して実行することができる。故に、第１クラスタのシードポイントに基づいて、道路標示ポイントを効率よく成長する。その後、プロセス２１０９は、道路標示ポイントを道路標示抽出結果としてキャプチャする。
【０１５０】
図２３は、一実施態様に係る道路縁石抽出の例を示すフローチャートである。フローチャート２３００は、図２０の縁石特徴抽出モジュール２００５により実行することによって、縁石（例えば、道路の左境界及び右境界）に属するポイントクラウドからポイントを抽出することができる。図２３に示すように、フローチャート２３００は、ポイントクラウド２３０１を受信する。操作２３０３に対し、ポイントクラウドの各ポイントから複数の特徴を抽出することができる。これらの特徴は、高さ関連特徴、強度特徴及びマルチスケール方向差異特徴等を含んでも良い。一実施態様においては、図２４は、マルチスケール方向差異特徴が抽出される例を示している。
【０１５１】
図２３〜図２４に示すように、以下の方法でマルチスケール方向差異特徴を抽出することができる。１）それぞれのポイント（例えば、Ｐ）に対し、小さい隣接領域の半径ｒ、大きい隣接領域の半径Ｒを設定し、対応する半径の隣接領域においてポイントセットＮｓｍａｌｌ又はＮｓ及びＮｌａｒｇｅ又はＮｌをそれぞれ識別する。ここでは、Ｎｌの中のポイントは、Ｎｓの中のポイントを含んでも良い。２）次に、二つのポイントセットに対して主成分解析（ＰＣＡ）アルゴリズムのような統計学アルゴリズムを用いることによって、それぞれ二つの法線ベクトルＮＶｓｍａｌｌ及びＮＶｌａｒｇｅ（図示せず）を得、なお、法線ベクトルは、平面の任意のポイントであっても良く、前記平面は、相応するポイントセットにより推定を行い、法線ベクトルは、前記平面の表面と直交（例えば、垂直）する方向を有する。
【０１５２】
３）そして、ＮＶｓｍａｌｌとＮＶｌａｒｇｅにおいて角度θ（図示せず）を計算し、ただし、角度θは、ポイントＰに対するマルチスケール方向差異特徴であっても良い。主成分解析（ＰＣＡ）は、直交変換を用いて１組の観測結果を１組の線形無相関な変数（主成分と呼ばれる）の値に変換する統計過程である。法線ベクトルは、主成分に垂直する方向のベクトルとして計算することができる。別の実施形態においては、ポイントクラウドに対して教師あり機械学習アルゴリズムを用いることによって、特徴を抽出し、ポイントクラウド画像内から道路縁石を識別することができる。
【０１５３】
一実施態様においては、確定された地面の高さに基づいてポイントクラウドに対して高さ相関特徴又は高さ値を確定することができる。また、高さ分布分散（例えば、Ｖｓ及びＶｌ）及びそれぞれの対応するポイントセットＮｓ及びＮｌの最も高いポイントと最も低いポイント（例えば、Ｄｓ及びＤｌ）の間の高さの差を計算することができる。ここでは、分散は、対応するポイントセットの高さとその平均高さの平方偏差に対する期待値である。
【０１５４】
一実施態様においては、操作２３０５は、単純ベイズ分類器アルゴリズムを用いてポイントクラウドから初期縁石ポイントを抽出することができる。例えば、それぞれのポイントに対し、単純ベイズ分類器アルゴリズムは、θ、Ｖｓ、Ｖｌ、Ｄｓ及びＤｌを含む５次元特徴セットを用いて前記ポイントを縁石ポイントカテゴリー及び非縁石ポイントカテゴリーに分類することができる。
【０１５５】
一実施態様においては、初期縁石ポイントの隣接ポイントに基づいてそれぞれの初期縁石ポイントの方向特性又は方向特徴を計算することができる。例えば、次の方法で方向特性を計算することができる。１）全ての初期縁石ポイントを含むＫＤツリーを生成する。２）ＫＤツリーを用いてそれぞれの初期縁石ポイントのｋ個の隣接領域ポイントを検索する。３）それぞれの初期縁石ポイントの隣接領域ポイントに対して主成分解析（ＰＣＡ）を実行して隣接領域ポイントの主方向を得、なお、主方向は、前記ポイントの方向特徴である。
【０１５６】
一実施態様においては、縁石標示の生成のために計算された方向特徴に基づき、初期縁石ポイントに対して、ポイントのクラスタリング、又はグループ分けを行う。例えば、一実施態様においては、次の操作１〜５により初期縁石ポイントのクラスタリングをすることができる。１）クラスタリングの半径ｒ′、方向角閾値ａｔ及び高さ差閾値ｅｔを初期化する。全ての縁石ポイントを「クラスタリングされていない」と初期化する。空のシードポイントキューＱｓｅｅｄ及びクラスタ容器Ｖｃｕｒｂを初期化する。全ての初期縁石ポイントを用いてＫＤツリーを構成する。２）「クラスタリングされていない」の初期縁石ポイントからポイントを、成長すべき初期シードポイントＰｇとしてランダムに選択し、シードポイントＰｇのラベルをＬｇ（例えば、縁石ポイント）として初期化し、シードポイントＰｇをクラスタ容器Ｖｃｕｒｂに挿入し（又は、プッシュし）、それを「クラスタリング中」に設定する。３）隣接領域の各ポイントＰｎに対し、ＫＤツリーを用いてシードポイントＰｇの半径ｒ′の内にある隣接ポイントセットを取得する。
【０１５７】
ＰｎとＰｇは、両方の間の角度がａｔより小さくなり、両方の間の高さの差がｅｔより小さくなる場合、Ｐｎは、シードポイントキューＱｓｅｅｄ及びクラスタ容器Ｖｃｕｒｂに挿入する（又は、プッシュする）ことができ、Ｐｎのラベルは、Ｐｇと同じラベルに設定することができ、Ｐｎは、「クラスタリング中」と設定することができる。４）キューＱｓｅｅｄが空ではない場合、キューの先頭から一つのポイントをポップし、当該ポイントを新たなシードポイントとし、操作２）から操作を再びスタートする。キューが空である場合、縁石ポイントクラスタ成長が終わり、操作１）から操作を再びスタートする。５）全てのポイントが「クラスタリング中」と設定されるまで、操作１〜４を繰り返すことができる。その後、縁石ポイントのクラスタを、道路ブロックを分けるのに用いることができる。
【０１５８】
一実施態様においては、各クラスタのクラスタ特徴を計算することにより、縁石ポイントのクラスタを洗練することができる。そして、洗練された縁石ポイントのクラスタは、道路ブロックを分けるために用いることができる。計算されるクラスタ特徴の例示は、（ａ１、ａ２、ａ３）、長さＬｃ（例えば、クラスタにより線を形成するポイントの距離）及び／又はそれぞれのクラスタに用いられる複数のポイントＮｃを含んでも良い。次に、クラスタに対して設定された所定のルールを満たさないクラスタを除去してこれらのクラスタを洗練することができる。ルールの例示は、｛ａ１＞∂１＆ａ２＞∂２＆ａ３＞∂３＆Ｌｃ＞ｌ＆Ｎｃ＞ｎ｝であっても良く、なお、∂１、∂２、∂３、ｌ、ｎのそれぞれは、所定の次元閾値、所定のクラスタ最小ポイント長さ及び所定の最小数である。
【０１５９】
一実施態様においては、主成分解析（ＰＣＡ）アルゴリズムをクラスタの中のポイントに用いて特徴（ａ１、ａ２、ａ３）を計算することによって、ポイントの共分散行列の特徴値（λ１，λ２，λ３）を得ることができる。そして、次の式により、特徴（ａ１、ａ２、ａ３）を計算することができる。
【数１１】
2021515254.tif 000013
【０１６０】
一実施態様においては、操作２３０７に対し、抽出された縁石ポイントに基づいて（図２０の曲線生成モジュール２００９によって）一つ又は複数Ｃｕｂｉｃ  Ｂｅｚｉｅｒ曲線を生成して一つ又は複数の縁石線を表すことができる。その式は、次の通りである。
【数１２】
2021515254.tif 000014
【０１６１】
生成された一つ又は複数の縁石曲線に基づき、道路の縁石境界を識別することができる。識別された道路縁石境界に基づいて（図２０の区画モジュール２０１１によって）道路を分けることができる。一実施態様においては、縁石境界及び／又は道路標示ポイントに基づいて道路を分けることができ、なお、縁石境界は、道路境界であり、例えば、車両が道路で走行する方向と平行する境界である。
【０１６２】
図２５は、一実施態様に係る地図区画の例を示している。上述したように、抽出された道路標示ポイント及び抽出された縁石ポイント／曲線に基づいて道路を分けることができる。例えば、抽出された道路標示ポイントに基づき、道路標示ポイントに対してＥｕｃｌｉｄｅａｎクラスタアルゴリズムを用いることによって、ポイントの所定の距離及び／又は境界閾値に基づいて道路標示ポイントをクラスタリングすることができる。続いて、一つ又は複数のクラスタを一つのグループに分け、それを道路標示タイプとして分類することができる。所定の１組のタイプに基づいてクラスタを分類することができる。道路標示のタイプとしては、ゼブラロード標示、横断歩道標示、道路交差点道路標示等を含んでも良い。
【０１６３】
一実施態様においては、各クラスタの間の距離閾値に基づき、それぞれのクラスタの中のポイントにより形成された線の長さ閾値により、前記クラスタを一つのタイプに分類することができる。例えば、ゼブラロード線のタイプに対し、クラスタの境界サイズが第１所定閾値（例えば、短い破線は、一つのクラスタであっても良く、図２５に示されるゼブラロード線標示の中の波線により示される）より小さいならば、クラスタの中心ポイントを確定することができる。次に、Ｅｕｃｌｉｄｅａｎクラスタアルゴリズムを用いて他の周囲のクラスタの中心ポイントに対してグループ分けを行うことによって、ゼブラロード線標示を跨る中心線を生成することができる。ゼブラロード線（及び／又は他の道路標示）の中心線に基づいてゼブラロード線ブロック（例えば、図２５の道路ブロック２）を識別することができる。
【０１６４】
そして、ゼブラロード線ブロックに基づいて他の道路ブロック（例えば、道路ブロック１及び道路ブロック３）を分けることができる。例えば、図２５に示すように、道路ブロック２に基づいて道路ブロック２のゼブラロード線の中心線において道路ブロック１を分けることができる。道路ブロック２に基づいて道路ブロック２の他のゼブラロード線の別の中心線において道路ブロック３を分けることができる。よって、道路標示ポイント及び縁石ポイント／曲線に基づいて地図をブロック区画に分けることができる。その後、サーバは、車両に対して地図のアップグレードを行う時又は車両から地図をダウンロードする時、分けられたそれぞれのブロックごとにアップグレード／ダウンロード処理を行うことができる。
【０１６５】
図２６Ａ及び図２６Ｂは、一実施態様に係る方法の例を示すフローチャートである。プロセス２６００及びプロセス２６５０は、ソフトウェア、ハードウェア又はその組み合わせを含む処理ロジックにより実行することができる。例えば、プロセス２６００及びプロセス２６５０は、図２０の地図区画エンジン１２６により実行することができる。図２６Ａに示すように、ブロック２６０１においては、処理ロジックは、ＡＤＶによりナビゲートされた道路を識別し、前記道路は、一つ又は複数のＬＩＤＡＲセンサからの一つ又は複数のポイントクラウドによりキャプチャされる。ブロック２６０２においては、処理ロジックは、ポイントクラウドから識別すべき道路の道路標示情報を抽出し、道路標示情報は、前記識別される道路の一つ又は複数の道路標示を記述する。ブロック２６０３においては、処理ロジックは、道路標示に基づいて道路を一つ又は複数の道路区画に分ける。ブロック２６０４においては、処理ロジックは、道路区画に基づいてポイントクラウド地図を生成し、なお、ポイントクラウド地図は、ＡＤＶの周囲の運転環境を感知して測定するために用いられる。
【０１６６】
別の実施形態においては、ポイントクラウド地図は、静的ポイントクラウド地図を含み、なお、前記静的ポイントクラウド地図は、ポイントクラウド地図の中の一つ又は複数の動的オブジェクトを除去することにより生成され、前記動的オブジェクトは、同じ位置の異なるタイミングにおいて二つ又は複数のポイントクラウド観測結果を収集し、二つ又は複数のポイントクラウド観測結果の間の差異を検出することにより除去される。一実施態様においては、道路を識別することは、高さ閾値をポイントクラウドに用いて複数の可能な地面ポイントを抽出し、近似アルゴリズムを用いて一つ又は複数の平らなオブジェクトを道路オブジェクトとして可能な地面ポイントに近似し、ＬＩＤＡＲセンサの垂直軸線の方向に近似している法線方向を有するとともに最も大きい表面面積を有する平らなオブジェクトを道路オブジェクトとして選択することを含む。
【０１６７】
別の実施形態においては、処理ロジックは、道路オブジェクトに対応するポイントクラウドを路面ポイントとして識別する。別の実施形態においては、道路標示を抽出することは、フィルタを用いて路面ポイントのノイズを除去し、路面ポイントクラウドの方向勾配を確定し、方向勾配の所定の閾値に基づいて路面ポイントクラウドに対してｋ平均法クラスタリングアルゴリズムを用いて路面ポイントクラウドを道路標示ポイント及び他の路面ポイントに分けることを含む。別の実施形態においては、道路標示は、少なくとも横断歩道に用いられる標示を含み、横断歩道に用いられる標示に基づいて道路が分けられる。
【０１６８】
図２６Ｂに示すように、ブロック２６５１においては、処理ロジックは、ポイントクラウドから、道路縁石を表す縁石特徴を抽出する。ブロック２６５２においては、処理ロジックは、縁石特徴に基づいて道路の縁石境界を識別する。ブロック２６５３においては、処理ロジックは、ポイントクラウドにおける、縁石境界に対応するポイントをラベリングする。ブロック２６５４においては、処理ロジックは、道路標示及びラベリングされた道路縁石ポイントに基づいて道路を一つ又は複数の道路区画に分ける。
【０１６９】
一実施態様においては、ポイントクラウドに用いられる縁石特徴を抽出することは、ポイントクラウドの各ポイントに対し、一つ又は複数のマルチスケール方向差異特徴を抽出することによって、道路縁石を識別することを含む。別の実施形態においては、縁石特徴に基づいて道路の縁石境界を識別することは、ポイントクラウドの各ポイントに対し、抽出された特徴に対して機械学習アルゴリズムを用いて初期縁石ポイントとするポイントを識別し、それぞれの初期縁石ポイントに対し、初期縁石ポイントの一つ又は複数の方向特徴を確定し、初期縁石ポイントに基づいてポイントクラスタを生成し、ポイントクラスタの一つ又は複数の特徴を確定し、一つ又は複数の特徴が所定の条件を満たすならば、ポイントクラスタを縁石境界の一部として識別することを含む。別の実施形態においては、処理ロジックは、それぞれのポイントクラスタを表す曲線を生成し、なお、曲線は、Ｃｕｂｉｃ  Ｂｅｚｉｅｒ曲線を含み、道路標示及び生成されたＣｕｂｉｃ  Ｂｅｚｉｅｒ曲線に基づいて道路が一つ又は複数の道路区画に分けられる。
【０１７０】
図２７は、一実施態様に係る自動運転車と共に使用される感知・計画システムの例を示すブロック図である。図２７に示すように、ネットワーク配置２７００は、ネットワーク１０２を通じて一つまたは複数のサーバ１０３〜１０４に通信可能に接続する自動運転車１０１を含む。図１９に類似するように、サーバ１０３〜１０４は、任意のタイプのサーバまたはサーバクラスタであっても良く、例えば、ネットワークまたはクラウドサーバ、アプリケーションサーバ、バックエンドサーバまたはその組み合わせであっても良い。サーバ１０３〜１０４は、データ解析サーバ、コンテンツサーバ、交通情報サーバ、地図・関心地点（ＭＰＯＩ）サーバまたは位置サーバ等であっても良い。一実施態様においては、サーバ１０３は、ゴースト効果エンジン１２７を含む。ゴースト効果エンジン１２７は、ポイントクラスタフレームの中のゴースト画像を検出することができる。
【０１７１】
任意の二つの連続フレームの中のオブジェクトが突然現れる又は消える場合、当該連続ポイントクラウドフレームにおいてポイントクラウドのゴースト効果（又は、ゴースト効果、陰影）を識別することができる。オブジェクトが突然現れる又は消える原因として、ポイントクラウドの部分を一つに融合する際にエラーが生じることや、快速に移動するオブジェクト又は反射オブジェクトをキャプチャする際に精度が低いことがある。例えば、連続フレームにおいて突然現れる又は突然消えるオブジェクトは、ゴーストオブジェクトと見なされるべきである。ポイントクラウド地図からこのようなゴーストオブジェクトを除去すべきである。ＨＤ地図の高い精確度を保つことは、重要であるので、ポイントクラウドの中のゴーストオブジェクトを識別することによって、ＨＤ地図生成及び／又はＨＤ地図検証に用いられるポイントクラウドの精確度を評価することは、非常に重要である。
【０１７２】
図２８は、一実施態様に係るゴースト効果エンジンの例を示すブロック図である。ゴースト効果エンジン１２７は、ポイントクラウドの中の複数のフレームを受信することによって、どのフレームがゴースト画像を有するかを標示することができる。生成された地図に基づいて標示されたフレームを除去する及び／又は標示されたフレームを用いて地図検証を行うことができる。図２８に示すように、一実施態様においては、エンジン１２７は、フレーム受信モジュール２８０１、占有格子地図生成モジュール２８０３、異常ボクセル識別装置モジュール２８０５、壁ボクセル識別装置モジュール２８０７、状態変化識別装置モジュール２８０９及び標示／捨てモジュール２８１１のような複数のモジュールを含む。これらのモジュールの中の幾つか又は全部は、より少ないモジュールに集積されてもよい。
【０１７３】
フレーム受信モジュール２８０１は、地図サーバ（例えば、図２７のサーバ１０４）からポイントクラウドの中の複数のフレームを受信することができる。占有格子地図生成モジュール２８０３は、三次元（３Ｄ）占有格子地図を生成することができ、ポイントクラウドフレームは、当該３Ｄ占有格子地図に投影することができる。ここでは、占有格子地図は、複数のボクセルを含み、それぞれのボクセルは、何れも占有確率を含み、例えば、ボクセルは、オブジェクトに占められる確率である。異常ボクセル識別装置モジュール２８０５は、３Ｄ占有格子地図の中の異常ボクセルを識別することができる。異常ボクセルとは、突然な状態転換（例えば、占有状態からフリー状態への転換又はフリー状態から占有状態への転換）を有するボクセルを指す。壁ボクセル識別装置モジュール２８０７は、壁オブジェクトを表す確率が所定の閾値より大きいボクセルを識別することができる。状態変化識別装置モジュール２８０９は、ボクセルの状態変化を識別することができる。標示／捨てモジュール２８１１は、異常ボクセル及び／又は対応するポイントクラウドを標示し、地図生成及び／又は地図検証を行う際に考慮するために用いられることができる。
【０１７４】
図２９は、一実施態様に係るゴースト効果検出の例を示すフローチャートである。フローチャート２９００は、ゴースト効果エンジン（例えば、図２８のエンジン１２７）により実行することができる。図２９に示すように、操作２９０１に対し、エンジン１２７は、３Ｄ占有格子地図を初期化する。３Ｄ占有格子は、ボクセル又は３Ｄユニットを含み、なお、それぞれのボクセルは、ボクセルが占められる確率値を含む。初期化の後、初期ポイントクラウドフレームに基づいて３Ｄ占有格子地図に対して光線投射操作を用いることによって、３Ｄ占有格子地図の各ボクセルの占有状態を初期化する。ここでは、初期ポイントクラウドフレーム及び／又は後続フレームは、予め登録されたものであり、例えば、以前にＳＬＡＭのタイプのアルゴリズムを用いてアライメントしたものである。
【０１７５】
一実施態様においては、ポイントクラウドは、立体ビューを有する場合では、車両の位置から光線を投射することができる。別の実施形態においては、ポイントクラウドは、鳥瞰図を有する場合では、天井部から光線を投射することができる。光線投射操作により、光線がＬＩＤＡＲセンサのビューというようなビューを通過する。光線は、幾つかのボクセルを通過することができ、幾つかのボクセルの中に終わることができる。光線は、ボクセルを通過する場合、当該ボクセルは、「フリー」の状態を有する。光線は、ボクセルにおいて終わる場合、当該ボクセルは、「占有」の状態となる。光線は、ボクセルを通過しておらず、且つ、当該ボクセルにおいて終わっていない場合、当該ボクセルは、「未知」の状態となる。「占有された」各ボクセルは、「占有」される確率を示している確率値を含んでも良い。
【０１７６】
操作２９０２において、後続フレームが受信されると、エンジン１２７は、後続フレームに基づいて３Ｄ占有格子地図を更新する。初期フレームと同様に、後続フレームに対して光線投射操作（例えば、光線追跡アルゴリズム）を用いることによって、後続フレームを３Ｄ占有格子地図に投射することができる。その後、以下のベイズの数式を用いて後続の光線投射に基づいて各ボクセルの確率値を更新することができる。
【数１３】
2021515254.tif 000015
ただし、Ｐ（ｎ│ｚｔ）は、時間ｔにおける観測結果に基づくボクセルが時間ｔにおける占有確率を示し、Ｐ（ｎ│ｚ１：ｔ）は、以前の全ての観測結果を考慮した上での、時間ｔにおける観測結果に基づくボクセルが時間ｔにおける占有確率を示し、Ｐ（ｎ│ｚ１：ｔ−１）は、以前の全ての観測結果を考慮した上での、ボクセルが時間ｔ−１における占有確率を示す。
【０１７７】
操作２９０３において、エンジン１２７は、格子地図の各ボクセルの状態変化を確定する。格子地図の各ボクセルは、以下の状態変化の中の一項を含んでも良い：
【０１７８】
Ａ：  “フリー”→“フリー”
【０１７９】
Ｂ：  “占有”→“占有”
【０１８０】
Ｃ：  “未知”→“未知”
【０１８１】
Ｄ：  “未知”→“フリー”
【０１８２】
Ｅ：  “未知”→“占有”
【０１８３】
Ｆ：  “フリー”→“占有”
【０１８４】
Ｇ：  “占有”→“フリー”
【０１８５】
操作２９０４に対し、エンジン１２７は、異常の状態変化を有するボクセルを識別する。例えば、異常の状態変化は、状態変化Ｆ：  “フリー”→“占有”及び状態変化Ｇ：  “占有”→“フリー”を含む。ボクセルの占有確率の変化が所定の閾値より大きく、例えば、占有確率の差異（例えば、増加又は減少）が所定の閾値より大きい場合、異常の状態変化と識別することができる。
【０１８６】
また、壁タイプオブジェクトに属するボクセルを識別することができる。例えば、ポイントクラウドフレームにオブジェクト検出アルゴリズム（例えば、画像分割、エッジ検出、機械学習ニューラルネットワーク等）を用いることによって、壁ボクセル又は壁タイプオブジェクトに対応するボクセルを抽出することができる。Ｃａｒｔｅｓｉａｎ座標系においては、壁オブジェクトは、平らなオブジェクトを含んでも良く、当該平らなオブジェクトは、ｚ軸に垂直する平面の法線方向又はｘ−ｙ平面に平行する平面の法線方向を有する。以上は平らな壁タイプオブジェクトのみを述べたが、壁オブジェクトは任意の形状とサイズを有しても良い。識別された壁オブジェクトに基づいて、対応する壁ボクセルを識別することができる。
【０１８７】
その後、ゴースト効果を有するボクセルを、壁ボクセルを有する異常ボクセルとして識別することができる。次に、ゴースト効果ボクセルを標示し、後続地図生成及び／又は地図検証において標示されたボクセル及び／又はフレームを除去することを考慮しても良い。例えば、一実施態様においては、フレームのゴースト効果ボクセルのカウントが所定の閾値より大きいならば、ポイントクラウド地図生成から当該フレームを除去する。
【０１８８】
操作２９０５に対し、エンジン１２７は、処理される付加フレームが存在するか否かを判定する。存在する場合、操作２９０２において操作を再びスタートし、存在していなければ、操作２９０６において操作を完了させる。
【０１８９】
図３０は、一実施態様に係る方法の例を示すフローチャートである。プロセス３０００は、ソフトウェア、ハードウェア又はその組み合わせを含む処理ロジックにより実行する。例えば、プロセス３０００は、ゴースト効果エンジン（例えば、図２８のエンジン１２７）により実行することができる。図３０に示すように、ブロック３００１においては、処理ロジックは、ポイントクラウドの初期フレームに基づいて占有格子地図を生成する。ブロック３００２においては、処理ロジックは、ポイントクラウドの一つ又は複数の後続フレームを受信する。ブロック３００３においては、各後続フレームに対し、処理ロジックは、当該後続フレームに基づいて占有格子地図を更新する。ブロック３００４においては、処理ロジックは、前記更新に基づいて一つ又は複数の異常ボクセルを識別する。ブロック３００５においては、処理ロジックは、異常ボクセルが壁オブジェクトに属するか否かを判定する。ブロック３００６においては、異常ボクセルが壁オブジェクトに属すると判定したことに応答し、処理ロジックは、異常ボクセルを後続フレームのゴースト効果ボクセルとして標示する。
【０１９０】
一実施態様においては、処理ロジックは、光線追跡アルゴリズムを用いて初期フレーム又は後続フレームを占有格子地図に投影する。別の実施形態においては、初期フレーム又は後続フレームを占有格子地図に投影することは、占有格子地図の各ボクセルの占有状態を決定することを含み、なお、占有状態は、フリー、占有又は未知の中の一種類である。別の一実施態様においては、更新に基づいて一つ又は複数の異常ボクセルを識別することは、占有格子地図の各ボクセルに対し、ボクセルの占有状態の変化を検出し、占有状態がフリーから占有へ変化する場合、又は、占有からフリーへ変化する場合、当該ボクセルを異常として識別することを含む。
【０１９１】
一実施態様においては、ベイジアンアルゴリズムを用いて後続フレームに基づいて占有格子地図を更新し、なお、占有格子地図は、占有確率を示すボクセルを含む。一実施態様においては、異常ボクセルが壁オブジェクトに属するか否かを判定することは、異常ボクセルが、平らな表面を有するとともに前記平らな表面は垂直するｚ軸に垂直する法線を有する、という属性を有するオブジェクトに属するか否かを識別することを含む。一実施態様においては、処理ロジックは、フレームのゴースト効果ボクセルの数が閾値より大きい場合、ポイントクラウド地図から当該フレームを除去する。
【０１９２】
なお、上記のように記載された部材の一部または全部は、ソフトウェア、ハードウェアまたはそれらの組み合せにより実現されることが可能である。例えば、そのような部材は、永続的記憶装置にインストールして記憶されるソフトウェアとして実現されることが可能であり、前記ソフトウェアがメモリにローディングされてプロセッサ（図示せず）により実行されることで、本明細書に記載のプロセスや操作を実施することができる。その代わりに、そのような部材は、専用ハードウェア（例えば、集積回路（例えば、特定用途向け集積回路（ＡＳＩＣ）、デジタルシグナルプロセッサ（ＤＳＰ）またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ））にプログラミングされ、又は組み込まれる、実行可能なコードとして実現されてもよく、前記実行可能なコードが、アプリケーションからの相応的なドライバおよび／またはオペレーティングシステムを介してアクセス可能である。また、そのような部材は、プロセッサまたはプロセッサコアにおける特定ハードウェアロジックとして実現されることが可能であり、ソフトウェア部材が１つまたは複数の特定命令によりアクセス可能な命令セットの一部とされる。
【０１９３】
図３１は、本願の一実施態様と共に使用されるデータ処理システムの例を示すブロック図である。例えば、システム１５００は、図４のＨＤ地図生成エンジン１２５、図５のＨＤ地図生成システム５００、図６のパイプライン６００、図１０のリアルタイム地図生成モジュール３０８、図１５のＲＧＢポイントクラウドモジュール３０９、図１９の地図区画エンジン１２６、図２７のゴースト効果エンジン１２７、図３Ａの感知・計画システム１１０又は図１のサーバ１０３〜１０４の中の任意の一つのような、前記の任意のプロセスまたは方法を実行する前記の任意のデータ処理システムを表すことができる。システム１５００は、様々の部材を備えることが可能である。それらの部材は、集積回路（ＩＣ）、集積回路の一部、別体の電子デバイスや回路基板（例えば、コンピュータシステムのマザーボードまたは挿入カード）に適用される他のモジュールとして実現され、又は、他の方式でコンピュータシステムのラックに組み込まれる部材として実現されることが可能である。
【０１９４】
なお、システム１５９００は、コンピュータシステムの多くの部材の上位図を示すためである。しかしながら、一部の実施態様では、付加部材を有してもよく、また、他の実施態様では、図示する部材と異なるレイアウトを有してもよいこと、を理解すべきである。システム１５００は、デスクトップ型コンピュータ、ラップトップ型コンピュータ、タブレット型コンピュータ、サーバ、携帯電話、メディアプレイヤ、携帯情報端末（ＰＤＡ）、スマートウォッチ、パーソナル通信機器、ゲーム装置、ルータやハブ機器、アクセスポイント（ＡＰ）やリピーター、セットトップボックス、またはそれらの組み合せを示すことが可能である。また、単一の機器またはシステムのみを示すが、「機器」または「システム」という用語は、１つ（または複数）の命令セットを個別または一緒に実行すことにより、本明細書で検討するいずれかの１種または複数種の方法を実行する機器またはシステムの集合のいずれを含むことを、理解されるべきである。
【０１９５】
一実施態様では、システム１５００は、バスまたはインターコネクト１５１０を介して接続されるプロセッサ１５０１、メモリ１５０３及び装置１５０５〜１５０８を含む。プロセッサ１５０１は、単一のプロセッサコア、または複数のプロセッサコアの１つのプロセッサや複数のプロセッサを含むことを表すことが可能である。プロセッサ１５０１は１つまたは複数の汎用プロセッサ、例えば、マイクロプロセッサ、中央処理ユニット（ＣＰＵ）などを表すことが可能である。より具体的には、プロセッサ１５０１は、複合命令セットコンピュータ（ＣＩＳＣ）方式のマイクロプロセッサ、縮小命令セットコンピュータ（ＲＩＳＣ）方式のマイクロプロセッサ、ＶＬＩＷ（Ｖｅｒｙ  Ｌｏｎｇ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｗｏｒｄ）型マイクロプロセッサや他の命令セットを実施するプロセッサ、または命令セットの組み合せを実施するプロセッサであってもよい。プロセッサ１５０１は、１つまたは複数の専用プロセッサ、例えば、特定用途向け集積回路（ＡＳＩＣ）、セルラやベースバンドプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、ネットワークプロセッサ、グラフィックプロセッサ、通信プロセッサ、暗号化プロセッサ、コプロセッサ、組込み用途向けプロセッサ、または命令を処理可能な他のロジックのいずれであってもよい。
【０１９６】
プロセッサ１５０１（低パワーマルチコアプロセッサジャケットインタフェース、例えば超低電圧プロセッサであってもよい）は、前記システムの種々の部材と通信するためのメイン処理ユニット及び中央ハブとして使用されることが可能である。そのようなプロセッサは、オンチップシステム（ＳｏＣ）として実現されることが可能である。プロセッサ１５０１は、本明細書で検討する操作及びステップを実行するための命令を実施するように配置される。システム１５００は、選択可能なグラフィックサブシステム１５０４と通信可能なグラフィックインタフェースを更に含み、グラフィックサブシステム１５０４が、表示制御部、グラフィックプロセッサおよび／または表示装置を備えることが可能である。
【０１９７】
プロセッサ１５０１は、メモリ１５０３と通信可能であり、一実施態様では、メモリ１６０３が所定量のシステム用の記憶を提供するように、複数のメモリ装置により実現されることが可能である。メモリ１５０３は、１つまたは複数の揮発性記憶（またはメモリ）装置、例えば、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）または他のタイプの記憶装置を含むことが可能である。メモリ１５０３は、プロセッサ１５０１または他の装置により実行される命令列を含む情報を記憶可能である。例えば、種々のオペレーティングシステム、デバイスドライバ、ファームウェア（例えば、入出力基本システムまたはＢＩＯＳ）および／またはアプリケーションの実行コードおよび／またはデータは、メモリ１５０３にローディングされてプロセッサ１５０１により実行されることが可能である。オペレーティングシステムは、いずれのタイプのオペレーティングシステム、例えば、ロボットオペレーティングシステム（ＲＯＳ）、Ｍｉｃｒｏｓｏｆｔ（登録商標）社のＷｉｎｄｏｗｓ（登録商標）オペレーティングシステム、アップル社のＭＡＣ  ＯＳ（登録商標）／ＩＯＳ（登録商標）、Ｇｏｏｇｌｅ（登録商標）社のＡｎｄｒｏｉｄ（登録商標）、ＬＩＮＵＸ（登録商標）、ＵＮＩＸ（登録商標）、または他のリアルタイムや組み込みオペレーティングシステムであってもよい。
【０１９８】
システム１５００は、ＩＯ装置、例えばネットワークインタフェース装置１５０５、選択可能な入力装置１５０６及び他の選択可能なＩＯ装置１５０７を含む装置１５０５〜１５０８をさらに備えることが可能である。ネットワークインタフェース装置１５０５は、無線送受信器および／またはネットワークインタフェースカード（ＮＩＣ）を含むことが可能である。前記無線送受信器は、ＷｉＦｉ送受信器、赤外線送受信器、ブルートゥース送受信器、ＷｉＭａｘ送受信器、無線携帯電話送受信器、衛星送受信器（例えば、全地球測位システム（ＧＰＳ）送受信器）や他の無線周波数（ＲＦ）送受信器、またはそれらの組み合せであってもよい。ＮＩＣは、イーサネット（登録商標）カードであってもよい。
【０１９９】
入力装置１５０６は、マウス、タッチパネル、タッチスクリーン（表示装置１５０４に集積されることが可能である）、ポインティングデバイス（例えば、スタイラスペン）および／またはキーボード（例えば、物理的なキーボードまたはタッチスクリーンの一部として表示される仮想的なキーボード）を含むことが可能である。例えば、入力装置１５０６は、タッチスクリーンに接続されるタッチスクリーンコントローラを含むことが可能である。タッチスクリーン及びタッチスクリーンコントローラは、例えば複数種のタッチセンシティブ技術（容量、電気抵抗、赤外線及び弾性表面波技術を含むが、これに限定されない）のいずれか１種、及び他の近接センサアレイまたはタッチスクリーンに接触する１つまたは複数のポイントを特定するための他の素子により、その接触、及び移動や間欠を検出する。
【０２００】
ＩＯ装置１５０７は、オーディオ装置を含むことが可能である。オーディオ装置は、音声を支持する機能、例えば音声認識、音声再生、ディジタル記録および／または電話機能を促すために、スピーカおよび／またはマイクフォンを含むことが可能である。他のＩＯ装置１５０７として、ユニバーサルシリアルバス（ＵＳＢ）ポート、パラレルポート、シリアルポート、プリンタ、ネットワークインタフェース、バスブリッジ（例えば、ＰＣＩ−ＰＣＩブリッジ）、センサ（例えば、加速度計などのモーションセンサ、ジャイロ、磁力計、光センサ、コンパス、接近センサなど）またはそれらの組み合せを含むことが可能である。装置１５０７は、カメラ機能（例えば、写真及び動画セグメントの記録）を促すための光学センサ、例えば電荷結合素子（ＣＣＤ）または相補型金属酸化物半導体（ＣＭＯＳ）光学センサを備える撮像処理サブシステム（例えば、カメラ）をさらに含むことが可能である。システム１５００の具体的な構成または設計に応じて、センサ・ハブ（図示せず）を介して、いくつかのセンサをインターコネクト１５１０に接続することができる一方、キーボードや熱センサなどの他のデバイスを、組み込みコントローラ（図示せず）によって制御することができる。
【０２０１】
例えばデータ、アプリケーション、１つまたは複数のオペレーティングシステムなどの情報の永続的な記憶を提供するために、大容量記憶装置（図示せず）がプロセッサ１５０１に接続されてもよい。種々の実施態様では、薄型化且つ軽量化のシステム設計を実現するとともにシステムの応答性を改良するために、そのような大容量記憶装置は、固体装置（ＳＳＤ）により実現されることが可能である。しかしながら、他の実施態様では、大容量記憶装置は、主にハードディスクドライブ（ＨＤＤ）により実現されてもよく、そのうち少量のＳＳＤ記憶装置は、ＳＳＤ用キャッシュとされることにより、停電期間でコンテキストの状態及び他の情報の非一時的記憶を実現して、システム活動が再起動する際に急速通電を実現することができる。また、フラッシュメモリは、例えばシリアルペリフェラルインタフェース（ＳＰＩ）を介してプロセッサ１５０１に接続されることが可能である。そのようなフラッシュメモリは、前記システムのＢＩＯＳ及び他のファームウェアを含むシステムソフトウェアの非一時的記憶を提供することが可能である。
【０２０２】
記憶装置１５０８は、本明細書に記載のいずれか１種または複数種の方法や機能を実現する１つまたは複数の命令セットやソフトウェア（例えば、モジュール、ユニットおよび／またはロジック１５２８）が記憶されているコンピュータアクセス可能な記憶媒体１５０９（機械可読記憶媒体またはコンピュータ可読な媒体ともいう）を含むことが可能である。処理モジュール／ユニット／ロジック１５２８は、上記部材のいずれか１つ、例えば計画モジュール３０５、制御モジュール３０６を表すことが可能である。また、処理モジュール／ユニット／ロジック１６２８は、データ処理システム１５００、メモリ１５０３及びプロセッサ１５０１により実行されている期間で、全部または少なくとも一部が機械アクセス可能な記憶媒体を構成するメモリ１５０３および／またはプロセッサ１５０１に貯留されることが可能である。更に、処理モジュール／ユニット／ロジック１５２８は、ネットワークによりネットワークインタフェース装置１５０５を介して伝送または受信を行うことが可能である。
【０２０３】
コンピュータ可読記憶媒体１５０９は、上述した一部のソフトウェア機能を永続的に記憶することが可能である。コンピュータ可読記憶媒体１５０９は、例示的な実施態様では単一の媒体として示されるが、「コンピュータ可読記憶媒体」という用語は、前記１つまたは複数の命令セットを記憶する単一の媒体または複数の媒体（例えば、集中または分散データベースおよび／または関連するキャッシュメモリ及びサーバ）を含む、と考えられる。「コンピュータ可読記憶媒体」という用語は、機械により実行されるとともに、前記機械が本発明のいずれの１種または複数種の方法を実行させる命令セットを記憶またはコーディング可能ないずれの媒体を含む、と考えられる。よって、「コンピュータ可読記憶媒体」という用語は、固体メモリ、光学媒体及び磁気媒体、または他の非一時的機械可読媒体のいずれを含むが、これに限定されない、と考えられる。
【０２０４】
本明細書に記載の処理モジュール／ユニット／ロジック１５２８、部材及び他の特徴は、個別ハードウェア部材とされ、またはハードウェア部材（例えば、ＡＳＩＣＳ、ＦＰＧＡ、ＤＳＰまたは同様な装置）の機能に集積されるように、実現可能である。また、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置におけるファームウェアまたは機能回路として実現されることが可能である。また、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置とソフトウェア部材とのいずれの組み合せにより実現されることが可能である。
【０２０５】
なお、システム１５００は、データ処理システムの種々の部材を備えるように示されるが、部材を相互に接続する特定の構成または態様を示すためではない。よって、そのような詳細は、本発明の実施態様と密接な関係がない。さらに、より少ない部材またはより多い部材を有するネットワークコンピュータ、ハンディコンピュータ、携帯電話、サーバおよび／または他のデータ処理システムも、本発明の実施態様とともに使用可能であることを、認識すべきである。
【０２０６】
詳細に記載した前記内容の一部は、既にコンピュータメモリで行われるデータビットの演算のアルゴリズム及び符号表示に応じて表現された。それらのアルゴリズムの記載及び表示は、データ処理分野での技術者が使用する方式であり、技術者らの実質的な動作を効率よく本分野での他の技術者に伝達するためである。本明細書では、アルゴリズムは、通常に所望の結果を達成する自律操作シーケンスとして考えられる。それらの操作とは、物理量を物理的に操作する必要がある操作である。
【０２０７】
ところで、そられの用語及びその類似する用語のすべては、適当な物理量に関連するためであり、且つ単にそれらの物理量を便利に表記することに適用されることはいうまでもない。以上の検討において他の態様で明確に限定しない限り、明細書全体では、用語（例えば、添付した特許請求の範囲に記載の用語）により検討されることは、コンピュータシステムのレジスタ及びメモリでの物理（電子）量として表示されるデータを操作して、前記データをコンピュータシステムメモリやレジスタ、または他の情報記憶装置、伝送装置や表示装置での同様に物理量として表示される他のデータを変換するコンピュータシステムや類似する電子計算装置の動作及び処理である。
【０２０８】
本発明の実施態様は、本明細書における操作を実行するためのデバイスにさらに関する。そのようなコンピュータプログラムは、非一時的コンピュータ可読媒体に記憶されている。機械可読媒体は、機械（例えば、コンピュータ）可読態様で情報を記憶するための機構全体を含む。例えば、機械可読（例えば、コンピュータ可読）媒体は、機械（例えば、コンピュータ）可読記憶媒体（例えば、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ装置）を含む。
【０２０９】
前記図面に記載のプロセスや方法は、ハードウェア（例えば、回路、専用ロジックなど）、ソフトウェア（例えば、非一時的コンピュータ可読媒体で実現される）またはそれらの組み合せを含む処理ロジックにより実行されることが可能である。前記プロセスや方法は、上記の内容において一部の順序操作に基づいて記載されるが、前記操作の一部が異なる順序で実行されてもよいことを、理解すべきである。また、一部の操作は、順序に実行されることではなく、並列に実行されてもよい。
【０２１０】
本発明の実施態様は、いずれの特定のプログラミング言語を参照して記載されることではない。複数種のプログラミング言語を使用して本明細書に記載の本発明の実施態様の教示を実施可能であることを、理解すべきである。
【０２１１】
以上の明細書では、本発明の具体的な実施態様を参照して本発明の実施態様を記載した。添付した特許請求の範囲に記載の本発明の更なる広い要旨及び範囲を逸脱しない限り、本開示を様々な形態で変形可能であることが、明らかである。したがって、明細書および図面は、制限的な意味ではなく、例示的な意味で理解されるべきである。
【図１】
2021515254.tif 000016
【図２】
2021515254.tif 000017
【図３Ａ】
2021515254.tif 000018
【図３Ｂ】
2021515254.tif 000019
【図４】
2021515254.tif 000020
【図５】
2021515254.tif 000021
【図６】
2021515254.tif 000022
【図７Ａ】
2021515254.tif 000023
【図７Ｂ】
2021515254.tif 000024
【図８】
2021515254.tif 000025
【図９】
2021515254.tif 000026
【図１０】
2021515254.tif 000027
【図１１Ａ】
2021515254.tif 000028
【図１１Ｂ】
2021515254.tif 000029
【図１２】
2021515254.tif 000030
【図１３】
2021515254.tif 000031
【図１４】
2021515254.tif 000032
【図１５】
2021515254.tif 000033
【図１６】
2021515254.tif 000034
【図１７】
2021515254.tif 000035
【図１８】
2021515254.tif 000036
【図１９】
2021515254.tif 000037
【図２０】
2021515254.tif 000038
【図２１】
2021515254.tif 000039
【図２２】
2021515254.tif 000040
【図２３】
2021515254.tif 000041
【図２４】
2021515254.tif 000042
【図２５】
2021515254.tif 000043
【図２６Ａ】
2021515254.tif 000044
【図２６Ｂ】
2021515254.tif 000045
【図２７】
2021515254.tif 000046
【図２８】
2021515254.tif 000047
【図２９】
2021515254.tif 000048
【図３０】
2021515254.tif 000049
【図３１】
2021515254.tif 000050
【手続補正書】
【提出日】令和2年2月25日(2020.2.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
自動運転車（ＡＤＶ）のための、ポイントクラウドを三次元（３Ｄ）ポイントクラウド地図に登録するコンピュータ実施方法であって、
ＡＤＶの一つ又は複数のＬＩＤＡＲセンサによりキャプチャされた複数のポイントクラウドを受信するとともに、対応するポーズを受信するステップと、
前記ＡＤＶの一つ又は複数の画像キャプチャセンサから複数のＲＧＢ画像を受信するステップと、
前記ＲＧＢ画像を前記ポイントクラウドと同期させてＲＧＢポイントクラウドを得るステップと、
前記ＲＧＢポイントクラウドから、前記ＲＧＢポイントクラウドの状況情報及び空間情報を含む特徴を抽出するステップと、
抽出された特徴に基づいて前記ＲＧＢポイントクラウドを登録するステップと、
前記ＲＧＢポイントクラウドの登録に基づいてポイントクラウド地図を生成するステップと、
を含むことを特徴とするコンピュータ実施方法。
【請求項２】
前記ＲＧＢ画像を前記ポイントクラウドと同期させてＲＧＢポイントクラウドを得るステップは、
各ポイントクラウドに対して当該ポイントクラウドのタイムスタンプを決定するステップと、
複数のＲＧＢ画像から前記ポイントクラウドのタイムスタンプの時間閾値内にあるタイムスタンプを有するＲＧＢ画像を特定するステップと、
一つ又は複数の画素を前記ポイントクラウドの一つ又は複数のポイントと関連付けることによって、前記ＲＧＢ画像とポイントクラウドを関連付けるステップと、
を含む、請求項１に記載の方法。
【請求項３】
前記ＲＧＢポイントクラウドから特徴を抽出するステップは、
前記ＲＧＢ画像と関連するポイントクラウドとの両方からの状況情報及び空間情報に基づいて特徴を抽出することを含む、請求項２に記載の方法。
【請求項４】
前記状況情報は、前記特徴の色彩パターン及び色彩パターンの複雑度を含み、前記空間情報は、前記特徴のポイントの位置に関する情報を含む、請求項１に記載の方法。
【請求項５】
抽出された特徴に基づいて前記ＲＧＢポイントクラウドを登録するステップは、
前記複数のポイントクラウドに対して最適化アルゴリズムを用いることを含む、請求項１に記載の方法。
【請求項６】
前記最適化アルゴリズムは、反復最近接点（ＩＣＰ）アルゴリズムを含む、請求項５に記載の方法。
【請求項７】
ＲＡＮＳＡＣアルゴリズムを、抽出された特徴に対し用いることで、外れ値特徴に対し用いることを更に含む、請求項５に記載の方法。
【請求項８】
ＲＧＢポイントクラウドに基づいて前記ポイントクラウドを登録することによって、ポイントに基づいて登録を行うステップを更に含む、請求項１に記載の方法。
【請求項９】
前記ポイントに基づいて登録を行うステップは、
登録されたポイントクラウドに対してＲＧＢに基づくＩＣＰアルゴリズムを用いることであって、ここで、ＲＧＢ情報は、ＩＣＰアルゴリズムのコスト関数に集積されたものであることを含む、請求項８に記載の方法。
【請求項１０】
命令を記憶している非一時性機械可読メディアであって、
前記命令は、プロセッサによって実行されると、
ＡＤＶの一つ又は複数のＬＩＤＡＲセンサによりキャプチャされた複数のポイントクラウドを受信するとともに、対応するポーズを受信するステップと、
前記ＡＤＶの一つ又は複数の画像キャプチャセンサから複数のＲＧＢ画像を受信するステップと、
前記ＲＧＢ画像を前記ポイントクラウドと同期させてＲＧＢポイントクラウドを得るステップと、
前記ＲＧＢポイントクラウドから、前記ＲＧＢポイントクラウドの状況情報及び空間情報を含む特徴を抽出するステップと、
抽出された特徴に基づいて前記ＲＧＢポイントクラウドを登録するステップと、
前記ＲＧＢポイントクラウドの登録に基づいてポイントクラウド地図を生成するステップと、
を含む操作を前記プロセッサに実行させる、ことを特徴とする命令を記憶している非一時性機械可読メディア。
【請求項１１】
前記ＲＧＢ画像を前記ポイントクラウドと同期させてＲＧＢポイントクラウドを得るステップは、
各ポイントクラウドに対して当該ポイントクラウドのタイムスタンプを決定するステップと、
複数のＲＧＢ画像から前記ポイントクラウドのタイムスタンプの時間閾値内にあるタイムスタンプを有するＲＧＢ画像を特定するステップと、
一つ又は複数の画素を前記ポイントクラウドの一つ又は複数のポイントと関連付けることによって、前記ＲＧＢ画像とポイントクラウドを関連付けるステップと、
を含む、請求項１０に記載の非一時性機械可読メディア。
【請求項１２】
前記ＲＧＢポイントクラウドから特徴を抽出するステップは、
前記ＲＧＢ画像と関連するポイントクラウドとの両方からの状況情報及び空間情報に基づいて特徴を抽出することを含む、請求項１１に記載の非一時性機械可読メディア。
【請求項１３】
前記状況情報は、前記特徴の色彩パターン及び色彩パターンの複雑度を含み、前記空間情報は、前記特徴のポイントの位置に関する情報を含む、請求項１０に記載の非一時性機械可読メディア。
【請求項１４】
抽出された特徴に基づいて前記ＲＧＢポイントクラウドを登録するステップは、
前記複数のポイントクラウドに対して最適化アルゴリズムを用いることを含む、請求項１０に記載の非一時性機械可読メディア。
【請求項１５】
ＲＡＮＳＡＣアルゴリズムを、抽出された特徴に対し用いることで、外れ値特徴に対し用いることを更に含む、請求項１４に記載の非一時性機械可読メディア。
【請求項１６】
プロセッサと、前記プロセッサに接続され命令を記憶しているメモリとを含むデータ処理システムであって、
前記命令は、前記プロセッサによって実行されると、
ＡＤＶの一つ又は複数のＬＩＤＡＲセンサによりキャプチャされた複数のポイントクラウドを受信するとともに、対応するポーズを受信するステップと、
前記ＡＤＶの一つ又は複数の画像キャプチャセンサから複数のＲＧＢ画像を受信するステップと、
前記ＲＧＢ画像を前記ポイントクラウドと同期させてＲＧＢポイントクラウドを得るステップと、
前記ＲＧＢポイントクラウドから、前記ＲＧＢポイントクラウドの状況情報及び空間情報を含む特徴を抽出するステップと、
抽出された特徴に基づいて前記ＲＧＢポイントクラウドを登録するステップと、
前記ＲＧＢポイントクラウドの登録に基づいてポイントクラウド地図を生成するステップと、
を含む操作を前記プロセッサに実行させる、データ処理システム。
【請求項１７】
前記ＲＧＢ画像を前記ポイントクラウドと同期させてＲＧＢポイントクラウドを得るステップは、
各ポイントクラウドに対して当該ポイントクラウドのタイムスタンプを決定するステップと、
複数のＲＧＢ画像から前記ポイントクラウドのタイムスタンプの時間閾値内にあるタイムスタンプを有するＲＧＢ画像を特定するステップと、
一つ又は複数の画素を前記ポイントクラウドの一つ又は複数のポイントと関連付けることによって、前記ＲＧＢ画像とポイントクラウドを関連付けるステップと、
を更に含む、請求項１６に記載のシステム。
【請求項１８】
前記ＲＧＢポイントクラウドから特徴を抽出するステップは、
前記ＲＧＢ画像と関連するポイントクラウドとの両方からの状況情報及び空間情報に基づいて特徴を抽出することを含む、請求項１７に記載のシステム。
【請求項１９】
前記状況情報は、前記特徴の色彩パターン及び色彩パターンの複雑度を含み、前記空間情報は、前記特徴のポイントの位置に関する情報を含む、請求項１６に記載のシステム。
【請求項２０】
抽出された特徴に基づいて前記ＲＧＢポイントクラウドを登録するステップは、
前記複数のポイントクラウドに対して最適化アルゴリズムを用いることを含む、請求項１６に記載のシステム。
【請求項２１】
ＲＡＮＳＡＣアルゴリズムを、抽出された特徴に対し用いることで、外れ値特徴に対し用いることを更に含む、請求項２０に記載のシステム。
【請求項２２】
コンピュータプログラムであって、
コンピュータプログラムであって、プロセッサにより実行されると、請求項１〜９のいずれか一項に記載の方法を実現させるコンピュータプログラム。
【国際調査報告】
2021515254.tif 000051
2021515254.tif 000052