(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-19
(45)【発行日】2024-02-28
(54)【発明の名称】高精細地図の作成方法、装置、デバイス及びコンピュータプログラム
(51)【国際特許分類】
G06T 7/38 20170101AFI20240220BHJP
G06T 7/00 20170101ALI20240220BHJP
G09B 29/00 20060101ALI20240220BHJP
【FI】
G06T7/38
G06T7/00 650Z
G09B29/00 Z
(21)【出願番号】P 2022541610
(86)(22)【出願日】2021-11-17
(86)【国際出願番号】 CN2021131180
(87)【国際公開番号】W WO2022257358
(87)【国際公開日】2022-12-15
【審査請求日】2022-07-12
(31)【優先権主張番号】202110637791.9
(32)【優先日】2021-06-08
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】シア、デグオ
(72)【発明者】
【氏名】フアン、ジジョウ
(72)【発明者】
【氏名】ワン、ハイフェン
【審査官】笠田 和宏
(56)【参考文献】
【文献】中国特許出願公開第111311709(CN,A)
【文献】中国特許出願公開第106910217(CN,A)
【文献】中国特許出願公開第111784836(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/38
G06T 7/00
G09B 29/00
(57)【特許請求の範囲】
【請求項1】
採集装置が各位置点でそれぞれ採集した点群データ及び正面画像データを取得し、点群シーケンス及び正面画像シーケンスを取得することと、
前記点群シーケンス及び前記正面画像シーケンスに対して正面画像及び点群データのレジストレーションを行うこ
とであって、前記正面画像及び点群データのレジストレーションは、点群データのフレーム毎のレジストレーション、正面画像の画素ベースの特徴ベクトル表現のレジストレーション、及び、正面画像及び点群データの統合のレジストレーションを含む、ことと、
前記レジストレーションの結果に基づいて、前記正面画像シーケンスを平面図に変換し、前記平面図における各画素の座標情報を決定することと、
前記平面図に対して地図要素の認識を行って高精細地図データを得ることと、
を
含み、
前記レジストレーションの結果に基づいて前記正面画像シーケンスを平面図に変換し、前記平面図における各画素の座標情報を決定することは、
逆透視変換に基づいて、前記正面画像シーケンスにおける各フレームの正面画像を各平面図に変換し、
正面画像における画素の座標情報に基づいて対応する平面視においてマッチングを行って平面視における画素の座標情報を決定し、
前記平面図における画素の座標情報に基づいて、前記各平面図に対してスプライシング処理を行って最終的な平面図を得る、
ことを含む、高精細地図の作成方法。
【請求項2】
前記点群シーケンス及び前記正面画像シーケンスに対して前記正面画像及び前記点群データのレジストレーションを行うことは、
前記正面画像シーケンスにおける隣接画像をレジストレーションして前記隣接画像における対応する画素からなる集合を得、
前記点群データを前記集合に投影して前記集合における各画素の座標情報を得る、
ことを含む請求項1に記載の高精細地図の作成方法。
【請求項3】
前記点群データを前記集合に投影することの前に、
前記点群データを採集したレーザレーダ装置の1回転分の運動量に基づいて、前記点群データの歪み補正を行う、
ことをさらに含む請求項2に記載の高精細地図の作成方法。
【請求項4】
前記点群データを前記集合に投影することの前に、
前記点群シーケンスにおける基準点群を決定し、
前記基準点群を基準として他の点群データをフレーム毎にレジストレーションする、
ことをさらに含む請求項2に記載の高精細地図の作成方法。
【請求項5】
前記点群シーケンスにおける基準点群を決定することは、
前記点群シーケンスにおける最初のフレームを基準として、前記フレーム毎に他の点群データをレジストレーションし、
前記点群シーケンスにおける、前後2フレームの点群データとのレジストレーション点が占める割合が最も高い1フレームの点群を基準点群とする、
ことを含む請求項4に記載の高精細地図の作成方法。
【請求項6】
前記フレーム毎に他の点群データをレジストレーションすることは
基準となる点群と、レジストレーションされていない隣接点群とから2つのフレームの点群間の変換行列を学習し、
前記基準となる点群を前記変換行列を用いて変換してレジストレーションされた前記隣接点群を得、
前記点群シーケンスにおけるすべての点群データのレジストレーションが完了するまで、前記隣接点群を新たな基準として、前記基準となる点群と、レジストレーションされていない隣接点群とから2つのフレームの点群間の変換行列を学習する処理に移行する、
ことを含む請求項4又は5に記載の高精細地図の作成方法。
【請求項7】
前記基準となる点群とレジストレーションされていない隣接点群とから2つのフレームの点群間の変換行列を学習することは、
反復最近接点(ICP)アルゴリズムを使用して、前記基準となる点群及び前記隣接点群から2つのフレームの点群間の変換行列を学習することを含み、
前記ICPアルゴリズムの損失関数は、前記基準となる点群における各点を変換行列に基づいて変換して得られた各変換点と、前記隣接点群における各変換点とのうち最も近い点の間の距離平均
値である、
請求項6に記載の高精細地図の作成方法。
【請求項8】
前記基準となる点群とレジストレーションされていない隣接点群とから2つのフレームの点群間の変換行列を学習することは、
反復最近接点(ICP)アルゴリズムを使用して、前記基準となる点群及び前記隣接点群から2つのフレームの点群間の変換行列を学習することを含み、
前記ICPアルゴリズムの損失関数は、前記基準となる点群における各点を変換行列に基づいて変換して得られた各変換点と、前記隣接点群における各変換点とのうち最も近い点の間の加重平均値である、
請求項6に記載の高精細地図の作成方法。
【請求項9】
前記点群シーケンスにおける前記基準点群を決定することの前に、
前記隣接画像における対応する点群からなる集合を決定し、
前記加重平均値を決定する際に、基準となる点群における点が前記対応する点群からなる集合に属するか否かに応じて、各距離に採用される重み値を決定する、
ことをさらに含む請求
項8に記載の高精細地図の作成方法。
【請求項10】
前記点群データを前記集合に投影して、前記集合における各画素の座標情報を得ることは、
前記点群データの座標を前記集合に投影して、正面画像における画素に対応する点群の座標情報を得、
レーザレーダの座標系から画像採集装置の座標系への変換及び平行移動行列に基づいて、前記正面画像における画素に対応する点群の座標情報を画素の座標情報に変換する、
ことを含む請求項2に記載の高精細地図の作成方法。
【請求項11】
前記平面図に対して地図要素の認識を行って高精細地図データを得ることは、
前記平面図に対して道路情報の認識を行い、
認識された前記道路情報を平面図に重ねて表示することにより、高精細地図データを得る、
ことを含む請求項1に記載の高精細地図の作成方法。
【請求項12】
採集装置が各位置点でそれぞれ採集した点群データ及び正面画像データを取得し、点群シーケンス及び正面画像シーケンスを得る取得部と、
前記点群シーケンス及び前記正面画像シーケンスに対して正面画像及び点群データのレジストレーションを行うレジストレーション
部であって、前記正面画像及び点群データのレジストレーションは、点群データのフレーム毎のレジストレーション、正面画像の画素ベースの特徴ベクトル表現のレジストレーション、及び、正面画像及び点群データの統合のレジストレーションを含む、レジストレーション部と、
前記レジストレーションの結果に基づいて、前記正面画像シーケンスを平面図に変換し、前記平面図における各画素の座標情報を決定する変換部と、
前記平面図に対して地図要素の認識を行って高精細地図データを得る認識部と、
を備
え、
前記変換部は、逆透視変換に基づいて前記正面画像シーケンスにおける各フレームの正面画像を各平面図に変換し、正面画像における画素の座標情報に基づいて対応する平面視においてマッチングを行って平面視における画素の座標情報を決定し、前記平面図における画素の座標情報に基づいて、前記各平面図に対してスプライシング処理を行って最終的な平面図を得る、
高精細地図の作成装置。
【請求項13】
前記レジストレーション部は、
前記正面画像シーケンスにおける隣接画像をレジストレーションして前記隣接画像における対応する画素からなる集合を得る第1レジストレーションサブユニットと、
前記点群データを前記集合に投影して前記集合における各画素の座標情報を得る投影サブユニットと、
を備える請求項12に記載の高精細地図の作成装置。
【請求項14】
前記レジストレーション部は、
前記点群データを採集したレーザレーダ装置の1回転分の運動量に応じて、前記点群データの歪み補正を行って前記投影サブユニットに供給する校正サブユニットをさらに備える請求項13に記載の高精細地図の作成装置。
【請求項15】
前記レジストレーション部は、
前記点群シーケンスにおける基準点群を決定する基準サブユニットと、
前記基準点群を基準として、他の点群データをフレーム毎にレジストレーションしてレジストレーションされた点群データを前記投影サブユニットに供給する第2レジストレーションサブユニットと、
をさらに備える請求項13に記載の高精細地図の作成装置。
【請求項16】
前記基準サブユニットは、前記点群シーケンスにおける最初のフレームを基準として前記第2レジストレーションサブユニットに提供し、前記フレーム毎に他の点群データをレジストレーションし、前記第2レジストレーションサブユニットからレジストレーション結果を取得し、前記点群シーケンスにおける、前後2フレームの点群データとのレジストレーション点が占める割合が最も高い1フレームの点群を基準点群とする、
請求項15に記載の高精細地図の作成装置。
【請求項17】
前記第2レジストレーションサブユニットは、
基準となる点群と、レジストレーションされていない隣接点群とから2つのフレームの点群間の変換行列を学習し、
前記基準となる点群を前記変換行列を用いて変換してレジストレーションされた前記隣接点群を得、
前記点群シーケンスにおけるすべての点群データのレジストレーションが完了するまで、前記隣接点群を新たな基準として、前記基準となる点群と、レジストレーションされていない隣接点群とから2つのフレームの点群間の変換行列を学習する処理に移行する、
請求項15又は16に記載の高精細地図の作成装置。
【請求項18】
前記第2レジストレーションサブユニットは、前記基準となる点群とレジストレーションされていない隣接点群とから2つのフレームの点群間の変換行列を学習する際に、
反復最近接点(ICP)アルゴリズムを使用して、前記基準となる点群及び前記隣接点群から2つのフレームの点群間の変換行列を学習し、
前記ICPアルゴリズムの損失関数は、前記基準となる点群における各点を変換行列に基づいて変換して得られた各変換点と、前記隣接点群における各変換点とのうち最も近い点の間の距離平均
値である、
請求項17に記載の高精細地図の作成装置。
【請求項19】
前記第2レジストレーションサブユニットは、前記基準となる点群とレジストレーションされていない隣接点群とから2つのフレームの点群間の変換行列を学習する際に、
反復最近接点(ICP)アルゴリズムを使用して、前記基準となる点群及び前記隣接点群から2つのフレームの点群間の変換行列を学習し、
前記ICPアルゴリズムの損失関数は、前記基準となる点群における各点を変換行列に基づいて変換して得られた各変換点と、前記隣接点群における各変換点とのうち最も近い点の間の加重平均値である、
請求項17に記載の高精細地図の作成装置。
【請求項20】
前記レジストレーション部は、前記隣接画像における対応する点群からなる集合を決定する第3レジストレーションサブユニットを更に備え、
前記第2レジストレーションサブユニットは、前記加重平均値を決定する際に、基準となる点群における点が前記対応する点群からなる集合に属するか否かに応じて、各距離に採用される重み値を決定する、
請求
項19に記載の高精細地図の作成装置。
【請求項21】
前記投影サブユニットは、前記集合に前記点群データの座標を投影して、正面画像における画素に対応する点群の座標情報を得、レーザレーダの座標系から画像採集装置の座標系への変換及び平行移動行列に基づいて、前記正面画像における画素に対応する点群の座標情報を画素の座標情報に変換する、
請求項13に記載の高精細地図の作成装置。
【請求項22】
前記認識部は、前記平面図に対して道路情報の認識を行い、認識された前記道路情報を前記平面図に重ねて表示することにより、高精細地図データを得る、
請求項12に記載の高精細地図の作成装置。
【請求項23】
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信可能に接続されたメモリとを備え、
前記メモリに前記少なくとも1つのプロセッサにより実行可能なコマンドが記憶されており、前記コマンドが前記少なくとも1つのプロセッサにより実行されると、前記少なくとも1つのプロセッサに請求項1~11のいずれか1項に記載の高精細地図の作成方法を実行させる電子デバイス。
【請求項24】
コンピュータに請求項1~11のいずれか1項に記載の高精細地図の作成方法を実行させるためのコンピュータコマンドを格納する非一時的なコンピュータ可読記憶媒体。
【請求項25】
プロセッサにより実行されると、請求項1~11のいずれか1項に記載の高精細地図の作成方法を実現するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータ応用技術の分野に関し、特に人工知能技術の分野における自動運転及びディープラーニング技術に関する。
[関連出願の相互参照]
本出願は、出願日が2021年06月08日、出願番号が202110637791.9、発明名称が「高精細地図の作成方法、装置、デバイス及びコンピュータ記憶媒体」である中国特許出願の優先権を主張している。
【背景技術】
【0002】
高精細地図は自動運転システムにおける重要な一環として、自動運転の発展を推進する重要な要素の一つである。従来の地図は精度が低く、道路レベルの経路計画しか提供できなかった。高精細地図は、高精度測位、車線レベルのルート計画能力、豊富な道路要素情報を提供することで、事前に位置情報を知り、走行ルートを正確に計画し、路面の複雑な情報を予知し、潜在的なリスクをよりよく回避することなどに寄与する。そのため、高精細地図の作成をいかに実現するかが早急な解決を要する問題となっている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
これに鑑みて、本発明は、高精細地図の作成方法、装置、デバイス及びコンピュータ記憶媒体を提供する。
【課題を解決するための手段】
【0004】
本開示の第1の態様によれば、採集装置が各位置点でそれぞれ採集した点群データ及び正面画像データを取得して点群シーケンス及び正面画像シーケンスを得、前記点群シーケンス及び正面画像シーケンスに対して正面画像と点群データのレジストレーションを行い、前記レジストレーションの結果に基づいて前記正面画像シーケンスを平面図に変換して前記平面図における各画素の座標情報を決定し、前記平面図に対して地図要素の認識を行って高精細地図データを得ることを含む高精細地図の作成方法が提供される。
【0005】
本開示の第2の態様によれば、採集装置が各位置点でそれぞれ採集した点群データ及び正面画像データを取得して点群シーケンス及び正面画像シーケンスを得る取得部と、前記点群シーケンス及び正面画像シーケンスに対して正面画像及び点群データのレジストレーションを行うレジストレーション部と、前記レジストレーションの結果に基づいて、前記正面画像シーケンスを平面図に変換して前記平面図における各画素の座標情報を決定する変換部と、前記平面図に対して地図要素の認識を行って高精細地図データを得る認識部とを備える高精細地図の作成装置が提供される。
【0006】
本開示の第3の態様によれば、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサと通信可能に接続されたメモリとを備え、前記メモリに前記少なくとも1つのプロセッサにより実行可能なコマンドが記憶されており、前記コマンドが前記少なくとも1つのプロセッサにより実行されると、前記少なくとも1つのプロセッサに上述した方法を実行させる電子デバイスが提供される。
【0007】
本開示の第4の態様によれば、コンピュータに上述した方法を実行させるためのコンピュータコマンドを記憶した非一時的なコンピュータ可読記憶媒体が提供される。
【0008】
本開示の第5の態様によれば、プロセッサにより実行されると、上述した方法を実現するコンピュータプログラムを含むコンピュータプログラム製品が提供される。
【0009】
理解すべきなのは、本セクションで説明される内容は、本開示の実施形態の重要な又は肝心な特徴を標識することでもなく、本開示の範囲を制限することでもない。本開示の他の特徴は、以下の明細書により容易に理解されるであろう。
【図面の簡単な説明】
【0010】
図面は、本技術案をより良く理解するためのものであり、本願に制限されない。
【
図1】本開示の実施形態により提供される高精細地図の作成方法のフローチャートである。
【
図2】本開示の実施形態により提供される好適なレジストレーション処理のフローチャートである。
【
図3】本開示の実施形態により提供されるフレームごとに点群データをレジストレーションする方法のフローチャートである。
【
図5】本開示の実施形態により提供される高精細地図の作成装置の構成図である。
【
図6】本発明の実施形態を実現するための電子デバイスのブロック図である。
【発明を実施するための形態】
【0011】
以下、図面に基づいて、本開示の例示的な実施例を説明する。理解を容易にするために、本開示の実施例の様々な詳細が含まれており、それらは単なる例示と見なされるべきである。従って、当業者は、本開示の範囲及び精神から逸脱することなく、本明細書に記載の実施形態に対して様々な変更及び修正を行うことができることを認識するはずである。同様に、簡明のために、以下の説明では、よく知られた機能と構造の説明は省略される。
【0012】
現在、いくつかの高精細地図の作成が存在しているが、主に点群技術に基づいている。すなわち、レーザレーダ装置によって大量の稠密な点群データを収集し、点群データを処理・識別した後、道路や地上標識などの情報を得、さらにこれらのデータを人工的に修正し、最終的に高精細な地図データを生成する。しかし、この従来の方法は点群データに強く依存している。都市部の道路空間の構造が複雑であるため、高精細地図の精度を保証するために、大量の人力をかけてレジストレーション作業を行う必要がある結果、高精細地図の作成効率が低く、人件費が高く、作業員の専門技能が厳しく要求され、最終的に高精細地図の大規模作成に影響を与える。
【0013】
これに鑑みて、本開示は、上記従来の方法とは異なる高精細地図の作成方法を提供する。本開示で提供される方法は、実施形態に関連して以下に詳細に説明される。
【0014】
図1は本開示の実施形態により提供される高精細地図の作成方法のフローチャートである。この方法の実行主体は、推奨装置であってよい。この装置は、ローカル端末に配置されたアプリケーションであってもよく、ローカル端末に配置されたアプリケーションにおけるプラグイン又はソフトウェア開発キット(Software Development Kit;SDK)のような機能ユニットであってもよく、サーバ側に配置されてもよく、本発明の実施形態は特に限定しない。
図1に示されるように、この方法は以下のことを含んで良い。
【0015】
101では、採集装置が各位置点でそれぞれ取得した点群データ及び正面画像データを取得し、点群シーケンス及び正面画像シーケンスを得る。
【0016】
102では、点群シーケンス及び正面画像シーケンスに対して正面画像と点群データとのレジストレーションを行う。
【0017】
103では、レジストレーション結果に基づいて、正面画像シーケンスを平面図に変換し、平面図における各画素の座標情報を決定する。
【0018】
104では、平面図に対して地図要素の認識を行って高精細地図データを得る。
【0019】
以上の技術案からわかるように、本開示の考え方は画像採集装置で採集した画像データとレーザレーダ装置で採集した点群データを統合することにより、相互統合された自動化のレジストレーションを実現し、レジストレーション結果に基づいて最終的な高精細地図を生成することである。この方式は人工によるレジストレーションを行うために余分に多くの労力を費やす必要がなく、作成効率が向上し、人件費及び作業者への専門技能の要求が低減され、高精細地図の大規模作成の基礎を提供する。
【0020】
以下、上記実施形態の各ステップについて詳細に説明する。
【0021】
まず、上記ステップ101、即ち「採集装置が各位置点でそれぞれ取得した点群データ及び正面画像データを取得して点群シーケンス及び正面画像シーケンスを得る」について、実施形態に関連して詳細に説明する。
【0022】
このステップに係わる採集装置は、主に、例えばカメラ、レコーダーなどのように定刻に、或いはトリガにより画像採集を実行可能な画像採集装置と、定刻に或いはトリガによりレーザ光を照射してスキャンすることにより、周囲環境の表面の反射点の集合のデータ、すなわち点群データを取得可能なレーザレーダ装置と、の二種類の装置を含む。これらの点群データには、通常にレーザレーダ装置の座標系における座標である点の座標情報が含まれる。
【0023】
また、例えばGNSS(Global Navigation Satellite System、全球測位衛星システム)装置のような、位置情報の採集を担う測位機能を有する装置を含むこともできる。
【0024】
本開示では、移動可能なデバイス(例えば採集車)を用いて上記採集装置を搬送し、そして移動可能なデバイスが移動する過程において、各採集装置が一定の頻度でデータ採集を行うか、同じ位置点でトリガされてデータ採集を行って良い。
【0025】
例えば、画像採集装置が一定の採集頻度で採集した正面画像により正面画像シーケンス
【数1】
を構成する。ここで、I
iは、時刻t
iで採集された1フレームの正面画像である。
【0026】
レーザレーダ装置が一定の採集頻度で採集した点群データにより点群シーケンス
【数2】
を構成する。ここで、P
iは時刻t
iで採集された1フレームの点群データである。各フレームの点群データはM個点の座標情報を含み、即ち1フレームの点群データに含まれる座標情報は
【数3】
である。ここで、p
jはj点目の座標情報である。
【0027】
位置採集装置が一定の採集頻度で採集した位置データにより位置シーケンス
【数4】
を構成する。ここで、L
iは時刻t
iで採集された位置データである。
【0028】
上記Nは、採集装置がデータ採集を行った回数であり、すなわち採集装置の種類ごとに得られたデータの数である。
【0029】
好ましい実施形態として、データの同期化及び後続のレジストレーション処理を確保するために、採集装置に対してクロック同期化及び/又はジョイントキャリブレーションを事前に行うことができる。
【0030】
ここで、採集装置間のクロック同期を行う際には、ミリメートルレベルを達成する必要があることが好ましい。具体的な同期方式としては、GPSベースの「PPS(Pulse Per Second、1秒間のパルス数)+NMEA(National Marine Electronics Association、米国国家海洋電子協会)」、又はイーサネット(登録商標)ベースのIEEE 1588(又はIEEE 802.1AS)クロック同期プロトコルが選択できる。
【0031】
採集装置に対してジョイントキャリブレーションを行うことは、主に採集装置のうち画像採集装置の内、外参照情報、レーザレーダ装置の外参照情報、レーザレーダ座標系から画像採集装置の座標系への変換及び平行移動行列M1、及び画像採集装置の内参照情報行列M2を得るためである。
【0032】
ジョイントキャリブレーションの方式は主に1つのキャリブレーションテンプレートを予め設定し、レーザレーダ装置と画像採集装置を調整してキャリブレーションテンプレートに対して写真撮影と点群捕捉を行う。次に、少なくとも3つの対応する画像における2次元点と点群の3次元点を探し、すなわち3点対を構成する。この3点対を用いてPNP(Pespective-n-point)求解を行うことにより、レーザレーダ装置の座標系と画像採集装置の座標系との変換関係を導出することができる。
【0033】
デバイス間のクロック同期とジョイントキャリブレーションは、現在の比較的成熟した技術を用いることができるため、ここでは詳述しない。
【0034】
以上のステップ102、即ち「点群シーケンス及び正面画像シーケンスに対して正面画像及び点群データとのレジストレーションを行う」について、実施形態に関連して詳細に説明する。
【0035】
本ステップでは、点群シーケンス及び正面画像シーケンスに対して正面画像及び点群データとのレジストレーションを行うことは、正面画像シーケンスにおける隣接画像をまずレジストレーションして隣接画像における対応する画素からなる集合を得、次にその集合に点群データを投影して集合における各画素の座標情報を得ることが考えられる。レジストレーションのプロセスは、実際には、一方では、より正確な画素を特定し、他方では、その画素部分の座標情報を特定することである。以下で好適な実施形態を説明する。
図2は本開示の実施形態により提供される好適なレジストレーション処理のフローチャートである。
図2に示すように、当該フローは以下のステップを含むことができる。
【0036】
201では、正面画像シーケンスにおける隣接画像をレジストレーションして隣接画像における対応する画素の集合を得る。
【0037】
画像採集装置では、一定の頻度で画像採集が行われるため、隣接する2つのフレームの画像は異なる。本ステップの目的は、隣接する画像中のどの画素点が対応しているかを導出することである。
【数5】
【0038】
レジストレーションを行う際には、特徴に基づく方法やディープラーニング方法などを用いることができる。ここで、特徴に基づく方法は、主に、2つのフレームの画像における、例えばSIFT(Scale-invariant feature transform)を採用可能な各画素の特徴を決定し、次に類似度の方式に基づいて特徴マッチングを行って対応する画素点を得ることを含む。例えば、特徴間の類似度が予め設定された類似度閾値を超える2つの画素点間でマッチングが成功する。
【0039】
ディープラーニング方法は主に、畳み込みニューラルネットワーク、VGG(Visual Geometry Group Network)層などを用いて各画素の特徴ベクトル表現を生成し、次に2フレームの画像における各画素の特徴ベクトル表現に基づいて特徴マッチングを行って対応する画素点を得ることを含む。例えば、特徴ベクトル表現間の類似度が予め設定された類似度閾値を超える2つの画素点間でマッチングが成功する。
【0040】
202では、点群データを採集したレーザレーダ装置が1回転する運動量に応じて、点群データに対して歪み補正を行う。
【0041】
このステップは好適に実行されており、後続のレジストレーションプロセスにおける点群データの精度を向上させることに寄与する。
【0042】
画像採集装置はグローバルシャッタを採用しており、瞬時に得られたものと考えられる。一方、レーザレーダ装置は瞬間的に得られるものではなく、通常は送受信機を1周、すなわち360度回転させた後に採集される。仮に1回転を100msとすると、1回の採集周期内に形成された1フレームの点群データでは、最初の点と最後の点の間に100msの差があり、さらにレーザレーダ装置が移動中に採集されるため、点群データには歪みがあり、ある時点の実際の環境をリアルに反映できない。画像データと点群データとをより良くレジストレーションするために、このステップでは、点群データに対して歪み補正を行う。
【0043】
レーザレーダはレーザ点座標を算出する際に、レーザ光を受けた時点におけるレーザレーダ自身の座標系に基づいているため、レーザレーダの移動中にレーザ点の列ごとに基準座標系が異なる。ただし、これらは同じフレームの点群内にあるため、歪み補正を行う際には同じ座標系に統一する必要がある。
【0044】
歪み補正の考え方は、採集中のレーザレーダの動きを計算し、そして回転と平行移動の補正を含めて、各フレームの点群上でこの動き量を補正することである。まずは1フレームの点群内の最初のレーザ点を決定し、後続のレーザ点は最初のレーザ点に対する回転角度と平行移動量を決定し、その後に回転してから平行移動することである補正変換を行うことにより、補正後のレーザ点の座標情報を得ることができる。
【0045】
さらに、ステップ202の後に、隣接画像における対応する点群の集合を決定することもできる。
【0046】
具体的には、まず、画像採集装置の内部参照情報行列、画像採集装置の座標系から画像平面への回転行列、及びレーザレーダ座標系から画像採集装置の座標系への変換及び平行移動行列に基づいて、点群から画像への投影行列を得、次に投影行列を用いて点群データを画像上に投影して良い。投影を行った後、隣接画像における対応する点群の集合を決定することができる。連続された2フレームの画像xIと画像yIが上記の投影により、画像xIに投影されたK1個の点からなる集合と画像yIに射影されたK2個の点からなる集合を得ると仮定する。これら2つの集合に対して積集合を導出すると、画像xIと画像yIにおける対応する点群からなる集合となる。この集合の用途は、後続の実施形態に関連する。
【0047】
203では、点群シーケンスにおける基準点群を決定する。
【0048】
具体的には、点群シーケンスにおける最初のフレームを基準点群として使用することができる。
【0049】
しかし、実際には、点群シーケンスにおける最初のフレームの点群が最も正確ではない場合がある。したがって、本開示は、基準点群を決定するための好ましい方法を提供する。具体的には、点群シーケンスにおける最初のフレームを基準として、フレームごとに他の点群データに対してレジストレーションを行い、点群画像シーケンスのうち、前後2フレームの点群データとのレジストレーション点が占める割合が最も高い1フレームの点群を基準点群とすることができる。
【0050】
ここで、フレームごとに他の点群データに対してレジストレーションを行う際に、
図3のような方法を使用して、次の手順を実行することができる。
【0051】
301では、基準となる点群と、レジストレーションされていない隣接点群とから、2つのフレームの点群間の変換行列を学習する。
【0052】
最初のフレームから点群を基準とすると、最初のフレームの点群と2番目のフレームの点群を決定し、この2つのフレームの点群から両方の変換行列を学習する。
【0053】
隣接する2つのフレームの点群は、実際には回転と平行移動の関係にあるため、最初のフレームの点群を回転と平行移動すると、理論的には2番目のフレームの点群が得られる。一方、実際の場合に、採集装置が走行中に揺れたりして多少のずれが生じる可能性があるため、例えばICP(Iterative Closest Point)などの方法を用いて変換行列の学習を行うことができる。たとえば、回転行列をR、平行移動行列をtと表すと、Rとtを学習する際に、損失関数は、基準となる点群における各点が変換行列によって変換された各変換点と、隣接点群における各変換点とのうち最も近い点の間の距離平均値又は加重平均値とすることができる。
【0054】
たとえば、次のような損失関数を使用できる。
【数6】
【0055】
ここで、E(R,t)は損失関数を示し、x
iは基準となる点群、例えば最初のフレームの点群における点を示し、R(x
i)+tは変換行列によるx
iに対する変換を示し、
【数7】
はx
iに対して変換した後に隣接する点群、例えば2番目のフレームの点群においてマッチングされた最近点を示す。nはマッチング可能な点の数である。点ごとに学習を行った後、上記損失関数を最小化することを目標として、最終的に変換行列Rとtを学習することができる。
【0056】
さらに、例えば、次のような損失関数を用いることもできる。
【数8】
【0057】
上記式(1)とは異なることは、基準となる点群における点が対応する点群からなる集合P
x,yに属するか否かによって決定される加重係数w
iが付加されている。たとえば、次のような式を採用可能である。
【数9】
【0058】
ここで、α≧1である。例えば、α=1.5又はα=2.0を取ることができる。
【0059】
上記のICP方法に加えて、DGR(Deep Global Registration)などのディープ特徴学習に基づく方法を用いることもできる。
【0060】
302では、この変換行列を用いて基準となる点群を変換してレジストレーションされた隣接点群を得る。
【0061】
例えば、最初のフレームの点群における各点を上記変換行列Rとtを用いて変換した後、2番目のフレームの点群においてレジストレーションされた各点を得る。
【0062】
303では、レジストレーションされていない隣接点群が点群シーケンスに存在するか否かを判定し、肯定の場合にステップ304を実行し、否定の場合に現在のレジストレーションプロセスを終了する。
【0063】
304では、隣接点群を新たな基準としてステップ301へ進む。
【0064】
例えば、続いてレジストレーションされた2番目のフレームの点群を新たな基準として3番目のフレームの点群に対して上記手順を実行してレジストレーションしてレジストレーションされた各点を得る。次に、レジストレーションされた3番目のフレームを新たな基準として、4番目のフレームの点群に対して上記手順を実行してレジストレーションし、これによって類推すれば良い。
【0065】
点群シーケンスにおけるすべてのフレーム点群のレジストレーションが完了した後、点群画像シーケンスのうち、前後2フレームの点群データとのレジストレーション点が占める割合が最も高い1フレームの点群を基準点群とする。ここで、j番目のフレームの点群P
jのレジストレーション点の割合A
jは、次の式で決定され得る。
【数10】
【0066】
ここで、match()は前後2フレームの点群におけるレジストレーション可能な点の積集合を示し、1フレームの点群を変換行列に従って変換して得られた各点と、他の1フレームの点群における各点との積集合として表現することができる。
【数11】
は集合内の点の数を示す。たとえば、|P
j-1|はj-1番目のフレームの点群内の点の数を示す。
【0067】
図2に進む。204では、基準点群を基準として、フレーム毎に他の点群データをレジストレーションする。
【0068】
基準点群が決定されると、
図3に示すような方法で、基準点群を基準としてフレーム毎に他の点群データをレジストレーションする。基準点群が最初のフレームである場合、次のフレームの点群が順番にレジストレーションされる。基準点群が最初のフレームでない場合に、基準点群を基準として各フレーム点群を前後へレジストレーションする。最終的に、レジストレーションされた点群シーケンスが得られる。
【0069】
205では、ステップ201で得られた集合にレジストレーションされた点群データを投影して集合における各画素の座標情報を得る。
【0070】
具体的には、点群データの座標を集合に投影して正面画像における画素に対応する点群の座標情報を得、レーザレーダ座標系から画像採集装置の座標系への変換及び平行移動行列に基づいて、正面画像における画素に対応する点群の座標情報を画素の座標情報に変換することを含んで良い。
【0071】
ここで、上記の集合は、実際には、隣接画像のレジストレーションによって得られた対応する画素である。点群データをそれぞれ画像上に投影し、上記の集合に入る点(すなわちレーザ点)を取ることにより、正面画像におけるこれらの集合内の各画素に対応する点群の座標情報を得ることができる。点群データの画像への投影方式については、先の実施形態の記載を参照でき、ここでは言及しない。
【0072】
正面画像における画素に対応する点群の座標情報を取得した後、レーザレーダ装置の座標系と画像採集装置の座標系が異なるため、点群の座標情報を画素の座標情報に変換し、すなわち画像採集装置の座標系に変換する必要がある。
【0073】
以上のステップ103、即ち「レジストレーション結果に基づいて、正面画像シーケンスを平面図に変換し、平面図における各画素の座標情報を決定する」について、以下で実施形態と併せて詳細に説明する。
【0074】
このステップでは、まず、逆透視変換に基づいて、正面図シーケンスにおける各フレームの正面画像を平面図に変換し、次に正面画像における画素の座標情報に基づいて平面図においてマッチングを行って平面図における各画素の座標情報を決定して良い。
【0075】
ここで、逆透視変換は、現在に画像投影変換を行う常用方式である。その本質は、画像採集装置によって採集された正面画像を世界座標系におけるz=0平面に変換することである。
【0076】
正面図における画素の座標情報が(u,v)で表されると仮定すると、世界座標系における座標(x,y,z)に変換する必要がある。ジョイントキャリブレーションプロセスにおいて、次のパラメータを取得することができる。
γ:画像採集装置の光軸oのz=0平面への投影とy軸の角度、
θ:画像採集装置の光軸oのz=0平面からのずれの角度、
2α:画像採集装置の視角、
Rx:画像採集装置の水平方向の解像度、
Ry:画像採集装置の垂直方向の解像度。
【0077】
逆透視変換モデルは以下のように表すことができる。
【数12】
【数13】
【0078】
ここで、hは画像採集装置の地面からの高さ、cot()はコタンジェント関数である。
【0079】
以上の逆透視変換により、例えば
図4aに示すような正面画像を、
図4bに示すような平面図に変換することができる。
【0080】
上述の逆透視変換理論に従って、実際に正面図シーケンスにおける各フレームの正面画像をそれぞれ1枚の平面図に変換することができる。Nフレームの正面画像が存在すれば、N枚の平面図を得ることができる。これらの平面図は実際には互いに重なり合っており、特に隣接する2つの平面図は、殆どの領域が重なり合っている。以上の手順では、平面視における画素の座標情報を得ることができるため、各平面視における画素の位置情報に基づいて、1枚ずつのスプライシングを行い、最終的に高精細地図を得ることができる。
【0081】
以上のステップ104、即ち「平面図に対して地図要素の認識を行って高精細地図データを得る」について、以下で実施形態と併せて詳細に説明する。
【0082】
このステップでは、ステップ103で得られた平面図に対して道路情報の認識を行い、次に認識された道路情報を平面図に重ねて表示することにより、高精細地図データを得ることができる。
【0083】
ここで、道路情報は、車線ライン、車線ラインタイプ(例えば、白色の実線、シングル黄色の実線、ダブル黄色の実線、黄色の点実線、導流ライン、黄色の駐車禁止ライン等)、色、車線の案内矢印情報、車線タイプ(例えば本線、バスレーン、潮流車線等)等を含むことができる。
【0084】
以上の認識を行う際には、ディープニューラルネットワークに基づく語義分割モデル、たとえばDeepLabV3を用いて道路情報を分割することができる。上述した道路情報は、例えばFaster-RCNN(Regions with CNN features)のようなディープニューラルネットワークに基づく画像認識技術を用いて識別することもできる。
【0085】
説明すべきなのは、上記の平面図に基づく認識は、主に地面要素の認識、すなわち、主に道路情報の認識である。一方、交通標識や建物などの他の地図要素の認識については、正面画像から認識する。この部分は、従来技術における方式を採用することができ、本開示では限定されない。
【0086】
識別された道路情報を平面図に重ねて表示した後、作業者は平面図のデータに直接に基づいて重ねた道路情報と比較し、問題のあるデータを修正し、最終的な高精細地図データを作成することができる。
【0087】
以上は、本開示で提供される方法の詳細な説明である。以下は、本開示で提供される装置について実施形態に関連して詳細に説明する。
【0088】
図5は、本開示の実施形態により提供される高精細地図の作成装置の構成図である。
図5に示されるように、当該装置500は、取得部510と、レジストレーション部520と、変換部530と、認識部540とを備えてよい。これらの構成要素の主な機能は以下のとおりである。
【0089】
取得部510は、採集装置が各位置点でそれぞれ取得した点群データ及び正面画像データを取得し、点群シーケンス及び正面画像シーケンスを得る。
【0090】
ここで、前記採集装置は、少なくとも、正面画像を取得する画像採集装置と、点群データを取得するレーザレーダ装置とを含む。
【0091】
好ましい実施形態の一つとして、データの同期化及び後続のレジストレーション処理を確保するために、採集装置に対してクロック同期化及び/又はジョイントキャリブレーションを事前に行うことができる。
【0092】
レジストレーション部520は、点群シーケンス及び正面画像シーケンスに対して正面画像及び点群データのレジストレーションを行う。
【0093】
変換部530は、レジストレーション結果に基づいて、正面画像シーケンスを平面図に変換し、平面図における各画素の座標情報を決定する。
【0094】
認識部540は、平面図に対して地図要素を認識して高精細地図データを得る。
【0095】
具体的には、レジストレーション部520は、第1レジストレーションサブユニット521及び投影サブユニット522を備えてよく、更に校正サブユニット523と、基準サブユニット524と、第2レジストレーションサブユニット525と、第3レジストレーションサブユニット526とを備えてよい。
【0096】
ここで、第1レジストレーションサブユニット521は、正面画像シーケンスにおける隣接画像をレジストレーションして隣接画像における対応する画素からなる集合を得る。
【0097】
投影サブユニット522は、点群データを集合に投影して集合における各画素の座標情報を得る。
【0098】
好ましい実施形態の一つとして、校正サブユニット523は、点群データを採集したレーザレーダ装置が1回転する運動量に応じて、点群データを歪み補正して投影サブユニット522に供給する。
【0099】
別の好ましい実施形態の一つとして、基準サブユニット524は、点群シーケンスにおける基準点群を決定する。
【0100】
第2レジストレーションサブユニット525は、基準点群を基準として他の点群データをフレーム毎にレジストレーションし、レジストレーションされた点群データを投影サブユニット522に供給する。
【0101】
例えば、校正サブユニット523を用いて点群データの歪み補正を行い、次に基準サブユニット524により基準点群を決定し、第2レジストレーションサブユニット525によりレジストレーションするように、上記2つの方法を組み合わせることができる。
【0102】
基準サブユニット524は、点群シーケンスにおける最初のフレームの点群を基準点群とすることができる。しかし、好ましい実施形態の一つとして、基準サブユニット524は、具体的に、点群シーケンスにおける最初のフレームを第2レジストレーションサブユニット525に提供して基準として、フレーム毎に他の点群データをレジストレーションし、第2レジストレーションサブユニット525からレジストレーション結果を取得し、点群シーケンスのうち、前後2フレームの点群データとのレジストレーション点が占める割合が最も高い1フレームの点群を基準点群とする。
【0103】
第2レジストレーションサブユニット525は、基準となる点群と、レジストレーションされていない隣接点群とから2つのフレームの点群間の変換行列を学習し、基準となる点群を変換行列を用いて変換してレジストレーションされた隣接点群を得、点群画像シーケンスにおけるすべての点群データのレジストレーションが完了するまで、隣接点群を新たな基準として、基準となる点群と、レジストレーションされていない隣接点群とから2つのフレームの点群間の変換行列を学習する処理に移行する。
【0104】
実現可能な方式として、第2レジストレーションサブユニット525は、基準となる点群とレジストレーションされていない隣接点群とから2フレームの点群間の変換行列を学習する際に、具体的に、反復最近接点ICPアルゴリズムを用いて、基準となる点群及び隣接点群から2フレームの点群間の変換行列を学習する。ここで、ICPアルゴリズムの損失関数は、基準となる点群における各点を変換行列により変換して得られた各変換点と、隣接点群における各変換点とのうち最も近い点の間の距離平均値又は加重平均値である。
【0105】
好ましい実施形態の一つとして、第3レジストレーションサブユニット526は、隣接画像における対応する点群からなる集合を決定する。
【0106】
第2レジストレーションサブユニット525は、加重平均値を決定する際に、基準となる点群における点が対応する点群からなる集合に属するか否かに応じて、各距離に用いる重みを決定する。
【0107】
投影サブユニット522は、具体的に、点群データの座標を集合に投影して正面画像における画素に対応する点群の座標情報を得、レーザレーダ座標系から画像採集装置の座標系への変換及び平行移動行列に基づいて、正面画像における画素に対応する点群の座標情報を画素の座標情報に変換する。
【0108】
変換部530は、具体的に、逆透視変換に基づいて、正面図シーケンスにおける各フレームの正面画像を平面図に変換し、正面画像における画素の座標情報に基づいて平面視においてマッチングを行って平面視における各画素の座標情報を決定する。
【0109】
認識部540は、具体的に、平面図に対して道路情報の認識を行い、認識された道路情報を平面図に重ねて表示することにより、高精細地図データを得る。
【0110】
ここで、道路情報は、車線ライン、車線ラインタイプ(例えば、白色の実線、シングル黄色の実線、ダブル黄色の実線、黄色の点実線、導流ライン、黄色の駐車禁止ライン等)、色、車線の案内矢印情報、車線タイプ(例えば、本線、バスレーン、潮流車線等)等を含むことができる。
【0111】
以上の認識を行う際には、ディープニューラルネットワークに基づく語義分割モデル、たとえばDeepLabV3を用いて道路情報を分割することができる。上述した道路情報は、例えばFaster-RCNN(Regions with CNN features)のようなディープニューラルネットワークに基づく画像認識技術を用いて識別することもできる。
【0112】
本明細書における様々な実施形態は、漸進的に説明されており、様々な実施形態の間の同じ/類似する部分は互いに参照されて良く、各実施形態は、他の実施形態との相違点に焦点を当てて説明されている。特に、装置の実施形態については、方法の実施形態と実質的に類似しているので、説明は比較的簡単であり、関連部分について方法の実施形態の一部の説明を参照すればよい。
【0113】
本開示の実施形態によれば、電子デバイス、可読記憶媒体、及びコンピュータプログラム製品も提供される。
【0114】
図6は、本開示の実施形態による高精細地図の作成方法の電子デバイスのブロック図である。電子デバイスは、ラップトップ、デスクトップコンピュータ、ワークベンチ、サーバ、ブレードサーバ、大型コンピュータ、及び他の適切なコンピュータのような、様々な形態のデジタルコンピュータを表す。電子デバイスは更に、PDA、携帯電話、スマートフォン、ウェアラブルデバイス、及び他の同様のコンピューティングデバイスなどの様々な形態のモバイルデバイスを表すことができる。本明細書に示す構成要素、それらの接続及び関係、ならびにそれらの機能は、単なる一例であり、本明細書に記載及び/又は要求された本開示の実現を制限することではない。
【0115】
図6に示すように、デバイス600は、読み取り専用メモリ(ROM)602に記憶されたコンピュータプログラム、又は記憶手段608からランダムアクセスメモリ(RAM)603にロードされたコンピュータプログラムに従って、様々な適切な動作及び処理を実行することができる演算手段601を含む。RAM603には、デバイス600の動作に必要な各種のプログラムやデータが記憶されてもよい。演算手段601、ROM602及びRAM603は、バス604を介して接続されている。入出力(I/O)インターフェース605もバス604に接続されている。
【0116】
例えばキーボード、マウス等の入力手段606と、例えば様々なタイプのディスプレイ、スピーカ等の出力手段607と、例えば磁気ディスク、光ディスク等の記憶手段608と、例えばネットワークカード、モデム、無線通信トランシーバなどの通信手段609を含むデバイス600の複数の構成要素は、I/Oインターフェース605に接続される。通信手段609は、デバイス600が例えばインターネットのコンピュータネットワーク及び/又は様々な電気通信ネットワークを介して他のデバイスと情報/データを交換することを可能にする。
【0117】
演算手段601は、処理能力及び演算能力を有する様々な汎用及び/又は専用の処理コンポーネントであってよい。演算手段601のいくつかの例は、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、様々な専用の人工知能(AI)演算チップ、機械学習モデルアルゴリズムを実行する様々な演算ユニット、デジタル信号プロセッサ(DSP)、及び任意の適切なプロセッサ、コントローラ、マイクロコントローラなどを含むが、これらに限定されない。演算手段601は、上述した様々な方法及び処理、例えば高精細地図の作成方法を実行する。例えば、幾つかの実施形態では、高精細地図の作成方法は、例えば記憶手段608のような機械可読媒体に物理的に組み込まれたコンピュータソフトウェアプログラムとして実装されてもよい。
【0118】
幾つかの実施形態では、コンピュータプログラムの一部又は全部は、ROM602及び/又は通信手段609を介してデバイス600にロード及び/又はインストールすることができる。コンピュータプログラムがRAM603にロードされ、演算手段601により実行されると、上述した高精細地図の作成方法の1つ又は複数のステップを実行することができる。代替的に、他の実施形態では、演算手段601は、車両制御方法を実行するように、他の任意の適切な方法で(例えば、ファームウェアを介する)構成されてもよい。
【0119】
本明細書で前述したシステム及び技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、専用集積回路(ASIC)、専用標準製品(ASSP)、システムオンチップシステム(SOC)、ロードプログラマブル論理デバイス(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はこれらの組み合わせにおいて実装されてもよい。これらの様々な実施形態は、1つ又は複数のコンピュータプログラムで実施されることを含んで良い。当該1つ又は複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行及び/又は解釈することができる。当該プログラマブルプロセッサは、専用又は汎用のプログラマブルプロセッサであって、記憶システム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び命令を受信し、当該記憶システム、当該少なくとも1つの入力装置、及び当該少なくとも1つの出力装置にデータ及び命令を転送することができる。
【0120】
本開示の方法を実施するためのプログラムコードは、1つ又は複数のプログラミング言語の任意の組み合わせを用いて記述することができる。これらのプログラムコードは、汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサ又はコントローラに提供することにより、プログラムコードがプロセッサ又はコントローラにより実行されると、フローチャート及び/又はブロック図に指定された機能/動作を実行するようにすることができる。プログラムコードは、全てがマシン上で実行されても良く、一部がマシン上で実行されても良く、スタンドアロンパッケージとして一部的にマシン上で実行され且つ一部的にリモートマシン上で実行され、或いは全てがリモートマシン又はサーバ上で実行されても良い。
【0121】
本開示の文脈では、機械可読媒体は、有形の媒体であって、命令実行システム、装置又はデバイスにより使用され、或いは命令実行システム、装置又はデバイスと合わせて使用されるプログラムを含むか記憶することができる。機械可読媒体は、機械可読信号媒体又は機械可読記憶媒体であってよい。機械可読媒体は、電子的、磁気的、光学的、電磁気的、赤外線的、又は半導体的なシステム、装置又はデバイス、あるいはこれらの任意の適切な組み合わせを含んで良いが、これらに限定されない。機械可読記憶媒体のより具体的な例は、1つ又は複数のラインに基づく電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、携帯型コンパクトディスク読み取り専用メモリ(CD-ROM)、光学記憶装置、磁気記憶装置、又はこれらの任意の適切な組み合わせを含む。
【0122】
ユーザとのインタラクションを提供するために、本明細書に記載されたシステム及び技術は、ユーザに情報を表示するための表示装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、ユーザにより入力をコンピュータに提供するキーボード及びポインティングデバイス(例えば、マウス又はトラックボール)と備えるコンピュータ上に実施されてよい。他の種類の装置は、ユーザとのインタラクションを提供するためにも使用され得る。例えば、ユーザに提供されるフィードバックは、任意の形態のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であって良く、ユーザからの入力を任意の形式(音声入力、音声入力、又は触覚入力を含む)で受信して良い。
【0123】
本明細書に記載されたシステム及び技術は、バックエンド構成要素を含むコンピューティングシステム(例えば、データサーバとする)、又はミドルウェア構成要素を含むコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンド構成要素を含むコンピューティングシステム(例えば、グラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータであり、ユーザは、当該グラフィカルユーザインターフェースもしくは当該ウェブブラウザを通じて本明細書で説明されるシステムと技術の実施形態とインタラクションすることができる)、そのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムに実施されることが可能である。システムの構成要素は、任意の形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によって相互に接続されることが可能である。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、ワイド・エリア・ネットワーク(「WAN」)、インターネットワークを含む。
【0124】
コンピュータシステムは、クライアントとサーバーを含み得る。クライアントとサーバーは、一般的に互いから遠く離れており、通常は、通信ネットワークを通じてインタラクトする。クライアントとサーバとの関係は、相応するコンピュータ上で実行され、互いにクライアント-サーバの関係を有するコンピュータプログラムによって生じる。サーバはクラウドサーバ、クラウドコンピューティングサーバ又はクラウドホストとも呼ばれ、従来の物理ホストと仮想専用サーバ(VPs;Virtual Private Server)サービスにおいて管理が難しく、ビジネスの拡張性が弱いという欠点を解決するクラウドコンピューティングサービスシステムのホスト製品の1つであって良い。サーバは、分散システムのサーバであっても良く、ブロックチェーンを組み合わせたサーバであってもよい。
【0125】
以上で示された様々な形式のフローを使用して、ステップを並べ替え、追加、又は削除できることを理解されたい。例えば、本開示に説明される各ステップは、並列の順序又は順次的な順序で実施されてもよいし、又は異なる順序で実行されてもよく、本開示で開示された技術案の望ましい結果が達成できる限り、ここで制限されない。
【0126】
上記の具体的な実施形態は本開示の保護範囲に対する制限を構成しない。設計要件及び他の要因に従って、様々な修正、組み合わせ、部分的組み合わせ及び置換を行うことができることを当業者は理解するべきである。本開示の精神及び原則の範囲内で行われる修正、同等の置換、改善は、何れも本開示の保護範囲内に含まれるべきである。