IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ネイバーラボス コーポレーションの特許一覧

<>
  • 特開-車両位置決定方法及びシステム 図1
  • 特開-車両位置決定方法及びシステム 図2
  • 特開-車両位置決定方法及びシステム 図3
  • 特開-車両位置決定方法及びシステム 図4
  • 特開-車両位置決定方法及びシステム 図5
  • 特開-車両位置決定方法及びシステム 図6
  • 特開-車両位置決定方法及びシステム 図7
  • 特開-車両位置決定方法及びシステム 図8
  • 特開-車両位置決定方法及びシステム 図9
  • 特開-車両位置決定方法及びシステム 図10
  • 特開-車両位置決定方法及びシステム 図11
  • 特開-車両位置決定方法及びシステム 図12
  • 特開-車両位置決定方法及びシステム 図13
  • 特開-車両位置決定方法及びシステム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023099547
(43)【公開日】2023-07-13
(54)【発明の名称】車両位置決定方法及びシステム
(51)【国際特許分類】
   G01C 21/30 20060101AFI20230706BHJP
   G06T 7/00 20170101ALI20230706BHJP
   G06T 7/70 20170101ALI20230706BHJP
【FI】
G01C21/30
G06T7/00 650B
G06T7/70 A
【審査請求】有
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2023069947
(22)【出願日】2023-04-21
(62)【分割の表示】P 2022565783の分割
【原出願日】2021-02-01
(31)【優先権主張番号】10-2020-0055975
(32)【優先日】2020-05-11
(33)【優先権主張国・地域又は機関】KR
(71)【出願人】
【識別番号】319012978
【氏名又は名称】ネイバーラボス コーポレーション
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】イ ドンギュ
(72)【発明者】
【氏名】キム スジョン
(57)【要約】
【課題】 車両位置決定方法を提供する。
【解決手段】車両位置決定方法は、車両の第1の位置が含まれる道路領域内の複数の意味論的オブジェクトを示すベクトルマップを獲得するステップと、ベクトルマップをビットマップに変換するステップと、車両のイメージセンサにより撮像された複数のビューイメージを利用して、ローカルサブマップを生成するステップと、変換されたビットマップ及び生成されたローカルサブマップに基づいて、車両の第2の位置を決定するステップとを含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサにより遂行される車両位置決定方法において、
車両の第1の位置が含まれる特定地域内の複数の意味論的オブジェクトを示す地域ベクトルマップを受信するステップと、
前記受信された地域ベクトルマップから前記車両の第1の位置が含まれる第1の領域を選択することで、ベクトルマップを獲得するステップと、
前記獲得されたベクトルマップのうち、前記車両の第1の位置が含まれる第2の領域を選択することで、前記第2の領域が含まれるサブベクトルマップを生成するステップであって、前記第2の領域は前記第1の領域よりも小さいステップと、
前記サブベクトルマップ内の複数の意味論的オブジェクトのうち、前記車両の位置推定に使用される1つ以上の意味論的オブジェクトを選択するステップと、
前記選択された1つ以上の意味論的オブジェクトの各々に対応するイメージ形状を利用して、第1のビットマップを生成するステップと、
前記生成された第1のビットマップを利用して、前記車両の第2の位置を決定するステップとを含む、車両位置決定方法。
【請求項2】
前記ベクトルマップは、前記複数の意味論的オブジェクトに対応するクラス値を含み、
前記選択された1つ以上の意味論的オブジェクトの各々に対応するイメージ形状を利用して、第1のビットマップを生成するステップは、
前記選択された1つ以上の意味論的オブジェクトの各々に対応するクラス値を獲得するステップと、
前記獲得されたクラス値の各々に対応するイメージ形状を利用して、第1のビットマップを生成するステップとを含む、請求項1に記載の車両位置決定方法。
【請求項3】
前記生成された第1のビットマップのうち、前記車両の第1の位置が含まれる第3の領域に対応する第2のビットマップを生成するステップであって、前記第3の領域は前記第2の領域よりも小さいステップをさらに含み、
前記生成された第1のビットマップを利用して、前記車両の第2の位置を決定するステップは、
前記生成された第2のビットマップを利用して、前記車両の第2の位置を決定するステップを含む、請求項1に記載の車両位置決定方法。
【請求項4】
前記車両の第1の位置が含まれる第3の領域に対応する第2のビットマップを生成するステップは、
前記ビットマップ内の第3の領域の少なくとも一部の領域に関する情報を獲得するステップと、
前記獲得された情報を利用して、前記第2のビットマップを生成するステップとを含む、請求項3に記載の車両位置決定方法。
【請求項5】
前記車両と関連したローカルサブマップを生成するステップをさらに含み、
前記生成された第1のビットマップを利用して、前記車両の第2の位置を決定するステップは、
前記生成された第1のビットマップ及び前記ローカルサブマップに基づいて、前記車両の第2の位置を決定するステップを含む、請求項1に記載の車両位置決定方法。
【請求項6】
前記車両と関連したローカルサブマップを生成するステップは、
前記車両の周辺環境情報を含む複数のイメージを利用して、前記ローカルサブマップを生成するステップを含む、請求項5に記載の車両位置決定方法。
【請求項7】
前記車両の周辺環境情報を含む複数のイメージを利用して、前記ローカルサブマップを生成するステップは、
前記複数のイメージを利用して、複数のIPMマスクを生成するステップと、
前記複数のIPMマスクを、複数のIPMイメージに変換するステップと、
前記変換された複数のIPMマスクを連結させることで、前記ローカルサブマップを生成するステップとを含む、請求項6に記載の車両位置決定方法。
【請求項8】
前記車両は、前記車両の相対的位置を測定するように構成されたモーションセンサを含み、
前記複数のIPMマスクを、複数のIPMイメージに変換するステップは、
前記複数のIPMマスクを、前記モーションセンサから測定された前記車両の相対的位置が反映された複数のIPMイメージに変換するステップを含む、請求項7に記載の車両位置決定方法。
【請求項9】
前記複数のイメージを利用して、複数のIPMマスクを生成するステップは、
前記複数のイメージから抽出された複数の意味論的オブジェクトのうち、1つ以上の動的オブジェクトを選択するステップと、
前記複数のイメージ内において、前記複数の意味論的オブジェクトに対応する領域から前記選択された1つ以上の動的オブジェクトに対応する領域を除いた領域に基づいて、複数の参照イメージを生成するステップと、
前記生成された複数の参照イメージを利用して、複数のIPMマスクに対するリファイメントを遂行するステップとを含む、請求項7に記載の車両位置決定方法。
【請求項10】
前記生成された第1のビットマップ及び前記ローカルサブマップに基づいて、前記車両の第2の位置を決定するステップは、
前記第1のビットマップ及び前記ローカルサブマップを比較することで、前記第1のビットマップ及び前記ローカルサブマップの差異を決定するステップと、
前記車両の第1の位置及び前記決定された差異に基づいて前記車両の第2の位置を推定するステップとを含む、請求項5に記載の車両位置決定方法。
【請求項11】
前記第1のビットマップ及び前記ローカルサブマップを比較することで、前記第1のビットマップ及び前記ローカルサブマップの差異を決定するステップは、
前記車両の第1の位置から、X軸での差異、Y軸での差異、X軸方向からの回転を示す3-自由度の値を推定するステップを含む、請求項10に記載の車両位置決定方法。
【請求項12】
前記X軸方向から回転を示す値は、前記車両が眺める方向に関する情報を含む、請求項11に記載の車両位置決定方法。
【請求項13】
前記車両の第1の位置から、X軸での差異、Y軸での差異、X軸方向からの回転を示す3-自由度の値を推定するステップは、
前記第1のビットマップを既定の複数の角度を利用して回転させた複数のサンプルビットマップを生成するステップと、
前記複数のサンプルビットマップの各々と前記ローカルサブマップの間の相互相関を決定して複数のコストマップを生成するステップと、
前記生成された複数のコストマップに基づいて、前記3-自由度の値を推定するステップとを含む、請求項11に記載の車両位置決定方法。
【請求項14】
前記生成された複数のコストマップに基づいて、前記3-自由度の値を推定するステップは、
前記生成された複数のコストマップを連結してコストボリュームを生成するステップであって、前記コストボリュームは推定された複数の3-自由度の値に対する類似度を含むステップと、
前記コストボリュームにおいて類似度が最も高い3-自由度の値を前記3-自由度の値として推定するステップとを含む、請求項13に記載の車両位置決定方法。
【請求項15】
前記車両の第1の位置及び前記決定された差異に基づいて、前記車両の第2の位置を推定するステップは、
前記コストボリュームにおいて類似度が最も高い3-自由度の値に、前記コストボリュームの3-自由度の値の各々の単位値に該当する既定の大きさを適用することで、前記類似度が最も高い3-自由度の値に対する調整値を算出するステップと、
前記車両の第1の位置に前記算出された調整値を適用することで、前記車両の第2の位置を推定するステップとを含む、請求項14に記載の車両位置決定方法。
【請求項16】
前記推定された車両の第2の位置に対する信頼度を抽出するステップをさらに含み、
前記推定された車両の第2の位置はGPS上の座標で表示される、請求項15に記載の車両位置決定方法。
【請求項17】
前記推定された車両の第2の位置に対する信頼度を抽出するステップは、
前記コストボリュームにおいて既定の類似度以上の類似度を有する複数の3-自由度の値に対応する情報を抽出するステップと、
前記抽出された複数の3-自由度の値に対応する情報に、前記コストボリュームの単位値に対応する既定の大きさを適用することで、前記抽出された複数の3-自由度の値に対応する情報に対する調整値を算出するステップと、
前記推定された車両の第2の位置に対応するGPS座標上の方位に基づいて、前記複数の3-自由度の値に対応する情報に対する調整値を回転させるステップと、
前記回転された調整値に対する共分散行列を算出するステップと、
前記算出された共分散行列に基づいて、前記車両の第2の位置に対する信頼度を決定するステップとを含む、請求項16に記載の車両位置決定方法。
【請求項18】
前記共分散行列は、前記推定された車両の第2の位置の周辺に前記回転された複数の3-自由度の値に対応する情報に対する調整値の分布を示す、請求項17に記載の車両位置決定方法。
【請求項19】
請求項1乃至18のいずれか一項に記載の車両位置決定方法をコンピュータで実行するためのコンピュータ読み取り可能なコンピュータプログラム。
【請求項20】
車両位置決定システムであって、
メモリと、
前記メモリと連結され、前記メモリに含まれるコンピュータ読み取り可能な少なくとも1つのプログラムを実行するように構成された少なくとも1つのプロセッサとを含み、
前記少なくとも1つのプログラムは、
車両の第1の位置が含まれる特定地域内の複数の意味論的オブジェクトを示す地域ベクトルマップを受信し、
前記受信された地域ベクトルマップから前記車両の第1の位置が含まれる第1の領域を選択することで、ベクトルマップを獲得し、
前記獲得されたベクトルマップのうち、前記車両の第1の位置が含まれる第2の領域を選択することで、前記第2の領域が含まれるサブベクトルマップを生成し、ここで、前記第2の領域は前記第1の領域よりも小さく、
前記サブベクトルマップ内の複数の意味論的オブジェクトのうち、前記車両の位置推定に使用される1つ以上の意味論的オブジェクトを選択し、
前記選択された1つ以上の意味論的オブジェクトの各々に対応するイメージ形状を利用して、第1のビットマップを生成し、
前記生成された第1のビットマップを利用して、前記車両の第2の位置を決定する、
命令語を含む、車両位置決定システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、車両位置決定方法及びシステムに関し、具体的には、車両の大まかな位置でのベクトルマップを獲得し、車両のイメージセンサにより複数のビューイメージを撮像し、獲得したベクトルマップ及び撮像した複数のビューイメージを利用して、車両の位置を決定する車両位置決定方法及びシステムに関する。
【背景技術】
【0002】
最近、車両の現在位置に基づいてサービスを提供する事業モデルが増加している。代表的に、車両ナビゲーションサービスが提供されており、サービスのユーザは継続的に増加している。こうしたサービスにおいて、車両の現在位置を正確に把握することが重要である。特に、自動運転車両の導入に伴い、位置推定技術の正確度を高めるための研究が活発に進行されており、既存の自動運転車両の位置を測定するための方式としては、GPS(Global Positioning System)方式及び自動運転用MAP方式があった。
【0003】
既存のGPS方式を利用した自動運転車両の位置を推定する方式は、一般の車両に使用されるGPSモジュールの低い正確度(例えば、数m水準の誤差)により、車両の現在位置を正確に把握しにくいことがある。特に、都心地の建物密集地域、山間地域、駐車場、建物内に位置する場合などには、GPS信号を安定的に受信しにくいため、推定位置の誤差が大きく発生する恐れがあった。このような既存のGPSモジュールを利用した車両の位置推定に対する正確度を高めるために、高精密GPSモジュール(例えば、数cm水準の誤差が発生するGPSモジュール)を使用しなければならないが、このような高精密GPSモジュールは高価の装備であるため、車両の位置推定のためのサービスを提供するのに相当な費用が発生し得る。
【0004】
また、既存の自動運転用MAPは、MMS(Mobile Mapping System)車両を利用してマップを生成するために、広域のデータを取得しなければならない。このとき、広域のデータに基づいて生成されたマップを維持するために、広域にわたる高容量のデータを持続的に獲得しなければならない。すなわち、このようなMMS車両を利用したマップを生成して維持するためには、相当な費用が発生し得る。さらに、既存の自動運転用MAPの環境において、マップの維持保守のために自動運転車両が保有したマップのアップデート時にも、通信費用面において大容量の帯域幅(bandwidth)が要求されるという問題点がある。よって、高価のGPSモジュールを利用した測位方式及び/又は高費用のマップ生成方式を使用しなくても、車両の正確な位置を推定できる技術が要求されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】韓国公開特許第2014-0139444号
【発明の概要】
【発明が解決しようとする課題】
【0006】
本開示は、上記のような問題点を解決するための車両位置決定方法、コンピュータプログラム及び装置(システム)を提供する。
【0007】
車両の第1の位置が含まれた領域に対応するベクトルマップから変換されたビットマップと、車両のイメージセンサにより撮像された複数のビューイメージから生成されたローカルサブマップとを比較することで、車両の第2の位置を決定する車両位置決定方法及び装置が提供される。
【課題を解決するための手段】
【0008】
本開示は、方法、装置(システム)又はコンピュータプログラムを含む多様な方式により具現化され得る。
【0009】
本開示の一実施例によれば、少なくとも1つのプロセッサにより遂行される車両位置決定方法は、車両の第1の位置が含まれる道路領域内の複数の意味論的オブジェクトを示すベクトルマップを獲得するステップと、ベクトルマップをビットマップに変換するステップと、車両のイメージセンサにより撮像された複数のビューイメージを利用して、ローカルサブマップを生成するステップと、変換されたビットマップ及び生成されたローカルサブマップに基づいて、車両の第2の位置を決定するステップとを含む。
【0010】
本開示の一実施例に係る車両位置決定システムは、メモリと、メモリと連結され、メモリに含まれるコンピュータ読み取り可能な少なくとも1つのプログラムを実行するように構成された少なくとも1つのプロセッサとを含み、少なくとも1つのプログラムは、車両の第1の位置が含まれる道路領域内の複数の意味論的オブジェクトを示すベクトルマップを獲得し、ベクトルマップをビットマップに変換し、車両のイメージセンサにより撮像された複数のビューイメージを利用して、ローカルサブマップを生成し、変換されたビットマップ及び生成されたローカルサブマップに基づいて、車両の第2の位置を決定するための命令語を含む。
【発明の効果】
【0011】
本開示の多様な実施例では、普及型GPSモジュール、モーションセンサ及び普及型カメラを利用して、航空写真基盤のロードレイアウトマップ(ベクトルマップ)を車両の測位のために使用するので、相対的に低コストで車両の位置を決定できる。また、車両の位置は、GPSモジュールを使用できない都心地の陰影地域において、自動運転のために要求される正確度によって決定又は推定できる。
【0012】
本開示の多様な実施例では、広域のベクトルマップ情報が低容量の大きさを有するので、車両の保存媒体に保存できる。これにより、マップ情報を獲得するために毎回通信が遂行される必要はない。
【0013】
本開示の多様な実施例では、道路領域内の意味論的オブジェクトをベクトル化したベクトルマップ形態で保存することで、マップの保管費用及びアップデート費用を低減できる。
【図面の簡単な説明】
【0014】
本開示の実施例等は、以下の添付図面に基づいて説明される。ここで、類似の参照番号は類似の要素を示すが、これに限定されるものではない。
図1】本開示の一実施例に係る車両の位置を決定する例を示す図である。
図2】本開示の一実施例に係るコンピュータ装置及び情報処理システムの内部構成を示すブロック図である。
図3】本開示の一実施例に係るプロセッサの構成を示すブロック図である。
図4】本開示の一実施例に係るベクトルマップをビットマップに変換する過程の例を示す図である。
図5】本開示の一実施例に係る道路領域内の意味論的オブジェクトの例を示す図である。
図6】本開示の一実施例に係るベクトルマップをビットマップに変換する過程の例を示す図である。
図7】本開示の一実施例に係るベクトルマップから変換されたビットマップの例を示す図である。
図8】本開示の一実施例に係る複数のビューイメージを利用してローカルサブマップを生成する過程を示す図である。
図9】本開示の一実施例に係る複数のIPMイメージを利用してローカルサブマップを生成する例を示す図である。
図10】本開示の他の実施例に係るローカルサブマップを生成する例を示す図である。
図11】本開示の一実施例に係る車両の現在位置を決定する過程を示す図である。
図12】本開示の一実施例に係るビットマップ及びローカルサブマップに基づいて車両の位置を決定する例を示す図である。
図13】本開示の一実施例に係るコストマップから抽出された既定の類似度以上の類似度を有するポイントが抽出されたイメージの例を示す図である。
図14】本開示の一実施例に係る車両位置決定方法を示すフローチャートである。
【発明を実施するための形態】
【0015】
以下、本開示の実施のための具体的な内容を添付図面に基づいて詳細に説明する。ただし、以下の説明では、本開示の要旨を不要に不明瞭にする恐れがある場合、公知の機能や構成に関する具体的な説明は省略する。
【0016】
添付図面において、同一又は対応する構成要素には同一の参照符号が付与される。また、以下の実施例の説明において、同一又は対応する構成要素の重複記述は省略され得る。しかしながら、構成要素に関する記述が省略されても、そのような構成要素が、ある実施例に含まれないものと意図してはならない。
【0017】
開示の実施例の利点及び特徴、そしてそれらを達成する方法は、添付図面に基づいて後述する実施例を参照すれば明確になる。しかしながら、本開示は、以下で開示される実施例に限定されず、互いに異なる多様な形態で具現化され得る。但し、本実施例は、本開示が完全になるようにし、本開示が通常の技術者に発明のカテゴリを正確に認識させるために提供されるだけである。
【0018】
本明細書で使用される用語について簡略に説明し、開示の実施例について具体的に説明する。本明細書で使用される用語は、本開示での機能を考慮しつつ、可能な限り現在広く使用される一般的な用語を選択したが、これは関連分野に従事する技術者の意図又は判例、新技術の出現などにより変化し得る。また、特定の場合は出願人が任意で選定した用語もあり得るが、これらの意味は当該発明の説明の部分において詳細に記載する。よって、本開示で使用される用語は、単純な用語の名称ではなく、その用語が有する意味と本開示の全般にわたった内容に基づいて定義されるべきである。
【0019】
本明細書では、文脈上において明確に特定しない限り、単数の表現は複数の表現を含み、複数の表現は単数の表現を含むことができる。明細書の全般にわたり、ある部分がある構成要素を「含む」とする際、これは特に反対の記載がない限り、他の構成要素を除くものではなく、他の構成要素をさらに含むこともできることを意味する。
【0020】
また、明細書で使用される「モジュール」又は「部」という用語は、ソフトウェアやハードウェア構成要素を意味し、「モジュール」又は「部」はある役割を遂行する。しかしながら、「モジュール」又は「部」はソフトウェアやハードウェアに限定される意味ではない。「モジュール」又は「部」は、アドレッシング可能な保存媒体にあるように構成してもよく、1つ又はそれ以上のプロセッサを再生させるように構成してもよい。したがって、一例として、「モジュール」又は「部」は、ソフトウェア構成要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素、タスク構成要素のような構成要素、並びに、プロセス、関数、属性、プロシーザー、サブルーチン、プログラムコードのセグメント、ドライバー、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ又は変数のうちで少なくとも1つを含むことができる。構成要素と「モジュール」又は「部」は、内部で提供される機能はさらに小さい数の構成要素及び「モジュール」又は「部」で結合されたり、追加的な構成要素と「モジュール」又は「部」にさらに分離されたりすることができる。
【0021】
本開示の一実施例によれば、「モジュール」又は「部」はプロセッサ及びメモリで具現化され得る。「プロセッサ」は汎用プロセッサ、中央処理装置(CPU)、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、制御器、マイクロ制御器、状態マシンなどを含むように広く解釈されるべきである。いくつかの環境では、「プロセッサ」は特定用途向け半導体(ASIC)、プログラム可能なロジックデバイス(PLD)、フィールドプログラム可能なゲートアレイ(FPGA)等を称することもできる。「プロセッサ」は、例えば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサの組合せ、DSPコアと結合した1つ以上のマイクロプロセッサの組合せ、若しくは、任意の他のそのような構成等の組合せのような処理デバイスの組合せを称することもできる。また、「メモリ」は電子情報を保存可能な任意の電子コンポーネントを含むように広く解釈されるべきである。「メモリ」は、RAM(Random Access Memory)、ROM(Read Only Memory)、NVRAM(Non-Volatile Random Access Memory)、PROM(Programmable Read-Only Memory)、EPROM(Erasable Programmable Read-Only Memory)、EEPROM(Electrically Erasable Programmable Reda-Only Memory)、フラッシュメモリ、磁気又は光学データ保存装置、レジスタなどのようなプロセッサ読み取り可能な媒体の多様な類型を称することもできる。プロセッサがメモリから情報を読み取るか/メモリに読み取った情報を記録できる場合、メモリはプロセッサと電子通信状態にあると言われる。プロセッサに集積されたメモリはプロセッサと電子通信状態にある。
【0022】
本開示において、「ベクトルマップ(vector map)」は、特定地域又は道路領域に対して撮像された航空写真から生成されたロードレイアウトをベクトル化させた情報が含まれたマップを称することができる。このようなロードレイアウトは、特定道路領域又は位置を区分するのに使用されることができ、1つ以上の意味論的オブジェクトを含むことができる。例えば、ベクトルマップは、道路領域を区分できる任意のオブジェクト(例:道路マーカー、車線、境界線、横断歩道、停止線など)を意味論的オブジェクトとして含むことができる。このようなベクトルマップ内の意味論的オブジェクトにはクラス値が割り当てられるが、異なる意味論的オブジェクトには異なるクラス値が割り当てられる。また、本開示において、「ベクトルマップ」と共に「地域ベクトルマップ」、「サブベクトルマップ」の用語が使用されているが、地域ベクトルマップ及びサブベクトルマップは全部ベクトルマップの形態で表示できる。ただし、ベクトルマップ、地域ベクトルマップ及びサブベクトルマップの大きさは互いに異なることができる。
【0023】
本開示において、「意味論的(semantic)オブジェクト」は、イメージに含まれるオブジェクト及び/又はオブジェクトの境界線に意味論的クラスを付与した情報であり得る。意味論的クラスは、例えば、人、運転手、自動車、トラック、バス、汽車、オートバイ、自転車、道路、横断歩道、建物、壁、鉄条網、柱、交通信号機、道路標示板、植物、土地、空などのように識別しようとするオブジェクトの種類であり得る。
【0024】
本開示において、「ビットマップ(bitmap)」は、ビットの地図であると解析できるが、各ピクセルに保存された一連のビット情報の集合を含むことができる。また、ビットマップは、ベクトルマップをラスタ化した(rasterized)マップを称することができる。例えば、ビットマップは、ロードレイアウトベクトルマップをラスタ化したマップを称することができる。例えば、ビットマップ内の各ピクセルは「0」及び「1」の形態で表現でき、意味論的オブジェクトとしてセグメンテーションした特定領域に対してクラス値又は属性コードを付与できる。他の例として、ビットマップ内の各ピクセルはRGB形態で表現できる。
【0025】
本開示において、「ローカルサブマップ(local submap)」は、現在車両に装着されたカメラを介して周辺の環境情報を撮影して生成した情報を含むことができる。一実施例によれば、このようなローカルサブマップは、オンライン上においてリアルタイムで構築された周辺環境情報マップを含むことができる。また、ローカルサブマップは、リアルタイム高速処理により収集されるため、予め処理されて保存されたベクトルマップとのマッチングにより車両の位置測定に使用できる。
【0026】
図1は、本開示の一実施例に係る車両110の位置を決定する例を示す図である。一実施例によれば、車両110は、道路領域を運行しながら、ナビゲーションサービスを提供できる任意の車両であり得る。他の実施例によれば、車両110は、道路領域内において自動運転が可能な任意の車両であり得る。ここで、道路領域は、車両を運行できる任意の道路及び/又は道を含むことができる。
【0027】
車両110は、道路領域を運行しながら、車両110の第1の位置を推定できる。一実施例によれば、車両110の第1の位置は、車両110に内蔵又は搭載された普及型GPSモジュールを利用して算出できる。ここで、普及型GPSモジュールは、比較的低い正確度(例えば、数m水準の誤差)により推定された車両の位置を提供できる。他の実施例によれば、車両110の第1の位置は、特定時点で決定された車両110の位置を示すことができる。ここで、特定時点は、車両110の位置を決定する直前の時点を称することができる。また、車両110の第1の位置は、GPS座標及び/又は方位で表現できる。
【0028】
車両110は、車両110の第1の位置が含まれた道路領域120内の複数の意味論的(semantic)オブジェクトを示すベクトルマップを獲得できる。ここで、ベクトルマップは、撮像された航空写真から生成されたロードレイアウトに対するベクトル化した情報を含むことができる。また、ベクトルマップ内の意味論的オブジェクトは、複数の道路領域の各々を区分するのに使用できる任意のオブジェクトを示すことができるが、例えば、道路領域内の道路マーカー、車線、境界線、横断歩道、停止線などを含むことができる。このようなベクトルマップ内の意味論的オブジェクトにはクラス値が割り当てられるが、異なる意味論的オブジェクトには異なるクラス値が割り当てられる。一実施例によれば、車両110が図1の道路領域120に対してベクトルマップを獲得した場合、このようなベクトルマップは、道路領域120内の横断歩道130、停止線140、車線150などの意味論的オブジェクトに対するベクトルを含むことができる。このようなベクトルマップは、低容量の情報であるので、車両の測位のためのベクトルマップの保管又はアップデートの費用が、MMS車両を利用したマップの生成又はアップデートの費用よりも非常に低廉である。
【0029】
車両110は、車両110の第1の位置が含まれる特定領域に対するベクトルマップを外部装置から受信できる。ここで、外部装置は、車両110と通信できる任意の装置やシステムなどを称することができる。このように受信されたベクトルマップは車両110の保存装置に保存できる。例えば、車両110は、車両110の第1の位置が含まれる特定地域(例えば、特定の都、市、区、郡など)内の複数の意味論的オブジェクトを示す地域ベクトルマップをファイル形態で受信できる。
【0030】
車両110は、ベクトルマップをビットマップに変換できる。一実施例において、車両110は、意味論的オブジェクトがベクトルで表現されたベクトルマップからラスタ化されたマップ(rasterized map)を抽出(fetch(フェッチ))できる。一実施例によれば、車両110は、ベクトルマップから車両110の位置を決定するのに有用な意味論的オブジェクトに対応するクラス値を選択し、選択されたクラス値に対応するイメージ形態を利用してビットマップを生成できる。ここで、異なるクラス値には異なるイメージ形態が関連付けられる。例えば、ビットマップ生成のためにクラス値の「3」が選択され、クラス値の「3」が横断歩道を示す場合、クラス値が「3」に対応するビットマップ内のピクセル領域は、横断歩道に該当するイメージ形態で表現できる。ここで、ビットマップ内の複数のピクセルは「0」及び「1」で表現できる。すなわち、ビットマップに対応する複数のピクセルの各々は白色又は黒色で表現できる。
【0031】
車両は、車両110のイメージセンサにより撮像された複数のビューイメージを利用して、ローカルサブマップ(submap)を生成できる。ここで、イメージセンサは、カメラなどの任意の撮像装置に含まれ、車両110に内蔵又は搭載できる。例えば、このようなイメージセンサは、車両のフロントビューイメージ(front view image)を撮像するように配置できる。車両110に対するイメージセンサの配置に基づいて、車両110のイメージセンサ及び道路の地面間の位置関係を予め算出して保存できる。一実施例によれば、車両110は、車両に内蔵又は搭載されたイメージセンサを利用して複数のビューイメージを獲得した後、複数の意味論的オブジェクトを抽出できる。その後、車両110のイメージセンサ及び道路の地面間の位置関係に基づいて、抽出された意味論的オブジェクトを含むローカルサブマップを鳥瞰図(bird eye view)の形態で表現できる。さらには、こうしたローカルサブマップは、ビットマップと類似の方式により意味論的オブジェクトに対応するイメージ形態で表現できる。
【0032】
変換されたビットマップ及び生成されたローカルサブマップに基づいて、車両110の第2の位置を決定できる。車両110は、ビットマップ及びローカルサブマップを比較して、車両110の現在位置である第2の位置を決定できる。一実施例によれば、車両110は、ビットマップ及びローカルサブマップ間の類似度を測定することで、車両110の第2の位置を決定できる。例えば、車両110は、ビットマップ及びローカルサブマップを比較する際に、テンプレート(template)基盤のマッチングを遂行できる。このようなテンプレート基盤のマッチングにより、GPS測定ノイズに対する耐性及び位置状態パラメータ推定の正確性を高めることができる。また、決定された第2の位置に対する信頼度が推定され、決定された第2の位置だけでなく、信頼度も共に提供できる。
【0033】
図2は、本開示の一実施例に係るコンピュータ装置210及び情報処理システム230の内部構成を示すブロック図である。コンピュータ装置210は、イメージ処理が可能であり、有/無線通信が可能な任意の装置を称することができ、例えば、図1の車両110などに含まれることができる。図に示すように、コンピュータ装置210は、メモリ212、プロセッサ214、通信モジュール216及び入出力インタフェース218を含むことができる。これと同様に、情報処理システム230は、メモリ232、プロセッサ234、通信モジュール236及び入出力インタフェース238を含むことができる。図2に示すように、コンピュータ装置210及び情報処理システム230は、各々の通信モジュール216、236を用いて、ネットワーク240を介して情報及び/又はデータが通信できるように構成できる。また、入出力装置220は、入出力インタフェース218を介して、コンピュータ装置210に情報及び/又はデータを入力したり、コンピュータ装置210から生成された情報及び/又はデータを出力したりするように構成できる。
【0034】
メモリ212、232は、非一時的な任意のコンピュータ読み取り可能な記録媒体を含むことができる。一実施例によれば、メモリ212、232は、RAM(random access memory)、ROM(read only memory)、ディスクドライブ、SSD(solid state drive)及びフラッシュメモリ(flash memory)などのような永久的な大容量保存装置(permanent mass storage device)を含むことができる。他の例として、ROM、SSD、フラッシュメモリ及びディスクドライブなどのような永久的な大容量保存装置は、メモリとは区分される別途の永久保存装置としてコンピュータ装置210及び/又は情報処理システム230に含まれることができる。或いは、このような別途の永久的な保存装置は、コンピュータ装置210及び/又は情報処理システム230により接近可能な任意の外部装置に保存できる。また、メモリ212、232には、オペレーティングシステムと少なくとも1つのプログラムコードが保存され得る。
【0035】
このようなソフトウェア構成要素は、メモリ212、232とは別途のコンピュータ読み取り可能な記録媒体からローディングできる。このような別途のコンピュータ読み取り可能な記録媒体は、このようなコンピュータ装置210及び情報処理システム230に直接連結可能な記録媒体を含むことのできるが、例えば、フロッピードライブ、ディスク、テープ、DVD/CD-ROMドライブ及びメモリカードなどのようなコンピュータ読み取り可能な記録媒体を含むことができる。他の例として、ソフトウェア構成要素等は、コンピュータ読み取り可能な記録媒体でなく、通信モジュールを介してメモリ212、232にローディングされることもできる。例えば、少なくとも1つのプログラムは、開発者又はアプリケーションの設置ファイルを配信するファイル配信システムが、ネットワーク240を介して提供するファイルにより設置されるコンピュータプログラムに基づいてメモリ212、232にローディングされることができる。
【0036】
プロセッサ214、234は、基本的な算術、ロジック及び入出力演算を遂行することで、コンピュータプログラムの命令を処理するように構成できる。命令は、メモリ212、232又は通信モジュール216、236によりプロセッサ214、234に提供され得る。例えば、プロセッサ214、234は、メモリ212、232のような記録装置に保存されたプログラムコードによって受信される命令を実行するように構成できる。
【0037】
通信モジュール216、236は、ネットワーク240を介して、コンピュータ装置210と情報処理システム230とが互いに通信するための構成や機能が提供でき、コンピュータ装置210及び/又は情報処理システム230が、他のコンピュータ装置210又は他のシステム(例えば、別途のクラウドシステムなど)と通信するための構成や機能が提供できる。一例として、コンピュータ装置210のプロセッサ214がメモリ212などのような記録装置に保存されたプログラムコードによって生成した要請又はデータは、通信モジュール216の制御により、ネットワーク240を介して情報処理システム230に伝達され得る。反対に、情報処理システム230のプロセッサ234の制御により提供される制御信号や命令が、通信モジュール236及びネットワーク240を経て、コンピュータ装置210の通信モジュール216を介してコンピュータ装置210に受信され得る。
【0038】
入出力インタフェース218は、入出力装置220とのインタフェースのための手段であり得る。一例として、入力装置はオーディオセンサ及び/又はイメージセンサを含むカメラ、キーボード、マイクロホン、マウスなどのような装置を含み、出力装置はディスプレイ、スピーカ、ハプティック(触覚)フィードバックデバイス(haptic feedback device)などのような装置を含むことができる。他の例として、入出力インタフェース218は、タッチスクリーンなどのように入力及び出力を遂行するための構成又は機能が1つも統合された装置とのインタフェースのための手段であり得る。例えば、コンピュータ装置210のプロセッサ214がメモリ212にローディングされたコンピュータプログラムの命令を処理する際に、情報処理システム230や他のコンピュータ装置が提供する情報及び/又はデータを利用して構成されるサービス画面などを、入出力インタフェース218を介してディスプレイに表示できる。図2では、入出力装置220がコンピュータ装置210に含まれないように示しているが、これに限定されず、コンピュータ装置210と一体に構成することもできる。また、情報処理システム230の入出力インタフェース238は、情報処理システム230と連結するか、又は、情報処理システム230が含むことのできる入力や出力のための装置(図示せず)とのインタフェースのための手段であり得る。図2では、入出力インタフェース218、238がプロセッサ214、234と別途に構成された要素として示したが、これに限定されず、入出力インタフェース218、238がプロセッサ214、234に含まれるように構成することもできる。
【0039】
コンピュータ装置210及び情報処理システム230は、図2に示す構成要素よりも多くの構成要素を含むことができる。しかしながら、大部分の従来技術的構成要素を明確に示す必要はない。一実施例によれば、コンピュータ装置210は、前述した入出力装置220の少なくとも一部を含むように具現化できる。また、入出力装置220は、車両の位置を決定するのに使用できる任意の装置を含むことのできるが、例えば、GPS(Global Positioning system)モジュール、モーションセンサ、ライダー(Lidar)、ホイールエンコーダ(Wheel Encoder)、慣性測定ユニット(IMU:Inertial Measurement Unit)、各種センサなどのような他の構成要素を含むことができる。
【0040】
コンピュータ装置210のプロセッサ214は、コンピュータ装置210が内蔵又は搭載された車両の位置を決定するように構成できる。このとき、これと関連付けられたプログラムコードをコンピュータ装置210のメモリ212にローディングできる。プログラムコードが動作する際に、コンピュータ装置210のプロセッサ214は、入出力装置220から提供された情報及び/又はデータを、入出力インタフェース218を介して受信したり、通信モジュール216を介して情報処理システム230から情報及び/又はデータを受信したりすることができ、受信された情報及び/又はデータを処理してメモリ212に保存できる。また、このような情報及び/又はデータは、通信モジュール216を介して情報処理システム230に提供できる。
【0041】
一実施例によれば、プロセッサ214は、車両の位置を決定するために入出力インタフェース218と連結されたGPSモジュール、モーションセンサ、イメージセンサ、タッチスクリーン、キーボード、オーディオセンサなどのような入力装置を介して、車両位置、車両の追跡された位置変異、撮像されたイメージ及び/又は映像などを受信できる。このように受信されたイメージ、映像、位置情報などはメモリ212に保存されて、車両の位置を決定するのに用いられる。また、車両の位置を決定するために、プロセッサ214は、車両が位置している領域を含むベクトルマップを、通信モジュール216を介して、外部装置(例:情報処理システム230)から受信できる。決定された車両の位置は、入出力インタフェースを介して、車両のユーザに提供されたり、情報処理システム230に提供されたりすることができる。
【0042】
情報処理システム230のプロセッサ234は、複数のコンピュータ装置及び/又は複数の外部システムから受信された情報及び/又はデータを管理、処理及び/又は保存するように構成できる。一実施例において、プロセッサ234は、コンピュータ装置210から受信したデータに基づいて、コンピュータ装置210が内蔵又は搭載された車両の位置を決定するように構成できる。このために、プロセッサ234は、入出力装置220のうち、GPSモジュール、モーションセンサ、イメージセンサから測定された情報及び/又はデータを受信できる。また、車両の位置を決定するために、プロセッサ234は、外部装置から車両が位置している特定地域又は道路領域に対するベクトルマップを受信できる。或いは、プロセッサ234は、特定地域又は道路領域に対する航空写真を受信し、受信された航空写真を用いて特定地域又は道路領域に対するベクトルマップを生成できる。生成されたベクトルマップ及び/又は決定された車両の位置は、ネットワーク240を介してコンピュータ装置210に提供できる。
【0043】
図3は、本開示の一実施例に係るプロセッサ300の構成を示すブロック図である。図に示すように、プロセッサ300は、ビットマップ変換モジュール322、ローカルサブマップ生成モジュール324、ローカルサブマップマッチングモジュール326を含むことができる。一実施例によれば、プロセッサ300は、車両に内蔵又は搭載されたコンピュータ装置210のプロセッサ214を称することができる。他の実施例によれば、プロセッサ300は、情報処理システム230のプロセッサ234を称することができる。また他の実施例によれば、プロセッサ300は、車両に内蔵又は搭載されたコンピュータ装置210のプロセッサ214及び情報処理システム230のプロセッサ234を含むことができる。
【0044】
プロセッサ300のビットマップ変換モジュール322は、ベクトルマップ318を受信し、受信されたベクトルマップ318を変換するように構成できる。一実施例によれば、ベクトルマップ318は、車両の第1の位置が含まれる道路領域内の複数の意味論的(semantic)オブジェクトを示す、ベクトル化した情報を含むことができる。ここで、車両の第1の位置は、車両の絶対位置値314に対応でき、絶対位置値314は、車両に具備されたGPSモジュール(例えば、低い正確度を有するGPSモジュール)を介した大まかな車両の位置であり得る。
【0045】
一実施例によれば、ビットマップ変換モジュール322は、ベクトルマップ318内の意味論的オブジェクトを選択することにより、ベクトルマップ318をビットマップに変換できる。ここで、ベクトルマップ318は、複数の意味論的オブジェクトを含み、各オブジェクトに対応するクラス値を含むことができる。ビットマップ変換モジュール322は、ベクトルマップ内の複数の意味論的オブジェクトのうち、車両の位置推定に使用される意味論的オブジェクトを選択できる。その後、ビットマップ変換モジュール322は、選択された意味論的オブジェクトの各々に対応するクラス値を獲得し、獲得されたクラス値に対応するイメージ形状を利用してビットマップを生成できる。例えば、ビットマップは、車両の位置を決定するのに使用されるローカルサブマップの大きさ及び形態と同一又は類似の大きさ及び形態を有することができる。このように生成されたビットマップは、プロセッサ300により連結又は接近できるメモリに保存されたり、プロセッサ300のローカルサブマップマッチングモジュール326に提供されたりすることができる。
【0046】
プロセッサ300のローカルサブマップ生成モジュール324は、複数のビューイメージ312及び車両の相対位置値316を受信し、ローカルサブマップを生成するように構成できる。ここで、複数のビューイメージ312は、車両に内蔵又は搭載されたイメージセンサを利用して撮像された車両のフロントビューイメージであり得る。また、相対位置値316は、車両に内蔵又は搭載されたモーションセンサにより測定でき、車両に配置されたイメージセンサ及び道路の地面間の位置関係に基づいた位置値を称することができる。
【0047】
一実施例によれば、ローカルサブマップ生成モジュール324は、受信された複数のフロントビューイメージから複数の意味論的オブジェクト(例えば、道路領域内の車線、横断歩道、直進標示及び右折標示など)を抽出できる。例えば、ローカルサブマップ生成モジュール324は、複数のフロントビューイメージの各々を人工神経網の入力層に入力して、複数のフロントビューイメージ内のピクセルに対するビット値及び複数のフロントビューから抽出された複数の意味論的オブジェクトに対するクラス値を出力できる。
【0048】
その後、ローカルサブマップ生成モジュール324は、車両に配置されたイメージセンサと道路の地面の間の位置関係に基づいて、抽出された複数の意味論的オブジェクトを含む複数の逆遠近マッピング(IPM:Inverse perspective mapping)マスクを生成できる。ここで、複数のIPMマスクは、複数のフロントビューイメージ内の複数の意味論的オブジェクトが鳥瞰図のイメージ形態に変換されたマスクを称することができる。すなわち、複数のIPMマスクは、フロントビューイメージ内の上空から道路を見下ろしたときのイメージに対応するマスクを称することができる。また、イメージセンサと道路の地面の間の位置関係は、ローカルサブマップ生成モジュール324で接近可能な保存装置(例:メモリ)に保存できる。
【0049】
ローカルサブマップ生成モジュール324は、生成された複数のIPMマスクを利用して、ローカルサブマップを生成するように構成できる。このような過程において、ローカルサブマップ生成モジュール324は、生成された複数のIPMマスクを、受信された相対位置値316、すなわち、車両のイメージセンサの相対的位置が反映された複数のIPMイメージに変換できる。ローカルサブマップ生成モジュール324は、変換された複数のIPMイメージを連結させることで、ローカルサブマップを生成できる。例えば、ローカルサブマップ生成モジュール324は、受信された相対位置値316を考慮して、複数のIPMイメージを回転移動させ、回転移動した複数のIPMイメージの一部領域が重畳するように結合する(すなわち、累積させる)ことで、ローカルサブマップを生成できる。生成されたローカルサブマップは、プロセッサ300のローカルサブマップマッチングモジュール326に提供できる。
【0050】
プロセッサ300のローカルサブマップマッチングモジュール326は、受信されたビットマップ及びローカルサブマップに基づいて、車両の第2の位置(例:より正確な現在位置)を決定できる。このために、ローカルサブマップマッチングモジュール326は、車両のGPSモジュールを介して測定された車両の第1の位置(例:車両の大まかな位置)を受信できる。一実施例によれば、ローカルサブマップマッチングモジュール326は、ビットマップ及びローカルサブマップを比較することで、ビットマップ及びローカルサブマップの差異を決定でき、車両の第1の位置及びこのような差異に基づいて車両の第2の位置を推定できる。ここで、ビットマップ及びローカルサブマップの差異は、車両の第1の位置から、X軸における差異(translation(移動))、Y軸における差異(translation(移動))、X軸方向からの回転(rotation、すなわち、Yaw値)を示す3-自由度の値で表現できる。ここで、X軸方向から回転を示す値は車両が眺める方向に関する情報を含むことができる。また、車両の第2の位置332は、GPS座標及び/又は方位で表示されて推定された位置として出力できる。
【0051】
ローカルサブマップマッチングモジュール326は、推定された車両の第2の位置332に対する信頼度334を抽出できる。一実施例によれば、ローカルサブマップマッチングモジュール326は、受信されたビットマップ及びローカルサブマップを利用して、1つ以上のコストマップ(すなわち、類似度マップ)を生成し、生成されたコストマップに基づいて信頼度334を推定できる。ここで、コストマップは、ビットマップ及びローカルサブマップの差異値の各々に対応する類似度を含むことができる。例えば、ローカルサブマップマッチングモジュール326は、算出されたコストマップ内の差異値の少なくとも一部の差異値(例えば、既定の類似度以上を有する差異値)を3次元のポイントに変換し、コストマップで最も類似度が高い差異値の周辺に変換された3次元のポイントの分布を判定できる。ここで、ローカルサブマップマッチングモジュール326は、既定の類似度以上を有する差異値を最も類似度が高い差異値に対応するGPS座標上の方位に基づいて回転させることで、3次元のポイントを生成できる。変換された3次元のポイントの分布に基づいて、ローカルサブマップマッチングモジュール326は、車両の第2の位置332に対する信頼度を判定できる。判定された信頼度334は、推定された車両の第2の位置332と共に出力できる。
【0052】
図4は、本開示の一実施例に係るベクトルマップをビットマップに変換する過程の例を示す図である。ここで、ベクトルマップをビットマップに変換する過程は、少なくとも1つのプロセッサ(例えば、プロセッサ300)により遂行できる。一実施例によれば、プロセッサは、車両の第1の位置(例:GPS座標及び/又は方位)を外部装置に送信し、外部装置から車両の第1の位置が含まれる特定地域内の複数の意味論的オブジェクトを示す地域ベクトルマップを受信できる。プロセッサは、受信された地域ベクトルマップから車両の第1の位置が含まれる第1の領域(例えば、200~1000m)を道路領域として選択して、ベクトルマップ410を獲得できる。
【0053】
ベクトルマップは、道路領域に存在する意味論的オブジェクト、例えば、車線、道路境界線、停止線、路面標示(例:進行方向、進行禁止、横断歩道など)の3次元の位置値をベクトル化させて表現したマップを称することができる。例えば、ベクトルマップ410に示すように、ベクトルマップ内の車線や道路境界線のように、実線又は点線からなる意味論的オブジェクトは実線又は点線の均等間隔の位置値としてベクトル化できる。また他の例として、ベクトルマップ410に示すように、ベクトルマップ内の路面標示のようなイメージからなる意味論的オブジェクトは、イメージの各頂点が連結されたポリゴン(polygon)形態でベクトル化できる。
【0054】
意味論的オブジェクトがベクトル化されて表現されたベクトルマップ410は、複数の意味論的オブジェクトの各々に対応するクラス値を含むことができる。一実施例において、クラス値は、対応する意味論的オブジェクトの各々が何を意味するオブジェクトであるかを示す値であり得る。例えば、航空写真における横断歩道は、四角形からなるポリゴン形態でベクトル化され、「横断歩道」に対応するクラス値が割り当てられる。プロセッサは、割り当てられたクラス値により、四角形のポリゴン形態のベクトル表現が「横断歩道」の標示を表すと判定できる。
【0055】
獲得されたベクトルマップ410のうち、プロセッサは、車両の第1の位置が含まれ、第1の領域よりも小さい領域である第2の領域(例えば、100~200m)を選択することで、サブベクトルマップを生成できる。また、プロセッサは、生成されたサブベクトルマップを利用して、第1のビットマップを生成できる。一実施例において、プロセッサは、第1のビットマップ内の複数の意味論的オブジェクトのうち、車両の第2の位置を推定するのに使用される意味論的オブジェクトを選択できる。例えば、プロセッサは、複数の意味論的オブジェクトのうち、横断歩道、車線、停止線、車道外側線、路面標示などのように、車両の第2の位置を決定するために有用なオブジェクトを選択できる。車両の位置決定のためにオブジェクトを選択すると、プロセッサは、選択された意味論的オブジェクトに対応するクラス値を獲得できる。プロセッサは、獲得されたクラス値の各々に対応するイメージ形状を利用して、第1のビットマップを生成できる。このとき、第1のビットマップは、クラス値に対応するイメージ形状を「0」及び「1」で表現するように構成できる。
【0056】
第1のビットマップの生成後、プロセッサは、第1のビットマップのうちで第2のビットマップを選択できる。一実施例において、プロセッサは、第1のビットマップのうち、車両の第1の位置が含まれ、第2の領域よりも小さい領域である第3の領域(例えば、1~100m)に対応する第2のビットマップを選択できる。例えば、第2のビットマップは、第1のビットマップ内の第3の領域に関する情報を獲得することにより生成できる。また他の例として、第2のビットマップは、第1のビットマップの第3の領域の少なくとも一部領域に基づいて生成できる。プロセッサは、第2のビットマップを車両の位置を推定するために使用されるビットマップ412として選択できる。
【0057】
図5は、本開示の一実施例に係る道路領域内の意味論的オブジェクトの例を示す図である。意味論的オブジェクトがベクトル化されたベクトルマップは、航空写真により生成できる。一実施例において、図5に示すように、道路領域内の車線、導流帯、直進標示、右折標示などのような意味論的オブジェクトが航空写真510、520、530、540の各々に表示される。意味論的オブジェクトは、クラス値が含まれた状態でベクトル化できるが、意味論的オブジェクトの種類によって異なるクラス値が割り当てられる。例えば、航空写真510内の車線はスプライト形態512でベクトル化され、車線に該当するクラス値である「1」が割り当てられる。また、航空写真520内の導流帯は、曲線形態522でベクトル化され、導流帯に該当するクラス値である「2」が割り当てられる。
【0058】
これと類似するように、航空写真530内の直進標示は、頂点が連結されたポリゴン形態532でベクトル化され、直進標示に該当するクラス値である「3」が割り当てられる。また、航空写真540内の右折標示は、頂点が連結されたポリゴン形態542でベクトル化され、右折標示に該当するクラス値である「4」が割り当てられる。このとき、直進標示及び右折標示は、ベクトル化された後に同じポリゴン形態532、542でベクトル化されるため、直進及び右折の形態がどのように表示されるか確認できないが、直進及び右折の標示に各々互いに異なるクラス値が割り当てられることで、直進及び右折は区分されて判定できる。
【0059】
図6は、本開示の一実施例に係るベクトルマップをビットマップに変換する過程の例を示す図である。本開示において、ベクトルマップをビットマップに変換する過程は、少なくとも1つのプロセッサ(例えば、プロセッサ300)により遂行できる。プロセッサは、車両の位置を決定又は推定するための演算速度を高めるために、マップの使用時期及び/又は大きさによって保存位置を異なるように設定できる。一実施例において、地域ベクトルマップ610は、車両の第1の位置が含まれる特定地域(例えば、板橋地域)内の複数の意味論的オブジェクトが含まれるベクトルマップであり得る。ここで、地域ベクトルマップ610は、数kmから数百kmまでの広い範囲を含むマップであり得るが、容量の効率性のために、メモリに直接的に保存するものでなく、ファイル形態で保存装置に保存できる。ここで、保存装置は、メモリではなく、別途の永久保存装置を称することができる。或いは、保存装置はメモリを称することもできる。
【0060】
プロセッサは、保存された地域ベクトルマップ610内において、車両の第1の位置が含まれる一定の範囲(例えば、車両の第1の位置の周辺の200~1000m半径)をメモリから読み出すことができる。ここで、プロセッサは、車両の進行速度及び方向を考慮して、地域ベクトルマップ610内の一定の領域を読み出す過程の時点を決定でき、一般に数十秒に一度程度の間隔でこのような過程を実行できる。図に示すように、プロセッサは、地域ベクトルマップ610から車両の第1の位置が含まれる第1の領域を選択することで、ベクトルマップ612を獲得できる。
【0061】
プロセッサは、ベクトルマップ612のうち、車両の第1の位置が含まれる第2の領域を選択することで、第2の領域が含まれるサブベクトルマップ614を生成できる。このとき、第2の領域は第1の領域よりも小さいことがあるが、例えば、第2の領域は車両の第1の位置の周辺の100~200m半径を称することができる。数百メートルの大きさの領域を有するベクトルマップをビットマップに変換することは、メモリの効率及び処理速度を低下させることがある。メモリの効率及び処理速度を向上させるために、プロセッサは、ベクトルマップ612からキャッシュメモリ(cache memory)に存在できる大きさ(例えば、約1200×1200ピクセルの大きさ)だけのサブベクトルマップ614を生成し、生成されたサブベクトルマップ614を第1のビットマップに変更できる。例えば、プロセッサは、サブベクトルマップ614内の複数の意味論的オブジェクトのうち、車両の位置推定に使用される意味論的オブジェクトを選択し、選択された意味論的オブジェクトの各々に対応するクラス値を獲得できる。また、プロセッサは、獲得されたクラス値に対応するイメージ形状を利用して、第1のビットマップ616を生成できる。このように生成された第1のビットマップ616はキャッシュメモリに保存できる。プロセッサは、車両の進行速度及び方向を考慮してサブベクトルマップ614を生成し、生成されたサブベクトルマップ614を第1のビットマップ616に変換する過程の時点を決定できる。例えば、このような過程が一般の走行状況で一定の時間(例えば、数秒)ごとに1回ずつ実行できる。
【0062】
プロセッサは、生成された第1のビットマップ616において、車両の第1の位置が含まれる第3の領域に対応する第2のビットマップ618を選択できる。ここで、第3の領域は、第2の領域よりも小さいことがあるが、例えば、第3の領域は車両の第1の位置の周辺の数十m半径を指すことがある。一実施例において、プロセッサは、車両の第1の位置が含まれる第3の領域に対応する第2のビットマップを選択するために、第1のビットマップ616内の第2の領域の一部領域に関する情報を獲得し、獲得された情報を利用して第2のビットマップ618を使用できる。例えば、プロセッサは、補間技法を利用して第1のビットマップ616内の車両の第1の位置の周辺の数十メートルの領域(例:32×32m領域)をサンプリングすることで、第2のビットマップ618を生成できる。例えば、第2のビットマップ618の大きさは、約400×400ピクセルの大きさであり得る。プロセッサは、生成された第2のビットマップ618を車両の位置を決定するために、ローカルサブマップと比較されるビットマップとして選択できる。
【0063】
本開示によれば、プロセッサが中間サイズの第1のビットマップ616を生成し、生成された第1のビットマップ616から小サイズの第2のビットマップ618を生成できる。これにより、車両運行の間に、プロセッサがベクトルマップをビットマップに変換する過程で発生し得る類似な領域に対する重複計算を防止できる。また、車両の周辺の半径数十メートル以内の第2のビットマップ618は、第1のビットマップ616内の一部領域に対するサンプリングを遂行することにより生成されるため、第2のビットマップ618の生成速度を向上させることができる。このような生成速度の向上により、第2のビットマップ618が車両の走行環境によって10hz乃至20hzごとに更新しなければならない環境に適応できる。
【0064】
図7は、本開示の一実施例に係るベクトルマップから変換されたビットマップの例を示す図である。一実施例において、ビットマップ710、720は、ベクトルマップから選択された意味論的オブジェクト712、722がビットで表現されたマップであり得る。例えば、ビットマップにおいて、意味論的オブジェクトは「0」及び「1」からなり、黒及び白で表現されるイメージ形状であり得る。
【0065】
一実施例によれば、ビットマップ710、720は、車両の位置を推定するのに使用されるビットマップ(例:第2のビットマップ)であって、例えば、車両の位置の周辺の32m×32m領域内の複数の意味論的オブジェクトを含むことができる。例えば、ビットマップ710、720の複数のピクセルは「0」及び「1」からなり、黒及び白で表現されるイメージ形状であり得る。また、ビットマップ710、720内の複数の意味論的オブジェクトに対応する領域は、クラス値が割り当てられる。
【0066】
一実施例によれば、ビットマップ710、720内に表示された意味論的オブジェクトのうち、意味論的オブジェクト712、722は全部ポリゴン形態で表示される。また、意味論的オブジェクト712、722の各々は互いに異なるクラス値が割り当てられ、割り当てられたクラス値に基づいて、意味論的オブジェクト712、722に対応するオブジェクトが何であるかを判定できる。例えば、ビットマップ710内の意味論的オブジェクト712のクラス値が「5」である場合、意味論的オブジェクト712は「5」と対応する意味論的オブジェクトである「進行禁止」の標示として認識できる。また他の例として、ビットマップ720内の意味論的オブジェクト722のクラス値が「6」である場合、意味論的オブジェクト722は「6」と対応する意味論的オブジェクトである「CCTV監視区間」の標示として認識できる。
【0067】
図8は、本開示の一実施例に係る複数のビューイメージを利用してローカルサブマップを生成する過程を示す図である。このようなローカルサブマップ生成過程は、少なくとも1つのプロセッサ(例:ローカルサブマップ生成モジュール324)により遂行できる。一実施例によれば、プロセッサは、車両のイメージセンサを介して撮像された複数のビューイメージを受信できる(S810)。例えば、車両のイメージセンサは、車両のフロントビューイメージを撮像するように車両に配置でき、複数のビューイメージは車両のフロントビューイメージを含むことができる。
【0068】
プロセッサは、車両のイメージセンサにより撮像された複数のフロントビューイメージから複数の意味論的オブジェクトを抽出できる(S812)。一実施例によれば、複数の意味論的オブジェクトは、車両の位置を決定又は推定するのに使用できる任意のオブジェクトを含むことができ、例えば、意味論的オブジェクトは、道路領域内の道路マーカー、車線、境界線、横断歩道、停止線などを含むことができる。
【0069】
プロセッサは、複数のフロントビューイメージから複数の意味論的オブジェクトを抽出するために、公知の任意の意味論的セグメンテーション(semantic segmentation)方法を使用できる。一実施例によれば、プロセッサは、複数の意味論的オブジェクトを抽出するために、任意のマシンラーニング技法を利用できる。例えば、プロセッサは、複数のフロントビューイメージの各々を、イメージから意味論的オブジェクトを抽出するように学習された人工神経網の入力層に入力して、複数のフロントビューイメージ内の複数のピクセルに対するビット値と、複数のフロントビューイメージ内の意味論的オブジェクトに対するクラス値とを抽出できる。例えば、異なる意味論的オブジェクトには、異なるクラス値が割り当てられる。
【0070】
意味論的オブジェクトのクラス値が抽出されると、意味論的オブジェクトを含む複数のIPMマスクを生成できる(S814)。一実施例によれば、プロセッサは、車両に配置されたイメージセンサと道路の地面の間の位置関係に基づいてIPMマスクを生成できる。例えば、単一のIPMマスクは、8×16mの大きさを有することができる。
【0071】
プロセッサは、生成された複数のIPMマスクを利用して、ローカルサブマップを生成するように構成できる(S822)。一実施例によれば、プロセッサは、車両のイメージセンサの相対的位置が反映されたIPMイメージに変換し、複数のIPMイメージを連結させてローカルサブマップを生成できる。ここで、車両のイメージセンサの相対的位置は、車両に内蔵又は搭載されたモーションセンサにより測定できる。例えば、プロセッサは、以前のIPMイメージ及び相対的位置820を受信し、現在のIPMイメージを相対的位置によって変換できる。その後、プロセッサは、変換された現在のIPMイメージを相対的位置によって既に変換された以前のIPMイメージと累積連結させることで、ローカルサブマップを生成できる。例えば、20~30個のIPMイメージが累積されてローカルサブマップを生成できる。
【0072】
付加的に、プロセッサは、ビューイメージから生成された参照イメージを利用して、IPMマスクに対するリファイメント(refinement)を遂行できる。例えば、プロセッサは、CRF(Conditional Random Field)のような構造予測のための統計的モデリング技法を利用して、IPMマスクのリファイメントを遂行することで、ローカルサブマップ内の意味論的オブジェクトに対応する領域のイメージ品質を向上させることができる。
【0073】
一実施例によれば、プロセッサは、ビューイメージから参照イメージを生成できる(S816)。例えば、プロセッサは、複数のフロントビューイメージから抽出された複数の意味論的オブジェクトのうち、1つ以上の動的オブジェクト(例えば、外部車両)を選択できる。その後、プロセッサは、複数のビューイメージ内において、複数の意味論的オブジェクトに対応する領域から選択された1つ以上の動的オブジェクトに対応する領域を除いた領域に基づいて、複数の参照イメージを生成できる。ここで、参照イメージは、ビューイメージから動的オブジェクトに対応する領域を除去したRGB形態のイメージであり得る。
【0074】
その後、プロセッサは、生成された複数の参照イメージを利用して、複数のIPMマスクに対するリファイメントを遂行できる(S818)。例えば、プロセッサは、IPMマスクと同じビューイメージを介して生成された参照イメージ(例:RGBイメージ)を利用して、IPMマスク内の複数のピクセルに対するビット値を変更できる。これにより、IPMマスク内の意味論的オブジェクトの各々は、より鮮明に表示されたり、意味論的オブジェクトの認識率がより向上したりできる。このように、リファイメントが遂行されたIPMマスクは、ローカルサブマップ生成のためのIPMイメージを生成するのに使用できる。
【0075】
図9は、本開示の一実施例に係る複数のIPMイメージを利用してローカルサブマップを生成する例を示す図である。このようなローカルサブマップ生成過程は、少なくとも1つのプロセッサ(例:ローカルサブマップ生成モジュール324)により遂行できる。一実施例によれば、プロセッサは、複数のIPMイメージを時間順に受信でき、車両のモーションセンサにより獲得されたイメージセンサの相対的位置を考慮して、複数のIPMイメージを連結させることができる。図に示すように、プロセッサは、第1のIPMイメージ912、第2のIPMイメージ914、第3のIPMイメージ916、第4のIPMイメージ918、第5のIPMイメージ920を時間順に受信し、車両のモーションセンサにより獲得されたイメージセンサの相対的位置を考慮して、受信されたIPMイメージの一部を重畳するように連結、すなわち累積連結させることができる。
【0076】
このように、累積連結された複数のIPMイメージを利用して、ローカルサブマップ930を生成できる。例えば、単一のIPMイメージは、約8×16mの大きさを有することができる。このような大きさの単一のIPMイメージが20個乃至30個累積され、最終的に約32×16mの大きさのローカルサブマップを生成できる。
【0077】
図10は、本開示の他の実施例に係るローカルサブマップを生成する例を示す図である。ローカルサブマップ1010、1020は、車両のモーションセンサにより測定されたイメージセンサの相対的位置に基づいて推定された車両の走行方向によって生成できる。一実施例によれば、第1のローカルサブマップ1010は、「子供注意区域」に進入している車両に基づいて生成されたローカルサブマップであり得る。他の実施例において、第2のローカルサブマップ1020は、カーブ道路に進入している車両に基づいて生成されたローカルサブマップであり得る。
【0078】
図11は、本開示の一実施例に係る車両の現在位置を決定する過程を示す図である。このような車両位置を決定する過程は、少なくとも1つのプロセッサ(例:ローカルサブマップマッチングモジュール326)により遂行できる。プロセッサは、ビットマップ及びローカルサブマップに基づいて車両の第2の位置を決定できる。ここで、ビットマップは、車両の第1の位置が含まれる道路領域内の複数の意味論的オブジェクトを示すベクトルマップから変換できる。また、ローカルサブマップは、車両のイメージセンサにより撮像された複数のビューイメージを利用して生成できる。一実施例において、プロセッサは、ビットマップ及びローカルサブマップを比較してビットマップ及びローカルサブマップの差異を決定し、車両の第1の位置及び決定された差異に基づいて車両の第2の位置を推定できる。例えば、ビットマップ及びローカルサブマップの差異は、車両の第1の位置からX軸における差異(translation(移動))、Y軸における差異(translation(移動))、X軸方向からの回転(rotation)を示す3-自由度(DoF)の値で表現できる。このとき、X軸方向から回転を示す値は、車両が眺める方向に関する情報を含むことができる。また、3-自由度の値はX軸差異値、Y軸差異値及びYaw回転値を含むことができる。
【0079】
プロセッサは、ビットマップ及びローカルサブマップの差異を示す3-自由度の値を推定するために、ビットマップ1110を既定の複数の角度(例えば、-2°から2°間の既定の間隔の複数の角度)を利用して回転させたサンプルビットマップ1112を生成できる。その後、プロセッサは、複数のサンプルビットマップ1112の各々及びローカルサブマップ1114間の相互相関(cross correlation)1116を決定して、コストマップ(costmap)を生成できる。例えば、プロセッサは、複数のサンプルビットマップ1112の各々及びローカルサブマップ1114を高速フーリエ変換(fast Fourier transform)を遂行し、複数のサンプルビットマップ1112の各々及びローカルサブマップ1114の差異に対する複数のコストマップを生成できる。例えば、このようなコストマップは、正規化相関コストマップ(normalized correlation coefficient costmap)を称することができる。プロセッサは、このような高速フーリエ変換を使用するので、ビットマップとローカルサブマップの間の差異を決定するときに迅速な演算が可能である。このように生成されたコストマップに基づいて、ビットマップ及びローカルサブマップ間の差異を示す3-自由度の値を推定できる。
【0080】
プロセッサは、生成されたコストマップを連結してコストボリューム(cost volume)1118を生成できる。一実施例によれば、プロセッサは、複数のサンプルビットマップ1112の各々及びローカルサブマップ間の差異に対する複数のコストマップを生成し、生成された複数のコストマップを結び付ける(concatenate)ことで、X軸方向から回転を示す値、すなわちYaw回転値に対する類似度を含むコストボリューム(cost volume)を生成できる。ここで、コストボリュームは、複数のコストマップに基づいて推定された複数の3-自由度の値の集合であり得、推定された3-自由度の値に対する類似度を含むことができる。また、図に示すように、コストボリュームの縦(Longitudinal)軸はX軸を表し、横(Lateral)軸はY軸を表し、Yaw値はX軸方向からの回転値を表すことができる。
【0081】
その後、プロセッサは、コストボリュームにおいて類似度が最も高い3-自由度の値を、ビットマップ及びローカルサブマップの差異を示す値として推定できる。例えば、類似度の範囲は「0」から「1」間の値で表現でき、コストボリュームにおいて類似度が「1」に最も近い類似度を有する3-自由度の値を、ローカルサブマップの差異を示す値である推定値1120として決定できる。
【0082】
以後、プロセッサは、コストボリュームにおいて類似度が最も高い3-自由度の値に、コストボリュームの3-自由度の値の各々の単位値に該当する既定の大きさを適用する(例えば、乗算を遂行)ことで、類似度が最も高い3-自由度の値に対する調整値を算出できる。ここで、既定の大きさは、実世界の物理値に対応する大きさを称することができ、例えば、コストボリューム内のx、yの各々の場合、1単位は0.8メートルの大きさを有し、コストボリューム内のYaw回転の場合、1単位は0.5°の大きさを有することができる。すなわち、3-自由度の値に対する調整値は、実世界の物理値、例えば、GPS座標及び/又は方位、3次元の座標値(x、y、z)などとして出力できる。プロセッサは、算出された調整値を車両の第1の位置(汎用GPSにより測定された値又は利用されたベクトルマップに対応する位置)に適用することで、車両の第2の位置(現在位置)を推定できる。
【0083】
プロセッサは、車両の第2の位置値を推定すると同時に、車両の第2の位置値に対する信頼度を推定値1120として出力できる。一実施例によれば、プロセッサは、コストボリュームにおいて既定の類似度(例えば、コストボリューム内のポイントのうち、2%のポイントを抽出できる類似度)以上の類似度を有する複数の3-自由度の値に関する情報を抽出できる。例えば、プロセッサは、既定の類似度以上の類似度を有する複数の3-自由度の値からx差異値及びy差異値を抽出できる。その後、プロセッサは、抽出された複数の3-自由度の値に対応する情報に、3-自由度の値のコストボリュームの単位値に対応する既定の大きさを適用することで、抽出された複数の3-自由度の値に対応する情報に対する調整値を算出できる。プロセッサは、推定された車両の第2の位置に対応するGPS座標上の方位に基づいて、複数の3-自由度の値に対応する情報に対する調整値を回転又は回転変換させることができる。例えば、既定の類似度以上の類似度を有する複数の3-自由度の値から抽出されたx、y値を、特定の角度を利用して回転させることができる。このような特定の角度は、車両の第2の位置に対応するGPS座標上の方位に基づいて算出できる。
【0084】
その後、プロセッサは、複数の3-自由度の値に対応する情報に対する回転された調整値による共分散行列を算出できる。ここで、共分散行列(covariance matrix)は、3×3共分散行列を称することができ、3×3共分散行列を算出する際に、複数の3-自由度の値に対応するx差異値、y差異値及びyaw回転値を利用できる。プロセッサは、このように算出された共分散行列に基づいて推定された車両の第2の位置に対する信頼度を決定できる。共分散行列は、推定された車両の第2の位置の周辺に回転された複数の自由度の値に対応する調整値の分布を示すことができる。
【0085】
図12は、本開示の一実施例に係るビットマップ及びローカルサブマップに基づいて車両の位置を決定する例を示す図である。このような車両の位置を決定する過程は、少なくとも1つのプロセッサ(例:ローカルサブマップマッチングモジュール326)により遂行できる。比較イメージ1210に示すように、車両のイメージセンサにより撮像された複数のビューイメージから生成されたローカルサブマップ1212と、車両の第1の位置に含まれる道路領域に対応するベクトルマップから変換されたビットマップ1214とを比較すれば、車両の第1の位置及び車両の第2の位置に対する相対的な差異が示される。このような差異は、比較イメージ1210内のX軸における差異値及びY軸における差異値を含むことができる。これとは異なり、このような差異は、比較イメージ1210内のX軸における差異値、Y軸における差異値及びX軸方向からの回転値を含むことができる。
【0086】
また、プロセッサは、ローカルサブマップ1212及びビットマップ1214の相対的な差異を決定すると同時に、このような差異に対する類似度を含むコストマップ1220を生成できる。プロセッサは、生成されたコストマップ1220から最も類似度が高い差異値を選択できる。その後、プロセッサは、比較イメージ1230に示すように、選択された差異値に基づいてビットマップ1234の位置をローカルサブマップ1232の位置と一致するように移動させることができる。すなわち、プロセッサは、車両の第1の位置に算出された差異値(相対的な差異値)を適用することで、車両の第2の位置を決定できる。
【0087】
図13は、本開示の一実施例に係るコストマップから抽出された既定の類似度以上の類似度を有するポイントが抽出されたイメージの例を示す図である。プロセッサは、直進車線情報のみがある場合、コストマップから抽出された既定の類似度以上の類似度を有するポイント(以下、主要ポイント)が表示されたイメージ1310、1320を生成できる。また、プロセッサは、交差状況である場合、コストマップから抽出された主要ポイントが表示されたイメージ1330、1340を生成できる。図に示すように、イメージ1310、1320、1330、1340の主要ポイントは、濃厚な色で表示された点の集合で表すことができる。ここで、イメージ1310、1320、1330、1340の主要ポイントは、コストマップから抽出されたx、y値に対する調整値(すなわち、実世界での大きさの値)を車両の第2の位置に対応するGPS座標上の方位に基づいて回転させることにより生成できる。
【0088】
プロセッサは、このように生成された主要ポイントに対する共分散行列を算出できる。共分散行列による信頼度は、調整値の分布の密度が高いほど高い信頼度を示すことができる。一実施例において、イメージ1310、1320内の主要ポイントの分布を比較すれば、イメージ1310の分布の密度がイメージ1320の分布の密度よりも高いので、イメージ1310から算出された車両の第2の位置に対する信頼度がより高いと判定できる。他の実施例によれば、イメージ1330、1340内の主要ポイントの分布を比較すれば、イメージ1330の分布の密度がイメージ1340の分布の密度よりも高いので、イメージ1330から算出された車両の第2の位置に対する信頼度がより高いと判定できる。
【0089】
図14は、本開示の一実施例に係る車両位置決定方法を示すフローチャートである。一実施例によれば、車両位置決定方法は、車両に含まれるコンピュータ装置に搭載又は内蔵されたプロセッサにより実行できる。他の実施例によれば、車両位置決定方法は、情報処理システムに含まれるプロセッサにより実行できる。車両位置決定方法は、車両の第1の位置が含まれる道路領域内の複数の意味論的オブジェクトを示すベクトルマップを獲得するステップ(S1410)により開始することができる。ここで、車両の第1の位置は、車両のGPSにより測定された車両の大まかな位置を称することができる。例えば、ベクトルマップは、航空写真から生成されたロードレイアウトベクトルマップを称することができる。また、複数の意味論的オブジェクトは、道路領域内に含まれ、車両の位置を決定するのに使用できる任意のオブジェクトを含むことができる。
【0090】
プロセッサは、ベクトルマップをビットマップに変換できる(S1420)。一実施例によれば、プロセッサは、ベクトルマップをラスタ化(rasterize)してビットマップを生成できる。例えば、プロセッサは、ベクトルマップから意味論的オブジェクトを選択し、選択された意味論的オブジェクトに対するイメージ形状を生成することで、ビットマップを生成できる。
【0091】
プロセッサは、車両のイメージセンサにより撮像された複数のビューイメージを利用して、ローカルサブマップを生成できる(S1430)。このために、プロセッサは、車両のイメージセンサ及び道路の地面間の位置関係に基づいて、複数のビューイメージを複数の鳥瞰図のイメージに変換できる。その後、プロセッサは、車両のモーションセンサにより測定されたイメージセンサの相対的位置に基づいて複数の鳥瞰図のイメージを累積連結することで、ローカルサブマップを生成できる。
【0092】
プロセッサは、変換されたビットマップ及び生成されたローカルサブマップに基づいて、車両の第2の位置を決定できる(S1440)。ここで、車両の第2の位置は車両の現在位置を称することができる。プロセッサは、ビットマップ及びローカルサブマップを比較して、ビットマップ及びローカルサブマップ間の差異を決定できる。その後、プロセッサは、車両の第1の位置に決定された差異を反映して、車両の第2の位置を決定できる。
【0093】
前述した車両位置決定方法は、コンピュータで実行するために、コンピュータ読み取り可能な記録媒体に保存されたコンピュータプログラムとして提供され得る。媒体は、コンピュータで実行可能なプログラムを継続的に保存したり、実行又はダウンロードのために一時保存したりするものであり得る。また、媒体は、単一又は多数のハードウェアが結合された形態の多様な記録手段又は保存手段であり得るが、あるコンピュータシステムに直接接続される媒体に限定されず、ネットワーク上に分散して存在するものであり得る。媒体の例としては、ハードディスク、フロッピーディスク及び磁気テープのような磁気媒体、CD-ROMやDVDのような光記録媒体、フロプティカルディスク(floptical disk)のような磁気-光媒体(magneto-optical medium)、及び、ROM、RAM、フラッシュメモリなどを含み、プログラム命令語が保存されるように構成されたものが挙げられる。また、他の媒体の例としては、アプリケーションを流通するアプリストアやその他の多様なソフトウェアを供給乃至流通するサイト、サーバなどで管理する記録媒体乃至保存媒体も挙げられる。
【0094】
本開示の方法、動作又は技法は多様な手段により具現化できる。例えば、このような技法は、ハードウェア、ファームウェア、ソフトウェア、若しくはこれらの組合せで具現化できる。本願の開示により説明された多様な例示的な論理ブロック、モジュール、回路及びアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、若しくは両方の組合せで具現化できることを、通常の技術者であれば理解できるはずである。ハードウェア及びソフトウェアのこのような相互の代替を明確に説明するために、多様な例示的な構成要素、ブロック、モジュール、回路及びステップが、それらの機能的観点から一般的に前述された。そのような機能が、ハードウェアとして具現化されるか、若しくは、ソフトウェアとして具現化されるかは、特定アプリケーション及び全体システムに付加される設計要求事項によって変化する。通常の技術者は、各々の特定アプリケーションのために多様な方式により説明された機能を具現化することもできるが、そのような具現化は本開示の範囲から逸脱するものと解釈してはならない。
【0095】
ハードウェアの具現化において、技法の遂行に利用されるプロセッシングユニットは、1つ以上のASIC、DSP、デジタル信号処理デバイス(digital signal processing devices DSPD)、プログラム可能な論理デバイス(programmable logic devices PLD)、フィールドプログラム可能なゲートアレイ(field programmable gate arrays FPGA)、プロセッサ、制御器、マイクロ制御器、マイクロプロセッサ、電子デバイス、本開示に説明された機能を遂行するように設計された他の電子ユニット、コンピュータ、若しくはこれらの組合せ内で具現化されることもできる。
【0096】
したがって、本開示により説明された多様な例示的な論理ブロック、モジュール及び回路は、汎用プロセッサ、DSP、ASIC、FPGAや他のプログラム可能な論理デバイス、離散ゲートやトランジスタロジック、離散ハードウェアコンポーネント、若しくは、本願に説明された機能を遂行するように設計されたもの等の任意の組合せで具現化又は遂行されることもできる。汎用プロセッサはマイクロプロセッサであり得るが、代替的に、プロセッサは、任意の従来のプロセッサ、制御器、マイクロ制御器、若しくは状態マシンであり得る。プロセッサは、また、コンピューティングデバイスの組合せ、例えば、DSPとマイクロプロセッサ、複数のマイクロプロセッサ、DSPコアと関連付けられる1つ以上のマイクロプロセッサ、若しくは任意の他の構成の組合せで具現化されることもできる。
【0097】
ファームウェア及び/又はソフトウェアの具現化において、技法は、RAM(random access memory)、ROM(read-only memory)、NVRAM(non-volatile random access memory)、PROM(programmable read-only memory)、EPROM(erasable programmable read-only memory)、EEPROM(electrically erasable PROM)、フラッシュメモリ、CD(compact disc)、磁気又は光学データストレージデバイスなどのようなコンピュータ読み取り可能な媒体上に保存された命令として具現化できる。命令は、1つ以上のプロセッサによって実行可能であり得、プロセッサが本開示に説明された機能の特定様態を遂行するようにできる。
【0098】
以上で説明された実施例が1つ以上の独立型コンピュータシステムで現在開示された主題の態様を活用するものとして記述しているが、本開示はこれに限定されず、ネットワークや分散コンピューティング環境のような任意のコンピューティング環境によって具現化できる。さらには、本開示における主題の様態は複数のプロセッシングチップや装置で具現化されることもでき、ストレージは複数の装置に亘って同様に影響を受ける場合もある。このような装置は、PC、ネットワークサーバ及び携帯用装置を含むこともできる。
【0099】
本明細書では、本開示が一部の実施例によって説明されたが、本開示の発明が属する技術分野における通常の技術者が理解し得る本開示から逸脱しない範囲内で多様な変形や変更が可能である。また、そのような変形や変更は、本明細書に添付された特許請求の範囲内に属するものと理解されるべきである。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14