(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-01-31
(54)【発明の名称】車線検出のための方法およびシステム
(51)【国際特許分類】
G06T 7/60 20170101AFI20230124BHJP
G06T 7/00 20170101ALI20230124BHJP
G08G 1/16 20060101ALN20230124BHJP
【FI】
G06T7/60 200J
G06T7/00 650A
G08G1/16 C
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022522271
(86)(22)【出願日】2020-11-23
(85)【翻訳文提出日】2022-06-13
(86)【国際出願番号】 HU2020050054
(87)【国際公開番号】W WO2021105730
(87)【国際公開日】2021-06-03
(32)【優先日】2019-11-27
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】518289852
【氏名又は名称】エーアイモーティブ ケーエフティー.
(74)【復代理人】
【識別番号】110003797
【氏名又は名称】弁理士法人清原国際特許事務所
(74)【代理人】
【識別番号】100082072
【氏名又は名称】清原 義博
(72)【発明者】
【氏名】ヴァイナ,サボチ
(72)【発明者】
【氏名】ジョザ,チャバ マテ
(72)【発明者】
【氏名】ソルガイ,ダニエル
(72)【発明者】
【氏名】ジャンボキ,リチャード
(72)【発明者】
【氏名】コズマ,ダニエル アーコシュ
【テーマコード(参考)】
5H181
5L096
【Fターム(参考)】
5H181AA01
5H181CC04
5H181CC24
5H181LL01
5H181LL09
5L096BA04
5L096CA05
5L096DA01
5L096DA02
5L096FA03
5L096FA72
5L096GA08
5L096HA11
5L096KA04
(57)【要約】
【解決手段】
本発明は、車線検出のための方法であって、機械学習によって訓練された画像処理モジュール(12)を使用して、第1および第2の画像(10a、10b)の画像ペアに基づいて、第1の画像の第1の車線境界グループと第2の画像の第2の車線境界グループとの間の対応を決定する対応マッピング・データを出力データとして生成することと、出力データに基づいて画像空間検出ペアのデータ・ブロックを生成することと、画像空間検出ペアのそれぞれの第1のメンバーおよび第2のメンバーに対応する画像空間検出ペアのデータ・ブロックの第1および第2のデータ・ブロック部分に基づく三角測量によって3D車線検出データ・ブロックを生成することと、を含む、車線検出のための方法である。さらに、本発明は、車線検出のためのシステム、ならびに画像処理モジュールを訓練するための方法およびシステムである。
【選択図】
図1
【特許請求の範囲】
【請求項1】
車線検出のための方法であって、
画像処理ステップにおいて、機械学習によって訓練された画像処理モジュールによって、第1の画像(10a)と第2の画像(10b)の画像ペアに基づいて、前記第1の画像(10a)の第1の車線境界グループと前記第2の画像(10b)の第2の車線境界グループとの間の対応を決定する対応マッピング・データを出力データとして生成するステップと、
ペアリング・ステップにおいて、前記出力データに基づいて画像空間検出ペアのデータ・ブロックを生成するステップと、
3D車線検出データ生成ステップにおいて、
画像空間検出ペアの第1のメンバーに対応する前記画像空間検出ペアの前記データ・ブロックの第1のデータ・ブロック部分、および
画像空間検出ペアの第2のメンバーに対応する前記画像空間検出ペアの前記データ・ブロックの第2のデータ・ブロック部分
に基づき、前記第1の画像および前記第2の画像に対応する較正データ(26)を使用して、三角測量によって3D車線検出データ・ブロックを生成するステップと、を含む、方法。
【請求項2】
前記対応マッピング・データが、対応マッピング・データ・ブロック(16)に含まれており、前記出力データは、
前記第1の車線境界グループの各第1のメンバーの配置を定義するための第1の画像生検出データ・ブロック(14a)と、
前記第2の車線境界グループの各第2のメンバーの配置を定義するための第2の画像生検出データ・ブロック(14b)と、をさらに含むことを特徴とする、請求項1に記載の方法。
【請求項3】
複数のグリッド・テンソル要素を有する座標グリッド・テンソルによって表される座標グリッドに対して前記出力データが生成され、
前記第1の画像生検出データ・ブロック(14a)は、第1の画像生検出テンソルであり、前記第1の画像生検出テンソルは、前記座標グリッド・テンソルに対応し、複数の第1のテンソル要素を有し、前記複数の第1のテンソル要素は、前記第1の画像(10a)の第1の探索方向における前記第1の車線境界グループの最も近い第1の車線境界点の、対応するグリッド・テンソル要素から測定されたそれぞれの第1の距離値を含み、
前記第2の画像生検出データ・ブロック(14b)は、第2の画像生検出テンソルであり、前記第2の画像生検出テンソルは、前記座標グリッド・テンソルに対応し、複数の第2のテンソル要素を有し、前記複数の第2のテンソル要素は、前記第2の画像(10b)の第2の探索方向における前記第2の車線境界グループの最も近い第2の車線境界点の、対応するグリッド・テンソル要素から測定されたそれぞれの第2の距離値を含み、
前記対応マッピング・データ・ブロックは、前記座標グリッド・テンソルに対応し、前記最も近い第1の車線境界点と前記最も近い第2の車線境界点が同じ車線境界に対応するかどうかを特徴付ける複数の第3のテンソル要素を有する対応マッピング・テンソルであり、
前記座標グリッド・テンソルを使用して、画像空間検出ペアのテンソルは、画像空間検出ペアの前記データ・ブロックとして生成されることを特徴とする、請求項2に記載の方法。
【請求項4】
前記対応マッピング・テンソルがペアリング対応マッピング・テンソルであり、その第3のテンソル要素のそれぞれにペアリング確率値を有し、前記ペアリング確率値は、前記最も近い第1の車線境界点と前記最も近い第2の車線境界点が同じ車線境界に対応し、前記それぞれの第3のテンソル要素に対応する前記グリッド・テンソル要素からウィンドウ・サイズ内に配置される確率を特徴付け、それぞれの確率値が所定の第1の閾値を超える前記第3のテンソル要素が、前景の第3のテンソル要素として選択され、前記前景の第3のテンソル要素と、前記対応する第1のテンソル要素および第2のテンソル要素が、前記ペアリング・ステップにおいて前記画像処理ステップの前記出力データとして使用されることを特徴とする、請求項3に記載の方法。
【請求項5】
前記第1の探索方向および前記第2の探索方向がそれぞれ、前記それぞれの第1の画像および/もしくは第2の画像では左方向として、または前記それぞれの第1の画像および/もしくは第2の画像では右方向として選択されることを特徴とする、請求項4に記載の方法。
【請求項6】
前記対応マッピング・テンソルが、少なくとも2つの異なる車線タイプに対してそれぞれ少なくとも2つの車線境界タイプの選択的対応マッピング・テンソルを含み、前記ペアリング確率値は、車線境界タイプの選択確率値であり、前記最も近い第1の車線境界点および前記最も近い第2の車線境界点に対応する前記車線境界が特定の車線境界タイプである確率をさらに特徴付け、それぞれの3D車線検出データ・ブロックは、前記少なくとも2つの異なる車線タイプのための少なくとも2つの車線境界タイプの選択的対応マッピング・テンソルに基づいて生成されることを特徴とする、請求項4に記載の方法。
【請求項7】
前記対応マッピング・データが、前記第1の車線境界グループの各第1のメンバーの配置および前記第2の車線境界グループの各第2のメンバーの配置をさらに定義することを特徴とする、請求項1に記載の方法。
【請求項8】
前記対応マッピング・データが、前記第1の画像(10a)に対応する第1のチャネル対応マッピング・データ要素と、前記第2の画像(10b)に対応する第2のチャネル対応マッピング・データ要素とを含み、前記第1のチャネル対応マッピング・データ要素および前記第2のチャネル対応マッピング・データ要素のそれぞれは、前記第1のチャネル対応マッピング・データ要素および前記第2のチャネル対応マッピング・データ要素の前記それぞれのデータ要素が車線境界に対応するかどうかを特徴付けるラベルであり、同じラベルは同じ車線境界に対応し、および異なるラベルはそれぞれ、前記第1のチャネル対応マッピング・データ要素および前記第2のチャネル対応マッピング・データ要素の異なる車線境界に対応し、車線境界に対応する前記第1のチャネル対応マッピング・データ要素および前記第2のチャネル対応マッピング・データ要素の前記データ要素が、前景対応マッピング・データ要素として選択され、前景対応マッピング・データ要素が、前記ペアリング・ステップにおいて前記画像処理ステップの前記出力データとして使用されることを特徴とする、請求項1に記載の方法。
【請求項9】
前記第1の画像(10a)の前記第1の車線境界グループの第1のインデックスを有する各第1のメンバーの配置は、前記第1の画像生検出データ・ブロックの第1のモデル・パラメータによって定義され、
前記第2の画像(10b)の前記第2の車線境界グループの第2のインデックスを有する各第2のメンバーの配置は、前記第2の画像生検出データ・ブロックの第2のモデル・パラメータによって定義され、
前記対応マッピング・データ・ブロック(16)は、それぞれの第1のインデックスと第2のインデックスが同じ車線境界に対応するかどうかに基づいて、前記第1のインデックスと前記第2のインデックスとの間の対応を決定することを特徴とする、請求項2に記載の方法。
【請求項10】
前記画像処理モジュール(12)がニューラル・ネットワークによって実装されることを特徴とする、請求項1に記載の方法。
【請求項11】
前記画像処理ステップにおいて、前記第1の画像(10a)および前記第2の画像(10b)の実際のフレームに加えて、前記実際のフレームの先行するまたは後続の、前記第1の画像および前記第2の画像の少なくとも1つの追加のフレームに基づいて、前記出力データが前記画像処理モジュールによって生成されることを特徴とする、請求項1に記載の方法。
【請求項12】
前記第1の画像(10a)と前記第2の画像(10b)との前記画像ペアは、左画像と右画像とのステレオ画像ペアであることを特徴とする、請求項1に記載の方法。
【請求項13】
車線検出のためのシステムであって、
機械学習によって訓練された画像処理モジュール(12)であって、第1の画像(10a)と第2の画像(10b)の画像ペアに基づいて、前記第1の画像(10a)の第1の車線境界グループと前記第2の画像(10b)の第2の車線境界グループとの間の対応を決定する対応マッピング・データを出力データとして生成するように適合された画像処理モジュール(12)と、
前記出力データに基づいて画像空間検出ペアのデータ・ブロックを生成するように適合されたペアリング・モジュール(20)と、
画像空間検出ペアの第1のメンバーに対応する前記画像空間検出ペアの前記データ・ブロックの第1のデータ・ブロック部分、および
画像空間検出ペアの第2のメンバーに対応する前記画像空間検出ペアの前記データ・ブロックの第2のデータ・ブロック部分
に基づき、前記第1の画像および前記第2の画像に対応する較正データ(26)を使用して、三角測量によって3D車線検出データ・ブロックを生成するように適合された3D投影モジュール(24)と、を含む、システム。
【請求項14】
前記対応マッピング・データは対応マッピング・データ・ブロック(16)に含まれており、前記出力データは、
前記第1の車線境界グループの各第1のメンバーの配置を定義するための第1の画像生検出データ・ブロック(14a)と、
前記第2の車線境界グループの各第2のメンバーの配置を定義するための第2の画像生検出データ・ブロック(14b)と、をさらに含むことを特徴とする、請求項13に記載のシステム。
【請求項15】
複数のグリッド・テンソル要素を有する座標グリッド・テンソルによって表される座標グリッドに対して前記出力データが生成され、
前記第1の画像生検出データ・ブロック(14a)は、第1の画像生検出テンソルであり、前記第1の画像生検出テンソルは、前記座標グリッド・テンソルに対応し、複数の第1のテンソル要素を有し、前記複数の第1のテンソル要素は、前記第1の画像(10a)の第1の探索方向における前記第1の車線境界グループの最も近い第1の車線境界点の、対応するグリッド・テンソル要素から測定されたそれぞれの第1の距離値を含み、
前記第2の画像生検出データ・ブロック(14b)は、第2の画像生検出テンソルであり、前記第2の画像生検出テンソルは、前記座標グリッド・テンソルに対応し、複数の第2のテンソル要素を有し、前記複数の第2のテンソル要素は、前記第2の画像(10b)の第2の探索方向における前記第2の車線境界グループの最も近い第2の車線境界点の、対応するグリッド・テンソル要素から測定されたそれぞれの第2の距離値を含み、
前記対応マッピング・データ・ブロックは、前記座標グリッド・テンソルに対応し、前記最も近い第1の車線境界点と前記最も近い第2の車線境界点が同じ車線境界に対応するかどうかを特徴付ける複数の第3のテンソル要素を有する対応マッピング・テンソルであり、
前記座標グリッド・テンソルを使用して、画像空間検出ペアのテンソルが画像空間検出ペアの前記データ・ブロックとして生成されることを特徴とする、請求項14に記載のシステム。
【請求項16】
前記対応マッピング・テンソルがペアリング対応マッピング・テンソルであり、その第3のテンソル要素のそれぞれにペアリング確率値を有し、前記ペアリング確率値は、前記最も近い第1の車線境界点と前記最も近い第2の車線境界点が同じ車線境界に対応し、前記それぞれの第3のテンソル要素に対応する前記グリッド・テンソル要素からウィンドウ・サイズ内に配置される確率を特徴付け、それぞれの確率値が所定の第1の閾値を超える前記第3のテンソル要素が、前景の第3のテンソル要素として選択され、前記前景の第3のテンソル要素と、前記対応する第1のテンソル要素および第2のテンソル要素が、前記ペアリング・モジュール(20)において前記画像処理モジュールの前記出力データとして使用されることを特徴とする、請求項15に記載のシステム。
【請求項17】
前記第1の探索方向および前記第2の探索方向はそれぞれ、前記それぞれの第1の画像および/もしくは第2の画像では左方向として、または前記それぞれの第1の画像および/もしくは第2の画像では右方向として選択されることを特徴とする、請求項16に記載のシステム。
【請求項18】
前記対応マッピング・テンソルが、少なくとも2つの異なる車線タイプに対してそれぞれ少なくとも2つの車線境界タイプの選択的対応マッピング・テンソルを含み、前記ペアリング確率値は、車線境界タイプの選択確率値であり、前記最も近い第1の車線境界点および前記最も近い第2の車線境界点に対応する前記車線境界が特定の車線境界タイプである確率をさらに特徴付け、前記システムは、前記少なくとも2つの異なる車線タイプのための少なくとも2つの車線境界タイプの選択的対応マッピング・テンソルに基づいて、それぞれの3D車線検出データ・ブロックを生成するように適合されていることを特徴とする、請求項16に記載のシステム。
【請求項19】
前記対応マッピング・データが、前記第1の車線境界グループの各第1のメンバーの配置および前記第2の車線境界グループの各第2のメンバーの配置をさらに定義することを特徴とする、請求項13に記載のシステム。
【請求項20】
前記対応マッピング・データが、前記第1の画像(10a)に対応する第1のチャネル対応マッピング・データ要素と、前記第2の画像(10b)に対応する第2のチャネル対応マッピング・データ要素とを含み、前記第1のチャネル対応マッピング・データ要素および前記第2のチャネル対応マッピング・データ要素のそれぞれは、前記第1のチャネル対応マッピング・データ要素および前記第2のチャネル対応マッピング・データ要素の前記それぞれのデータ要素が車線境界に対応するかどうかを特徴付けるラベルであり、同じラベルは同じ車線境界に対応し、および異なるラベルはそれぞれ、前記第1のチャネル対応マッピング・データ要素および前記第2のチャネル対応マッピング・データ要素の異なる車線境界に対応し、車線境界に対応する前記第1のチャネル対応マッピング・データ要素および前記第2のチャネル対応マッピング・データ要素の前記データ要素は、前景対応マッピング・データ要素として選択され、前記前景対応マッピング・データ要素が、前記ペアリング・モジュールにおいて前記画像処理モジュールの前記出力データとして使用されることを特徴とする、請求項13に記載のシステム。
【請求項21】
前記第1の画像(10a)の前記第1の車線境界グループの第1のインデックスを有する各第1のメンバーの配置は、前記第1の画像生検出データ・ブロックの第1のモデル・パラメータによって定義され、
前記第2の画像(10b)の前記第2の車線境界グループの第2のインデックスを有する各第2のメンバーの配置は、前記第2の画像生検出データ・ブロックの第2のモデル・パラメータによって定義され、
前記対応マッピング・データ・ブロック(16)は、それぞれの第1のインデックスと第2のインデックスが同じ車線境界に対応するかどうかに基づいて、前記第1のインデックスと前記第2のインデックスとの間の対応を決定することを特徴とする、請求項14に記載のシステム。
【請求項22】
前記画像処理モジュール(12)がニューラル・ネットワークによって実装されることを特徴とする、請求項13に記載のシステム。
【請求項23】
前記画像処理モジュール(12)による前記出力データの生成は、前記第1の画像(10a)および前記第2の画像(10b)の実際のフレームに加えて、前記実際のフレームの先行するまたは後続の、前記第1の画像および前記第2の画像の少なくとも1つの追加のフレームに基づくことを特徴とする、請求項13に記載のシステム。
【請求項24】
前記第1の画像(10a)と前記第2の画像(10b)との前記画像ペアは、左画像と右画像とのステレオ画像ペアであることを特徴とする、請求項13に記載のシステム。
【請求項25】
請求項1に記載の方法に適用される画像処理モジュールを訓練するための方法であって、前記画像処理モジュールの学習可能なパラメータを変更することにより、前記画像処理モジュールの訓練中に前記3D車線検出データ・ブロックの3D投影損失を制御するステップを含む、方法。
【請求項26】
請求項13に記載のシステムに適用される画像処理モジュールを訓練するためのシステムであって、前記画像処理モジュールの学習可能なパラメータを変更することにより、前記画像処理モジュールの訓練中に前記3D車線検出データ・ブロックを制御するように適合された3D投影損失モジュール(42)を含む、システム。
【請求項27】
命令を記憶した非一時的なコンピュータ可読媒体であって、前記命令は、コンピュータによって実行されると、前記コンピュータに、
画像処理ステップにおいて、機械学習によって訓練された画像処理モジュールを用いて、第1の画像(10a)と第2の画像(10b)の画像ペアに基づいて、前記第1の画像(10a)の第1の車線境界グループと前記第2の画像(10b)の第2の車線境界グループとの間の対応を決定する対応マッピング・データを出力データとして生成することと、
ペアリング・ステップにおいて、前記出力データに基づいて画像空間検出ペアのデータ・ブロックを生成することと、
3D車線検出データ生成ステップにおいて、
画像空間検出ペアの第1のメンバーに対応する前記画像空間検出ペアの前記データ・ブロックの第1のデータ・ブロック部分、および
画像空間検出ペアの第2のメンバーに対応する前記画像空間検出ペアの前記データ・ブロックの第2のデータ・ブロック部分
に基づき、前記第1の画像および前記第2の画像に対応する較正データ(26)を使用して、三角測量によって3D車線検出データ・ブロックを生成することと、を行わせる、非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習によって訓練された画像処理モジュールによる車線検出のための方法およびシステムに関する。本発明はまた、画像処理モジュールを訓練するための方法およびシステムに関する。
【背景技術】
【0002】
自動運転用途では、道路車両の3次元環境の認識が非常に重要である。路面の推定と車線マーカまたは境界の検出は、車線維持と車線変更操作、および車線レベルでの障害物の位置特定に必要である。車線の形状と障害物の情報は、車両の制御を担当するデバイスの重要な入力である。それゆえに、車線検出の問題に取り組むべく、いくつかのアプローチや試みがなされてきた。
【0003】
従来技術の車線検出アプローチの中で、従来のコンピュータ・ビジョン技術が使用されており、車線マーカは、オブジェクトの幅、向き、位置合わせ、および他の基準に従って探索される。そのような車線検出アプローチは、例えば、米国特許第6,819,779(B1)号、米国特許第6,813,370(B1)号、米国特許第9,286,524(B2)号、CN105975957Aおよび特開2002150302(A)号に開示されている。
【0004】
さらにコンピュータ・ビジョンベースのアプローチが導入された:
・Andras Bodis-Szomoru他:「A lane detection algorithm based on wide-baseline stereo vision for advanced driver assistance(前進運転支援のためのワイドベースライン・ステレオ・ビジョンに基づく車線検出アルゴリズム)」、KEPAF2009。画像処理とパターン認識のためのハンガリー協会の第7回会議、ブダペスト、2009年(7th conference of Hungarian Association for Image Processing and Pattern Recognition. Budapest,2009)。
・Sergiu Nedevschi他:「3D Lane Detection System Based on Stereovision(ステレオビジョンに基づく3D車線検出システム)」、2004年IEEE高度道路交通システム会議、米国ワシントンDC、2004年10月3~6日(2004 IEEE Intelligent Transportation Systems Conference, Washington, D.C.,USA, October 3-6,2004)。
・Rui Fan他:「Real-time stereo vision-based lane detection system(リアルタイム・ステレオ・ビジョンベースの車線検出システム)」、Meas.Sci.科学技術。29巻、074005、2018。
【0005】
さらなるタイプの車線検出アプローチが米国特許出願公開第2018/0067494(A1)号に開示されており、そこでは、ライダー(LIDAR(Light Detection and Ranging))(光検出および測距)デバイスの3D点群が車線検出に利用されている。このアプローチの主な欠点は、ライダー・デバイスを使用することである。つまり、このアプローチでは、車線検出を実現するために専用の高価なデバイスが必要である。ライダーの使用は、「可視」オブジェクトの観点からも不利である。ライダー点群には、遮蔽されたオブジェクトおよび/またはオブジェクトの遮蔽された側に関する情報が含まれていない。つまり、点群には限られた空間情報が含まれている。深度情報を使用する同様のアプローチは、米国特許出願公開2018/131924(A1)号に開示されている。
【0006】
米国特許出願公開2018/283892(A1)号では、高解像度マップの使用に関連する車線マーカの検出が開示されている。このアプローチでは、車線マーカの検出はセマンティック・セグメンテーションの助けを借りて行われ、それゆえに、画像上の広い領域が車線マーカに関連付けられる。このアプローチでは、車線セグメントを抽出するためにDouglas-Peuckerの多角化が実行された場合でも、3D投影で高いノイズが発生する。
【0007】
上記のアプローチと同様のアプローチが米国特許第10,055,650(B2)号に開示されており、そこでは、車線検出は、他のオブジェクト、例えば周辺車両、交通標識、危険地帯、またはトンネルの中で車線を検証するために実行されるオブジェクト検出の一部として行われる。
【0008】
上記のアプローチと同様のセグメンテーションおよびオブジェクト分類ベースの技術は、例えば、車線マーカを識別するために、WO2018/104563A2、WO2018/172849A2、米国特許第9,902,401(B2)号、米国特許第9,286,524(B1)号、CN107092862A、EP3171292A1および米国特許第10,007,854(B2)号に開示されている。例えばニューラル・ネットワークの助けを借りて車線境界を決定するための方法は、米国特許第9,884,623(B2)号に開示されている。
【0009】
既知のアプローチを考慮すると、従来技術のアプローチよりも効率的な車線検出方法およびシステムが求められている。
【発明の概要】
【発明が解決しようとする課題】
【0010】
本発明の主な目的は、可能な限り従来技術のアプローチの不利な点がない、車線検出のための方法およびシステムを提供することである。
【0011】
車線検出のための方法およびシステムのさらなる目的は、従来技術のアプローチよりも効率的な車線検出のための改善されたアプローチを提供することである。本発明の目的は、機械学習を使用して、第1の画像および第2の画像に基づく3D(3次元)車線検出を提供することである。
【課題を解決するための手段】
【0012】
本発明の目的は、それぞれ請求項1および請求項13に記載の車線検出のための方法およびシステム、それぞれ請求項25および請求項26に記載のニューラル・ネットワークを訓練するための方法およびシステム、ならびに請求項27に記載の非一時的なコンピュータ可読媒体によって達成することができる。本発明の好ましい実施形態は、従属請求項に定義されている。
【0013】
典型的な実施形態の助けを借りて本発明を説明するために、以下を本明細書に開示する。本発明による方法およびシステムの典型的な実施形態では(以下の可能な一般化も参照)、3D車線検出は、入力画像の車線境界の生検出(画像上の車線境界の位置を定義する)と、2つの画像の生検出間の対応を与える対応マッピング(ステレオ画像ペアの車線境界の対応するペアを定義する)に基づいて行われる。生検出および対応マッピングは、本発明による方法およびシステムのこの実施形態で適用される画像処理モジュール(ユニット)の出力である。したがって、車線境界の位置特定の直接的な識別は、本発明に従って行われる(例えば、車線境界マーカの中心線に基づく)。これらの既知のアプローチでは、機械学習アルゴリズムの助けを借りて実行されるセグメンテーション・アプローチの助けを借りて車線境界マーカが探索されているため、つまり、境界マーカは、他のオブジェクトと同様に、画像上のパッチとして調査されているため、これは、上記で導入されたセグメンテーション・ベースの既知の技術とは異なるアプローチを構成する(Davy Neven他、Towards End-to-End Lane Detection:an Instance Segmentation Approach(エンドツーエンド車線検出に向けて:インスタンス・セグメンテーション・アプローチ)、2018、arXiv:1802.05591;Yen-Chang Hsu他、Learning to Cluster for Proposal-Free Instance Segmentation(プロポーザルなしのインスタンス・セグメンテーションのためのクラスタの学習)、2018、arXiv:1803.06459を参照。以下も参照されたい。これらのアプローチと比較して、ステレオ情報を効率的に処理できる方法が本発明に従って解決されていることが好ましい)。
【0014】
上記のセクションによれば、機械学習によって訓練された画像処理モジュールは、一般に、本発明による方法およびシステムで使用される。しかしながら、この画像処理モジュールの使用は、その例示的な実装であるニューラル・ネットワークの使用によって説明されている。ニューラル・ネットワークの説明では、選択した機械学習実装のいくつかのパラメータとその他の詳細が設定されることも示している。
【0015】
本発明の好ましい実施形態は、以下の図面を参照して例として以下に説明される。
【図面の簡単な説明】
【0016】
【
図1】本発明による方法およびシステムの実施形態を示す流れ図である。
【
図2】一実施形態における様々な対応マッピングおよびそれらの異なる種類の生検出との関係を示す図である。
【
図3A】一実施形態における例示的な左および右の画像の統合を示す概略図であり、様々なペアリング・マスクおよび探索方向を示している。
【
図3B】一実施形態における例示的な左および右の画像の統合を示す概略図であり、様々なペアリング・マスクおよび探索方向を示している。
【
図3C】一実施形態における例示的な左および右の画像の統合を示す概略図であり、様々なペアリング・マスクおよび探索方向を示している。
【
図4A】
図3A~3Cと同様の実施形態におけるペアリング・マスクおよび車線境界を示す図式化された例示的な左および右の画像である。
【
図4B】
図3A~3Cと同様の実施形態におけるペアリング・マスクおよび車線境界を示す図式化された例示的な左および右の画像である。
【
図4C】
図3A~3Cと同様の実施形態におけるペアリング・マスクおよび車線境界を示す図式化された例示的な左および右の画像である。
【
図4D】
図3A~3Cと同様の実施形態におけるペアリング・マスクおよび車線境界を示す図式化された例示的な左および右の画像である。
【
図4E】
図3A~3Cと同様の実施形態におけるペアリング・マスクおよび車線境界を示す図式化された例示的な左および右の画像である。
【
図4F】
図3A~3Cと同様の実施形態におけるペアリング・マスクおよび車線境界を示す図式化された例示的な左および右の画像である。
【
図4G】
図4A~4Fのスキームに対応する左の画像空間検出を示している。
【
図5A】
図5A~5Bは、本発明による方法の実施形態の助けを借りて、
図4A~4Gに示されるシナリオに基づいて得られた結果のY(Z)およびX(Z)図である。
【
図5B】
図5A~5Bは、本発明による方法の実施形態の助けを借りて、
図4A~4Gに示されるシナリオに基づいて得られた結果のY(Z)およびX(Z)図である。
【
図6A】
図6A~6Bは、既知のアプローチの助けを借りて
図4A~4Gに示されるシナリオに基づいて得られた結果のY(Z)およびX(Z)図である。
【
図6B】
図6A~6Bは、既知のアプローチの助けを借りて
図4A~4Gに示されるシナリオに基づいて得られた結果のY(Z)およびX(Z)図である。
【
図7A】
図7A~7Bは、概略図であり、さらなる実施形態における車線境界および対応マッピングを示す例示的な第1のカメラ画像および第2のカメラ画像を示す。
【
図7B】
図7A~7Bは、概略図であり、さらなる実施形態における車線境界および対応マッピングを示す例示的な第1のカメラ画像および第2のカメラ画像を示す。
【
図8A】
図8A~8Bは、車線境界およびステレオ・インスタンス・セグメンテーションによって得られた対応マッピングを示す、図式化された例示的な左および右の画像である。
【
図8B】
図8A~8Bは、車線境界およびステレオ・インスタンス・セグメンテーションによって得られた対応マッピングを示す、図式化された例示的な左および右の画像である。
【発明を実施するための形態】
【0017】
本発明は、車線検出のための方法およびシステムである。本発明のフレームワークにおいて、これは、本発明による方法またはシステムの結果として、3D(3次元)車線検出データが入力画像に基づいて得られることを意味する。より具体的には、好ましくは、3D車線境界の3D表現は、画像ペアに基づいて得られた結果である(好ましくは、車線境界が対応する車線に沿って進む車両によって撮影された)。方法およびシステムの実施形態の流れ図(方法を考慮して、段階またはデータ・ブロックに対応するブロック、ならびにシステムを考慮して、モジュールまたはデータ・ブロックに対応するブロック)を
図1に示す。
【0018】
本発明による方法は、
画像処理ステップにおいて、機械学習によって訓練された画像処理モジュールを使用して、第1の画像と第2の画像(
図1の実施形態における第1の画像10aおよび第2の画像10b)の画像ペアに基づいて、第1の画像の第1の車線境界グループと第2の画像の第2の車線境界グループとの間の対応を決定する対応マッピング・データを出力データとして生成するステップと、
ペアリングステップ(画像空間検出データ生成ステップとも呼ばれる場合がある)において、出力データに基づいて画像空間検出ペアのデータ・ブロックを生成するステップと、
3D車線検出データ生成ステップにおいて、
・画像空間検出ペアの第1のメンバーに対応する画像空間検出ペアのデータ・ブロックの第1のデータ・ブロック部分、および
・画像空間検出ペアの第2のメンバーに対応する画像空間検出ペアのデータ・ブロックの第2のデータ・ブロック部分
に基づき、第1の画像と第2の画像に対応する較正データを使用して、三角測量によって3D車線検出データ・ブロックを生成するステップと、を含む。
【0019】
当然、3Dはそれぞれの名前で3次元として書くことができる。
【0020】
-第1または第2の-車線境界グループは、それぞれの画像にあり得る車線境界のグループである。車線境界グループは、1つまたは複数の車線境界を含み得るが、わずかなケースでは、車線境界の数が画像内でゼロになる場合もある。これは、複数の車線境界が存在すること、またはゼロ車線境界がその中に含まれることを示さない「車線境界グループ」という名前にも反映されている。したがって、対応マッピング・データは、車線境界のグループ間の対応を示し、どのグループについて、それらにいくつの車線境界が含まれるかが事前にわからない。
【0021】
上記の本発明の導入によれば、一般に、対応マッピング・データは、本発明による方法で生成される。以下に示すように、いくつかの実施形態では、対応マッピング・データは、別個の対応マッピング・データ・ブロックに組み込まれる(次の実施形態も参照)。典型的には、別個の対応マッピング・データ・ブロックを有する実施形態では、生検出データ・ブロックもまた、画像処理モジュールの出力として定義される。
【0022】
しかし、対応マッピング・データの様々な実現が考えられる。一実施形態では、対応マッピング・データのみが3D車線検出データのさらなる計算に利用され、生検出データはまったく利用されない。説明のために、以下の表8a~8dに例を示す(しかし、表8a~8dでは、対応マッピング・データの他に生検出も定義されている):対応マッピング・データの非ゼロ値に対応する座標は、車線境界の配置の適切な近似値を提供し、必要に応じて座標グリッドを利用して、このデータを単独で使用して、車線境界の画像空間検出と3D座標を取得する。この近似値の品質は、対応マッピング・データの解像度によって制限される。対応マッピング・データの解像度が入力画像の解像度と類似している場合、生検出は、対応マッピング・データから推測される車線境界の座標に対する無視された小さな修正として解釈される。この場合、対応マッピング・データは、対応を決定するというその主な目的に加えて、第1の車線境界グループの各第1のメンバーの配置および第2の車線境界グループの各第2のメンバーの配置をさらに定義する。
【0023】
また、最初から対応マッピング・データを生検出に組み込む場合も考えられるため、対応性の高い生検出データ・ブロックには、これらの生検出データ要素のみが含まれる。このフィルタリングは、個別の対応マッピング・データ・ブロックが定義されている場合にも実行できる。
【0024】
要約すると、対応マッピング・データ(および生検出などの他の実施形態における他の出力)は、本発明のすべての実施形態において適切な形態で機械学習によって訓練された画像処理モジュールの助けを借りて生成される(つまり、画像処理モジュール-例えばニューラル・ネットワークによって実装される-機械学習によって訓練可能であり、対応マッピング・データやその他の関連する可能性のある出力を生成する)。言い換えれば、第1の画像と第2の画像の車線境界の間の対応を決定することに関与するデータは、すべての実施形態で定義される。したがって、訓練された画像処理モジュールは、言い換えれば、訓練された機械学習モデルである。
【0025】
本発明の上記の導入において、対応は、それぞれの第1の画像および第2の画像の第1の車線境界検出グループおよび第2の車線境界検出グループの間で決定される。これらのグループは、1つまたは複数の車線境界(それぞれの第1または第2の画像で観察可能な各車線境界に対応)を含み得るが、画像で車線境界が検出されない場合の境界線の場合のゼロ検出も含み得る(次いで、画像のすべての情報は背景に対応している。前景と背景の区別については、以下を参照されたい)。
【0026】
ここで、ペアリングステップ(すべて)では、画像処理ステップにおいて生成された出力データが、画像空間検出ペアのデータ・ブロックを生成するために利用されることにも留意されたい。つまり、対応マッピング・データしかない場合は、それだけが利用される。しかし、生検出データ・ブロックがある場合は、これらも利用される。以下のいくつかの実施形態では、ペアリングステップに転送される出力データに含まれるものも指定される。
【0027】
以下に示すように、三角測量は、3D車線検出データ・ブロックを計算できることに基づいた最も一般的なアプローチである。三角測量は、点のようなオブジェクト(オブジェクトの特定の点など)の複数の画像で見つかった点の対応に基づいて3D位置を計算する方法である。対応する点のセットは、対応するカメラの中心(カメラの座標系の原点)から始まる光線のセットを定義する。オブジェクトの3D座標は、光線の交点として計算され、線形連立方程式になる。点の対応が完全でない場合、光線が交差しない可能性がある。この場合、推定された3D位置は、光線に垂直な距離で最も近くにある点として定義できる。あるいは、対応の最小の精製は、精製された対応がエピポーラ制約を満たすように、すなわち、対応する光線が交差するように、数値的に決定することができる(以下の参考書のセクション12.5、このセクションは参照により本明細書に組み込まれる)。視差に基づく計算は、三角測量の特殊な変形である。三角測量の詳細については、例えば、Richard Hartley and Andrew Zisserman(2003)を参照されたい。Multiple View Geometry in computer vision(コンピュータ・ビジョンのマルチビュー形状)。ケンブリッジ大学出版局。ISBN978-0-521-54051-3。較正データを考慮に入れると、画像の相互比較の配置を十分に定義できるため、第1の画像と第2の画像に対応する較正データも三角測量に使用される。
【0028】
一実施形態では、生検出もまた、方法中に定義される。この方法の実施形態では、対応マッピング・データは、対応マッピング・データ・ブロック(例えば、「対応マッピング」とラベル付けされた
図1の対応データ・ブロック16)に含まれており、出力データは、さらに、
第1の車線境界検出グループの各第1のメンバーの配置を定義するための第1の画像生検出データ・ブロック14a、および
第2の車線境界検出グループの各第2のメンバーの配置を定義するための第2の画像生検出データ・ブロック14bを含む。
【0029】
「第1の画像生検出」とラベル付けされた第1の画像生検出データ・ブロック14aについては、
図1の実施形態を参照されたい。通常、生検出データ・ブロックは、1つまたは複数の生検出のデータを含む。生検出がゼロの場合、この方法の結果、車線境界が見つからないため、3D座標をそれらに割り当てることができない。単一の検出とは、以下に示すように、距離または別のパラメータに対応する単一の有限値パラメータを意味する。「第2の画像生検出」とラベル付けされた第2の画像生検出データ・ブロック14bについても
図1を参照されたい。これらのデータ・ブロックは、生検出が処理されるそれぞれのデータ(車線境界の配置を定義するデータ)の生検出に対応するため、生検出データ・ブロックと呼ばれる。
【0030】
上記の導入によれば、車線境界の配置は、生検出データ・ブロックによって、あるいは、対応マッピング・データ自体の助けを借りて定義することができる。これらの2つの選択肢は、2つの主な可能性をもたらす。さらに、生検出の助けを借りて配置を定義する場合、以下に詳述するように2つのサブケースを導入できる。第1のサブケースでは、生検出と対応マッピングは、画像処理モジュールの独立した出力である(例えば、以下の表1a~1cを参照)。しかし、第2のサブケースでは、生検出と対応マッピング・データが、生検出が対応マッピング・データの入力として実質的に機能するように出力として取得される(以下のモデルベースの実施形態を参照)。
【0031】
上記の本発明による方法の導入では、データ・ブロックの計算が定義されている。「データ・ブロック」の解釈については、以下の詳細を参照されたい(例えば、データ・ブロックはテンソルで表すことができる)。一般に、データ・ブロックはデータのブロック(ブロックが任意の形状をしている場合)であり、データ・ブロックのメンバーは通常、以下の例に示すように数字である。
【0032】
ここでは、多くの実施形態で使用されるように、一実施形態では、第1の画像と第2の画像の画像ペアが、左画像と右画像のステレオ画像ペアである(ステレオ画像を撮影するために、通常、2つの画像を同時に作成するように制限されており、2つの画像化カメラが同じ平面にあることが好ましい)ことも述べられている。しかしながら、第1の画像および第2の画像は、画像化装置の任意の相対的向きからのものであり得、そのように生成された第1の画像および第2の画像が検出のために十分な重なりを有する場合、異なるタイミングで作成され得る。
【0033】
上記の詳細によれば、車線検出の目的で、車線境界は、運転可能な路面を車線に分割する連続曲線として定義されることが好ましい。車線が車線マーカによって境界付けられている場合、車線境界は車線境界マーカの中心線に従うことが好ましく、これは連続的(単一または二重)であるか、またはいくつかの単純またはより複雑な破線を有することができる。あるいは、車線境界は、車線マーカのシーケンスに対応する別の特定の線であってもよい(それは、その右側または左側、あるいはその中の他のどこかに沿って延びることができる)。したがって、車線境界は好ましくは単一の線(幅寸法なし)であり、例えば、二重に閉じた(連続した)車線マーカも単一の線に投影される。例えば国の規制によっては、車線の側方車線境界(つまり、道路自体の側にある車線の側)が車線境界マーカでマークされていない場合があり得る。したがって、この車線境界(道路脇も「車線境界」という名前で覆われている)は、道路と道路に隣接する領域(舗装、草で覆われた領域、砂利などであり得る)の間の単純な遷移である。
【0034】
このタイプの車線境界も処理できることは、本発明による本解決策の大きな利点である。学習プロセス中、画像処理モジュール、または特定の実装では、ニューラル・ネットワークは(適切なタイプのグラウンド・トゥルース画像の適用の助けを借りて)そのようなタイプの車線境界も学習でき(ネットワークはこのタイプの遷移を探索する、これは、画像上で単一の線で近似することもできる)、使用中にこれを認識できる。したがって、この異なるタイプの車線境界は、アプローチの概念を変更することなく、車線境界マーカを使用した車線境界と同様の方法で識別できる(注釈技術も同じである)。したがって、車線の両方の境界(すなわち、両側のその境界)は、好ましくは、本発明の助けを借りてモデル化することができる。
【0035】
ペアリングステップ(および以下のペアリング・モジュール)では、検出ペアが識別される。これらは、例えば、第1および第2の検出用のチャネルのようなパラメータを有する単一のブロックで表すことができ(
図1を参照、この出力は次のモジュールへの単一の出力として与えられる)、または、例えば第1および第2の画像のより分離されたデータ・ブロックで表され得、以下の例を参照されたい(対応マッピング・データ・ブロックのための別個の第1および第2の画像空間検出データ・ブロックおよびそれぞれの第1または第2の画像生検出データ・ブロック。画像空間検出データ・ブロックも、ペアリングステップにおいて取得されたより大きなデータ・ブロックの一部であり得る)。ペアリングステップにおいては、例えば視差を計算できることに基づきペアを構成するそのような検出が識別される。
【0036】
ペアリングステップ(したがって、ペアリング・モジュール20)では、画像空間検出が得られる。これらは、上記のように単一テンソル表現または2つのテンソル表現を有することができる。画像空間検出ペアのそれぞれの第1のメンバーおよび第2のメンバーに対応する画像空間検出ペアのデータ・ブロックのそれぞれの第1のデータ・ブロック部分および第2のデータ・ブロック部分が存在する。画像空間検出ペアのデータ・ブロックから、どの部分がペアのそれぞれのメンバーに対応するかを常に導出できる。つまり、その第1のデータ・ブロック部分および第2のデータ・ブロック部分を定義できる(例えば、表2bと2c、または6bと6cの2つのテンソル表現を参照されたい。データの分離は、単一のテンソル表現に対しても実行できる)。
【0037】
車線検出にも適した、本発明による対応するシステム(好ましくは、本発明による方法を実行するように適合された)は、
機械学習によって訓練された画像処理モジュールであって、第1の画像と第2の画像の画像ペアに基づいて、第1の画像の第1の車線境界検出グループと第2の画像の第2の車線境界検出グループとの間の対応を決定する対応マッピング・データ(生検出データ・ブロックもシステムの実施形態で導入され得る)を出力データとして生成するように適合された画像処理モジュール(
図1の実施形態では画像処理モジュール12によって実装され、実施形態のモジュールの主要要素に従って「ニューラル・ネットワーク」とラベル付けされている)と、
出力データに基づいて画像空間検出ペアのデータ・ブロックを生成するように適合されたペアリング・モジュール(
図1の実施形態では「ペアリング」とラベル付けされたペアリング・モジュール20)と、
画像空間検出ペアの第1のメンバーに対応する画像空間検出ペアのデータ・ブロックの第1のデータ・ブロック部分、および
画像空間検出ペアの第2のメンバーに対応する画像空間検出ペアのデータ・ブロックの第2のデータ・ブロック部分
に基づき、第1の画像と第2の画像に対応する較正データを使用して、三角測量によって3D車線検出データ・ブロックを生成するように適合された3D投影モジュール(
図1の実施形態では、「3D投影」とラベル付けされた3D投影モジュール24。このモジュールは、3D投影に適合されている)と、を含む。
【0038】
好ましくは、システム(または同等に、それは装置であると見なすことができる)は、
1つまたは複数のプロセッサと、
1つまたは複数のプロセッサに結合され、1つまたは複数のプロセッサによって実行されると、システムに上記のシステムの定義に従って導入されたモジュールによって実行されるタスク(機能、すなわち、本発明による方法の対応する実施形態で定義されたステップ)を実行させ、より具体的には、上記のモジュールで生成される様々な量を生成させるプログラムコードを含むメモリと、を含むことによって実現することができる。
【0039】
上記のモジュールは、コンピュータのサブアセンブリのタスク指向の配分を提供する。システム(装置)自体が様々なタスクを担当していると見なすこともできる。
【0040】
方法からも明らかなように、すべての場合に視差データを計算する必要はない。システムの場合、これは、視差モジュールを含む必要がないことを意味する。3D車線検出データ・ブロックの計算がこのデータにも基づいている場合(これは好ましくは事前にスケジュールされている)、システムは視差モジュールを含む。
【0041】
本発明の一実施形態による方法およびシステムの要約は、以下の点で与えられる(いくつかの点に関して、さらなる一般化が説明で与えられる)。
1.入力:
a.画像ペア(好ましくはステレオ、修正済み)
b.較正
2.画像処理モジュール(任意、入力と出力の制約を除く、例えばニューラル・ネットワークによって実装される):
a.入力(画像処理モジュールにはステレオ入力を供給することができる)
b.出力:
i.対応マッピング
ii.個別の画像での生検出
iii.追加タスク用の任意選択の任意の出力
3.ペアリング・モジュール
4.3D投影モジュール
【0042】
本発明の特定の実施形態は、上記で導入した本発明による車線検出のための方法およびシステムに適用される画像処理モジュール(例えば、ニューラル・ネットワーク)を訓練するための方法およびシステムに関する。この訓練方法およびシステムは、車線検出のための方法およびシステムと並行して導入される。訓練方法およびシステムは、以下に導入する損失関数を使用する。損失モジュール(または段階)も
図1に示されているため、車線検出のための方法およびシステム、ならびに画像処理モジュールを訓練するための方法およびシステムの両方を示している。
【0043】
本発明の重要な構築部分は、注釈の使用を導入し、手作りのパラメータ設定を回避するのに役立つ画像処理モジュールで利用される機械学習の実装である。機械学習によって訓練された画像処理モジュールは、ニューラル・ネットワークによって実装されることが好ましい(つまり、画像処理モジュールで利用される)が、例えば、決定木、サポート・ベクター・マシン、ランダム・フォレスト、または他のタイプの機械学習実装も利用できる。一般に、訓練された機械学習モデル(したがって、機械学習によって訓練された画像処理モジュール)は、ニューラル・ネットワークよりも幅広いクラスの人工知能であり、このクラスはニューラル・ネットワークを使用したアプローチで構成される。
【0044】
機械学習によって訓練された画像処理モジュールの(学習可能な)パラメータは、損失関数を最小化することにより、訓練中に最適化される。パラメータは、損失値が低くなるように更新されることが好ましく、それゆえに、損失も訓練中に制御される。損失関数は、機械学習によって訓練された画像処理モジュールの目的に対応する。つまり、損失関数は、機械学習手順が実行された後に予期される出力の種類に依存する。例えば、機械学習によって訓練された画像処理モジュールが検出を車線境界から遠くに配置する場合(セパレータとも呼ばれる場合がある)は好ましくない。したがって、高損失は、グラウンド・トゥルースから遠くに配置された検出に対応する。別の例では、それが前景の一部であるか背景の一部であるかという点の決定にエラーがある場合よりも機械学習によって訓練された画像処理モジュールが、マーカが破線か連続かを判断できない場合は、エラーがより小さいと見なすことができる。したがって、様々なエラーの原因となる損失関数のメンバーに重みを付けることができる。
【0045】
損失関数は、予測(画像処理モジュールの出力)と達成したい参照出力(グラウンド・トゥルース)の差を定量化する。損失関数は、画像空間での検出損失、3Dでの検出損失などの様々な要素を含み得、車線検出システムの異なるブロックで導入され得る。
【0046】
有利には、本発明によるシステムは、好ましくは、機械学習によって訓練された画像処理モジュールとしてニューラル・ネットワークを使用する好ましい実施形態において完全に微分可能である。次に、損失関数のすべての勾配をバックプロパゲーションによって計算できる。つまり、勾配は様々なモジュールを通過して、すべてのパラメータとニューラル・ネットワークの入力パラメータに戻ることができる(
図1の破線)。ニューラル・ネットワーク、ニューラル・ネットワーク出力、視差モジュール、および3D投影モジュールは自然に微分可能である。対照的に、ペアリング・モジュールは微分可能になるように構築する必要がある。一実施形態では、他のモジュールから来てペアリング・モジュールを通過する勾配は、第1の画像生検出データ・ブロック14aおよび第2の画像生検出データ・ブロック14bのモジュールに伝播して戻り、また、任意選択で、対応マッピング・データ・ブロック16のモジュールに伝播することもできる。したがって、学習手順は、システム全体に対して統一された方法で実行できる。
【0047】
損失関数の勾配は、ニューラル・ネットワークの学習可能なパラメータの値を更新するために使用される。勾配が様々なモジュールを逆流するとき、損失関数は、割り当てられているモジュールの学習可能なパラメータを最適化するだけでなく(様々な損失モジュールについては
図1を参照)、モジュールに先行するニューラル・ネットワーク全体も最適化できる。一部のニューラル・ネットワークは、優れた性能を実現するために、様々な部分を個別に訓練する必要があるように設計されている。対照的に、本発明は、エンドツーエンドの訓練可能な解決策を提供し、複雑な訓練手順を必要としない。
【0048】
主なブロックとその間の情報の流れを
図1に示し、つまり、
図1は、本発明による3D車線検出システムのモジュール式の説明を示し、また、本発明による対応する3D車線検出方法は、
図1に基づいて解釈することができる。
図1では、グラウンド・トゥルース・データ28もブロック(すなわち、グラウンド・トゥルース・データを転送するように適合されたモジュール)によって示されている。グラウンド・トゥルース・データ28のモジュールは、好ましくは、これらのモジュールの損失を計算するために、すべての損失モジュールに接続されている。
【0049】
要約すると、損失モジュールが各モジュールに割り当てられることが好ましく、これは、学習手順中にニューラル・ネットワークを駆動して、グラウンド・トゥルースなどの出力を与える。
【0050】
図1では、推論モード中の情報フロー(すなわち、3D車線検出のための方法およびシステムの使用)は、実線の矢印(順方向経路)によって示されている。訓練中、情報は破線に沿って損失モジュールからニューラル・ネットワークに逆方向に伝播される。破線は、データが損失モジュールから伝播して戻るデータ接続に対応する。このデータの途中のモジュールでは、破線は破線の円を介して相互に接続されている。破線の円を介した接続は、例示のみを目的としており、それぞれの損失モジュールから来るデータ・パケットは、画像処理モジュール12に並行して移動する。損失モジュールは、ニューラル・ネットワークの学習手順中にのみ使用されるため、特別な役割を果たす。したがって、損失モジュールは、
図1の説明を使用して分離できた可能性がある(例えば、これらを対応するモジュールおよび/または損失モジュール自体に接続するために別のタイプの線を使用することで、
図1の図の損失モジュールのために例えば他のタイプの長方形-例えば破線の-を使用した、分離した説明ツールになった可能性がある)。
【0051】
追加出力ブロック18は、ニューラル・ネットワークによって実行される追加のタスクを参照し、これは、車線検出、例えば、道路セグメンテーション、交通オブジェクト検出、車線タイプ決定などに密接にまたは弱く関連している可能性がある。追加の正則化損失がニューラル・ネットワークに追加される場合があるが、この図には示されていない。追加の出力ブロック18は、好ましくは、それ自体の損失モジュール30を有する。
【0052】
3D投影モジュール(つまり、3D車線検出システム全体)の出力は、自動運転用途の他のモジュールの入力にすることができる(3D投影モジュール24から「次のモジュール」というラベルが付いた矢印で示されている)。さらに、追加の出力ブロック18のデータは、他のモジュールのために利用可能にすることもできる。
【0053】
例えば、抽出された3D車線境界は、オンライン・カメラ・パラメータ推定、モーション・プランニングまたは軌道プランニング、ローカリゼーション、または車線境界の3D位置から恩恵を受ける可能性のある任意のその他のモジュールで使用できる。任意選択で、車線検出システムの3D検出は、車線検出、道路セグメンテーション、オブジェクト検出などの様々なソース、およびカメラ、ライダー、レーダーなどの様々なソースから(3D)道路モデルを決定するセンサー・フュージョン・アルゴリズムの入力にすることができる。
【0054】
図1は、画像処理モジュール12の入力を示している(
図1のヘッダでは単に「入力」とラベル付けされている;ヘッダは、システムの連続する段階および対応する方法を示している)。それは2つの画像入力を有する(一般に、第1の画像10aおよび第2の画像10b、これらは左および右の画像であり得る)。これらの画像入力は、好ましくは、修正されたステレオ画像ペア、任意のサイズおよびチャネル(グレースケールまたはRGBなど)を提供する。原則として、修正は車線検出システムに移動する(すなわち実現する)ことができ、次いで、画像処理モジュール12の入力はステレオ画像ペアおよび較正データ26であり、第1のステップは修正である。
【0055】
較正データ26は、3D投影モジュール24の入力である。較正データは、カメラの内部および外部パラメータを記述する。外部パラメータは、2台のカメラの相対的な位置と向きを特徴付ける。画像の解釈に使用されるカメラのモデルとともに内部パラメータによって、カメラ座標系の3D点が画像平面にどのように投影されるかが決まる。較正データは修正に必要であるが、修正は車線検出システムの一部ではないモジュールで実行できる(システムに入る前に実行される)。したがって、車線検出システムおよび方法は、修正カメラ画像、ならびに修正カメラ画像を記述する較正データを受信することができる。さらに、
図1に示されるように、修正カメラ画像を記述する較正データは、好ましくは、3D投影のために使用される。
【0056】
ステレオ・カメラと対応する画像の修正は、ステレオ画像処理で使用される標準的な方法であり、カメラと対応する画像を、2つのカメラ画像平面が一致し、エピポーラ線が一致する単純化されたエピポーラ幾何学に変換する。画像平面上の点は、原点を通過するカメラ座標系の光線を表す。一方の画像平面上の任意の点について、対応するエピポーラ線は、もう一方の画像平面上の対応する光線の投影である。これは、実際のオブジェクトに対応する3D点が一方の画像で見つかった場合、もう一方の画像平面へのその投影が対応するエピポーラ線上にあることを意味する。修正の詳細については、例、Bradski,G.,Kaehler,A.:O’Reilly learning OpenCV.1st(edn),ISBN:978-0-596-51613-0.O’Reilly Media Inc.,NY,USA(2010)を参照されたい。
【0057】
画像処理モジュール12(
図1のヘッダに別個のラベル「NN」が付けられている)を導入し、最初に、そこに適用されるニューラル・ネットワークのアーキテクチャについて説明する。ニューラル・ネットワークは、所望の出力を生成するために、一連の変換を入力に適用する。これらの変換は、ニューラル・ネットワークの訓練中に決定される学習可能なパラメータに依存する場合がある。ほとんどの用途では、これらの変換は層状構造を形成し、層の入力は前の層の出力である。層のこれらの入力と出力は、特徴と呼ばれる。3D車線検出システムで使用されるニューラル・ネットワークは、畳み込み層、活性化層、正規化層などを含むがこれらに限定されない、任意の数およびタイプの層を含み得る。層のシーケンス(またはより一般的には変換)は、ニューラル・ネットワーク・アーキテクチャによって定義される。本発明では、好ましくは、いわゆるステレオ車線検出ニューラル・ネットワークは、入力としてステレオ画像ペア(第1の画像および第2の画像からなる)を受け取り、これは、ニューラル・ネットワーク・アーキテクチャによって考慮(処理)されなければならない。
【0058】
画像処理モジュールでは、処理は第1の画像10aおよび第2の画像10bで別々に開始することができ、これは、例えばエッジまたは色検出器を形成するために、低レベル・フィルタが単一の画像に焦点を合わせるのに有益である可能性がある。ネットワークの2つの分岐は、同じフィルタ(重み)を使用する場合と使用しない場合がある。フィルタ共有により、学習可能なパラメータ(重み)の数が減る。したがって、共通のフィルタを2つの分岐で並行して使用して、同じ特徴を探索することが好ましい場合がある。しかし、フィルタが2つの分岐で独立して学習することも可能である。この後者は、第1のカメラと第2のカメラが同等でない場合に推奨される。
【0059】
機械学習によって訓練された画像処理モジュールでニューラル・ネットワークを使用する本発明による車線検出システムの実施形態では(当然、システムに関連して導入されたこれらの特徴は、障害がなければ、方法のフレームワークにも適用できる)、2つの画像の特徴は、画像処理モジュールの出力層の前に少なくとも1回ネットワークで結合される(つまり、混合ステップが挿入される)。特徴の組み合わせ(つまり、混合)は、入力画像上で、または後の層ですでに実行されている可能性がある。組み合わせ(混合)は、例えば、特徴の連結、加算、乗算、または入力特徴の非線形関数として実装することができる。
【0060】
第1の特徴および第2の特徴が混合されると仮定すると、これらの特徴は、高さ、幅、チャネル次元(または、例えば、追加のバッチ、および時間次元)を有することができるテンソルとして表すことができる。多くの場合、混合はチャネル次元でのみ発生する。原則として、より複雑な混合を定義できる。この場合、結合されるテンソルの要素は、チャネル次元だけでなく空間次元でも混合される。
【0061】
上記で導入した混合のアプローチに関連して、ニューラル・ネットワークの出力がグラウンド・トゥルース・データと比較(対面)されることに留意することが重要である。混合は合理的な対応マッピングを取得するのに役立つため、混合の出力であるデータに基づいて、グラウンド・トゥルースに近い出力に到達するのはニューラル・ネットワークのタスクである(例えば、適切な重みを選択することにより、学習プロセス中に実行される)。
【0062】
この混合ステップ(組み合わせと呼ばれることもある)は、3D車線検出システムのニューラル・ネットワークが両方の画像に依存する出力を決定することが好ましい(対応マッピングはそのような出力である)。例えば、出力セクションで定義された対応マッピング・データ・ブロックである。第1および第2のカメラ特徴の混合は、第1および第2の画像に対応する出力のエラー(予測とグラウンド・トゥルースの差)間の相関も強化する(例えば、出力セクションで定義された第1のカメラ検出と第2のカメラ検出)。これは、本発明による車線検出システムによって予測される3D座標の精度を改善するために不可欠である。これは、確率変数間の正の相関がそれらの差の分散を減らすという原理によって説明できる。
【0063】
エラー間の相関関係を強化するには、次のようにする。ニューラル・ネットワークの使用中に、車線境界マーカが検出されるが、(避けられない)エラーが発生する(左または右方向)。混合しないと、エラーが第1および第2の画像で一貫していることが明示的に強調されない。
【0064】
したがって、画像処理モジュールがニューラル・ネットワークによって実装される混合を適用する方法の実施形態では、ニューラル・ネットワークは、第1の画像のための(すなわち、第1の画像に適用されるように適合されるか、または第1の画像上で使用するように適合される)第1の分岐、第2の画像のための第2の分岐を有する。この方法は、画像処理ステップの過程で、第1の分岐の第1の分岐出力である第1の分岐データと、第2の分岐の第2の分岐出力である第2の分岐データとを組み合わせる組み合わせステップを含む(この組み合わせステップの代わりに、対応するシステムでは、第1の分岐データは第1の分岐の第1の分岐出力であり、第2の分岐データは第2の分岐の第2の分岐出力であり、これらは画像処理モジュールで結合される)。より一般的には、機械学習によって訓練された画像処理モジュールのすべての出力が両方の入力画像にアクセスできることが好ましいと言える(アクセスできる、つまり両方の画像が出力に影響を与える可能性があるが、両方が出力に影響を与える必要はない)、すなわち、第1の画像と第2の画像の処理は、画像処理モジュールで組み合わされる。
【0065】
カメラ平面からの検出された車線境界点の3D距離(深度)は、対応する第1の画像と第2の画像の検出の差である視差から推測される。混合しない場合、2つの画像の検出エラーは独立しており(無相関)、混合すると、推測される深度値の分散を減らすことができる。
【0066】
上記のセクションに関連して、以下の注意が与えられる。ニューラル・ネットワークとそれに続くモジュールの出力を変更することなく、複数の連続するフレームからの画像ペアをフレームごとの場合と同様に処理できる。最も簡単な実装は、フレームごとの元のアーキテクチャを使用し、左右の画像入力で連続するフレームのRGBまたはグレースケール・チャネルを連結することである。ターゲットは、最後のフレームの元のターゲットになるように選択できる。前のフレーム(第1および第2の画像)からの情報は、例えばフロントガラスのワイパーによって引き起こされるフレームごとのノイズに対して出力をより堅牢にできる(つまり、画像処理モジュールは、少なくとも1つの前のフレームを考慮してフレームのその出力を生成することが好ましい)。より一般的には、ステレオ画像ペアのように、つまり、並列処理と特徴の組み合わせを混合して処理できる。
【0067】
要約すると、一実施形態において、画像処理ステップでは(またはシステムでは、画像処理モジュールによる出力データの生成)入力データである第1の画像および第2の画像の実際のフレームに加えて、実際のフレームの先行するまたは後続の、第1の画像と第2の画像の少なくとも1つの追加フレームに基づく。後続のフレームを使用する場合は、これらを待機する必要がある。
【0068】
図1の実施形態によれば、3D車線検出システムのニューラル・ネットワークは、好ましくは、3つの特徴的な出力(
図1のヘッダで「NN出力」とラベル付けされている)を有する:
1.第1のカメラ検出(第1の画像生検出データ・ブロック14a)
2.第2のカメラ検出(第2の画像生検出データ・ブロック14b)
3.対応マッピング(対応マッピング・データ・ブロック16)
【0069】
好ましくは、これらは他の実施形態の特徴的な出力でもある。
【0070】
クラスタリング、車線タイプのセグメンテーション、道路セグメンテーション、車両または歩行者のセグメンテーションなどの追加のタスクのために、任意のさらなる出力を追加できる。さらなる出力は、
図1の追加の出力ブロック18に含まれる。以下の出力の詳細を参照されたい。
【0071】
生検出は、画像上の車線境界の(ニューラル)表現である。車線境界は、ニューラル・ネットワークによって様々な方法で表すことができる。例えば、表現は高密度(例えば、車線境界点のピクセル単位の分類または回帰)またはモデルベース(例えば、多項式、スプライン・パラメータ。モデルベースの実施形態の導入で詳細を参照)の場合がある。3D車線検出システムの画像処理モジュールの出力は、任意の表現であり得、生検出の例示的な表現を示すいくつかの実施形態が以下に導入される。
【0072】
生検出の表現は、本発明によって制限されず、例示的な実施形態の助けにより、本発明のフレームワーク内で様々な表現が考えられることを示すことが意図されることに留意されたい。
【0073】
前のセクションで導入したアーキテクチャは、他の視点の特徴および/または混合特徴にアクセスできるため、相関のある(相関の強化について詳しく説明している上記を参照)第1のカメラ検出および第2のカメラ検出を生成する。他のカメラからの情報にアクセスできるため、画像の検出品質を向上させることができる。しかし、適切な損失関数などによって訓練中に相関が明示的に強化されていない場合、検出間のこの相関は小さいままである。3Dの一貫した検出を取得するために、検出エラー間の相関を強化する損失関数を使用する。
【0074】
生検出は、車線境界(の中心線)の位置のみを表す場合もあれば、車線境界セグメントの方向やセパレータのタイプなどの他の特性を記述し得る(この情報が本発明のフレームワークに任意選択で構築される方法を示す例については、以下を参照されたい)。セパレータのいくつかの特性、例えば車線タイプは、対応マッピング出力により自然に組み込むことができることに留意されたい。
【0075】
生検出の損失に関するコメントを以下に示す。訓練中に、生検出は、車線境界のグラウンド・トゥルース表現と生検出の違いを特徴付ける表現損失(
図1の損失(表現)モジュール32および34を参照)を取得し得る。損失関数の数学的形式は、表現に従って選択される。例えば、表現が回帰問題に対応する場合(以下も参照)、自然な選択はユークリッド(L
2)距離またはマンハッタン(L
1)距離であり得る(L
1およびL
2損失は、モデルベースの実施形態でも使用できる。以下を参照されたい。しかし、その場合、モデル・パラメータの違いは、画像点の距離ではなく、損失で発生する)。ここで、L
pは、ベクトル場のpノルムに関連する距離を指す。例えば、aとbが成分a
iとb
iを有するベクトルである場合、aとbの間の距離は、それらの差のpノルムによって特徴付けることができる。
【0076】
【0077】
損失関数では、通常、距離のp乗が使用される。Lp損失の例の式(6)を参照されたい。
【0078】
生検出が分類問題に起因する場合、標準的な分類損失を適用できる。例えば、ソフトマックス損失(式(9))またはSVM損失(サポート・ベクター・マシン損失)である。一般に、任意の凸関数は損失として適用できる。これは、予測がグラウンド・トゥルース値と等しい場合に最小になる。
【0079】
この表現損失は、視差損失および3D投影損失とは対照的に、ネットワークが相関検出エラーを生成することを直接促進しない。
【0080】
3D車線検出ネットワークのもう1つの特徴的な出力は、対応マッピングである。これを以下に導入する。対応マッピングは、入力された第1の画像と第2の画像の車線境界間の対応を決定し、生検出として表すことが好ましいため、別のステレオ・マッチング・アルゴリズムを実行する必要がなくなり、計算時間が大幅に短縮される。第1および第2の画像の検出間の対応のニューラル表現には様々な解決策が存在する可能性がある。対応マッピングのいくつかの明確な例を、いくつかの実施形態に関連して以下に説明する。
【0081】
対応マッピングは、入力画像に視覚的に表示される場合とされない場合がある抽象エンティティ(例えば、車線境界)間の対応と見なすことができるが、コンテキスト情報により、これらの抽象エンティティを表す記述子(例えば、生検出)を予測できる。したがって、これは従来のビジョンベースのステレオ・マッチング・ソリューションとはまったく異なるアプローチである。さらに、対応マッピングは、ステレオ画像ペアでの検出間の対応を提供するため、ニューラル・ネットワーク自体の中で行われる(出力として提供される。これらの原則は、機械学習によって訓練された画像処理モジュールに一般的に当てはまる)。以下の点で、従来の明示的なステレオ・マッチングとは異なる。
・マッチングには手作りのルールは使用されない。対応のルールは、訓練段階でニューラル・ネットワークによって学習される(個別の出力として与えられる)。
・対応は、画像パッチ間ではなく、検出(車線境界を特徴付ける)間で与えられる(標準のステレオ・マッチング・アプローチは、画像のローカル・パッチ間の対応を探索することに留意されたい。次の点も参照されたい)。
・対応は、画像パッチの局所的な類似性ではなく、車線境界記述子(様々に選択可能)に基づいているため、遮蔽された領域(エリア)や車線マーカ間の車線境界部分でも信頼性が高く、画像のノイズに対してより堅牢である。本発明によれば、好ましくは、車線マーカは、-例えば、破線で連続的ではない場合-それ自体では探索されない。むしろ、これらは接続され、このようにして取得された連続車線境界はグラウンド・トゥルース注釈であり、したがって、ニューラル・ネットワークによって探索および出力される(例えば、ニューラル・ネットワークのサンプル出力が示されている例を参照されたい。例では、連続車線境界の結果も観察できる)。このアプローチは、破線の境界マーカを捉えにくい画像の遠い部分でも有利である。したがって、前の車線境界マーカと後の車線境界マーカとの間の位置について、車線境界の高い確率またはラベルをそれぞれの実施形態で与えることができる。
・単純な形状と見なされる車線境界が探索される。これは、通常、図上で複雑すぎる実行はない。最も重要なセパレータ車線境界は、通常、まっすぐであるか、ゆっくりと曲がっている。車線境界のこの特性は、閉塞領域の場合にも役立ち得る。
【0082】
原則として、対応マッピングは、2つの画像上のピクセル間の密な1対1のマッチングにすることができる。しかしながら、以下に詳述するように、好ましくは、本発明による3D車線検出システムには、はるかに単純なマッピングで十分である。例えば、2つの画像の車線境界周辺の領域間の対応を記述するように選択できる(ペアリング・マスクとステレオインスタンス・セグメンテーションの導入を参照)。
【0083】
対応マッピングの損失に関連して、以下を参照されたい。対応マッピング(つまり、対応マッピング・データを出力できるニューラル・ネットワーク)は、訓練手順中にグラウンド・トゥルース・データで訓練される(対応マッピング損失モジュール36を参照)。損失関数は、グラウンド・トゥルースの対応を予測された対応と比較し、2つの対応が同等である場合に最小値を有する。当然、グラウンド・トゥルースに基づいて、対応は対応マッピングの任意の表現で正確に与えることができる。対応マッピングは両方の画像に依存する。したがって、対応する損失関数は、ネットワークが両方の画像の特徴の影響を受けやすいフィルタを生成するように促す。
【0084】
したがって、車線検出システムに適用される画像処理モジュールを訓練するためのシステムは、その結果、画像処理モジュールの学習可能なパラメータを変更することによって、画像処理モジュールの訓練中に3D車線検出データ・ブロックを制御するように適合された3D投影損失モジュール42(画像処理モジュールを訓練するための対応する方法では、以下の制御ステップが実行される;以下のセクションでは、
図1の実施形態の参照番号が与えられる。その実施形態では、ニューラル・ネットワークが使用される。損失値は合計され、訓練中に最小化する必要がある)のステップを含む。さらに、任意選択で、それは、画像処理モジュールの学習可能なパラメータを変更することによって、画像処理モジュールの訓練中の対応マッピング・データの対応マッピング損失を制御するように適合された対応マッピング損失モジュール36のステップも含む。
【0085】
システムは、訓練中に第1の画像空間検出データ・ブロックおよび第2の画像空間検出データ・ブロックを制御するように適合された画像空間損失モジュール38を備えることができる。
【0086】
上記の構成によれば、対応マッピング損失を超えて、画像空間損失および/または3D投影損失を制御することができる。さらに、例えば、
図1の実施形態において(すなわち、視差を使用するための状況が存在する実施形態において)、画像処理モジュールを訓練するためのシステムは、訓練中にグラウンド・トゥルース・データ28に基づいて視差データ・ブロックを制御するように適合された視差損失モジュール40をさらに備える。
【0087】
訓練するためのシステム(および方法)の以下の実施形態では、車線検出のためにシステムに適用される画像処理モジュールは完全に微分可能である。この実施形態では、対応マッピング・データは、対応マッピング・データ・ブロックに含まれており、対応マッピング損失モジュールは、対応マッピング・データ・ブロックの対応マッピング損失を制御するように適合され、画像処理モジュール12は、ニューラル・ネットワークによって実装される。システムは、
訓練中の第1の画像生検出データ・ブロック14aの第1の表現損失を制御するように適合された第1の表現損失モジュール32、および
訓練中の第2の画像生検出データ・ブロック14bの第2の表現損失を制御するように適合された第2の表現損失モジュール34をさらに含む。
【0088】
要約すると、この実施形態では、機械学習アルゴリズムはニューラル・ネットワークによって実装され、ニューラル・ネットワークのすべての変換は微分可能であり、ペアリングステップおよび3D投影ステップは、ニューラル・ネットワークの予測に応じてそれらの入力に関して微分可能である。これらは訓練中に利用され、ニューラル・ネットワークのパラメータに関する3D投影損失と画像空間損失の勾配の計算を可能にする。
【0089】
さらに、この実施形態では、車線検出のためのシステムは、すべての損失関数(3D投影損失および画像空間損失を含むがこれらに限定されない)が訓練中の機械学習アルゴリズムのすべての学習可能なパラメータに関して微分可能であるという意味で完全に微分可能である。これは、例えば、すべての変換(層)が微分可能であり、さらに、ペアリングステップと3D投影ステップが、訓練中に利用されるニューラル・ネットワークの予測に応じてそれらの入力に関して微分可能であることを特徴とするニューラル・ネットワークによって実装される、機械学習によって訓練された微分可能な画像処理モジュールによって実現される。
【0090】
画像処理モジュール(ニューラル・ネットワーク)は、検出のために、および2つの画像上の検出間の対応を記述するために任意の表現を使用することができる(例示的な実施形態については以下を参照)。出力はペアリング・モジュール20に転送される(すなわち、矢印で示されるように、NN出力のうちの第1の画像生検出データ・ブロック14a、第2の画像生検出データ・ブロック14b、および対応マッピング・データ・ブロック16は、これらのブロックからペアリング・モジュール20まで延びる)。ペアリング・モジュールは、表現を標準化された形式にマッピングするように適合されており、その出力は、検出ペアの画像空間表現である(例については、以下の表を参照されたい)。この標準化された表現は、視差ブロックの入力である。
【0091】
上記のように、表現は任意であり、テンソル(マトリックス)・ベースの実施形態を以下に説明する(例えば、テンソル・ベースの表現とは異なる表現については、モデルベースの実施形態を参照されたい)。このような方法およびシステムの実施形態では、出力データは、複数のグリッド・テンソル要素を有する座標グリッド・テンソル(テンソル・ベースのアプローチでは、座標グリッドは自然にそれぞれのテンソルによって表される)によって表される座標グリッドに対して生成され(つまり、出力データは座標グリッドで解釈できる)、
第1の画像生検出データ・ブロックは、第1の画像生検出テンソルであり、第1の画像生検出テンソルは、座標グリッド・テンソルに対応し、複数の第1のテンソル要素を有し、複数の第1のテンソル要素は、第1の画像の第1の探索方向における第1の車線境界グループの最も近い第1の車線境界点(つまり、探索方向で最も近い車線境界の点)の、対応するグリッド・テンソル要素から測定されたそれぞれの第1の距離値を含み(ここおよび次のセクションでは、生検出もそれぞれのテンソルによって表されることが指定されており、結果として得られるテンソルは、例えば例で示されているように、調査された元の画像と比較してダウンサンプリングまたはアップサンプリングされることが好ましい)(以下で詳細に開示されているように、テンソル・ベースのアプローチでは、車線境界の配置を特徴付けるために距離が使用される。距離は、座標グリッドのそれぞれの点と探索方向の最も近い車線境界点の間で測定される。したがって、左右の画像ペアでは、これらは水平距離である)、
第2の画像生検出データ・ブロックは、第2の画像生検出テンソルであり、第2の画像生検出テンソルは、座標グリッド・テンソルに対応し、複数の第2のテンソル要素を有し、複数の第2のテンソル要素は、第2の画像の第2の探索方向における第2の車線境界グループの最も近い第2の車線境界点の、対応するグリッド・テンソル要素から測定されたそれぞれの第2の距離値を含み(修正の場合、探索方向はエピポーラ線に沿って与えられることが好ましく、その上で左または右方向である可能性がある。以下のR、L探索方向も参照されたい)、
対応マッピング・データ・ブロックは、座標グリッド・テンソルに対応し、最も近い第1の車線境界点(上記のように、第1の探索方向で)と最も近い第2の車線境界点(第2の探索方向)が同じ車線境界に対応するかどうかを特徴付ける複数の第3のテンソル要素を有する対応マッピング・テンソルであり(つまり、第1および第2の画像の同じ車線マーカに対応する。したがって、第1の画像の第1の車線境界グループと第2の画像の第2の車線境界グループの間の対応を決定する。これらは、実際には同じ車線境界に、つまり、同じ車線境界マーカが車線境界の基礎を与える場合はその車線境界マーカに対応する)、
座標グリッド・テンソルを使用して、画像空間検出ペアのテンソルが画像空間検出ペアのデータ・ブロックとして生成される。つまり、このデータ・ブロックもテンソルで表される。
【0092】
第1および第2の画像の生検出テンソル、ならびに対応マッピング・テンソルはすべて、座標グリッド・テンソルに対応する。したがって、これらのテンソルは同じ寸法を有し、座標グリッド・テンソルのそれぞれの点の値を定義する(以下の表のテンソルの例も参照されたい)。
【0093】
好ましく使用される視差データ・ブロック、ならびに3D車線検出データ・ブロックは、任意の形式で表すことができる。表3aおよび3b、7aおよび7bが示すように、これらは例えばテンソルの形式で表されるが、表10aおよび10bは、これらが単純にリストとしても表され得ることも示している(しかし、マトリックス、リストなどの様々な寸法データ・ブロックは、テンソルと見なされる)。
【0094】
テンソル・ベースのアプローチでは、対応マッピング・テンソルは、-例えば、1つの対応マッピング・テンソルのペアリング・マスクを使用した実施形態、および2つの、つまり、第1の画像および第2の画像のそれぞれに個別の対応マッピング・テンソルのステレオ・インスタンス・セグメンテーションを使用した実施形態、を参照されたい-調査された最も近い車線境界点が同じ車線境界の点であるかどうかに関する情報で構成される。第3のテンソル要素の特性評価は、例えば、いくつかの例で示されているように確率値の助けを借りて行うことができる。他の特性評価方法も考えられる。
【0095】
以下に、ペアリング・モジュール20の特徴の導入を行う。ペアリング・モジュール20は、画像処理モジュール12の出力から(すなわち、2つの画像の生検出および対応マッピングから)検出ペアの画像空間表現を導出する。
【0096】
画像空間表現がどのように決定されるかは、特定の実施形態で使用される生検出および対応するマッピングに依存する。しかし、画像空間への変換は微分可能でなければならないことが重要である(エンドツーエンドの微分可能機能を維持するため。前述のように、この予期は満たすことができる)。次に、勾配はペアリング・モジュールを自然に流れ、検出ペアの予測に寄与する特徴に到達する(したがって、ニューラル・ネットワークの訓練は、ペアリング・モジュールの後の段階で発生する損失データでも改善できる。損失データのフローについては破線を参照されたい)。
【0097】
特定の実施形態に応じて、ペアリング・モジュールからの勾配は、対応マッピングに流れる場合と流れない場合がある(
図1は、それに応じて利用できるそのような接続を示す)。以下の例では、ペアリング・モジュールは訓練中にグラウンド・トゥルース対応マッピング・データを使用するため、勾配は左右の画像の生検出にのみ流れる。対応マッピング出力は、対応マッピング損失によって直接訓練されることに留意されたい。しかし、勾配が対応するマッピングに流れる他の例を作成することもできる。違いは、3D投影モジュールの3D損失が、画像空間検出を精製するためにのみ使用されるのか、対応マッピングも精製するために使用されるのかということである。
【0098】
任意選択で、画像空間損失関数を、第1の画像および第2の画像に対応する画像空間表現に割り当てることができる(
図1の損失(画像空間)モジュール38を参照)。この損失は、生検出の画像空間表現と車線境界の実際の画像位置との間の距離を特徴付ける。いくつかの実施形態では、生検出の表現損失は、画像空間損失と同等である。
【0099】
ペアリング・モジュール20によって出力された画像空間検出ペアは、以下に説明する視差モジュール22によって処理される。
【0100】
視差は、エピポーラ方向に沿った第1および第2の画像検出の画像座標間の差として計算される。ほとんどの場合、水平方向である。したがって、水平ステレオ設定では、
視差=uleft-uright(1)
であり、ここで、uは横軸に沿った検出の画像座標である。視差はすべての検出ペアに対して計算され、例えば左側の検出の画像座標とともに3D投影モジュールに転送される。
【0101】
損失関数を視差モジュールに導入して、ネットワークに正しい視差値を生成させることができる(
図1の損失(視差)モジュール40を参照)。この損失により、第1および第2のカメラ検出間の相関が強制される。
【0102】
以下では、3D投影モジュール24の特徴も導入する。3D投影モジュール24は、検出の3D座標(例えば、カメラを保持している車に対応するカメラ座標系において)を計算する。入力は、検出の画像空間表現、視差、およびカメラの較正パラメータである(後者は、較正データ26として較正モジュールから取得される)。車線境界点の3D位置は、三角測量によって対応する画像空間の位置から決定できる。修正カメラの最も単純なケースでは、対応する画像空間の位置はエピポーラ方向に沿ってのみ異なり、この違いは視差によって特徴付けられる。本発明の実施形態を説明するために、視差に基づく計算の関連する方程式を以下に導入するが、三角測量の方法は、より一般的な(修正されていない)設定にも適用可能である(上記を参照)。
【0103】
以下に、座標を決定するための式を示す。以下で使用されるインデックスは、水平ステレオ配置に対応する(水平/垂直配置については、以下を参照されたい)。深度(座標Z)は、修正カメラ平面からの検出の距離として定義され、次のように計算される。
Z=Bfx/視差(2)
ここで、fxはエピポーラ方向に沿った修正カメラの焦点距離、Bは2つのカメラ間の距離(ベースライン距離)であり、第1の画像10aと第2の画像10b(多くの場合:左右の画像)を生成し、「視差」は、検出に対応する視差である。
【0104】
2台の修正カメラの主点が異なる場合は、視差を補正する必要がある。
Z=Bfx/(視差-(cx,left-cx,right))(3)
ここで、(cx,left,cy,left)と(cx,right,cy,right)は、左右のカメラの主点である。画像平面上の点は、原点を通過するカメラ座標系の光線を表す。主点はカメラ平面に垂直な光線に対応し、ピクセル単位の実数で表される(ピクセルに使用される座標で整数でない値を有する可能性があるため、ピクセルと一致するかどうかはわからない)。
【0105】
検出のX座標とY座標は、例えば左カメラの検出座標と深度(すでに計算済み)から計算される。
X=(uleft-cx)/fx・Z
Y=(vleft-cy)/fy・Z(4)
ここで、(cx,cy)は修正された左カメラの主点である。
【0106】
3D投影は、すべての検出に対して計算され、3D車線検出システムの主要な出力である。
【0107】
3D投影損失に関連して、以下を参照されたい。3D車線検出システムの主な目的は、車線境界線に関する正確な3D情報を提供することである。したがって、損失関数を3D投影検出に割り当てて(
図1の3D投影損失モジュール42を参照)、正しい3D位置に投影される予測を行うようにニューラル・ネットワークを訓練することが好ましい。このステップは、ニューラル・ネットワークからの3D検出のノイズを減らすために重要である。3D投影は微分可能(および視差モジュール)であるため、損失はニューラル・ネットワークの初期層に戻って広がる(つまり、3D検出でのノイズの低減をニューラル・ネットワークに訓練できる)。
【0108】
グラウンド・トゥルース注釈の取得については、以下を参照されたい。ニューラル・ネットワーク(一般に、機械学習によって訓練された画像処理モジュール)を適用するには、ネットワークの学習可能なパラメータを調整するために大量の訓練データが必要である。訓練データは、3次元空間内の車線境界位置、または同等に2次元カメラ平面に投影された位置を説明するラベルが付いたステレオ画像で構成される。これらの真のラベルは、グラウンド・トゥルースと呼ばれる。これらは、手動の注釈によって、つまり、人間の監督によって実際の画像の車線境界線を決定することによって、おそらく以前のようにいくつかの従来またはニューラル・ネットワークベースの検出アルゴリズムを使用して取得できる。
【0109】
さらに、3D車線検出に適合したニューラル・ネットワークの訓練データは、シミュレートされた環境で生成できる。例えば、フォトリアリスティックな画像を生成できるシミュレータによって生成できる(例えば、シミュレートされた環境では、車線境界がパラメータ化されているため、これらにラベルを付けることができる)。3次元車線境界位置は、ライダー点群の処理(車線境界は路面から突き出たオブジェクトであるため)、従来のステレオ・アルゴリズム、高密度マップ、または上記の方法の融合(つまり、任意の組み合わせ)からも発生する可能性がある。
【0110】
以下では、ニューラル・ネットワークのモデルの訓練のいくつかの側面を参照されたい。ニューラル・ネットワークのパラメータは、適切な最適化技術を使用して、システム(および対応する方法)に導入されたすべての損失関数の加重和を最小化することによって最適化される。最適化の前に、任意の初期化スキームをパラメータに使用できる。
【0111】
以下に、3D車線検出システムの特定のさらなる実施形態のいくつかの詳細が与えられる。上で導入したアーキテクチャを使用して、わずかに異なるいくつかの実施形態を実現することができる。以下の実施形態は、車線境界がニューラル・ネットワークによってどのように表されるか、および対応マッピングの表現において異なる可能性がある。
【0112】
さらに、いくつかの追加タスクをニューラル・ネットワークに割り当てることができる。
【0113】
ステレオ・カメラの向きは、水平、垂直、または制約されていない場合がある。したがって、入力画像は一般に第1の画像および第2の画像と呼ばれる。一般性を失うことなく、以下に導入する実施形態は、水平ステレオ設定を想定しており、修正中に、エピポーラ線が水平になるように選択される。この実施形態では、第1の画像および第2の画像は、左および右の画像である。
【0114】
生検出に関連する実施形態は、以下に詳述される。以下の表を参照し、様々な実施形態におけるシステムおよび方法の特定の段階における実際のデータの例示的なテンソルを指定する。この実施形態では、左および右の画像の車線境界の生検出は、画像を参照する下付き文字を含むスカラー値(またはより一般的にはテンソル)Dright/leftの2Dグリッドによって表される(例えば、表1bおよび1cを参照)。
【0115】
2Dグリッドの各要素(i,j)は、画像位置Ii,j=(ui,j,vi,j)を表す。これは、座標グリッドを形成する(すなわち、座標グリッドは、データのマトリックスによって、一般にこの実施形態ではテンソルによっても記述され得る)。画像座標(ui,j,vi,j)は、例えばプール層、ストライド畳み込み、拡張畳み込みによって導入されたニューラル・ネットワークのダウンサンプリングまたはアップサンプリングに基づいて、(i,j)と等しくなる場合と等しくない場合がある。したがって、座標グリッドの特定の点での座標は、ニューラル・ネットワークの構造、特にそのダウンサンプリングまたはアップサンプリング係数によって決定される。さらに、オフセットをターゲットに手動で導入することもできる。これにより、(i,j)->(ui,j,vi,j)マッピングも変更される。例えば、水平方向に沿ってストライドxがあり、垂直方向に沿ってストライドyがあるネットワークでは(ストライドは上下のサンプリング係数を示す)、
ui,j=i・ストライドx+オフセットx
vi,j=j・ストライドy+オフセットy(5)
である。
【0116】
Ii,jは、オフセットx=ストライドx/2およびオフセットy=ストライドy/2の場合、(i,j)番目の[ストライドx×ストライドy]セルの中心を表す。座標グリッドの例を表2aに示す。
【0117】
生検出Dright/leftは、エピポーラ方向に沿った、座標グリッド(の点)から測定された、画像上の車線境界点の(符号付き)相対距離を表す。左(L)および右(R)の探索方向(上付き文字)を有する左右の画像(下付き文字)の4つの独立した生検出テンソルを定義できる:DR
left、DR
right、DL
left、DL
right、その要素は、探索方向で最も近い車線境界の相対位置を表す。本発明の一実施形態による3D車線検出システムのニューラル・ネットワークは、4つすべての独立した検出テンソル、または別の実施形態ではそれらのうちの2つまたは3つのみを予測することができる。例えば、DR
leftとDL
rightのみ、つまり1つは左(第1)の画像用、もう1つは右(第2)の画像用である。利用する生検出テンソルを選択することにより、対応マッピングも決定される。DR
leftとDL
rightを選択する場合は、対応マッピングPRLも使用する必要がある(様々な方向インデックスを使用した対応マッピングの定義については、以下を参照されたい)。したがって、一実施形態では、第1の探索方向および第2の探索方向は、それぞれ、それぞれの第1の画像および/もしくは第2の画像では左方向として、またはそれぞれの第1の画像および/もしくは第2の画像では右方向として選択される。これは、左右の画像だけでなく、任意の第1および第2の画像についても解釈できる。この定義によれば、2つ、3つ、または4つの生検出テンソルを使用するすべてのケースが計算に使用される。
【0118】
損失関数(
図1の第1の画像および第2の画像生検出14a、14bに対応する損失(表現)モジュール32および34の)は、検出の予測された相対位置とグラウンド・トゥルースの相対位置との間の差にペナルティを課す。損失関数の最も簡単な選択は次のとおりである。
【0119】
【数2】
例えば、p=2の場合、同じ関数を画像と方向の両方に適用できる。つまり、D
pred/GTは、D
R
left、D
R
right、D
L
left、D
L
rightのいずれかの予測値またはGT値を指すことができる。合計は、前景と呼ばれるすべての可能なインデックス(i,j)のサブセットFを通過する。車線境界の近くに前景領域を適用すると、ニューラル・ネットワークが車線セパレータの位置を正しく予測できる領域に焦点を合わせるのに役立つ(つまり、ニューラル・ネットワークには関連情報のみが提供される)。例えば、前景は次のように定義できる。
F={(i,j):|D
GT|i,j|<W}(7)
ここで、Wは任意に選択されたウィンドウ・サイズである。座標グリッドのこれらの点は、W未満のグラウンド・トゥルース検出のそれぞれのテンソル要素の絶対値、つまり値が制限されているテンソル要素の前景に対して選択される。これは、ニューラル・ネットワークによって考慮されるのは領域のみであり、そこから最も近い車線境界がそれほど遠くない(Wよりも近い)ことを意味する。前景領域は、車線境界の位置に依存する可能性があり、4つの生検出テンソル(D
R
left、D
R
right、D
L
left、D
L
right)でも異なる可能性があるため、同じインデックスで生検出テンソルに対応するF
R
left、F
R
right、F
L
left、F
L
rightが存在する可能性がある。
【0120】
【0121】
信頼できる検出を予測するようにネットワークを強制するために、原則として、各相対検出テンソルに対応する学習された前景出力も予測する必要がある。一実施形態では、生検出は、DテンソルとFテンソルのペアであり、これは、複数のチャネルを有する単一の出力として、または複数の出力として表すことができる。しかし、対応マッピングに組み込むことができるため、この追加の前景出力が不要なコンパクトなソリューションを導入する(以下を参照)。この場合、生検出は単に生検出テンソルDである。
【0122】
上記の詳細に関連する注意:上記では、生検出には、座標グリッドからエピポーラ線に沿った車線境界までの距離に対応する成分が1つだけあると想定されている。相対検出は、直交方向に対応する別の成分を有し得る。直交成分が回帰されていないが、定数として選択されている場合は、座標グリッドのオフセットyパラメータに組み込むことができる。これにより、異なるオフセットyに対応する複数のD出力を導入することにより、固定ストライドでの予測の密度を高めることができる。以下では、単一のオフセットを使用したスカラー相対検出について検討する。
【0123】
以下に、対応マッピングの実施形態のいくつかの詳細を示す。対応マッピングは、左の画像の生検出と右の画像の生検出の間の対応を見つける。左と右の画像生検出テンソルの4つの可能な組み合わせがあり、4つの異なる対応マッピング(PRR、PRL、PLL、PLR)につながる。ここで、2つの上付き文字は、それぞれ左と右の画像の探索方向を示す。
- PRRは、DR
leftとDR
rightの間の対応を記述する。
- PLLは、DL
leftとDL
rightの間の対応を記述する。
- PRLは、DR
leftとDL
rightの間の対応を記述する。
- PLRは、DL
leftとDR
rightの間の対応を記述する。
【0124】
これを
図2に示す。これは、この実施形態における様々な対応マッピングの図であり、どの対応マッピングがどの生検出に使用されるかを指定している。
【0125】
一実施形態では、対応マッピング・データ・ブロックは、生検出と同じ2Dグリッド上に定義されたテンソルによって記述されるバイナリ・マスク(ペアリング・マスク)であり、どのテンソル座標が物理的に同じ車線境界に対応する検出を生成するかを示す。バイナリは、ペアリング・マスクによって表されるクラスの数を指す。これは、1つの要素が背景として解釈され、もう1つの要素が前景として解釈される2要素セットを記述する。例えば、バイナリ・マスク値の便利な選択は{0,1}であるが、任意の他の値または表現(例えば、確率的、以下を参照)を選択できる。この例では、DleftとDrightが異なる物理車線境界を指しているインデックスでマスクの値がゼロを取り、マスクの値が同じインスタンスを指している場合、1になる。マスクのゼロは背景として解釈される。つまり、これらのインデックスからペアは検出されない(つまり、それぞれの生検出テンソル要素は同じ車線境界を指していない)。検出ペアはこれらのインデックスから予測されるため、1は前景として解釈される。
【0126】
一実施形態では、ペアリング・マスクは注釈(グラウンド・トゥルース)で離散値を取るが、ネットワーク出力は実際の値になるように選択できる。これは、ペア予測の意味で前景である点についてネットワークがどの程度確実であるかを表すスコアとして解釈される(このようなアプローチは以下の例に示されている)。この場合、対応マッピングのニューラル・ネットワーク出力が特定の閾値を超えると、点が前景として受け入れられる。
【0127】
確率論的アプローチでは、ペアリング・マスクの要素は、確率範囲(通常は0から1)の実数であり、DleftとDrightが同じ物理車線境界を指す確率を表す。前景クラスと背景クラスは、確率範囲から選択された閾値(通常、0.5以上、例えば0.5または0.75に選択されている)によって回復されるため、閾値より高い確率が前景と見なされる。閾値より低い確率は背景と見なされる。このパラメータを使用すると、適合率再現率関数でニューラル・ネットワークを微調整できる。閾値を高くすると、前景領域のリコールが小さくなり、精度が高くなることが予期される。閾値処理前の生の確率は、次のモジュールに転送でき、検出の信頼性として役立つ。
【0128】
ペアリング・マスクの学習は、回帰または分類問題のいずれかと見なすことができる。回帰問題では、予測は2Dグリッド上の単一の実数値であり、例えば単純なL1、L2回帰損失などによって回帰できる。分類アプローチでは、出力は2Dグリッドで定義された2Dベクトルであり、その第1の成分(例えば、チャネル次元で表される)は背景を有する確率を表し、第2の成分は前景の確率に対応する。依存する出力であるため、対応は前景または背景の確率のいずれかによって明確に定義される。多くの場合、分類アプローチが推奨される(分類の上部に正規化されたスコアを前景または背景に与える)が、回帰アプローチを使用することもできる。これには、従来の分類損失、例えばソフトマックス損失、焦点損失などを割り当てることができる。例では、ソフトマックス損失を使用した分類アプローチを選択した。
【0129】
ソフトマックス損失は次のようになる。
【0130】
【数4】
ここで、合計は2Dグリッドのすべての空間インデックスを通過する。p
GT,fg/bgは、位置がペア予測の前景/背景であるグラウンド・トゥルース確率(通常はバイナリ)であり、p
pred,fg/bgは予測値である。予測がグラウンド・トゥルース値に等しい場合、損失は最小限に抑えられる。
【0131】
したがって、生検出は、好ましくは、それぞれの座標グリッド点からの(エピポーラ方向に沿った)最も近い車線境界点の距離を与える。前景はウィンドウ・サイズを使用して指定されるのではなく、対応マッピング・テンソルの助けを借りて指定されるため、生検出テンソルのすべてのテンソル要素に値が与えられる。この場合、このテンソルはバイナリ・マスクであり、座標グリッドの同じ点にあるどの生検出値が同じ車線境界に対応するかを記述する。
【0132】
ペアリング・マスクと生検出テンソルの例を表1a~1cに示す。
【0133】
上記に基づいて、この実施形態では、対応マッピング・テンソルは、ペアリング対応マッピング・テンソル(これはペアリング・マスクである)であり、その第3のテンソル要素のそれぞれにペアリング確率値(対応マッピング・データの下の確率値はペアリング確率値である)を有し、以下を特徴とし-つまり以下に対応し-、最も近い第1の車線境界点と最も近い第2の車線境界点が同じ車線境界に対応し(つまり、第1および第2の画像の車線境界-その点は調査中である-は、同じ車線境界に対応する。言い換えれば、画像に基づいて、第1および第2の画像で同じ車線境界が観察できると判断される)、それぞれの第3のテンソル要素に対応するグリッド・テンソル要素からウィンドウ・サイズ内に配置される(距離値も測定される)確率であり、それぞれの確率値が所定の第1の閾値を超える第3のテンソル要素が、前景の第3のテンソル要素として選択され(実施形態における前景指定の詳細を参照;バイナリペアリング・マスクを備えた実施形態もそのような実施形態であると見なされる。次のセクションを参照)、前景の第3のテンソル要素ならびに対応する第1のテンソル要素および第2のテンソル要素は、(ペアリング・モジュール内の)ペアリングステップにおいて(画像処理モジュールの)画像処理ステップの出力データとして使用され、つまり、さらなる計算のために維持される(表に示されている例も参照されたい。前景はさらに計算するために選択され、テンソルの他の値は考慮されない)。
【0134】
ウィンドウ・サイズの最適値は、入力画像の解像度に依存する。通常、1ピクセルから画像幅の半分(ピクセル単位)である。好ましくは、それは、カメラの較正に依存する、画像の下部に見られる典型的な車線幅(隣接する車線境界線間の横方向距離)の半分よりも小さくなるように選択される。
【0135】
したがって、上記のペアリング確率値は、それぞれの座標グリッドからのウィンドウ・サイズ内の第1の画像と第2の画像の両方で同じ境界線が見られ得る場合に高くなる。したがって、生検出テンソルで与えられる距離の値は、ウィンドウ・サイズによって最大化される(上記の式(7)および(8)も参照)。
【0136】
ペアリング対応マッピング・テンソルの例を表1aおよび4a~4cに示す(例では、これらは単に「対応マッピング」とラベル付けされている)。名前の「ペアリング」属性には、アプローチを識別する唯一の目的がある。テンソルには、別の方法で名前を付けることもできる。
【0137】
上記のペアリング・マスクの前景領域のRR、LLおよびRLタイプは、透明な視覚的解釈を有し、これは、
図3A~3Cに関連して解釈される。
図3A~3Cでは、左右の画像からの車線が同じ図で観察可能である。このタイプの図は、これらの画像の統合から来ている。ペアリング・マスクの前景領域は、統一された図で示されている。開始点を与える2つの画像(第1および第2の画像)は同じサイズである。つまり、同じサイズのフレームがそれらに対応する。このフレームでは、両方の画像、特に車線境界を表示できる。また、画像が同じフレームに読み込まれるため、元の画像の内容が互いに少しずれている。車線境界は、第1および第2の画像の様々なパラメータで表すことができる。本発明によれば、車線境界の座標は、画像の2次元ではなく導出することができ、深度座標も決定することができる。
【0138】
対応マップは、上記で定義されたフレームで解釈することもできる。それは、好ましくは、その定義に従って、すなわち、例えば、一実施形態における探索方向およびウィンドウを考慮に入れて、すべてのグリッド点に対してそれぞれの値を与える。ステレオ・インスタンス・セグメンテーションの実施形態では、対応情報はラベルの助けを借りて定義される。通信情報を表す他の方法を以下に示す。
【0139】
したがって、例えば、
図3Bの例では、右の画像の車線境界(破線)よりも左の画像の車線境界(実線)に近くなる。
【0140】
図3Aは、RRタイプのペアリング・マスクに対応する前景領域100a、100b(それぞれ、第1の画像および第2の画像からの車線境界のペアについて)が2Dグリッド上の領域であり、そこから、左右両方の画像の右側に最も近い車線境界は、同じ実際の3D車線境界に対応することを示している(車線境界の中心は、第1および第2の画像への3D車線境界の投影である車線境界投影として図に示されている。以下を参照されたい)。
【0141】
したがって、
図3Aでは、車線境界投影102aおよび104a(破線で示されている。車線境界の場合、図の線は、有限幅の車線境界マーカの中心線に対応することが好ましい。元の車線境界が破線-例えば、長い途切れあり-であるか、連続または他のタイプであるかどうかは、視覚化には関係ない)は、右(第2の)画像の車線境界に対応し、車線境界投影102bおよび104b(実線で示されている;他の車線境界投影102a、104aも連続しているが、連続図と区別するために破線で示されている)は、左(第1の)画像の車線境界に対応する。これらの車線から、車線境界投影102aおよび102bは同じ車線境界に対応する(破線と連続性は車線境界のタイプに対応していないが、これらは同じ車線境界を視覚化する);これらの車線境界投影102a、102bは両方とも、前景領域100aの右側にある(同じことが車線境界投影104a、104bおよび前景領域100bにも当てはまる)。
【0142】
図3Aでは、距離106aおよび106b、ならびに距離108aおよび108bも観察することができる。これらの距離106a、106b、108a、108bは、前景領域100a、100bの点から向けられている。この開始点は、座標グリッドの点に対応する。距離の終点は、それぞれ左と右の画像で観察できる車線境界上にある。したがって、距離106aはD
R
rightの生検出値を示し、距離106bはD
R
leftの値を示す。
図3Aに示すように、より多くの車線境界がカメラに見える場合、ペアリング・マスクのより多くの前景領域およびより多くの距離を指定することができる。前景領域100a、100bの境界と、2つの投影からより近い車線境界投影との間の距離は、グリッドの解像度(すなわち、グリッド点間の距離)よりも小さくなければならない。しかし、
図3A~3Cでは-説明のために-この車線境界投影と前景領域の間にギャップが示されている。最大距離の上に、距離の最小値も定義できることに留意されたい。
【0143】
他のタイプの前景領域110a、110bが
図3Bで観察可能である。この場合、左に最も近い車線境界が左と右の両方の画像の同じ物理的な車線境界に対応する領域が割り当て可能なLLタイプのマスクが示されている。この場合、車線境界投影112aおよび114a(破線でマークされている)は、右の画像の車線境界に対応し、それらのペア、車線境界投影112bおよび114b(実線)は、左の画像で観察可能である。これらは、
図3Aの車線境界とは異なる車線境界であり、ペアは明らかに、ペアリング・マスクの前景領域110a、110bの左側にある。複数の前景領域110a、110bによって示されるように、ペアに対応する車線境界のみが、それぞれの前景領域110a、110bの左側になければならない。この図の他の参照記号は、
図3Aと同様であり、すなわち、座標グリッドの点からのペアのそれぞれの車線を指す距離116aおよび116bである。距離116aと118aはD
L
rightに対応し、一方、距離116bと118bはD
L
leftに対応する。
【0144】
ペアリング・マスクの第3のタイプの前景領域120aおよび120bは、
図3Cで観察可能である。RLタイプのペアリング・マスクの前景領域120a、120bは、左画像の右に最も近い車線境界が、右画像の左に最も近い車線境界に対応する領域である。この領域は、左右の画像の車線によって境界付けられたスライス(スライスのセット)のように見える。探索方向によれば、距離126aと126b(D
L
rightとD
R
left)、および距離128aと128bは、
図3Cの異なる(反対の)方向を指している。
図3Cに示すように、前景領域120aおよび120bは、車線境界のそれぞれのペアの間に示されている。したがって、前景領域120aは、車線境界投影122a(破線、右画像の車線境界)と車線境界投影122b(実線、左画像の同じ車線境界)との間にあり、前景領域120bは、車線境界投影124a(破線、右の画像のさらに車線境界)と車線境界投影124b(実線、左の画像のさらに車線境界のペア)との間にある。
【0145】
LRタイプのマスクの前景領域の構造は、RLタイプのマスクと似ている。LRタイプのマスクは、左の画像の左側に最も近い車線境界が、右の画像の右側に最も近い車線境界に対応する領域である。カメラの主点が等しい場合、またはcx,left-cx,right>=0の場合、これは空のマスクである。これはcx,left>=cx,rightと同じである。この場合、視差はゼロ以上である。つまり、右側のカメラでは、すべてのオブジェクトが左側のカメラよりも左側にある。したがって、LR領域はなく、より正確には、空のマスクである。
【0146】
さらに、ペアリング・マスクに、いずれかの車線までの最大距離の制限を追加でき、車線マーカから離れた領域(例えば、植生、建物など)からではなく、車線に近い領域からのみペアを予測するようにする。ニューラル・ネットワークが生検出の前景領域を予測しない場合、この最大距離は、生検出の訓練で適用されるウィンドウ・サイズに従って選択する必要がある。
【0147】
RR、LLおよびRLタイプのマスクの前景領域は、
図3だけでなく
図4にも示されている。
図3および4は、c
x,left=c
x,rightの場合を示している。これは、修正の標準的な選択である。c
x,leftの値を大きくすると、左の画像の車線境界の投影が右にシフトする。それゆえに、車線境界の左右の投影間の距離が大きくなり、例えば、RLタイプの前景マスクが広くなる。画像に表示される最小の視差は、c
x,left-c
x,right以上である。c
x,leftの値を小さくすると、左の画像の車線境界の投影が右にシフトする。それゆえに、車線境界の左右の投影間の距離が減少し、例えば、RLタイプの前景マスクが狭くなる。さらに、車線境界の右投影が同じ車線境界の左投影の右側にある遠方領域(c
x,left>=c
x,rightの場合は発生しない)では、LRタイプの前景マスクが出現する。同様に、c
x,rightを増減すると、右の画像の車線境界の投影がそれぞれ右または左にシフトする。
【0148】
図4A~4Fは、c
x,left=c
x,rightの現実的な画像上のRL、RR、LLタイプのペアリング・マスク(白い帯で強調表示されている)の前景領域の図を示している。ペアリング・マスクの前景領域に対応して、同じ領域が左右の画像で連続して強調表示される。ペアリング・マスクの位置特定は絶対的である、つまり2つの写真で同じであるのに対し、写真の内容は写真が左または右のカメラで撮影されたものによって異なることがわかる(例えば、次の車線にある車、および写真を撮っている車の前で観察できる車線境界セクションを参照されたい)。
【0149】
図4Aおよび4Bにおいて、RLマスクの前景は、同じ3D車線境界線の左右の投影の間にある(左と右の投影は、同じ実際の3D境界マーカの投影である左と右の画像の車線境界の視覚化を意味する)。それゆえに、ペアリング・マスクの形状は、その左側と右側にある車線境界マーカによって制約される(
図4C~4Fを参照)。
図4Aおよび4Bでは、RLマスクの前景領域202aおよび202bは、車線マーカ204および206に対応するものであり(
図4Aおよび4Bにはあまり多くの車線マーカが見えない。同じ車線境界マーカ204および206については
図4C~4Fも参照のこと)、画像撮影車が進む車線境界である。RLマスクの他の前景領域200が
図4Aおよび4Bに示されている。好ましくは、画像撮影車の前にあるすべての車線境界が、本発明による方法によって識別されることを示す(前景200の閉塞部分も識別される)。
【0150】
ペアリング・マスクの前景領域200a、200b、および200は、特に画像を作成する車から遠い距離にある場合、
図4C~4Fよりも
図4Aおよび4Bではより狭い(以下のそれらの参照記号を参照)。これは、視差によってRLマスクの前景の幅が制限されるためである。しかし、RRおよびLLマスクの前景領域の幅は、車線境界の距離によって制限される。さらに、すべての前景領域の幅は、ウィンドウ・サイズによっても制限される。
【0151】
別の結果として、ペアリング・マスクは車線境界マーカに非常に近くなる。この例では、前景領域は正確に車線境界マーカの2つの投影間の領域である(左と右の画像から、この解釈と他の解釈は一般的な第1および第2の画像にも使用できる)。つまり、前景領域は車線境界マーカの中心線によってほぼ制限される(良い例として、車に近い
図4Bの車線境界マーカ206を参照されたい)。ほぼ制限されているとは、前景領域が車線境界マーカの中心線に最も近いグリッド点で開始するため、中心線の近くでは観察できないことを意味する(この観点から、
図3A~3Cは概略図を使用し、前景領域と車線境界投影を区別できるようにする)。
【0152】
図4Cおよび4Dにおいて、RRマスクの前景領域208a、208bおよび208、210a、210bおよび210(前景領域200aおよび200bについての上記と同じ前景領域208a、208b、210aおよび210bについてのアプローチ、参照番号「a」および「b」を有する領域は、画像撮影車を取り囲む領域である)が、それぞれの左および右の車線境界マーカ204および206の両方に対して左に位置していることが観察可能である(主に画像撮影車が占める中央車線で観測可能)。ペアリング・マスクの前景は、左右の画像に対応するカメラの視点によると、左の画像よりも右の画像の車線境界に近くなっている(
図3Aも参照)。
【0153】
図4Eおよび4Fでは、LLマスクの前景領域212a、212bおよび212、214a、214bおよび214は、左右両方の投影の右側にある。ペアリング・マスクの前景は、右の画像よりも左の画像の車線境界に近い位置にある。
【0154】
図4Gは、例として、3つの前景領域RL、RR、およびLLから平均化された左の画像空間検出を示しており、これは、
図4A~4Fに与えられた結果に対応する。
図4Gでは、画像撮影車が占める車線の良好な検出(車線マーカによって描かれた中心線の近くに密集している)220aおよび220bが観察可能である。他のすべての車線境界の検出220も良好な結果であり、閉塞も解決される。
【0155】
図5Aおよび5Bでは、関数Y(Z)(側面図)およびX(Z)(上面図)に対応する、
図4A~4Gに示した結果から得られた3D車線検出データを示すグラフが示されている。本発明のそれぞれの実施形態によって、良好な品質の結果を得ることができることは、
図5Aおよび5Bの結果から明らかである。
図5Aに示す結果は、カメラのピッチ角に起因する、カメラ座標系におけるゆっくりと上昇する道路を示し、
図5Bでは、ほぼ平行な車線を示している。車線マーカ204および206に対応する車線境界は、
図5Bの[-4メートル、4メートル]の区間Xの点に対応する。カメラの光軸は、路面と平行でないことが好ましい(カメラによる環境の所望のカバレッジによって固定される)。したがって、本発明は、カメラのピッチおよびロール角のオンライン較正に好ましくは適している。したがって、本発明では、車両のピッチおよびロールの動きを補償することができる。
【0156】
図5Aおよび5Bでは、検出は、射影歪みのために、ほぼ量子化されたパターンで編成されている(より遠い距離での検出の間には、ますます大きなギャップがある)。
【0157】
結果の質の高さは、
図6Aおよび6Bによってさらに裏付けられている。これらは、Y(Z)とX(Z)に関する、SGMからの3D投影の結果である(半グローバルマッチング、広範なステレオ・マッチング・アルゴリズム、Hirschmuller、Heiko。「Accurate and efficient stereo processing by semi-global matching and mutual information(半グローバルマッチングおよび相互情報量による正確で効率的なステレオ処理)」。2005年、コンピュータ・ビジョンとパターン認識に関するIEEEコンピュータ社会会議(IEEE Computer Society Conference on Computer Vision and Pattern Recognition)(CVPR’05))。公平な比較のために、
図4Gの左の画像空間検出が使用され、本発明から推定された視差のみが、式(3~4)のSGMアルゴリズムの結果に置き換えられ、車線境界の3D位置を評価する。
図6Aおよび6Bは、多くのノイズ(多くの外れ値点がある)を示し、すなわち、
図5Aと5Bの結果がはるかに優れている。閉塞領域の車線境界は、SGM視差を使用してカメラ座標系の誤った位置に投影され、有効な検出範囲は、本発明(
図5Bの60~80m)と比較してはるかに短い(
図6Bの20~40m)。
【0158】
車の後ろを延びる車線境界は、次の車線に対応し、車が隠れ位置にあるときに車によって隠されることも示されている。なぜなら、車線境界の隠された部分は、本発明による方法およびシステムによって解決できるからである。
【0159】
閉塞(車線境界は車の後ろなどを延びる)の解決は、グラウンド・トゥルースとニューラル・ネットワークの学習プロセス(一般に、機械学習によって訓練された画像処理モジュール)に基づいている。閉塞を認識することによって役立ち得るこのようなグラウンド・トゥルースは、マップ、閉塞のない先行するまたは後続のフレーム、シミュレートされた画像など、いくつかのソースから取得できる(グラウンド・トゥルースでは、前景領域は車の後ろにも表示される)。
【0160】
さらなる実施形態では、対応マッピングは、サイズCのセットから離散値をとるマスクであり、これは、k=0...C-1によってインデックス付けされる。例えばマスクは、例えばDleftとDrightが異なる物理車線境界を指すインデックスで、k=0により表される背景と見なされ、DleftとDrightの両方が、プロパティがkでインデックス付けされた同じ車線境界を指している場合、値k(k=1...C-1)を取る。例えば、このプロパティは車線のインスタンス・ラベルである場合もあれば、破線と実線などを区別する場合もある。非背景インデックスは前景と見なされる。ニューラル・ネットワークの対応マッピング出力は、C次元ベクトルの2Dグリッドである。つまり、出力には2Dグリッドの各位置にC個の成分(チャネル)がある。第1のチャネルは背景確率を指す場合があり、他のC-1チャネルは、k=1...C-1でインデックス付けされたプロパティを有する前景領域の確率を表す場合がある。
【0161】
車線セパレータの破線および/または色を表す車線タイプ分類のように、ペアリング・マスクによって表される車線プロパティを分類問題として定式化できる場合、訓練は、Cカテゴリのソフトマックス損失によって駆動でき、式(9)に類似する。
【0162】
【0163】
ペアリング・マスクによって表される車線プロパティが車線インスタンス・ラベルである場合、損失関数はインスタンス・セグメンテーション・タスクで使用されるものの1つである可能性がある。分類とインスタンス・セグメンテーションの違いは、インスタンス・セグメンテーションでは、グラウンド・トゥルース・ラベルの順列が同様に良好な出力と見なされる可能性があることである(ラベルは同等である)。これは、損失関数によって考慮される必要がある。インスタンス・セグメンテーションに関するより詳細な説明を以下に示す。
【0164】
一実施形態におけるペアリング・モジュールの詳細を以下に示す。元の画像での検出の画像位置は、座標グリッドと生検出テンソルDに依存する(一般に、これはデータ・ブロックであるが、この実施形態ではテンソルである。生検出データは、元の画像のフレームワークで使用可能な値を含むことが好ましく、これらはニューラル・ネットワークのダウン/アップサンプリングの影響を受けない。ニューラル・ネットワークは、スケーリングが予測にも適用される場合にも実装できる。これは、スケーリングへのアプローチに関連するこの詳細は、定数との乗算であるため、効率に関連する違いが生じないためである)。前に説明したように、検出は前景領域からのみ受け入れられる。ペアリング・モジュールには2つのタスクがある。左右の検出の画像空間表現を生成することと、対応マッピングに従ってそれらをペアリングすることである。
【0165】
この実施形態では、ペアリングだけでなく、前景領域も対応マッピングPによって表される(別の実施形態では、前景領域は生検出テンソルの一部である)。
【0166】
画像空間検出は、座標グリッドの水平成分に生検出テンソルDを追加することによって計算される(または、生検出テンソルが垂直成分も有する場合は、それも座標グリッドの垂直成分に追加する必要がある)。
検出i,j=(ui,j+Di,j,vi,j)(10)
【0167】
したがって、検出i,jの第1の成分はui,j+Di,jに等しく、第2の成分はvi,jである。座標グリッド(ui,j,vi,j)の定義は、生検出セクションに示されている。グリッドの例は、表2に示されている。
【0168】
画像空間検出テンソルはすべてのインデックスに対して計算できるが、前景領域からの検出のみが受け入れられる。あるいは、画像空間検出は、ペアリング・マスクの前景領域に対応するインデックスでのみ計算することができる。
【0169】
ペアリング・マスクの同じ前景インデックス(i,j)から発生する左右の画像空間検出はペアであり、視差モジュールと3D投影モジュールによってさらに処理できる。
【0170】
ニューラル・ネットワークがタイプRR、RLなどの複数の対応マッピングを生成する場合、ペアリング・モジュールはすべてのタイプRR、RLなどに対応する画像空間検出ペアを出力する。任意選択で、様々なペアリング・マスクからの画像空間検出は、それらが同じ3D車線境界点を表す場合、ペアリング・モジュールで平均化するか、独立した検出として転送することができる。
【0171】
この実施形態では、生検出のために導入された表現損失は、画像空間損失と同等であり、ペアリング・モジュールで追加の画像空間損失を導入する必要はない。あるいは、ペアリング・モジュールで画像空間損失のみを使用し、生検出の表現損失をオフにすることができる。損失計算で前景領域を処理する方法には、2つのアプローチの間にわずかな違いがある。ペアリング・モジュールで導入された画像空間損失では、自然な選択は、ペアリング・マスクで前景と見なされるインデックスを合計することである。生検出のために導入された表現損失では、前景は単一の画像の車線境界にのみ依存するため、損失は最終的にペア予測で使用されない領域に割り当てられる可能性がある。
【0172】
視差モジュールの詳細は、上記で導入した実施形態の続きとして、以下に指定されている。視差テンソルは、左右の画像空間検出テンソルの水平成分の間の差として計算される。
視差i,j=uleft detection,i,j-uright detection,i,j(11)
【0173】
この実施形態では、生検出テンソルDleft-Drightを直接減算することによって同じ結果が得られることに留意されたい。様々なタイプのペアリング・マスクに由来するすべての検出ペアについて視差が計算され、結果の視差値は平均化によって取得されるか、視差値が個別に処理される。
【0174】
生検出と同様の損失関数を使用できる。視差損失は、関連するペアリング・マスクの前景インデックスにのみ割り当てられる。
【0175】
3D投影モジュールでは、すべての検出ペアについて上記の式(3~4)により、3D投影が行われる。
【0176】
例えば、Huber損失関数を3D投影に使用できるが、任意の適切な損失関数を適用できる。
【0177】
【数6】
ここで、r(太字の「r」)は、車線境界の予測位置またはグラウンド・トゥルース位置を指す3Dベクトルである。
【0178】
【数7】
x
0は任意の閾値であり、合計はグラウンド・トゥルースペアリング・マスクに対応する検出を通過する。3D投影損失は、関連するペアリング・マスクの前景インデックスにのみ割り当てられる。
【0179】
以下の表は、非常に単純化された例として、本発明によるシステムの様々なモジュールに現れるテンソルおよび計算を示している。簡単にするために、以下の表では、対応マッピングがPRLによって与えられる単一の左右の検出テンソルDR
leftおよびDL
rightに対してのみ値が提供されている。この例の座標グリッドは、ストライドx=ストライドy=8、オフセットx=オフセットy=4で定義される。以下の表2aも考慮すると、これらのパラメータは、隣接するグリッド点で、xまたはy座標が8でジャンプすることを意味していることが観察できる。オフセット値によると、座標グリッドは(0,0)ではなく(4,4)で始まる。これは、出発点としてより実用的な選択である。カメラ・パラメータは、主点のcx=30、cy=3、焦点距離のf=200、2台のカメラ間の距離のB=1である。
【0180】
表1a~1cは、ニューラル・ネットワークの生の出力、つまり対応マッピングと左右の画像の生検出テンソルを示している。この情報は、訓練されたニューラル・ネットワークの出力である。その後、表2(より正確には、表2a、2b、および2c)は、ペアリング・モジュールに表示されるテンソルと計算を示し、表3(表3a、3b、および3c)は、視差モジュールと3D投影モジュールの出力を示す。
【0181】
【0182】
【0183】
【0184】
ニューラル・ネットワークの生の出力は、上記の表1a~1cに示されている。表1aは、本実施形態におけるテンソル(より具体的には、マトリックス)の形式を有する対応マッピング・データ・ブロックを示す。この実施形態のすべてのデータ・ブロックは、テンソル(マトリックス)形式を有する。
【0185】
表1aに示されている対応マッピング・テンソルは、RLタイプのペアリング・マスクの前景チャネルに対応している。背景チャネルには追加情報が含まれていないため、図には示されていない(前景と背景の確率を合計すると1になる)。RLマスクは、DR
leftとDL
rightの間の対応を記述する。したがって、これらの生検出は表1bおよび1cに示されている。
【0186】
表1aでは、出力が閾値(0.5など)を超えるペアリング・マスクの前景領域が太字で強調表示されている。この場合、左の画像の生検出は正の値を取り、右の画像の生検出は負の値を取る。これは、RおよびLの探索方向に対応する(
図3Cを参照されたい。したがって、これは、前景領域から右を指すD
R
leftが正の値を有し、反対方向のD
L
rightが負の値を有することを示している。したがって、これらの距離は符号付きである)。
【0187】
表1bおよび1cの小文字のxは、ネットワークによって予測されたが、対応が無効であるため無視された値を示す。表1aで閾値を超える確率値が対応する値のみが維持される(所定の閾値のさらなる詳細については、この説明の他の部分を参照)。言い換えると、上記の左または右の画像生検出は、前景として選択された値、つまり「元の」生検出(画像処理モジュールの出力であることが好ましい)ではなく、対応マッピングによってフィルタリングされた値のみを示している。
【0188】
表1bおよび1cは、この例では、このフィルタリング後に3つのペアが残っていることを示している。生の出力では、当然、元の左右の画像と比較してダウン/アップサンプリングが適用される。それゆえに、この例では、表1bおよび1cの有効な値に従う車線境界が検出される。
【0189】
【0190】
【0191】
【0192】
表2a~2cは、表1a~1cから取得した入力に対してペアリング・モジュールで実行された計算を示している(両方向でストライドは8、オフセットは4)。座標グリッドは、式(5)に基づいて計算される;値は、適用されたストライドとオフセットを示している。前景インデックスから予測された検出ペアは太字で示されている(表1aの対応マッピングと同じ位置)。ペアリング・モジュールは、表1bおよび1cの左右の画像生検出テンソルを式(10)に従って座標グリッドに追加することにより、検出ペアの画像位置を計算する(したがって、画像空間検出を得るために、座標グリッドのx座標のみが変更される)。実施形態に応じて、検出の画像位置は、前景領域(この例のように)またはあらゆる場所についてのみ計算されるが、有効なペアのみが最終出力に寄与する。
【0193】
【0194】
表3aに示すように、視差モジュールは、式(11)に従って、表2bおよび2cから2つの対応するテンソルを差し引くことにより、左右の検出間の水平距離を計算する。この実施形態では、視差値は、表1bおよび1cの値に基づいて計算することもできる。表3aの視差値は、車両から撮影した画像では当然のことながら、これらの点が、画像の下部(つまりテーブルの下部)により近い、最も近い点であり、車線境界が画像の上部でより高い距離にある傾向があることを示している(最小の視差2.1による)。
【0195】
【0196】
表3bに示すように、3D投影モジュールは、検出の左の画像座標とcx=30、cy=3、f=200、B=1で式(3~4)による視差から、検出ペアをカメラ座標系の3D空間にマッピングする。小文字のxは、ネットワークによって予測された値を示すが、対応が無効であるため無視される。表3bの値は、表3aの視差値に関連して書かれたものを強化する。Z座標(深度)は、テーブルの一番下に最も近い点からますます高くなる(つまり、12.4から95.2)。
【0197】
以下に、ペアリング・マスクに組み込まれた車線タイプ・セグメンテーションを使用した同様の例について説明する。この単純な例では、実線と破線の車線を区別するが、同様に、より多くのタイプを含めることができる(例えば、様々な周波数の破線のセパレータ、車線マーカの色、道路側など)。道路側については、この特殊なタイプの車線境界のいくつかの側面が説明されている上記も参照されたい。
【0198】
この例では、RRタイプのペアリング・マスクのみを検討するが、すべてのタイプのペアリングで同様に機能する。表6~7(表6a~6c、表7a~7c)で行われた計算は、表2~3(表2a~2c、表3a~3b)と同じであるが、検出ペアの車線タイプ情報も提供される。前の例とは対照的に、ここではわずかに大きいウィンドウ・サイズが適用される(ウィンドウ・サイズは距離に依存する場合がある(例えば、距離が長くなると減少する)が、画像全体に固定ウィンドウ・サイズを使用するだけで十分である)ため、前景領域はより広く、同じ車線境界点の位置は、2Dグリッドの複数の隣接するインデックスから予測できる。これらの検出は、後処理ステップにおいて平均化される場合とされない場合がある。
【0199】
【0200】
【0201】
【0202】
【0203】
表4a~4dは、ニューラル・ネットワークの生の出力を示している。出力には、車線タイプ分類(つまり、背景、実線、破線:チャネル0からチャネル2)に対応する複数の前景チャネルとの対応マッピングとしてのRRタイプペアリング・マスクがある。表4aでは、背景値が閾値(例えば、0.5)よりも小さいペアリング・マスクの前景領域が太字で強調表示されている。
【0204】
チャネル1とチャネル2の両方の対応マッピングに低い確率値が存在する可能性があるため、背景に対応マッピングを導入することが好ましい。しかし、これらは背景として動作しない。実線(連続)と破線の車線境界を示す画像では、チャネル0の対応マッピングに基づいて背景を分離でき、残りの部分は実線または破線のいずれかである。表4dの内容は、テンソル(マトリックス)のセルが実線と破線に対応するマーカである表4a~4cから導き出すことができる。
【0205】
別のアプローチでは、チャネル1とチャネル2の対応マッピングを考慮して背景を分離でき、確率値に基づいてチャネル1から実線とチャネル2から破線を分離し、残りの部分を背景として割り当てる。
【0206】
表4a~4d、5a~5b、6a~6cおよび7a~7cに示されているそのような実施形態では、対応マッピング・テンソル(一般に、そのようなテンソルが少なくとも1つあるため)は、少なくとも2つの異なる車線タイプに対して、それぞれ、少なくとも2つの車線境界タイプの選択的対応マッピング・テンソル(別のテンソルに含まれるテンソルはサブテンソルと呼ばれる場合がある)を含む。ペアリング確率値は、車線境界タイプの選択確率値であり、車線境界が特定の車線境界タイプである確率をさらに特徴付ける。システムは、少なくとも2つの異なる車線タイプのための少なくとも2つの車線境界タイプの選択的対応マッピング・テンソルに基づいて、それぞれの3D車線検出データ・ブロックを生成するように適合されている。以下の表に示すように、この実施形態では、車線境界タイプの選択的3D投影を得ることができる。
【0207】
RRマスクは、DR
leftとDR
rightの間の対応を示す。これは、表5aおよび5bに示されている。検出の車線タイプは、前景インデックスでチャネル1とチャネル2の値を比較することによって決定される。あるいは、車線タイプの確率を検出に割り当てることができる。
【0208】
【0209】
【0210】
ニューラル・ネットワークのさらなる生の出力を表5aおよび5bに示す(車線タイプは表4dに示され、他の方法でも抽出できるため、実線と破線の値は同じテンソル(マトリックス)で示される)。RRマスクは、D
R
leftとD
R
rightの間の対応を記述する。この場合、左の画像の生検出と右の画像の生検出の両方が、探索方向に対応する正の値を取る(
図3Aを参照)。小文字のxは、ネットワークによって予測された値を示すが、対応が無効であるため無視される。
【0211】
【0212】
【0213】
【0214】
表6a~6cは、表4a~4d、5a~5bに示されている入力に対してペアリング・モジュールで実行された計算を示している。表6a~6cの値は、表2a~2cと同様に計算されるため、座標グリッドは式(5)に基づいて計算される。検出ペアは、太字で示された前景インデックスから予測される。ペアリング・モジュールは、表5a~5bの左右の画像生検出テンソルを式(10)に従って座標グリッドに追加することにより、検出ペアの画像位置を計算する。実施形態に応じて、検出の画像位置は、前景領域(この例で与えられているように)またはあらゆる場所についてのみ計算されるが、有効なペアのみが最終出力に寄与する。
【0215】
【0216】
【0217】
【0218】
視差モジュールは、式(11)に従って、表6bおよび6cの2つの対応するテンソルを差し引くことにより、左右の検出間の水平距離を計算する。
【0219】
3D投影モジュールは、検出ペアを、検出の左の画像座標とcx=30、cy=3、f=200、B=1で式(3~4)による視差からカメラ座標系の3D空間にマッピングする。小文字のxは、ネットワークによって予測された値を示すが、対応が無効であるため無視される。表7cに、対応する車線タイプで有効な3D検出を示す。
【0220】
表7bですでに観察できるように、同じ行の結果は同じ3D点に対応する。これは、現在の計算でより広いウィンドウが考慮されているという事実の結果である。同等の結果の1つだけを考慮する必要がある(またはこれらを平均化することができる)。したがって、計算は、より広いウィンドウを考慮することは不利ではないことを示している。
【0221】
表6bおよび6cと同様に、データは、表7aおよび7bの車線タイプに従っても分離されていないことに留意されたい。これは、例えば表4dを使用して行うことができ、表7bにも示されている最終結果は、表7cに車線境界タイプの選択的な方法で示される。
【0222】
対応マッピングとしてペアリング・マスクを使用するいくつかのコンパクトな実施形態は、上で導入されている。
【0223】
4つの異なるペアリング・マスクがリストに記載されており、そこから任意のサブセットを3D車線検出システムで対応する生検出とともに使用できる。様々なタイプの生検出とペアリング・マスクは、ニューラル・ネットワークの様々な出力として、または一意の左右の画像の生検出と対応マッピング出力の様々なチャネルとして実装できる。
【0224】
些細な同等の実施形態は、生検出テンソルが、座標グリッドから探索方向に沿った最も近い車線境界までの符号なしの相対距離を与える場合である。次に、ペアリング・モジュールがそれに応じて変更され、画像空間検出が予測される(生検出DR
left/rightが座標グリッドに追加され、生検出DL
left/rightが差し引かれる)。
【0225】
生検出テンソルの探索方向が定義されている。代わりに、別の実施形態では、Dleft/rightを、座標グリッドから左または右の最も近い車線境界投影までの相対符号付き距離として定義できる。次に、関連する検出をペアリングするために、わずかに異なるペアリング・マスクを作成する必要がある。
【0226】
以下では、本発明者によって本発明のために開発されたステレオ・インスタンス・セグメンテーション・アプローチで構築されるさらなる実施形態が導入される。この実施形態では、対応マッピングは、左および右の画像(より多くのチャネルを有することもできる)の単一の2Dグリッドではなく、それぞれ第1の画像および第2の画像に対応する2つの2Dグリッドである(例えば、以下の表8aおよび8bを参照)。
【0227】
既知のインスタンス・セグメンテーション技術の目的(例:Davy Neven他、Towards End-to-End Lane Detection:an Instance Segmentation Approach(エンドツーエンド車線検出に向けて:インスタンス・セグメンテーション・アプローチ)、2018、arXiv:1802.05591;Yen-Chang Hsu他、Learning to Cluster for Proposal-Free Instance Segmentation(プロポーザルなしのインスタンス・セグメンテーションのためのクラスタの学習)、2018、arXiv:1803.06459を参照)は、同じオブジェクトに対応するピクセルが同じラベルを取得し、異なるオブジェクトに対応するピクセルが異なるラベルを取得するように、画像のすべてのピクセルにラベルを付けることによって、画像上のオブジェクトを見つけることである。
【0228】
いくつかの重要な変更(以下に詳述する2チャネル対応マッピング・フレームワークの適用を含む)を使用して、インスタンス・セグメンテーション技術は、一実施形態の3D車線検出システムにおける対応マッピング・フレームワークの画像ペアに適用可能なステレオ・インスタンス・セグメンテーション技術として一般化されている。この実施形態で適用されるステレオ・インスタンス・セグメンテーション・アプローチでは、ピクセルがどの画像から取得されたかに関係なく、ピクセルが同じ物理インスタンスに対応する場合は同じラベルを取得し、ピクセルが同じオブジェクトからのものでない(この実施形態では、ニューラル・ネットワークは、この方法で第1の画像および第2の画像にインデックスを作成できるように教示されている)場合は異なるラベルを取得する(したがって、ラベル付けは、画像に均一で一貫した方法で適用される)。つまり、言い換えれば、ステレオインスタンスのセグメンテーションは、2つの画像の一貫したラベル付けである(一貫したラベル付けとは、対応マッピング・テンソルの2つのチャネルで同じラベルが一貫して使用されることを意味する)。要約すると、この実施形態では、ニューラル・ネットワークの学習手順において、ニューラル・ネットワークがこれらの一貫したラベルを出力する(すなわち、一貫したラベル付けを実行する)ことが教示されている。
【0229】
上で参照した既知のインスタンス・セグメンテーション・アプローチでは、インスタンス・セグメンテーション・プロセスの結果に基づいてモデル適合が行われる。また、他の態様によれば、表示される結果は、本発明の実施形態で適用されるステレオ・インスタンス・セグメンテーションとは非常に異なる方法で得られる。
【0230】
本発明による3D車線検出方法およびシステムの場合、オブジェクト(ラベル付けされる)は、投影された車線境界線の周りの領域であり得る(投影は、第1または第2の画像上の視覚化を意味する)。この領域の幅はパラメータであり、定数として選択することも、車線境界のプロパティ(距離、タイプなど)に依存することもできる。車線境界のいずれにも対応しない領域は、一意の背景ラベルを取得できる。
【0231】
これらの領域は、訓練中の車線の既知の位置から構築できる。適切な損失関数を使用して、ニューラル・ネットワークはこれらの領域を見つけ、グラウンド・トゥルース・データと一致するラベルを割り当てることを学習する。一致するということは、グラウンド・トゥルース・ラベルの順列が完全な予測として受け入れられ得ることを意味する(ラベルの値は特別ではないため、任意の値をラベルとして選択できる)。推論時(つまり、3D車線検出のための方法およびシステムが使用されている場合)、予測されたマスクを使用して、第1(左)と第2(右)の画像の検出ペアを取得する。
【0232】
このタイプの対応マッピングは非常に柔軟性があり、例えば、分類、高密度回帰、またはスプラインなどのモデル・パラメータの予測など、ニューラル・ネットワークによる予測方法に関係なく検出をペアリングするために使用できる。この柔軟性は、ステレオインスタンス・セグメンテーションが生検出ではなく画像空間検出間の対応を定義するためである。したがって、ペアリング・モジュールは、最初に生検出に対応する画像位置を計算し、検出ペアは、生検出で使用される表現に関係なく、ステレオ・インスタンス・セグメンテーションによって選択される。一部の生検出は、ステレオインスタンス・セグメンテーションによってペアリングされない場合があり、ペアリング・モジュールによって無視(またはドロップ)される。
【0233】
一実施形態では、ステレオインスタンス・セグメンテーションが前景領域として使用され(すなわち、前景領域は、ステレオインスタンス・セグメンテーションの結果に基づいて指定される)、単一のペアリング・マスクを使用した前の例のように、そこから車線境界の正確な位置が予測される。つまり、両方の画像の対応マッピングを使用して場所を決定する(上記のような単一のペアリング・マスクではない。以下の表8~10の例も参照されたい)。検出は背景から予測されない。生検出出力DleftとDrightは、それぞれ左と右の画像のエピポーラ方向に沿った、ステレオ・インスタンス・セグメンテーションの前景位置からの車線境界の符号付き距離にすることができる。
【0234】
本発明のフレームワーク内に導入されたステレオ・インスタンス・セグメンテーションに基づく実施形態は、一般に、すなわち、(別個の)対応マッピング・データ・ブロックに限定されない対応マッピング・データに基づいて構築することができる(しかし、この実施形態は、対応マッピング・データ・ブロックの助けを借りて示されている)。
【0235】
したがって、要約すると、対応マッピング・データは、第1の画像に対応する第1のチャネル対応マッピング・データ要素(これらは、データ・ブロック、テンソル、または一般的な対応マッピング・データのような任意の一般的な形式のデータである可能性がある)と、第2の画像に対応する第2のチャネル対応マッピング・データ要素とを含み(つまり、表8a~8d、9a~9d、および10a~10bに示されている例のように、両方の画像の個別のデータ要素-主要な対応マッピング・データのチャネルと見なすことができる-)、第1のチャネル対応マッピング・テンソルおよび第2のチャネル対応マッピング・テンソルの各第3のテンソル要素は、それぞれの第3のテンソル要素が車線境界に対応するかどうかを特徴付けるラベルであり(値は、そうでない場合は例えばゼロであり、以下の表8aおよび8bに示すように、特定の車線境界が見つかった場合は特定のラベル(例えば「1」および「2」))、同じラベルは同じ車線境界に対応し、異なるラベルは、それぞれ、第1のチャネル対応マッピング・データ要素および第2のチャネル対応マッピング・データ要素の異なる車線境界に対応する。車線境界に対応する第1のチャネル対応マッピング・データ要素および第2のチャネル対応マッピング・データ要素のデータ要素が、前景対応マッピング・データ要素として選択される。前景対応マッピング・データ要素が、(ペアリング・モジュール内)のペアリングステップにおいて画像処理ステップ(画像処理モジュール)の出力データとして使用され、つまり、さらなる計算のために維持される(以下の表は、前景が開始画像ごとに異なる可能性があることを示しているが、この事実は計算に問題を引き起こさない)。生検出データを利用する場合、対応する生検出データをペアリングステップに転送することもできる(
図1のアプローチおよび表8a~8dで導入した例も参照されたい)。
【0236】
この場合、対応マッピング・データは、第1のチャネル対応マッピング・データおよび第2のチャネル対応マッピング・データの要素が車線境界に対応するか否か、すなわち、車線境界点であるか背景点であるかを示すラベルである。もともと、対応マッピング・データは、第1の画像の第1の車線境界グループと第2の画像の第2の車線境界グループとの間の対応を決定する必要があることに留意されたい。したがって、各チャネル対応マッピング・データのラベルは、他のチャネルとの対応を示す(ラベルは、両方の画像で観察できる特定の車線境界で同じになる)。チャネル対応マッピング・データの例を表8aおよび8bに示す。これらの例はテンソル形式であり、チャネル対応マッピング・データの可能な表現である。
【0237】
以下の表8a~8dに示すように、前の段落で示した一般的な定義に基づくインスタンス・セグメンテーション・アプローチは、生検出テンソル、座標グリッド・テンソルなどに基づくこのような実施形態で使用できる。しかし、以下にも示すように、インスタンス・セグメンテーション・アプローチはモデルベースの実施形態と組み合わせることができる。
【0238】
一実施形態では、様々なラベルは、以前に導入された車線プロパティを表すペアリング・マスクを備えた実施形態と同様の直交ベクトルによって表すことができる。つまり、対応マッピング・テンソル要素はベクトルであり、その成分は様々なラベルに対応する確率を表す。表8aおよび8bでは、最大確率に対応するラベルが対応マッピングとして示されている。
【0239】
第1のチャネル対応マッピング・データ要素および第2のチャネル対応マッピング・データ要素(例えば(サブ)テンソル)の名前は、これらが元のテンソルのチャネルを構成し、共通の対応マッピング・データの役割を果たすことを強調したいと考えている。これらについては、表8aおよび8bを参照されたい。これらの表は、対応マッピング・テンソル(データ・ブロック)の両方のチャネルに含まれる情報で、2つのデータが対応しているかどうかを判断できることも示している。以下、表8aおよび8bは単に「対応マッピング」とラベル付けされているが、ラベルの残りの部分(「左/右インスタンス・セグメンテーション」)は、チャネルベースのアプローチを実施するために使用される(表8aおよび8bに異なるラベルも使用できる)。
【0240】
元のテンソルのこれらの2つのチャネルは、チャネルに個別のインデックスを使用することにより、単一のテンソルの一部にすることもできる。このサブテンソルの統合は、より多くのテンソル(サブテンソルと呼ばれることもある)がテンソルに含まれる他の実施形態でも使用できる。この可能性は、テンソルの一般的な数学的フレームワークに由来する。
【0241】
表8a~8dは、ニューラル・ネットワークの生の出力、つまり対応マッピングと左右の画像の生検出テンソルを示している。表9a~9dは、ペアリング・モジュールに表示されるテンソルと計算を示し、表10aと10bは、視差と3D投影モジュールの出力を示している。
【0242】
【0243】
【0244】
【0245】
【0246】
表8a~8dは、対応マッピングにステレオ・インスタンス・セグメンテーションを使用する一実施形態のニューラル・ネットワークの生の出力を示している(線境界の周りの領域が定義されている。例示的な結果は8のストライドによって得られる)。生検出は、ペアリング・マスクを使用した前の実施形態のように、テンソル・インデックス(座標グリッド)によって表される座標までの相対距離である。この例では、生検出は相対距離であるが、ステレオインスタンス・セグメンテーションに基づく対応マッピングは、任意の表現からの検出に適用できる。
【0247】
図3A~3Cでも観察できるように、左の画像の車線境界点は、c
x,left-c
x,
right>=0の場合、右の画像の対応する車線境界点の右側に配置される。表8aと表8bの内容を比較すると、車線境界「1」と「2」の位置の適切な推定値が得られる。これは、表8cと表8dの値によって精製される。
【0248】
DleftとDrightの有効な結果は、それぞれ左インスタンス・セグメンテーションと右インスタンス・セグメンテーションの結果に基づいて維持される。言い換えると、DleftとDrightには小文字のxがあり、表8aと表8bにはそれぞれ「1」または「2」がない。したがって、前景の推定は、この段階でDleftとDrightについて分離されている(表9bと9cでも分離されたままである。以下を参照されたい)。
【0249】
生検出テンソルが符号付き相対距離として選択されたため、車線境界の両側が前景領域にある場合、生検出の符号が変化することに留意されたい。
【0250】
【0251】
【0252】
【0253】
【0254】
表9a~9dは、表8a~8dに示されている表現に対応するペア合モジュールの計算例を示している。座標グリッドは、ストライドx=ストライドy=8、オフセットx=オフセットy=4で式(5)に従って生成される。画像空間検出は、表2a~2cおよび式(10)のように、生検出に座標グリッドを追加することによって行われる。小文字のxは、ステレオインスタンス・セグメンテーションに従って背景と見なされるため、使用されない予測された生検出を示す。
【0255】
表9dでは、画像空間検出ペアが収集されている。同じラベルと同じ垂直座標に対応する画像空間検出は、ペアを形成する前に左右の画像で別々に平均化される(このように、第1のペアの左の第1の座標は22.1である)。したがって、これらの結果は精度を高めるのに役立つ。
【0256】
【0257】
【0258】
視差モジュールは、式(11)に従って、表9から対応する2つのテンソルを差し引くことにより、左右の検出間の水平距離を計算する。表10aの視差の結果を参照されたい。表9dの画像空間検出ペアのように、異なる行は異なる検出に対応する。表10bでは、3D投影モジュールは、検出の左の画像座標とcx=30、cy=3、f=200、B=1で式(3~4)による視差から、検出ペアをカメラ座標系の3D空間にマッピングする。表10bには、結果のラベルを指定するための列も含まれ得る。
【0259】
別の実施形態では、画像処理モジュールは、生検出出力を持たず、対応マッピングとしてのステレオ・インスタンス・セグメンテーションのみを有する。前に説明したように、左右の画像のステレオインスタンスのセグメンテーションは車線境界を囲み、それらの位置を適切に推定する。車線境界の正確な位置は、平均化または最小二乗モデル適合によって決定できる。したがって、一実施形態では、ペアリング・モジュールは、すべての行に沿った座標グリッドの加重平均によって、様々なラベルに対応する検出の画像空間位置を計算する。ここで、重みは、グリッド位置での特定のラベルの確率の微分可能関数である。別の実施形態では、ペアリング・モジュールは、座標グリッドによって定義され最小二乗適合によってすべてのラベルのラベル確率によって重み付けされた点群にモデルを適合させる。このモデルからサンプルを取得して、3D投影モジュールの3D空間に投影される検出ペアを取得する。最小二乗適合とモデルからのサンプリングは微分可能であるため、この実施形態は、3D車線検出システムの一般的なフレームワークに適合する。モデルに関するさらなる詳細は、モデルベースの実施形態で以下に導入されており、モデル・パラメータによって表される生検出が利用されるという点でこのアプローチとは異なる。
【0260】
本発明の一実施形態で使用されるステレオ・インスタンス・セグメンテーションは、
図7Aおよび7Bに示され、それぞれ、第1のカメラおよび第2のカメラの画像を示している。それぞれの画像において、3つの車線境界、すなわち、
図7Aの第1の車線境界投影150a、第2の車線境界投影152a、および第3の車線境界投影154aが観察可能である。これらに対応して、
図7Bの第1の車線境界投影150b、第2の車線境界投影152b、および第3の車線境界投影154bが示されている。画像の視点が異なることが観察可能である。
【0261】
すべての車線境界には、ステレオ・インスタンス・セグメンテーション技術によってラベル付けされた周囲の領域がある。
図7Aでは、領域156aが車線境界投影150aを取り囲んでいる。領域156aは、インスタンス・セグメンテーション・インデックスとして「1」を保持する。周囲の領域158aは、車線境界投影152a(領域158aのラベルは「2」である)に指定され、領域160a(ラベル「3」を有する)は、車線境界投影154aに指定されている。それぞれの領域156b、158b、および160b(ラベル「1」、「2」、および「3」が付いている)も
図7Bに示されている。同じ車線境界線の周りのピクセルは、第1および第2のカメラ画像で同じラベルを取得する。
【0262】
上記の例で示したように、これらの領域指定は、この技術の対応マッピングに使用される。表8a~8bに示されている対応マッピング・テンソルは、第1の画像と第2の画像の領域を表している。したがって、画像で指定された周囲の領域(エリア)は、テンソルのそれぞれの要素にラベルを付けることによって、これらのテンソルで表すことができる(表8a~8bの例では、2つの異なるラベル、つまり「1」と「2」が使用されるが、
図7Aおよび7Bの例示的な例では、3つの異なるインデックスがある)。
【0263】
図8Aおよび8Bは、訓練されたニューラル・ネットワークの予測がその上に指定された、実際の画像上のステレオインスタンス・セグメンテーションを示している。
図8Aおよび8Bは、第1のカメラの第1の画像および第2のカメラの第2の画像を与える。インスタンス・セグメンテーションによって指定された領域230a、232a、234a、236a、238aおよび230b、232b、234b、236b、238bは、それぞれ
図8Aと8Bで白で強調表示されている(互いに対応する領域は、「a」および「b」と同じ数を有し、左右のストライプ、星、「+」および「x」の形をしたグリッド線など、同じパターンで表される。つまり、パターンはステレオインスタンス・セグメンテーションによって割り当てられたラベルを表す)。これらは、本発明による方法およびシステムのそれぞれの実施形態が実行されることに基づいて、開始インスタンス・セグメンテーション領域(
図7Aおよび7B、ならびに表8a~8bに示される領域と同様に)である。
図8Aおよび8Bは、両方の図グループがそれぞれの例の対応マッピングを示しているため
図4A~4Fと何らかの形で類似している。
【0264】
以下では、モデルベースの実施形態と呼ばれるさらなる実施形態が指定される。
【0265】
この実施形態では、左右の画像の車線境界は、ニューラル・ネットワークによって予測されたモデル・パラメータ(一般に、機械学習によって訓練された画像処理モジュール)、例えばスプライン・パラメータによっても表すことができる。したがって、車線境界の配置を指定する生検出は、上記のようなパラメータのような距離のグループではなく、ニューラル・ネットワークは、異なる方法で車線境界を特徴付けるスプライン・パラメータなどを出力する。
【0266】
車線境界のモデルは、可変数のパラメータ(N)で表すことができる。スプライン・モデルの場合、Nは制御点の数とスプラインの多項式次数に依存する。Nは、例えば制御点の数が固定されている場合など、アーキテクチャによって固定される場合がある。あるいは、車線境界を表すために使用される制御点の数もニューラル・ネットワークによって決定される場合がある。
【0267】
一般に、生検出は、車線境界ごとに異なるモデル・パラメータのセットである。上記の表に示されているこれらの実施形態では、これらのパラメータは、距離タイプのパラメータのセットである。これらの距離は、車線境界-座標グリッド点の距離である。しかし、車線境界を指定するために座標グリッドを有する必要はない。現在のモデルベースの実施形態では、車線境界がスプラインで表される場合、座標グリッドを使用する必要はない。
【0268】
例えば、ニューラル・ネットワークは、左/右の画像で車線境界のモデルのml/r数(つまり、ml/rは検出の数)を見つけることができる。それぞれは異なるパラメータal/r、kを有し、ここでkは検出のインデックスである。モデル・パラメータの数も、検出ごとに異なる場合がある。このような様々な数の検出は、例えばLSTMセル(長短期記憶セル)によって実現できる。左右の画像の生検出は、次のように形式化される。
【0269】
【0270】
これらの生検出Dl/rは、上記で導入したテンソル(マトリックス)よりも一般化されたデータ・ブロックである。必要なモデル・パラメータの数(N1,N2,Nml)は行で異なる可能性があるため、上記のデータ・ブロックの行は必ずしも同じ長さであるとは限らない(同じ長さである理由はないが、理論的には同じ長さである可能性がある)。
【0271】
表現損失は、生検出に割り当てることができ、その表現損失は、車線境界のモデル・パラメータをそのグラウンド・トゥルース・モデル・パラメータと比較する。しかし、様々なモデル・パラメータにより、同様に良好な検出が生成され得る。これは、画像空間の損失によってより適切に捕捉される。
【0272】
検出の画像座標は、ニューラル・ネットワークが予測する車線境界のモデルから計算される。このステップはペアリング・モジュールで実行される。車線境界のモデルMは、画像座標(u、v)とモデル・パラメータの陰関数である。
M(u,v;al/r,k)=0
【0273】
より単純なケースは、モデルがvによってパラメータ化される場合である(上記の方程式が再配置される)。
u=M’(v;al/r,k)
【0274】
この実施形態における対応マッピングは、検出のインデックス間のマッピングであり、例えば、
C={(l,i)⇔(r,j)|i∈[1,ml],j∈[1,mr],al,iはar,jと同じ物理的な車線に対応する}
つまり、左と右のパラメータのセット間の対応を示す。したがって、生検出は、好ましくは、実質的に対応マッピング・データ・ブロックの入力を与える。別の実施形態では、車線境界mlおよびmrのモデルの数は、アーキテクチャによって固定され(画像上に表示される車線境界の数に関係なく)、車線境界間で順序が定義される。この場合、生検出は必ずしも対応マッピング・データ・ブロックの入力ではない。
【0275】
ペアリング・モジュールは、Cの対応を調べ、モデルMまたはM’からサンプルを取得する。例えば、vでインデックス付けされた様々な水平線でサンプルを取得する。これにより、検出ペアが提供され(al,i-ar,jペアの場合、M’で与えられる上記の方程式は、「u」に2つの異なる値を与える)、視差モジュールと3D投影モジュールによって処理される(つまり、この実施形態では、視差は「u」の2つの異なる値から、より具体的にはその左と右値からも計算される)。
【0276】
訓練は、画像空間の損失によって促進される可能性がある。車線境界のモデルからのサンプリングは微分可能な操作であるため、勾配はモジュールを逆方向に通過してニューラル・ネットワークに到達し得る。
【0277】
要約すると、方法およびシステムの上記のモデルベースの実施形態では、
第1の画像の第1の車線境界グループの第1のインデックスを有する(つまり、各車線境界がそれぞれのインデックスを有する)各第1のメンバーの配置は、第1の画像の生検出データ・ブロックの第1のモデル・パラメータによって定義され、
第2の画像の第2の車線境界グループの第2のインデックスを有する各第2のメンバーの配置は、第2の画像の生検出データ・ブロックの第2のモデル・パラメータによって定義され、
対応マッピング・データ・ブロックは、第1のインデックスと第2のインデックスが同じ車線境界に対応するかどうかに基づいて、それぞれの第1のインデックスと第2のインデックスとの間の対応を決定する。
【0278】
第1のインデックスおよび第2のインデックスを導入する上記のアプローチはまた、上記で導入されたステレオ・インスタンス・セグメンテーション・アプローチと組み合わせることができる(前の段落で述べた対応マッピングアプローチだけでなく)、すなわち、ステレオ・インスタンス・セグメンテーションの対応マッピングアプローチは、インデックス付き車線境界の処理のために実行され得る。
【0279】
この場合、ペアリング・モジュールは、左右の画像の生検出の要素を繰り返し処理し、対応するモデルからサンプルを取得することによって画像空間検出を、例えば、vでインデックス付けされた様々な水平線で生成する。これらの画像空間検出は、ステレオ・インスタンス・セグメンテーションからラベルを取得する。同じ水平線上にあり、同じラベルで特徴付けられる左右の画像上の点は、検出ペアを定義する。好ましくは、同じラベルを有する同じ水平線上の点は、ペアを生成する前に、左右の画像上で別々に平均化され得る。背景としてラベル付けされた画像空間検出は、画像空間検出ペアに寄与しない。
【0280】
本発明の一実施形態は、コンピュータによって実行されると、コンピュータに本発明による方法を実行させる命令を記憶した非一時的なコンピュータ可読媒体に関する。
【0281】
本発明によるシステムおよび方法の利点は、ここに要約される:
・本発明の解決策は、上記の対応マッピングアプローチに基づいている。したがって、本発明では、明示的なステレオ・マッチング・ステップは適用されない。
・本発明によれば、3D検出においてノイズ・レベルを下げることができる。反対に、従来技術のアプローチでは、ステレオ・マッチングは、均質な表面(道路の表面など)にノイズをもたらし、車線境界で劣った品質の結果をもたらす。
・本発明による方法およびシステムは、閉塞領域でも動作可能である。
・好ましくは、ニューラル・ネットワークに適用される実施形態では、訓練のための方法およびシステムは、エンドツーエンドで学習可能であり、微分可能である。
【0282】
もちろん、本発明は、上記で詳細に説明した好ましい実施形態に限定されず、特許請求の範囲によって定められる保護の範囲内で、さらなる変形、修正、および発展が可能である。さらに、任意の従属クレームの組み合わせによって定めることができるすべての実施形態は、本発明に含まれる。
【国際調査報告】