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

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

▶ モービルアイ ヴィジョン テクノロジーズ リミテッドの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-11
(45)【発行日】2022-03-22
(54)【発明の名称】カメラを用いた車両環境モデリング
(51)【国際特許分類】
   G01B 11/24 20060101AFI20220314BHJP
   G01C 11/02 20060101ALI20220314BHJP
   G06T 7/00 20170101ALI20220314BHJP
   G08G 1/16 20060101ALI20220314BHJP
【FI】
G01B11/24 K
G01C11/02
G06T7/00 350C
G06T7/00 650A
G08G1/16 C
【請求項の数】 20
(21)【出願番号】P 2020556952
(86)(22)【出願日】2019-04-18
(65)【公表番号】
(43)【公表日】2021-05-20
(86)【国際出願番号】 IB2019000506
(87)【国際公開番号】W WO2019202397
(87)【国際公開日】2019-10-24
【審査請求日】2020-10-15
(31)【優先権主張番号】62/659,470
(32)【優先日】2018-04-18
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/662,965
(32)【優先日】2018-04-26
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/663,529
(32)【優先日】2018-04-27
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/769,241
(32)【優先日】2018-11-19
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/769,236
(32)【優先日】2018-11-19
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】514281407
【氏名又は名称】モービルアイ ヴィジョン テクノロジーズ リミテッド
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】シャーグ,ナダフ
(72)【発明者】
【氏名】シュタイン,ギデオン
(72)【発明者】
【氏名】ブルメンタール,イタイ
(72)【発明者】
【氏名】モスコウィッツ,ジェフリー
【審査官】續山 浩二
(56)【参考文献】
【文献】米国特許出願公開第2016/0253566(US,A1)
【文献】米国特許出願公開第2010/0098295(US,A1)
【文献】特開2013-079937(JP,A)
【文献】米国特許出願公開第2017/0371340(US,A1)
【文献】国際公開第2017/118907(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G01B 11/24
G01C 11/02
G06T 7/00
G08G 1/16
(57)【特許請求の範囲】
【請求項1】
路面をモデル化するための装置であって、当該装置は、
路面を表す時間順に並べられた画像シーケンスを取得するためのハードウェア・インターフェイスであって、前記時間順に並べられた画像シーケンスはセンサによって取り込まれ、前記画像シーケンスのうちの1つの画像が現在の画像である、ハードウェア・インターフェイスと、
処理回路と、を含み、
該処理回路は、
データセットを人工ニューラル・ネットワーク(ANN)に提供し、前記ANNは、教師なしのトレーニング手法でトレーニングされ、この手法では、前記ANNを修正するために使用されるエラーが、2つの異なる時間における前記画像シーケンスからの2つの画像の間の重複するセグメントの道路構造を表すガンマの差によって決定され、推定が第1の画像で実行され、前記重複するセグメントは、第2の画像において前記センサに近くなり、
前記ANNは、シーンの3次元構造を生成し、前記データセットには、
前記現在の画像を含む前記画像シーケンスの一部と、
前記画像シーケンスを取り込んだ前記センサの動きと、
エピポールと、が含まれ、
前記処理回路は、前記シーンの3次元構造を用いて前記路面をモデル化する、
装置。
【請求項2】
前記エピポールは、前記現在の画像と同じ次元を有するグラデーション画像として提供され、該グラデーション画像のピクセルの値が、前記現在の画像のピクセルの前記エピポールからの距離を表す、請求項1に記載の装置。
【請求項3】
前記グラデーション画像は、前記エピポールからの水平距離のみを表し、第2のグラデーション画像が、前記エピポールからの垂直距離を表すために前記ANNに提供される、請求項2に記載の装置。
【請求項4】
前記センサの動きは、前記現在の画像と同じ次元を有する一定値の画像として提供される、請求項1に記載の装置。
【請求項5】
前記一定値は、前記センサの前進運動を平面からの前記センサの高さで割った比である、請求項4に記載の装置。
【請求項6】
前記路面をモデル化するために、前記処理回路は、前記シーンの前記3次元構造を第2のANNからの出力と比較することによって反射領域を特定し、前記第2のANNは、前記画像シーケンスの一部を受け入れ、第2の3次元構造を生成するようにトレーニングされ、前記第2のANNのトレーニングでは、前記画像シーケンスの一部で第1のANNのトレーニングよりもより多くの写真測量的損失が使用される、請求項1に記載の装置。
【請求項7】
前記処理回路は、前記3次元構造を用いて第2のANNを呼び出して、特徴が、前記路面の環境内で動いている物体又は動いていない物体を表すかどうかを判定するように構成される、請求項1に記載の装置。
【請求項8】
前記ANNは、畳み込みニューラル・ネットワーク(CNN)である、請求項1に記載の装置。
【請求項9】
前記センサの動き及び前記エピポールは、ボトルネック層で前記CNNに提供される、請求項8に記載の装置。
【請求項10】
前記ANNは、教師なしのトレーニング手法でトレーニングされ、この手法では、エラーが、未来の画像のモデルと前記未来の画像との間の差を測定することによって決定され、前記未来の画像の前記モデルは、前記未来の画像より前の画像のガンマ・ワーピングによって生成される、請求項1に記載の装置。
【請求項11】
路面をモデル化する方法であって、当該方法は、
路面を表す時間順に並べられた画像シーケンスを取得するステップであって、前記時間順に並べられた画像シーケンスはセンサによって取り込まれ、前記画像シーケンスのうちの1つの画像が現在の画像である、取得するステップと、
データセットを人工ニューラル・ネットワーク(ANN)に提供するステップであって、前記ANNは、教師なしのトレーニング手法でトレーニングされ、この手法では、前記ANNを修正するために使用されるエラーが、2つの異なる時間における前記画像シーケンスからの2つの画像の間の重複するセグメントの道路構造を表すガンマの差によって決定され、推定が第1の画像で実行され、前記重複するセグメントは、第2の画像において前記センサに近くなり、前記ANNによって、シーンの3次元構造が生成され、前記データセットには、
前記現在の画像を含む前記画像シーケンスの一部と、
前記画像シーケンスを取り込んだ前記センサの動きと、
エピポールと、が含まれる、提供するステップと、
前記シーンの3次元構造を用いて前記路面をモデル化するステップと、を含む、
方法。
【請求項12】
前記エピポールは、前記現在の画像と同じ次元を有するグラデーション画像として提供され、該グラデーション画像のピクセルの値が、前記現在の画像のピクセルの前記エピポールからの距離を表す、請求項11に記載の方法。
【請求項13】
前記グラデーション画像は、前記エピポールからの水平距離のみを表し、第2のグラデーション画像が、前記エピポールからの垂直距離を表すために前記ANNに提供される、請求項12に記載の方法。
【請求項14】
前記センサの動きは、前記現在の画像と同じ次元を有する一定値の画像として提供される、請求項11に記載の方法。
【請求項15】
前記一定値は、前記センサの前進運動を平面からの前記センサの高さで割った比である、請求項14に記載の方法。
【請求項16】
前記路面のモデル化するステップは、前記シーンの前記3次元構造を第2のANNからの出力と比較することによって反射領域を特定するステップを含み、前記第2のANNは前記画像シーケンスの前記一部を受け入れ、第2の3次元構造を生成するようにトレーニングされ、前記第2のANNのトレーニングでは、前記画像シーケンスの前記一部で第1のANNをトレーニングするよりもより多くの写真測量的損失が使用される、請求項11に記載の方法。
【請求項17】
前記3次元構造を用いて第2のANNを呼び出して、特徴が、前記路面の環境内で動いている物体又は動いていない物体を表すかどうかを判定するステップを含む、請求項11に記載の方法。
【請求項18】
前記ANNは、畳み込みニューラル・ネットワーク(CNN)である、請求項11に記載の方法。
【請求項19】
前記センサの動き及びエピポールは、ボトルネック層で前記CNNに提供される、請求項18に記載の方法。
【請求項20】
前記ANNは、教師なしのトレーニング手法でトレーニングされ、この手法では、エラーが、未来の画像のモデルと前記未来の画像との間の差を測定することによって決定され、前記未来の画像の前記モデルは、前記未来の画像より前の画像のガンマ・ワーピングによって生成される、請求項11に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
優先権の主張
この特許出願は、2018年4月18日に出願した、“PARALLAXNET-LEARNING OF GEOMETRY FROM MONOCULAR VIDEO”という表題の米国仮出願第62/659,470号;2018年4月26日に出願した、“MOVING/NOT MOVING DNN”という表題の米国仮出願第62/662,965号;2018年4月27日に出願した、“ROD PLANE WITH DNN”という表題の米国仮出願第62/663,529号;2018年11月19日に出願した、“PUDDLE DETECTION FOR AUTONOMOUS VEHICLE CONTROL”という表題の米国仮出願第62/769,236号;及び2018年11月19日に出願した、“ROAD CONTUR MEASUREMENT FOR AUTONOMOUS VEHICLES”という表題の米国仮出願第62/769,241号;について、米国特許法第119条に基づいて、優先権の利益を主張するものであり、これら全ての文献の全体が参照により本明細書に組み込まれる。
【0002】
本明細書で説明する実施形態は、概して、コンピュータビジョン技術に関し、より具体的には、カメラを用いた車両環境モデリングに関する。
【背景技術】
【0003】
自動車において「自動運転(self-driving)」又は「支援運転(assisted-driving)」動作と呼ばれることが多い自律又は半自律型の自動車技術は、商用及び消費者グレードの車両において急速な開発及び配備が行われている。これらのシステムは、センサのアレイを使用して、車両の動き及び周囲を継続的に監視する。様々なセンサ技術を使用して、路面や境界、他の車両、歩行者、物体や危険物、標識や道路標示、及び他の関連アイテム等、車両の周囲を監視できる。
【0004】
1つ又は複数のカメラと共に実装される画像取込みセンサは、物体の検出や認識、及び標識や道路標示の読み取りに特に有用である。カメラベースのシステムが、道路の垂直輪郭、車線マーカー、縁石等の3次元構造の測定、及び物体又は危険物の検出に適用されている。実用的なセンサシステムが、変化する気象条件及び道路状況で確実に動作することが期待されている。これらの期待は、入力を処理する際に無数の課題をもたらす傾向がある。夜間の影又は光による入力ノイズは、路面検出を妨害する可能性がある。濡れた道路又は他の反射面は、路面モデルとは逆の見かけ上の動きをもたらすことがよくある。さらに、自律運転又は支援運転を可能にするために路面をモデリングしながら危険を高速(例えば、リアルタイム)で検出する必要があるため、これらの路面検出が困難な場合に、ハードウェアに負担がかかる。
【図面の簡単な説明】
【0005】
必ずしも一定の縮尺で描かれていない図面において、同様の数字は、異なる図において同様の構成要素を説明し得る。異なる文字の接尾辞を有する同様の数字は、同様の構成要素の異なるインスタンスを表す場合がある。図面は、限定ではなく例として、本文書で議論する様々な実施形態を一般的に示す。
図1】車両環境の例のブロック図である。
図2】一実施形態による、カメラを用いた車両環境モデリングのためのシステムの例のブロック図である。
図3】一実施形態による、現在の画像及び以前の画像を示す図である。
図4】一実施形態による、路面のガンマモデルを生成するためのニューラル・ネットワークの例を示す図である。
図5】一実施形態による、機械学習(ML)ベースの垂直輪郭エンジンの例示的なディープニューラル・ネットワーク(DNN)を示す図である。
図6】一実施形態による、DNNの例示的なアーキテクチャを詳述する表である。
図7】一実施形態による、DNNのより複雑な例示的なアーキテクチャを詳述する表である。
図8】一実施形態による、DNNのより複雑な例示的なアーキテクチャを詳述する表である。
図9】一実施形態による、DNNトレーニングシステムの例を示す図である。
図10】一実施形態による、マルチモーダル損失関数適用エンジンの例を示す図である。
図11】一実施形態による、物体が動いているかどうかに関する決定を生成するニューラル・ネットワークの例を示す図である。
図12】一実施形態による、物体が動いているかどうかに関する決定を生成するための畳み込みニューラル・ネットワークの例を示す図である。
図13】一実施形態による、垂直輪郭検出エンジンを動作させるための方法の例を示すフロー図である。
図14】一実施形態による、MLベースの輪郭エンジンで使用するためにDNNを構成する方法の例を示すフロー図である。
図15】一実施形態による、自律型車両が道路に沿って移動している間の道路の垂直輪郭のリアルタイム測定のための方法の例を示すフロー図である。
図16】一実施形態による、道路の垂直輪郭を測定するために画像シーケンスに亘って残差フローを処理するための例示的な手法を示すフロー図である。
図17】一実施形態による、水たまり検出及び車両制御のための応答性意思決定のための方法の例を示すフロー図である。
図18】一実施形態による、垂直輪郭情報及び追加の水たまり検出基準に基づいて、1つ又は複数の水たまりの存在を計算により決定する方法の例を示すフロー図である。
図19】一実施形態による、自律型車両の現在の状況シナリオを計算により決定する方法の例を示すフロー図である。
図20】一実施形態による、水たまりの検出に応答するために選択されてもされなくてもよい、利用可能な運転応答解の計算評価のための方法の例を示すフロー図である。
図21】一実施形態による、自律型車両制御システムと共に使用するための、道路をプロファイリングするためのカメラベースの車両搭載システムを示す図である。
図22】一実施形態による、車両上の複数のカメラアレイを示す図である。
図23】一実施形態による、複数のカメラアレイによって取り込まれ得る視野の例を示す図である。
図24】一実施形態による、垂直輪郭検出エンジンの例を示すブロック図である。
図25】一実施形態による、プリプロセッサエンジンの例を示す図である。
図26】一実施形態による、カメラを用いた車両環境モデリングのための方法の例のフロー図である。
図27】1つ又は複数の実施形態を実現することができるマシンの例を示すブロック図である。
図28】一実施形態によるコンピュータ装置の例示的なハードウェア及びソフトウェアアーキテクチャを示す図である。
図29】一実施形態に従って使用され得る処理装置を示すブロック図である。
図30】一実施形態による中央処理装置の例示的なコンポーネントを示すブロック図である。
【発明を実施するための形態】
【0006】
様々な車両環境モデリング技術が、様々なセンサ構成と共に使用され得る。カメラ(視覚光スペクトル、赤外線(IR)等)を使用する場合に、センサはピクセルで構成される画像を生成する。色又は輝度等、ピクセルの様々な態様をモデリングに使用できる。一般に、動的環境をモデル化するには、画像シーケンス(a sequence of images)が使用される。このタイプのモデリングでは、連続する画像同士の間のピクセルの動きを追跡して、車両がどの様に動いているか、他の車両がどの様に動いているか、物体(例えば、人、動物、ボール等)がどの様に動いているか、道路の障害物等、環境の態様を推定する。
【0007】
画像を正規化された状態に変換し(例えば、カメラのレンズの歪みを補正するため)、ピクセルを順番に画像同士の間で整列させ(例えば、ホモグラフィ(homography)を介して後の画像と大きく一致するように以前の画像をワープする)、及び残りのピクセルの動き(例えば、残差の動き(residual motion:残差モーション))を測定する、反復プロセスを使用して、環境をモデル化できる。残差の動きμ次のように計算できる:
【数1】
ここで、H/Z項はガンマであり、平面(例えば、路面)の上のピクセルの高さHとピクセルのセンサまでの距離Zの比である。Tは、センサの順方向の並進(例えば、車両が画像同士の間でどれだけ移動したか)を表し、d’πは平面からのセンサの高さを表し、eはエピポール(epipole)情報(例えば、車両がどこを走行しているか)を表し、p はホモグラフィベースのワーピングの適用後のピクセルの対応する画像座標を表す。
【0008】
残差の動きを計算するいくつかの追加の詳細を以下に説明する。ただし、直接ピクセルマッチングを使用する場合に、いくつかの困難がある。例えば、路面に投影される可能性のある多くのものは、影又は反射パッチ(例えば、水たまり)等、路面を表さないことがある。フィルタリング技術を使用してこのノイズを減らすことができるが、より優れたソリューションには、画像シーケンスからガンマを直接計算するようにトレーニングされた人工知能(例えば、機械学習システム、人工ニューラル・ネットワーク(ANN)、ディープANN(DNN)、畳み込みANN(CNN)等)が含まれる。これは、路面イメージングにおける一般的なノイズの問題に対する堅牢なソリューションを伴う。さらに、そのようなシステムは、センサの動き又はエピポール情報を受け入れて、そのガンマ結果をさらに向上させることもできる。ガンマから、道路平面の上のピクセルの高さ及びそのピクセルまでの距離を決定できる。そのような路面モデリングは、例えば、ポットホール(pothole)を回避したり、又は減速バンプ(speed bump)のためにサスペンションを調整したりするのに役立ち得る。センサデータからガンマを(例えば、ANNによって)直接決定することは、2次元(2D)オプティカルフロー(optical flow)を使用して残差フローを確認する、又はANNを使用して平面の上の高さ及びピクセル技術のセンサまでの距離を決定する等、他の技術よりも優れている場合がある。何故ならば、それは、エピポーラ拘束を強制するためである。さらに、1つのガンマを使用して、そのポイントの全ての画像を位置合わせ(例えば、ワープ)することができる。ANNが、ポイントの深さ又は高さを直接決定するようにトレーニングされ得るが、ガンマにはいくつかの利点がある。例えば、平面からの高さの著しい変化はカメラからの深さの相対的な小さな変化につながる可能性があるため、ガンマ計算は深さよりも安定している。また、H及び基準面を指定すると、深度Zを計算してから残差フローを計算できるが、これは、ANNが同じ結果を得るためにより多くのデータを処理するため、複雑さが増す。これは、平面モデルで画像を事前にワープし、入力としてエゴモーション(ego-motion: EM)(例えば、エピポールe及びT/d’π等のセンサ又は車両の動き)を提供するためでもある。
【0009】
一例では、ネットワークは、ガンマの代わりにZ又はHを計算するように、同様の技術を用いてトレーニングしてもよい。この例では、ホモグラフィ平面入力パラメータをANNに提供できる。例えば、平面は、水平線(例えば、平面の消失線)及び平面までの距離として規定してもよい。線は一対の距離画像として提供され得、平面までの距離が一定の画像として提供される。これは、エピポール及びTが上記の入力として提供される方法に似ている。一例では、入力画像は、回転のみを考慮して(例えば、無限大の平面を使用するホモグラフィを用いて)整列され、Zを計算する。
【0010】
一例では、画像全体のガンマを計算し、次に(例えば、サスペンション制御のために)特定の経路に沿ったガンマのみを使用する代わりに、ANNは、指定された経路に沿ったガンマのみを生成するようにトレーニングされ得る。これは、例えば、出力がサスペンション制御等の車両用タイヤに適用可能なものにのみ使用される場合に、逆畳み込み(deconvolution)演算が計算的に高価になる可能性があるため、計算的により効率的である。経路の識別(例えば、経路に対してのみガンマを生成する)は、いくつかの方法で実装できる。例えば、ANNの推定段階で経路を入力として与えてもよく、ANNは、経路に沿った値のみを出力するようにトレーニングされている。一例では、完全なANNは、上述したようにガンマを生成するようにトレーニングされ得る。推定中に経路が与えられると、経路の展開段階でどの(逆)畳み込みが必要で、それらのみに適用するかについての決定が行われる。例えば、出力の行全体のガンマ値を決定するには、行全体に沿った畳み込みが必要である。ただし、行のみの出力セグメントの場合に、逆畳み込みはそのセグメントに対応する特定の範囲でのみ実行する必要がある。
【0011】
加えて、異なるようにトレーニングされた類似の構造化されたANNは、物体を移動している又は移動していないとして分類することもできる。移動/非移動の分類を使用して、例えば、事故回避行動をより適切に選択するようにホスト車両の能力を向上させることができる。この場合にも、入力画像を直接使用して、特徴の残差の動きを識別し、結果を決定する。追加の詳細及び例を以下で説明する。
【0012】
図1は車載カメラの例示的な視野100を示す図であり、その視野100には、様々な物体が存在する。図示されるように、視野100には、窪み104A(例えば、ポットホール、格子、窪み等)又は突起104B(例えば、減速バンプ、縁石、破片等)等の1つ又は複数の表面特徴104を有し得る路面102が含まれる。視野100には、影106、反射面108(例えば、水たまり、氷等)、歩行者110、又は別の車両112も含まれ得る。表面特徴104をモデル化することにより、車両がそれらを回避し、運転者に警告し、又はそれらをよりよく処理するためにそれ自体を調整する(例えば、車両のサスペンションを調整して、窪み104Aを横断する)ことができる。移動している、又は移動する可能性のある歩行者110又は車両112を理解してモデル化すると、同様に、車両制御の変更又は運転者への警告により、衝突を回避したり、又はそれらとの望ましくない相互作用(例えば、水たまり108走行することによる歩行者110への水の飛び跳ね)さえも(減速、又は走行経路の調整、停止等により)回避又は軽減したりできる。
【0013】
道路モデリングのこれらの要素は全て、本明細書で説明する装置及び技術によって対処されるいくつかの課題を提示し得る。例えば、影106は、路面ポイント追跡のためのノイズである。水たまりからの反射は、下にある路面をぼやけさせてポイント追跡を損なうだけでなく、他の場所でのピクセルの動きに反する、画像同士の間のピクセルの動きを実際に示すことがよくある。
【0014】
図2は、一実施形態による、カメラ202を用いた車両環境モデリングのためのシステム208の例のブロック図である。システム208は、車両204に取り付けられる。一例では、システム208は、カメラ202又は他のセンサに統合される。一例では、システム208は、カメラ202又は他のセンサ(例えば、車両204のインフォテインメントシステムの一部)から分離される。ここでは、例として、フロントガラスに取り付けられた前方カメラとしてカメラを示している。しかしながら、本明細書で説明する技術は、車両の内側又は外側に取り付けられた後向きカメラ又は側(横)向きカメラに等しく適用される。そのような例の1つは、屋根のコーナーの外側に取り付けられたカメラであり、その視野は、前方にあり、少し側方を向いている。
【0015】
システム208は、カメラ202から得られた画像によって車両環境モデリングを実行する処理回路を含む。車両環境モデリングは、路面206、障害物、妨害物、及び移動体(例えば、他の車両、歩行者、動物等)のモデリングを含み得る。これらのモデルは、車両204の動作パラメータを調整するためにシステム208によって直接、又は別の管理システムを介して使用され得る。モデリングを実行するために、システム208は、路面206を表す時間順に並べられた画像シーケンスを取得するように構成される。画像シーケンスのうちの1つの画像が現在の画像(例えば、カメラ202で撮影された最後の画像)である。
【0016】
システム208は、データセットを人工ニューラル・ネットワーク(ANN)に提供して、ガンマ画像を生成するように構成される。ここで、ガンマ画像のピクセルは、ポイントのガンマ値である。他で言及されるように、ガンマ値は、平面の上のポイントの高さを現在の画像を取り込むセンサからの距離で割った比である。また、ここでは、平面は路面206を表す。
【0017】
以下では「ガンマ画像」が使用されるが、他のデータフォーマットを使用して、シーン内のガンマを表すことができる。こうして、ガンマは、ラスター形式でなくてもよく、センサデータを介してガンマ値を表面に相関させることができる任意の形式(例えば、値からポイントへのガンママップ)でもよい。まとめると、これらの様々なデータ構造は、ガンマモデルと呼ばれ得る。
【0018】
一例では、データセットは画像シーケンスの一部を含む。ここでは、画像シーケンスの一部には現在の画像が含まれる。データセットには、センサ202の動き(例えば、センサ運動情報)及びエピポール(例えば、エピポール情報)も含まれる。一例では、画像シーケンスの一部には、現在の画像の直前の画像が含まれる。一例では、画像シーケンスの一部は合計で3つの画像である。一例では、シーケンスは任意のn個の画像を含むことができ、ここで、Nは1より大きい整数である(すなわち、{n∈I|n>1})。一例では、シーケンス内の画像は、連続的に取り込まれた画像であり得る。一例では、元のフレームのシーケンスからのいくつかのフレームは、データセットで使用される画像シーケンスを生成するプロセスで省略される場合がある。
【0019】
一例では、エピポールは、現在の画像と同じ次元(おそらくより高い又はより低い解像度ではあるが)のグラデーション画像として提供される。ここで、グラデーション画像のピクセルの値は、現在の画像のピクセルのエピポールからの距離を表す。一例では、グラデーション画像は、エピポールからの水平(例えば、x軸)距離のみを表し、第2のグラデーション画像は、エピポールからの垂直(例えば、y軸)距離を表すためにANNに提供される。
【0020】
一例では、センサ206の動きは、現在の画像と同じ次元性(おそらくより高い又はより低い解像度ではあるが)を有する一定値の画像として提供される。一例では、一定値は、センサ206(例えば、z軸)の前進運動を平面206からのセンサ202の高さで割った比である。
【0021】
一例では、ANNは、畳み込みニューラル・ネットワーク(CNN)である。一例では、センサ206の動き及びエピポールは、ボトルネック層でCNNに提供される(例えば、図5に関する以下の説明を参照)。
【0022】
一例では、ANNは、教師なしのトレーニング手法でトレーニングされ、この手法では、エラーが、未来の画像のモデルと実際の未来の画像との間の差を測定することによって決定される。ここで、未来の画像のモデルは、未来の画像より前の画像のガンマ・ワーピングによって生成される。こうして、この例では、推定されるガンマ値を使用して、未来の画像がどのようになるかを予測する。未来の画像と比較するときに、モデルからの逸脱を使用して、ANNを修正する。
【0023】
一例では、ANNは、教師なしのトレーニング手法でトレーニングされ、この手法では、エラーが、ある位置の予測ガンマとその位置でのセンサ202の動きとの間の差を測定することによって決定される。こうして、ガンマが予測され、センサ202又は車両204のエゴモーションを使用して、ガンマ推定が正しかったか(又は、推定がどれほど間違っていたか)を判定する。この例では、ANNが路面206の傾斜を予測し、車両が後でそのような傾斜を検出しない場合に、トレーニングは、傾斜を予測した推定を修正する。一例では、センサの動きは、平面に垂直なピッチ、ヨー、ロール、又は並進のうちの1つ又は複数を含み得る。
【0024】
一例では、ANNは、教師なしのトレーニング手法でトレーニングされ、この手法では、エラーが、2つの異なる時間における2つの画像の間の重複するセグメントのガンマの差によって決定され、推定は第1の画像に対して実行され、重複するセグメントは、第2の画像においてセンサ202に近くなる。こうして、トレーニング中に、車両204が後で横断する表面206のビューを伴う画像は、以前の画像である。重複するセグメントのガンマ値は、ANNによって推定され、未来の画像で同じセグメントのガンマ値を計算することによってチェックされる。センサ202が特徴(例えば、未来の重複するセグメント)に近い場合に、システムのガンマの推定値は、おそらくより良くなり、ANNをトレーニングするために損失関数で使用できる。こうして、現在のトリプル(triple)の画像から推定されたガンママップは、現在のガンママップに向けてワープされた未来のトリプルの画像から推定されたガンママップと比較される。ANNをトレーニングするときの損失の一部として、2つのガンママップの間の比較値(最も近い表面ポイントまでの差又は距離等)が使用される。
【0025】
システム208は、ガンマ画像を用いて路面206をモデル化するように構成される。一例では、路面のモデリングには、路面特徴の平面からの垂直偏差の計算が含まれる。一例では、路面のモデリングには、画像シーケンス内の特徴の残差の動きの計算が含まれる。ここで、特徴の残差の動きは、ガンマ値、センサ206の動き、及びエピポールの積である。
【0026】
一例では、路面のモデリングには、ガンマ値を用いて以前の画像を現在の画像にワープすることが含まれる。ガンマベースのワーピングは特に正確である。これは、画像内のそれら特徴のピクセルの一時的又は複雑なカラーバリエーションを一致させるよう試行するのではなく、ガンマによって、センサ202からの距離及び路面206の上の高さに基づいて画像同士の間で特徴を一致させることができるためである。
【0027】
一例では、路面のモデリングには、ガンマワープ画像から反射領域を特定することが含まれる。ここでは、反射によって画像内の他の物体とは異なる動作をする視覚情報が生成されるため、ガンマワープの精度により、水たまり等の反射領域を特定できる。例えば、車両が近づくにつれて、ポールの上部はポールの下部よりもセンサ202に向けてより速く移動するように見えるかもしれないが、ポールの多くの反射は反対を示すように見えるだろう。こうして、トレーニングされたANNは、ピクセルを非反射の運動と一致させ、反射領域を無視する。これは、その中のピクセルの動きが他のピクセルの動きに適合しないためである。この挙動により、反射面に亘ってフラットなガンマが生じる。ガンマワープ画像のフラットなガンマの隣接する領域は、反射領域として特定され得る。
【0028】
一例では、路面のモデリングには、ガンマ値を用いてワーピングに続く残差の動きの連続領域によって反射領域を特定することが含まれる。ガンマワープを用いた後に、残りの残差の動きは、このユニークな挙動を示すそのような領域に限定される。一例では、そのような残差の動きの領域を使用して、別の車両、歩行者、動く破片等による動きを決定してもよい。
【0029】
一例では、追加のANNは、その損失関数に写真測量的制約を使用してトレーニングすることができるのに対し、第1(最初)のANNの損失関数ではトレーニングするときに主に幾何学的制約が使用され得る。上記のように、第1のANNは一般に、主に幾何学的制約でトレーニングした後に反射面の動きを無視する。ただし、写真測量的制約が反射面の動きを説明するためにトレーニング中に追加のANNを調整するため、追加のANNはそのような無視をしない。こうして、一例では、第1のANN及び第2のANNから生成されたガンマを比較すると、2つのガンママップが一致しない(例えば、しきい値を超える)反射面を明らかにすることができる。
【0030】
一例では、システム208は、特徴の残差の動きに対して第2のANNを呼び出して、特徴が路面206の環境内で動いている物体又は動いていない物体を表すかどうかを決定するようにさらに構成される。一例では、第2のANNには、現在の画像、少なくとも1つの以前の画像、及びターゲット識別子が提供される。ターゲット識別子は、車両識別システム等の別のシステムによって提供してもよい。一例では、ターゲット識別子は、エピポール情報について上述したグラデーション画像と同様に、画像のピクセルがターゲットの中心からの距離を示す1つ又は複数の画像である。一例では、ターゲット識別子には、ターゲットのサイズが含まれる。一例では、ターゲットのサイズは一定値の画像(例えば、上記のセンサの動きの情報画像と同様)である。一例では、ターゲット識別子は、ターゲットに対応するピクセルのマスクである。そのような第2のANNの例は、図11及び図12に関して以下で説明する。
【0031】
図3は、一実施形態による、現在の画像304及び以前の画像302を示す。2本の線306及び308が、現在の画像304のタイヤの下部と減速バンプの上部とに配置されている。線306が以前の画像302のタイヤとどのように位置合わせされているかに注意されたい。線の両側矢印は、縁石の固定端に対する線の動きを示す。同様に、線308は、減速バンプの上部が以前の画像302と現在の画像304との間で移動したことを示している。画像302が画像304にワープされると、画像の静止特徴は一致するが、車両の下部は移動する。
【0032】
図4は、一実施形態による、路面のガンマモデル414を生成するためのニューラル・ネットワーク412の例を示す。図5図10は、412のようなニューラル・ネットワークのいくつかの追加の詳細及び例を示す。ただし、概要として、各ピクセルの残差の動きは、以下のように、ガンマ、センサ(例えば、車両)モーション、及びエピポール情報の3つの部分で構成される。
【数2】
エピポール情報は、ホモグラフィp 及びエピポールeの後の画像座標に依存する。これは、センサのエゴモーション(EM)が与えられた各ピクセルに対して計算できる。センサの動きの情報は、前進運動Tと平面からのセンサの高さd’πとに依存する。これは画像全体で固定される。
【0033】
ガンマは、平面の上のポイントの高さH及びセンサからそのポイントまでの距離Zによって、各ピクセルにおけるシーンの構造を記述する。こうして、センサの動き情報及びエピポール情報が与えられると、ニューラル・ネットワーク412はガンマモデル414を決定し、各ポイントの残差モーションを計算して、1つの画像を別の画像にワープさせることができる。
【0034】
正確なガンマモデル414が与えられると、画像ワーピングは非常に正確となり、多くの場合に、各ピクセルの距離及び高さのために、画像が静止シーンのものであるかのように振る舞う。古典的な手法では、最初に残差フローが計算され、次に、エピポール情報及びセンサの動き情報を削除してガンマが計算されていた。ガンマから、ポイントの高さ及び距離が1つ又は複数のトラック(例えば、タイヤ経路)に沿って計算されていた。しかしながら、上記のように、路面画像におけるノイズの変化する程度は、残差の動きの直接の検出を時々問題にさせていた。
【0035】
画像からガンマを直接計算するようにニューラル・ネットワーク412をトレーニングすることは、画像に見られるノイズに対する強力なカウンタ(対抗策)を提供する。こうして、現在の画像402、ホモグラフィを用いてワープされた1つ又は複数の以前の画像404、及びエゴモーション410とエピポール(例えば、平面)パラメータ(画像406及び408)を入力として与えると、ニューラル・ネットワークはガンマ値414の画像を出力として生成する。図示されるように、ガンマモデル414のシェーディングが明るいほど、ガンマ値は低くなる。また、車両は、ニューラル・ネットワーク412をトレーニングするための損失計算から除外される。これは、トレーニング中に車両の動きが近くのガンマ値に影響を与えるのを防ぐために行われるが、車両は、一般的に推定中にマスクされない。一例では、車両又は他の移動物体は、トレーニング中にニューラル・ネットワーク412の損失関数からマスクされない。
【0036】
図示されるように、エピポール情報及びセンサ運動情報は、画像(例えば、値のラスター)として提供される。センサ運動情報画像410は、一定値の画像である(例えば、全てのピクセルは同じ値を有する)。エピポール情報は、水平方向(例えば、x)406及び垂直方向(例えば、y)408のエピポールまでの距離のピクセル値をそれぞれ有する2つの画像によって表される。エピポール情報を2つの値ではなくグラデーション画像として提供することは、畳み込みニューラル・ネットワーク(CNN)を使用するときに役立つ。CNNでは、同じフィルタバンクが画像402全体に亘って実行され、各画像領域は、それがエピポールとの関係でどこにあるかを伝えられなければならない。グラデーション画像406及び406を用いることにより、フィルターは、各畳み込みに関するエピポール情報を有する。
【0037】
図5は、MLベースの輪郭エンジンの例示的なDNN500を示す図である。一例では、図示されるように、DNN500は、畳み込み、活性化、正規化、及びプーリング層を含み得る様々な動作層(operational layers)を有する畳み込みネットワーク部分502を含む。内積層等の他の動作層をさらに含めることができる。一例では、DNN500は、逆畳み込み(例えば、転置された畳み込み)、活性化、正規化、及び非プーリング層を含む逆畳み込み部分504をさらに含む。
【0038】
一例では、前処理した画像530のセットは、畳み込みネットワーク部分502への入力506として提供される。各層は特徴マップを生成し、この特徴マップは、次に、順方向伝播経路508に沿った更なる処理のために次の層に渡される。図示されるように、畳み込みネットワーク部分502の動作は、畳み込み順方向伝播経路508Aに沿った特徴マップのチャネル数(次元)を増大させながら、特徴マップの解像度を徐々に低下させるように動作する。逆畳み込みネットワーク部分504の動作は、逆畳み込み順方向伝播経路508Bに沿ってそれらの次元を減少させながら、特徴マップの解像度を徐々に高めるように動作する。
【0039】
一例では、順方向伝播経路508に加えて、1つ又は複数のバイパス経路510を提供して、それら前の層と後の層との間に位置する1つ又は複数の中間層をスキップしながら前の層から後の層への特徴マップの通過を容易にすることができる。一例として、バイパス経路510は、畳み込みネットワーク部分502の層と、逆畳み込みネットワーク部分504の同様に次元化された層との間で特徴マップを通過させることができる。
【0040】
「ボトルネック」ネットワーク部分512は、畳み込みネットワーク部分502と逆畳み込みネットワーク部分504との間に位置する。一例では、ボトルネック・ネットワーク部分512は、他の層と比較して比較的低い解像度及びより高い次元を有する1つ又は複数の層を有する。一例では、ボトルネック部分512は、画像形式の(image-formatted)動きマーク526及び画像形式のエピポール位置データ528を受け入れるように構成された入力514を含む。
【0041】
一例では、DNN500は、前処理した画像530の現在の(最新の)画像に対応するガンマ値のピクセル毎(単位)のマッピングとして道路構造532を生成するようにトレーニングされる。DNN500の出力としての道路構造532は、前処理した画像530と同じ又は異なる解像度であり得る。例えば、道路構造532の解像度は、係数、つまり0.25、0.5、1、1、1.5、2、又は他のスケーリング係数によってスケーリングしてもよく、係数は、整数値又は非整数値であり得る。
【0042】
別の例では、道路構造532は、前処理した画像530の現在の画像の一部に対応し得る。例えば、道路構造532は、路面を表さない部分をいくつか省略した視野100(図1)のトリミングされた画像に対応し得る。
【0043】
特に、道路構造532のピクセルにおけるガンマ値は、無次元値である。一例では、DNN500は、その出力として、地平線より上のポイントに対するZ/δZ等の他の無次元値のマッピングを生成する。ガンマの値が分かっている場合に、距離Z及び路面の高さHは、
【数3】
の関係を用いて回復できる。ここで、N’はN転置であり、(x,y)は画像座標であり、fは焦点距離である。
DNNトレーニングエンジン550は、DNN500をトレーニングして、トレーニングデータのセットに基づいて道路構造532の正確な決定を生成するように構成される。図9は、DNNトレーニングシステム550をより詳細に示す図である。図示されるように、DNNトレーニングシステム550は、DNN500と同じ又は同様のアーキテクチャを有するDNN902、及びマルチモーダル損失関数適用エンジン950を含む。
【0044】
図6は、一実施形態による、DNNの例示的なアーキテクチャを詳述する表である。示されるように、各層は、その動作タイプ、接続(入力0、入力1、及び出力0として示される)、出力チャネルの数、及び畳み込み/逆畳み込みアーキテクチャ(カーネルの幅及びステップを含む)だけでなく、活性化関数、及び正規化タイプに関して説明される。特に、入力/1列に第2の入力が示されている層、及び識別された第2の入力ソースには、バイパス接続がある。
【0045】
図6のDNNの層1への入力には、入力/0列に「images」として示される、前処理した画像のセットが含まれる。入力/1列の「epipole/motion」で示されるように、画像形式のエピポールマーク及び画像形式の動きマークが層8に入力される。
【0046】
図7図8は、一実施形態による、DNNのより複雑な例示的なアーキテクチャを詳述する表である。画像は、入力/1列の「images」で示されるように、層1のDNNに入力される。入力/1列の「epipole/motion」で示されるように、画像形式のエピポールマーク及び画像形式の動きマークが層9に入力される。いくつかの層(層44及び49)には、バイパス接続用の第3の入力があり、入力/2列で表される。加えて、図7図8のDNNの例の特定の層は、層22、28、34、42、47、及び52等のサイズ変更操作(resize)を実行する。特に、層52は、特徴マップを前処理した画像330と同じサイズにサイズ変更する。
【0047】
図9は、一実施形態による、DNNトレーニングシステムの例を示す。ここで、マルチモーダル損失関数適用エンジン950は、トレーニングデータ930を入力としてDNN902に供給するように構成される。トレーニングデータ830は、1つ又は複数の車載カメラによって取り込まれる画像フレームの様々なシーケンスを含み得る。画像フレームは、例えば、様々な照明及び気象条件の下で、様々な道路で、様々な地理的場所で取り込まれたビデオ映像を含み得る。
【0048】
トレーニングデータ930は、トレーニングデータ930のそれぞれの部分に対応する画像形式の動きマーク926及び画像形式のエピポールマーク928を伴ってもよい。画像形式の動きマーク926及び画像形式のエピポールマーク928は、DNN902の構造的及び動作的配置と一致するように、トレーニングデータ930の画像フレームの入力層とは異なる入力層に供給され得る。入力は、順方向伝播経路908に沿ってDNN902を通って進み、DNN902の出力として道路構造932を生成する。
【0049】
DNN902は、最初に、計算パラメータのランダム化された値(例えば、重み、バイアス等)で構成してもよい。トレーニングプロセスは、計算パラメータの値を調整して、DNN902の出力、道路構造932を最適化するように機能する。マルチモーダル損失関数適用エンジン950は、パラメータ最適化を実行するように構成される。一例では、複数の異なる損失関数を使用して、DNN902の出力の精度を決定する。マルチモーダル損失関数適用エンジン950は、DNN902の様々な層の計算パラメータ調整値920を生成し、これらは、逆方向伝播経路910に沿った逆伝播を用いて確立される。
【0050】
一例では、DNN902の様々な層の計算パラメータ調整値920が、収集され、計算パラメータデータ構造925に格納され、これは、DNN902のトレーニング結果を規定する。一例では、計算パラメータデータ構造925は、(例えば、DNNトレーニングシステムの出力の一部として)垂直輪郭検出エンジンに渡され、そこで、そのデータ構造925は、MLベースの輪郭エンジンを構成するための計算パラメータとして格納される。一例では、推定エンジントレーニングは、現在のトリプレットと未来のトリプレットとの両方で実行され、出力_現在及び出力_未来をそれぞれ生成する。幾何学的損失は、出力_現在からの他の損失と組み合わされ、ネットワークの重みを調整するために逆伝播され、幾何学的損失なしの出力_未来からの損失も重みを調整するために伝播される。一例では、出力_未来の幾何学的損失は無視され、出力_現在のみがトレーニングに使用される。
【0051】
図10は、一実施形態による、マルチモーダル損失関数適用エンジン1050の例を示す。図示の一例では、マルチモーダル損失関数適用エンジン1050には、4つの異なる損失関数トレーニングエンジン:写真測量的損失関数トレーニングエンジン1004、予測画像写真測量的損失関数トレーニングエンジン1006、EM損失関数トレーニングエンジン1008、及び地理的損失関数トレーニングエンジン1010が含まれる。さらに、マルチモーダル損失関数適用エンジン1050には、逆伝播エンジン1012及びトレーニングデータストア1020が含まれる。損失関数トレーニングエンジン1004~1010は、対応する参照基準に対して道路構造1032を比較するように構成され、参照基準は、従来の「グラウンドトゥルース(ground truth)」値の代わりに、道路構造1032の精度のエラー又は損失を確認するために使用される。
【0052】
一例では、(従来の教師あり機械学習システムにおけるような)実際のグラウンドトゥルースデータは使用されない。代わりに、トレーニングデータの画像が、画像に対応するエゴモーション、カメラの高さ、エピポール等の追加の利用可能なデータ共に処理され、損失関数の評価の参照基準が生成される。ある意味では、参照基準がトレーニングデータに基づいているため、これは一種の教師なし学習と見なすことができる。
【0053】
一例では、グラウンドトゥルースデータは、トレーニングデータに利用可能である。例として、グラウンドトゥルースデータは、3次元イメージング又はスキャン測定(例えば、立体イメージング、LiDARスキャン等)等の追加の測定モダリティによって提供され得る。従って、1つ又は複数の損失関数は、あるタイプの教師あり学習を提供するために実際のグラウンドトゥルースに基づいている場合がある。
【0054】
損失関数トレーニングエンジン1004~1010はそれぞれ、DNNをトレーニングするために使用される全体的な損失関数の構成要素に寄与することができる。逆伝播エンジン1012は、勾配降下法を用いて、それぞれの動作パラメータの調整の方向を決定するために、可変計算パラメータ(例えば、重み、バイアス)に関して全体的な損失関数の偏導関数を計算するように構成され得る。逆伝播エンジン1012は、更新された計算パラメータ値を、逆伝播経路に沿った各連続層に適用することができる。トレーニングデータストア1020は、DNNの適切な入力層に適用されるトレーニングデータ、画像形式の動きマーク、及び画像形式のエピポールマークを含むことができる。一例では、損失関数は、そのようなプリミティブの複雑な組合せを含むテンソルフロープリミティブ関数に関して規定される。この方法で損失が規定されると、テンソルフローを使用して偏導関数を計算できる。
【0055】
写真測量的損失関数トレーニングエンジン1004は、順方向伝播経路でDNNに提供されたトレーニングデータからの画像フレームのセットに基づいて、参照基準を生成するように構成される。画像のトリオ(現在、以前、及びさらに以前(previous-previous))がDNNへの入力として使用される一例では、道路構造1032として生成されたガンママップを使用して、以前の画像及びさらに以前の画像を現在の画像にワープする。ワープした各画像は、残差フローを補償するように修正され、実際の現在の画像と比較される。
【0056】
残差フロー補償は、以下に従って決定され得る。
【数4】
ここで、μは残差フローを表し、γ(ガンマ)は道路構造であり、T/camHという用語は、順方向のエゴモーションをカメラの高さで割ったものを表し、用語(p-e)は、路面の平面を記述する。
【0057】
画像比較は、正規化相互相関、合計絶対差(SAD)、又はバイナリ記述子距離等の適切な技術を用いて計算することができ、これは、以下に従って、各ピクセルを取り囲む画像のパッチに適用することができる。
【数5】
ここで、Icurrはワープされていない現在の画像であり、Iはガンマワープされ、残差フロー補償済みの以前の(又は、さらに以前の)画像であり、Ibaselineはワープ前の以前の(又は、さらに以前の)画像である。一例では、物体検出(例えば、車両検出、自転車/歩行者検出)を使用して、移動する物体を損失関数からマスクし、比較される画像同士の間の検出される動きを低減する。画像比較は、画像同士の間のグレーレベル比較を含み得る。
【0058】
一例では、写真測量的損失関数トレーニングエンジン1004は、道路特徴及び非道路特徴に対応する画像比較の部分に可変の重み付けを適用する。従って、非道路の部分で見られる比較される画像同士の間の差の程度は、割り引かれ得る。
【0059】
予測画像写真測量的損失関数トレーニングエンジン1006は、(DNNが道路構造1032を生成するために使用した画像を使用することに加えて、)1つ又は複数の「未来」又は「過去」の画像が画像比較処理に含まれることを除いて、写真測量的損失関数トレーニングエンジン1004と同様の画像ワーピング、補償、及び比較技術を実行するように構成される。「未来」の画像は、DNNのトレーニングに使用されている現在の画像セットよりも後に取り込まれた画像であり、「過去」の画像は、以前に取り込まれた画像である。従って、未来の画像の場合に、予測画像写真測量的損失関数トレーニングエンジン1006によって提供される損失関数成分は、実行時に利用できないトレーニングデータを使用する。特に、計算された推定は、推定が入力として認識しない画像に対して機能するガンマを生成する。
【0060】
EM損失関数トレーニングエンジン1008は、道路構造1032を、道路構造1032に対応する道路の一部の上での車両の通過を表す「未来」のエゴモーションと比較することに基づいて、損失関数成分を生成するように構成される。一例として、道路構造832にいかなる隆起又は穴の指標もない場合に、道路の隆起又は穴を示すエゴモーションは損失である。一例では、上向き又は下向きの曲率を使用してもよい。一例では、EMは、20mを超えて(例えば、50mまで)延長され得る。これは、DNNが、道路の一部が離れすぎて残差フローを計算できない場合でも、道路構造から表面の長距離形状を適切にモデル化するのに役立ち得る。同様に、隆起又は穴に対応するエゴモーションがないことは、道路構造1032がその場所(特に、車両のホイールの経路)にある隆起又は穴を予測する一方で、損失を構成する。
【0061】
一例では、0.5Hzの周波数を有するローパスフィルタ又は減衰ばねモデルが道路構造1032に適用され、車両が道路の地形を通過する際の車両のサスペンションの減衰効果をモデル化する。別の例では、車両のサスペンション状態が利用可能な場合に、サスペンション情報がエゴモーションと一緒に考慮され、車両のホイールの垂直方向の動きをより正確に測定する。
【0062】
幾何学的損失関数トレーニングエンジン1010は、「未来」の画像フレーム及び対応する「未来」のエゴモーションを含む「未来」のトレーニングデータの1つ又は複数のセットを用いて損失関数成分を生成するように構成される。「未来」の画像フレームは、入力として使用される現在の画像フレームよりも前の規定された距離又は時間ステップで(現在の画像フレームよりも遠くに、つまり後で取り込まれた)取り込み画像を表す。例えば、「未来」の画像フレーム及びエゴモーションは、トレーニングデータの取り込み画像の次のトリオに対応し得る。別の例では、「未来」の画像フレーム及びエゴモーションは、車両の位置から5メートル、20メートル、又は他の規定された距離に対応する。
【0063】
参照基準は、DNNを用いて計算される「未来」の道路構造(例えば、ガンママップ)に基づいている。幾何学的損失関数トレーニングエンジン1010は、「未来」のエゴモーションを使用して、「未来」の道路構造を現在の道路構造832にワープするか、又は「未来」のエゴモーションを用いて現在の道路構造1032を「未来」の道路構造にワープする。
【0064】
一例では、「未来」の道路構造は現在の道路構造1032にワープされ、それらの間で第1の比較が行われ、現在の道路構造1032は「未来」の道路構造にワープされ、それらの間で第2の比較が行われる。第1及び第2の比較の結果を組み合わせて(例えば、平均化して)、集約された比較を生成することができ、次にこれを使用して、幾何学的損失関数トレーニングエンジン1010のための損失関数を決定する。
【0065】
複数のカメラ及び重複する視野が使用される一例では、複数のビューからの関連画像を使用して、幾何学的損失関数トレーニングを達成することができる。例えば、「未来」の左及び中央の画像(時間t3)は、時間t3からのガンマワープ画像が測光的に時間t2の中央画像と同様であるという要件で処理してもよい。未来の2組の画像を使用して、カメラの動きを補正した後に、それらの画像から推定されるガンマが、時間t1及びt2の画像を用いて導出されるガンマに類似するという条件を設定できる。一例では、中央メインカメラは、車両ルーフの左又は右コーナーに取り付けられ、前方及び側方を向く1つ又は複数のカメラと共に使用することができる。これらのサイドカメラの視野は90度よりも広い場合がある。右カメラの視野は、メインカメラの右視野と大幅に重なり、且つ後方に広がる視野を有してもよい。左カメラの視野は、メインカメラの左視野と大幅に重なり、且つ後方に広がる視野を有してもよい。カメラのこの配置は図22に示されており、ここで、カメラ2212Bはメインカメラであり、カメラ2212A及び2212Cはそれぞれ左側及び右側カメラである。一例では、コーナーカメラからの画像をトレーニング段階で使用して、推定段階では使用されない損失関数を計算することができる。
【0066】
2つ以上の損失関数トレーニングエンジン1004~1010によってもたらされる損失関数成分は、逆伝播エンジン1012によって、例えば計算パラメータ調整値を生成する勾配降下手法を用いて、DNNをトレーニングするために使用される集約されたマルチモーダル損失関数に結合される。
【0067】
図11は、一実施形態による、物体が動いているかどうかに関する決定を生成するニューラル・ネットワーク1112(例えば、DNN)の例を示す。ニューラル・ネットワーク1112は、ニューラル・ネットワーク412等の上記のニューラル・ネットワークと同様に動作する。ニューラル・ネットワーク1112への入力には、現在の画像1102、1つ又は複数の以前の画像1104、ターゲット位置、及びターゲットサイズが含まれる。図11で説明した例は、ニューラル・ネットワーク1112を使用してターゲットが動いているかどうかを判定しているが、一例では、動いているターゲットは、上述したネットワーク412からのガンマを用いてガンマ整列を使用し、ヒューリスティック手法で残差の動きを測定することによって決定することができる。例えば、車両又は車両のホイール等の既知のタイプのターゲットのベースで残差の動きが検出された場合に、それは、車両が動いていると結論付けることができる。
【0068】
図示されるように、ターゲット位置及びサイズが画像として入力される。ターゲット位置には、ピクセル値がターゲットの中心からの距離を表す2つのグラデーション画像が含まれる。ここで、水平方向グラデーション画像1106(例えば、位置x又はP)及び垂直方向グラデーション画像1108(例えば、位置y又はP)は、ニューラル・ネットワーク1112へのターゲット位置入力を構成する。これらの画像は、ターゲットに対するグラデーションの関係を示すようにターゲットの輪郭を含む。ここでは、ターゲットサイズは、全てのピクセルがターゲットのサイズを表す同じ値(例えば、一定値の画像)を有する画像として表される。一例では、マスク1116(例えば、テンプレート)を使用して、ターゲットを識別することができる。一例では、マスクは、グラデーション画像1106及び1108の1つ又は複数、又はサイズ画像1110を置き換える。マスクを使用すると、例えば、単一のターゲットの場合にューラル・ネットワーク1112によって処理される画像データの量を減らすことができる。複数のターゲットがある場合に、マスクにより入力画像の同じ部分を複数回処理する可能性があるが、例えば、マスクが後段の畳み込み推定チェーンで使用される場合に、これは軽減される可能性がある。
【0069】
ニューラル・ネットワーク1112の出力1114は、例えば、ターゲットが移動しているか、移動していないか、又は「多分」移動しているかのカテゴリラベルであり、後者(「多分」移動している)は、例えば物体が信頼しきい値で移動しているかどうかを判定できないことを表す。一例では、カテゴリラベルは実数値のスコアであり、ここで、大きい値(例えば、第1のしきい値を超える)は移動していることを示し、低い値(例えば、第2のしきい値を下回る)は移動していないことを示し、第1のしきい値と第2のしきい値との間は多分移動していることを意味する。出力1114は、1つのターゲット推定に対する単一の値であるか、又は複数のターゲットに対する(図示されるように)ベクトルであり得る。
【0070】
複数のターゲットを一度に処理するために、ベクトルの出力を生成してもよい。例えば、画像1102内の最大8台の車の8つの出力は、殆どのシーンをカバーするだろう。一例では、各車両は、1から8までの番号等の異なるラベルを用いてマスクされる1116。次に、位置i(例えば、v)の出力1114は、ラベルiによってマスクされた領域に対応する。k<8台の車両が検出された場合に、ラベル1~Kが使用され、トレーニング及び推定段階ではベクトル値K+1~*は無視される。一例では、出力1114は単数であり、ニューラル・ネットワーク1112は、バイナリマスクを介して各ターゲットに対して独立して(例えば、連続して)動作する。
【0071】
一例では、入力画像1102及び1104が位置合わせされる。一例では、位置合せはホモグラフィに基づいている。一例では、位置合せは、路面位置合せ(例えば、ガンマ位置合せ)に基づいている。画像の位置合せは、ホイールの接触ポイント及び静止車両の道路等の路面上のポイントを安定させることにより、ニューラル・ネットワーク1112のトレーニング又は推定を簡素化する。こうして、ニューラル・ネットワーク1112は、ターゲットが動いていると判定するために、ターゲットの残差の動きを識別するだけでよい。
【0072】
図12は、一実施形態による、物体が移動しているかどうかに関する決定を生成するための畳み込みニューラル・ネットワーク1204の例を示す。ここで、2つではなく3つ以上の入力画像1202を使用して、より正確な結果を提供することができる。多くの効果的なニューラル・ネットワーク構造を使用できるが、ここでは、畳み込み段階1204に続いて、画像全体1202からの情報を単一の値(例えば、移動/非移動/不明)に収集するアフィン段階1205を示す。
【0073】
一例では、畳み込み段階1204は、画像1202を3つのチャネルとして受け取る。次に、畳み込み段階1204は、画像1202の解像度を低下させるが、チャネルの数を増大させ、これは複雑な特徴を作成する。一例では、ターゲット位置は、第1の層に第4のチャネルとして導入され得る。一例では、ターゲット位置は、ボトルネック、つまり畳み込み段階1204の狭い部分(ここに小さな解像度の多くのチャネルが存在する)等の後に、又はアフィン段階1208で導入してもよい。ターゲットマスク1206を複数のターゲットについて後の段階で導入することには利点があり得る。例えば、ターゲット(例えば、マスク1206)の導入までの計算の最初の部分が一度実行され、結果が全てのターゲットに使用され得る。
【0074】
一例では、元の画像1202をアフィン段階1208に入力させることが有用である。これは、「スキップ」経路を介して達成され得る。オプションであるが、この構造は、パフォーマンス分類性能を向上させる可能性がある。
【0075】
図13は、一実施形態による、垂直輪郭検出エンジンを動作させるための方法1300の例を示すフロー図である。方法1300の動作は、上記又は下記のような計算ハードウェア(例えば、処理回路)によって実行される。
【0076】
動作1002では、2つ以上の画像フレームのシーケンス、地面(ground plane)、及びエゴモーションデータ、並びにカメラの高さ情報を含む生データが取得される(例えば、読み取られるか又は受信される)。画像フレームには、現在の(例えば、最近取り込まれた)画像、及び1つ又は複数の以前に取り込まれた画像が含まれ得る。動作1004では、生データを処理して、道路平面に関する画像フレームのシーケンスの間のホモグラフィが決定される。次に、いくつかの画像フレームをワープして、道路平面をそのシーケンスの別の画像フレームに位置合わせすることができる。ワーピングは、一例によれば、測定されたエゴモーション及び地面の特性に基づいてもよい。エゴモーションは測定されたモーションである場合もあれば、又は画像フレームのコンテンツから計算により決定される場合もある。ワープされた画像フレームは、現在の画像フレームと、現在の画像フレームに対応するようにワープされた1つ又は複数の以前の画像フレームとを含み得る。別の例では、現在の画像フレーム及び1つ又は複数の他のフレームは、ワープされていない以前の画像フレームに対応するようにワープされる。
【0077】
一例では、画像は、DNNによって使用される前に、ラジアル型レンズ歪み等のレンズ歪みについて補正される。この補正により、特定のレンズでのDNNのトレーニングが回避される。また、特に、焦点距離はガンマの方程式の成分ではないため、複数の異なるカメラタイプからの画像についてトレーニングできる。
【0078】
動作1006では、エゴモーションデータ、地面データ、及びカメラの高さデータを含む追加の生データを処理して、1つ又は複数の画像としてフォーマットされた動き情報(例えば、エピポール)が生成される。
【0079】
動作1010では、DNNを使用して推定を生成する。DNNは、畳み込み、非線形活性化、及びプーリング操作を実行できる。一例では、逆畳み込み及びプーリング解除操作が実行される。様々な層で、重み又はバイアス等のトレーニング済み計算パラメータは、DNNの予め確立されたトレーニングに従って、DNNの操作によって適用される。推定モードでのDNNの操作は、上述したようなガンママップ等の道路構造マップを生成する。DNN等を使用すると、1センチメートル(1cm)以内、又は最大時速50km(50km/h、つまり時速約31マイル)で走行しながら、車両から0.5ミリメートル(0.5mm)から10メートル(10m)までの距離の半分の正確な地形測定値を生成できる。
【0080】
動作1012では、道路輪郭情報が道路構造マップから抽出される。残差フロー情報等の道路構造マップから追加情報を抽出することもでき、これらの情報は、関連するアプリケーションのためにさらに処理され得る。
【0081】
道路輪郭情報は、車両動作のいくつかの態様を自動的に調整する自律又は半自律型車両制御システムに渡してもよい。例えば、サスペンション制御システムは、車両の予想走行経路を表す垂直輪郭データに基づいて、車両のサスペンションを動的に調整することができる。サスペンションの調整には、サスペンションの剛性を動的に変化させることや、又は道路の垂直輪郭に合わせるために個々のホイールの高さを変化させることが含まれ得る。
【0082】
一例では、道路輪郭情報は、運転方針システムに渡してもよい。運転方針システムは、環境モデルを使用して、未来のナビゲーション動作を決定することができる。運転方針システムは、道路の輪郭情報を使用して、ナビゲーション動作を選択又は決定することができる。運転方針システムの例は、RSSであり、これは、例えば、国際公開WO2018/001684に記載されており、この文献は、その全体が本願に組み込まれる。
【0083】
図14は、一実施形態による、MLベースの輪郭エンジンで使用するためにDNNを構成する方法1400の例を示すフロー図である。方法1400の動作は、上記又は下記のような計算ハードウェア(例えば、処理回路)によって実行される。
【0084】
動作1402では、トレーニングデータがトレーニングDNNに供給される。トレーニングデータは、トレーニングDNNが推定モードで動作している間に、順方向に伝播され、テスト結果を出力として生成する。テスト結果は、複数の成分を有する損失関数と比較される。動作1404では、写真測量的損失関数成分が適用される。写真測量的損失関数成分は、テスト結果を使用して、トレーニングデータの1つ又は複数の以前の画像をトレーニングデータの現在の画像にワープし、現在の画像と以前の画像の差に基づいて損失を生成する。正規化された相互相関関数は、比較された画像フレーム同士の間の差を確認するために、各ピクセルを取り囲むパッチで使用され得る。
【0085】
動作1406では、予測画像写真測量的損失関数成分が適用される。予測画像写真測量的損失関数成分は、追加のトレーニングデータ(例えば、テスト結果の生成に使用されるトレーニングデータ以外)が、比較を容易にするために画像のテスト結果ベースの画像ワーピングに続く以前の画像及び現在の画像と比較されることを除いて、動作1404と同様の手法を適用する。比較の結果生じた差は、追加の損失成分として扱われる。
【0086】
オプションで、動作1404及び1406では、道路特徴及び非道路特徴に、比較及び損失計算の目的で異なる重みを与えることができ、道路特徴はより重く重み付けされる。さらに、車両及び歩行者等の移動する既知の物体をマスクして、比較される画像同士の間の残差フローの検出を減らすことができる。
【0087】
動作1408では、EM損失関数成分が適用される。EM損失関数成分は、テスト結果を生成するために処理されたトレーニングデータ画像に関して、車両の通過に対応するEMデータを使用し、テスト結果に基づいてEMデータを車両の予想される動きと比較して、損失成分を提供する。
【0088】
動作1410では、幾何学的損失成分が適用される。幾何学的損失成分は、テスト結果の生成に使用されなかったトレーニングデータの一部を使用する。特に、上述したように、「未来」の画像は、トレーニングDNNによって「未来」のテスト結果を生成するように処理される。「未来」のテスト結果は、「未来」のEMに基づいてワープされ、テスト結果と位置合わせされる。或いは「代替的に」又は「追加的に」、テスト結果は、「未来」のEMに基づいてワープされ、「未来」のテスト結果と位置合わせされる。「未来」及び現在の道路構造のテスト結果の比較が計算され、追加の損失要素が提供される。
【0089】
動作1412では、損失関数成分は、勾配降下計算のためにマルチモーダル損失関数に集約される。一例では、任意の2つ以上の損失関数成分を利用することができる。例えば、次の表に示されるように、損失関数成分の組合せを集約できる。
【表1】
【0090】
動作1414では、集約された損失関数は、DNNの各トレーニング可能な層で計算パラメータについて計算された偏導関数を用いて、トレーニングDNNによって逆伝播される。動作1416では、各トレーニング可能な層の計算パラメータは、損失を最小化するために、損失関数の計算された勾配に基づいて調整される。動作1418では、追加のトレーニングデータを用いてトレーニングプロセスを繰り返して、パラメータ値をさらに最適化することができる。追加のトレーニングサイクルが必要かどうかを判定するために、各逆伝播反復に続いて、(例えば、パラメータの収束に基づいて)トレーニング反復基準が適用され得る。
【0091】
動作1420では、計算パラメータデータ構造は、DNNの各層に最適化された計算パラメータ値を含むように構築される。データ構造は、テーブル、リンクリスト、ツリー、タグ付きフォーマット(拡張可能なマークアップ言語等)ファイル等、任意の適切な形式をとることができる。動作1422では、計算パラメータデータ構造を使用して、車両向けDNNを構成する。
【0092】
図15は、一実施形態による、自律型車両が道路に沿って移動している間の、道路の垂直輪郭のリアルタイム測定のための方法1500の例を示すフロー図である。方法1500の動作は、上記又は下記のような計算ハードウェア(例えば、処理回路)によって実行される。
【0093】
動作1501では、カメラの視野内の道路の同じ部分の画像フレームのシーケンス(例えば、第1の画像フレームA、第2の画像フレームB、及び第3の画像フレームC)が取り込まれる。第1の画像フレームAの道路の画像ポイントは、動作1502で、第2の画像フレームBの道路の対応する画像ポイントに一致する。同様に、第2の画像フレームBの道路の画像ポイントは、動作1502で、第3の画像フレームCの道路の対応する画像ポイントに一致する。
【0094】
近接画像ペアのホモグラフィが動作1503で計算される。動作1503では、第1のホモグラフィHAB(第1の画像フレームAを第2の画像フレームBに変換する)が計算される。第1のホモグラフィHABは、第1の画像フレームAにおける道路の一致する画像ポイント、及び第2の画像Bにおける道路の対応する画像ポイントのセットから計算することができる。第2のホモグラフィHBC(道路の第2の画像フレームBを第3の画像フレームCに変換する)は、第2の画像フレームBにおける道路の一致する画像ポイント、及び第3の画像フレームCにおける道路の対応する画像ポイントから計算することもできる。
【0095】
動作1504では、第1及び第2のホモグラフィHAB及びHBCは、行列乗算等によって連鎖され得る。連鎖ホモグラフィを初期推定値(例えば、推測)として使用することにより、第3のホモグラフィHACが動作1505で計算され、第3のホモグラフィHACは道路の第1の画像を道路の第3の画像に変換する。第1の画像フレームAから第2及び第3の画像フレームB及びCそれぞれへの残差フローは、動作1506で処理されて、第3のホモグラフィHACを用いて道路の垂直輪郭を計算することができる。
【0096】
図16は、一実施形態による、道路の垂直輪郭を測定するために画像シーケンスに亘って残差フローを処理するための例示的な手法、方法1600を示すフロー図である。方法1600の動作は、上記又は下記のような計算ハードウェア(例えば、処理回路)によって実行される。
【0097】
動作1601では、画像フレームは、最初に第2の画像フレームにワープされ、ワープされた画像を生成する。本文脈における「ワーピング」という用語は、画像空間から画像空間への変換を指す。以下の説明では、道路が平面表面としてモデル化され得ることを想定している。こうして、道路の画像化されたポイントは、ホモグラフィに従って画像空間で移動する。ワーピングは、車両の測定された動きに基づいてもよい(例えば、速度計のマーク、慣性センサ等に基づいてもよい)。
【0098】
例えば、特定の焦点距離(例えば、ピクセルで規定される)を有する既知の高さの所与のカメラ、及びそれぞれの取込みのフレーム同士の間に発生する既知の車両の動きについて、2つの画像フレームの間の道路平面の画像上のポイントの動きの予測を計算することができる。道路ポイントの動きに略平面のモデルを使用して、第2の画像は、第1の画像に向けて計算上ワープされる。次のMatlab(登録商標)コードは、動作1601で初期ワープを実行するための実装例である。
【0099】
【数6】
【0100】
この例では、dZは車両の前進運動であり、Hはカメラの仰角(elevation)であり、fはカメラの焦点距離である。項p=(x;y)は、道路構造の消失点である。
【0101】
一例では、システムが車両に設置されている間に得られた初期較正値が使用され得、ここで、xは車両の前方方向であり、yは車両が水平面にあるときの水平線である。
【0102】
変数Sは、カメラからの異なる車両距離Zで取り込まれた2つの画像フレームの間の画像座標に関連する全体的な倍率である。本文脈における用語「相対的スケール変更」は、カメラまでの距離Zに依存する画像座標における全体的なスケール変更を指す。
【0103】
一例では、初期ワーピング動作1601は、車両の動き補償係数による第1の画像への回転に基づいて第2の画像を変換する。車両の動き補償は、回転推定値又はヨー、ピッチ及びロールの測定値に基づいて達成され得る。これらの回転推定値又は測定値は、車両のヨー、ピッチ、及びロールを感知するように構成された3軸加速度計等の慣性センサによって提供され得る。慣性センサは、カメラに統合することも、或いは車両上又は車両内のどこにでも搭載することもできる。その代わりに、又はそれに加えて、回転推定値は、1つ又は複数の以前の画像フレームから計算により取得してもよい。
【0104】
1601での初期ワーピングは、第1の画像と第2の画像との間の相対的なスケール変更の調整をさらに含み得る。相対的なスケール変更調整は、回転変換と組み合わせて、1つの双線形補間のみが実行される単一のワープ操作にすることができる。
【0105】
一例では、ピッチ及びヨー回転のみが関与する場合に、これらは画像シフトによって近似され得る。例えば、ヨーは次の式からのδθピクセルの水平画像シフトとして近似できる。
δθ=δt×ヨーレート
δθピクセル=fδθ*π/180
1601での最初のワーピング操作の後に、本明細書では残差フローと呼ばれる、道路上の特徴の見かけの動きは、元の画像からワープされた画像への画像パッチの均一な変換として局所的に近似される。残差フローは、元の画像とワープされていない画像との間の実際の車両の動きに基づく差とは異なり、パッチの動きには、不均一なスケール変更も含まれる。
【0106】
一例では、車線マーク及び影等の強い特徴に常にバイアスを与える特徴点を選択する代わりに、ポイントの固定グリッドを動作1607での追跡に使用することができる。従って、1603では、ポイントのグリッドは、画像の前方に規定された距離(例えば、15メートル)までおおよそマップし、幅が約1レーン(例えば、2~3メートル)の台形領域から選択できる。ポイントは、規定された間隔で(例えば、水平方向に20ピクセル毎、及び垂直方向に10ピクセル毎の)間隔を空けて配置できる。他の選択スキームを使用して、同様の効果を得ることができる。例えば、ポイントは、特定の分布に従ってランダムに選択され得る。一例では、表面(例えば、道路)にある11個のポイントの3つの線が使用される。これらの線は車両の中心にあり、センターラインの両側に2メートルの位置にある。
【0107】
元の画像の各ポイントの周りに、パッチが動作1605で配置される。パッチは、例えば、パッチの中心点の周りの各方向に規定された形状及びサイズを有することができる。例えば、パッチは複数のピクセルの正方形であってもよい。一例では、楕円、長方形、台形等の他の形状をパッチと見なしてもよい。正規化された相関が(例えば、Matlab(登録商標)関数normxcorr2を用いて)ワープされた画像に対して計算され、パッチの中心がサーチ領域内でシフトされる。実際の使用では、ヨーセンサがあり得るが、ピッチセンサはない。それゆえ、より狭いサーチ領域は、y方向ではなくx方向で使用され得る。一例として、x方向に(2×4+1)ピクセル、及びy方向に(2×10+1)ピクセルのサーチ領域を使用することができる。
【0108】
一例では、最大の相関スコアを生成するシフトが決定され、その後に、サブピクセル解像度(例えば、0.1ピクセル)で最良スコア位置の周りのリファイン(refinement)サーチが続く。このリファインステップは、最大スコア周辺の整数スコアを放物面又はスプラインにフィッティングし、最大スコア周辺のこれらの整数スコアを使用してサブピクセルの一致を計算することと比較して、優れた結果を提供し得る。
【0109】
無効なトラックは、1607での追跡操作の結果として追跡されるポイント1609を残して、規定されたしきい値(例えば、T=0.7)を超えるスコアを有するそれらのポイントを選択することにより、サーチ段階で除外してもよい。ワープされた画像から元の画像への逆追跡は、反対方向に同様の値を与える。
【0110】
追跡動作1607の結果として追跡されるポイント1609は、RANdom Sample Consensus(RANSAC)等の適切な技術を用いて、動作1611でホモグラフィにフィッティングされる。ポイントのセットがランダムに(例えば、4ポイント)選択され、ホモグラフィの計算に使用される。次に、ホモグラフィを用いてポイント1609が変換され、規定されたしきい値よりもより近いポイントのセットがカウントされる。ポイントのセットをランダムに選択し、しきい値よりも近いポイントの数をカウントすることは何度も繰り返され、最も高いカウントを与えた4つのポイントが保持される。
【0111】
1613では、4つの最良のポイントを使用して、ポイント及び(おそらく異なる)規定されたしきい値よりも近い全てのポイント(インライア:inliers)を再度変換して、例えば最小二乗法を用いてホモグラフィを計算する。しきい値より近くない残りのポイントは、外れ値(outliers)と見なされる。
【0112】
プロセスのこの段階では、インライアの数及びワープされた画像におけるそれらの広がりは、道路平面モデルを成功裏に見つけることに関して有益である。50%を超えるインライアが一般的であり、適切なフィットとなる。次に、ホモグラフィを使用して、動作1601で初期位置合わせワープを修正できる。初期位置合わせワープの修正は、動作1601で初期ワープに修正を統合することによって行われるか、又は2つのワープを連続して行うことで実行できる。前者は、補間ステップが1つだけ必要であるため有利であり、オプションで2つのホモグラフィ行列の行列乗算によって実行できる。
【0113】
一例では、プレワーピング後のロバスト追跡が、ホモグラフィを計算するために適用される。これを使用して、エゴモーション及び平面推定値を導出し、以前の平面推定値を調整できる。エゴモーション及び調整済み平面モデルを組み合わせて、ホモグラフィを取得する。一例では、エゴモーションは、エゴモーションセンサ及び処理エンジンによって提供され得る。このタイプのエンジンは、基本行列を用いて、道路上のポイントと道路の上のポイントとのロバスト追跡を使用する。そのエンジンは、また、任意の慣性センサと利用可能な速度計の情報とを組み合わせる。地面情報は、地面エンジンによって提供される。このエンジンは、道路上のポイント(プリワープ後)を追跡し、次に、計算されたエゴモーションを使用して各ポイントまでの深度を導き出し、ポイントの3D座標を生成する。その後に、平面表面が3Dポイントにアルゴリズム的にフィットされる。一例では、デフォルト平面(車両のカメラ位置の初期較正から導出されたもの等)が使用され得る。エゴモーション及び平面表面を組み合わせて、ホモグラフィを提供する。
【0114】
一例では、路面のパラメトリックモデルを使用することができる。例えば、3Dスプラインモデルは、通信可能に結合された運転経路ジオメトリ(幾何学)又は物体感知サブシステムによって提供され得る。そのようなサブシステムの例として、Intel社の子会社であるMobileyeによって製造されたRoad Experience Management(商標)(REM(商標))エンジンは、3Dスプラインの形式で道路特徴の表現を提供し得る。REMの追加の詳細は、米国特許第9,665,100号、及び国際公開WO2018/200522に確認でき、これら両方の全体が参照により本明細書に組み込まれる。例えば、車線マークは3Dスプラインとして表すことができる。サブシステムは、3Dスプライン特徴表現を画像に位置合わせする。3Dスプライン特徴表現は、取り込まれた道路の画像に逆投影され、さらに処理され得る。
【0115】
3Dスプラインからの各ポイントは3D座標を有する。一例によれば、このデータを使用することができる1つの方法は、取り込み画像の行に沿った3Dスプラインに関連する3D位置を内挿及び外挿することによるものである。側面への外挿は、ゼロ次ホールド(つまり、一定)、1次ホールド(例えば、2つのスプラインに基づく線形拡張)等であり得る。一例では、内挿は、特定のスプラインの、画像自体の外側にある仮想画像座標への既知の拡張で発生する可能性がある。
【0116】
内挿及び外挿は、画像の下部の全てのポイントについて3D座標を生成することができる。これらのポイントは、滑らかな3D表面上にあり得る。次に、この表面を使用して、以前の画像を現在の画像に向けて(又はその逆に)ワープすることができる。このワーピングは、トレーニング段階と推定段階との両方で実行できる。
【0117】
図17は、一実施形態による、水たまり検出及び車両制御のための応答性意思決定のための方法1700の例を示すフロー図である。方法1700の動作は、上記又は下記のような計算ハードウェア(例えば、処理回路)によって実行される。
【0118】
動作1702では、画像シーケンスが1つ又は複数のカメラによって取り込まれる。動作1704では、エゴモーション及び基準平面情報が受信又は測定される。上で説明したように、エゴモーション情報は慣性センサから提供され、場合によっては車両の速度計からのデータと組み合わせて提供される。地面(例えば、基準)平面情報は、カメラの固定高さに基づいてもよく、構成又は較正パラメータの1つのような規定された一定値として格納してもよい。
【0119】
動作1706では、画像は、実際の動き測定値とともに処理されて、画像同士の間の残差フローを決定する。残差フローは、(a)車両の実際の動きによる画像シーケンスの中の路面の外観の予測される変化と、(b)取り込まれた画像シーケンスの画像同士の間の実際の差との比較から検出された差を表す。これらの差は、突起(バンプ)及び窪み(窪んだ部分、穴)等を含む、垂直輪郭としてさらに解釈され得る。動作1708では、道路の垂直輪郭は、上述した手法のいずれか、又は別の適切な画像処理ベースの手法を用いて、処理された画像に基づいて計算により決定され得る。
【0120】
これらの技術は、垂直輪郭を決定するために、ガンマ又は他の形態の構造を使用する。一例では、構造は、残差フローから決定され得る。一例では、図4に関して上記で説明したようなニューラル・ネットワークは、構造を直接決定することができる。ガンマが決定された後に、画像はガンマに従ってワープされ、残差フローが決定される。様々なオプティカルフロー手法を使用できるが、2つ以上のフレームの間の写真測量的損失のみを用いてトレーニングされた第2のニューラル・ネットワークを使用するような別の方法もある。水たまり等の反射面に直面した場合に、第1のニューラル・ネットワークは水たまりの移動する反射を無視するため、略フラットなガンマを生成する。第2のニューラル・ネットワークは、写真測量的損失をマッピングするようにトレーニングされており、道路に水たまりの大きな穴を生成する。2つの出力を比較すると、水たまりの基準が分かる。
【0121】
効率は、2つのニューラル・ネットワークの出力(入力画像を直接操作して、ガンマ及び写真測量的損失をそれぞれ生成する)を、ガンマを計算し次に残差フローを計算することに関して比較するときに得られる利点である。ガンマワープを実行すると、計算コストが高くなる可能性があり、プロセスを並列化する機能を損なう可能性がある順次制約が導入される場合もある。第1及び第2のニューラル・ネットワークには同じ層がいくつか含まれている可能性が高いため、非常に効率的な実施態様によって2つのネットワークを組み合わせて、1つのニューラル・ネットワークを2つの出力チャネルでトレーニングでき、第1は、ガンママップのみの測光であり、第2は、測光と幾何学ニューラル・ネットワークとの組合せである。水たまり等の反射面は、2つのチャネルのガンマを比較することによって検出できる。一例では、2つのニューラル・ネットワークはネットワークの一部を共有し、それ以外の場合には分割される。例えば、第1及び第2のニューラル・ネットワークは、ボトルネックになるまで同じ構造を共有し、その後に分岐する。
【0122】
一例では、第1及び第2のニューラル・ネットワークは両方とも、構造(例えば、ガンマ又はZ)マップを出力するようにトレーニングされるが、それぞれは異なる損失関数でトレーニングされる。一例では、損失関数の違いは、2つの異なるタイプの損失の重み付けの違いである。一例では、損失は、測光、幾何学、EM、又は未来の画像損失のうちの1つ又は複数である。2つの出力を組み合わせて使用して、動いている物体、反射、透明性を検出できる。
【0123】
これは、実際には、ニューラル・ネットワークを用いて反射面又は鏡面を検出するための一般的な方法である。これは、Z又は1/Zを決定するようにトレーニングされたニューラル・ネットワークに適用され、特に、車両又は建物の側面(窓等)の反射面を検出する。この手法の興味深い使用法は、死角となる交差点に設置されたミラーの検出である。ミラー面が検出されると、それは、反射画像で車両及び歩行者を検出するために解析され、車両ビジョンシステムがミラーを使用して事故を回避できるようになる。例えば、交差点ミラーで歩行者又は車両が検出された場合に、ホスト車両は、車両又は歩行者がカメラの視野に現れるまで待機するか、又は他にナビゲーション動作を変更する。動いている物体の反射を検出するために、メインカメラ及びコーナーカメラを用いて動いている立体構成を実現できる。ここで、ニューラル・ネットワークは、写真測量の制約を用いて、及びステレオペアを経時的に用いて幾何学的制約を追加することで、ステレオ画像から深度を推定するようにトレーニングされ得る。
【0124】
実際の動きによる画像の予測される変化と実際の変化との間の差は、動いている物体(例えば、他の車両、歩行者、自転車)、動いている影、及び反射をさらに表し得る。こうして、一例では、1つ又は複数の水たまりの存在は、動作1710における垂直輪郭情報及び追加の水たまり検出基準に基づいて計算により決定される。方法1800は、動作1710の例を提供する。
【0125】
動作1712では、現在の状況シナリオが決定される。現在の状況シナリオは、現在の道路状況、車両の動き、及び周囲を表す。一例では、状況シナリオは、ホスト車両に搭載されたセンサから取得したデータ、地図から取得した道路及びその周辺のモデル、リモートサーバ、近くのターゲット車両、又はスマートインフラストラクチャ物体からホスト車両に通信されたデータのいずれか1つ又は複数から取得できる。方法1900は、動作1712の例を提供する。
【0126】
動作1714では、利用可能な運転応答解が現在の状況シナリオに基づいて評価される。この例の運転応答解は、検出した水たまりの存在への応答に固有である。方法2000は、動作1714の例を提供する。動作1716では、運転応答解が、様々な運転応答オプションの評価に基づいて選択される。特に、運転応答解は、回避又は他の動作の実行を見合わせる場合がある。
【0127】
図18は、一実施形態による、垂直輪郭情報及び追加の水たまり検出基準に基づいて、1つ又は複数の水たまりの存在を計算により決定するための方法1800の例を示すフロー図である。方法1800の動作は、上記又は下記のような計算ハードウェア(例えば、処理回路)によって実行される。
【0128】
動作1802では、画像の形式で表すことができるポイント毎の垂直輪郭データ(例えば、路面の高さを表す値を有するピクセル)が、深度基準に対して評価される。例えば、深い穴として現れる道路上のポイント(例えば、ピクセル)(例えば、規定された最小深度しきい値を超える、隣接するポイントからの規定された最大高さ偏差を超える等)は、タグ付けされるか、又はそうでなければ水たまりに属するポイントのセットの可能性のあるメンバーシップのマークに関連付けられ得る。例として、深度基準のしきい値は、50cm~1.5mのオーダー、又はそれよりはるかに大きい場合がある。
【0129】
動作1804では、所与の近傍での深度しきい値を満たすか又はそれを超えるポイントの領域が、幾何学基準に対して評価される。一例では、幾何学基準は、潜在的な水たまり領域の空間的特徴を規定する。例えば、その領域の深度基準を満たす又は超えるポイントの領域サイズ、領域形状、及び隣接性等の特徴が考慮され得る。例えば、サイズ又は形状基準は、潜在的な水たまりと見なされる領域について、領域の最小表面積、又は最小長さ又は幅寸法を指定することができる。隣接基準は、隣接の最小範囲(例えば、領域内のポイントの隣接性、又は深度基準を満たす隣接するポイント同士の間の最大距離)を指定することができる。
【0130】
動作1806では、潜在的な水たまり領域の境界の鋭さが、シャープネス基準に対して評価される。シャープネス評価は、境界が鋭くシャープになる傾向がある水たまりを、境界がソフトになる傾向がある移動する影(画像解析操作での残差フローの原因でもある)から区別するように動作し得る。シャープネス基準の例として、(1)境界の近くの水たまりの疑いのある領域内のポイントに対して適用される負の残差フローの最小しきい値(又は、路面の窪みの深さ)、及び(2)水たまりの疑いのある領域の境界のすぐ外側のポイントに適用される残差フローの最大制限(又は、基準道路平面に位置合わせされたような路面の平坦度)の2つの係数を適用できる。
【0131】
動作1808では、動作1802、1804、及び1806での様々な基準を満たす、又は満たすことに失敗したことに基づいて、水たまり決定の指標が生成される。
【0132】
図19は、一実施形態による、自律型車両の現在の状況シナリオを計算により決定するための方法1900の例を示すフロー図である。方法1900の動作は、上記又は下記のような計算ハードウェア(例えば、処理回路)によって実行される。
【0133】
動作1902では、車両速度が評価される。この評価は、例えば、速度計又は車両制御システムから取得され得る。動作1904では、路面及び路面状態が評価される。これらの評価は、路面の牽引摩擦の質又は滑りやすさの程度を決定することを含み得る。例えば、道路タイプは、舗装された道路、石、土、砂利等の中から選択することができる。路面は、地図作成データ、測定された車両性能(例えば、操舵角及び速度に対するホイールの滑り及び横方向の動き)に基づいて、又はそのような要因のいくつかの組合せに基づいて決定できる。路面状態は、乾いた、濡れた、雪が積もった、氷った、ほこりっぽい、落ち葉又は他の破片で覆われている等、様々なカテゴリから決定できる。路面状態は、気象レポートデータ、測定された車両の性能、又はそのような要因の組合せに基づいて推定することができる。1904での評価は、自律型車両制御システムの別のエンジンから利用できる場合がある。1902及び1904での車両速度と道路の質及び状態評価を使用して、適切な運転応答解を決定する一環として、操縦制限を計算により決定できる。
【0134】
一例では、操縦制限は、制限の2つ以上のサブカテゴリを含むことができる。そのような制限のサブカテゴリには、例えば、(他のサブカテゴリの操縦と比較して)鋭い又は力強い操縦に関連付けられ得る安全操縦制限、及び優しい又はより緩やかな操縦に関連付けられ得る快適操縦制限が含まれ得、快適操縦制限は、典型的に、車両の乗客、及びおそらくは道路の他のユーザや車両の環境内の他の人(又は動物)に、より高いレベルの快適さを与える。
【0135】
動作1906では、水たまりの近くの任意の歩行者の存在及び位置が評価される。現在の文脈での歩行者には、歩行者、自転車のライダー、車椅子の人、道端の近くにあるベビーカー等、車外の人々が含まれる。この歩行者の評価は、自律型車両制御システムの一部であり、且つ人間を検出するように構成される物体認識エンジンによって供給される情報に基づいてもよい。動作1906は、検出した歩行者が、検出した水たまりの近く(例えば、「飛び跳ね範囲」内)にいるかどうかをさらに評価することができる。歩行者評価を使用して、歩行者への飛び跳ねを回避するために自律型車両の制御において回避行動を取るための優先度を計算により決定することができる。一例では、水たまりの中心又はエッジからの特定の距離等、飛び跳ね範囲を予め規定することができる。一例では、水たまりのサイズ、車両の速度等に基づいて、飛び跳ね範囲を推定することができる。
【0136】
一例では、他の車両(例えば、自転車及びオートバイを含む)の存在及び位置を評価することができる。飛び跳ね範囲評価を使用して、(任意の方向からの)対向車両が、対向車両の視認性を妨げる可能性がある方法でホスト車両の飛び跳ね範囲に入るかどうかを判定することができる。同様に、飛び跳ね範囲評価を使用して、ホスト車両が、ホスト車両の視認性を妨げる可能性がある方法で対向車両の飛び跳ね範囲に入るかどうかを判定することができる。飛び跳ね範囲評価では、ホスト車両又は対向車両の様々な特性を利用して、飛び跳ね範囲及び関連する車両への影響を評価することができる。車両の検出及び評価を使用して、自律型車両の制御において回避行動を取ることの優先度を計算により決定して、対向車両への飛び跳ねを回避するか、又は対向車両による飛び跳ねを回避することができる。
【0137】
動作1908では、検出した水たまりの位置が、道路境界に対して評価される。同様に、動作1910では、検出した水たまりの位置が、道路上の任意の車線マーカーに対して評価される。動作1908及び1910での評価は、回避行動の決定に使用され、水たまりを回避するか、又は飛び跳ねを低減又は最小化するために自律型車両を操縦するかどうか、及びどの場所に操縦するかを決定できる。
【0138】
動作1912では、自律型車両と同じ方向に走行している車両等の近くの車両の位置及び移動特性の評価が行われる。
【0139】
動作1914では、あらゆる対向交通の存在及び移動特性の評価が行われる。近く又は対向する交通の運動特性には、縦距離、横距離(例えば、現在の車線の位置)、閉速度、予測される移動の変化(例えば、車線の変更、速度の変更、曲がり角)等の要因が含まれ得る。動作1912及び1914での評価は、自律型車両の交通感知/検出又は制御システムから利用可能であり得る。これらの近くの及び対向する車両交通の評価を回避行動の決定に使用して、安全を維持するために自律型車両が水たまりを回避することを制限する場合がある。
【0140】
図20は、一実施形態による、水たまり(又は、他の反射面)の検出に応答するために選択されてもされなくてもよい、利用可能な運転応答解の計算評価のための方法2000の例を示すフロー図である。この方法の動作は、上記又は下記のような計算ハードウェア(例えば、処理回路)を使用して実行される。
【0141】
動作2002では、水たまりの検出に応答した行動の必要性が評価される。行動の必要性は、水たまりが自律型車両の進路にある、特に少なくとも1つの車両のホイールの予測経路にあるかどうかによって左右される。行動の必要性は、水たまりの近くに歩行者が存在するかどうかによってもさらに左右され得る。いくつかの実施態様では、行動の必要性は、車両のオペレーターの好みにも依存し得る。
【0142】
例えば、例示的な実施形態では、水たまりの検出に応答して、応答を行わせる必要性の程度が変化する可能性がある。次の表は、水たまりの応答に対する様々な程度の必要性又は優先度を必要とする状況のいくつかの例を示している。様々な状況が、対応するリスクスコアの増分値とともに提示される。リスクスコアの増分は、計算されたリスク評価に対する各状況の対応する寄与を表す。
【表2】
【0143】
これらの一例では、主に道路の端にある水たまり(例えば、道路境界に一致する細長い形状を有する)は、主に窪みによるものではなく、道路の斜面による流出によって引き起こされたと推定することができる。このタイプの水たまりは、車両自体又は近くの歩行者に水の飛び跳ねをかける可能性がある。道路の端から離れた水たまりは、車両又は歩行者に水の飛び跳ねをかける可能性があるが、窪みが原因である可能性もあり、車両のタイヤ、ホイール、サスペンション、下部構造、又は他の一部への損傷等の追加の害を引き起こす可能性がある。大きな穴は、車両が高速で走行している場合に、車両をコースから外す可能性もある。道路の大部分に亘る非常に大きな水たまりは、路面が下がって水が溜まったことが原因である可能性がある。このタイプの水たまりは、流失(washout)等の深刻な道路の危険を覆い隠す可能性がある。路面の大部分を覆う非常に大きな水たまりには、ハイドロプレーニング等により車両の制御が大幅に失われる可能性がある深さ、又は車両のエンジンの空気取り入れ口の高さを超える極端な深さがある場合もある。
【0144】
歩行者の存在は、水たまりに高速でぶつかることの悪化要因と考えることができる。場合によっては、歩行者の存在は、安全上のリスクを提示しない。むしろ、それは、社会的規範に従って丁寧に自律型車両を操作することへの優先度を提示する。こうして、歩行者に関連するリスクの増分は、車両の汚れに関連するリスクの増分よりも大きいが、潜在的な窪みに突っ込むことに関連するリスクよりは小さい。
【0145】
上記の表の最後の行は、緩和要因、例えば、規定されたしきい値を下回る水たまりのサイズ決定を示す。例えば、水たまりの寸法が10cmを超えない場合に、水たまりは小さすぎて重大な水の飛び跳ね又は窪みに関連する害を引き起こすとは見なされない場合がある。
【0146】
方法2000の動作2004~2012は、様々なタイプの運転応答の評価に関する。各評価は、次のような要因を考慮した様々な基準に基づいている場合がある。
1.安全リスクを低減する際の行動の有効性
2.自律型車両による運転の丁寧さを促す際の行動の有効性
3.安全上のリスクを引き起こす、又は増大させる行動の可能性
4.車両の同乗者に不快感を与える又は増大させる行動の可能性、又は
5.失礼な運転行動を引き起こす行動の可能性。
【0147】
各運転応答の評価は、現在の状況評価を考慮に入れて、数値スコアを各基準に割り当てることによって計算により処理することができる。従って、2004では、様々な基準に従って減速が評価される。例えば、減速すると水の飛び跳ねが減少又は防止され、潜在的な窪みに突っ込むことによる害が軽減される。ただし、減速は車両の同乗者に迷惑をかける可能性があり、自律型車両に接近している近くの車両がある場合に、減速により近くの車両も減速する必要があり、衝突の危険性が高まり、場合によっては近くの車両の運転者又は同乗者に迷惑をかける可能性がある。
【0148】
動作2006では、車線内シフトが潜在的な運転応答として評価される。動作2008では、車線変更が潜在的な運転応答として評価される。車線内シフトは、車線変更よりも車両の同乗者及び近くの車両にとって混乱が少ないオプションであるが、水たまりの位置とサイズ、及び車両の速度に基づいて効果が低下する場合もある。
【0149】
動作2010では、路肩への瞬間的な急な進路変更(swerve)が評価される。動作2012では、対向車両線への瞬間的な急な進路変更が評価される。路肩及び対向車両線への急な進路変更は、より高いリスクの運転応答を表す。これは、現在の状況シナリオに基づいて、他の運転応答が無効又は危険であると判定された場合に必要になることがある。
【0150】
これらの基準のそれぞれは、例えば、状況評価を考慮して計算により評価することができる。基準を動作2004~2012に適用する一部として状況評価を検討した結果、一般的な条件に応じて、特定の運転応答がより好ましい場合もあれば、あまり好ましくない場合もある。こうして、例えば、近くの車両の存在及びその車両との相対距離は、減速、車線変更、車線シフト、又は急な進路変更、又はこれらの運転応答の組合せが、水たまりの検出に応答するように選択され得る程度に影響を与え得る。一例では、急な進路変更は車線内進路変更とすることができ、それによって車両は車線を変更せず、むしろ水たまりを回避するように車線内で方向転換する。一例では、車線内進路変更又は減速は、歩行者がいるときにのみ実行される。こうして、歩行者がいない場合に、操縦は実行されない。例えば、ホスト車両が水たまりを検出し且つ歩行者を検出した場合に、ホスト車両は、歩行者を検出しなかった場合よりも水たまりをゆっくり通過するように減速し得る。さらに、ホスト車両は、水たまりが検出された場合には歩行者から離れるようにその進路を調整し、水たまりが検出されない場合には直線の進路を維持することができる。さらに、ホスト車両は、歩行者が歩道にいて且つ水たまりが存在する場合に、減速し得るが、歩行者が歩道にいて且つ水たまりが存在しない場合に、減速しない(例えば、減速量を少なくする)だろう。
【0151】
図21は、一実施形態による、自律型車両制御システムと共に使用するための、道路をプロファイリングするためのカメラベースの車両搭載システムを示す。図示されるように、システムは、簡潔さ及び一貫性のためにエンジンと呼ばれるいくつかのサブシステム、構成要素、回路、モジュール、又はエンジンで構成されるが、これらの用語は互換的に使用できることを理解されたい。エンジンは、ハードウェア、或いはソフトウェア又はファームウェアによって制御されるハードウェアで実現される。そのため、エンジンは、特定の動作を実行するために特別に目的とされた有形のエンティティであり、特定の方法で構造化されている。
【0152】
一例では、回路は、エンジンとして特定の方法で(例えば、内部又は他の回路等の外部エンティティに関して)構成してもよい。一例では、1つ又は複数のハードウェアプロセッサの全体又は一部は、ファームウェア又はソフトウェア(例えば、命令、アプリケーション部分、又はアプリケーション)によって、指定された動作を実行するように動作するエンジンとして構成され得る。一例では、ソフトウェアは、有形の機械可読記憶媒体に常駐することができる。一例では、ソフトウェアは、エンジンの基盤となるハードウェアによって実行されると、ハードウェアに指定された操作を実行させる。従って、エンジンは、特定の方法で動作するように、又は本明細書で説明した任意の動作の一部又は全てを実行するように、物理的に構築される、又は具体的に構成(例えばハードワイヤード)される、又は一時的に構成(例えばプログラム)される。
【0153】
エンジンが一時的に構成される例を考えると、エンジンのそれぞれを、任意の瞬間にインスタンス化する必要はない。例えば、エンジンがソフトウェアを用いて構成された汎用ハードウェアプロセッサコアで構成される場合に、汎用ハードウェアプロセッサコアは、それぞれ異なるエンジンとして異なる時間に構成できる。従って、ソフトウェアは、例えば、ある時点で特定のエンジンを構成し、異なる時点で異なるエンジンを構成するように、ハードウェアプロセッサコアを構成することができる。
【0154】
図示されるように、システムは、車両内又はその上に取り付けられたカメラ又は画像センサ2112を含む。各画像センサ2112は、視野を撮像して、画像プロセッサ2130によって読み取られる画像フレーム2115を提供する。一例では、複数のカメラ2112を車両に取り付けてもよい。例えば、システムは、異なる方向を向く複数のカメラ2112を有し得る。システムはまた、車両に対して同じ又は類似の方向を指しているが、異なる場所に取り付けられる複数のカメラ2112を有し得る。一例では、システムは、(例えば、図22及び図23に関して以下で説明するように)部分的に又は完全に重複する視野を有する複数のカメラを有し得る。一例では、2つの並んだ(side-by-side)カメラがステレオで動作し得る。ここでは単一のカメラシステムについて説明するが、関連する画像及びフレームの一部又は全てを異なるカメラで取り込んだり、又は複数のカメラから取り込んだ画像の合成から作成したりし得るマルチカメラシステムも使用できる。現在の文脈では、リアルタイム動作は、感知できない又は僅かな処理遅延で動作するため、視野全体の物体は、視野がスキャン又は取り込まれる速度と一致する速度で検出される。
【0155】
画像プロセッサ2130を使用して、画像フレーム2115を同時に又は並行して処理し、いくつかの運転者支援システム又はアプリケーションにサービスを提供することができる。画像プロセッサ2130を使用して、画像フレーム2115を処理し、カメラ2112の前方視野内の画像又は画像の一部を検出及び認識することができる。運転者支援システムは、特定のハードウェア回路(図示せず)を搭載されたソフトウェア及び/又はストレージ2113内のソフトウェア制御アルゴリズムと共に用いて実装され得る。画像センサ2112は、モノクロ、グレースケールであり得るか、又は画像センサ2112は、カラーセンシティブであり得る。例として、画像フレーム2115は、特徴検出エンジン2120、交通標識認識(TSR)エンジン2121、前方衝突警告(FCW)エンジン2122、及び道路の垂直輪郭又は道路平面から逸脱の垂直輪郭検出エンジン2123を提供するために使用される。一例では、画像フレーム2115は、異なる運転者支援アプリケーション同士の間で分割され、他の場合には、画像フレーム2115は、異なる運転者支援アプリケーション同士の間で共有してもよい。
【0156】
一例では、システムは、路面の平面(又は、双二次(bi-quadratic))モデルを正確に推定し、平面(又は、双二次)路面モデルからの小さな偏差を計算して、様々な表面特徴104を検出又は定量化するために使用される。本文脈における「路面モデル」という用語は、路面の平面モデル又は双二次モデルを指す。「垂直輪郭」又は「垂直偏差」という用語は、路面に垂直な軸線に沿った路面モデルからの偏差を指す。
【0157】
一例では、システムは、ホスト車両に搭載されたカメラ2112を用いて、垂直輪郭等の路面形状(例えば、形状)を正確に検出するために使用される。本明細書で提供されるシステム及び方法を用いて、隆起又は穴、減速バンプ(speed bump)、縁石、又はマンホールカバー等の表面特徴は、サブピクセル精度(例えば、1~2センチメートルのオーダー)で路面(例えば、平面)からの垂直偏差として測定又はモデル化できる。これらの技術は、前方カメラ、側方カメラ、又は後方カメラ2112に同様に適用され得る。ガンママップは、車両の前方、又は側方及び後方の運転可能領域を決定するために有用であり得る。ガンママップを単独で使用して、表面の勾配が急すぎて走行できない場所を決定するか、又は米国特許出願公開第2018/0101177号に記載されるように、グレースケール又はカラー画像ベースのセマンティックフリースペースと組み合わせることができ、この文献はその全体が参照により本明細書に組み込まれる。道路平面のガンママップ又は高さマップを使用して、鋭い垂直エッジの縁石、滑らかに傾斜した縁石、又は軟らかい路肩(道路が落ちる場所等)を区別できる。次に、ホスト車両は、滑らかに傾斜した縁石からよりも、鋭い縁石又はエッジが落下した箇所からの距離を大きくとるように制御され得る。
【0158】
一例では、システムは、車両制御プロセッサ2140をさらに含むことができ、車両制御プロセッサ2140は、スロットル、ブレーキ、ステアリング、又はトランスミッション選択コマンドを車両の電気機械アクチュエータシステムに生成して自律又は半自律型運転操作を実行するための1つ又は複数の車両制御エンジンを実装する。車両制御プロセッサ2140は、エンジン2120~2123によって生成された様々なマシンビジョン評価に関連する画像プロセッサ2130によって供給される様々な出力を受け取ることができる。
【0159】
図22は、一実施形態による、車両上の複数のカメラアレイを示す。図示されるように、カメラ2212A~2212Fは、車両の周りに配置され、(例えば、以下で説明されるような)視野を提供する。
【0160】
図23は、一実施形態による、複数のカメラアレイによって取り込まれ得る視野の例を示す。複数の重複する視野100A~100Fが示されている。ここでは、路面はビューに共通である。
【0161】
図24は、一実施形態による、垂直輪郭検出エンジン2423の例を示すブロック図である。垂直輪郭検出エンジン2423は、プリプロセッサエンジン2422、機械学習(ML)ベースの輪郭エンジン2424、及び出力抽出エンジン2434を含む。プリプロセッサエンジン2422は、生の入力データのセットを受け取り、且つ生の入力データのセットを処理して、さらに処理するためにMLベースの輪郭エンジン2424に渡される前処理した入力データのセットを生成するように構築、プログラム、又は他の方法で構成される。その結果は、路面の垂直輪郭の測定値を示す出力である。
【0162】
生の入力データのセットは、車両制御システムの構成要素から提供してもよい。例えば、エゴモーションエンジン2402、地面エンジン2406、又はデータストア2412はそれぞれ、生データの様々なアイテムを提供することができる。特に、本文脈において、「生データ」という用語は、プリプロセッサエンジン2422の入力側の情報を指す。生データは、センサ(例えば、1つ又は複数のカメラ)から直接提供されるデータに限定されず、又は他に未処理のデータである。むしろ、生データは、そのソース又は中間処理エンティティによってある程度計算により処理される場合がある。
【0163】
エゴモーションエンジン2402は、センサの実際の動きを記述するエゴモーション(EM)情報2404を提供するように構成される。EM情報2404は、車両の速度計、又は慣性センサ(例えば、車両218のヨー、ピッチ、及びロールを感知するように構成された3軸加速度計)によって得られた測定値に基づいてもよい。慣性センサは、カメラに統合してもよく、又はホスト車両のどこにでも搭載してもよい。
【0164】
地面エンジン2406は、地面(GP)情報2408を提供するように構成される。一例では、地面エンジン2406は、エゴモーションエンジン2402によって提供されるピッチ及びロールデータ、車両のサスペンション情報、又はこれらの入力のいくつかの組合せに基づいてGP情報2408を決定することができる。GP情報2408は、道路の平面法線ベクトル、及び平面までの距離を示し得る。一例では、地面エンジン2406は、3Dスキャン測定(例えば、LiDAR)、立体画像、又は他の適切な技術に基づいて、平面法線ベクトル及び平面までの距離を計算することができる。一例では、地面エンジン2406は、取り込み画像2416に基づいてGP情報2408を計算することができ、又はそれは、固定されたデフォルトGPであってもよい。
【0165】
データストア2412は、カメラの高さ情報2414等のデータの保存されたアイテム、及び連続して取り込まれた画像フレーム215のシーケンスを含み得る取り込み画像2416を提供する。取り込み画像2416は、例えば、現在の(最近取り込まれた)画像、以前の画像、及びさらに以前の画像を含み得る。
【0166】
プリプロセッサエンジン2422は、取り込み画像2416、及びEM2404、GP情報2408、又はカメラの高さ情報2414等の生データ入力の他のアイテムに基づく前処理した画像2430のセットを出力する。さらに、プリプロセッサエンジン2422は、MLベースの輪郭エンジン2424による更なる処理のために、画像形式のエピポールマーク2428、及び画像形式の動きマーク2426を出力する。
【0167】
一例では、道路構造2432は、現在の取り込み画像の各ピクセルについて、(z軸に沿った)前進運動の方向に沿ったカメラからの距離に対する道路平面の高さの比を表すマップであり、本明細書では「ガンマ」と呼ばれる。一例では、ガンマは、前処理した画像2430のセットのいずれかと同じ又は類似の解像度を有してもよく、又はそれは、異なる(例えば、低減された)解像度を有してもよい。
【0168】
一例では、MLベースの輪郭エンジン2424は、前処理した画像2430のセット、画像形式のエピポールマーク2428、及び画像形式の動きマーク2426を読み取り、プリプロセッサエンジン2422のこれらの画像形式の出力を処理して、路面の3次元構造を表す画像形式のマップである道路構造2432を生成する。道路構造2428は、道路の垂直輪郭を示している。これには、路面上のポイントの高さ情報が含まれる場合、又は他の値(高さ情報が追加の処理から計算により決定され得る)が含まれる場合がある。
【0169】
一例では、MLベースの輪郭エンジン2424は、道路の垂直輪郭を計算するようにトレーニングされたディープニューラル・ネットワーク(DNN)を含む。DNNは、各層に固有の重み付け、バイアス、又は他の変数設定を含む計算パラメータ2425に基づいて、複数の層で様々な段階的な操作を実行する。計算パラメータ2425は、DNNトレーニングシステム2450等によってオフラインで又はリモートで実行され得るDNNトレーニング操作に基づいて、確立され、時々更新され得る。
【0170】
出力抽出エンジン2434は、道路構造2432のガンマ(γ)値を処理して、例えばカメラの高さ情報2414及びGP2408を用いて、道路の平面からの垂直高さを表す高さマップ2436を生成するように構成される。一例では、出力抽出エンジン2434は、以下に基づいて、道路構造2432からの残差の動きμ2438を計算するように構成される。
【数7】
ここで、H/Z項はガンマであり、Tは順方向の並進を表し、Dはカメラの高さ2414を表し、eはエピポール情報を表し、p はホモグラフィベースのワーピングの適用後の対応する画像座標を表す項である。
【0171】
一例では、DNNは、ガンマ値のピクセル毎(単位)の出力を生成し、ここで、ガンマは、前方運動の方向に沿った(z軸に沿った)カメラからの距離に対する垂直輪郭高さの比として計算される。垂直輪郭高さは、画像内の対応する位置のそれぞれのガンマ値から決定できる。
【0172】
一例では、歩道等の道路境界特徴は、高さHから直接検出することができる。一例では、道路境界特徴は、延長線により低残差フローの領域から分離された比較的均一な正の残差フロー領域を検出することによって検出することができる。これらの線は、おおまかに消失点(FOE)の方向又は道路の方向(つまり、車線マークの消失ポイントの方向)に向いている。
【0173】
一例では、隆起又は障害物は、高さHから直接、又は少なくとも部分的に低残差フローの領域によって囲まれた正の残差フローの領域として、同様に検出され得る。一方、一例では、穴又は窪みは、少なくとも部分的に低残差フローの領域によって囲まれた負の残差フローの領域として検出され得る。
【0174】
一例では、水たまりは、画像内の水平面の解析に基づいて検出される(これは、例えば、ガンマ画像から、又は決定された道路境界内の領域の位置から決定され得る)。水たまりを判定する際に使用され得るいくつかの基準には、深い凹部又は穴を示す著しい残差フローを用いて表面に鋭いエッジがあるかどうかのテストが含まれる。例として、DNNベースの実施態様では、水たまりの疑いのある領域のエッジは、ガンマワープされた画像で静止しているエッジ特徴について解析され得る。水たまりの疑いのある領域は、写真測量の制約のみを使用する場合に(例えば、負の方向に規定されたしきい値を超える場合)、大きな負のガンマ値を有するものとして識別される。
【0175】
一例では、前処理した(例えば、ワープされた、整列され、安定化された)画像が得られる。これらの前処理した画像は、道路のプロファイリング操作の一部として生成された可能性があり、特に水たまりの検出のために生成されていない。ここでは、前処理した画像を利用できるため、システムが画像を新たに前処理する必要があるシステムと比較して、特徴検出の計算効率及び検出速度が向上する。
【0176】
図25は、一実施形態による、プリプロセッサエンジンの例を示す。図示されるように、プリプロセッサエンジン2572は、基準フレームエンジン2502、ホモグラフィエンジン2504、画像ワーピングエンジン2506、エピポール画像生成エンジン2508、及び動き情報画像生成エンジン2510を含む。
【0177】
EM情報2554は、基準フレームエンジン2502及び動き情報画像生成エンジン2510への入力として供給される。この例では、EM情報2554は、車両内の動き感知装置から提供又は導出された回転(R)情報2512及び並進(T)情報2514を含む。GP情報2558は、基準フレームエンジン2502に提供される。図示されるように、GP情報2558は、道路平面のデフォルトの平面法線ベクトルインジケータ、N2516を含む。
【0178】
取り込み画像2566は、基準フレームエンジン2502、ホモグラフィエンジン2504、及び画像ワーピングエンジン2506に提供される。取り込み画像2566は、視野内の道路の同じ部分から取り込まれた画像フレームのシーケンス2518(例えば、第1の画像フレームA、第2の画像フレームB、及び第3の画像フレームC)を含む。一例では、画像フレームのシーケンス2518は、わずか2つの画像フレーム、3つの画像フレーム、又は4つ以上の画像フレームを有してもよい。
【0179】
カメラの高さ情報2564は、基準フレームエンジン2502及び動き情報画像生成エンジン2510に提供される。一例では、カメラの高さ情報2564は、公称カメラ高さを表す固定値2520を含む。一例では、カメラの高さ情報2564は、現在のカメラ高さを報告する動的インジケータを含み、このインジケータは車両のサスペンション状態等の変数を考慮する。
【0180】
一例では、基準フレームエンジン2502は、EM情報2554に基づいて、GP情報2558からの地面のマークを地面の更新された表現に調整するように構成される。これは、安定した基準面に対する道路プロファイル出力が望ましい場合に重要であり得る。例として、地面の平面法線ベクトルは、以下に従って調整される。
N(t)=αF[N(t-1),R,T]+βNcurr+γNhist
ここで、N(t)は、方向及び大きさの情報を含む、更新された平面法線ベクトルを表す。例えば、N(t)は、カメラの高さ(すなわち、本明細書では、camHとも呼ばれる、地面Dまでの距離)で割った平面法線ベクトルNを表すことができる。一例では、N及びDは、同じα、β、δ係数を用いて個別に更新できる。
(Nnew;Dnew)=0:8_updatedR;T
(Nprev;Dprev)+0:1_(Ncurr;Dcurr)+0:1_history(Ncurr;Dcurr
【0181】
ホモグラフィエンジン2504は、画像フレーム2518のペアの間のホモグラフィを計算するように構成される。本文脈における用語「ホモグラフィ」は、直線を直線にマッピングする射影空間からそれ自体への可逆変換を指す。コンピュータビジョンの分野では、空間内の同じ平面の2つの画像がホモグラフィによって関連付けられる(ピンホールカメラモデルを想定)。与えられたホモグラフィは、計算により表され、行列として処理され得る(アレイ又は他の適切なデータ構造で実現され得る)。
【0182】
一例として、道路の第1の画像フレームAから道路の第2の画像フレームBへの変換を表す第1のホモグラフィHABは、ホモグラフィエンジン2504によって計算される。第1のホモグラフィHABは、第1の画像フレームAにおける道路の一致する画像ポイントと、第2の画像フレームBにおける道路の対応する画像ポイントのセットから計算され得る。
【0183】
一例では、ホモグラフィHは、エゴモーション及び地面情報に基づいて、次のように表され得る。
【数8】
ここで、R及びTはそれぞれEM2554からの(例えば、フレームAからフレームBへの)回転及び並進を表し、camHはカメラの高さ情報2564からのカメラの高さを表し、NはGP2558からの平面法線ベクトルを表し、K及びK-1は校正要素を表す。
【0184】
道路の第2の画像フレームBから道路の第3の画像フレームCへの変換を表す第2のホモグラフィHBCはまた、ホモグラフィエンジン2504によって、第2の画像フレームBにおける道路上の一致する画像ポイントと、第3の画像フレームCにおける道路の対応する画像ポイントから計算してもよい。
【0185】
ホモグラフィエンジン2504は、行列乗算等によって、第1及び第2のホモグラフィHAB及びHBCをさらに連鎖させることができる。連鎖ホモグラフィを初期推定として用いることにより、第3のホモグラフィHACを計算でき、これは、道路の第1の画像から道路の第3の画像への変換を表す。
【0186】
一例では、ホモグラフィエンジン2504は、画像フレーム同士の間のエゴモーションを使用してホモグラフィを計算する。例えば、第1の画像フレームAと第2の画像フレームBとの間で測定された回転(RABで示される)は、第1の画像フレームAと第2の画像フレームBとの間の並進TABと一緒に、第2の画像フレームBと第3の画像フレームCとの間の回転及び並進(RBC及びTBCで示される)にそれぞれ連鎖される。このエゴモーション連鎖は、第1の画像フレームAと第3の画像フレームCとの間の回転及び並進(RAC及びTACで示される)の決定を生成する。ホモグラフィエンジン2504は、エゴモーションRAB及びTABを使用して、フレームCの座標フレームでフレームB及びCを用いて計算された平面法線である平面法線ベクトルNBCを更新する。それは、第2及び第3の画像フレームB及びCに共通の安定化基準面を表す。ホモグラフィエンジン2504は、3つの画像A、B、及びCのシーケンスに関連する全てのホモグラフィに使用可能な安定化基準フレームを表す更新された平面法線ベクトル(例えば、NBC)を決定する。次に、ホモグラフィエンジン2504は、回転RAC、並進TAC、及び平面法線NACに基づいて、第1の画像フレームAと第3の画像フレームCとの間の画像フレームの移行に関するホモグラフィHACを構成する。
【0187】
一例では、プレワーピング後のロバスト追跡を適用して、ホモグラフィを計算する。これは、エゴモーション及び平面推定値を導出して、以前の平面推定値を調整するために使用される。エゴモーションと調整済み平面モデルとを組み合わせて、ホモグラフィを取得する。一例として、エゴモーションは、エゴモーションセンサ及び処理エンジンによって提供してもよい。このタイプのエンジンは、基本行列を用いて、道路上のポイント及び道路の上のポイントのロバスト追跡を使用する。それはまた、利用可能な慣性センサ及び速度計の情報を組み合わせる。地面情報は、地面エンジンによって提供される。このエンジンは、道路上のポイント(プリワープ後)を追跡し、次に、計算されたエゴモーションを使用して各ポイントまでの深度を導出し、ポイントの3D座標を生成する。その後に、平面表面が3Dポイントにアルゴリズム的にフィッティングされる。エゴモーションと平面表面とを組み合わせて、ホモグラフィを提供する。
【0188】
一例では、路面のそれぞれのパラメトリックモデルが実装され得る。例えば、3Dスプラインモデルが、通信可能に結合された運転経路ジオメトリ又は物体感知サブシステムによって提供される。そのような1つのサブシステムの例として、Intel社の子会社であるMobileyeeによって製造されたRoad Experience Management(商標)(REM(商標))エンジンは、3Dスプラインの形式で道路特徴の表現を提供し得る。例えば、車線マークは3Dスプラインとして表すことができる。サブシステムは、3Dスプライン特徴表現を画像に位置合わせする。3Dスプライン特徴表現は、取り込まれた道路の画像に逆投影され、さらに処理される。
【0189】
3Dスプラインからの各ポイントは3D座標を有する。一例では、このデータは、取り込み画像の行に沿った3Dスプラインに関連付けられた3D位置を内挿及び外挿するために使用できる。側面への外挿は、ゼロ次ホールド(つまり、一定)、1次ホールド(例えば、2つのスプラインに基づく線形拡張)等であり得る。一例では、内挿は、特定のスプラインの、画像自体の外側にある仮想画像座標への既知の拡張で発生する可能性がある。
【0190】
内挿及び外挿は、画像の下部の全てのポイントについて3D座標を生成することができる。これらのポイントは、滑らかな3D表面上にあり得る。次に、この表面を使用して、以前の画像を現在の画像に向けて(又はその逆に)ワープさせることができる。
【0191】
(例えば、図22及び図23を参照して説明されるような)複数の重複するビューへのアクセスを有する一例では、ホモグラフィは、ホモグラフィエンジン2504によって、視野の組合せを用いて計算され得る。例えば、平面路面の重なり合う領域を位置合わせするホモグラフィは、前方左視野2300Aから前方中央視野2300B(時間t2)で取得でき、このホモグラフィは、前方左視野2300Cの画像を前方中央視野2300Bの画像にワープするために使用できる。さらに、ホモグラフィは、時間t1での前方中央視野2300Bの画像と時間t2での前方中央視野2300Bの画像との間で(単眼の場合のように)計算され得る。さらに、ホモグラフィは、前方左視野2300Aの画像(時間t1)から前方中央視野2300Bの画像(これも時間t1)で計算され得る。このホモグラフィを用いて、前方左視野2300Aの画像(時間t1)をチェーン(連鎖)ワープして、前方中央視野2300Bの画像(時間t2)と位置合わせすることができる。
【0192】
一例では、前方左視野2300Aの画像(時間t1)と前方中央視野2300Bの画像(これも時間t1)との間のホモグラフィは、前方中央視野2300Aの画像(時間t1)と前方中央視野の画像(時間t2)との間のホモグラフィに使用される平面法線と、焦点距離及びレンズの歪み等の各カメラの内部較正パラメータと合わせた左前方カメラ2212A及び前方中央カメラ2212Bの既知の位置(外部較正)とから導出される。
【0193】
この技術は、グローバルシャッターカメラで使用することができるが、ローリングシャッターカメラの場合に、又は非同期カメラの場合にエラーを導入する可能性がある。後者の場合に、2つのカメラの相対位置は、3Dポイントと、重複する路面同士の間の追跡ポイントを使用し、ホモグラフィを計算することにより、画像から取得できる。位置合せに使用されるホモグラフィは、通常、一貫した地面を使用するため、追跡からのホモグラフィは分解されて相対運動を与え、この動き及び一貫した地面の法線を用いて新しいホモグラフィが構築され得る。
【0194】
画像ワーピングエンジン2506は、3つの画像フレーム2518のうちの2つに対してワーピング操作を実行するように構成される。例えば、第1の画像フレームAは第3の画像フレームCにワープされ、第2の画像フレームBは第3の画像フレームCにワープされる。この例では、画像フレームCは現在の画像を表すことができ、画像フレームBは以前の画像を表し、画像フレームAはさらに以前の画像を表す。
【0195】
エピポール画像生成エンジン2508は、1つ又は複数の画像の形式でエピポール位置データ2578を生成するように構成される。エピポールは、前進運動の方向を表すベクトルである。一例では、画像形式のエピポール位置データ2578は、画像のペアを含み、各画像は、画像フレームA、B、及びCと同じ又は同様の解像度を有する。エピポール位置データを表す画像ペアの第1の画像には、x軸に沿ったエピポールからのそれぞれの距離を表す「ピクセル」が含まれている。エピポール位置データを表す画像ペアの第2の画像には、y軸に沿ったエピポールからのそれぞれの距離を表す「ピクセル」が含まれている。
【0196】
動き情報画像生成エンジン2510は、車両の測定された動きを表す画像形式の動きマーク2576を生成するように構成される。画像形式の動きマーク2576は、例えば、エピポール位置データ2578と同じ寸法を有することができる。画像形式の動きマーク2576のコンテンツには、車両の動きを表す固定値を有する「ピクセル」が含まれ得る。一例では、画像形式の動きマーク2576における車両の動きは、EM2554に基づいてもよい。一例では、画像形式の動きマーク2576における車両の動きは、カメラの高さ情報2564にさらに基づく。一例では、例えば、カメラの高さに対する前方(z軸)方向に沿った現在の移動量(measure of translation)の比(Tz/Dとして表される)は、画像形式のデータ構造2576における画像の各「ピクセル」の一定値として提供される。
【0197】
図26は、一実施形態による、カメラを用いた車両環境モデリングのための方法2600の例のフロー図を示す。方法260の動作は、上記又は下記のような計算ハードウェア(例えば、処理回路)で実行される。
【0198】
動作2605では、路面を表す時間順に並べられた画像シーケンスが取得される。ここで、画像シーケンスのうちの1つの画像は、現在の画像を含む。
【0199】
動作2610では、データセットが、シーンの3次元構造を生成するためにANNに提供される。一例では、データセットは画像シーケンスの一部を含み、画像シーケンスの一部には、現在の画像、画像を取り込んだセンサの動き、及びエピポールが含まれる。一例では、画像シーケンスの一部には、現在の画像の直前の画像が含まれる。一例では、画像シーケンスの一部は合計で3つの画像である。一例では、画像シーケンスの一部には、画像シーケンス内の1つ又は複数の画像によって分離される現在の画像に先行する画像が含まれる。
【0200】
一例では、エピポールは、現在の画像と同じ次元を有するグラデーション画像として提供される。ここで、グラデーション画像のピクセルの値は、現在の画像のピクセルのエピポールからの距離を表す。一例では、ベースラインは少なくとも0.5mである。一例では、グラデーション画像は、現在の画像よりも低い解像度である。一例では、グラデーション画像は、エピポールからの水平距離のみを表す。一例では、第2のグラデーション画像が、エピポールからの垂直距離を表すためにANNに提供される。
【0201】
一例では、センサの動きは、現在の画像と同じ次元を有する一定値の画像として提供される。一例では、一定値は、センサの前進運動を平面からのセンサの高さで割った比である。
【0202】
一例では、シーンの3次元構造はガンマ画像である。ここで、ガンマ画像は、平面の上の(above)ポイントの高さを現在の画像を取り込むセンサからの距離で割った比であるガンマ値を有するピクセルを含み、平面は路面を表す。
【0203】
一例では、ANNは、畳み込みニューラル・ネットワーク(CNN)である。一例では、センサの動き及びエピポールは、ボトルネック層でCNNに提供される。
【0204】
一例では、ANNは、教師なしのトレーニング手法でトレーニングされ、この手法では、エラーが、未来の画像のモデルと未来の画像との間の差を測定することによって決定される。ここで、未来の画像のモデルは、未来の画像より前の画像のガンマ・ワーピングによって生成される。一例では、ANNは、教師なしのトレーニング手法でトレーニングされ、この手法では、エラーが、ある位置の予測ガンマとその位置でのセンサの動きとの間の差を測定することによって決定され、センサの動きは、ピッチ、ヨー、ロール、又は平面に対して垂直な並進を含む。一例では、ANNは、教師なしのトレーニング手法でトレーニングされ、この手法では、エラーが、2つの異なる時間における2つの画像の間の重複するセグメントのガンマの差によって決定される。ここでは、推定は第1の画像に対して実行され、重複するセグメントは第2の画像においてセンサに近くなる。
【0205】
動作2615では、路面は、シーンの3次元構造を用いてモデル化される。一例では、路面のモデリングには、シーンの3次元構造を第2のANNからの出力と比較することによって反射領域を特定することが含まれる。ここで、第2のANNは、画像シーケンスの一部を受け入れ、第2の3次元構造を生成するようにトレーニングされる。第2のANNのトレーニングには、第1のANNをトレーニングするよりも、画像シーケンスの一部において写真測量法による損失(写真測量的損失)が多く含まれていた。一例では、ANN及び第2のANNは、2つのチャネル出力を生成するようにトレーニングされた単一のANNとして実現される。ここで、第1のチャネルはシーンの3次元構造であり、第2のチャネルは、トレーニングでより多くの写真測量的損失を使用した第2のANNによって生成された3次元構造である。一例では、路面のモデリングには、路面特徴の平面からの垂直偏差の計算が含まれる。
【0206】
一例では、方法2600は、3次元構造を用いて第2のANNを呼び出して、特徴が路面の環境内で動いている物体又は動いていない物体を表すかどうかを判定するこすことを含むように拡張される。一例では、3次元構造を用いて第2のANNを呼び出すことには、現在の画像、3次元構造を用いてワープされた以前の画像、及びターゲット識別子を第2のANNに提供することが含まれる。一例では、ターゲット識別子は、画像のピクセルがターゲットの中心からの距離を示す画像である。一例では、ターゲット識別子には、ターゲットのサイズが含まれる。一例では、ターゲット識別子は、ターゲットに対応するピクセルのマスクである。
【0207】
図27は、本明細書で議論する手法(例えば、方法論)のいずれか1つ又は複数を実行し得る例示的なマシン2700のブロック図を示す。本明細書で説明する例は、マシン2700内の論理又はいくつかの構成要素、又は機構を含み得るか、又はそれらによって動作し得る。回路(例えば、処理回路)は、ハードウェア(例えば、単純な回路、ゲート、ロジック等)を含むマシン2700の有形エンティティに実装される回路の集まりである。回路メンバーシップは、時間の経過とともに柔軟になり得る。回路には、単独又は組み合わせて、動作時に特定の動作を実行し得るメンバーが含まれる。一例では、回路のハードウェアは、特定の動作を実行するように不変に設計することができる(例えば、ハードワイヤード)。一例では、回路のハードウェアは、特定の動作の命令を符号化するために物理的に修正された機械可読媒体(例えば、磁気的、電気的、不変質量粒子の可動配置等)を含む、可変的に接続された物理コンポーネント(例えば、実行ユニット、トランジスタ、単純な回路等)を含み得る。物理コンポーネントを接続する際に、ハードウェア構成の基本的な電気的特性が、例えば、絶縁体から導体に、又はその逆に変更される。命令により、組込みハードウェア(例えば、実行ユニット又はローディングメカニズム)が、可変接続を介してハードウェア内に回路のメンバーを作成し、動作時に特定の動作の一部を実行できる。従って、一例では、機械可読媒体要素は、回路の一部であるか、又は装置が動作しているときに回路の他の構成要素に通信可能に結合される。一例では、物理コンポーネントのいずれも、複数の回路の複数の部材で使用してもよい。例えば、動作中に、実行ユニットは、ある時点で第1の回路の第1の回路で使用され、第2の回路によって第1の回路で再利用され、又は異なる時間に第3の回路によって第2の回路で再利用され得る。マシン2700に関するこれらの構成要素の追加の例を以下に示す。
【0208】
一例では、マシン2700は、スタンドアロン装置として動作することができ、又は他のマシンに接続する(例えば、ネットワーク化する)ことができる。ネットワーク化された配置では、マシン2700は、サーバクライアントネットワーク環境において、サーバマシン、クライアントマシン、又はその両方の能力で動作することができる。一例では、マシン2700は、ピアツーピア(P2P)(又は、他の分散型)ネットワーク環境においてピアマシンとして機能することができる。マシン2700は、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、携帯電話、ウェブアプライアンス、ネットワークルータ、スイッチ又はブリッジ、或いはそのマシンが実行する動作を指定する命令(順次又は他のもの)を実行できる任意のマシンであってもよい。さらに、単一のマシンのみが示されているが、「マシン(機械)」という用語は、本明細書で議論するクラウドコンピューティング、サービスとしてのソフトウェア(SaaS)、他のコンピュータクラスター構成等の方法論のいずれか1つ又は複数を実行する命令のセット(又は、複数のセット)を個別又は共同で実行するマシンの集まりも含むと解釈されものとする。
【0209】
マシン(例えば、コンピュータシステム)2700は、ハードウェアプロセッサ2702(例えば、中央処理装置(CPU)、グラフィック処理装置(GPU)、ハードウェアプロセッサコア、又はこれらの任意の組合せ)、メインメモリ2704、スタティックメモリ(例えば、ファームウェア、マイクロコード、基本入出力(BIOS)、統合拡張ファームウェアインターフェイス(UEFI)等のメモリ又はストレージ)2706、及び大容量ストレージ2708(例えば、ハードドライブ、テープドライブ、フラッシュストレージ、又は他のブロック装置)を含み得、これらの一部又は全ては、インターリンク(例えば、バス)2730を介して互いに通信することができる。マシン2700は、表示ユニット2710、英数字入力装置2712(例えば、キーボード)、及びユーザインターフェイス(UI)ナビゲーション装置2714(例えば、マウス)をさらに含み得る。一例では、表示ユニット2710、入力装置2712、及びUIナビゲーション装置2714は、タッチスクリーンディスプレイであり得る。マシン2700は、ストレージ装置(例えば、ドライブユニット)2708、信号生成装置2718(例えば、スピーカー)、ネットワークインターフェイス装置2720、及び全地球測位システム(GPS)センサ、コンパス、加速度計、又は他のセンサ等の1つ又は複数のセンサ2716をさらに含み得る。マシン2700は、シリアル(例えば、ユニバーサルシリアルバス(USB)、パラレル、又は他の有線又は無線(例えば、赤外線(IR)、近距離無線通信(NFC)等)接続等の出力コントローラ2728を含み、1つ又は複数の周辺装置(プリンタ、カードリーダー等)と通信する又はそれを制御することができる。
【0210】
プロセッサ2702、メインメモリ2704、スタティックメモリ2706、又は大容量ストレージ2708のレジスタは、データ構造又は命令2724(例えば、ソフトウェア)の1つ又は複数のセットが格納される機械可読媒体2722であり得るか、又はそれを含み得、媒体2722は、本明細書に記載された技術又は機能のいずれか1つ又は複数を具体化又は利用する。命令2724はまた、マシン2700によるそれらの実行中に、プロセッサ2702、メインメモリ2704、スタティックメモリ2706、又は大容量ストレージ2708のいずれかのレジスタ内に完全に又は少なくとも部分的に常駐し得る。一例では、ハードウェアプロセッサ2702、メインメモリ2704、スタティックメモリ2706、又は大容量ストレージ2708の1つ又は任意の組合せは、機械可読媒体2722を構成し得る。機械可読媒体2722が単一の媒体として示されているが、用語「機械可読媒体」媒体」は、1つ又は複数の命令2724を格納するように構成された単一の媒体又は複数の媒体(例えば、集中型又は分散型データベース、及び/又は関連するキャッシュ及びサーバ)を含み得る。
【0211】
「機械可読媒体」という用語は、マシン2700による実行のための命令を格納、符号化、又は搬送することができ、且つマシン2700に本開示の手法の1つ又は複数を実行させる任意の媒体を含むことができる、或いはそのような命令によって使用される、又はそのような命令に関連するデータ構造を格納、符号化、又は搬送することができる任意の媒体を含むことができる。非限定的な機械可読媒体の例には、固体メモリ、光媒体、磁気媒体、及び信号(例えば、無線周波数信号、他の光子ベースの信号、音声信号等)が含まれ得る。一例では、非一時的な機械可読媒体は、不変の(例えば、静止)質量を有する複数の粒子を有する機械可読媒体を含み、こうして、組成物である。従って、非一時的な機械可読媒体は、一時的な伝播信号を含まない機械可読媒体である。非一時的な機械可読媒体の特定の例には、半導体メモリ装置(例えば、電気的にプログラム可能な読み取り専用メモリ(EPROM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM))及びフラッシュメモリ装置等の不揮発性メモリ;内蔵ハードディスクやリムーバブルディスク等の磁気ディスク;光磁気ディスク;並びにCD-ROM及びDVD-ROMディスクが含まれ得る。
【0212】
一例では、機械可読媒体2722上に格納又は他の方法で提供される情報は、命令2724自体、又はそこから命令2724が導出され得るフォーマット等、命令2724を表すことができる。命令2724が導出され得るこのフォーマットには、ソースコード、符号化された命令(例えば、圧縮又は暗号化された形式)、パッケージ化された命令(例えば、複数のパッケージに分割された)等が含まれ得る。機械可読媒体2722内の命令2724を表す情報は、処理回路によって、本明細書で議論する動作のいずれかを実施するために、命令として処理され得る。例えば、情報(例えば、処理回路による処理)からの命令2724の導出には、コンパイル(例えば、ソースコード、オブジェクトコード等から)、解釈、ロード、整理(例えば、動的又は静的リンク)、符号化、復号化、暗号化、非暗号化、パッケージ化、非パッケージ化、又は他の方法で情報を命令2724に操作することが含まれ得る。
【0213】
一例では、命令2724の導出には、機械可読媒体2722によって提供されるいくつかの中間又は前処理したフォーマットから命令2724を作成するための(例えば、処理回路による)情報のアセンブル、コンパイル、又は解釈が含まれ得る。情報は、命令2724を作成するために、複数の部分で提供される場合に、結合され、アンパックされ、修正され得る。例えば、情報は、1つ又は複数のリモートサーバで複数の圧縮ソースコードパッケージ(又は、オブジェクトコード、又はバイナリ実行可能コード等)に含まれ得る。ソースコードパッケージは、ネットワーク経由で転送されるときに暗号化され、必要に応じて復号化、非圧縮、アセンブル(リンク付け等)され、ローカルマシンで(例えば、ライブラリ、スタンドアロン実行可能ファイル等に)コンパイル又は解釈され、ローカルマシンによって実行され得る。
【0214】
命令2724は、いくつかの転送プロトコル(例えば、フレームリレー、インターネットプロトコル(IP)、送信制御プロトコル(TCP)、ユーザデータグラムプロトコル(UDP)、ハイパーテキスト転送プロトコル(HTTP)等)のうちのいずれか1つを利用するネットワークインターフェイス装置2720を介した伝送媒体を用いて、通信ネットワーク2726を介してさらに送信又は受信され得る。例示的な通信ネットワークには、特に、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、パケットデータネットワーク(例えば、インターネット)、携帯電話ネットワーク(例えば、セルラーネットワーク)、従来型の電話(POTS)ネットワーク、及びワイヤレスデータネットワーク(例えば、Institute of Electrical and Electronics Engineers(IEEE)802.11ファミリの規格であるWi―Fi(登録商標)、IEEE802.16ファミリの規格であるWiMax(登録商標))、IEEE802.15.4ファミリの規格、ピアツーピア(P2P)ネットワークが含まれ得る。一例では、ネットワークインターフェイス装置2720は、通信ネットワーク2726に接続するための1つ又は複数の物理ジャック(例えば、イーサネット、同軸、又は電話ジャック)、或いは1つ又は複数のアンテナを含むことができる。一例では、ネットワークインターフェイス装置2720は、単一入力複数出力(SIMO)、複数入力複数出力(MIMO)、又は複数入力単一出力(MISO)技術のうちの少なくとも1つを用いて無線通信するための複数のアンテナを含み得る。「伝送媒体」という用語は、マシン2700による実行のための命令を格納、符号化、又は搬送することができ、そのようなソフトウェアの通信を容易にするためのデジタル又はアナログ通信信号又は他の無形媒体を含む無形媒体を含むと解釈されるものとする。伝送媒体は機械可読媒体である。
【0215】
図28は、ハードウェアコンポーネントとソフトウェアコンポーネントとの間の様々なインターフェイスが示されているコンピュータ装置の例示的なハードウェア及びソフトウェアアーキテクチャを示す図である。HWで示されるように、ハードウェアコンポーネントは分割線の下に表示されるが、SWで示されるソフトウェアコンポーネントは分割線の上にある。ハードウェア側では、処理装置2802(1つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ等を含み得、それぞれが1つ又は複数のプロセッサコアを有する)は、メモリ管理装置2804及びシステム相互接続2806とインターフェイスする。メモリ管理装置2804は、実行されているプロセスによって使用される仮想メモリと物理メモリとの間のマッピングを提供する。メモリ管理装置2804は、処理装置2802も含み得る中央処理装置の一体部分とすることができる。
【0216】
相互接続2806は、メモリ、データ、及び制御線等のバックプレーン、並びに入出力装置とのインターフェイス、例えば、PCI、USB等を含む。メモリ2808(例えば、ダイナミックランダムアクセスメモリ:DRAM)と、フラッシュメモリ(例えば、電気的に消去可能な読み取り専用メモリ:EEPROM、NANDフラッシュ、NORフラッシュ等)等の不揮発性メモリ2809とが、メモリコントローラ2810を介してメモリ管理装置2804及び相互接続2806とインターフェイス接続される。一例では、このアーキテクチャは、周辺装置によるダイレクトメモリアクセス(DMA)をサポートし得る。ビデオ及びオーディオアダプタ、不揮発性ストレージ、USB、Bluetooth(登録商標)等の外部周辺機器リンクを含むI/O装置と、Wi―Fi(登録商標)又はLTEEファミリーインターフェイスを介して通信する装置等のネットワークインターフェイス装置とが、集合的にI/O装置及びネットワーキング2812として表され、対応するI/Oコントローラ2814を介して相互接続2806とインターフェイス接続する。
【0217】
ソフトウェア側では、プレオペレーティングシステム(プレOS)環境2816は、初期オペレーティングシステムの起動時に実行され、オペレーティングシステムのブートアップの開始を担う。プレOS環境2816の1つの伝統的な例は、システムの基本入出力システム(BIOS)である。現在のシステムでは、統合拡張ファームウェアインターフェイス(UEFI)が実装される。プレOS環境2816は、オペレーティングシステムの起動の開始を担うが、本発明の特定の態様による組込みアプリケーションのための実行環境も提供する。
【0218】
オペレーティングシステム(OS)2818は、ハードウェア装置を制御し、メモリ内のプログラムのメモリアクセスを管理し、タスクを調整し、マルチタスクを容易にし、格納されるデータを整理し、メモリ空間及び他のリソースを割り当て、プログラムバイナリコードをメモリにロードし、アプリケーションプログラムの実行を開始してユーザ及びハードウェア装置と対話し、規定された様々な割り込みを検出して応答するカーネルを提供する。また、オペレーティングシステム2818は、装置ドライバ、及び周辺装置やネットワークとのインターフェイスを容易にする様々な一般的なサービスを提供し、アプリケーションプログラムに抽象化を提供して、アプリケーションがそのような一般的な操作の詳細を処理する必要がないようにする。オペレーティングシステム2818は、モニター、キーボード、マウス、マイク、ビデオカメラ、タッチスクリーン等の周辺装置を介してユーザとの対話を容易にするグラフィカルユーザインターフェイス(GUI)をさらに提供する。
【0219】
ランタイムシステム2820は、関数呼び出しの前にスタックにパラメータを置くこと、ディスク入出力(I/O)の行動、及び並列実行関連の行動等の操作を含む、実行モデルの一部を実装する。ランタイムシステム2820はまた、タイプチェック、デバッグ、又はコード生成及び最適化等のサポートサービスを実行し得る。
【0220】
ライブラリ2822は、アプリケーションプログラムに更なる抽象化を提供するプログラム機能のコレクションを含む。これらのコレクションには、例えば、共有ライブラリ、ダイナミックリンクライブラリ(DLL)が含まれる。ライブラリ2822は、オペレーティングシステム2818、ランタイムシステム2820に統合することができ、又は追加機能、又はリモートでホストすることさえできる。ライブラリ2822は、アプリケーションプログラムインターフェイス(API)を規定し、このAPIを介して、アプリケーションプログラム2824が様々な関数呼び出しを行って、オペレーティングシステム2818が提供するサービスを呼び出すことができる。アプリケーションプログラム2824は、コンピュータ装置自体の基本的な操作性を調整する下位レベルのシステムプログラムによって実行されるタスクを超えて、ユーザに有用なタスクを実行するプログラムである。
【0221】
図29は、一実施形態による処理装置2902を示すブロック図である。一例では、図示された2つ以上の処理装置2902は、共通の半導体基板上に形成される。CPU2940は1つ又は複数の処理コア2942を含むことができ、そのそれぞれに、プロセッサの特定のアーキテクチャに従って、1つ又は複数の算術論理演算ユニット(ALU)、命令フェッチユニット、命令デコードユニット、制御ユニット、レジスタ、データスタックポインタ、プログラムカウンタ、及び他の必須コンポーネントがある。例示的な例として、CPU2940は、x86タイプのプロセッサであり得る。処理装置2902は、グラフィック処理装置(GPU)2944も含み得る。一例では、GPU2944は、特定の計算集約型演算、特にグラフィックレンダリングに関連するものをCPU2940からオフロードする特殊なコプロセッサであり得る。特に、CPU2940及びGPU2944は、一般的に協調して動作し、メモリリソース、I/Oチャネル等へのアクセスを共有する。
【0222】
一例では、処理装置2902は、管理人(caretaker)プロセッサ2946も含むことができる。管理人プロセッサ2946は、通常、CPU2940及びGPU2944が行うようなソフトウェアコードを実行するための処理作業には参加しない。一例では、管理人プロセッサ2946は、CPU2940及びGPU2944とメモリ空間を共有せず、従って、オペレーティングシステム又はアプリケーションプログラムを実行するように構成されていない。代わりに、管理人プロセッサ2946は、CPU2940、GPU2944、及びコンピュータシステムの他の構成要素の技術的動作をサポートする専用ファームウェアを実行することができる。一例では、管理人プロセッサは、マイクロコントローラ装置として実装され、CPU2940と同じ集積回路ダイ上に物理的に存在してもよく、又は別個の集積回路ダイ上に存在してもよい。管理人プロセッサ2946はまた、外部エンティティと通信することを可能にするための専用のI/O設備のセットを含み得る。1つのタイプの実施形態では、管理人プロセッサ2946は、管理エンジン(ME)又はプラットフォームセキュリティプロセッサ(PSP)を用いて実装される。入力/出力(I/O)コントローラ2948は、様々な処理装置2940、2944、2946の間の情報フローを調整するとともに、システム相互接続等の外部回路との情報フローを調整する。
【0223】
図30は、一実施形態によるCPU3040の例示的な構成要素を示すブロック図である。図示されるように、CPU3040は、1つ又は複数のコア3052、キャッシュ3054、及びCPUコントローラ3056を含み、CPUコントローラ3056は、コア3052の相互利用及びタスクを調整するとともに、CPU3040の様々な内部コンポーネント同士の間のデータフロー及びメモリバスやシステム相互接続等の外部構成要素とのデータフローを容易にするインターフェイスを提供する。一実施形態では、CPU3040の例示的なコンポーネントの全ては、共通の半導体基板上に形成される。
【0224】
CPU3040は、初期化エンジン及びマイクロコード等の基本コードの特定の部分を格納するための不揮発性メモリ3058(例えば、フラッシュ、EEPROM等)を含む。また、CPU3040は、システムBIOS又はUEFIコード等の、初期化エンジンによって起動される基本コードを格納する外部(例えば、別個のIC上に形成される)不揮発性メモリ装置3060とインターフェイス接続され得る。
【0225】
他の注意事項及び例
例1は、路面をモデル化するための装置であり、この装置は、路面を表す時間順に並べられた画像シーケンスを得るためのハードウェアセンサ・インターフェイスであって、画像シーケンスのうちの1つの画像が現在の画像である、ハードウェアセンサ・インターフェイスと;処理回路と;を含み、処理回路は、データセットを人工ニューラル・ネットワーク(ANN)に提供して、シーンの3次元構造を生成することであって、データセットには、現在の画像を含む画像シーケンスの一部、センサの動き、及びエピポールが含まれる、生成すること;及びシーンの3次元構造を用いて路面をモデル化すること;を行う。
【0226】
例2は、例1の主題を含み、画像シーケンスの一部には、現在の画像の直前の画像が含まれる。
【0227】
例3は、例2の主題を含み、画像シーケンスの一部は合計3つの画像である。
【0228】
例4は、例1~3の主題を含み、画像シーケンスの一部には、画像シーケンス内の1つ又は複数の画像によって分離される現在の画像に先行する画像が含まれる。
【0229】
例5は、例1~4の主題を含み、エピポールは、現在の画像と同じ次元を有するグラデーション画像として提供され、グラデーション画像内のピクセルの値が、現在の画像内のピクセルのエピポールからの距離を表す。
【0230】
例6は、例5の主題を含み、ベースラインが少なくとも0.5mである。
【0231】
例7は、例5~6の主題を含み、グラデーション画像は、現在の画像よりも低い解像度である。
【0232】
例8は、例5~7の主題を含み、グラデーション画像は、エピポールからの水平距離のみを表し、第2のグラデーション画像が、エピポールからの垂直距離を表すためにANNに提供される。
【0233】
例9は、例1~8の主題を含み、センサの動きは、現在の画像と同じ次元を有する一定値の画像として提供される。
【0234】
例10は、例9の主題を含み、一定値は、センサの前進運動を平面からのセンサの高さで割った比である。
【0235】
例11は、例1~10の主題を含み、シーンの3次元構造はガンマ画像であり、ガンマ画像は、平面の上のポイントの高さを現在の画像を取り込むセンサからの距離で割った比であるガンマ値を有するピクセルを含み、その平面は路面を表す。
【0236】
例12は、例1~11の主題を含み、路面をモデル化するために、処理回路は、シーンの3次元構造を第2のANNからの出力と比較することによって反射領域を特定し、第2のANNは、画像シーケンスの一部を受け入れ、第2の3次元構造を生成するようにトレーニングされ、第2のANNのトレーニングでは、画像シーケンスの一部で第1のANNのトレーニングよりもより多くの写真測量的損失が使用される。
【0237】
例13は、例12の主題を含み、ANN及び第2のANNは、2つのチャネル出力を生成するようにトレーニングされた単一のANNとして実装され、第1のチャネルはシーンの3次元構造であり、第2のチャネルは、第2のANNによって生成された、トレーニングでより多くの写真測量的損失を使用した3次元構造である。
【0238】
例14は、例1~13の主題を含み、処理回路は、3次元構造を用いて第2のANNを呼び出して、特徴が、路面の環境内で動いている物体又は動いていない物体を表すかどうかを判定するように構成される。
【0239】
例15は、例14の主題を含み、3次元構造を用いて第2のANNを呼び出すために、処理回路は、現在の画像、3次元構造を用いてワープされた以前の画像、及びターゲット識別子を第2のANNに提供する。
【0240】
例16は、例15の主題を含み、ターゲット識別子は、画像のピクセルがターゲットの中心からの距離を示す画像である。
【0241】
例17は、例15~16の主題を含み、ターゲット識別子には、ターゲットのサイズが含まれる。
【0242】
例18は、例15~17の主題を含み、ターゲット識別子は、ターゲットに対応するピクセルのマスクである。
【0243】
例19は、例1~18の主題を含み、路面をモデル化するために、処理回路は、路面特徴の平面からの垂直偏差を計算する。
【0244】
例20は、例1~19の主題を含み、ANNは、畳み込みニューラル・ネットワーク(CNN)である。
【0245】
例21は、例20の主題を含み、センサの動き及びエピポールは、ボトルネック層でCNNに提供される。
【0246】
例22は、例1~21の主題を含み、ANNは、教師なしのトレーニング手法でトレーニングされ、この手法では、エラーが、未来の画像のモデルと未来の画像との間の差を測定することによって決定され、未来の画像のモデルは、未来の画像より前の画像のガンマ・ワーピングによって生成される。
【0247】
例23は、例1~22の主題を含み、ANNは、教師なしのトレーニング手法でトレーニングされ、この手法では、エラーが、ある位置の予測ガンマとその位置でのセンサの動きとの間の差を測定することによって決定され、センサの動きには、ピッチ、ヨー、ロール、又は平面に垂直な並進が含まれる。
【0248】
例24は、例1~23の主題を含み、ANNは、教師なしのトレーニング手法でトレーニングされ、この手法では、エラーが、2つの異なる時間における2つの画像の間の重複するセグメントのガンマの差によって決定され、推定は第1の画像に対して実行され、重複するセグメントは第2の画像においてセンサに近くなる。
【0249】
例25は、路面をモデル化する方法であり、この方法は、路面を表す時間順に並べられた画像シーケンスを取得するステップであって、画像シーケンスのうちの1つの画像が現在の画像である、取得するステップと;データセットを人工ニューラル・ネットワーク(ANN)に提供して、シーンの3次元構造を生成するステップであって、データセットには、現在の画像を含む画像シーケンスの一部、センサの動き、及びエピポールが含まれる、生成するステップと;シーンの3次元構造を用いて路面をモデル化するステップと;を含む。
【0250】
例26は、例25の主題を含み、画像シーケンスの一部には、現在の画像の直前の画像が含まれる。
【0251】
例27は、例26の主題を含み、画像シーケンスの一部は、合計3つの画像である。
【0252】
例28は、例25~27の主題を含み、画像シーケンスの一部には、画像シーケンス内の1つ又は複数の画像によって分離される現在の画像に先行する画像が含まれる。
【0253】
例29は、例25~28の主題を含み、エピポールは、現在の画像と同じ次元を有するグラデーション画像として提供され、グラデーション画像内のピクセルの値が、現在の画像内のピクセルのエピポールからの距離を表す。
【0254】
例30は、例29の主題を含み、ベースラインが少なくとも0.5mである。
【0255】
例31は、例29~30の主題を含み、グラデーション画像は、現在の画像よりも低い解像度である。
【0256】
例32は、例29~31の主題を含み、グラデーション画像は、エピポールからの水平距離のみを表し、第2のグラデーション画像が、エピポールからの垂直距離を表すためにANNに提供される。
【0257】
例33は、例25~32の主題を含み、センサの動きは、現在の画像と同じ次元を有する一定値の画像として提供される。
【0258】
例34は、例33の主題を含み、一定値は、センサの前進運動を平面からのセンサの高さで割った比である。
【0259】
例35は、例25~34の主題を含み、シーンの3次元構造はガンマ画像であり、ガンマ画像は、平面の上のポイントの高さを現在の画像を取り込むセンサからの距離で割った比であるガンマ値を有するピクセルを含み、その平面は路面を表す。
【0260】
例36は、例25~35の主題を含み、路面をモデル化するステップは、シーンの3次元構造を第2のANNからの出力と比較することによって反射領域を特定するステップを含み、第2のANNは、画像シーケンスの一部を受け入れ、第2の3次元構造を生成するようにトレーニングされ、第2のANNのトレーニングでは、画像シーケンスの一部で第1のANNのトレーニングよりもより多くの写真測量的損失が使用される。
【0261】
例37は、例36の主題を含み、ANN及び第2のANNは、2つのチャネル出力を生成するようにトレーニングされた単一のANNとして実装され、第1のチャネルはシーンの3次元構造であり、第2のチャネルは、第2のANNによって生成された、トレーニングでより多くの写真測量的損失を使用した3次元構造である。
【0262】
例38は、例25~37の主題を含み、3次元構造を用いて第2のANNを呼び出して、特徴が、路面の環境内で動いている物体又は動いていない物体を表すかどうかを判定するステップを含む。
【0263】
例39は、例38の主題を含み、3次元構造を用いて第2のANNを呼び出すステップは、現在の画像、3次元構造を用いてワープされた以前の画像、及びターゲット識別子を第2のANNに以下を提供するステップを含む。
【0264】
例40は、例39の主題を含み、ターゲット識別子は、画像のピクセルがターゲットの中心からの距離を示す画像である。
【0265】
例41は、例39~40の主題を含み、ターゲット識別子には、ターゲットのサイズが含まれる。
【0266】
例42は、例39~41の主題を含み、ターゲット識別子は、ターゲットに対応するピクセルのマスクである。
【0267】
例43は、例25~42の主題を含み、路面をモデル化するステップは、路面特徴の平面からの垂直偏差を計算するステップを含む。
【0268】
例44は、例25~43の主題を含み、ANNは、畳み込みニューラル・ネットワーク(CNN)である。
【0269】
例45は、例44の主題を含み、センサの動き及びエピポールは、ボトルネック層でCNNに提供される。
【0270】
例46は、例25~45の主題を含み、ANNは、教師なしのトレーニング手法でトレーニングされ、この手法では、エラーが、未来の画像のモデルと未来の画像との間の差を測定することによって決定され、未来の画像のモデルは、未来の画像より前の画像のガンマ・ワーピングによって生成される。
【0271】
例47は、例25~46の主題を含み、ANNは、教師なしのトレーニング手法でトレーニングされ、この手法では、エラーが、ある位置の予測ガンマとその位置でのセンサの動きとの間の差を測定することによって決定され、センサの動きには、ピッチ、ヨー、ロール、又は平面に垂直な並進が含まれる。
【0272】
例48は、例25~47の主題を含み、ANNは、教師なしのトレーニング手法でトレーニングされ、この手法では、エラーが、2つの異なる時間における2つの画像の間の重複するセグメントのガンマの差によって決定され、推定は第1の画像に対して実行され、重複するセグメントは第2の画像においてセンサに近くなる。
【0273】
例49は、路面をモデル化するための命令を含む少なくとも1つの機械可読媒体であり、命令が、処理回路によって実行されると、処理回路に、路面を表す時間順に並べられた画像シーケンスを取得することであって、画像シーケンスのうちの1つの画像が現在の画像である、取得することと;データセットを人工ニューラル・ネットワーク(ANN)に提供して、シーンの3次元構造を生成することであって、データセットには、現在の画像を含む画像シーケンスの一部、センサの動き、及びエピポールが含まれる、生成することと;シーンの3次元構造を用いて路面をモデル化することと;を含む動作を実行させる。
【0274】
例50は、例49の主題を含み、画像シーケンスの一部には、現在の画像の直前の画像が含まれる。
【0275】
例51は、例50の主題を含み、画像シーケンスの一部は、合計3つの画像である。
【0276】
例52は、例49~51の主題を含み、画像シーケンスの一部には、画像シーケンス内の1つ又は複数の画像によって分離される現在の画像に先行する画像が含まれる。
【0277】
例53は、例49~52の主題を含み、エピポールは、現在の画像と同じ次元を有するグラデーション画像として提供され、グラデーション画像内のピクセルの値が、現在の画像内のピクセルのエピポールからの距離を表す。
【0278】
例54は、例53の主題を含み、ベースラインが少なくとも0.5mである。
【0279】
例55は、例53~54の主題を含み、グラデーション画像は、現在の画像よりも低い解像度である。
【0280】
例56は、例53~55の主題を含み、グラデーション画像は、エピポールからの水平距離のみを表し、第2のグラデーション画像が、エピポールからの垂直距離を表すためにANNに提供される。
【0281】
例57は、例49~56の主題を含み、センサの動きは、現在の画像と同じ次元を有する一定値の画像として提供される。
【0282】
例58は、例57の主題を含み、一定値は、センサの前進運動を平面からのセンサの高さで割った比である。
【0283】
例59は、例49~58の主題を含み、シーンの3次元構造はガンマ画像であり、ガンマ画像は、平面の上のポイントの高さを現在の画像を取り込むセンサからの距離で割った比であるガンマ値を有するピクセルを含み、その平面は路面を表す。
【0284】
例60は、例49~59の主題を含み、路面をモデル化することは、シーンの3次元構造を第2のANNからの出力と比較することによって反射領域を特定することを含み、第2のANNは、画像シーケンスの一部を受け入れ、第2の3次元構造を生成するようにトレーニングされ、第2のANNのトレーニングでは、画像シーケンスの一部で第1のANNのトレーニングよりもより多くの写真測量的損失が使用される。
【0285】
例61は、例60の主題を含み、ANN及び第2のANNは、2つのチャネル出力を生成するようにトレーニングされた単一のANNとして実装され、第1のチャネルはシーンの3次元構造であり、第2のチャネルは、第2のANNによって生成された、トレーニングでより多くの写真測量的損失を使用した3次元構造である。
【0286】
例62は、例49~61の主題を含み、動作には、3次元構造を用いて第2のANNを呼び出して、特徴が、路面の環境内で動いている物体又は動いていない物体を表すかどうかを判定することが含まれる。
【0287】
例63は、例62の主題を含み、3次元構造を用いて第2のANNを呼び出すことは、現在の画像、3次元構造を用いてワープされた以前の画像、及びターゲット識別子を第2のANNに提供することを含む。
【0288】
例64は、例63の主題を含み、ターゲット識別子は、画像のピクセルがターゲットの中心からの距離を示す画像である。
【0289】
例65は、例63~64の主題を含み、ターゲット識別子には、ターゲットのサイズが含まれる。
【0290】
例66は、例63~65の主題を含み、ターゲット識別子は、ターゲットに対応するピクセルのマスクである。
【0291】
例67は、例49~66の主題を含み、路面をモデル化することは、路面特徴の平面からの垂直偏差を計算することを含む。
【0292】
例68は、例49~67の主題を含み、ANNは、畳み込みニューラル・ネットワーク(CNN)である。
【0293】
例69は、例68の主題を含み、センサの動き及びエピポールは、ボトルネック層でCNNに提供される。
【0294】
例70は、例49~69の主題を含み、ANNは、教師なしのトレーニング手法でトレーニングされ、この手法では、エラーが、未来の画像のモデルと未来の画像との間の差を測定することによって決定され、未来の画像のモデルは、未来の画像より前の画像のガンマ・ワーピングによって生成される。
【0295】
例71は、例49~70の主題を含み、ANNは、教師なしのトレーニング手法でトレーニングされ、この手法では、エラーが、ある位置の予測ガンマとその位置でのセンサの動きとの間の差を測定することによって決定され、センサの動きには、ピッチ、ヨー、ロール、又は平面に垂直な並進が含まれる。
【0296】
例72は、例49~71の主題を含み、ANNは、教師なしのトレーニング手法でトレーニングされ、この手法では、エラーが、2つの異なる時間における2つの画像の間の重複するセグメントのガンマの差によって決定され、推定は第1の画像に対して実行され、重複するセグメントは第2の画像においてセンサに近くなる。
【0297】
例73は、路面をモデル化するためのシステムであり、このシステムは、路面を表す時間順に並べられた画像シーケンスを取得するための手段であって、画像シーケンスうちの1つの画像が現在の画像である、取得するための手段と;データセットを人工ニューラル・ネットワーク(ANN)に提供して、シーンの3次元構造を生成するための手段であって、データセットには、現在の画像を含む画像シーケンスの一部、センサの動き、及びエピポールが含まれる、生成するための手段と;シーンの3次元構造を用いて路面をモデル化する手段と;を含む。
【0298】
例74は、例73の主題を含み、画像シーケンスの一部には、現在の画像の直前の画像が含まれる。
【0299】
例75は、例74の主題を含み、画像シーケンスの一部は、合計3つの画像である。
【0300】
例76は、例73~75の主題を含み、画像シーケンスの一部には、画像シーケンス内の1つ又は複数の画像によって分離される現在の画像に先行する画像が含まれる。
【0301】
例77は、例73~76の主題を含み、エピポールは、現在の画像と同じ次元を有するグラデーション画像として提供され、グラデーション画像内のピクセルの値が、現在の画像内のピクセルのエピポールからの距離を表す。
【0302】
例78は、例77の主題を含み、ベースラインが少なくとも0.5mである。
【0303】
例79は、例77~78の主題を含み、グラデーション画像は、現在の画像よりも低い解像度である。
【0304】
例80は、例77~79の主題を含み、グラデーション画像は、エピポールからの水平距離のみを表し、第2のグラデーション画像が、エピポールからの垂直距離を表すためにANNに提供される。
【0305】
例81は、例73~80の主題を含み、センサの動きは、現在の画像と同じ次元を有する一定値の画像として提供される。
【0306】
例82は、例81の主題を含み、一定値は、センサの前進運動を平面からのセンサの高さで割った比である。
【0307】
例83は、例73~82の主題を含み、シーンの3次元構造はガンマ画像であり、ガンマ画像は、平面の上のポイントの高さを現在の画像を取り込むセンサからの距離で割った比であるガンマ値を有するピクセルを含み、その平面は路面を表す。
【0308】
例84は、例73~83の主題を含み、路面をモデル化するための手段は、シーンの3次元構造を第2のANNからの出力と比較することによって反射領域を特定するための手段を含み、第2のANNは、画像シーケンスの一部を受け入れ、第2の3次元構造を生成するようにトレーニングされ、第2のANNのトレーニングでは、画像シーケンスの一部で第1のANNのトレーニングよりもより多くの写真測量的損失が使用される。
【0309】
例85は、例84の主題を含み、ANN及び第2のANNは、2つのチャネル出力を生成するようにトレーニングされた単一のANNとして実装され、第1のチャネルはシーンの3次元構造であり、第2のチャネルは、第2のANNによって生成された、トレーニングでより多くの写真測量的損失を使用した3次元構造である。
【0310】
例86は、例73~85の主題を含み、3次元構造を用いて第2のANNを呼び出して、特徴が、路面の環境内で動いている物体又は動いていない物体を表すかどうかを判定するための手段を含む。
【0311】
例87は、例86の主題を含み、3次元構造を用いて第2のANNを呼び出すための手段は、現在の画像、3次元構造を用いてワープされた以前の画像、及びターゲット識別子を第2のANNに提供するための手段を含む。
【0312】
例88は、例87の主題を含み、ターゲット識別子は、画像のピクセルがターゲットの中心からの距離を示す画像である。
【0313】
例89は、例87~88の主題を含み、ターゲット識別子には、ターゲットのサイズが含まれる。
【0314】
例90は、例87~89の主題を含み、ターゲット識別子は、ターゲットに対応するピクセルのマスクである。
【0315】
例91は、例73~90の主題を含み、路面をモデル化するための手段は、路面特徴の平面からの垂直偏差を計算するための手段を含む。
【0316】
例92は、例73~91の主題を含み、ANNは、畳み込みニューラル・ネットワーク(CNN)である。
【0317】
例93は、例92の主題を含み、センサの動き及びエピポールは、ボトルネック層でCNNに提供される。
【0318】
例94は、例73~93の主題を含み、ANNは、教師なしのトレーニング手法でトレーニングされ、この手法では、エラーが、未来の画像のモデルと未来の画像との間の差を測定することによって決定され、未来の画像のモデルは、未来の画像より前の画像のガンマ・ワーピングによって生成される。
【0319】
例95は、例73~94の主題を含み、ANNは、教師なしのトレーニング手法でトレーニングされ、この手法では、エラーが、ある位置の予測ガンマとその位置でのセンサの動きとの間の差を測定することによって決定され、センサの動きには、ピッチ、ヨー、ロール、又は平面に垂直な並進が含まれる。
【0320】
例96は、例73~95の主題を含み、ANNは、教師なしのトレーニング手法でトレーニングされ、この手法では、エラーが、2つの異なる時間における2つの画像の間の重複するセグメントのガンマの差によって決定され、推定は第1の画像に対して実行され、重複するセグメントは第2の画像においてセンサに近くなる。
【0321】
例97は、路面をモデル化するための方法であり、この方法は、表面を表す時間順に並べられた画像シーケンスを取得するステップであって、画像シーケンスうちの1つの画像が現在の画像である、取得するステップと;データセットを第1の人工ニューラル・ネットワーク(ANN)に提供して、シーンの3次元構造の第1の出力を生成するステップであって、データセットには、現在の画像シーケンスを含む画像シーケンスの一部、センサの動き、及びエピポールが含まれる、生成するステップと;データセットを第2のANNに提供して、シーンの写真測量的損失の第2の出力を生成するステップと;第1の出力を第2の出力と比較して、表面の特徴を決定するステップと;を含む。
【0322】
例98は、例97の主題を含み、第1の出力はシーンの3次元構造であり、第2の出力はシーンの写真測量的損失に基づく3次元構造である。
【0323】
例99は、例98の主題を含み、第1の出力はガンママップである。
【0324】
例100は、例99の主題を含み、第1の出力を第2の出力と比較するステップは、第2の出力における穴を第1の出力における一定のガンマの連続領域と位置合わせするステップを含む。
【0325】
例101は、例97~100の主題を含み、第1のANN及び第2のANNは、損失のタイプの間の重み付けが異なり、且つ同じタイプの損失を使用する損失関数を用いてトレーニングされる。
【0326】
例102は、例101の主題を含み、損失のタイプは、測光損失、幾何学的損失、センサ動き損失、又は未来の画像損失のうちの少なくとも1つを含む。
【0327】
例103は、例97~102の主題を含み、第1のANN及び第2のANNは、2つのチャネル出力を生成するようにトレーニングされた単一のANNとして実装され、第1のチャネルが第1の出力であり、第2のチャネルが第2の出力である。
【0328】
例104は、例97~103の主題を含み、第1のANN及び第2のANNは、ボトルネックまで単一のANNを共有し、その後に分岐するように実装される。
【0329】
例105は、路面をモデル化するための命令を含む少なくとも1つの機械可読媒体であり、命令が、処理回路によって実行されると、処理回路に、表面を表す時間順に並べられた画像シーケンスを取得することであって、画像シーケンスのうちの1つの画像が現在の画像である、取得することと;データセットを第1の人工ニューラル・ネットワーク(ANN)に提供して、シーンの3次元構造の第1の出力を生成することであって、データセットには、現在の画像シーケンスを含む画像シーケンスの一部、センサの動き、及びエピポールが含まれる、生成することと;データセットを第2のANNに提供して、シーンの写真測量的損失の第2の出力を生成することと;第1の出力を第2の出力と比較して、表面の特徴を決定することと;を含む動作を実行させる。
【0330】
例106は、例105の主題を含み、第1の出力はシーンの3次元構造であり、第2の出力はシーンの写真測量的損失に基づく3次元構造である。
【0331】
例107は、例106の主題を含み、第1の出力はガンママップである。
【0332】
例108は、例107の主題を含み、第1の出力を第2の出力と比較することは、第2の出力における穴を第1の出力における一定のガンマの連続領域と位置合わせすることを含む。
【0333】
例109は、例105~108の主題を含み、第1のANN及び第2のANNは、損失のタイプの間の重み付けが異なり、且つ同じタイプの損失を使用する損失関数を用いてトレーニングされる。
【0334】
例110は、例109の主題を含み、損失のタイプは、測光損失、幾何学的損失、センサ動き損失、又は未来の画像損失のうちの少なくとも1つを含む。
【0335】
例111は、例105~110の主題を含み、第1のANN及び第2のANNは、2つのチャネル出力を生成するようにトレーニングされた単一のANNとして実装され、第1のチャネルが第1の出力であり、第2のチャネルが第2の出力である。
【0336】
例112は、例105~111の主題を含み、第1のANN及び第2のANNは、ボトルネックまで単一のANNを共有し、その後に分岐するように実装される。
【0337】
例113は、路面をモデル化するための装置であり、この装置は、表面を表す時間順に並べられた画像シーケンスを得るための画像取込み装置であって、画像シーケンスうちの1つの画像が現在の画像である、画像取込み装置と;処理回路と;を有しており、処理回路は、データセットを第1の人工ニューラル・ネットワーク(ANN)に提供して、シーンの3次元構造の第1の出力を生成することであって、データセットには、現在の画像を含む画像シーケンスの一部、センサの動き、及びエピポールが含まれる、生成することと;データセットを第2のANNに提供して、シーンの写真測量的損失の第2の出力を生成することと;第1の出力を第2の出力と比較して、表面の特徴を決定することと;を行う。
【0338】
例114は、例113の主題を含み、第1の出力はシーンの3次元構造であり、第2の出力はシーンの写真測量的損失に基づく3次元構造である。
【0339】
例115は、例114の主題を含み、第1の出力はガンママップである。
【0340】
例116は、例115の主題を含み、第1の出力を第2の出力と比較することは、第2の出力における穴を第1の出力における一定のガンマの隣接領域と位置合わせすることを含む。
【0341】
例117は、例113~116の主題を含み、第1のANN及び第2のANNは、損失のタイプの間の重み付けが異なり、且つ同じタイプの損失を使用する損失関数を用いてトレーニングされる。
【0342】
例118は、例117の主題を含み、損失のタイプは、測光損失、幾何学的損失、センサ動き損失、又は未来の画像損失のうちの少なくとも1つを含む。
【0343】
例119は、例113~118の主題を含み、第1のANN及び第2のANNは、2つのチャネル出力を生成するようにトレーニングされた単一のANNとして実装され、第1のチャネルが第1の出力であり、第2のチャネルが第2の出力である。
【0344】
例120は、例113~119の主題を含み、第1のANN及び第2のANNは、ボトルネックまで単一のANNを共有し、その後に分岐するように実装される。
【0345】
例121は、車両のための自律型ナビゲーションシステムであり、このシステムは、ユーザ車両の近くの領域の複数の画像を取得するように構成された少なくとも1つの画像取込み装置と;データインターフェイスと;少なくとも1つの処理装置と;を含み、少なくとも1つの処理装置は、データインターフェイスを介して複数の画像を受け取り、複数の画像から、車両の進路上の水たまりの存在を判定するように構成される。
【0346】
例122は、例121の主題を含み、少なくとも1つの処理装置は、複数の画像から、ターゲットが水たまりを通過する車両の水の飛び跳ねゾーン内に位置するかどうかを判定し、車両の新しい水の飛び跳ねゾーンにターゲットが含まれないように、車両の水の飛び跳ねゾーンを修正するためのナビゲーション操作を実行するように車両を制御する、ように構成される。
【0347】
例123は、例122の主題を含み、ナビゲーション操作は、車両を減速させること、車両の新しい進路がターゲットから十分に離れておりターゲットが水の飛び跳ねにぶつからないように車線内進路変更を実行すること、又は車両の新しい進路がもはや水たまりを通過しないように車線内進路変更を実行することの少なくとも1つを含む。
【0348】
例124は、例121~123の主題を含み、ターゲットは歩行者である。
【0349】
例125は、例121~124の主題を含み、ターゲットは車両である。
【0350】
例126は、道路に沿って走行する自律型車両を制御する方法であり、この方法は、コンピュータプラットフォームによって実行され、車両の視点からの、道路の一部を含む少なくとも1つの視野を表す画像シーケンスを格納するステップと;画像シーケンスを処理して、道路上の水たまりを検出するステップと;水たまりの近くの歩行者の存在を判定するステップと;水たまりの検出に応答して運転応答解を決定するステップと;を含み、運転応答解は、歩行者の存在が検出されたかどうかに基づく。
【0351】
例127は、例126の主題を含み、車両に搭載されたカメラシステムによって画像シーケンスを取り込むステップを含み、処理するステップは、画像シーケンスの単眼画像を処理するステップを含む。
【0352】
例128は、例127の主題を含み、画像シーケンスは、カメラシステムの複数の画像センサによって取り込まれる。
【0353】
例129は、例126~128の主題を含み、画像シーケンスを処理して、道路上の水たまりを検出するステップは、画像シーケンスに基づいて道路の垂直輪郭を計算により決定するステップと;深さしきい値を超える垂直輪郭の窪みの存在を判定するステップと;水たまり検出基準を窪みの特徴に対して適用するステップと;を含む。
【0354】
例130は、例129の主題を含み、水たまり検出基準は境界シャープネス基準を含み、水たまり検出基準を適用するステップは、水たまりの境界の計算評価を生成するステップと;計算評価を境界シャープネス基準に対して比較するステップと;を含む。
【0355】
例131は、例130の主題を含み、水たまりの境界の計算評価は、境界に沿った水たまりの内側のポイントの垂直輪郭スコアリングと、境界に沿った水たまりの外側のポイントの垂直輪郭スコアリングとを含み、境界シャープネス基準は、水たまりの内側のポイントの垂直輪郭スコアリングに適用可能な第1のしきい値と、水たまりの外側のポイントの垂直輪郭スコアリングに適用可能な第2のしきい値とを含む。
【0356】
例132は、例129~131の主題を含み、水たまり検出基準は、水たまりの内側のポイントの垂直輪郭スコアリングに適用可能な隣接基準を含む。
【0357】
例133は、例126~132の主題を含み、水たまりの近くの歩行者の存在を判定するステップは、人間を検出するように構成された物体認識動作を実行するために画像シーケンスを処理するステップを含む。
【0358】
例134は、例126~133の主題を含み、水たまりの検出に応答して運転応答解を決定するステップは、水たまりの近くの歩行者の肯定的な検出に応答して、水たまりの水が歩行者に飛び跳ねる可能性を低減又は回避するように車両のコース又は速度応答を生成するステップを含む。
【0359】
例135は、例134の主題を含み、運転応答解を決定するステップは、リスク回避決定スキームに基づいて、複数の潜在的な運転応答オプションの中から運転応答解を選択するステップを含む。
【0360】
例136は、例135の主題を含み、水たまりの近くの歩行者の肯定的な検出は、リスク回避決定スキームの増分リスク係数として表され、増分リスク係数は、水たまりに関連する合計リスクスコアに寄与し、合計リスクスコアは、車両による運転応答解を実行する必要性の程度を表す。
【0361】
例137は、例135~136の主題を含み、水たまりの検出に応答して運転応答解を決定するステップは、潜在的な運転応答オプションのそれぞれに関連するリスクを現在の状況シナリオのリスク評価と比較するステップを含み、その潜在的な運転応答オプションはリスク要因に寄与する。
【0362】
例138は、例137の主題を含み、現在の状況シナリオの評価を実行するステップを含む。
【0363】
例139は、道路に沿って走行する車両で使用するマシンビジョンシステムのための機器であり、この機器は、少なくとも1つのプロセッサ及びストレージ回路を含むコンピュータプラットフォームを含み、コンピュータプラットフォームは、車両の視点からの、道路の一部を含む少なくとも1つの視野を表す画像シーケンスを含むデータストアと;画像シーケンスに基づいて道路上の水たまりの存在を判定する水たまり検出エンジンと;水たまりの近くの歩行者の存在を判定する歩行者検出エンジンと;水たまりの検出に応答して運転応答解を決定する運転応答エンジンと;を実装し、運転応答解は、歩行者検出エンジンによって歩行者の存在が検出されたかどうかに基づく。
【0364】
例140は、例139の主題を含み、車両に搭載され、且つ画像シーケンスを取り込むように動作可能なカメラシステムを含み、水たまり検出エンジンは、画像シーケンスの単眼画像処理を実行する。
【0365】
例141は、例140の主題を含み、画像シーケンスは、カメラシステムの複数の画像センサによって取り込まれる。
【0366】
例142は、例139~141の主題を含み、水たまり検出エンジンは、画像シーケンスに基づいて道路の垂直輪郭を計算により決定し、深さしきい値を超える垂直輪郭の窪みの存在を判定し、水たまり検出基準を窪みの特徴に対して適用する。
【0367】
例143は、例142の主題を含み、水たまり検出基準は境界シャープネス基準を含み、水たまり検出基準を適用することは、水たまりの境界の計算評価を生成することと、計算評価を境界シャープネス基準に対して比較することを含む。
【0368】
例144は、例143の主題を含み、水たまりの境界の計算評価は、境界に沿った水たまりの内側のポイントの垂直輪郭スコアリングと、境界に沿った水たまりの外側のポイントの垂直輪郭スコアリングとを含み、境界シャープネス基準は、水たまりの内側のポイントの垂直輪郭スコアリングに適用可能な第1のしきい値と、水たまりの外側のポイントの垂直輪郭スコアリングに適用可能な第2のしきい値とを含む。
【0369】
例145は、例142~144の主題を含み、水たまり検出基準は、水たまりの内側のポイントの垂直輪郭スコアリングに適用可能な隣接基準を含む。
【0370】
例146は、例139~145の主題を含み、歩行者検出エンジンが、人間を検出するように構成された物体認識動作を実行するために、少なくとも画像シーケンスを処理することにより、水たまりの近くの歩行者の存在を判定する。
【0371】
例147は、例139~146の主題を含み、運転応答エンジンは、水たまりの近くの歩行者の肯定的な検出に応答して、水たまりの水が歩行者に飛び跳ねる可能性を低減又は回避するように車両のコース又は速度応答を生成する。
【0372】
例148は、例147の主題を含み、運転応答解は、リスク回避決定スキームに基づいて、複数の潜在的な運転応答オプションの中から選択される。
【0373】
例149は、例148の主題を含み、水たまりの近くの歩行者の肯定的な検出は、リスク回避決定スキームの増分リスク係数として表され、増分リスク係数は、水たまりに関連する合計リスクスコアに寄与し、合計リスクスコアは、車両による運転応答解を実行する必要性の程度を表す。
【0374】
例150は、例148~149の主題を含み、運転応答解エンジンは、潜在的な運転応答オプションのそれぞれに関連するリスクを現在の状況シナリオのリスク評価と比較し、その潜在的な運転応答オプションはリスク要因に寄与する。
【0375】
例151は、例150の主題を含み、運転応答解エンジンは、現在の状況シナリオの評価を実行する。
【0376】
例152は、命令を含む少なくとも1つの機械可読媒体であり、命令が、道路に沿って走行する自律型車両のコンピュータプラットフォームによって実行されると、コンピュータプラットフォームに、車両の観点からの、道路の一部を含む少なくとも1つの視野を表す画像シーケンスを格納することと;画像シーケンスを処理して、道路上の水たまりを検出すること;水たまりの近くの歩行者の存在を判定することと;水たまりの検出に応答して運転応答解を決定することと;を行わせ、運転応答解は、歩行者の存在が検出されたかどうかに基づく。
【0377】
例153は、例152の主題を含み、コンピュータプラットフォームに、車両に搭載されたカメラシステムによって画像シーケンスを取り込むことを行わせるための命令を含むみ、処理することは、画像シーケンスの単眼画像を処理することを含む。
【0378】
例154は、例153の主題を含み、画像シーケンスは、カメラシステムの複数の画像センサによって取り込まれる。
【0379】
例155は、例152~154の主題を含み、画像シーケンスを処理して、道路上の水たまりを検出するための命令は、画像シーケンスに基づいて道路の垂直輪郭を計算により決定することと;深さしきい値を超える垂直輪郭の窪みの存在を判定することと;水たまり検出基準を窪みの特徴に対して適用することと;のための命令を含む。
【0380】
例156は、例155の主題を含み、水たまり検出基準は境界シャープネス基準を含み、水たまり検出基準を適用することは、水たまりの境界の計算評価を生成することと;計算評価を境界シャープネス基準に対して比較することと;を含む。
【0381】
例157は、例156の主題を含み、水たまりの境界の計算評価は、境界に沿った水たまりの内側のポイントの垂直輪郭スコアリングと、境界に沿った水たまりの外側のポイントの垂直輪郭スコアリングとを含み、境界シャープネス基準は、水たまりの内側のポイントの垂直輪郭スコアリングに適用可能な第1のしきい値と、水たまりの外側のポイントの垂直輪郭スコアリングに適用可能な第2のしきい値とを含む。
【0382】
例158は、例155~157の主題を含み、水たまり検出基準は、水たまりの内側のポイントの垂直輪郭スコアリングに適用可能な隣接基準を含む。
【0383】
例159は、例152~158の主題を含み、水たまりの近くの歩行者の存在を判定するための命令は、人間を検出するように構成される物体認識動作を実行するために、画像シーケンスを処理するための命令を含む。
【0384】
例160は、例152~159の主題を含み、水たまりの検出に応答して運転応答解を決定するための命令は、水たまりの近くの歩行者の肯定的な検出に応答して、水たまりの水が歩行者に飛び跳ねる可能性を低減又は回避するように車両のコース又は速度応答を生成するための命令を含む。
【0385】
例161は、例160の主題を含み、運転応答解を決定する命令は、リスク回避決定スキームに基づいて、複数の潜在的な運転応答オプションの中から運転応答解を選択するための命令を含む。
【0386】
例162は、例161の主題を含み、水たまりの近くの歩行者の肯定的な検出は、リスク回避決定スキームの増分リスク係数として表され、増分リスク係数は、水たまりに関連する合計リスクスコアに寄与し、合計リスクスコアは、車両による運転応答解を実行する必要性の程度を表す。
【0387】
例163は、例161~162の主題を含み、水たまりの検出に応答して運転応答解を決定するための命令は、潜在的な運転応答オプションのそれぞれに関連するリスクを現在の状況シナリオのリスク評価と比較するための命令を含み、その潜在的な運転応答オプションはリスク要因に寄与する。
【0388】
例164は、例163の主題を含み、現在の状況シナリオの評価を実行するための命令を含む。
【0389】
例165は、車両で使用するためのマシンビジョンシステムを動作させる方法であり、この方法は、マシンビジョンシステムによって、少なくとも1台の車載カメラによって取り込まれた道路の一部を含む、少なくとも1つの視野を表す画像の時間シーケンス(temporal sequence of images)を読み取るステップと;マシンビジョンシステムによって、画像の時間シーケンスに基づいて、道路の垂直輪郭を計算により決定するステップと;マシンビジョンシステムによって、道路の垂直輪郭に基づいて道路上の水たまりを検出するステップであって、深さしきい値を超える垂直輪郭の存在を判定するステップを含む、検出するステップと;水たまり検出基準を窪みの特徴に対して適用するステップとと;を含む。
【0390】
例166は、例165の主題を含み、垂直輪郭を決定するステップは、(a)車両の実際の動きによる画像シーケンスの中の道路の外観の予測変化と、(b)取り込まれた画像シーケンスの画像同士の間の実際の差とを比較するステップを含み、比較の結果として検出された差は、シーケンスの画像同士の間の残差フローを表し、残差フローは道路の垂直輪郭を示す。
【0391】
例167は、例165~166の主題を含み、水たまり検出基準は境界シャープネス基準を含み、水たまり検出基準を適用するステップは、水たまりの境界の計算評価を生成するステップと;計算評価を境界シャープネス基準に対して比較するステップと;を含む。
【0392】
例168は、例167の主題を含み、水たまりの境界の計算評価は、境界に沿った水たまりの内側のポイントの垂直輪郭スコアリングと、境界に沿った水たまりの外側のポイントの垂直輪郭スコアリングとを含み、境界シャープネス基準は、水たまりの内側のポイントの垂直輪郭スコアリングに適用可能な第1のしきい値と、水たまりの外側のポイントの垂直輪郭スコアリングに適用可能な第2のしきい値とを含む。
【0393】
例169は、例167~168の主題を含み、水たまり検出基準は、水たまりの内側のポイントの垂直輪郭スコアリングに適用可能な隣接基準を含む。
【0394】
例170は、例165~169の主題を含み、画像の時間シーケンスは単一のカメラから取得される。
【0395】
例171は、例165~170の主題を含み、画像の時間シーケンスは複数のカメラから取得される。
【0396】
例172は、例165~171の主題を含み、マシンビジョンシステムによって、水たまりに関する現在の状況シナリオを決定するステップを含む。
【0397】
例173は、例172の主題を含み、現在の状況シナリオは、水たまりの近くの歩行者の存在を含む。
【0398】
例174は、例172~173の主題を含み、現在の状況シナリオは、道路境界に対する水たまりの位置を含む。
【0399】
例175は、例172~174の主題を含み、現在の状況シナリオは、道路上の車線マーカーに対する水たまりの位置を含む。
【0400】
例176は、例172~175の主題を含み、水たまりの検出に応答して、マシンビジョンシステムによって、現在の状況シナリオに基づく運転応答解を決定するステップを含む。
【0401】
例177は、例176の主題を含み、運転応答解は、車両による水たまりへの突っ込みを回避するか、又はその突っ込みの影響を低減するための車両のコース又は速度応答を含む。
【0402】
例178は、例176~177の主題を含み、運転応答解は、リスク回避決定スキームに基づいて、複数の潜在的な運転応答オプションの中からの運転応答解の選択を含む。
【0403】
例179は、例178の主題を含み、リスク回避決定スキームは、水たまりに関連するリスクスコアを計算し、リスクスコアは、車両による運転応答解を実行する必要性の程度を表す。
【0404】
例180は、例178~179の主題を含み、運転応答解は、潜在的な運転応答オプションのそれぞれに関連するリスクを現在の状況シナリオのリスク評価と比較することに基づいており、その潜在的な運転応答オプションはリスク要因に寄与する。
【0405】
例181は、命令を含む少なくとも1つの機械可読媒体であり、命令が、道路に沿って走行する自律型車両のマシンビジョンシステムによって実行されたときに、マシンビジョンシステムに、少なくとも1つの車載カメラによって取り込まれた道路の一部を含む、少なくとも1つの視野を表す画像の時間シーケンスを読み取ることと;画像の時間シーケンスに基づいて、道路の垂直方向の輪郭を計算により決定することと;道路の垂直輪郭に基づいて、道路上の水たまりを検出することであって、深さしきい値を超える垂直輪郭の窪みの存在を判定することを含む、検出することと;水たまり検出基準を窪みの特徴に対して適用することと;を行わせる。
【0406】
例182は、例181の主題を含み、垂直輪郭を決定するための命令は、(a)車両の実際の動きによる画像シーケンスの中の道路の外観の予測変化と、(b)取り込まれた画像シーケンスの画像同士の間の実際の差とを比較するための命令を含み、比較の結果として検出された差は、シーケンスの画像同士の間の残差フローを表し、残差フローは道路の垂直輪郭を示す。
【0407】
例183は、例181~182の主題を含み、水たまり検出基準は境界シャープネス基準を含み、水たまり検出基準を適用することは、水たまりの境界の計算評価を生成し、計算評価を境界シャープネス基準に対して比較することを含む。
【0408】
例184は、例183の主題を含み、水たまりの境界の計算評価は、境界に沿った水たまりの内側のポイントの垂直輪郭スコアリングと、境界に沿った水たまりの外側のポイントの垂直輪郭スコアリングとを含み、境界シャープネス基準は、水たまりの内側のポイントの垂直輪郭スコアリングに適用可能な第1のしきい値と、水たまりの外側のポイントの垂直輪郭スコアリングに適用可能な第2のしきい値とを含む。
【0409】
例185は、例183~184の主題を含み、水たまり検出基準は、水たまりの内側のポイントの垂直輪郭スコアリングに適用可能な隣接基準を含む。
【0410】
例186は、例181~185の主題を含み、画像の時間シーケンスは単一のカメラから取得される。
【0411】
例187は、例181~186の主題を含み、画像の時間シーケンスは複数のカメラから取得される。
【0412】
例188は、例181~187の主題を含み、マシンビジョンシステムに、水たまりに関する現在の状況シナリオを決定させるための命令を含む。
【0413】
例189は、例188の主題を含み、現在の状況シナリオは、水たまりの近くの歩行者の存在を含む。
【0414】
例190は、例188~189の主題を含み、現在の状況シナリオは、道路境界に対する水たまりの位置を含む。
【0415】
例191は、例188~190の主題を含み、現在の状況シナリオは、道路上の車線マーカーに対する水たまりの位置を含む。
【0416】
例192は、例188~191の主題を含み、マシンビジョンシステムに、水たまりの検出に応答して運転応答解を決定させるための命令を含み、運転応答解は現在の状況シナリオに基づいている。
【0417】
例193は、例192の主題を含み、運転応答解は、車両による水たまりへの突っ込みを回避するか、又はその突っ込みの影響を低減するための車両のコース又は速度応答を含む。
【0418】
例194は、例192~193の主題を含み、運転応答解は、リスク回避決定スキームに基づいて、複数の潜在的な運転応答オプションの中からの運転応答解の選択を含む。
【0419】
例195は、例194の主題を含み、リスク回避決定スキームは、水たまりに関連するリスクスコアを計算し、リスクスコアは、車両による運転応答解を実行する必要性の程度を表す。
【0420】
例196は、例194~195の主題を含み、運転応答解は、潜在的な運転応答オプションのそれぞれに関連するリスクを現在の状況シナリオのリスク評価と比較することに基づいており、その潜在的な運転応答オプションはリスク要因に寄与する。
【0421】
例197は、道路に沿って走行する車両から道路の構造を測定するための機械で実施される方法であり、この方法は、(a)少なくとも1つの車載カメラによって取り込まれた道路の一部を含む、少なくとも1つの視野を表す取り込まれた画像の時間シーケンスと、(b)少なくとも1つの車載カメラの実際の動きを表すエゴモーション情報と、(c)路面のパラメトリックモデルとを含む入力データのセットを読み取るステップと;入力データのセットを前処理して、道路平面情報に関して取り込まれた画像の時間シーケンスの中で少なくとも1つのホモグラフィを決定し、画像の時間シーケンスのうちの少なくとも1つの画像をワープして、少なくとも1つのホモグラフィに基づいて、時間シーケンスの別の画像と位置合わせし、時間シーケンスに基づいて前処理した画像のセットを生成するステップと;入力データのセットを前処理して、少なくとも1台の車載カメラの動きの画像形式の表現を作成するステップと;機械学習(ML)システムへの入力として、前処理した画像のセット、及び動きの画像形式の表現を提供するステップと;を含み、MLシステムは、入力に基づいて道路の構造を表すマップを生成するように構成される。
【0422】
例198は、例197の主題を含み、少なくとも1つの視野は、単一のカメラによって取り込まれた単一の前向きの視野を含む。
【0423】
例199は、例197~198の主題を含み、少なくとも1つの視野は、複数のカメラによって取り込まれた前向きの視野を含む。
【0424】
例200は、例197~199の主題を含み、少なくとも1つの視野は、異なる方向を向く複数のカメラによって取り込まれた複数の重複する視野を含む。
【0425】
例201は、例197~200の主題を含み、路面のパラメトリックモデルは、路面に垂直な平面法線ベクトルを表す道路平面情報を含む。
【0426】
例202は、例197~201の主題を含み、路面のパラメトリックモデルは、道路の3次元スプラインモデルを含む。
【0427】
例203は、例197~202の主題を含み、路面のパラメトリックモデルは、取り込まれた画像の少なくとも一部から導出された道路平面情報を含む。
【0428】
例204は、例197~203の主題を含み、取り込まれた画像の時間シーケンスには、最近取り込まれた画像、以前の画像、及びさらに以前の画像を含む3つの連続した画像シーケンスが含まれる。
【0429】
例205は、例197~204の主題を含み、入力データのセットを前処理して、少なくとも1つの車載カメラの動きの画像形式の表現を生成するステップは、画像の時間シーケンスのうちの少なくとも1つの画像に対応するエピポールの画像形式の表現を生成するステップを含む。
【0430】
例206は、例197~205の主題を含み、入力データのセットを前処理して、少なくとも1つの車載カメラの動きの画像形式の表現を生成するステップは、カメラの高さに対する、順方向に沿った現在の移動量の比の画像形式の表現を生成するステップを含む。
【0431】
例207は、例197~206の主題を含み、エゴモーション情報は、車両の動きセンサによって取得された測定値に基づいている。
【0432】
例208は、例197~207の主題を含み、エゴモーション情報は、車両の回転及び並進運動を表す。
【0433】
例209は、例197~208の主題を含み、MLシステムによって生成される道路の構造を表すマップは、路面の高さに基づく値のマッピングを含む道路モデルを含む。
【0434】
例210は、例209の主題を含み、路面の高さに基づく値のマッピングは、観測ポイントからの距離に対する路面の高さの比を含む。
【0435】
例211は、道路に沿って走行する車両から道路の構造を測定するための命令を含む少なくとも1つの機械可読媒体であり、命令が、処理回路によって実行されると、処理回路に、(a)少なくとも1つの車載カメラによって取り込まれた道路の一部を含む、少なくとも1つの視野を表す取り込まれた画像の時間シーケンスと、(b)少なくとも1つの車載カメラの実際の動きを表すエゴモーション情報と、(c)路面のパラメトリックモデルとを含む入力データのセットを読み取ることと;入力データのセットを前処理して、道路平面情報に関して取り込まれた画像の時間シーケンスの中で少なくとも1つのホモグラフィを決定し、画像の時間シーケンスのうちの少なくとも1つの画像をワープして、少なくとも1つのホモグラフィに基づいて、時間シーケンスの別の画像と位置合わせし、時間シーケンスに基づいて前処理した画像のセットを生成することと;入力データのセットを前処理して、少なくとも1台の車載カメラの動きの画像形式の表現を作成することと;機械学習(ML)システムへの入力として、前処理した画像のセット、及び動きの画像形式の表現を提供することと;を含む動作を実行させ、MLシステムは、入力に基づいて道路の構造を表すマップを生成するように構成される。
【0436】
例212は、例211の主題を含み、少なくとも1つの視野は、単一のカメラによって取り込まれた単一の前向きの視野を含む。
【0437】
例213は、例211~212の主題を含み、少なくとも1つの視野は、複数のカメラによって取り込まれた前向きの視野を含む。
【0438】
例214は、例211~213の主題を含み、少なくとも1つの視野は、異なる方向を向く複数のカメラによって取り込まれた複数の重複する視野を含む。
【0439】
例215は、例211~214の主題を含み、路面のパラメトリックモデルは、路面に垂直な平面法線ベクトルを表す道路平面情報を含む。
【0440】
例216は、例211~215の主題を含み、路面のパラメトリックモデルは、道路の3次元スプラインモデルを含む。
【0441】
例217は、例211~216の主題を含み、路面のパラメトリックモデルは、取り込まれた画像の少なくとも一部から導出された道路平面情報を含む。
【0442】
例218は、例211~217の主題を含み、取り込まれた画像の時間シーケンスには、最近取り込まれた画像、以前の画像、及びさらに以前の画像を含む3つの連続した画像シーケンスが含まれる。
【0443】
例219は、例211~218の主題を含み、入力データのセットを前処理して、少なくとも1つの車載カメラの動きの画像形式の表現を生成することは、画像の時間シーケンスのうちの少なくとも1つの画像に対応するエピポールの画像形式の表現を生成することを含む。
【0444】
例220は、例211~219の主題を含み、入力データのセットを前処理して、少なくとも1つの車載カメラの動きの画像形式の表現を生成することは、カメラの高さに対する、順方向に沿った現在の移動量の比の画像形式の表現を生成することを含む。
【0445】
例221は、例211~220の主題を含み、エゴモーション情報は、車両の動きセンサによって取得された測定値に基づいている。
【0446】
例222は、例211~221の主題を含み、エゴモーション情報は、車両の回転及び並進運動を表す。
【0447】
例223は、例211~222の主題を含み、MLシステムによって生成される道路の構造を表すマップは、路面の高さに基づく値のマッピングを含む道路モデルを含む。
【0448】
例224は、例223の主題を含み、路面の高さに基づく値のマッピングは、観測ポイントからの距離に対する路面の高さの比を含む。
【0449】
例225は、道路に沿って走行する車両から道路の構造を測定するためのシステムであり、このシステムは、(a)少なくとも1つの車載カメラによって取り込まれた道路の一部を含む、少なくとも1つの視野を表す取り込まれた画像の時間シーケンスと、(b)少なくとも1つの車載カメラの実際の動きを表すエゴモーション情報と、(c)路面のパラメトリックモデルとを含む入力データのセットを読み取るための手段と;入力データのセットを前処理して、道路平面情報に関して取り込まれた画像の時間シーケンスの中で少なくとも1つのホモグラフィを決定し、画像の時間シーケンスのうちの少なくとも1つの画像をワープして、少なくとも1つのホモグラフィに基づいて、時間シーケンスの別の画像と位置合わせし、時間シーケンスに基づいて前処理した画像のセットを生成するための手段と;入力データのセットを前処理して、少なくとも1つの車載カメラの動きの画像形式の表現を生成するための手段と;機械学習(ML)システムへの入力として、前処理した画像のセット、及び動きの画像形式の表現を提供するための手段と;を含み、MLシステムは、入力に基づいて道路の構造を表すマップを生成するように構成される。
【0450】
例226は、例225の主題を含み、少なくとも1つの視野は、単一のカメラによって取り込まれた単一の前向きの視野を含む。
【0451】
例227は、例225~226の主題を含み、少なくとも1つの視野は、複数のカメラによって取り込まれた前向きの視野を含む。
【0452】
例228は、例225~227の主題を含み、少なくとも1つの視野は、異なる方向を向く複数のカメラによって取り込まれた複数の重複する視野を含む。
【0453】
例229は、例225~228の主題を含み、路面のパラメトリックモデルは、路面に垂直な平面法線ベクトルを表す道路平面情報を含む。
【0454】
例230は、例225~229の主題を含み、路面のパラメトリックモデルは、道路の3次元スプラインモデルを含む。
【0455】
例231は、例225~230の主題を含み、路面のパラメトリックモデルは、取り込まれた画像の少なくとも一部から導出された道路平面情報を含む。
【0456】
例232は、例225~231の主題を含み、取り込まれた画像の時間シーケンスには、最近取り込まれた画像、以前の画像、及びさらに以前の画像を含む3つの連続した画像シーケンスが含まれる。
【0457】
例233は、例225~232の主題を含み、入力データのセットを前処理して、少なくとも1つの車載カメラの動きの画像形式の表現を生成するための手段は、画像の時間シーケンスのうちの少なくとも1つの画像に対応するエピポールの画像形式の表現を生成するための手段を含む。
【0458】
例234は、例225~233の主題を含み、入力データのセットを前処理して、少なくとも1つの車載カメラの動きの画像形式の表現を生成するための手段は、カメラの高さに対する、順方向に沿った現在の移動量の比の画像形式の表現を生成するための手段を含む。
【0459】
例235は、例225~234の主題を含み、エゴモーション情報は、車両の動きセンサによって得られた測定値に基づいている。
【0460】
例236は、例225~235の主題を含み、エゴモーション情報は、車両の回転及び並進運動を表す。
【0461】
例237は、例225~236の主題を含み、MLシステムによって生成される道路の構造を表すマップは、路面の高さに基づく値のマッピングを含む道路モデルを含む。
【0462】
例238は、例237の主題を含み、路面の高さに基づく値のマッピングは、観測ポイントからの距離に対する路面の高さの比を含む。
【0463】
例239は、道路に沿って走行する車両で使用するためのマシンビジョンシステムのための機器であり、この機器は、少なくとも1台の車載カメラによって取り込まれた道路の一部を含む、少なくとも1つの視野を表す画像の時間シーケンスを読み取るための入力と;入力に結合された道路構造測定システムと;を含み、道路構造測定システムは、画像の時間シーケンスに基づいて画像形式の入力を受け取るように構成された第1のディープニューラル・ネットワーク(DNN)を含み、第1のDNNは、トレーニングプロセスから導出された計算パラメータで構成され、トレーニング画像の取り込まれた時間シーケンス及び対応するエゴモーション測定値を有する第1の部分を含むトレーニングデータは、トレーニングDNNに入力され、トレーニングDNNは、第1の部分の順方向伝播処理に基づくテスト結果を生成し、順方向伝播処理は、トレーニングDNNによるトレーニング可能な計算パラメータの適用を含み、マルチモーダル損失関数が、トレーニングデータの第1の部分に基づく第1の損失成分と、第1の部分に存在しない少なくとも1つの取り込み画像又はエゴモーション測定値を有するトレーニングデータの第2の部分に基づく第2の損失成分とを含む、複数の異なる損失成分の集約に基づいて生成され、マルチモーダル損失関数は、テスト結果に基づいて評価され、損失値が生成され、トレーニング可能な計算パラメータは、トレーニングプロセスに従って損失値を減らすようにリファインされ、リファインされたトレーニング可能なパラメータは、第1のDNNを構成するために提供される。
【0464】
例240は、例239の主題を含み、トレーニングプロセスは、勾配降下トレーニングを伴うトレーニングDNNによる損失関数の逆伝播を含む。
【0465】
例241は、例239~240の主題を含み、第1のDNNによって受け取られる画像形式の入力は、画像の時間シーケンス、画像としてフォーマットされたエピポール情報(エピポール情報には、エピポールからのそれぞれの距離を表すポイントが含まれる)、及び画像としてフォーマットされた動き情報(動き情報には、カメラの高さに対する、順方向に沿った現在の移動量の比を表すポイントが含まれる)を含む。
【0466】
例242は、例239~241の主題を含み、第1のDNNは、畳み込み、活性化、及びプーリング層を含む複数の層を含む畳み込みDNNであり、第1のDNNは、異なる層に供給する複数の入力ポートを含み、異なる層には、第1の入力層と、第1の入力層とは異なる第2の入力層とが含まれ、第1の画像形式の入力が第1の入力層に提供され、第2の画像形式の入力が第2の入力層に提供される。
【0467】
例243は、例242の主題を含み、第1の入力は画像の時間シーケンスを含み、第2の入力は車両の動きを表す画像形式の動き情報を含む。
【0468】
例244は、例239~243の主題を含み、第1のDNNは、畳み込み部分及び逆畳み込み部分を含む畳み込みDNNである。
【0469】
例245は、例244の主題を含み、第1のDNNは複数の層を含み、各層が、特徴マップを生成し、且つ順方向伝播経路に沿って処理するために特徴マップを後続の層に渡し、畳み込み部分の連続する層は、順方向伝播経路に沿った特徴マップの次元を増大させながら、対応する特徴マップの解像度を徐々に低下させるように動作し、逆畳み込みの逆畳み込み部分の連続する層は、順方向伝播経路に沿った特徴マップの次元を減少させながら、対応する特徴マップの解像度を徐々に増大させるように動作する。
【0470】
例246は、例245の主題を含み、第1のDNNは、前の層と後の層との間に位置する1つ又は複数の中間層をスキップしながら、順方向伝播経路に沿って前の層から後の層へ特徴マップの通過を容易にするように配置された少なくとも1つのバイパス経路を含む。
【0471】
例247は、例245~246の主題を含み、第1のDNNは、畳み込み部分と逆畳み込み部分との間に位置するボトルネック・ネットワーク部分を含み、ボトルネック・ネットワーク部分は、第1のDNNの他の層と比較して比較的低い解像度及びより高い次元の少なくとも1つの層を含む。
【0472】
例248は、例247の主題を含み、ボトルネック部分は、画像形式の動きマーク及び画像形式のエピポール位置データを受け入れるように構成された入力を含む。
【0473】
例249は、例239~248の主題を含み、第1のDNNは、その出力として、路面の高さに基づく値のマッピングを含む道路モデルを含む、道路の構造を表すマップを生成する。
【0474】
例250は、例248~249の主題を含み、路面の高さに基づく値のマッピングは、観測ポイントからの距離に対する路面の高さの比を含む。
【0475】
例251は、例239~250の主題を含み、第1のDNNは、トレーニングDNNと同じアーキテクチャを有する。
【0476】
例252は、例239~251の主題を含み、第1の損失成分は、トレーニング画像の時間シーケンス及びテスト結果が生成される対応するエゴモーション測定値に基づく写真測量的損失成分を含む。
【0477】
例253は、例252の主題を含み、第2の損失成分は、トレーニング画像の時間シーケンスの画像のいずれかが取り込まれた時間とは異なる時間に取り込まれた少なくとも1つの過去又は未来のトレーニング画像に基づく。
【0478】
例254は、例252~253の主題を含み、第2の損失成分は、テスト結果が作成されたエゴモーション測定値のいずれかが取得された時間とは異なる時間に取得されたエゴモーションの少なくとも1つの過去又は未来の測定値に基づく。
【0479】
例255は、例252~254の主題を含み、第2の損失成分は、トレーニング画像の時間シーケンスのいずれかの画像が取り込まれた時間よりも後に取り込まれるトレーニングデータの一部から取得された、取り込み画像及び対応して測定されたエゴモーションに基づく少なくとも1つの未来の道路構造評価に基づく。
【0480】
例256は、濡れた道路に沿って走行する車両で使用するためのマシンビジョンシステムのための機器であり、この機器は、少なくとも1台の車載カメラによって取り込まれた道路の一部を含む、少なくとも1つの視野を表す画像の時間シーケンスを読み取るための入力と;入力に結合された道路構造測定システムと;を含み、道路構造測定システムは、画像の時間シーケンスに基づいて画像形式の入力を受け取るように構成された第1のディープニューラル・ネットワーク(DNN)を含み、画像の時間シーケンスの少なくとも1つの画像が、ホモグラフィに従ってワープされ、且つ画像の時間シーケンスの第1の画像と位置合わせされて、画像シーケンスの第1の画像と第2の画像との間の残差の動きが明らかになり、残差の動きは、少なくとも(a)路面地形の変化、及び(b)路面からの鏡面反射を示し、道路構造測定システムは、路面地形の変化を路面からの鏡面反射から区別して、車両が時速50キロの速度で走行しているときに、少なくとも10メートルの距離で路面の高さの変化の3センチメートル以内まで正確な地形測定値を生成するように構成される。
【0481】
例257は、例256の主題を含み、第1のDNNは、畳み込み部分及び逆畳み込み部分を含む畳み込みDNNである。
【0482】
例258は、例257の主題を含み、第1のDNNは複数の層を含み、各層が、特徴マップを生成し、且つ順方向伝播経路に沿って処理するために特徴マップを後続の層に渡し、畳み込み部分の連続する層は、順方向伝播経路に沿った特徴マップの次元を増大させながら、対応する特徴マップの解像度を徐々に低下させるように動作し、逆畳み込みの逆畳み込み部分の連続する層は、順方向伝播経路に沿った特徴マップの次元を減少させながら、対応する特徴マップの解像度を徐々に増大させるように動作する。
【0483】
例259は、例258の主題を含み、第1のDNNは、前の層と後の層との間に位置する1つ又は複数の中間層をスキップしながら、順方向伝播経路に沿って前の層から後の層へ特徴マップの通過を容易にするように配置された少なくとも1つのバイパス経路を含む。
【0484】
例260は、例258~259の主題を含み、第1のDNNは、畳み込み部分と逆畳み込み部分との間に位置するボトルネック・ネットワーク部分を含み、ボトルネック・ネットワーク部分は、第1のDNNの他の層と比較して比較的低い解像度及びより高い次元の少なくとも1つの層を含む。
【0485】
例261は、例260の主題を含み、ボトルネック部分は、画像形式の動きマーク及び画像形式のエピポール位置データを受け入れるように構成された入力を含む。
【0486】
例262は、例256~261の主題を含み、第1のDNNは、その出力として、路面の高さに基づく値のマッピングを含む道路モデルを含む、道路の構造を表すマップを生成する。
【0487】
例263は、例261~262の主題を含み、路面の高さに基づく値のマッピングは、観測ポイントからの距離に対する路面の高さの比を含む。
【0488】
例264は、例256~263の主題を含み、第1のDNNは、トレーニングプロセスから導出された計算パラメータで構成され、トレーニング画像の取り込まれた時間シーケンス及び対応するエゴモーション測定値を有する第1の部分を含むトレーニングデータは、トレーニングDNNに入力され、トレーニングDNNは、第1の部分の順方向伝播処理に基づいてテスト結果を生成し、順方向伝播処理には、トレーニングDNNによるトレーニング可能な計算パラメータの適用が含まれ、マルチモーダル損失関数は、トレーニングデータの第1の部分に基づく第1の損失成分と、第1の部分に存在しない少なくとも1つの取り込み画像又はエゴモーション測定値を有するトレーニングデータの第2の部分に基づく第2の損失成分とを含む、複数の異なる損失成分の集約に基づいて生成され、マルチモーダル損失関数は、テスト結果に基づいて評価され、損失値が生成され、トレーニング可能な計算パラメータは、トレーニングプロセスに従って損失値を減らすようにリファインされ、リファインされたトレーニング可能なパラメータは、第1のDNNを構成するために提供される。
【0489】
例265は、例264の主題を含み、トレーニングプロセスは、勾配降下トレーニングを伴うトレーニングDNNによる損失関数の逆伝播を含む。
【0490】
例266は、例256~265の主題を含み、第1のDNNによって受け取られる画像形式の入力は、画像の時間シーケンス、画像としてフォーマットされたエピポール情報(エピポール情報には、エピポールからのそれぞれの距離を表すポイントが含まれる)、画像としてフォーマットされた動き情報(動き情報には、カメラの高さに対する、順方向に沿った現在の移動量の比を表すポイントが含まれる)を含む。
【0491】
例267は、例256~266の主題を含み、第1のDNNは、畳み込み、活性化、及びプーリング層を含む複数の層を含む畳み込みDNNであり、第1のDNNは、異なる層に供給する複数の入力ポートを含み、異なる層には、第1の入力層と、第1の入力層とは異なる第2の入力層とが含まれ、第1の画像形式の入力が第1の入力層に提供され、第2の画像形式の入力が第2の入力層に提供される。
【0492】
例268は、例267の主題を含み、第1の入力は画像の時間シーケンスを含み、第2の入力は車両の動きを表す画像形式の動き情報を含む。
【0493】
例269は、例264~268の主題を含み、第1のDNNは、トレーニングDNNと同じアーキテクチャを有する。
【0494】
例270は、例264~269の主題を含み、第1の損失成分は、トレーニング画像の時間シーケンス及びテスト結果が生成される対応するエゴモーション測定値に基づく写真測量的損失成分を含む。
【0495】
例271は、例270の主題を含み、第2の損失成分は、トレーニング画像の時間シーケンスの画像のいずれかが取り込まれた時間とは異なる時間に取り込まれた少なくとも1つの過去又は未来のトレーニング画像に基づく。
【0496】
例272は、例270~271の主題を含み、第2の損失成分は、テスト結果が作成されたエゴモーション測定値のいずれかが取得された時間とは異なる時間に取得されたエゴモーションの少なくとも1つの過去又は未来の測定値に基づく。
【0497】
例273は、例270~272の主題を含み、第2の損失成分は、トレーニング画像の時間シーケンスのいずれかの画像が取り込まれた時間よりも後に取り込まれるトレーニングデータの一部から取得された、取り込み画像及び対応する測定されたエゴモーションに基づく少なくとも1つの未来の道路構造評価に基づく。
【0498】
例274は、命令を含む少なくとも1つの機械可読媒体であり、命令が処理回路によって実行されると、処理回路に、例1~273のいずれかを実施するための動作を実行させる。
【0499】
例275は、例1~273のいずれかを実施するための手段を含む機器である。
【0500】
例276は、例1~273のいずれかを実施するためのシステムである。
【0501】
例277は、例1~273のいずれかを実施するための方法である。
【0502】
上記の詳細な説明には、詳細な説明の一部を形成する添付の図面への参照が含まれる。図面は、例として、実施され得る特定の実施形態を示す。これらの実施形態は、本明細書では「例」とも呼ばれる。そのような例は、図示又は説明されたものに加えて要素を含み得る。しかしながら、本発明者らは、図示又は説明した要素のみが提供される例も企図する。さらに、本発明者は、本明細書に示されるか、又は説明される特定の例(又は、その1つ又は複数の態様)に関して、又は他の例(又は、その1つ又は複数の態様)に関して、図示又は説明した要素(又は、その1つ又は複数の態様)の任意の組合せ又は置換を使用する例も企図する。
【0503】
この文書で参照される全ての出版物、特許、及び特許文書は、あたかも個々に参照により組み込まれるかのように、その全体が参照により本明細書に組み込まれる。この文書と、参照により組み込まれたこれらの文書との間に一貫性のない使用法がある場合に、組み込まれた参照での使用法は、この文書の使用法を補足するものと見なされるものとする。調整不可能な矛盾については、この文書の使用法が支配する。
【0504】
この文書では、「1つの(a, an)」という用語は、特許文書で一般的であるように、「少なくとも1つ」又は「1つ又は複数」の他のインスタンス又は使用法とは無関係に、1つ又は複数を含むように使用される。この文書では、「又は」という用語は、他に指定されていない限り、非排他的、つまり「A又はB」が、「AであるがBではない」、「BであるがAではない」、及び「A及びB」を含むことを指すために使用される。添付の特許請求の範囲において、「含む(including)」及び「その中(in which)」という用語は、「含む(comprising)」及び「その中の(wherein)」それぞれの用語の平易な英語の同等物として使用される。また、以下の特許請求の範囲では、「含む(including)」及び「備える(comprising)」という用語は制限がない。つまり、請求項内のそのような用語の後に列挙されている要素に加えて、要素を含むシステム、装置、物品、又はプロセスは、その特許請求の範囲内に依然としてあると見なされる。さらに、以下の特許請求の範囲において、「第1」、「第2」、及び「第3」等の用語は、単にラベルとして使用され、それらの物体に数値要件を課すことを意図しない。
【0505】
上記の説明は、例示を意図したものであり、限定を意図したものではない。例えば、上記の例(又は、その1つ又は複数の態様)は、互いに組み合わせて使用することができる。上記の説明を検討すると、当業者等によって、他の実施形態が使用され得る。要約は、読者が技術的開示の性質を素早く確認できるようにするためのものであり、特許請求の範囲又は意味を解釈又は制限するために使用されないことを理解して提出される。また、上記の詳細な説明では、開示を簡素化するために、様々な特徴をグループ化することができる。これは、特許請求の範囲に記載されていない開示された機能が特許請求の範囲に不可欠であることを意図するものとして解釈すべきではない。むしろ、発明の主題は、特定の開示された実施形態の全ての特徴より少ない場合がある。こうして、以下の特許請求の範囲は、これにより詳細な説明に組み込まれ、各請求項は別個の実施形態としてそれ自体で成立する。実施形態の範囲は、添付の特許請求の範囲を参照して、そのような特許請求の範囲が権利範囲を与える等価物の全範囲とともに決定すべきである。

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30