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

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

▶ トヨタ自動車株式会社の特許一覧

特開2022-191188予測システムを訓練するためのシステムと方法
<>
  • 特開-予測システムを訓練するためのシステムと方法 図1
  • 特開-予測システムを訓練するためのシステムと方法 図2
  • 特開-予測システムを訓練するためのシステムと方法 図3A
  • 特開-予測システムを訓練するためのシステムと方法 図3B
  • 特開-予測システムを訓練するためのシステムと方法 図4
  • 特開-予測システムを訓練するためのシステムと方法 図5
  • 特開-予測システムを訓練するためのシステムと方法 図6A
  • 特開-予測システムを訓練するためのシステムと方法 図6B
  • 特開-予測システムを訓練するためのシステムと方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022191188
(43)【公開日】2022-12-27
(54)【発明の名称】予測システムを訓練するためのシステムと方法
(51)【国際特許分類】
   G06T 7/00 20170101AFI20221220BHJP
   G06T 7/50 20170101ALI20221220BHJP
   G06N 3/08 20060101ALI20221220BHJP
【FI】
G06T7/00 350C
G06T7/50
G06N3/08 180
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022094548
(22)【出願日】2022-06-10
(31)【優先権主張番号】17/343,964
(32)【優先日】2021-06-10
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.SMALLTALK
(71)【出願人】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100092624
【弁理士】
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100147555
【弁理士】
【氏名又は名称】伊藤 公一
(74)【代理人】
【識別番号】100123593
【弁理士】
【氏名又は名称】関根 宣夫
(74)【代理人】
【識別番号】100133835
【弁理士】
【氏名又は名称】河野 努
(72)【発明者】
【氏名】ルイ グォ
(72)【発明者】
【氏名】シュウェイ チー
(72)【発明者】
【氏名】尾口 健太郎
(57)【要約】
【課題】低照度における深度認識を向上するために予測システムを訓練することに関するシステム、方法を提供すること。
【解決手段】1つの実施形態においては、本方法は、第1訓練段階において、低照度シーンの合成画像に対する深度マップを予測することと関連付けられている、ポーズ損失、フロー損失、および教師あり損失を含む損失を計算することを含んでいる。本方法はまた、損失に従って、スタイルモデルと深度モデルを調整することも含んでいる。本方法はまた、第2訓練段階において、低照度画像の合成表現を使用して深度モデルを訓練することも含んでいる。本方法はまた、深度モデルを提供することも含んでいる。
【選択図】図3B
【特許請求の範囲】
【請求項1】
深度認識のための予測システムであって、
プロセッサと、
指示を格納しているメモリであって、該指示は前記プロセッサにより実行されると前記プロセッサに、
第1訓練段階において、低照度シーンの合成画像に対する深度マップを予測することと関連付けられている、ポーズ損失、フロー損失、および教師あり損失を含む損失を計算させ、
前記損失に従って、スタイルモデルと深度モデルを調整させ、
第2訓練段階において、低照度画像の合成表現を使用して前記深度モデルを訓練させ、
前記深度モデルを提供させる、
メモリと、
を具備する、予測システム。
【請求項2】
前記スタイルモデルを使用して前記合成画像を昼間表現に変換し、前記教師あり損失を決定するために、前記深度モデルを使用して、前記昼間表現から他の深度マップを出力するための指示を更に含んでいる、請求項1に記載の予測システム。
【請求項3】
前記スタイルモデルと前記深度モデルを調整するための指示は更に、前記フロー損失を使用して、前記昼間表現と前の表現との間のオブジェクトの動きを調整するための指示を含んでいる、請求項2に記載の予測システム。
【請求項4】
前記損失を計算するための指示は更に、ポーズモデルを使用して前記スタイルモデルのポーズ損失と、フローモデルを使用して前記深度モデルのフロー損失を決定するための指示を含んでいる、請求項1に記載の予測システム。
【請求項5】
前記第2訓練段階において、敵対的ネットワークを使用して、前記低照度画像を前記合成表現に変換し、前記スタイルモデルと前記深度モデルに従って、前記合成表現を使用して他の深度マップを形成するための指示を更に含んでいる、請求項1に記載の予測システム。
【請求項6】
前記深度モデルを訓練するための指示は更に、前記深度マップの半教師あり損失に従って、前記敵対的ネットワークを訓練するための指示を含んでいる、請求項5に記載の予測システム。
【請求項7】
前記第2訓練段階に対する深度予測を決定するために、前記スタイルモデルを使用して、前記合成表現を昼間表現に変換するための指示を更に含んでいる、請求項1に記載の予測システム。
【請求項8】
前記スタイルモデルと前記深度モデルを調整するための指示は更に、前記低照度シーンと関連付けられている連続合成画像に対するポーズモデルを使用して、動きに対して前記スタイルモデルを調整するための指示を含んでいる、請求項1に記載の予測システム。
【請求項9】
予測システムを訓練するための、指示を含んでいる非一時的コンピュータ可読媒体であって、該指示はプロセッサにより実行されると前記プロセッサに、
第1訓練段階において、低照度シーンの合成画像に対する深度マップを予測することと関連付けられている、ポーズ損失、フロー損失、および教師あり損失を含む損失を計算させ、
前記損失に従って、スタイルモデルと深度モデルを調整させ、
第2訓練段階において、低照度画像の合成表現を使用して前記深度モデルを訓練させ、
前記深度モデルを提供させる、
非一時的コンピュータ可読媒体。
【請求項10】
前記スタイルモデルを使用して前記合成画像を昼間表現に変換し、前記教師あり損失を決定するために、前記深度モデルを使用して、前記昼間表現から他の深度マップを出力するための指示を更に含んでいる、請求項9に記載の非一時的コンピュータ可読媒体。
【請求項11】
前記スタイルモデルと前記深度モデルを調整するための指示は更に、前記フロー損失を使用して、前記昼間表現と前の表現との間のオブジェクトの動きを調整するための指示を含んでいる、請求項10に記載の非一時的コンピュータ可読媒体。
【請求項12】
前記損失を計算するための指示は更に、ポーズモデルを使用して前記スタイルモデルのポーズ損失と、フローモデルを使用して前記深度モデルのフロー損失を決定するための指示を含んでいる、請求項9に記載の非一時的コンピュータ可読媒体。
【請求項13】
第1訓練段階において、低照度シーンの合成画像に対する深度マップを予測することと関連付けられている、ポーズ損失、フロー損失、および教師あり損失を含む損失を計算することと、
前記損失に従って、スタイルモデルと深度モデルを調整することと、
第2訓練段階において、低照度画像の合成表現を使用して前記深度モデルを訓練することと、
前記深度モデルを提供することと、
を含んでいる、方法。
【請求項14】
前記スタイルモデルを使用して前記合成画像を昼間表現に変換することと、
前記教師あり損失を決定するために、前記深度モデルを使用して、前記昼間表現から他の深度マップを出力することと、
を更に含んでいる、請求項13に記載の方法。
【請求項15】
前記スタイルモデルと前記深度モデルを調整することは更に、前記フロー損失を使用して、前記昼間表現と前の表現との間のオブジェクトの動きを調整することを含んでいる、請求項14に記載の方法。
【請求項16】
前記損失を計算することは更に、ポーズモデルを使用して前記スタイルモデルの前記ポーズ損失と、フローモデルを使用して前記深度モデルの前記フロー損失を決定することを含んでいる、請求項13に記載の方法。
【請求項17】
前記第2訓練段階において、敵対的ネットワークを使用して、前記低照度画像を前記合成表現に変換し、前記スタイルモデルと前記深度モデルに従って、前記合成表現を使用して他の深度マップを形成することを更に含んでいる、請求項13に記載の方法。
【請求項18】
前記深度モデルを訓練することは更に、前記深度マップの半教師あり損失に従って、前記敵対的ネットワークを訓練することを含んでいる、請求項17に記載の方法。
【請求項19】
前記第2訓練段階に対する深度予測を決定するために、前記スタイルモデルを使用して、前記合成表現を昼間表現に変換することを更に含んでいる、請求項13に記載の方法。
【請求項20】
前記スタイルモデルと前記深度モデルを調整することは更に、前記低照度シーンと関連付けられている連続合成画像に対するポーズモデルを使用して、動きに対して前記スタイルモデルを調整することを含んでいる、請求項13に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
ここにおいて記述されている主題は、全体的には、システムを訓練することに関し、より特別には、低照度における深度認識のための予測システムを訓練することに関する。
【背景技術】
【0002】
システムは、画像内のオブジェクト(objects)の深度認識を容易にするためにセンサデータを使用できる。例えば、車両には、画像から周囲環境の他の車両、障害物、歩行者、および追加的態様の深度を推定することを容易にするセンサを装備することができる。種々の実現形態においては、車両には、光検知とライダー(LIDAR)センサを装備することができ、LIDARセンサは、周囲環境を走査するために光を使用し、一方、LIDARと関連付けられているロジックは、オブジェクトの存在と周囲環境の他の特徴を検出することを容易にするために取得された情報を解析する。更なる例においては、カメラなどのような追加的センサを、車両または任意の計算装置のための情報がシステムにより導出される環境についての情報を取得するために実現できる。例えば、このセンサデータは、自動化運転システムなどのようなシステムが、正確に計画を立て、車両を走行させることができるように、周囲環境の認識を向上するために種々の状況において有用であり得る。
【0003】
更にシステムは、複雑性を削減するために、LIDARセンサ、ステレオカメラ、または他のセンサからのデータに頼らずに画像内のオブジェクトの深度を予測することを容易にするために単眼カメラを使用できる。例えば、深度モデルは、深度マップを生成するために単眼カメラからの画像を使用できる。問題のない動作のために、システムは、異なる照明状況に対して深度モデルを訓練できる。それでも、低照度状況に対しては、特に、深度認識に対してシステムを訓練するためには計算は困難に遭遇する可能性がある。
【発明の概要】
【0004】
1つの実施形態においては、例としてのシステムと方法は、深度認識を向上するために低照度状況に対してシステムを訓練することに関する。種々の実現形態においては、深度を予測するために、単眼カメラからの画像を使用するシステムは、夜間などのような、低照度において深度マップを生成することは困難である可能性がある。更に、低照度画像に対する深度マップの明確性を増大するために、単眼カメラからの情報を他のセンサデータと組み合わせると複雑さが増大する可能性がある。従って、1つの実施形態においては、予測システムは、深度マップを生成するために、低照度環境の合成画像を部分的に使用することにより機械学習(ML)アーキテクチャを訓練できる。ここで、第1訓練段階は、低照度環境と関連付けられているシミュレートされたモデルに関する合成画像を使用できる。1つのアプローチにおいては、予測システムは、スタイルモデルを使用して、低照度環境の合成画像を、深度マップを生成するための深度モデルへの入力としての昼間表現に変換することにより訓練を実行できる。特に、深度マップの明確性は、画像フレーム間のオブジェクトの動きによる損失を、ネットワークの意味関係の一貫性を向上するために第1訓練段階に対するポーズおよびフロー損失を使用して計算することにより増大できる。例えば、予測システムは、ポーズおよびフロー損失を使用してパラメータを調整することによりスタイルおよび深度モデルを訓練できる。このようにして、予測システムは、低照度環境における深度マップ生成を、昼間における処理および、第1訓練段階の合成ドメインにおける損失に対する調整により向上する。
【0005】
更に予測システムは、実際のシーンの低照度画像を、敵対的ネットワークを使用して合成表現に変換するために第2訓練段階を使用できる。ここで、第2訓練段階は、深度を推定するための低照度環境のシミュレートされたシーンにおける合成表現を使用できる。そのため、予測システムは、第1訓練段階で訓練された、第2訓練段階が深度マップを生成するためのスタイルおよび深度モデルを使用して合成表現を処理できる。追加的に、予測システムは、実際のシーンからの低照度画像を合成昼間表現に変換し、深度マップを生成することによる損失に従って、第2段階において訓練を実行できる。このようにして、予測システムは、ポーズおよびフロー損失に対して調整することによる訓練の間の向上された意味関係から、低照度環境についての深度マップの明確性を増大することができる。向上された意味関係はまた、単眼カメラにより撮影された画像のシーケンスから予測システムにより生成された深度マップの明確性を増大でき、それにより、より高い解像度の深度マップに頼るアプリケーションに恩恵を与える。
【0006】
1つの実施形態においては、低照度における深度認識を向上するために予測システムを訓練することが開示される。予測システムは、プロセッサとメモリを含んでおり、メモリは、プロセッサにより実行されるとそのプロセッサに、第1訓練段階において、低照度シーンの合成画像に対する深度マップを予測することと関連付けられている損失を計算させるための指示を格納しており、ここにおいて損失は、ポーズ損失、フロー損失、および教師あり損失を含んでいる。指示はまた、損失に従って、スタイルモデルと深度モデルを調整するための指示も含んでいる。指示はまた、第2訓練段階において、低照度画像の合成表現を使用して深度モデルを訓練するための指示も含んでいる。指示はまた、深度モデルを提供するための指示も含んでいる。
【0007】
1つの実施形態においては、低照度における深度認識を向上するために予測システムを訓練するための、および、プロセッサにより実行されるとそのプロセッサに1つ以上の機能を実行させる指示を含んでいる非一時的コンピュータ可読媒体が開示される。指示は、第1訓練段階において、低照度シーンの合成画像に対する深度マップを予測することと関連付けられている損失を計算させるための指示を格納しており、ここにおいて損失は、ポーズ損失、フロー損失、および教師あり損失を含んでいる。指示はまた、損失に従って、スタイルモデルと深度モデルを調整するための指示も含んでいる。指示はまた、第2訓練段階において、低照度画像の合成表現を使用して深度モデルを訓練するための指示も含んでいる。指示はまた、深度モデルを提供するための指示も含んでいる。
【0008】
1つの実施形態においては、低照度における深度認識を向上するために予測システムを訓練するための方法が開示される。1つの実施形態においては、方法は、第1訓練段階において、低照度シーンの合成画像に対する深度マップを予測することと関連付けられている損失を計算することを含んでおり、ここにおいて損失は、ポーズ損失、フロー損失、および教師あり損失を含んでいる。方法はまた、損失に従って、スタイルモデルと深度モデルを調整することも含んでいる。方法はまた、第2訓練段階において、低照度画像の合成表現を使用して深度モデルを訓練することも含んでいる。方法はまた、深度モデルを提供することも含んでいる。
【図面の簡単な説明】
【0009】
明細書に組み込まれ、明細書の一部を構成している不随する図面は、開示の種々のシステム、方法、および他の実施形態を例示している。図面において例示されている要素の境界(例えば、ボックス、ボックスのグループ、または他の形状)は、境界の1つの実施形態を表しているということは認識されるであろう。幾つかの実施形態においては、1つの要素は複数の要素として設計でき、または、複数の要素は1つの要素として設計できる。幾つかの実施形態においては、他の要素の内部構成要素として示されている要素は、外部構成要素として実現でき、逆もまた可能である。更に、要素は一定の比率で拡大/縮小されて描かれていないこともある。
【0010】
図1】ここにおいて開示されているシステムと方法を実現できる車両の1つの実施形態を例示している図である。
図2】低照度環境に対して、画像内のオブジェクトの深度を推定するための予測システムの1つの実施形態を例示している図である。
図3A図2の予測システムに対する訓練段階の実施形態を例示している図である。
図3B図2の予測システムに対する訓練段階の実施形態を例示している図である。
図4】予測システムと共に使用される弁別器モデルの例を示している図である。
図5】低照度環境に対して、画像内のオブジェクトの深度を推定するエンコーダ/デコーダネットワークの1つの実施形態を例示している図である。
図6A】2つの段階を使用して、画像内のオブジェクトの深度を推定するための予測システムを訓練することと関連付けられている方法の1つの実施形態を例示している図である。
図6B】2つの段階を使用して、画像内のオブジェクトの深度を推定するための予測システムを訓練することと関連付けられている方法の1つの実施形態を例示している図である。
図7】2つの段階を使用して訓練されたシステムにより生成された、低照度環境に対する深度マップの例を示している図である。
【発明を実施するための形態】
【0011】
低照度における深度認識を向上するために予測システムを訓練することと関連付けられているシステム、方法、および他の実施形態がここにおいて開示される。深度マップのための予測システムは、意味関係の一貫性に頼ることにより2つの段階を使用して訓練でき、それにより、スタイルモデルと深度モデルとの間の生成された内容の希薄化を防止する。特に、予測システムは、昼間表現と、シミュレートされたシーンに関する合成画像の対応する深度マップを生成するときに、第1訓練段階においてポーズおよびフローモデルをスーパービジョンとして使用できる。昼間表現は、低照度環境からの合成画像に関連させることができる。照明レベルに関して、低照度は、単眼カメラ、赤/緑/青(RGB)カメラ、光学カメラ、マシンビジョンなどを使用しているシステムが、減少した色強度のために、オブジェクトの特徴を識別することが困難になる可能性のある照明環境を表すことができる。
【0012】
更に予測システムは、第1訓練段階において、カメラの動きを調整することによりスタイルモデルを強化するためにポーズモデルを使用でき、オブジェクトの動きを考慮することにより深度モデルを強化するためにフローモデルを使用できる。複雑さを削減するために、第1訓練段階は、交通シーンに対してシミュレートされた画像データを使用することにより、実際の画像、対画像などに頼ることを削減することにより、動作を簡潔化するために合成ドメインで動作できる。一方、第2訓練段階は、訓練を完了するために、実際の低照度環境において撮影された、カメラからの実際の画像を使用できる。
【0013】
第1訓練段階のアーキテクチャに関して、スタイルモデルは、色、陰影、照明条件などによるように、オブジェクトの特徴がどのように現れるかを予測することによりスタイル転送を実行できる。そのため、昼間表現は、豊富さを増大するために照明またはスタイルを変更しながら、合成画像と同じ内容を有することができる。深度モデルは、敵対的生成ネットワーク(GAN)などのような、昼間表現から深度マップを生成するネットワークであることができる。そして、予測システムは、損失最小化を通して、第1訓練段階に対する種々の損失と教師あり損失を計算できる。例えば、ポーズ損失は、合成画像の変換が閾値に到達するときに最小化できる。一方、予測システムは、昼間表現と、関連する深度マップとの間のオブジェクトの動的動きと関連付けられているフロー損失を最小化できる。そのため、予測システムは、基準が満たされないときに、交通シーンに関する追加的合成画像を使用することによるなどのように、重さに対して基準を満たすまで、損失を使用してモデルパラメータを第1訓練段階において調整できる。
【0014】
第2訓練段階のアーキテクチャに関して、予測システムは、敵対的ネットワークを使用して、実際の画像を合成表現に変換することにより訓練を継続できる。例えば、実際の交通シーンの低照度画像を、実際の環境についてネットワークを訓練するために合成表現に変換できる。更に第2訓練段階は、第1訓練段階から重みを受け継ぐことができ、更なる訓練のための損失を計算するためにスタイルおよび深度モデルを使用して合成表現を処理できる。例えば、予測システムは、実際の画像と関連付けられている深度マップを予測するために、基準(例えば、最小損失)を満たすためにスタイル転送とスーパービジョン損失を計算できる。そのため、第2訓練段階における処理は、基準が満たされないときに、交通シーンに関する追加的な実際の画像を使用することによるなどのように、モデルパラメータが損失に対する基準を満たすまで継続することができる。このようにして、2段階システムは、段階間の画像対応または相関関係を削減することにより、低照度におけるより精度の高い深度マップのためのドメイン訓練と合成画像処理を向上する。
【0015】
図1を参照すると、車両100の例が示されている。ここにおいて使用されているように、「車両」はモータ付き輸送装置の任意の形状である。1つ以上の実現形態においては、車両100は自動車である。ここにおいては、配置は自動車に関して記述されているが、実施形態は自動車に制限されないということは理解されるであろう。幾つかの実施形態においては、予測システム170は、消費者電子機器(CE)、モバイル装置、ロボット装置、ドローンなどに対して使用できる。幾つかの実施形態においては、車両100は、例えば、周囲環境の態様を認識するためにセンサを含み、そのため、低照度における深度認式を向上するための、予測システムの訓練と関連付けてここにおいて検討されている機能の恩恵を受ける、任意のロボット装置、または、モータ付き輸送装置の形状であってよい。
【0016】
車両100はまた、種々の要素を含んでいる。種々の実施形態においては、車両100は、図1において示されている要素よりも少ない数の要素を有することができるということを理解されるであろう。車両100は、図1において示されている種々の要素の任意の組み合わせを有することができる。更に車両100は、図1において示されている要素に対して追加的要素を有することができる。幾つかの配置においては、車両100は、図1において示されている要素の1つ以上なしで実現できる。種々の要素は、図1においては車両100内に位置しているように示されているが、これらの要素の1つ以上は、車両100の外部に位置させることができるということは理解されるであろう。更に、示されている要素は、相当な距離だけ物理的に離すことができる。例えば、検討されているように、開示されている1つ以上の構成要素は車両内に実現でき、一方、システムの更なる構成要素は、車両100から遠く離れているクラウド計算環境または他のシステム内で実現される。
【0017】
車両100の可能な要素の幾つかが図1において示されており、後続する図と共に記述される。しかし、図1における要素の多くの記述は、この記述の簡潔性の目的のために図2~7の検討の後に提供される。追加的に、例示の簡潔性と明確性のために、適切であれば、参照番号は、対応する、または類似する要素を示すために異なる図において繰り返されているということは認識されるであろう。追加的に、検討は、ここにおいて記述されている実施形態の完全な理解を提供するために、多数の特定の詳細の要点を記述している。しかし、この技術における技量を有する者は、ここにおいて記述されている実施形態は、これらの要素の種々の組み合わせを使用して実践できるということを理解するであろう。何れにせよ、車両100は、低照度における深度認識のための予測システムの訓練を向上することに関して、ここにおいて開示されているような方法と他の機能を実行するために実現される予測システム170を含んでいる。下記により詳細に検討されるように、種々の実現形態においては、予測システム170は、CE装置、モバイル装置、ロボット、ドローン、車両などの内部に部分的に実現でき、クラウドに基づくサービスとして実現できる。例えば、1つのアプローチにおいては、予測システム170の少なくとも1つのモジュールと関連付けられている機能は車両100内で実現され、一方、更なる機能は、クラウドに基づく計算システム内で実現される。
【0018】
図2を参照すると、図1の予測システム170の1つの実施形態が更に例示されている。予測システム170は、図1の車両100のプロセッサ110を含んでいるとして示されている。しかし、他の例においては、プロセッサ110は、CE装置、モバイル装置、ロボット、ドローンなどの一部であることができる。従って、プロセッサ110は、予測システム170の一部であることができ、予測システム170は、車両100のプロセッサ110とは別個のプロセッサを含むことができ、または、予測システム170は、データバスまたは他の通信経路を通してプロセッサ110にアクセスできる。1つの実施形態においては、予測システム170は、予測モジュール220を格納しているメモリ210を含んでいる。メモリ210は、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、ハードディスクドライブ、フラッシュメモリ、または、予測モジュール220を格納するための他の適切なメモリである。予測モジュール220は、例えば、コンピュータ可読指示であり、このコンピュータ可読指示は、プロセッサ110により実行されるとそのプロセッサ110に、ここにおいて開示されている種々の機能を実行させる。
【0019】
図2に例示されているような予測システム170は、一般的には、CE装置、モバイル装置、ロボット、ドローン、車両などと、クラウド計算環境との間で実現できるような予測システム170の抽象化された形態である。更に予測モジュール220は、一般的には、プロセッサ110を、車両100の1つ以上のセンサからデータ入力を受信するようにプロセッサ110を制御するために機能する指示を含んでいる。入力は、1つの実施形態においては、車両100に近接する環境における1つ以上のオブジェクトの観測結果、および/または、周囲についての他の態様である。
【0020】
従って、予測モジュール220は、1つの実施形態においては、センサデータ240の形状でデータ入力を提供するようにそれぞれのセンサを制御する。追加的に、予測モジュール220は、センサデータ240を提供するように種々のセンサを制御するとして検討されているが、1つ以上の実施形態においては、予測モジュール220は、能動的または受動的の何れかであるセンサデータ240を取得する他の技術を採用できる。例えば、予測モジュール220は、センサデータ240および/または無線通信リンクを介して取得されたセンサデータを提供するときに、複数のセンサからのデータを融合するために種々のアプローチを取ることができる。
【0021】
更に、1つの実施形態においては、予測システム170はデータ格納装置230を含んでいる。1つの実施形態においては、データ格納装置230はデータベースである。データベースは、1つの実施形態においては、メモリ210に格納されている電子データ構造体、または他のデータ格納装置であり、格納されたデータを解析し、格納されたデータを提供し、格納されたデータを編成するなどするためにプロセッサ110により実行できるルーチンで構成されている。そのため、1つの実施形態においては、データ格納装置230は、予測モジュール220が種々の機能を実行するときに使用するデータを格納する。1つの実施形態においては、データ格納装置230は、例えば、センサデータ240の種々の態様を特徴付けるメタデータと共にセンサデータ240を含んでいる。
【0022】
更に、種々の実施形態においては、データ格納装置230は更に、シミュレーションデータ250と画像データ260を含んでいる。シミュレーションデータ250は、車両100の種々の運転シナリオからの環境の画像を含むことができる。環境は、建物、他の車両、歩道、街灯、ガイドレールなどを含むことができる。追加的に、データ格納装置230は、車両100のカメラにより取り込まれた画像データ260と、画像データ260に関する強度と色情報を含むことができる。1つのアプローチにおいては、予測モジュール220は、フレーム間の変化に従う深度マップを計算するために、シーンから画像のシーケンスを取り込むことができる。
【0023】
予測モジュール220を訓練するために、予測システム170は訓練段階を利用できる。下記に記述されるように、予測システム170は、第1訓練段階において、夜間シーンの合成画像に対して深度マップを予測することによる損失を計算できる。1つのアプローチにおいては、全体の損失には、ポーズ損失、フロー損失、および教師あり損失を含むことができる。そして予測システム170は、深度モデルのパラメータを調整でき、収束するまで、または、パラメータに対する基準が満たされるまで訓練プロセスを繰り返すことができる。例えば、基準は、損失が、あるアプリケーションにおける深度マップと関連付けられている解像度に対する閾値または大きさを満たすことであることができる。第2訓練段階は、ネットワークが実際の環境において動作するために、昼間表現に変換された実際の画像を使用して訓練を完了し、改良を加える。
【0024】
ここで、図3A図3Bを見てみると、システム300と302は、図2の予測システム170に対する訓練段階の実施形態を例示している。300において、第1訓練段階310は、予測システム170を訓練するために、合成画像のシーケンスを、低照度、夜間の、または、厳しい天候シーンから、増大された光に変換できる。種々の実施形態においては、サーバは、予測システム170をオフラインで訓練するためのデータを使用できる。下記に説明されるように、第1訓練段階310は、実際の画像、対画像、実際のグラウンドトゥルースなどに頼ることを削減することにより動作を簡潔化するために合成ドメインにおいて動作できる。例えば、合成ドメインにおける動作は、実際のシーンではなく合成夜間シーンにおける現在の交通シーンに対する昼間表現を利用できる。
【0025】
合成ドメインに対してシミュレートされたデータを使用することに関して、シミュレータは、現実世界の都市、郊外、主要幹線道路などの環境の合成画像を生成できる。1つのアプローチにおいては、シミュレータは訓練のために、サーバまたはネットワーク上でオフラインで動作でき、それにより、車両100における計算リソースに頼ることを削減できる。
【0026】
照明レベルを理解するために、低照度は、単眼カメラ、RGBカメラ、光学カメラ、マシンビジョンなどを使用しているシステムが、減少した色強度のために、オブジェクトの特徴を識別することが困難になる可能性のある照明環境を表すことができる。例えば、夜間に車両100を運転すること、または、闇の中で、室内で、薄暮においてなどで、予測システム170を使用することは、低照度を有している環境であり得る。増大された光は、単眼カメラ、RGBカメラ、光学カメラ、マシンビジョンなどを使用するシステムが、色強度からオブジェクトの特徴を信頼性を有して識別できる、より明るい照明条件を表すことができる。例えば、昼間に車両100を運転すること、または、日光の中で、屋外で、朝などに予測システム170を使用することは、増大された光を有する環境であり得る。もちろん、照明レベルを定義するために昼間と夜間に言及することは、一般的には、天候、および照明に影響を与える他のファクタにおける変動のために主観的となり得る。ルクス(lx(照度の単位))は、1平方メートル当たりの輝度の単位として照明レベルを表すことができる。従って、昼間、増大された光、より明るい照明などは一般的には、周囲の光が、深度処理に関してオブジェクトの特徴を識別するために十分なルーメン(例えば、30kルクスから100kルクス)を有することができる状況のことを指している。反対に、夜間、低照度、室内などは一般的には、周囲の光が、オブジェクトの特徴を識別するための十分なルーメンを有することができない(例えば、1ルクスから60ルクス)状況のことを指している。
【0027】
更に第1訓練段階310は、Style Model(スタイルモデル)n-d330を使用して、合成画像のシーケンスを、昼間表現のシーケンスに変換できる。特に、Style Modeln-d330は、色、影、陰影、照明条件などによるように、オブジェクトの特徴が現れる様子を予測することによりスタイルまたはドメイン転送を実行できる。そのため、昼間表現は、深度処理に対する豊富さを増大するために照明またはスタイルを変更しながら、同じ内容を有している。
【0028】
アーキテクチャに関しては、種々の実現形態においては、Style Modeln-d330は、低照度シーンについてのオブジェクトの特徴を識別するために色強度を予測するGANまたはニューラルネットワークであることができる。GANは、学習のためのゼロサムゲームにおいて競合するニューラルネットワークの対を含むことができる。GANの出力は、訓練データと類似する統計値により生成された新しいデータであることができる。ここで、GANは、色、影、陰影、照明条件などによるように、オブジェクトの特徴が現れる様子を予測することにより、実際の、または合成画像を変換できる。
【0029】
更にGANは、適応性弁別器を通して、間接的学習を達成できる。図4は、予測システム170に対する弁別器モデル400の例を示している。弁別器モデル400は、データを分類するためのサイクリックまたは条件付きGAN(cGAN)と連携して動作できる。1つのアプローチにおいては、生成器A2Bは、低照度で撮影された実際の画像Aを、昼間表現Bに変換できる。弁別器Aは、昼間表現Bを、サイクリック画像Aを生成するための生成器B2Aによる誤差逆伝播および後続の変換のために処理する。サイクリック画像Aは、生成器A2Bの可逆性を決定するために、実際の画像Aの再構築された低照度画像を表現できる。そのため、弁別器Bは、訓練のための重みを調整するため、実際の画像Aの損失を、サイクリック画像Aと比較する。このアプローチにおいては、システムは、モデルが教師なしで学習するように、画像における特定のオブジェクトまでの距離を最小化する代わりに、弁別器Bを誤らせることによりcGANを訓練できる。弁別器モデル400におけるこのプロセスは、訓練を完了するためのGANの収束まで継続する。
【0030】
更に、実際の、または合成画像で訓練されたGANは、根本的な変化を有しながら、現実的な特性を有する人間には本物に見える新しい画像を生成できる。ここで、GANは、現実的なレンダリングに対して、増大された光の制御された特質を有する新しい合成画像を生成できる。レンダリングされた画像は、予測システムが深度マップを生成するための、低照度の環境の内容と距離の意味関係を保存できる。
【0031】
合成画像のシーケンスが変換されると、予測システム170は、ポーズモデルを使用して、低照度の合成画像を昼間表現と比較することにより、ポーズ損失を計算できる。ポーズモデルは、画像におけるオブジェクトに対する画像センサまたはカメラの時間、位置、場所、角度などを推定するニューラルネットワークであることができる。車両100に対しては、ポーズ損失は、道路または環境状況からのカメラの動きのために変化し得る。そのため、ポーズモデルは、合成画像と昼間表現のシーケンス間のポーズ損失に従って、カメラモデルを考慮および調整できる。1つのアプローチにおいては、ポーズモデルは、畳み込みニューラルネットワーク(CNN)、PoseNet(ポーズネット)モデルなど、合成画像内の人間または動物の姿勢を推定するものであることができる。更にポーズ損失は、Style Modeln-d330による合成画像の変換が、画像のシーケンスに対する閾値に到達するときに最小化できる。
【0032】
予測システム170が、昼間表現のシーケンスを計算すると、深度モデル320は、シーケンスから深度マップを予測できる。1つのアプローチにおいては、深度モデル320は、条件である入力画像に従って深度を予測するGANまたはcGANであることができる。そのため、cGANは、入力された合成昼間表現に内容が実質的に類似している深度マップに対する画像を生成しながらノイズを規制できる。cGANの出力は、グレースケールにおける深度マップであることができ、各画素の強度は、オブジェクトと画像センサまたはカメラとの間の距離を表している。
【0033】
深度モデル320のアーキテクチャに関して、図5は、低照度の環境に対する画像内のオブジェクトの深度を推定するためのエンコーダ/デコーダネットワーク500の1つの実施形態を例示している。1つのアプローチにおいては、エンコーダ/デコーダネットワーク500は、合成昼間表現の元々の画素の強度空間を変換するために複数の層を使用するダイアボリック形状(円錐の頂点の上に同じ円錐を逆さにして重ねたような形状)のディープニューラルネットワーク(DNN)であることができる。特に、エンコーダ/デコーダネットワーク500は、元々の画素を、合成昼間表現の固有の特性を向上する他の空間に非線形に変換できる。
【0034】
更に、エンコーダ層3、64、128、256、および512は、3×3二次元(2D)畳み込み層と、異なる層間で予め訓練されている正規化線形ユニットを利用できる。1つのアプローチにおいては、エンコーダ層64、128、256、および512は、前の特徴マップの顕著な特徴を出力するために、層内の最大プール操作を利用できる。デコーダ側においては、デコーダ層1、64、128、256、および512は、3×3二次元畳み込み層と、層内の正規化線形ユニットを利用できる。追加的に、デコーダ層32、64、128、256、および512は、二次元における畳み込み転置、2のストライド、および正規化線形ユニットを利用できる。従って、エンコーダ/デコーダネットワーク500の出力は、深度マップを生成するための数値要素を有するマトリックスのグループを有する特徴マップであることができる。
【0035】
追加的損失に関して、予測システム170は、深度モデル320により生成された深度マップに対するフローモデルを使用して、フロー損失を計算できる。フローモデルは、深度モデルを適合させるための昼間表現と深度マップのシーケンス間のオブジェクトの動的動きのためのフロー損失を決定するニューラルネットワークであることができる。例えば、フローモデルは、オブジェクトの動的動きを識別するためにエッジまたは境界情報を使用できる。1つのアプローチにおいては、フローモデルは、CNN、光学フローモデル、FlowNet(フローネット)モデルなどのような、ネットワークにおいて、オブジェクトの動きを推定するため2つの連続して隣接している入力画像を積み重ねるものであることができる。更に深度モデル320は、深度マップにおけるより滑らか且つ緩慢な変化に対してフローモデルを使用して適合できる。
【0036】
上記の記述においては、ポーズおよびフローモデルは、予測システム170の訓練に改良を加えるための補助的タスクまたは制約であることができる。特に、ポーズおよびフロー損失を同時に調整することは、深度モデル320を訓練するための様々な形態に対して意味関係の一貫性を提供でき、従って、合成画像、特には、低照度画像内のオブジェクトに対する深度精度を増大することになる。意味関係は、シーン構造を完全に理解するための重要な情報を提供できる。例えば、ポーズモデルは予測システム170に、深度推定を向上する観測要点と原点を提供できる。同時に、光学フローは、画像のシーケンスにわたる動的オブジェクトの動きを理解するためのシーンの他の意味関係である。言い換えれば、訓練に対して意味関係の一貫性に頼っているシステムは、ポーズおよびフローモデルをスーパービジョンとして使用することにより、訓練段階のモデル間の生成された内容の希薄化を防止できる。
【0037】
深度予測のための更なる訓練に関して、予測システム170は、損失最小化のために第1訓練段階310における損失L1を計算できる。
1=a1×Lsup1+a2×Lpose+a3×Lflow+a4×LStyle Modeln-d+a5×LDepth Model 等式(1)
等式(1)における変数a1~a5は、第1訓練段階310における学習プロセスを制御するために使用されるハイパーパラメータであることができる。上述した損失に加えて、予測システム170は、深度モデル320により予測された深度マップを、ライダーシミュレーションに従って生成されたグラウンドトゥルースと比較することにより、教師あり損失Lsup1を計算できる。例えば、教師あり損失は、予測された深度マップとグラウンドトゥルース深度マップとの間の画素当たりの測光損失を表すことができる。
【0038】
更に、等式(1)において、LStyle Modeln-dとLDepth Modelは、深度マップを生成することからの全体の損失を計算するために、ポーズ損失Lposeとフロー損失Lflowと共に使用される、スタイルおよび深度モデルそれぞれの前方または公称損失であることができる。例えば、Lposeは、低照度合成画像と昼間表現との間のx、y、z座標の差であることができる。追加的に、Lflowは、昼間表現と深度マップとの間の画素当たりの差を表すことができる。1つのアプローチにおいては、予測システム170は、L1損失が、深度マップを予測するための基準を満たすまで、Style Modeln-d330または深度モデル320のパラメータ、重さ、または内部係数を調整するために誤差逆伝播を行うことができる。
【0039】
ここで第2訓練段階350を見てみると、予測システム170は、StyleGANR-S340により合成画像に変換された実際の画像を使用できる。例えば、StyleGANR-S340は、訓練データセットにおける低照度状況からの実際の画像を、内容、陰影、影などを維持しながら、合成画像に変換できる。図3Bは、第1訓練段階310と共に第2訓練段階350を有している2段階システム302を示している。第2訓練段階350は、実際の画像を合成昼間表現に処理することができ、深度マップを生成するために第1訓練段階310から重みを受け継ぐ。更に、スタイル分布のための隠れた変数のモデルもまた、深度予測を向上するために2つの段階の間で設定できる。隠れた、または潜在的変数は、観測されないが、訓練されたネットワークの一部であるデータであることができる。1つのアプローチにおいては、第2訓練段階350は、深度推定のために低照度環境において撮影された、車両100の単眼カメラからの実際の画像を使用できるが、第1訓練段階310は、現在の交通シーンに対してシミュレートされた画像データを使用する。このようにして、2段階システム302は、段階間の画像対応または相関関係を削減することにより、低照度におけるより精度の高い深度マップのためのドメイン訓練と合成画像処理を向上する。
【0040】
第2訓練段階350に対する訓練に関して、予測システム170は、実際の画像と関連付けられている深度マップを予測するための基準を最小にするため、およびそれを満たすために、スタイル転送とスーパービジョン損失を計算できる。予測システム170は、車両100における実際の実現形態に対して、第2訓練段階350における実際の画像を使用する。1つのアプローチにおいては、予測システム170は、予測された深度マップを、所与の夜間シーンに対するライダーシミュレーションにより生成された点群と比較できる。このようにして、第2訓練段階は、深度予測を向上するためにセミスーパービジョンを利用できる。
【0041】
第2段階損失に関して、予測システム170は、損失最小化のために第2訓練段階350における全体損失L2を下記のように計算できる。
2=a1×Lsup2+a2×LStyleGANR-S 等式(2)
等式(2)における変数a1とa2は、第2訓練段階350における学習プロセスを制御するために使用されるハイパーパラメータであることができる。ここで、Lsup2は、深度モデルにより予測された深度マップを、第2訓練段階350においてライダーシミュレーションに従って生成されたグラウンドトゥルースと比較することにより計算される教師あり損失であることができる。例えば、教師あり損失は、予測された深度マップとグラウンドトゥルース深度マップとの間の画素当たりの測光損失を表すことができる。更に損失LStyleGANR-Sは、実際の画像を合成画像に変換することと関連付けられている前方または公称損失を表すことができる。例えば、この損失は、低照度状況で撮影された実際の画像を合成画像に変換することにより失われた色強度、スケーリング、および他の情報を表すことができる。従って、予測システム170は、L2損失が、深度マップを予測するための基準を満たすまで、第2訓練段階に対する実際の画像を処理できる。
【0042】
ここで図6A図6Bを見てみると、低照度画像内のオブジェクトに対する深度の予測を向上することと関連付けられている方法600のフローチャートが例示されている。方法600は、図1図2の予測システム170の観点から検討される。方法600は、予測システム170との組み合わせにおいて検討されているが、方法600は、予測システム170内で実現されることに制限されず、予測システム170は、方法600を実現できるシステムの1つの例であるということは認識されるべきである。簡単な説明のために、種々の実現形態においては、方法600は2つの訓練段階を含むことができ、第1訓練段階は、交通シーンと関連付けられている低照度状況の合成画像を、予測システム170を訓練するための増大された光に変換する。第1訓練段階は、実際の画像、対画像、実際のグラウンドトゥルースなどに頼ることを、交通シーンに対してシミュレートされた画像データを使用して削減することにより、動作を簡略化するために合成ドメインにおいて動作できる。更に第2訓練段階は、訓練を完了するために、訓練データセットからの、または、低照度環境において撮影された、車両100の単眼カメラからの実際の画像を使用できる。このようにして、2段階システムは、段階間の画像対応または相関関係を削減することにより、低照度におけるより精度の高い深度マップのために、ドメイン訓練と合成画像処理を向上する。
【0043】
610において、予測システム170は、第1訓練段階におけるスタイルモデルを使用して、合成画像を昼間表現に変換する。上記で説明したように、予測システム170は、低照度環境からの合成画像のシーケンスを、スタイルモデルを使用して、昼間表現のシーケンスに変換できる。照明レベルに関して、低照度は、単眼カメラ、GRBカメラ、光学カメラ、マシンビジョンなどを使用しているシステムが、減少した色強度のために、オブジェクトの特徴を識別することが困難になる可能性のある照明環境を表すことができる。また、上記で説明したように、スタイルモデルは、色、影、陰影、照明条件などによるように、オブジェクトの特徴がどのように現れるかを予測することにより、スタイルまたはドメイン転送を実行するGANであることができる。そのため、昼間表現は、深度処理に対する豊富さを増大するために照明またはスタイルを変更しながら、同じ内容を有することができる。
【0044】
620において、予測システム170は、深度モデルを使用して、昼間表現の深度マップを出力する。1つのアプローチにおいては、予測システム170が昼間表現のシーケンスを計算すると、深度モデルは、シーケンスから深度マップを予測できる。深度マップは、各画素の強度が、オブジェクトと、画像センサまたはカメラとの間の距離を表すグレースケールであってよい。1つのアプローチにおいては、深度モデルは、条件である入力画像に従って深度を予測するGANまたはcGANであることができる。そのため、cGANは、内容が実質的に合成昼間入力と類似している深度マップに対する画像を生成しながら、ノイズを規制できる。
【0045】
630においては、予測システム170は、第1訓練段階の間に、ポーズモデルを使用してスタイルモデルの損失、およびフローモデルを使用して深度モデルの損失を計算する。予測システム170により使用される損失関数の詳細については上記で説明している。ポーズモデルは、取り込まれた画像におけるオブジェクトに対する、画像センサまたはカメラの時間、位置、場所、角度などを推定するネットワーク(例えば、CNN)であることができる。1つのアプローチにおいては、ポーズ損失は、スタイルモデルによる合成画像の変換が閾値に到達するときに最小化できる。更にフローモデルは、昼間表現のシーケンスと深度マップシーケンスとの間の、オブジェクトの動的動きのためのフロー損失を決定するネットワーク(例えば、CNN)であることができる。そのため、深度モデルは、深度マップのシーケンスにおけるより滑らか且つ緩慢な変化に対してフローモデルを使用して適応でき、それにより、ネットワークの性能を向上する。
【0046】
640において、予測システム170は、損失に従って、訓練に対するパラメータを調整する。1つのアプローチにおいては、ポーズおよびフローモデルは、合成ドメインにおける訓練に改良を加えるための補助的タスクであることができる。特に、ポーズおよびフロー損失を同時に調整することは、深度モデルを訓練するための形態にわたって意味関係の一貫性を提供でき、それにより、合成画像内のオブジェクトに対する深度推定値の精度を高める。この一貫性は、オブジェクトがあまり目立たない低照度画像の処理を特に向上できる。例えば、ポーズモデルは、予測システム170に、深度推定を向上する観測要点と原点を提供できる。上記に説明したように、光学フローは、画像のシーケンスにわたる動的オブジェクトの移動を理解するための他の意味関係である。従って、訓練に対して、意味関係の一貫性に頼るシステムは、ポーズおよびフローモデルをスーパービジョンとして使用することにより、訓練のモデル間の生成された内容の希薄化を防止できる。
【0047】
650において、予測システム170は、深度モデルのパラメータを調整し、訓練を、モデルパラメータまたは重みに対する基準が収束または満たされるまで継続する。例えば、基準は、損失が、解像度に対する閾値または大きさを満たすことであることができる。そのため、予測システム170は、基準が満たされないときは交通シーンに関する追加的合成画像を使用でき、更なる訓練を実行できる。
【0048】
660において、予測システム170は、第1訓練段階を完了した後に、敵対的ネットワークを使用して実際の画像を合成表現に変換することにより第2訓練段階に進む。例えば、実際のシーンの低照度または夜間画像は、合成表現に変換できる。予測システム170は、車両100における実際の実現形態のために第2訓練段階において実際の画像で訓練できる。上記に説明したように、第2訓練段階は、実際の画像を使用するネットワークの訓練に改良を加え且つ完了するために、変換に対する、第1訓練段階からの重みを受け継ぐことができる。1つのアプローチにおいては、敵対的ネットワークはGANであることができ、夜間画像は、第1訓練段階に関する交通シーンに対応する実際の画像であることができる。
【0049】
670において、予測システム170は、昼間のスタイルおよび深度モデルを使用して、合成表現を処理する。処理に関連して、予測システム170は、実際の画像と関連付けられている深度マップを予測するための基準を最小化し、且つ満たすためにスタイル転送およびスーパービジョン損失を計算できる。1つのアプローチにおいては、予測システム170は、車両100からの実際のライダー測定値に頼ることを回避するために、予測された深度マップを、所与の夜間シーンに対してライダーシミュレーションにより生成された点群と比較できる。
【0050】
680において、予測システム170は、訓練のために実際の画像を処理することによる損失を使用する。特に、予測システム170は、スタイル転送と、実際の画像と関連付けられている合成昼間画像の深度マップを生成することによる教師あり損失を使用できる。690において、第2訓練段階における処理は、パラメータがある基準を満たすまで継続する。例えば、基準は、敵対的ネットワークからの損失と深度損失が、車両100と関連付けられている1日の中のある時間の間に深度マップを推定するための閾値を満たすことであることができる。更に予測システム170は、基準が満たされないときは、交通シーンに関する追加的実際の画像を使用でき、更に第2訓練段階を実行できる。このようにして、2段階システムは、段階間の画像対応または相関関係を削減することにより、低照度におけるより精度の高い深度マップのためにドメイン訓練と合成画像処理を向上する。
【0051】
図7は、2つの段階を使用して訓練されたシステムにより生成された、低照度環境に対する深度マップの例を示している。リモートまたはサーバ上での訓練の後、車両100は、リアルタイムナビゲーション、安全制御、自動化などに対する認識モジュールとして、予測システム170を電子制御ユニット上に予め搭載できる。予測システム170は、スタイル変換を使用して昼間表現720を生成するために、単眼カメラからなどのような実際のシーンの、低照度または夜間画像710を使用できる。1つのアプローチにおいては、予測システム170は、スタイル変換に対してGANを使用できる。予測システム170のGANまたはcGANは、深度マップ730を予測するために昼間表現720を使用できる。続いて、予測システム170は、ナビゲーション、安全制御、自動化などのために車両100の他のシステムに深度マップを提供できる。
【0052】
ここで図1を、ここにおいて開示されているシステムと方法が動作できる、例としての環境として十分詳細に検討する。しかし、種々の実現形態においては、システムと方法は、上記のように、CE装置、モバイル装置、ロボット、ドローン、車両、クラウドに基づくサービスなどのような任意の装置において動作できる。幾つかの実例においては、車両100は、車両100の1つ以上のモジュール/システムの指示に従って、動作/制御の異なるモード間で選択的に切り替わるように構成されている。1つのアプローチにおいては、モードは、0、自動化なし、1、運転手支援、2、部分的自動化、3、条件付き自動化、4、高度自動化、および5、完全自動化を含んでいる。1つ以上の配置においては、車両100は、可能なモードのサブセットにおいて動作するように構成できる。
【0053】
1つ以上の実施形態においては、車両100は、自動化または自律車両である。ここにおいて使用されているように、「自律車両」とは、自律モード(例えば、カテゴリ5、完全自動化)において動作できる車両のことである。「自動化モード」または「自律モード」とは、人間の運転手からの最小の入力、または入力なしで車両100を制御するための1つ以上の計算システムを使用して、走行ルートに沿って車両100を走行させる、および/または、操縦することである。1つ以上の実施形態においては、車両100は高度に自動化され、または完全に自動化されている。1つの実施形態においては、車両100は、1つ以上の計算システムが、走行ルートに沿っての車両の走行および/または操縦の一部を実行し、車両のオペレータ(つまり、運転手)が、走行ルートに沿っての車両100走行および/または操縦の一部を実行するために入力を車両に提供する1つ以上の半自律動作モードで構成されている。
【0054】
車両100は、1つ以上のプロセッサ110を含んでいる。1つ以上の配置においては、プロセッサ110は、車両100のメインプロセッサであることができる。例えば、プロセッサ110は、ECU、特定用途向け集積回路(ASIC)、マイクロプロセッサなどであることができる。車両100は、1つ以上のタイプのデータを格納するための1つ以上のデータ格納装置115を含むことができる。データ格納装置115は、揮発性および/または不揮発性メモリを含むことができる。適切なデータ格納装置115の例としては、RAM、フラッシュメモリ、ROM、プログラマブルリードオンリメモリ(PROM)、消去可能型プログラマブルリードオンリメモリ(EPROM)、電気的消去可能型プログラマブルリードオンリメモリ(EEPROM)、レジスタ、磁気ディスク、光ディスク、およびハードドライブが含まれる。データ格納装置115は、プロセッサ110の構成要素であることができ、または、データ格納装置115は、プロセッサ110による使用のためにプロセッサ110に機能的に接続できる。この記述を通して使用されているような「機能的に接続される」という用語は、直接物理的接触がない接続を含んで、直接または間接的な接続を含むことができる。
【0055】
1つ以上の配置においては、1つ以上のデータ格納装置115はマップデータ116を含むことができる。マップデータ116は、1つ以上の地理的領域のマップを含むことができる。幾つかの実例においては、マップデータ116は、1つ以上の地理的領域における、道路、交通制御装置、道路標識、構造、特徴、および/または目印となるものについての情報またはデータを含むことができる。マップデータ116は、任意の適切な形状であることができる。幾つかの実例においては、マップデータ116は、空から見た領域の図を含むことができる。幾つかの実例においては、マップデータ116は、360度地上図を含む、領域の地上図を含むことができる。マップデータ116は、マップデータ116に含まれている1つ以上の項目に対する、および/またはマップデータ116に含まれている他の項目に対する測定値、寸法、距離、および/または情報を含むことができる。マップデータ116は、道路の相対的位置関係についての情報を有するデジタルマップを含むことができる。
【0056】
1つ以上の配置においては、マップデータ116は、1つ以上の地形マップ117を含むことができる。地形マップ117は、1つ以上の地理的領域の地形、道路、地表、および/または他の特徴についての情報を含むことができる。地形マップ117は、1つ以上の地理的領域における高度データを含むことができる。地形マップ117は、舗装された道路、舗装されていない道路、土地、および地表を定義する他のものを含むことができる1つ以上の地表を定義できる。
【0057】
1つ以上の配置においては、マップデータ116は、1つ以上の静的障害物マップ118を含むことができる。静的障害物マップ118は、1つ以上の地理的領域内に位置している1つ以上の静的障害物についての情報を含むことができる。「静的障害物」とは、時間の経過と共に、その位置が変化しない、または実質的に変化しない、および/または、時間の経過と共に、そのサイズが変化しない、または実質的に変化しない物理的オブジェクトである。静的障害物の例としては、木々、建物、縁石、塀、垣、中央分離帯、電柱、銅像、記念碑、標識、ベンチ、家具、郵便箱、大きな石、坂などを含むことができる。静的障害物は、地面上を延伸しているオブジェクトであることができる。静的障害物マップ118に含まれている1つ以上の静的障害物は、位置データ、サイズデータ、寸法データ、材質データ、および/または、それと関連付けられている他のデータを有することができる。静的障害物マップ118は、1つ以上の静的障害物に対する測定値、寸法、距離、および/または情報を含むことができる。静的障害物マップ118は高品質であることができ、および/または、高度に詳細であることができる。静的障害物マップ118は、マップに記述されている領域内の変化を反映するために更新できる。
【0058】
1つ以上のデータ格納装置115はセンサデータ119を含むことができる。この状況においては、「センサデータ」は、そのようなセンサについての機能および他の情報を含む、車両100が装備しているセンサについての任意の情報を意味している。下記に説明されるように、車両100はセンサシステム120を含むことができる。センサデータ119は、センサシステム120の1つ以上のセンサに関することができる。例として、1つ以上の配置においては、センサデータ119は、センサシステム120の1つ以上のライダーセンサ124についての情報を含むことができる。
【0059】
幾つかの実例においては、マップデータ116および/またはセンサデータ119の少なくとも一部は、車両100上に位置している1つ以上のデータ格納装置115に位置させることができる。代替的に、または追加的に、マップデータ116および/またはセンサデータ119の少なくとも一部は、車両100から離れて位置している1つ以上のデータ格納装置115に位置させることができる。
【0060】
上記に記したように、車両100はセンサシステム120を含むことができる。センサシステム120は1つ以上のセンサを含むことができる。「センサ」は、何かを検出および/または感知できる装置を意味している。少なくとも1つの実施形態においては、1つ以上のセンサは、リアルタイムで検出および/または感知する。ここにおいて使用されているように、「リアルタイム」という用語は、実行される特別なプロセスまたは決定に対して、ユーザまたはシステムが十分に即時であると感知する処理応答のレベル、または、プロセッサが、ある外部プロセスに対して遅れないでいることを可能にする処理応答のレベルを意味している。
【0061】
センサシステム120が複数のセンサを含んでいる配置においては、センサは互いに独立して機能でき、または、センサの2つ以上は、組み合わせて機能できる。センサシステム120および/または1つ以上のセンサは、プロセッサ110、データ格納装置115、および/または、車両100の他の要素に機能的に接続できる。センサシステム120は、車両100の環境の一部(例えば、近くの車両)についての観測結果を生成できる。
【0062】
センサシステム120は任意の適切なタイプのセンサを含むことができる。異なるタイプのセンサの種々の例が、ここにおいて記述される。しかし、実施形態は、記述されている特別なセンサに制限されないということは理解されるであろう。センサシステム120は、1つ以上の車両センサ121を含むことができる。車両センサ121は、車両100自身についての情報を検出できる。1つ以上の配置においては、車両センサ121は、例えば、慣性加速度に基づいてなどのように、車両100の位置および向きの変化を検出するように構成できる。1つ以上の配置においては、車両センサ121は、1つ以上の加速度計、1つ以上のジャイロスコープ、慣性測定ユニット(IMU)、推測航法システム、全地球航法衛星システム(GNSS)、全地球測位システム(GPS)、ナビゲーションシステム147、および/または他の適切なセンサを含むことができる。車両センサ121は、車両100の1つ以上の特性、および/または、車両100が動作している様子を検出するように構成できる。1つ以上の配置においては、車両センサ121は、車両100の現在の速度を決定する速度計を含むことができる。
【0063】
代替的に、または追加的に、センサシステム120は、車両100が動作している、車両100を取り囲んでいる環境についてのデータを取得するように構成されている1つ以上の環境センサ122を含むことができる。「周囲の環境データ」は、車両が位置している外部環境についての、または、その1つ以上の部分についてのデータを含んでいる。例えば、1つ以上の環境センサ122は、車両100の外部環境の少なくとも一部における障害物、および/または、そのような障害物についてのデータを感知するように構成できる。そのような障害物は、静的オブジェクトおよび/または動的オブジェクトであってよい。1つ以上の環境センサ122は、例えば、車線標示、標識、交通信号灯、交通標識、車線の線、横断歩道、車両100に近い縁石、道路外のオブジェクトなどのような、車両100の外部環境における他の物を検出するように構成できる。
【0064】
センサシステム120のセンサの種々の例がここにおいて記述される。例としてのセンサは、1つ以上の環境センサ122、および/または、1つ以上の車両センサ121の一部であることができる。しかし、実施形態は、記述されている特別なセンサに制限されないということは理解されるであろう。
【0065】
例として、1つ以上の配置においては、センサシステム120は、レーダーセンサ123、ライダーセンサ124、ソナーセンサ125、天候センサ、触覚センサ、位置センサ、および/または、1台以上のカメラ126の1つ以上を含むことができる。1つ以上の配置においては、1台以上のカメラ126は、ハイダイナミックレンジ(HDR)カメラ、ステレオ、または赤外線(IR)カメラであることができる。
【0066】
車両100は入力システム130を含むことができる。「入力システム」は、種々のエンティティがデータをマシンに入力することを可能にする構成要素または配置またはそれらのグループを含んでいる。入力システム130は、車両に乗っている人からの入力を受信できる。車両100は出力システム135を含むことができる。「出力システム」は、データを車両に乗っている人に提示することを容易にする1つ以上の構成要素を含んでいる。
【0067】
車両100は1つ以上の車両システム140を含むことができる。1つ以上の車両システム140の種々の例が、図1において示されている。しかし、車両100は、より多い、より少ない、または異なる車両システムを含むことができる。特別な車両システムが別個に定義されているが、システムの何れも、またはその一部は、車両100内でハードウェアおよび/またはソフトウェアを介して組み合わせること、または分離することができるということは認識されるべきである。車両100は、推進システム141、制動システム142、ステアリングシステム143、スロットルシステム144、トランシミッションシステム145、信号システム146、および/またはナビゲーションシステム147を含むことができる。これらのシステムの何れも、現在知られている、または後日開発される、1つ以上の装置、構成要素、および/またはそれらの組み合わせを含むことができる。
【0068】
ナビゲーションシステム147は、車両100の地理的位置を決定し、および/または、車両100に対する走行ルートを決定するように構成されている、現在知られている、または後日開発される、1つ以上の装置、アプリケーション、および/または、それらの組み合わせを含むことができる。ナビゲーションシステム147は、車両100に対する走行ルートを決定する1つ以上のマッピングアプリケーションを含むことができる。ナビゲーションシステム147は、全地球測位システム、局所測位システム、または、ジオロケーション(geolocation)システムを含むことができる。
【0069】
プロセッサ110、予測システム170、および/または自律運転モジュール160は、種々の車両システム140および/または、その個々の構成要素と通信するために機能的に接続できる。例えば、図1に戻ると、プロセッサ110および/または自律運転モジュール160は、車両100の動きを制御するために、種々の車両システム140に情報を送り、および/または、種々の車両システム140から情報を受信するように通信状態であることができる。プロセッサ110、予測システム170、および/または自律運転モジュール160は、車両システム140の幾つか、またはすべてを制御でき、そのため、米国自動車技術協会(SAE)のレベル0から5により定義されるように、部分的、または完全に自律的であることができる。
【0070】
プロセッサ110、予測システム170、および/または自律運転モジュール160は、種々の車両システム140および/または、その個々の構成要素と通信するために機能的に接続できる。例えば、図1に戻ると、プロセッサ110、予測システム170、および/または自律運転モジュール160は、車両100の動きを制御するために、種々の車両システム140に情報を送り、および/または、種々の車両システム140から情報を受信するように通信状態であることができる。プロセッサ110、予測システム170、および/または自律運転モジュール160は、車両システム140の幾つか、またはすべてを制御できる。
【0071】
プロセッサ110、予測システム170、および/または自律運転モジュール160は、車両システム140および/またはその構成要素の1つ以上を制御することにより、車両100の走行と操縦を制御するように動作できる。例えば、自律モードで動作するときは、プロセッサ110、予測システム170、および/または自律運転モジュール160は、車両100の方向および/または速度を制御できる。プロセッサ110、予測システム170、および/または自律運転モジュール160は、車両100に加速、減速、および/または方向を変えさせることができる。ここにおいて使用されているように、「させる」または「させている」とは、直接または間接的な何れか方法で、ある事象または行動を起こさせる、起こすように強いる、起こすように強制する、起こすように指図する、起こすように命令する、起こすように指示する、および/または起こることを可能にする、または、そのような事象または行動が起こり得る状態に少なくともなるように、させる、強いる、強制する、指図する、命令する、指示する、および/または、なることを可能にするということを意味している。
【0072】
車両100は、1つ以上のアクチュエータ150を含むことができる。アクチュエータ150は、プロセッサ110および/または自律運転モジュール160から信号またはたの入力を受信することに応答して、車両システム140またはその構成要素の1つ以上を変更するように動作できる要素、または要素の組み合わせであることができる。例えば、1つ以上のアクチュエータ150としては、幾つかの可能性のあるものを挙げれば、モータ、空気式アクチュエータ、油圧ピストン、リレー、ソレノイド、および/または圧電アクチュエータを含むことができる。
【0073】
車両100は、1つ以上のモジュールを含むことができ、そのうちの少なくとも幾つかは、ここにおいて記述されている。モジュールは、コンピュータ可読プログラムコードとして実現でき、コンピュータ可読プログラムコードはプロセッサ110により実行されると、ここにおいて記述されている種々のプロセスの1つ以上を実現する。モジュールの1つ以上は、プロセッサ110の構成要素であることができ、または、モジュールの1つ以上は、プロセッサ110が機能的に接続されている他の処理システム上で実行でき、および/または、その処理システム間で分散できる。モジュールは、1つ以上のプロセッサ110により実行可能な指示(例えば、プログラムロジック)を含むことができる。代替的に、または追加的に、1つ以上のデータ格納装置115は、そのような指示を含むことができる。
【0074】
1つ以上の配置においては、ここにおいて記述されているモジュールの1つ以上は、人工知能要素、例えば、ニューラルネットワーク、ファジーロジック、または他のMLアルゴリズムを含むことができる。更に、1つ以上の配置においては、モジュールの1つ以上は、ここにおいて記述されている複数のモジュール間で分散できる。1つ以上の配置においては、ここにおいて記述されているモジュールの2つ以上は、単一のモジュールに組み合わせることができる。
【0075】
車両100は、1つ以上の自律運転モジュール160を含むことができる。自律運転モジュール160は、車両100および/または、車両100の外部環境に関する情報を取り込むことができるセンサシステム120および/または、他のタイプのシステムからデータを受信するように構成できる。1つ以上の配置においては、自律運転モジュール160はそのようなデータを、1つ以上の運転シーンモデルを生成するために使用できる。自律運転モジュール160は、車両100の位置と速度を決定できる。自律運転モジュール160は、障害物の位置、障害物、または、交通標識、木々、低木、近くの車両、歩行者などを含む他の環境の特徴を決定できる。
【0076】
自律運転モジュール160は、複数の衛星からの信号に基づく、または、車両100の現在の状態を決定するために、または、マップを作成するとき、または、マップデータに関しての車両100の位置を決定するときの何れかの使用のために、その環境に関しての車両100の位置を決定するために使用できる任意の他のデータおよび/または信号に基づく、グローバル座標における車両位置である車両100の位置および向きを推定するために、ここにおいて記述されているプロセッサ110および/またはモジュールの1つ以上による使用のために、車両100の外部環境内の障害物に対する位置情報を受信および/または決定するように構成できる。
【0077】
自律運転モジュール160は、センサシステム120により取得されたデータ、運転シーンモデル、および/または、センサデータ240からの決定などのような、任意の他の適切なソースからのデータに基づいて、走行経路、車両100に対する現在の自律運転操縦、将来の自律運転操縦および/または、現在の自律運転操縦に対する修正を決定するように、独立して、または、予測システム170との組み合わせにおいて構成できる。「運転操縦」とは、車両の動きに影響を与える1つ以上の動作を意味している。運転操縦の例としては、幾つかの可能なものを挙げれば、加速、減速、制動、方向転換、車両100の側部方向への移動、走行車線の変更、走行車線への合流、および/または、後退などが含まれる。自律運転モジュール160は、決定された運転操縦を実現するように構成できる。自律運転モジュール160は、直接的に、または間接的に、そのような自律運転操縦が実現されるようにさせることができる。ここにおいて使用されているように、「させる」または「させている」とは、直接または間接的な何れか方法で、ある事象または行動を起こさせる、起こすように命令する、起こすように指示する、および/または起こることを可能にする、または、そのような事象または行動が起こり得る状態に少なくともなるように、させる、命令する、指示する、および/または、なることを可能にするということを意味している。自律運転モジュール160は、種々の車両の機能を実行し、車両100、またはその1つ以上のシステム(例えば、車両システム140の1つ以上)にデータを送信し、それらからデータを受信し、それらと相互作用し、および/または、それらを制御するように構成できる。
【0078】
詳細な実施形態がここにおいて開示されている。しかし、開示されている実施形態は例であることが意図されているということは理解されるべきである。従って、ここにおいて開示されている特定の構造および機能の詳細は、制限的として解釈されるべきではなく、請求項に対する単なる根拠として解釈され、および、この技術における技量を有する者が、実質的に任意の適切に詳述されている構造において、ここにおける態様を種々に採用するように教示するための単なる代表的な根拠として解釈されるべきである。更に、ここにおいて使用されている用語およびフレーズは、制限的であることは意図されておらず、可能な実現形態の理解可能な記述を提供することが意図されている。種々の実施形態が図1~7において示されているが、実施形態は、例示されている構造または適用に制限されない。
【0079】
図におけるフローチャートとブロック図は、種々の実施形態に係る、システム、方法、およびコンピュータプログラム製品の可能な実現形態のアーキテクチャ、機能、および動作を例示している。この点に関して、フローチャートまたはブロック図におけるブロックは、指定された論理機能を実現するための1つ以上の実行可能な指示を備えているモジュール、セグメント、またはコードの部分を表すことができる。幾つかの代替の実現形態においては、ブロックに記されている機能は、図に記されている順序とは異なる順序で起こることができるということにも留意すべきである。例えば、関与する機能によっては、連続して示されている2つのブロックは、実際には、実質的に同時に実行でき、または、ブロックは、逆の順序で実行できることもある。
【0080】
上記のシステム、構成要素、および/またはプロセスは、ハードウェア、またはハードウェアとソフトウェアの組み合わせにおいて実現でき、および、1つの処理システムにおいて集中型で実現でき、または、異なる要素が幾つかの相互接続されている処理システムにわたり広がっている分散型において実現できる。ここにおいて記述されている方法を実行するために適合されている任意の種類の処理システムまたは他の装置は適切である。ハードウェアとソフトウェアの典型的な組み合わせは、展開されて実行されると、処理システムが、ここにおいて記述されている方法を実行するように処理システムを制御する、コンピュータ使用可能プログラムコードを有する処理システムであることができる。
【0081】
システム、構成要素、および/またはプロセスはまた、機械が読み取ることが可能で、ここにおいて記述されている方法とプロセスを実行するために、その機械により実行可能な指示のプログラムを実体的に含んでいるコンピュータプログラム製品、または他のデータプログラム格納装置などのようなコンピュータ読取り可能格納装置に埋め込むことができる。これらの要素もまた、ここにおいて記述されている方法の実現形態を可能にする特徴を備え、処理システムにおいて展開されると、これらの方法を実行できるアプリケーション製品に埋め込むことができる。
【0082】
更に、ここにおいて記述されている配置は、含まれている、例えば、格納されていコンピュータ読取り可能プログラムコードを有している1つ以上のコンピュータ読取り可能媒体に含まれているコンピュータプログラム製品の形状を取ることができる。1つ以上のコンピュータ読取り可能媒体の任意の組み合わせを利用できる。コンピュータ読取り可能媒体は、コンピュータ読取り可能信号媒体、または、コンピュータ読取り可能格納媒体であることができる。「コンピュータ読取り可能格納媒体」というフレーズは、非一時的格納媒体を意味している。コンピュータ読取り可能格納媒体は、例えば、下記に制限されないが、電子的、磁気的、光学的、電磁気的、赤外線、または半導体システム、装置、またはデバイス、または、前述の任意の適切な組み合わせであることができる。コンピュータ読取り可能格納媒体の、より具体的な例(すべてを網羅しているリストではない)としては、下記が含まれる。つまり、携帯型コンピュータディスケット、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、ROM、EPROMまたはフラッシュメモリ、携帯型コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多目的ディスク(DVD)、光格納装置、磁気格納装置、または前述の任意の適切な組み合わせが含まれる。この文書の状況においては、コンピュータ読取り可能格納媒体は、指示実行システム、装置、またはデバイスによる使用のため、またはそれらと一緒の使用のためのプログラムを含む、または格納することができる任意の実体的な媒体であることができる。
【0083】
ここにおいて使用されているようなモジュールは一般的には、特別なタスクを実行する、または、特別なデータタイプを実現するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含んでいる。更なる態様においては、メモリは一般的には、周知のモジュールを含んでいる。モジュールと関連付けられているメモリは、プロセッサ、RAM、ROM、フラッシュメモリ、または、他の適切な電子格納媒体内に埋め込まれているバッファまたはキャッシュであることができる。更なる態様においては、本開示により考察されるモジュールは、ASICとして、システムオンチップ(SoC)のハードウェア構成要素として、プログラマブルロジックアレイ(PLA)として、または、開示されている機能を実行するための定義された構成セット(例えば、指示)と共に埋め込まれている他の適切なハードウェア構成要素として実現される。
【0084】
コンピュータ読取り可能媒体に含まれているプログラムコードは、下記に制限されないが、無線、ワイヤ線、光ファイバ、ケーブル、無線周波数(RF)など、または前述の任意の適切な組み合わせを含む、任意の適切な媒体を使用して送信できる。本配置の態様に対する動作を実行するためのコンピュータプログラムコードは、Java(登録商標)TM、Smalltalk、C++などのようなオブジェクト指向プログラミング言語、および、「C」プログラミング言語または類似のプログラミング言語などのような、従来の手続き型プログラミング言語を含む1つ以上のプログラミング言語の任意の組み合わせにおいて記述できる。プログラムコードは、ユーザのコンピュータ上で全体を実行でき、スタンドアロンソフトウェアパッケージとしてユーザのコンピュータ上で一部を実行でき、ユーザのコンピュータ上で一部、そしてリモートコンピュータ上で一部を実行でき、または、リモートコンピュータまたはサーバ上で全体を実行できる。後者のシナリオにおいては、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを通してユーザのコンピュータに接続でき、または、外部コンピュータへの接続を行うことができる(例えば、インタ―ネットサービスプロバイダを使用するインターネットを通して)。
【0085】
ここにおいて使用されているような「1つの」という用語は、1つまたは2つ以上として定義されている。ここにおいて使用されているような「複数の」という用語は、2つまたは3つ以上として定義されている。ここにおいて使用されているような「他の」という用語は、少なくとも第2のまたはそれ以降のものとして定義されている。ここにおいて使用されているような「含んでいる」および/または「有している」という用語は「備えている」(つまり、開かれた言語)として定義されている。ここにおいて使用されているような「~と~の少なくとも1つ」というフレーズは、関連付けられてリスト化されている項目の1つ以上の任意の、およびすべての組み合わせのことであり、それらを含んでいる。例として、「A、B、およびCの少なくとも1つ」というフレーズは、A、B、C、またはそれらの任意の組み合わせ(例えば、AB、AC、BCまたはABC)を含んでいる。
【0086】
ここにおける態様は、その精神または重要な属性から逸脱することなく他の形状において具現化できる。従って、その範囲を示すものとしては、前述の明細書ではなく、下記の請求項を参照すべきである。
図1
図2
図3A
図3B
図4
図5
図6A
図6B
図7
【外国語明細書】