(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-21
(45)【発行日】2022-11-30
(54)【発明の名称】場面理解および高度な運転者支援システムのためのアプリケーションを有するマルチタスク感知ネットワーク
(51)【国際特許分類】
G06T 7/00 20170101AFI20221122BHJP
G06T 1/40 20060101ALI20221122BHJP
G08G 1/16 20060101ALI20221122BHJP
B60W 30/09 20120101ALI20221122BHJP
G06T 7/11 20170101ALI20221122BHJP
【FI】
G06T7/00 350C
G06T1/40
G08G1/16 C
B60W30/09
G06T7/11
G06T7/00 650
(21)【出願番号】P 2021528363
(86)(22)【出願日】2020-02-12
(86)【国際出願番号】 US2020017877
(87)【国際公開番号】W WO2020180469
(87)【国際公開日】2020-09-10
【審査請求日】2021-05-20
(32)【優先日】2020-02-11
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-03-07
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】504080663
【氏名又は名称】エヌイーシー ラボラトリーズ アメリカ インク
【氏名又は名称原語表記】NEC Laboratories America, Inc.
(74)【代理人】
【識別番号】100123788
【氏名又は名称】宮崎 昭夫
(74)【代理人】
【識別番号】100127454
【氏名又は名称】緒方 雅昭
(72)【発明者】
【氏名】トラン、 クオック-フイ
(72)【発明者】
【氏名】シュルター、 サミュエル
(72)【発明者】
【氏名】ヴェルナザ、 ポール
(72)【発明者】
【氏名】リウ、 ブユ
(72)【発明者】
【氏名】ジ、 パン
(72)【発明者】
【氏名】ツァイ、 イ-シューアン
(72)【発明者】
【氏名】チャンドラカー、 マンモハン
【審査官】山田 辰美
(56)【参考文献】
【文献】特開2017-211799(JP,A)
【文献】特開2018-055377(JP,A)
【文献】特開2018-190332(JP,A)
【文献】特開2008-238927(JP,A)
【文献】米国特許出願公開第2019/0050648(US,A1)
【文献】米国特許出願公開第2019/0049970(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00-7/90
G06T 1/40
G08G 1/16
B60W 30/09
(57)【特許請求の範囲】
【請求項1】
高度な運転者支援システム(ADAS)におけるコンピュータによって実現される方法であって、
ハードウェアプロセッサによって、マルチタスク畳込みニューラルネットワーク(CNN)を用いて、複数の画像を含む入力映像ストリームから、物体検出および他の感知タスクを含む、異なる感知タスク間で共有される特徴を抽出すること(505)と、
前記ハードウェアプロセッサによって、前記マルチタスクCNNを用いて、複数の異なる感知タスクの出力を提供するための、前記マルチタスクCNNのそれぞれの異なる分岐によって、前記共有される特徴の対応するものを同時に処理することによって、単一の経路で前記異なる感知タスクを同時に解決すること(510)であって、前記それぞれ異なる分岐のそれぞれが、前記異なる感知タスクのそれぞれの1つに対応することと、
前記複数の異なる感知タスクの出力に応答する少なくとも1つのトップビューマップとして運転場面のパラメトリック表現を形成すること(530)と、
差し迫っている衝突を示す前記少なくとも1つのトップビューマップに応答する衝突回避のために、車両の操作を制御することとを含む方法。
【請求項2】
請求項1に記載のコンピュータによって実現される方法において、
前記他の感知タスクは、意味的セグメンテーション、奥行き推定および遮蔽推論を含む方法。
【請求項3】
請求項1に記載のコンピュータによって実現される方法において、
前記ハードウェアプロセッサは、単一のGPUからなる方法。
【請求項4】
請求項1に記載のコンピュータによって実現される方法において、
物体追跡を取得するために、異なる画像にわたってバウンディングボックスを関連付けることと、
前記バウンディングボックスを処理してカメラポーズを判定することと、
前記少なくとも1つのトップビューマップを形成するための洗練された物体追跡を提供するために、前記物体追跡および前記カメラポーズに応答して前記バウンディングボックスによってカプセル化された物体を定位することとをさらに含む方法。
【請求項5】
請求項4に記載のコンピュータによって実現される方法において、
前記洗練された物体追跡は、所与の期間にわたって一貫性があるように提供される方法。
【請求項6】
請求項4に記載のコンピュータによって実現される方法において、
前記バウンディングボックスの各々について信頼スコアを生成することをさらに含み、前記信頼スコアは、前記物体追跡を取得するために使用される方法。
【請求項7】
請求項1に記載のコンピュータによって実現される方法において、
前記マルチタスクCNNは、複数のサブCNNを含み、前記複数のサブCNNの各々は、前記異なる感知タスクのそれぞれ異なる1つを処理する方法。
【請求項8】
請求項1に記載のコンピュータによって実現される方法において、
2次元物体ボックス、3次元物体ボックス、まばらな3次元ポイントおよび意味的画素を含む訓練データを用いて前記マルチタスクCNNを訓練することをさらに含む方法。
【請求項9】
請求項8に記載のコンピュータによって実現される方法において、
前記訓練データは、前記異なる感知タスクのそれぞれについて注釈が付けられている方法。
【請求項10】
請求項
9に記載のコンピュータによって実現される方法において、
前記意味的画素の各々は、複数の利用可能な意味的カテゴリのうちの1つに割り当てられる方法。
【請求項11】
請求項1に記載のコンピュータによって実現される方法において、
遮蔽推論を使用して前記トップビューマップを形成することをさらに含み、前記遮蔽推論は、前景物体によって遮蔽された前記入力映像ストリーム内の任意の画素についての意味論および距離を推定する方法。
【請求項12】
請求項
2に記載のコンピュータによって実現される方法において、
前記入力映像ストリームのフレーム内の場面の遮蔽領域は、前記遮蔽推論のために注釈付けされない方法。
【請求項13】
請求項1に記載のコンピュータによって実現される方法において、
前記衝突回避は、ブレーキングおよびステアリングからなるグループから選択された車両入力を制御することを含む方法。
【請求項14】
請求項1に記載のコンピュータによって実現される方法において、
前記衝突回避を支援するために、前記トップビューマップに応答して場面理解タスクを実行することをさらに含む方法。
【請求項15】
高度な運転者支援のためのコンピュータ
プログラムであって、前記コンピュータ
プログラムは
、方法をコンピュータにより実行可能であり、前記方法は、
マルチタスク畳込みニューラルネットワーク(CNN)を用いて、複数の画像を含む入力映像ストリームから、物体検出および他の感知タスクを含む異なる感知タスク間で共有される特徴を抽出すること(505)と、
前記マルチタスクCNNを用いて、複数の異なる感知タスクの出力を提供するための、前記マルチタスクCNNのそれぞれの異なる分岐によって、前記共有される特徴の対応するものを同時に処理することによって、単一の経路で前記異なる感知タスクを同時に解決すること(510)であって、前記それぞれ異なる分岐のそれぞれが、前記異なる感知タスクのそれぞれの1つに対応することと、
前記複数の異なる感知タスクの出力に応答する少なくとも1つのトップビューマップとして運転場面のパラメトリック表現を形成すること(530)と、
差し迫っている衝突を示す前記少なくとも1つのトップビューマップに応答する衝突回避のために、車両の操作を制御することとを含むコンピュータ
プログラム。
【請求項16】
請求項15に記載のコンピュータ
プログラムにおいて、
前記他の感知タスクは、意味的セグメンテーション、奥行き推定および遮蔽推論を含むコンピュータ
プログラム。
【請求項17】
請求項15に記載のコンピュータ
プログラムにおいて、
物体追跡を取得するために、異なる画像にわたってバウンディングボックスを関連付けることと、
前記バウンディングボックスを処理してカメラポーズを判定することと、
前記少なくとも1つのトップビューマップを形成するための洗練された物体追跡を提供するために、前記物体追跡および前記カメラポーズに応答して前記バウンディングボックスによってカプセル化された物体を定位することとをさらに含むコンピュータ
プログラム。
【請求項18】
請求項15に記載のコンピュータ
プログラムにおいて、
前記マルチタスクCNNは、複数のサブCNNを含み、前記複数のサブCNNの各々は、前記異なる感知タスクのそれぞれ異なる1つを処理するコンピュータ
プログラム。
【請求項19】
高度な運転者支援のためのコンピュータ処理システムであって、
記憶されたプログラムコードを含むメモリデバイス(103)と、
前記メモリデバイスに動作可能に結合され、前記メモリデバイスに記憶された前記プログラムコードを実行するように構成されたハードウェアプロセッサ(102)とを有し、前記ハードウェアプロセッサは、
マルチタスク畳込みニューラルネットワーク(CNN)を用いて、複数の画像を含む入力映像ストリームから、物体検出および他の感知タスクを含む異なる感知タスク間で共有される特徴を抽出し、
前記マルチタスクCNNを用いて、複数の異なる感知タスクの出力を提供するための、前記マルチタスクCNNのそれぞれの異なる分岐によって、前記共有される特徴の対応するものを同時に処理することによって、単一の経路で前記異なる感知タスクを同時に解決し、前記それぞれ異なる分岐のそれぞれが、前記異なる感知タスクのそれぞれの1つに対応し、
前記複数の異なる感知タスクの出力に応答する少なくとも1つのトップビューマップとして運転場面のパラメトリック表現を形成し、
差し迫っている衝突を示す前記少なくとも1つのトップビューマップに応答する衝突回避のために、車両の操作を制御するコンピュータ処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願情報
本出願は、2020年2月11日に出願された米国特許出願第16/787,727号の優先権を主張し、この出願は、2019年3月7日に出願された米国仮特許出願第62/814,886号の優先権を主張し、その内容は、その全体が参照により本明細書に組み込まれる。
【背景技術】
【0002】
本発明は、機械学習に関し、より詳細には、場面理解および高度な運転者支援システムのためのアプリケーションを有するマルチタスク感知ネットワークに関する。
関連技術の説明
【0003】
多くの場面理解システムおよび高度な運転者支援システムは、物体検出、意味的セグメンテーションおよび奥行き推定などの様々な感知タスクを実行することを必要とし、これらは、通常、別個のモジュールとみなされ、独立の畳み込みニューラルネットワーク(CNN)として実装される。しかしながら、上記のアプローチにはいくつかの欠点がある。第1に、それは多くの計算資源を必要とし、例えばタスク特定ネットワークを実行するために1つの画像処理ユニット(GPU)が必要である。第2に、それは物体検出や意味的セグメンテーションのような個々の感知タスク間の相互特徴を無視する。したがって、場面理解および高度な運転者支援システムのためのマルチタスク感知ネットワークを使用するための改善されたアプローチが必要とされている。
【発明の概要】
【0004】
本発明の一態様によれば、高度な運転者支援システム(ADAS)において、コンピュータによって実現される方法が提供される。前記方法は、ハードウェアプロセッサによって、マルチタスク畳込みニューラルネットワーク(CNN)を用いて、複数の画像を含む入力映像ストリームから異なる感知タスク間で共有される特徴を抽出することを含む。前記異なる感知タスクは、物体検出および他の感知タスクを含む。前記方法はさらに、前記ハードウェアプロセッサによって、前記マルチタスクCNNを用いて、複数の異なる感知タスクの出力を提供するための、前記マルチタスクCNNのそれぞれの異なる分岐によって、前記共有される特徴の対応するものを同時に処理することによって、単一の経路で前記異なる感知タスクを同時に解決することを含む。前記それぞれ異なる分岐のそれぞれが、前記異なる感知タスクのそれぞれの1つに対応する。前記方法はまた、前記複数の異なる感知タスクの出力に応答する少なくとも1つのトップビューマップとして運転場面のパラメトリック表現を形成することを含む。さらに前記方法は、差し迫っている衝突を示す前記少なくとも1つのトップビューマップに応答する衝突回避のために、車両の操作を制御することを含む。
【0005】
本発明の別の態様によれば、高度な運転者支援のためのコンピュータプログラム製品が提供される。コンピュータプログラム製品は、共に実施されるプログラム命令を有する非一時的なコンピュータ可読記憶媒体を含む。前記プログラム命令は方法をコンピュータにより実行可能である。前記方法は、マルチタスク畳込みニューラルネットワーク(CNN)を用いて、複数の画像を含む入力映像ストリームから異なる感知タスク間で共有される特徴を抽出する。前記異なる感知タスクは、物体検出および他の感知タスクを含む。前記方法はさらに、前記マルチタスクCNNを用いて、複数の異なる感知タスクの出力を提供するための、前記マルチタスクCNNのそれぞれの異なる分岐によって、前記共有される特徴の対応するものを同時に処理することによって、単一の経路で前記異なる感知タスクを同時に解決することを含む。前記それぞれ異なる分岐のそれぞれが、前記異なる感知タスクのそれぞれの1つに対応する。前記方法はまた、ハードウェアプロセッサによって、前記複数の異なる感知タスクの出力に応答する少なくとも1つのトップビューマップとして運転場面のパラメトリック表現を形成することを含む。前記方法はさらに、ハードウェアプロセッサによって、差し迫っている衝突を示す前記少なくとも1つのトップビューマップに応答する衝突回避のために、車両の操作を制御することを含む。
【0006】
本発明のさらに別の態様によれば、高度な運転者支援のためのコンピュータ処理システムが提供される。コンピュータ処理システムは、記憶されたプログラムコードを含むメモリデバイスを含む。コンピュータ処理システムはさらに、前記メモリデバイスに動作可能に結合され、前記メモリデバイスに記憶された前記プログラムコードを実行するように構成され、マルチタスク畳込みニューラルネットワーク(CNN)を用いて、複数の画像を含む入力映像ストリームから異なる感知タスク間で共有される特徴を抽出するように構成されたたハードウェアプロセッサを含む。前記異なる感知タスクは、物体検出および他の感知タスクを含む。前記ハードウェアプロセッサはさらに、前記マルチタスクCNNを用いて、複数の異なる感知タスクの出力を提供するための、前記マルチタスクCNNのそれぞれの異なる分岐によって、前記共有される特徴の対応するものを同時に処理することによって、単一の経路で前記異なる感知タスクを同時に解決するために前記プログラムコードを実行する。前記それぞれ異なる分岐のそれぞれが、前記異なる感知タスクのそれぞれの1つに対応する。前記ハードウェアプロセッサはさらに、前記複数の異なる感知タスクの出力に応答する少なくとも1つのトップビューマップとして運転場面のパラメトリック表現を形成するために前記プログラムコードを実行する。前記ハードウェアプロセッサはまた、差し迫っている衝突を示す前記少なくとも1つのトップビューマップに応答する衝突回避のために、車両の操作を制御するために前記プログラムコードを実行する。
【0007】
これらおよび他の特徴および利点は、添付の図面に関連して読まれるべき、その例示的な実施形態の以下の詳細な説明から明らかになるであろう。
【図面の簡単な説明】
【0008】
本開示は、以下の図面を参照して、好ましい実施形態の以下の説明において詳細を提供する。
【0009】
【
図1】本発明の一実施形態による例示的な処理システムを示すブロック図である。
【0010】
【
図2】本発明の一実施形態による、例示的なアプリケーション概要を示す図である。
【0011】
【
図3】
図3は、本発明の一実施形態による、例示的なマルチタスク感知ネットワークを示すブロック図である。
【0012】
【
図4】本発明の一実施形態による、
図3のマルチタスクCNNをさらに示すブロック図である。
【0013】
【
図5】本発明の一実施形態による、マルチタスク感知ネットワークのための例示的な方法を示す流れ図である。
【0014】
【
図6】本発明の一実施形態による、例示的な高度な運転者支援システム(ADAS)を示すブロック図である。
【発明を実施するための形態】
【0015】
本発明の実施形態は、場面理解および高度な運転者支援システム(ADAS)のためのアプリケーションを有するマルチタスク感知ネットワークを対象とする。
【0016】
本発明の1つまたは複数の実施形態は、個々の感知タスク間の相互特徴を探索し、単一のGPU上で効率的に実行するマルチタスク感知ネットワークを提案する。さらに、本発明者らは、場面理解および高度な運転者支援システムに対する本発明の応用を実証した。
【0017】
一実施形態では、本発明は、単一の入力画像から、物体検出、意味的セグメンテーション、奥行き推定、遮蔽推論、および3D物体定位などの異なる感知タスクを同時に実行するための新規なCNNアーキテクチャを提案する。特に、入力画像は、最初に、異なる感知タスクにわたって共有するための特徴を抽出する特徴抽出モジュールを通過する。次に、これらの共有された特徴は、タスク固有のブランチに供給され、各ブランチは、1つまたは複数の感知タスクを実行する。特徴抽出モジュールを共有することによって、本発明のネットワークは、個々の感知タスク間で共有される特徴を探索し、単一のGPU上で効率的に実行することができる。さらに、マルチタスク感知ネットワークのアプリケーションを、場面理解および高度な運転者支援システムに向けて説明する。もちろん、本発明は、本明細書で提供される本発明の教示を前提として、当業者によって容易に理解されるように、他の用途に適用することができる。
【0018】
図1は、本発明の一実施形態による例示的な処理システム100を示すブロック図である。処理システム100は、1組の処理ユニット(例えば、CPU)101と、1組のGPU102と、1組のメモリデバイス103と、1組の通信デバイス104と、1組の周辺機器105とを含む。CPU101は、シングルまたはマルチコアCPUとすることができる。GPU102は、シングルまたはマルチコアGPUとすることができる。1つまたは複数のメモリデバイス103は、キャッシュ、RAM、ROM、および他のメモリ(フラッシュ、光、磁気など)を含むことができる。通信デバイス104は、無線および/または有線通信デバイス(例えば、ネットワーク(例えば、WIFIなど)アダプタなど)を含むことができる。周辺機器105は、表示デバイス、ユーザ入力デバイス、プリンタ、撮像デバイスなどを含むことができる。処理システム100の要素は、1つまたは複数のバスまたはネットワーク(まとめて図参照番号110で示す)によって接続される。
【0019】
一実施形態では、メモリデバイス103は、特別にプログラムされたソフトウェアモジュールを記憶して、コンピュータ処理システムを、本発明の様々な態様を実施するように構成された特別目的のコンピュータに変換することができる。一実施形態では、特別な目的のハードウェア(例えば、特定用途向け集積回路、フィールドプログラマブルゲートアレイ(FPGA)など)を使用して、本発明の様々な態様を実施することができる。一実施形態では、メモリデバイス103は、場面理解および高度な運転者支援システム(ADAS)のためのマルチタスク感知ネットワーク103Aを含む。
【0020】
もちろん、処理システム100は、当業者によって容易に企図されるように、他の要素(図示せず)を含んでもよく、また、特定の要素を省略してもよい。例えば、当業者によって容易に理解されるように、様々な他の入力デバイスおよび/または出力デバイスを、その特定の実装に応じて、処理システム100に含めることができる。例えば、様々なタイプの無線および/または有線の入力および/または出力デバイスを使用することができる。さらに、様々な構成の追加のプロセッサ、コントローラ、メモリなどを利用することもできる。処理システム100のこれらおよび他の変形は、本明細書で提供される本発明の教示を与えられれば、当業者によって容易に企図される。
【0021】
さらに、システム100の1つまたは複数の要素によって全体的または部分的に実装され得る、本発明に関連する様々な要素およびステップに関して以下で説明される様々な図が理解されるべきである。
【0022】
本明細書で採用されるように、「ハードウェアプロセッササブシステム」または「ハードウェアプロセッサ」という用語は、1つ以上の特定のタスクを実行するために協働するプロセッサ、メモリ、ソフトウェアまたはそれらの組み合わせを指すことができる。有用な実施形態では、ハードウェアプロセッササブシステムは、1つまたは複数のデータ処理要素(例えば、論理回路、処理回路、命令実行デバイスなど)を含むことができる。1つまたは複数のデータ処理要素は、中央処理ユニット、画像処理ユニットおよび/または別個のプロセッサまたはコンピューティング要素ベースのコントローラ(たとえば、論理ゲートなど)に含めることができる。ハードウェアプロセッササブシステムは、1つ以上のオンボードメモリ(例えば、キャッシュ、専用メモリアレイ、読み出し専用メモリなど)を含むことができる。いくつかの実施形態では、ハードウェアプロセッササブシステムは、オンボードまたはオフボードにすることができるか、またはハードウェアプロセッササブシステム(例えば、ROM、RAM、基本入出力システム(BIOS)など)によって使用するために専用にすることができる1つ以上のメモリを含むことができる。
【0023】
ある実施形態では、ハードウェアプロセッササブシステムは、1つ以上のソフトウェア要素を含むことができ、実行することができる。1つ以上のソフトウェア要素は、特定の結果を達成するために、オペレーティングシステムおよび/または1つ以上のアプリケーションおよび/または特定のコードを含むことができる。
【0024】
他の実施形態では、ハードウェアプロセッササブシステムは、指定された結果を達成するために1つまたは複数の電子処理機能を実行する専用の専用回路を含むことができる。そのような回路は、1つまたは複数のアプリケーション専用集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、および/またはプログラマブルロジックアレイ(PLA)を含むことができる。
【0025】
ハードウェアプロセッササブシステムのこれらおよび他の変形もまた、本発明の実施形態に従って企図される。
【0026】
図2は、本発明の一実施形態による、例示的なアプリケーション概要200を示す図である。
【0027】
アプリケーション概要200は、入力映像210、マルチタスク感知ネットワーク220、2D物体検出231、3D物体検出232、意味的セグメンテーション233、奥行き推定234、遮蔽推論235、動作および物体追跡および3D定位からの構造240、トップビューマップ250、ならびに場面理解および高度な運転者支援システムアプリケーション260を含む。
【0028】
図2は、場面理解およびADAS260を含むマルチタスク感知ネットワークの例示的なアプリケーションを示す。具体的には、入力映像210が与えられると、感知ネットワーク220は、各フレームを単一の順方向経路で別々に処理し、2D物体検出231、3D物体検出232、意味的セグメンテーション233、奥行き推定234および遮蔽推論235を含むリッチなフレームごとの出力を生成する。次に、これらのフレームごとの出力を組み合わせて、動作、物体追跡、3D定位240およびトップビューマップ推定モジュールから構造に供給して、車線の数、道路トポロジおよび交差点までの距離などの場面配置の詳細、ならびに場面配置と一致する物体の定位を含む、取得された場面の時間的および空間的に一貫したトップビューマップ250表現を生成することができる。詳細なトップビューマップ表現は、場面理解およびADAS260(例えば、盲点推論、経路計画、衝突回避(ステアリング、ブレーキ入力等を介する)等)のような様々なアプリケーションに有用であり得る。
【0029】
図3は、本発明の一実施形態による例示的なマルチタスク感知ネットワーク300を示すブロック図である。
【0030】
ネットワーク300は、入力映像301を受信する。
【0031】
このネットワークは、マルチタスク畳み込みニューラルネットワーク(CNN)310と、動作からの構造構成要素320と、物体追跡構成要素330と、3D定位構成要素340と、トップビューマップ350と、アプリケーション360とを含む。
【0032】
入力映像301は、画像の映像ストリームであってもよい(例えば、RGBまたは他のタイプ)。
【0033】
マルチタスクCNN310は、入力として(RGB)画像を取り込み、多数の出力を生成する。マルチタスクCNN310は、複数のタスクを一度に解決するように構成される。
【0034】
物体追跡構成要素330は、入力映像301のフレームごとに、マルチタスクCNN310から物体インスタンスの2Dまたは3Dバウンディングボックスを受け取る。物体追跡構成要素330は、2Dおよび/または3Dバウンディングボックスの両方で動作することができる。物体追跡構成要素330のタスクは、異なるフレームにわたって、すなわち時間にわたって2D/3Dバウンディングボックスを関連付けることである。バウンディングボックス間の関連付けは、これらのバウンディングボックスが物体のまったく同じインスタンスを取得することを示す。
【0035】
動作からの構造構成要素320は、RGB画像301の映像ストリームを入力として取り込み、映像の最初のフレームに対する相対カメラポーズを出力する。したがって、動作からの構造構成要素320は、カメラ自体が空間および時間を通してどのように動いているかを測定する。2Dまたは3Dバウンディングボックスの入力は、静的世界についての内部の仮定を満たさない場面の動的部分を無視することができるので、動作からの構造構成要素320がその推定値を改善するのに役立つ。
【0036】
3D定位構成要素340は、推定されたカメラポーズとフレームごとの3Dバウンディングボックスとを統合して、時間の経過とともに一貫した洗練された3Dバウンディングボックスを予測する。
【0037】
トップビューマップ350は、上面から取得された場面の一貫した意味表現を生成する。トップビューマップ350は、マルチタスクCNN310からの複数の出力、すなわち、遮蔽推論された画素ごとの意味論および奥行き推定、ならびに3D定位構成要素340からの洗練された3Dバウンディングボックスを統合する。出力は、車線の数、道路配置のトポロジ、交差点までの距離、横断歩道および歩道の存在、ならびにいくつかのより多くの属性を含む、複雑な運転場面のパラメトリック表現である。また、場面配置と一致する物体インスタンス(3D定位構成要素340から与えられる)の定位も提供する。
【0038】
アプリケーション360に関して、トップビューマップ350によって与えられる意味的およびパラメトリックトップビュー表現は、その場面の有用な抽象化であり、多くの異なるアプリケーションに役立つことができる。それは閉塞領域についての理由であるので、1つの用途は盲点推論である。それは道路配置の計量的に正しい記述を含むため、別のアプリケーションは経路計画であることができる。これらは、トップビューマップ350の出力の上に構築される潜在的なアプリケーションの2つの例にすぎない。
【0039】
図4は、本発明の一実施形態による、
図3のマルチタスクCNN310をさらに示すブロック図である。
【0040】
マルチタスクCNN310は、共有特徴抽出構成要素410と、タスク固有CNN420と、訓練データ430とを含む。
【0041】
タスク固有CNN420は、2D物体検出構成要素421と、3D物体検出構成要素422と、奥行き推定構成要素423と、意味的セグメンテーション構成要素424と、遮蔽推論構成要素425とを含む。
【0042】
訓練データ430は、2D物体ボックス431、3D物体ボックス432、まばらな3Dポイント433および意味的画素434を含む。まばらな3Dポイントは、カメラとの距離も取得するカメラを基準とした3D空間の実点である。このようなまばらな3Dポイントは、典型的には、レーザスキャナ(Lidar)を用いて収集され、ネットワークが物体までの距離を推定するのに役立つ。
【0043】
上述のように、マルチタスクCNN310は、入力としてRGB画像を取り込み、(タスク固有CNN420のための)多数の出力を生成する。計算のボールパークは、全ての異なる出力に対して依然として共有される。共有特徴抽出構成要素410およびタスク固有CNN420は、訓練データ430で推定される必要があるいくつかのパラメータを有する1つの共同畳み込みニューラルネットワークとして実装される。
【0044】
共有特徴抽出部410は、畳み込みニューラルネットワーク(CNN)として表現されている。このCNNの特定のアーキテクチャは、入力画像に比例する空間次元の特徴マップを生成する限り、任意に選択することができる。このアーキテクチャは、利用可能な計算リソースに応じて適合させることができ、これにより、オフラインアプリケーションのための重く強い特徴表現、ならびにリアルタイムアプリケーションのためのより弱いがより軽い特徴表現が可能になる。
【0045】
タスク固有CNN420に関して、ブロック210からの共有特徴表現が与えられると、CNN420は、その上にいくつかのタスク固有サブCNNを適用する。これらのサブCNNは、共有特徴抽出構成要素410と比較して軽量であり、実行時間のほんの一部しか必要としない。これにより、システムの全体的な実行時間を大幅に増加させることなく、多数のタスクの出力を見積もることができる。一実施形態では、以下の出力が推定される。
【0046】
タスク固有CNN420の様々な構成要素が、本発明の1つまたは複数の実施形態に従って、ここで説明される。
【0047】
2D物体検出構成要素421の出力は、例えば、自動車、人、停車標識、交通信号などの物体カテゴリのあらかじめ定義されたセットのすべてのインスタンスの範囲を描写するバウンディングボックス(画像空間内の4つの座標、信頼スコア、およびカテゴリラベル)のリストである。
【0048】
3D物体検出構成要素422に関して、(2D物体検出構成要素421からの)2Dにおける各検出された物体について、システムは、実際の3D空間(例えば、メートルまたは他の何らかの単位で)においてその物体を囲む3Dバウンディングボックスを推定する。この推定値は、取得された場面を完全に理解するための重要な情報である、各物体の3D位置、向きおよび寸法を提供する。
【0049】
奥行き推定構成要素423は、入力画像内の各画素に距離(例えば、メートル単位または他の何らかの単位)を割り当てる。
【0050】
意味的セグメンテーション構成要素424は、入力画像内の各画素に、道路、歩道、建物、空、車、または人のような意味的なカテゴリを割り当てる。上述したリストは、限定的なものではない。カテゴリのセットは、2D物体検出構成要素421内のカテゴリのセットとは異なるが、いくつかの項目は等しい。重要なことは、意味的セグメンテーション構成要素424内のセットは、バウンディングボックス、例えば道路ではうまく描写できないカテゴリを含むことである。
【0051】
遮蔽推論構成要素425は、前景物体によって遮蔽されるすべての画素について、意味論および距離を推定する。意味的セグメンテーション構成要素424からのカテゴリのサブセットは、自動車、歩行者またはポールのような、場面を遮蔽することができる前景カテゴリとして定義される。上述したリストは、限定的なものではない。遮蔽推論構成要素425にも入力される意味的セグメンテーション構成要素424の出力において、これらのカテゴリに割り当てられたすべての画素は、遮蔽領域としてマークされる。遮蔽推論構成要素425は、(背景技術カテゴリのセットからの)カテゴリを、あたかもそれが遮蔽されていないかのように各遮蔽された領域に割り当てる。遮蔽推論構成要素425は、本質的に、遮蔽画素を取り囲むコンテキスト情報、ならびに遮蔽画素の意味的カテゴリを推定するために訓練データから自動的に学習された以前のものを活用している。同じことが、遮蔽された領域の距離についても起こる。重要なことに、他のすべての構成要素と同様に、遮蔽推論構成要素425は、共有特徴抽出構成要素410によって与えられる特徴表現に対してのみ機能し、また、システム全体にわずかな実行時間を追加するだけである。
【0052】
訓練データ430は、共有特徴抽出構成要素410およびタスク固有CNN420に関して説明した畳み込みニューラルネットワーク(CNN)のパラメータを推定するために必要である。再び、CNNは、エンド・ツー・エンドで訓練することができる、すなわち、上記で定義されたタスクのいずれかについて入力RGB画像およびグランドトゥルースデータを与えられる統一モデルである。データをより良く活用するために、一実施形態では、各入力画像がすべてのタスクについて注釈付けされるという限定的な仮定を行わない。一実施形態では、本発明者らは、画像が少なくとも1つのタスクについて注釈付けされることのみを必要とする。次に、1つ(または複数)のタスクに対する入力RGB画像およびグランドトゥルースデータが与えられると、訓練アルゴリズムは、この(これらの)タスクに関連するパラメータを更新する。共有特徴抽出構成要素410からの共有特徴表現は、常に関与することに留意されたい。これらの更新は、パラメータがすべてのタスクのいくつかの損失関数に従って収束するまで、すべての異なるタスクの画像およびグランドトゥルースを用いて繰り返される。本発明のマルチタスクCNNを訓練するために必要なグランドトゥルースデータは、2Dバウンディングボックス431、3Dバウンディングボックス432、(例えば、レーザスキャナからの)まばらな3Dポイント433、および各画素についての意味カテゴリ(意味的画素434)である。
【0053】
遮蔽推論構成要素425は、場面の遮蔽された領域についての注釈を必要とせず、これは費用がかかり、獲得するのが困難であることに留意することが重要である。
【0054】
図5は、本発明の一実施形態による、マルチタスク感知ネットワークのための例示的な方法500を示す流れ図である。方法500は、場面理解およびADASを含むアプリケーションに適用することができる。
【0055】
ブロック505において、マルチタスク畳み込みニューラルネットワーク(CNN)を使用して、複数の画像を含む入力映像ストリームから、異なる感知タスクにわたって共有される特徴を抽出し、異なる感知タスクは、2Dおよび3D物体検出、奥行き推定、意味的推定、および遮蔽推論のうちの少なくともいくつかを含む。
【0056】
ブロック510で、マルチタスクCNNを使用して、マルチタスクCNNのそれぞれの異なる分岐によって共有特徴の対応するものを同時に処理して、複数の異なる感知タスク出力を提供することによって、単一の経路で異なる感知タスクを同時に解決する。それぞれの異なる分岐の各々は、異なる感知タスクのそれぞれ1つに対応する。
【0057】
ブロック515では、異なるピクチャにわたって2Dおよび3Dバウンディングボックスを関連付けて、3次元物体追跡を取得する。
【0058】
ブロック520では、2Dおよび3Dバウンディングボックスを処理して、カメラポーズを判定する。
【0059】
ブロック525では、3次元物体追跡およびカメラポーズに応答する2Dおよび3Dバウンディングボックスによってカプセル化された物体を定位して、洗練された3D物体追跡を提供する。
【0060】
ブロック530において、複数の異なる感知タスク出力(例えば、意味的セグメンテーション、奥行き推定および遮蔽推論)のうちの少なくともいくつか、および洗練された3D物体追跡に応答して、少なくとも1つのトップビューマップとして、運転場面のパラメトリック表現を形成する。複数の異なる感知タスク出力の残りのものは、洗練された3D物体追跡を形成するために使用されたことに留意されたい。
【0061】
ブロック535では、差し迫っている衝突を示す少なくとも1つの上面図マップに応答する衝突回避のための車両の操作を制御する。
【0062】
図6は、本発明の一実施形態による、追跡物体検出に基づく例示的な高度な運転者支援システム(ADAS)600を示す。
【0063】
ADAS600は、ユーザ2688が、各々がそれ自体の位置および軌跡を有する複数の物体699を有する場面内に位置する環境601で使用される。ユーザ688は、車両672(例えば、車、トラック、オートバイなど)を操作している。
【0064】
ADAS600は、カメラシステム610を含む。
図2では、例示および簡潔さのために単一のカメラシステム610が示されているが、本発明の精神を維持しながら、複数のカメラシステムを使用することもできることを理解されたい。ADAS600は、本発明に従って物体検出を実行するように構成されたサーバ620をさらに含む。サーバ620は、プロセッサ621、メモリ622および無線トランシーバ623を含むことができる。リモートサーバ620のプロセッサ621およびメモリ622は、リモートサーバ620(の無線トランシーバ623)によってカメラシステム610から受信された画像に基づいて運転者支援機能を実行するように構成することができる。このようにして、ユーザ688および/または車両672によって是正措置をとることができる。
【0065】
ADAS600は、ユーザが操作している車両672の1つまたは複数のシステムを介してユーザとインターフェースすることができる。例えば、ADAS600は、車両672のシステム672A(例えば、ディスプレイシステム、スピーカシステム、および/または何らかの他のシステム)を介して、ユーザ情報(例えば、検出された物体、それらの位置、提案されたアクションなど)を提供することができる。さらに、ADAS 600は、車両を制御するために、または車両672に1つまたは複数の動作を実行させるために、(例えば、ステアリングシステム、ブレーキシステム、加速システム、ステアリングシステムなどを含むがこれらに限定されない車両672の1つまたは複数のシステムを介して)車両672自体とインターフェースすることができる。このようにして、ユーザまたは車両672自体は、これらの物体699の周りをナビゲートして、それらの間の潜在的な衝突を回避することができる。
【0066】
本明細書に記載する実施形態は、完全にハードウェアであってもよく、完全にソフトウェアであってもよく、または、ハードウェアおよびソフトウェア要素の両方を含むものであってもよい。好ましい実施形態では、本発明は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むが、これらに限定されないソフトウェアで実施される。
【0067】
実施形態は、コンピュータまたは任意の命令実行システムによって、またはそれに関連して使用するためのプログラムコードを提供する、コンピュータ使用可能またはコンピュータ可読媒体からアクセス可能なコンピュータプログラム製品を含むことができる。コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによって、またはそれに関連して使用するためのプログラムを格納、通信、伝搬、またはトランスポートする任意の装置を含むことができる。媒体は、磁気、光学、電子、電磁気、赤外線、または半導体システム(または装置またはデバイス)、または伝搬媒体とすることができる。媒体は、半導体または固体ステートメモリ、磁気テープ、リムーバブルコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、リジッド磁気ディスクおよび光ディスクなどのコンピュータ読み取り可能な記憶媒体を含むことができる。
【0068】
各コンピュータプログラムは、本明細書に記載する手順を実行するために、記憶媒体または装置がコンピュータによって読み取られるときに、コンピュータの操作を構成し制御するために、汎用または特殊目的のプログラム可能コンピュータによって読み取り可能な、機械読み取り可能な記憶媒体または装置(例えば、プログラムメモリまたは磁気ディスク)に実体的に記憶することができる。本発明のシステムはまた、コンピュータプログラムで構成された、コンピュータ読み取り可能な記憶媒体で実施されるものと考えることができ、その場合、構成された記憶媒体は、コンピュータを特定の所定の方法で動作させて、本明細書に記載する機能を実行させる。
【0069】
プログラムコードを記憶および/または実行するのに適したデータ処理システムは、システムバスを介してメモリ要素に直接的または間接的に結合された少なくとも1つのプロセッサを含んでもよい。メモリ要素は、プログラムコードの実際の実行中に採用されるローカルメモリ、バルクストレージ、および実行中にバルクストレージからコードが検索される回数を減らすために少なくとも何らかのプログラムコードの一時記憶を提供するキャッシュメモリを含むことができる。入力/出力またはI/O装置(キーボード、ディスプレイ、ポインティング装置などを含むが、これらに限定されない)は、直接または介在するI/Oコントローラを介してシステムに結合され得る。
【0070】
介在する専用ネットワークまたは公衆ネットワークを介して、データ処理システムを他のデータ処理システムあるいはリモートプリンタまたはストレージデバイスに結合できるようにするために、ネットワークアダプタをシステムに結合することもできる。モデム、ケーブルモデム、およびイーサネット(登録商標)カードは、現在使用可能なネットワークアダプタのタイプの一例に過ぎない。
【0071】
本明細書において、本発明の「一実施形態」又は「一実施形態」とは、その他の変形例と同様に、その実施形態に関連して説明した特定の特徴、構造、特性等が、本発明の少なくとも一実施形態に含まれることを意味するものであり、「一実施形態において」又は「一実施形態において」の語句の出現、並びに本明細書全体の様々な箇所に出現する他の変形例は、必ずしも全て同一の実施形態を意味するものではない。しかしながら、本明細書で提供される本発明の教示を前提として、1つまたは複数の実施形態の特徴を組み合わせることができることを理解されたい。
【0072】
以下の「/」、「および/または」、および「少なくとも1つ」、例えば、「A/B」、「Aおよび/またはB」、および「AおよびBの少なくとも1つ」のいずれかの使用は、第1のリストされた実施例(A)のみの選択、または第2のリストされた実施例(B)のみの選択、または両方の実施例(AおよびB)の選択を包含することが意図されることを理解されたい。さらなる例として、「A、B、および/またはC」、および「A、B、およびCの少なくとも1つ」の場合、このような句は、第1のリストされた実施例(A)のみの選択、または第2のリストされた実施例(B)のみの選択、または第3のリストされた実施例(C)のみの選択、または第1および第2のリストされた実施例(AおよびB)のみの選択、または 第1および第3のリストされた実施例(AおよびC)のみの選択、または第2および第3のリストされた実施例(BおよびC)のみの選択、または3つすべての実施例(AおよびBおよびC)の選択を包含することを意図する。これは、列挙された項目の数だけ拡張することができる。
【0073】
上記は、あらゆる点で例示的かつ例示的であるが、限定的ではないと理解されるべきであり、本明細書に開示される本発明の範囲は、詳細な説明からではなく、むしろ特許法によって許容される全範囲に従って解釈されるような特許請求の範囲から決定されるべきである。本明細書に示され、説明された実施形態は、本発明の例示にすぎず、当業者は、本発明の範囲および精神から逸脱することなく、様々な修正を実施することができることを理解されたい。当業者は、本発明の範囲および精神から逸脱することなく、様々な他の特徴の組み合わせを実施することができる。このように、本発明の態様を、特許法によって要求される詳細および特殊性と共に説明してきたが、特許状によって保護されることが請求され、望まれるものは、添付の特許請求の範囲に記載されている。