(57)【要約】  道路の交差点を検証するための方法、システム、および手法を提示する。方法は、特定の候補交差点の各車線について、車線の１つ以上の属性を示す注釈付き交差点データを受信することと、注釈付き交差点データを処理して、特定の候補交差点の車線のトポロジ構造に敏感であり、かつ特定の候補交差点の車線のジオメトリに対して不変である、特定の候補交差点の交差点フィンガープリントを生成することと、少なくとも交差点フィンガープリントに基づいて１つ以上の品質管理プロセスを実行せずに特定の候補交差点を検証済みとして指定することと、特定の候補交差点の表現をロードグラフに格納することと、を含む。【選択図】図１
2021536593.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実装方法であって、
特定の候補交差点の各車線について、前記車線の１つ以上の属性を示す注釈付き交差点データを受信することと、
前記注釈付き交差点データを処理して、前記特定の候補交差点の前記車線のトポロジ構造に敏感であり、かつ前記特定の候補交差点の前記車線のジオメトリに対して不変である、前記特定の候補交差点の交差点フィンガープリントを生成することと、
少なくとも前記特定の候補交差点の前記交差点フィンガープリントに基づいて前記１つ以上の品質管理プロセスを実行せずに前記特定の候補交差点を検証済みとして指定することと、
前記特定の候補交差点を検証済みとして指定することに応答して、前記システムによって、前記特定の候補交差点の表現をロードグラフに格納することと、を含む、コンピュータ実装方法。
【請求項２】
前記注釈付き交差点データを受信することと、前記注釈付き交差点データを処理して前記交差点フィンガープリントを生成することと、前記特定の候補交差点を検証済みとして指定することと、を行う前に、
前記特定の候補交差点についての他の注釈付き交差点データを受信することと、
前記他の注釈付き交差点データを処理して、前記特定の候補交差点の異なる交差点フィンガープリントを生成することと、
少なくとも前記特定の候補交差点の前記異なる交差点フィンガープリントに基づいて、前記１つ以上の品質管理プロセスを実行することと、を含み、
後で受信される前記特定の候補交差点の前記注釈付き交差点データが、少なくとも前記特定の候補交差点の前記異なる交差点フィンガープリントに基づいて前記１つ以上の品質管理プロセスを実行したときの出力を含む、請求項１に記載のコンピュータ実装方法。
【請求項３】
１つ以上の品質管理プロセスを実行せずに前記特定の候補交差点を検証済みとして指定することが、前記１つ以上の品質管理プロセスの実行をバイパスすることを決定することを含む、請求項１に記載のコンピュータ実装方法。
【請求項４】
１つ以上の品質管理プロセスを実行せずに前記特定の候補交差点を検証済みとして指定することが、前記特定の候補交差点に関連付けられているデータに対して前記１つ以上のプロセスを再実行しないことを決定することを含む、請求項１に記載のコンピュータ実装方法。
【請求項５】
前記注釈付き交差点が、（ｉ）１つ以上の品質管理プロセスを正常に完了させた候補交差点を検証済みとして指定する品質保証エンジンと、（ｉｉ）ロードグラフを格納する１つ以上のデータベースと、（ｉｉｉ）検証済みの候補交差点の表現を前記ロードグラフに格納させるロードグラフマネージャと、を含むシステムによって受信される、請求項１に記載のコンピュータ実装方法。
【請求項６】
前記注釈付き交差点データによって示される前記車線の前記１つ以上の属性のうちの少なくとも１つが、車線ペアの属性を含む、請求項１に記載のコンピュータ実装方法。
【請求項７】
前記注釈付き交差点データを処理して前記特定の候補交差点の交差点フィンガープリントを生成することが、前記システムによって、前記注釈付き交差点データを処理して、前記特定の候補交差点の前記車線のトポロジ構造に敏感であり、かつ前記特定の候補交差点の前記車線のジオメトリに対して不変である、前記特定の候補交差点のハッシュ値を生成することを含み、
少なくとも前記特定の候補交差点の前記交差点フィンガープリントに基づいて前記特定の候補交差点を検証済みとして指定することが、前記システムによって、少なくとも前記特定の候補交差点の前記ハッシュ値に基づいて、前記１つ以上の品質管理プロセスを実行せずに前記特定の候補交差点を検証済みとして指定することを含む、請求項１に記載のコンピュータ実装方法。
【請求項８】
前記注釈付き交差点データによって示される前記車線の前記１つ以上の属性の各々が、前記属性のバイナリ値によって表され、
前記特定の候補交差点のハッシュ値を生成することが、
前記システムによって、前記特定の候補交差点の前記車線の前記属性のうちの１つ以上の前記バイナリ値を組み合わせて、１つ以上の文字列を生成することと、
少なくとも前記１つ以上の文字列に基づいて、前記システムによって、前記特定の候補交差点の前記車線のトポロジ構造に敏感であり、かつ前記特定の候補交差点の前記車線のジオメトリに対して不変である、前記特定の候補交差点のハッシュ値を生成することと、を含む、請求項７に記載の方法。
【請求項９】
少なくとも前記交差点フィンガープリントに基づいて前記１つ以上の品質管理プロセスを実行せずに前記特定の候補交差点を検証済みとして指定することが、
前記システムによって、交差点テンプレートにアクセスすることと、
前記システムによって、前記特定の候補交差点の前記交差点フィンガープリントと前記交差点テンプレートとを比較することと、
前記比較に基づいて、前記システムによって、前記特定の候補交差点が前記交差点テンプレートに関連付けられている程度を反映している値を生成することと、
前記システムによって、前記特定の候補交差点が前記交差点テンプレートに関連付けられている程度を反映している前記値がしきい値を満たしていることを判定することと、
前記特定の候補交差点が前記交差点テンプレートに関連付けられている程度を反映している前記値が前記しきい値を満たしていることを判定することに基づいて、前記システムによって、前記１つ以上の品質管理プロセスを実行せずに前記特定の候補交差点を検証済みとして指定することと、を含む、請求項１に記載の方法。
【請求項１０】
前記交差点テンプレートが、前記１つ以上の品質管理プロセスを実行することによって正当なものとして指定された交差点のフィンガープリントである、請求項９に記載の方法。
【請求項１１】
前記特定の候補交差点の前記車線の前記トポロジ構造が、幾何学的歪みの下で変化しない前記特定の候補交差点の１つ以上の車線のトポロジプロパティを含む、請求項１に記載の方法。
【請求項１２】
前記特定の候補交差点の前記１つ以上の車線の前記トポロジプロパティが、車線の数、車線の配置、または車線のファンアウトのうちの少なくとも１つを含み、
前記特定の候補交差点の前記車線の前記ジオメトリが、車線の幅、車線間の距離、または車線間の角度のうちの少なくとも１つを含む、請求項１１に記載の方法。
【請求項１３】
前記注釈付き交差点データが、前記特定の候補交差点の注釈付き画像データまたは前記特定の候補交差点の注釈付きレーダーデータのうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項１４】
システムであって、
１つ以上の処理デバイスと、前記１つ以上の処理デバイスによって実行されたときに前記１つ以上の処理デバイスに動作を実行させるように動作可能な命令を格納する１つ以上の格納デバイスと、を備え、前記動作が、
前記１つ以上の処理デバイスによって、特定の候補交差点の各車線について、前記車線の１つ以上の属性を示す注釈付き交差点データを受信することと、
前記１つ以上の処理デバイスによって、前記注釈付き交差点データを処理して、前記特定の候補交差点の前記車線のトポロジ構造に敏感であり、かつ前記特定の候補交差点の前記車線のジオメトリに対して不変である、前記特定の候補交差点の交差点フィンガープリントを生成することと、
前記１つ以上の処理デバイスによって、少なくとも前記特定の候補交差点の前記交差点フィンガープリントに基づいて１つ以上の品質管理プロセスを実行せずに前記特定の候補交差点を検証済みとして指定することと、
前記特定の候補交差点を検証済みとして指定することに応答して、前記１つ以上の処理デバイスによって、前記特定の候補交差点の表現をロードグラフに格納することと、を含む、システム。
【請求項１５】
前記注釈付き交差点データを受信することと、前記注釈付き交差点データを処理して前記交差点フィンガープリントを生成することと、前記特定の候補交差点を検証済みとして指定することと、を行う前に、
前記特定の候補交差点についての他の注釈付き交差点データを受信することと、
前記他の注釈付き交差点データを処理して、前記特定の候補交差点の異なる交差点フィンガープリントを生成することと、
少なくとも前記特定の候補交差点の前記他の交差点フィンガープリントに基づいて、前記１つ以上の品質管理プロセスを実行することと、を含み、
後で受信される前記特定の候補交差点の前記注釈付き交差点データが、少なくとも前記特定の候補交差点の前記異なる交差点フィンガープリントに基づいて前記１つ以上の品質管理プロセスを実行したときの出力を含む、請求項１４に記載のシステム。
【請求項１６】
１つ以上の品質管理プロセスを実行せずに前記特定の候補交差点を検証済みとして指定することが、前記１つ以上の品質管理プロセスの実行をバイパスすることを決定することを含む、請求項１４に記載のシステム。
【請求項１７】
１つ以上の品質管理プロセスを実行せずに前記特定の候補交差点を検証済みとして指定することが、前記特定の候補交差点に関連付けられているデータに対して前記１つ以上のプロセスを再実行しないことを決定することを含む、請求項１４に記載のシステム。
【請求項１８】
前記注釈付き交差点データによって示される前記車線の前記１つ以上の属性のうちの少なくとも１つが、車線ペアの属性を含む、請求項１４に記載のシステム。
【請求項１９】
前記注釈付き交差点データを処理して前記特定の候補交差点の交差点フィンガープリントを生成することが、前記１つ以上の処理デバイスによって、前記注釈付き交差点データを処理して、前記特定の候補交差点の前記車線のトポロジ構造に敏感であり、かつ前記特定の候補交差点の前記車線のジオメトリに対して不変である、前記特定の候補交差点のハッシュ値を生成することを含み、
少なくとも前記特定の候補交差点の前記交差点フィンガープリントに基づいて前記特定の候補交差点を検証済みとして指定することが、前記１つ以上の処理デバイスによって、少なくとも前記特定の候補交差点の前記ハッシュ値に基づいて前記１つ以上の品質管理プロセスを実行せずに前記特定の候補交差点を検証済みとして指定することを含む、請求項１０に記載のシステム。
【請求項２０】
コンピュータプログラムを格納した１つ以上のコンピュータ可読格納媒体であって、前記コンピュータプログラムが、１つ以上の処理デバイスによって実行されたときに前記１つ以上の処理デバイスに動作を実行させる命令を含み、前記動作が、
前記１つ以上の処理デバイスによって、特定の候補交差点の各車線について、前記車線の１つ以上の属性を示す注釈付き交差点データを受信することと、
前記１つ以上の処理デバイスによって、前記注釈付き交差点データを処理して、前記特定の候補交差点の前記車線のトポロジ構造に敏感であり、かつ前記特定の候補交差点の前記車線のジオメトリに対して不変である、前記特定の候補交差点の交差点フィンガープリントを生成することと、
前記１つ以上の処理デバイスによって、少なくとも前記特定の候補交差点の前記交差点フィンガープリントに基づいて１つ以上の品質管理プロセスを実行せずに前記特定の候補交差点を検証済みとして指定することと、
前記特定の候補交差点を検証済みとして指定することに応答して、前記１つ以上の処理デバイスによって、前記特定の候補交差点の表現をロードグラフに格納することと、を含む、１つ以上のコンピュータ可読格納媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、ロードグラフを使用したナビゲーションおよび経路計画に関する。
【背景技術】
【０００２】
ナビゲーションシステムは、交差点および道路の記述を含むロードグラフを使用して、車両が走行するための安全で合法的な経路を計画することができる。
【発明の概要】
【０００３】
道路の交差点は、異なる向きと速度の車両が近接して相互作用する道路網内の領域である。車両ナビゲーションシステムは、交差点および道路の記述を含むロードグラフを使用して、車両の安全で合法的な軌道を計画し、道を譲る判断の優先順位を理解し、他の車両の挙動を予測することができる。交差点での衝突のリスクが高いことを考えると、ロードグラフに含まれる交差点の記述が確実に正確であることが特に重要となる。ロードグラフの交差点の記述の正確性を確実にするために、システムは、１つ以上の品質管理プロセスを正常に完了させるために交差点の候補記述を必要とする場合がある。品質管理プロセスは、コンピュータシステムまたは場合によっては人間のオペレータによって実装することができる。
【０００４】
いくつかの実装態様では、注釈付きの交差点データを使用して、システムは、交差点の候補記述のフィンガープリントを生成することができる。フィンガープリントは、交差点の車線のトポロジ構造に敏感であるが、交差点の特定のジオメトリに対しては不変である。例えば、フィンガープリントは、交差点の車線の運転性の関係（例えば、車線の数、車線の配置、車線のファンアウト）には敏感であるが、車線の幾何学的な関係（例えば、車線の幅、車線間の距離、車線間の角度）には敏感ではない。
【０００５】
フィンガープリントは、例えば、交差点車線の１つ以上の属性に基づいて生成されたハッシュ値にすることができる。車線の属性には、車線のタイプ（例えば、ターン車線、通過車線、Ｕターン車線）、車線管制手段の存在（例えば、信号機、止まれ標識、譲れ標識）、車線が入口または出口の兄弟を有するかどうか（例えば、車線が共通車線からファンアウトするか、または共通車線に合流するか）、および車線が通過車線を横切るかどうかなどの、個々の車線のプロパティが含まれ得る。車線の属性には、車線の配置（例えば、車線が互いに隣接している、車線が互いに交差している）、車線が入口または出口の兄弟であるかどうか（例えば、車線が共通の入口または出口車線を共有する）、および車線が共通の開始の向き（例えば、車線のトラフィックが同じ方向から交差点に入る）または終了の向き（例えば、車線のトラフィックが、同じ方向で交差点を出る）を共有するかどうかなどの、車線ペアのプロパティ（例えば、車線ペアプロパティ）も含まれ得る。
【０００６】
１つ以上の品質管理プロセスを実行せずに候補交差点の記述を検証するために、システムは、候補交差点フィンガープリントを、正当な交差点構成を記述することがわかっている１つ以上の交差点テンプレートと比較することができる。例えば、システムは、候補交差点が交差点テンプレートに類似している程度を示す値（例えば、候補交差点フィンガープリントのハッシュ値と交差点テンプレートフィンガープリントとの間の距離）を生成することができる。候補交差点フィンガープリントが検証済みの交差点テンプレートと十分に類似している場合、システムは、追加の品質管理プロセスを実行することなく、交差点の候補記述を正当なものとして指定することができる。次に、システムは、ナビゲーションおよび経路計画で車両による使用のために、検証済みの候補交差点の記述の表現をロードグラフに格納することができる。
【０００７】
いくつかの実装形態では、方法は、１つ以上の処理デバイスによって、特定の候補交差点の各車線について、車線の１つ以上の属性を示す注釈付き交差点データを受信する動作と、１つ以上の処理デバイスによって、注釈付き交差点データを処理して、特定の候補交差点の車線のトポロジ構造に敏感であり、かつ特定の候補交差点の車線のジオメトリに対して不変である特定の候補交差点の交差点フィンガープリントを生成する動作と、を含む。この方法はまた、１つ以上の処理デバイスによって、少なくとも特定の候補交差点の交差点フィンガープリントに基づいて１つ以上の品質管理プロセスを実行せずに特定の候補交差点を検証済みとして指定する動作と、特定の候補交差点を検証済みとして指定することに応答して、１つ以上の処理デバイスによって、特定の候補交差点の表現をロードグラフに格納する動作と、を含む。
【０００８】
いくつかの実装形態では、システムは、（ｉ）１つ以上の品質管理プロセスを正常に完了させた候補交差点を検証済みとして指定する品質保証エンジンと、（ｉｉ）ロードグラフを格納する１つ以上のデータベースと、（ｉｉｉ）検証済みの候補交差点の表現をロードグラフに格納させるロードグラフマネージャと、を含む。システムは、（ｉ）システムによって、特定の候補交差点の各車線について、車線の１つ以上の属性を示す注釈付き交差点データを受信する動作と、（ｉｉ）システムによって、注釈付き交差点データを処理して、特定の候補交差点の車線のトポロジ構造に敏感であり、かつ特定の候補交差点の車線のジオメトリに対して不変である特定の候補交差点の交差点フィンガープリントを生成する動作と、（ｉｉｉ）システムによって、少なくとも特定の候補交差点の交差点フィンガープリントに基づいて１つ以上の品質管理プロセスを実行せずに特定の候補交差点を検証済みとして指定する動作と、（ｉｖ）特定の候補交差点を検証済みとして指定することに応答して、システムによって、特定の候補交差点の表現をロードグラフに格納する動作と、を含む方法を実行することができる。
【０００９】
いくつかの実装形態では、システムによって受信される注釈付き交差点データは、（ｉ）特定の候補交差点の注釈付き画像データ、または（ｉｉ）特定の候補交差点の注釈付きレーダーデータのうちの少なくとも１つを含む。
【００１０】
いくつかの実装形態では、注釈付き交差点データによって示される車線の１つ以上の属性のうちの少なくとも１つは、車線ペアの属性を含む。いくつかの実装形態では、注釈付き交差点データによって示される車線の１つ以上の属性のうちの少なくとも１つは、個々の車線の属性を含む。
【００１１】
いくつかの実装形態では、特定の候補交差点の車線のトポロジ構造は、幾何学的歪みの下で変化しない特定の候補交差点の１つ以上の車線のトポロジプロパティを含む。例えば、特定の候補交差点の１つ以上の車線のトポロジプロパティは、車線の数、車線の配置、または車線のファンアウトのうちの少なくとも１つを含むことができる。いくつかの実装形態では、特定の候補交差点の車線のジオメトリは、車線の幅、車線間の距離、または車線間の角度のうちの少なくとも１つを含むことができる。
【００１２】
いくつかの実装形態では、注釈付き交差点データを処理して特定の候補交差点の交差点フィンガープリントを生成することは、注釈付き交差点データを処理して、特定の候補交差点の車線のトポロジ構造に敏感であり、かつ特定の候補交差点の車線のジオメトリに対して不変である特定の候補交差点のハッシュ値を生成することを含む。例えば、いくつかの実装形態では、注釈付き交差点データによって示される車線の１つ以上の属性の各々は、属性のバイナリ値で表され、特定の候補交差点のハッシュ値を生成することは、（ｉ）特定の候補交差点の車線の属性のうちの１つ以上のバイナリ値を組み合わせて、１つ以上の文字列を生成することと、（ｉｉ）少なくとも１つ以上の文字列に基づいて、特定の候補交差点の車線のトポロジ構造に敏感であり、かつ特定の候補交差点の車線のジオメトリに対して不変である特定の候補交差点のハッシュ値を生成することと、を含む。次に、システムは、少なくとも特定の候補交差点のハッシュ値に基づいて、１つ以上の品質管理プロセスを実行せずに特定の候補交差点を検証済みとして指定することができる。
【００１３】
いくつかの実装形態では、少なくとも交差点フィンガープリントに基づいて１つ以上の品質管理プロセスを実行せずに特定の候補交差点を検証済みとして指定することは、（ｉ）システムによって、交差点テンプレートにアクセスすることと、（ｉｉ）特定の候補交差点の交差点フィンガープリントと交差点テンプレートとを比較することと、（ｉｉｉ）比較に基づいて、特定の候補交差点が交差点テンプレートに関連付けられている程度を反映している値を生成することと、（ｉｖ）特定の候補交差点が交差点テンプレートに関連付けられている程度を反映している値がしきい値を満たしていることを判定することと、（ｉｖ）特定の候補交差点が交差点テンプレートに関連付けられている程度を反映している値がしきい値を満たしていることを判定することに基づいて、１つ以上の品質管理プロセスを実行せずに特定の候補交差点を検証済みとして指定することと、を含む。
【００１４】
交差点テンプレートは、例えば、１つ以上の品質管理プロセスを実行することによって正当なものとして指定された交差点のフィンガープリントとすることができる。
【００１５】
いくつかの実装形態では、上記の方法は、１つ以上のコンピュータシステム、例えば、１つ以上の処理デバイスと、１つ以上の処理デバイスによって実行されたときに上記の動作を実行するように動作可能な命令を格納する１つ以上の格納デバイスと、を含むシステムによって実行することができる。いくつかの実装形態では、１つ以上のコンピュータ可読格納媒体が、コンピュータプログラムを格納し、コンピュータプログラムは、１つ以上の処理デバイスによって実行されると１つ以上の処理デバイスに上記の動作を実行させる命令を含む。
【００１６】
開示されたシステム、手法、および方法の特定の実装形態は、特定の特徴および利点を有する。候補交差点の記述は、そのフィンガープリントをすでに検証済みの交差点テンプレートと比較し、追加の品質管理プロセスを実行する必要をなくし、検証に必要な時間とコンピューティングリソースとを削減することによって検証することができる。例えば、交差点フィンガープリントをすでに検証済みの交差点テンプレートと比較すると、複数の検証手段（例えば、互換性のある車線管制、疑わしい車線の終了、疑わしい合流、および疑わしい車線の交差）を同時に評価でき、検証手段を個別におよび／または順次評価する方法と比較して検証プロセスを高速化する。加えて、高レベルの交差点表現を生成するか、または多くの自動品質管理プロセスに必要な有意な交差点構造（例えば、専用のターン車線またはスリップ車線）を特定するために注釈付き交差点データの計算集約型のモデリングと分析とを必要とするのではなく、交差点フィンガープリントは、個々の車線および車線ペアの属性のセットに基づいて交差点構造を区別でき、大幅に少ない計算量での検証を提供する。場合によっては、固有のまたは異常な交差点の特徴を、フィンガープリント、および追加の品質管理手段に送られた、または人的品質管理エンジニアの注意を引く、それらの特徴において特定することができる。
【００１７】
いくつかの実装形態では、交差点フィンガープリントをロードグラフの交差点表現と一緒に格納し、ロードグラフの更新中のエラーを防ぐために使用することができる。例えば、ロードグラフの更新により、交差点での止まれ標識が削除され得る。更新された交差点のフィンガープリントが元の交差点のフィンガープリントまたはすでに検証済みの交差点テンプレートのフィンガープリントと十分に異なる場合、システムは、その更新に潜在的なエラーとしてフラグを付け、更新された交差点を追加の品質管理プロセスに送ることができる。
【００１８】
検証に加えて、検証済みの交差点のセットのフィンガープリントを分析することに基づいて、この方法は、ソフトウェアアプリケーションまたは地図およびロードグラフを作成する人間によって使用できる交差点について１つ以上の推論を行うことができる。例えば、システムは、入力と出力の車線のセットのフィンガープリントおよび／または特定の交差点の交通管制信号に基づいて、特定の交差点の記述が欠落している不完全なロードグラフに対して交差点を生成し得、そのシステムは、１つ以上の互換性のある、すでに検証済みの交差点テンプレートを特定し、選択したテンプレートの記述を追加して、ロードグラフを完成させることができる。
【００１９】
別の例として、システムは、交差点の反対側の車線構成に基づいて、交差点の片側の予想される車線構成を決定することができる。さらに別の例として、システムは、特定の交差点トポロジ（例えば、車線の配置、車線間の関係など）に基づいて、予想される信号機の構成を決定することができる。
【００２０】
１つ以上の実装形態の詳細は、添付図面および以下の説明において記述される。本開示の他の潜在的な特徴および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００２１】
【図１】１つ以上の品質管理プロセスを実行せずに道路の交差点を検証するためのシステムの例を示す図である。
【図２】１つ以上の品質管理プロセスを実行せずに道路の交差点を検証するための方法の例を示すフローチャートである。
【００２２】
様々な図面の中の同様の参照番号および名称は、同様の要素を示す。
【発明を実施するための形態】
【００２３】
図１は、１つ以上の品質管理プロセスを実行せずに道路の交差点を検証するためのシステム１００の例を示す図である。システム１００は、検証済みのロードグラフデータをデータベース１７０に格納するコンピュータシステム１１０を含む。コンピュータシステム１１０はまた、データがデータベース１７０に格納される前に、ロードグラフデータを検証するために様々な品質管理プロセスを実行することができる品質保証エンジン１６０を含む。
【００２４】
いくつかの道路の交差点について、コンピュータシステム１１０は、品質管理プロセスを実行せずに交差点の候補記述を検証することができる。これらの交差点について、システム１１０は、候補交差点を記述する注釈付き交差点データ１２２を受信し、データ１２２に基づいて、候補交差点の交差点フィンガープリント１４２を生成する。生成されたフィンガープリント１４２を処理することにより、コンピュータシステム１１０は、品質保証エンジン１６０の品質管理プロセスを実行せずに、候補交差点を検証済みとして指定することができ、検証に必要な時間および計算リソースを削減する。図１は、ステージ（Ａ）〜（Ｄ）を含み、これらは、１つ以上の品質管理プロセスを実行せずに道路の交差点を検証するためのプロセスフローを表す。
【００２５】
ロードグラフには、道路網を記述するデータが含まれている。地図と同様に、ロードグラフデータは、経路計画のために使用される道路、交差点、および他の構造物の位置を示す。ロードグラフデータには、特定の車線を示すデータ、交通管制デバイス（例えば、止まれ標識、譲れ標識）、運転規則（例えば、ターン制限、カープール車線）、およびナビゲーションに使用される他のデータを含む、車両ナビゲーションに関連する道路の特徴も含まれる。有人または自動運転車両のナビゲーションシステムなどの車両ナビゲーションシステムは、ロードグラフデータを使用して、車両の安全で合法的な軌道を計画し、道を譲る判断の優先順位を理解し、道路上の他の車両の挙動を予測することができる。
【００２６】
ロードグラフデータには、道路の交差点を記述するデータが含まれている。道路の交差点は、異なる向きと速度の車両が近接して相互作用する道路網内の領域である。例えば、道路の交差点は、２つ以上の道路が交差する場合、道路が別の道路に合流する場合、または道路が複数の道路に分岐する場合に発生することができる。いくつかの実装形態では、交差点は、交差点を通過する車線の各々へのリンク、ならびに各交差点に関連付けられた交通管制（例えば、信号機、止まれ標識、譲れ標識）を備えた多角形の領域としてロードグラフに表される。
【００２７】
交差点での潜在的な車両の相互作用の複雑さは、衝突のリスクを高め、交差点を記述するロードグラフデータが正確で完全であることが確実であることが特に重要になる。ロードグラフの交差点の記述の正確性を確実にするために、システムは、１つ以上の品質管理プロセスを正常に完了させるために交差点の候補記述を必要とする場合がある。品質管理プロセスは、コンピュータシステムまたは場合によっては人間のオペレータによって実装することができる。例えば、品質保証エンジン１６０は、交差点の一連の規則に対して候補交差点を分析するか、または交差点記述における一般的なエラーについて候補交差点を検索する、１つ以上の品質管理プロセスを自動的に実行することができる。いくつかの実装形態では、品質管理プロセスのうちの１つ以上は、人間のオペレータからの入力を必要とし得る（例えば、エラーを特定およびラベル付けするために）。次に、品質保証エンジン１６０は、１つ以上の品質管理プロセスを正常に完了させた候補交差点を検証済みとして指定し、検証済みの候補交差点の表現をロードグラフデータとしてロードグラフデータベースに格納することができる。
【００２８】
多くの自動検証プロセスでは、交差点の正当性を判定するために、交差点の高レベルの表現の生成（例えば、交差点を２つの停止がある４方向の交差点として特徴付けること）、または特定の交差点構造（例えば、専用のターン車線、スリップ車線）の特定を必要とする。ただし、このような高レベルの表現を生成すること、および特定の交差構造を特定することは、信頼性が低くなり得、広範なモデリングと分析とが必要になる可能性がある。他のプロセスは、すべての状況で実行される品質管理プロセスに依存しているか、または人間のオペレータ入力を必要とし、検証プロセスが大幅に遅くなる可能性がある。システム１００は、すべての状況において品質保証エンジン１６０による品質管理プロセスの実行を必要とせずに候補交差点の記述の検証を可能にし、検証に必要な時間および計算リソースを削減する。
【００２９】
システム１００は、コンピュータシステム１１０を含む。コンピュータシステム１１０は、例えば、システム１００に対して様々な動作を実行するための命令を実施する１つ以上のコンピュータまたはサーバ、例えば、サーバシステムとすることができる。コンピュータシステム１１０は、１つ以上のＣＰＵ、ＧＰＵ、メモリシステム、または１つ以上のプロセッサ、チップセット、汎用コンピューティングシステム、メモリシステム、およびデータストレージシステムなどの他のコンピュータハードウェアを含むことができる。いくつかの実装形態では、コンピュータシステム１１０は、クラウドコンピューティングプラットフォーム、または別のリモートおよび／または分散コンピューティングシステムを含むことができる。
【００３０】
コンピュータシステム１１０は、プロセスの様々なステップを実行するための１つ以上のプロセスモジュールを含む。例えば、コンピュータシステム１１０は、インターフェースモジュール１２０、属性エンジン１３０、フィンガープリント生成器１４０、ロードグラフマネージャ１５０、および品質保証エンジン１６０を含むことができる。モジュールは、ハードウェアおよび／またはソフトウェアの任意の組み合わせで実装することができる。例えば、１つ以上のモジュールが、コンピュータ１１０のオペレーティングシステムによって実施されるソフトウェアアプリケーションとして実装され得る。いくつかの実装形態では、モジュールのうちの１つ以上に、デジタル信号処理ハードウェア、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、または他の特殊なハードウェアなどの専用処理ハードウェアを含めることができる。
【００３１】
ステージ（Ａ）において、インターフェースモジュール１２０は、候補交差点の注釈付き交差点データ１２２を受信する。注釈付き交差点データ１２２は、例えば、候補交差点の画像データまたは候補交差点のレーダーデータ（例えば、空中カメラ、または車両に取り付けられたカメラもしくはレーダーシステムによって取得されたデータ）とすることができ、画像データまたはレーダーデータには、交差点の様々な特徴を示すために注釈が付けられている。例えば、データ１２２に、交差点の１つ以上の車線、合法的なターン用車線、合流車線、または他の車線特徴に沿った走行の位置および方向を示すために注釈を付けることができる。データ１２２にはまた、信号機、止まれ標識、および譲れ標識などの交通管制デバイスの存在を示すために注釈を付けることができる。場合によっては、注釈は、Ｕターンまたはカープールのみの車線の禁止など、候補交差点の合法的な運転制限を示すことができる。
【００３２】
データ１２２には、例えば、コンピュータシステム１１０またはデータ１２２を処理して注釈を生成する別のコンピュータシステムによって自動的に注釈を付けることができる。データ１２２にはまた、例えば、データ１２２を評価し、注釈をコンピュータシステムに入力する１人以上の人間によって、手動で注釈を付けることができる。
【００３３】
図１の例では、コンピュータシステム１２２は、特定の候補交差点「１００１２３」のデータを含む注釈付き交差点データ１２２を受信する。注釈付き交差点データ１２２は、他の特徴の中でもとりわけ、通過車線（例えば、車線は、交差点に入る側とは反対の側で交差点を出る）である車線ｋ、および右折車線である車線ｊの表示を含む。注釈付き交差点データ１２２はまた、車線ｊおよびｋの両方が止まれ標識によって管制されていることを示している。
【００３４】
ステージ（Ｂ）において、属性エンジン１３０は、注釈付きデータ１２２に基づいて、候補交差点に対して１つ以上の車線属性１３２を決定する。属性エンジン１３０によって決定された車線属性１３２は、交差点を様々な交差点タイプおよびジオメトリに分類し、それらを区別するためにシステム１００によって使用され得る候補交差点の１つ以上の車線のトポロジプロパティを記述する。トポロジ車線プロパティは、交差点の特定のジオメトリ（例えば、交差点の一部を伸ばす、交差点を回転させる、交差点を縮小する、または他の幾何学的歪みなどの幾何学的歪みの影響を受けないプロパティ）に対して不変である、個々の車線の特徴（例えば、走行方向、車線のタイプ、車線の交通管制デバイス）、またはいくつかの車線間の関係（例えば、車線の数、車線の配置、車線のファンアウト）を記述することができる。典型的に、車線属性１３２は、車線の幅、車線間の距離、車線間の角度、または幾何学的歪みに対して敏感な他の幾何学的プロパティなどの交差点の幾何学的プロパティを含まない。
【００３５】
図１に示すように、車線属性１３２は、個々の車線のプロパティ（例えば、「車線ｊのプロパティ」、「車線ｋのプロパティ」）を示すことができる。例えば、属性１３２は、車線の走行方向、車線が通過車線（例えば、車線が交差点に入る側とは反対の側で交差点を出る）、ターン車線、Ｕターン車線、または別のタイプの車線であるかどうかを示すことができる。属性１３２は、車線が信号機、止まれ標識、譲れ標識、または別の交通管制メカニズムによって管制されているかどうかを示すことができる。いくつかの実装形態では、属性１３２は、車線が、信号機または止まれ標識がない場合でも（例えば、駐車場を出るとき）、運転規則において車両を停止することが要求される「暗黙の停止」を含むかどうかを示すことができる。
【００３６】
個々の車線属性１３２は、車線の優先順位、例えば、車線を走行する交通が交差点の別の車線を走行する交通に譲らなければならないかどうかを示すことができる。例えば、交差点の反対側の２つの車線を接続する通過車線を、交差点の隣接する側の２つの車線を接続するターン車線よりも優先させ得る。いくつかの実装形態では、属性１３２は、特定の個々の車線に関連付けられる信頼レベル（例えば、注釈によって示される車線指定およびトポロジが真の車線特徴を表す可能性）を示すことができる。
【００３７】
個々の車線属性１３２はまた、候補交差点の車線が有する入口または出口の兄弟の数を示すことができる。入口の兄弟は、共通の先行（例えば、入口）車線を共有する車線であり、出口の兄弟は、共通の後続（例えば、出口）車線を共有する車線である。入口の兄弟は、車線のファンアウトを表し、出口の兄弟は、車線のファンインまたは合流を表す。
【００３８】
いくつかの実装形態では、個々の車線属性１３２は、特定の車線が別の車線と交差するかどうか、特定の車線が交差する他の車線の数、および／または特定の車線が交差する車線の優先順位またはタイプ（例えば、通過車線、ターン車線、合流車線）を示す。
【００３９】
属性１３２はまた、図１に示されるように、候補交差点の車線ペア（例えば、車線ｊ、ｋ）のプロパティを示すことができる。特定の車線ペアについて、車線ペア属性１３２は、２つの車線が共通の入口車線からファンアウトする入口の兄弟であるかどうか、または２つの車線が共通の出口車線へファンインする（例えば、合流する）出口の兄弟であるかどうかを示すプロパティを示すことができる。
【００４０】
車線ペア属性１３２はまた、車線の配置を示すことができる。例えば、属性１３２は、ある車線が別の車線に隣接しているかどうか、車線が共通の開始の向きを共有しているかどうか（例えば、車線の交通が同じ方向から交差点に入る）、または車線が共通の終了の向きを共有しているかどうか（例えば、車線の交通が同じ方向に交差点を出る）を示すことができる。車線ペア属性１３２は、２つの車線が反対の車線であるかどうかを示すことができる（例えば、車線は、反対の開始の向きおよび反対の終了の向きを有する）。
【００４１】
場合によっては、属性１３２は、類似しているが幾何学的に区別可能な交差点に存在し得る対称性を破るために選択された車線ペアプロパティを含むことができる。例えば、方向性（例えば、左または右）の概念がない場合、通過車線と専用の左折車線を含む交差点は、専用の右折車線を含む交差点と混同される可能性がある。そのような対称性を有する交差点を区別するために、属性１３２は、特定の車線ペアが他の車線の右（または左）にあるかどうかなどの方向性プロパティを含むことができる。いくつかの実装形態では、そのような方向性車線ペアプロパティ（例えば、車線ｊは車線ｋの右側にある）は、同様の情報を提供できる個々の車線プロパティ（例えば、車線ｊは専用の右折車線である）以上に、注釈付き交差点データ１２２からより確実に算出することができ、候補交差点のより堅牢な記述を提供する。
【００４２】
いくつかの実装形態では、属性エンジン１３０は、候補交差点の属性１３２を１つ以上の文字列にマッピングする。例えば、属性エンジン１３０は、車線または車線ペアがプロパティを呈するかどうかを示すバイナリ値（例えば、「０」または「１」）によって各プロパティを表すことができる。次に、エンジン１３０は、各車線のまたは車線ペアのプロパティを表すバイナリ値を連結することによって、交差点内の各車線ペアの文字列を生成することができる。
【００４３】
例えば、図１に示されるように、Ｎ本の車線との交差点について、属性エンジン１３０は、交差点の車線（ｊ、ｋ）の各ペアに対して１つの文字列であるＮ＊（Ｎ−１）個の文字列のセットを生成することができる。各文字列には、最初の部分文字列が、車線ｊの個々のプロパティを表し、２番目の部分文字列が、車線ｋの個々のプロパティを表し、３番目の部分文字列が、一緒に考慮される車線ｊおよびｋのプロパティ（例えば、車線ペアのプロパティ）を表す、３つの部分文字列を含めることができる。
【００４４】
ステージ（Ｃ）において、コンピュータシステム１１０のフィンガープリント生成器１４０は、車線属性１３２を示すデータを処理して、注釈付き交差点データ１２２によって記述された候補交差点の交差点フィンガープリント１４２を生成する。交差点フィンガープリント１４２は、車線属性１３２によってキャプチャされた交差点のトポロジプロパティに基づいているため、フィンガープリント１４２は、交差点内の車線のトポロジ構造およびその他の重要なロードグラフプロパティ（例えば、交通管制デバイスの存在）に敏感でありながら、実際の交差点で一般的な幾何学的な違い（例えば、車線の幅、車線間の角度、交差点の距離など）に対して不変である、候補交差点の表現を提供する。
【００４５】
いくつかの実装形態では、フィンガープリント生成器１４０は、車線属性１３２を交差点フィンガープリント１４２（例えば、ハッシュ値）にマッピングするハッシュ関数である。例えば、生成器１４０は、候補交差点の車線ペア属性文字列を辞書式順序でソートし（例えば、文字列値に基づく順序付け）、それらを一緒に追加して、交差点フィンガープリント１４２のハッシュ値を生成することができる。文字列を追加する前に辞書式順序でソートすることにより、フィンガープリント１４２は車線の反復順序に対して不変になり得る。
【００４６】
いくつかの実装形態では、交差点の交差点フィンガープリントは、様々なレベルの特異性で生成および／または分析することができる。例えば、フィンガープリント生成器１４０は、候補交差点の車線属性１３２にキャプチャされた多数（例えば、すべて）のプロパティを使用して、より具体的な交差点フィンガープリント１４２を生成することができる。代替的に、生成器１４０は、より少ない数（例えば、選択されたセット）の車線属性１３２を使用して、候補交差点のより一般的な交差点フィンガープリント１４２を生成することができる。
【００４７】
個々の車線のおよび／または車線ペアの車線属性１３２のいずれかを使用して交差点フィンガープリント１４２を生成することができるが、選択された特定の属性１３２は、異なる交差点タイプおよびジオメトリを区別するシステム１００の能力に影響を及ぼし得る。いくつかの実装形態では、生成器１４０は、交差点の検証、交差点の区別、または他の分析目的に対し最小限の影響しか及ぼさないと判定された個々の車線のまたは車線ペアの特定の属性を意図的に除外し得る。
【００４８】
ステージ（Ｄ）において、生成されたフィンガープリント１４２に基づいて、ロードグラフマネージャ１５０は、注釈付き交差点データ１２２によって記述された候補交差点が、ロードグラフに追加できる正当な交差点を表すかどうかを評価する。いくつかの実装形態では、ロードグラフマネージャ１５０は、正当なものであるとわかっている交差点に対応する１つ以上の交差点テンプレートのセットにアクセスする。次に、マネージャ１５０は、交差点のフィンガープリント１４２を１つ以上の交差点テンプレートと比較することによって、候補交差点が正当なものであるかどうかを判定することができる。候補交差点フィンガープリント１４２がすでに検証済みの交差点テンプレートと十分に一致する場合、マネージャ１５０は、候補交差点を正当なものとして指定することができる。
【００４９】
交差点テンプレートは、様々な手法のいずれかによって生成することができる。いくつかの実装形態では、交差点テンプレートは、品質保証エンジン１６０、人間のオペレータ、または別の検証手法によって以前に検証された交差点のフィンガープリントまたは他の表現を決定することによって生成され得る。いくつかの実装形態では、交差点テンプレートは、類似のプロパティ（例えば、類似のフィンガープリント）を有する、以前に検証済みの交差点のクラスタを特定し、クラスタのフィンガープリントまたは他の表現を決定することによって生成される。１つ以上の交差点テンプレートは、候補交差点を検証する際に、ロードグラフマネージャ１５０によってアクセスすることができるデータベースに格納され得る（例えば、コンピュータシステム１１０のローカルメモリシステムに、またはネットワークを介してコンピュータシステム１１０によってアクセス可能なリモートメモリシステムに格納され得る）。
【００５０】
ロードグラフマネージャ１５０は、候補交差点フィンガープリント１４２を交差点テンプレートと比較して、特定の候補交差点が交差点テンプレートに関連付けられている程度を反映している値を生成することができる。その値は、例えば、候補交差点とテンプレートとが類似している程度、またはそれらが特定の交差点の特徴を共有している程度を示すことができる。いくつかの実装形態では、生成された値は、フィンガープリント１４２と交差点テンプレートとの間の距離（例えば、フィンガープリント１４２のハッシュ値と交差点テンプレートとの間の距離）である。いくつかの実装形態では、生成された値は、フィンガープリント１４２とテンプレートとが類似している程度を示す一致スコア（例えば、「一致」）、またはフィンガープリント１４２と交差点テンプレートとが同じ交差点のタイプまたはトポロジ（例えば、反対の向きの交差点への２つの入口に止まれ標識がある４方向の交差点）のものであるという信頼値である。
【００５１】
生成された値に基づいて、ロードグラフマネージャ１５０は、候補交差点を正当なものとして指定することができる。いくつかの実装形態では、マネージャ１５０は、候補交差点が交差点テンプレートに関連付けられている程度を反映している値がしきい値を満たす場合、候補交差点を正当なものとして指定する。
【００５２】
例えば、ロードグラフマネージャ１５０は、交差点フィンガープリント１４２のハッシュ値と交差点テンプレートとの間の生成された距離が特定の距離しきい値内にある場合、候補交差点を正当なものとして指定することができる。別の例では、マネージャ１５０は、フィンガープリント１４２と交差点テンプレートとの間で生成された一致スコアが特定の一致しきい値内にある場合（例えば、フィンガープリント１４２とテンプレートが特定の信頼水準と一致する場合）、候補交差点を正当なものとして指定することができる。さらに別の例では、マネージャ１５０は、生成された信頼値がフィンガープリント１４２とテンプレートとが特定のしきい値信頼レベルを有する同じ交差点トポロジのものであることを示す場合、候補交差点を正当なものとして指定することができる。
【００５３】
候補交差点を正当なものとして指定した後、ロードグラフマネージャ１５０は、候補交差点の表現１７２をロードグラフデータベース１７０に格納する。データベース１７０は、例えば、コンピュータシステム１１０によってアクセス可能であり、道路網を記述するロードグラフデータを格納する１つ以上のネットワーク接続ストレージ（ＮＡＳ）デバイスまたは他のメモリシステムとすることができる。検証済みの候補交差点の表現がロードグラフデータベース１７０に格納された後、検証済みの交差点の表現を含むロードグラフデータは、経路計画およびナビゲーションのために車両に利用可能にすることができる。
【００５４】
ロードグラフデータベース１７０に格納された候補交差点の表現１７２は、ロードグラフ内の交差点を記述するために必要な様々なデータのいずれかを含むことができる。例えば、表現１７２は、候補交差点の注釈付き交差点データ１２２および／または属性エンジン１３０によって決定された車線属性１３２の一部またはすべてを含むことができる。いくつかの実装形態では、表現１７２は、候補交差点の交差点フィンガープリント１４２を示すデータ、または候補交差点に関連付けられているタイプ、トポロジ、または交差点テンプレートを特定する他の情報を含む。
【００５５】
ロードグラフマネージャ１５０が候補交差点を正当なものとして指定しない場合（例えば、候補交差点が交差点テンプレートに関連付けられている程度を反映している値がしきい値を満たさない）、マネージャは、注釈付き交差点データ１２２および任意の他の必要な交差点データを品質保証エンジン１６０に提供することができる。次に、品質保証エンジン１６０は、注釈付き交差点データ１２２に対して１つ以上の品質管理プロセスを実行して、候補交差点が正当な交差点であるかどうかを判定することができる。次に、エンジン１６０は、検証済みの候補交差点の表現をロードグラフデータベース１７０に格納することができる。
【００５６】
典型的に、品質保証エンジン１６０は、特定の候補交差点が正当なものであるかどうかを判定するために、様々な自動、半自動（例えば、制限された人間のオペレータ入力を伴う）、または人間のオペレータによって実行される品質管理プロセスを含む。いくつかの例では、品質管理プロセスは、１つ以上の検証手段（例えば、互換性のある車線管制、疑わしい車線の終了、疑わしい合流、および疑わしい車線の交差）を評価し、これは、評価に必要な高レベルの表現を生成するためにデータ１２２の計算集約的なモデリングおよび分析を必要とし得る。他の例では、品質管理プロセスは、訓練を受けた人間のオペレータからの入力を必要とし（例えば、型破りな車線配置を確認するか、または疑わしい交差点の特徴のラベル付けを確認するため）、これは、時間を費やし、ヒューマンエラーによる間違いを起こしやすい可能性がある。保証エンジン１６０の品質管理プロセスのうちの１つ以上を実行する必要なしに、候補交差点のサブセットがロードグラフマネージャ１５０によって検証されることを可能にすることによって、システム１００は、すでに検証済みの交差点テンプレートに関連付けることができるそれらの候補交差点を検証するためのより効率的かつ堅牢な方法を提供する。
【００５７】
他のいくつかの例では、品質保証エンジンは、後続の検証のために、特定の候補交差点の新しい注釈付き交差点データを取得または生成するようにインターフェースモジュール１２０に指示し得る。新しい注釈付き交差点データの取得または生成には、例えば、特定の候補交差点に注釈を付けるための異なる注釈アルゴリズムまたはスキーム、すなわち、より計算コストの高い注釈アルゴリズムを呼び出す、同じまたは異なる自動画像認識プロセスを使用した特定の候補交差点の画像データの再認識、または特定の候補交差点に注釈を付ける際に使用するために特定の候補交差点に関連付けられた追加または拡張データ、すなわちより高品質の画像の取得が伴い得る。
【００５８】
いくつかの実装形態では、システム１００は、ロードグラフ内のエラーを特定するための効率的かつ効果的な手段をさらに提供する。例えば、ロードグラフ内の交差点ごとに、システムは、候補交差点について前述したように、フィンガープリントを生成し、生成されたフィンガープリントを分析して、一般的な交差点のタイプとトポロジとを表す交差点のクラスタを特定することができる。特定されたクラスタに基づいて、システム１００は、共通の交差点クラスタと十分に一致しない任意の外れ値の交差点フィンガープリントを特定することができる。次に、外れ値の交差点は、潜在的なエラーを含むものとしてラベル付けされ得、さらなる検査のためにフラグを立てることができる（例えば、品質保証エンジン１６０または人間のオペレータによって実行されるプロセスなどの品質管理プロセスによって）。いくつかの実装形態では、システム１００は、外れ値の交差点を近くの交差点クラスタから区別する１つ以上の車線プロパティを特定することによって、潜在的なエラーを特徴付けることができてもよい。いくつかの実装形態では、交差点クラスタを使用して、ロードグラフマネージャによって実行される検証プロセスのための交差点テンプレートを決定することができる（例えば、交差点クラスタを表す交差点テンプレートを生成することによって）。
【００５９】
場合によっては、注釈プロセスでの間違いが原因で交差点が外れ値になり得（例えば、交差点フィンガープリントが真の交差点トポロジを表していなかった）、その場合、注釈を修正することができる。例えば、交差点の注釈付きデータ１２２は、不完全である（例えば、１つ以上の車線、交通管制デバイスなどの欠落）か、または誤ってラベル付けされ得る。外れ値の交差点は、交差点を含むロードグラフが車両に提供される前に、コンピュータアルゴリズムまたは人間のオペレータによるさらなるレビューおよび修正のためにフラグを立てることができる。いくつかの例では、外れ値の交差点を分析して、注釈プロセスでの一般的なエラー（例えば、駐車場の入口および出口の表現の一貫性の欠如、複数の車線にわたるターンの誤ったマッピング）を決定することができる。次に、一般的なエラーに関する情報を使用して、人間またはコンピュータで実装された注釈プロセスを改善することができる。
【００６０】
他の場合では、実際の交差点の異常なまたは型破りなトポロジのために、交差点が外れ値となり得る。このような場合、特定の外れ値の交差点に経路計画中にフラグを立てて、異常なまたは型破りな交差点を通ってナビゲーションするときに潜在的に追加の注意を払う必要があることを車両に通知することができる。
【００６１】
いくつかの実装形態では、ロードグラフの交差点フィンガープリントを、他のマッピング、計画、およびナビゲーションの目的で分析することができる。例えば、システム１００は、特定の交差点でのナビゲーション試行の失敗または中止を示すデータを使用して、現在のアルゴリズムを使用して十分にナビゲーションされていない特定の交差点フィンガープリントまたは特徴を特定し、これによりアルゴリズム改善努力を指示することができる。別の例では、システムは、安全データ（例えば、様々な交差点での安全に関する出来事または事故を示す）を特定の交差点フィンガープリントまたは特徴と関連付けて、ナビゲーション中の追加の認識手段または予防措置から利益を得る特に危険な交差点タイプを特定することができてもよい。
【００６２】
図２は、１つ以上の品質管理プロセスを実行せずに道路の交差点を検証するための方法２００の例を示すフローチャートである。方法２００は、図１のコンピュータシステム１１０などの１つ以上のコンピュータシステムによって実行することができる。簡単に言えば、この方法は、候補交差点（２０２）の１つ以上の車線の属性を示す注釈付き交差点データを受信することと、注釈付き交差点データを処理して、候補交差点（２０４）の交差点フィンガープリントを生成することと、少なくとも交差点フィンガープリント（２０６）に基づいて候補交差点を検証済みとして指定することと、候補交差点の表現をロードグラフ（２０８）に格納することと、を含む。いくつかの実装形態では、方法２００を実行するコンピュータシステムは、品質保証エンジン、１つ以上のデータベース、およびロードグラフマネージャを含み、品質保証エンジンは、１つ以上の品質管理プロセスを正常に完了させた候補交差点を検証するように構成されており、１つ以上のデータベースは、検証済みのロードグラフを格納するように構成されており、ロードグラフマネージャは、ロードグラフ内に検証済みの候補交差点の表現を生じさせる。
【００６３】
より詳細には、方法２００は、コンピュータシステムによって、候補交差点（２０２）の１つ以上の車線の属性を示す注釈付き交差点データを受信することを含む。注釈付き交差点データは、例えば、画像データ、レーダーデータ、ライダーデータ、地図データ、または交差点（例えば、候補交差点）の特定の提案された表現のトポロジ構造を記述する他のデータの注釈付きバージョンとすることができる。いくつかの実装形態では、注釈付き交差点データは、コンピュータシステムによって生成される（例えば、画像処理または他のデータ分析手法を使用して画像に注釈を付けるアルゴリズムによって）。いくつかの実装形態では、注釈付き交差点データは、訓練された人間のオペレータによって生成された注釈を含む。
【００６４】
注釈付き交差点データには、候補交差点の１つ以上の車線の１つ以上の属性を示す注釈および／またはラベルが含まれる。属性には、車線の位置、車線内の交通の方向、車線の配向、車線のファンアウトまたはファンインなど、交差点の個々の車線、および／または車線に存在する交通管制デバイス（例えば、止まれ標識、信号機、譲れ標識）に関するプロパティを含むことができる。属性には、車線の配置（例えば、ある車線が別の車線の左または右にあるかどうか、車線が共通の向きを共有しているかどうか、車線が入口または出口の兄弟であるかどうか）など、交差点の車線ペアに関するプロパティ（例えば、車線ペアプロパティ）を含むこともできる。概して、注釈付きの交差データによって示される属性には、幾何学的歪みの下で変化しないトポロジ属性が含まれる。
【００６５】
いくつかの実装形態では、候補交差点の属性は、特定のプロパティが交差点に存在するかどうかを示すバイナリ値（例えば、「０」および「１」）によって表される。例えば、システムは、候補交差点のバイナリ値の１つ以上の文字列を生成し得、各文字列は、注釈付き交差点データで記述されているように、交差点の車線ペア（ｊ、ｋ）のプロパティを示す。いくつかの実装形態では、車線ペア（ｊ、ｋ）の各文字列には、車線ｊの個々の車線プロパティを示す１番目の部分文字列、車線ｋの個々の車線プロパティを示す２番目の部分文字列、および車線ペア（ｊ、ｋ）の車線ペアプロパティを示す３番目の部分文字列の３つの部分文字列が含まれる。
【００６６】
コンピュータシステムは、注釈付き交差点データを処理して、候補交差点（２０４）の交差点フィンガープリントを生成する。いくつかの実装形態では、システムは、ハッシュ値である交差点フィンガープリントを生成する。例えば、候補交差点属性が各車線ペアの文字列によって表される場合、システムは、各車線ペアの文字列を辞書式順序でソートし、文字列を結合して（例えば、それらを連結または追加して）フィンガープリントハッシュ値を生成し得る。
【００６７】
交差点フィンガープリントは、候補交差点のトポロジ車線属性のみに基づいて生成されるため、候補交差点の車線のトポロジ構造に敏感でありながら、候補交差点の車線のジオメトリに対して不変である。例えば、交差点フィンガープリントは、車線の数、車線の配置、車線のファンアウト、または車線の合流などのトポロジプロパティに敏感でありながら、車線の幅、車線間の距離、車線間の角度、またはターン車線の半径などの交差点の車線の幾何学的プロパティ（例えば、幾何学的な歪みの下で変化するプロパティ）に対して不変とすることができる。
【００６８】
少なくとも交差点フィンガープリントに基づいて、コンピュータシステムは候補交差点を検証済みとして指定する（２０６）。いくつかの実装形態では、システムは、コンピュータシステムの品質保証エンジンによって実行されるであろう１つ以上の品質管理プロセスを実行せずに、候補交差点を検証済みとして指定する。
【００６９】
例えば、システムは、交差点フィンガープリントを、すでに検証済みの交差点を記述する交差点テンプレートと比較し、候補交差点が交差点テンプレートに関連付けられている程度を反映している値を生成することができる。いくつかの実装形態では、交差点テンプレートは、すでに検証済みの交差点のフィンガープリントのハッシュ値であり、生成された値は、候補交差点フィンガープリントのハッシュ値と交差点テンプレートとの間の距離である。生成された値はまた、候補交差点と交差点テンプレートとの間の類似性のレベルを示す一致スコア、候補交差点と交差点テンプレートとが同じタイプのものであるという信頼度を示す信頼値、または候補交差点と交差点テンプレートとの間の関連付けを示す別の値とすることができる。
【００７０】
生成された値がしきい値を満たしているとシステムが判定した場合、システムは、１つ以上の品質管理プロセスを実行せずに、候補交差点を検証済みとして指定することができる。例えば、システムは、候補交差点フィンガープリントのハッシュ値と交差点テンプレートとの間の生成された距離が距離しきい値内にあること、候補交差点と交差点テンプレートとの間の類似性を示す生成された一致スコアが一致しきい値内にあること、または候補交差点と交差点テンプレートとが同じ交差点トポロジのものであるという生成された信頼値がしきい値の信頼水準を満たしていることを判定することができる。
【００７１】
いくつかの実装形態では、交差点テンプレートは、システムによって生成され（例えば、すでに検証済みの交差点のフィンガープリントを分析することによって）、メモリシステムに格納され、生成された候補交差点フィンガープリントと比較するためにシステムによってアクセスされる。いくつかの実装形態では、交差点テンプレートは、１つ以上の品質管理プロセス（例えば、品質保証エンジンまたは人間のオペレータによって実行されるプロセス）を正常に完了させることによって正当なものとして指定された交差点のフィンガープリントとすることができる。
【００７２】
候補交差点を正当なものとして指定することに応答して、コンピュータシステムは、候補交差点の表現をロードグラフ（２０８）に格納する。いくつかの実装形態では、候補交差点の表現は、ロードグラフデータベースの一部であるロードグラフに格納される。ロードグラフに格納された候補交差点の表現には、注釈付き交差点データの一部またはすべてを含めることができる。格納された表現はまた、候補交差点の属性のうちの１つ以上を示すデータ、ならびに候補交差点の生成されたフィンガープリントを示すデータを含むことができる。表現を格納した後、検証済みの候補交差点の表現を含むロードグラフデータを、ナビゲーションおよび経路計画のために車両に提供することができる。
【００７３】
本明細書で説明された本発明の実施形態および機能的動作のすべては、デジタル電子回路内に、または本明細書に開示された構造およびそれらの構造上の均等物を含むコンピュータソフトウェア、ファームウェア、もしくはハードウェア内に、またはそれらのうちの１つ以上を組み合わせて実装され得る。本発明の実施形態は、１つ以上のコンピュータプログラム製品、すなわち、データ処理装置により実施するための、またはデータ処理装置の動作を管制するための、コンピュータ可読媒体上に符号化されたコンピュータプログラム命令の１つ以上のモジュールとして実装され得る。コンピュータ可読媒体は、非一時的なコンピュータ可読格納媒体、機械可読ストレージデバイス、機械可読ストレージ基板、メモリデバイス、機械可読伝播信号を引き起こす物質の組成物、またはこれらのうちの１つ以上の組み合わせであり得る。「データ処理装置」という用語は、データを処理するためのすべての装置、デバイス、および機械を包含し、それらには、例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータが含まれる。装置は、ハードウェアに加えて、コンピュータプログラムのための実施環境を作り出すコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの１つ以上の組み合わせを構成するコードを含み得る。伝播信号は、人工的に生成された信号、例えば、好適な受信機装置に伝送するための情報を符号化するように生成される、機械で生成された電気的、光学的、または電気磁気的信号である。
【００７４】
コンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られている）は、コンパイル式またはインタープリット式言語を含む、任意の形式のプログラミング言語で書かれてもよく、独立型プログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境で使用するために好適な他のユニットとして含まれる任意の形式でデプロイされ得る。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応する必要はない。プログラムは、他のプログラムまたはデータを保持するファイルの一部（例えばマークアップ言語ドキュメントに格納された１つ以上のスクリプト）に、かかるプログラム専用の単一ファイルに、または複数の調整ファイル（例えば、１つ以上のモジュール、サブプログラム、もしくはコードの一部を格納するファイル）に格納され得る。コンピュータプログラムは、１つのサイトに配置されるか、または複数のサイトにわたって分散、かつ通信ネットワークにより相互接続された、１つのコンピュータ上または複数のコンピュータ上に実施されるようにデプロイされ得る。
【００７５】
本明細書で説明されたプロセスおよびロジックフローは、１つ以上のコンピュータプログラムを実施する１つ以上のプログラマブルプロセッサによって実行されて、入力データ上で動作し、出力を生成することによって機能を実行し得る。プロセスおよびロジックフローはまた、専用論理回路、例えば、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）またはＡＳＩＣ（特定用途向け集積回路）によって実行され得、装置もまた、そのようなものとして実装され得る。
【００７６】
コンピュータプログラムの実施のために好適なプロセッサとしては、例として、汎用および専用の両用マイクロプロセッサ、ならびに任意の種類のデジタルコンピュータのうちの任意の１つ以上のプロセッサが含まれる。概して、プロセッサは、読み取り専用メモリもしくはランダムアクセスメモリ、またはその両方から命令および／またはデータを受信することになる。コンピュータの必須要素は、命令を実行するためのプロセッサ、ならびに命令およびデータを格納するための１つ以上のメモリデバイスである。概して、コンピュータはまた、データを格納するための１つ以上の大容量ストレージデバイス、例えば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むか、または大容量ストレージデバイスからデータを受信、もしくはデータを転送、またはその両方を行うように動作可能に結合される。しかしながら、コンピュータは必ずしもそのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、例えば、ごく一部ながら例を挙げると、タブレットコンピュータ、携帯電話、携帯情報端末（ＰＤＡ）、モバイルオーディオプレーヤ、全地球測位システム（ＧＰＳ）受信機に組み込まれ得る。コンピュータプログラム命令およびデータを格納するための好適なコンピュータ可読媒体には、不揮発性メモリ、媒体、およびメモリデバイスのすべての形態を含み、例として、半導体メモリデバイス（例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリデバイス）、磁気ディスク（例えば、内蔵ハードディスクまたは取り外し可能ディスク）、光磁気ディスク、ならびにＣＤ−ＲＯＭおよびＤＶＤ−ＲＯＭディスクが含まれる。プロセッサおよびメモリは、専用ロジック回路によって補足され、またはそれに組み込まれ得る。
【００７７】
ユーザとの対話を提供するために、本発明の実施形態は、コンピュータ上で実装され得、当該コンピュータは、ユーザに情報を表示するための表示デバイス、例えば、ＣＲＴ（陰極線管）もしくはＬＣＤ（液晶ディスプレイ）モニタ、ならびにユーザがコンピュータに入力を提供できるキーボードおよびポインティングデバイス（例えば、マウス、トラックボール）を有する。他の種類のデバイスを使用して、ユーザとの対話を提供してもよく、例えば、ユーザに提供されるフィードバックは、任意の形式の感覚的フィードバック（例えば、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバック）であり得、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形式で受信し得る。
【００７８】
本発明の実施形態は、バックエンドコンポーネント（例えば、データサーバとして）を含むか、またはミドルウェアコンポーネント（例えば、アプリケーションサーバ）を含むか、またはフロントエンドコンポーネント（例えば、ユーザが本発明の実装形態と対話し得るグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータ）を含む、コンピューティングシステム、または１つ以上のそのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組み合わせに実装され得る。システムのコンポーネントは、デジタルデータ通信の任意の形式または媒体、例えば、通信ネットワークによって相互接続し得る。通信ネットワークの例には、ローカルエリアネットワーク（「ＬＡＮ」）およびワイドエリアネットワーク（「ＷＡＮ」）、例えばインターネットが含まれる。
【００７９】
コンピューティングシステムには、クライアントとサーバとが含まれ得る。クライアントおよびサーバは概して、互いにリモートであり、典型的には通信ネットワークを介して相互作用する。クライアントとサーバとの関係は、それぞれのコンピュータで実行され、かつ互いにクライアントとサーバとの関係を有している、コンピュータプログラムによって生じる。
【００８０】
本明細書は、多くの特定例を含んでいるが、これらは、本発明の、または請求され得る事項の範囲に限定したものとして解釈されるべきではなく、むしろ本発明の特定の実施形態に対して特有の特徴の説明として解釈されるべきである。別々の実施形態の文脈で、本明細書に記載されている特定の特徴はまた、単一の実施形態の中に組み込んで実装することもできる。逆に、単一の実施形態の文脈で説明されている様々な特徴はまた、複数の実施形態の中で、別々に、または任意の好適なサブコンビネーションで実装され得る。さらに、特徴は、特定の組み合わせで作用するものとして上述され、および当初はそのように特許請求され得るが、場合によっては、特許請求された組み合わせからの１つ以上の特徴は、その組み合わせから削除され得、特許請求された組み合わせは、サブコンビネーションまたはサブコンビネーションの変形例に向けられ得る。
【００８１】
同様に、動作が特定の順序で図面に図示されているが、これは、所望の結果を達成するために、かかる動作がその示された特定の順序、もしくは一連の順序で実行されるべきであること、または例証したすべての動作が実行されるべきであることを要求するものとして理解されるべきではない。特定の状況では、マルチタスクおよび並列処理が有利な場合がある。さらに、上述した実施形態中の様々なシステムコンポーネントの分離は、すべての実施形態においてかかる分離を必要とするものとして理解されるべきではなく、記載されたプログラムコンポーネントおよびシステムは、一般に、単一のソフトウェア製品内にともに一体化されてもよく、または複数のソフトウェア製品にパッケージ化されてもよい。
【００８２】
こうして、本発明の特定の実施形態を説明した。他の実装形態は、以下の特許請求の範囲内に存在する。例えば、特許請求の範囲に記載された動作は、異なる順番で実行されてもよく、依然として望ましい結果を達成することができる。
【図１】
2021536593.tif 000003
【図２】
2021536593.tif 000004
【国際調査報告】
2021536593.tif 000005
2021536593.tif 000006
2021536593.tif 000007