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

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

▶ エヌイーシー ラボラトリーズ アメリカ インクの特許一覧

<>
  • 特許-時制集約による単眼三次元物体定位 図1
  • 特許-時制集約による単眼三次元物体定位 図2
  • 特許-時制集約による単眼三次元物体定位 図3
  • 特許-時制集約による単眼三次元物体定位 図4
  • 特許-時制集約による単眼三次元物体定位 図5
  • 特許-時制集約による単眼三次元物体定位 図6
  • 特許-時制集約による単眼三次元物体定位 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-21
(45)【発行日】2024-01-04
(54)【発明の名称】時制集約による単眼三次元物体定位
(51)【国際特許分類】
   G06T 7/00 20170101AFI20231222BHJP
   G06T 7/215 20170101ALI20231222BHJP
   G06T 7/254 20170101ALI20231222BHJP
   G06V 10/82 20220101ALI20231222BHJP
   G06N 3/0442 20230101ALI20231222BHJP
   G06N 3/0464 20230101ALI20231222BHJP
【FI】
G06T7/00 C
G06T7/00 350C
G06T7/215
G06T7/254 A
G06V10/82
G06N3/0442
G06N3/0464
【請求項の数】 20
(21)【出願番号】P 2022578602
(86)(22)【出願日】2021-08-24
(65)【公表番号】
(43)【公表日】2023-07-25
(86)【国際出願番号】 US2021047294
(87)【国際公開番号】W WO2022046733
(87)【国際公開日】2022-03-03
【審査請求日】2022-12-26
(31)【優先権主張番号】63/072,428
(32)【優先日】2020-08-31
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/408,911
(32)【優先日】2021-08-23
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】504080663
【氏名又は名称】エヌイーシー ラボラトリーズ アメリカ インク
【氏名又は名称原語表記】NEC Laboratories America, Inc.
(74)【代理人】
【識別番号】100123788
【弁理士】
【氏名又は名称】宮崎 昭夫
(74)【代理人】
【識別番号】100127454
【弁理士】
【氏名又は名称】緒方 雅昭
(72)【発明者】
【氏名】ジ、 パン
(72)【発明者】
【氏名】リウ、 ブユ
(72)【発明者】
【氏名】ズオン、 ビンビン
(72)【発明者】
【氏名】チャンドラカー、 マンモハン
(72)【発明者】
【氏名】チェン、 シアンギュ
【審査官】堀井 啓明
(56)【参考文献】
【文献】特開2009-87326(JP,A)
【文献】特開2020-61144(JP,A)
【文献】特開2020-126394(JP,A)
【文献】米国特許出願公開第2019/0197709(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T7/00-7/90
G06V10/00-20/90
G06V30/418
G06V40/16
G06V40/20
G06N3/0442
G06N3/0464
(57)【特許請求の範囲】
【請求項1】
コンピュータに実装された、三次元(3D)物体定位のための方法であって、
連続する2つの入力単眼画像にオプティカルフローモデルを適用する共同物体検出機構によって、二次元(2D)バウンディングボックスの組であって、該組のそれぞれが、前記連続する2つの入力単眼画像のそれぞれにおいて検出された物体のそれぞれの1つに対応する組を予測するステップ(610)と、
幾何学的制約を使用して前記検出された物体のそれぞれについて、前記連続する2つの入力単眼画像間の相対的な動きを指定する相対的な動き推定を生成するステップ(620)と、
物体深度候補から前記物体深度候補の範囲と前記物体深度候補のそれぞれに対する信頼度スコアと物体深度とを予測するために、前記2Dバウンディングボックスの組と前記相対的な動き推定とを用いて、前記連続する2つの入力単眼画像から時間的特徴を集約して物体コストボリュームを構築するステップ(630)と、
改良された物体の動きと改良された物体深度とを提供するために、ゲート付き回帰型ユニット(GRU)の回帰型改良ループによって、前記物体コストボリュームと前記物体深度とに基づいて前記相対的な動き推定を更新するステップ(640)と、
前記改良された物体の動きと前記改良された物体深度とに基づいて、前記検出された物体のそれぞれについて、3D物体のサイズ、3D物体の位置、および物体のヨー角を予測する3Dバウンディングボックスを再構築するステップ(650)とを含む方法。
【請求項2】
請求項1に記載のコンピュータに実装された方法において、
前記予測するステップは、前記オプティカルフローモデルを用いて、前記連続する2つの入力単眼画像の現在のものから前のものへアンカーバウンディングボックス中心を変換し、前記連続する2つの入力単眼画像にわたって対応するアンカーを対にすることを含む方法。
【請求項3】
請求項2に記載のコンピュータに実装された方法において、
前記予測するステップは、与えられたアンカーが正か負かを決定するための共通アンカー分類器を構築するために、前記オプティカルフローモデルに基づく畳み込みニューラルネットワーク(CNN)特徴を連結することを含む方法。
【請求項4】
請求項1に記載のコンピュータに実装された方法において、
前記構築するステップは、
前記検出された物体のそれぞれについて再構成された前記3Dバウンディングボックスの深度範囲をあらかじめ定義するステップと
前記深度範囲を用いて一定数の可能な物体の深度値を列挙するステップとを含む方法。
【請求項5】
請求項1に記載のコンピュータに実装された方法において、
前記構築するステップは、前記連続する2つの入力単眼画像からの畳み込みニューラルネットワーク(CNN)特徴を連結して、コストボリュームテンソルを形成することを含む方法。
【請求項6】
請求項1に記載のコンピュータに実装された方法において、
前記改良された深度の予測は、深度信頼度スコアと深度値との加重和として計算される方法。
【請求項7】
請求項1に記載のコンピュータに実装された方法において、
前記改良された深度の予測は、ソフトargmin演算子を用いて計算される方法。
【請求項8】
請求項1に記載のコンピュータに実装された方法において、
前記GRUの前記回帰型改良ループは、前記改良された物体の動きと前記改良された物体深度とを反復的に改善する方法。
【請求項9】
請求項1に記載のコンピュータに実装された方法において、
前記検出された物体の少なくとも1つの3Dバウンディングボックスに基づいて、前記検出された物体の少なくとも1つとの衝突を回避するために車両の動きを制御することをさらに含む方法。
【請求項10】
三次元(3D)物体定位のためのコンピュータプログラム製品であって、該コンピュータプログラム製品は、プログラム命令をその中に具現化した非一時的コンピュータ可読記憶媒体を含み、該プログラム命令は、コンピュータに方法を実行させるためにコンピュータによって実行可能であることを特徴とするコンピュータプログラム製品であって、前記方法は、
連続する2つの入力単眼画像にオプティカルフローモデルを適用する共同物体検出機構を実装するハードウェアプロセッサによって、二次元(2D)バウンディングボックスの組であって、該組のそれぞれが、前記連続する2つの入力単眼画像のそれぞれにおいて検出された物体のそれぞれの1つに対応する組を予測するステップ(610)と、
前記ハードウェアプロセッサによって、幾何学的制約を使用して前記検出された物体のそれぞれについて、前記連続する2つの入力単眼画像間の相対的な動きを指定する相対的な動き推定を生成するステップ(620)と、
前記ハードウェアプロセッサによって、物体深度候補から前記物体深度候補の範囲と前記物体深度候補のそれぞれに対する信頼度スコアと物体深度とを予測するために、前記2Dバウンディングボックスの組と前記相対的な動き推定とを用いて、前記連続する2つの入力単眼画像から時間的特徴を集約して物体コストボリュームを構築するステップ(630)と、
改良された物体の動きと改良された物体深度とを提供するために、前記ハードウェアプロセッサを用いて形成されたゲート付き回帰型ユニット(GRU)の回帰型改良ループによって、前記物体コストボリュームと前記物体深度とに基づいて前記相対的な動き推定を更新するステップ(640)と、
前記ハードウェアプロセッサによって、前記改良された物体の動きと前記改良された物体深度とに基づいて、前記検出された物体のそれぞれについて、3D物体のサイズ、3D物体の位置、および物体のヨー角を予測する3Dバウンディングボックスを再構築するステップ(650)とを含むコンピュータプログラム製品。
【請求項11】
請求項10に記載のコンピュータプログラム製品において、
前記予測するステップは、前記オプティカルフローモデルを用いて、前記連続する2つの入力単眼画像の現在のものから前のものへアンカーバウンディングボックス中心を変換し、前記連続する2つの入力単眼画像にわたって対応するアンカーを対にすることを含むコンピュータプログラム製品。
【請求項12】
請求項11に記載のコンピュータプログラム製品において、
前記予測するステップは、与えられたアンカーが正か負かを決定するための共通アンカー分類器を構築するために、前記オプティカルフローモデルに基づく畳み込みニューラルネットワーク(CNN)特徴を連結することを含むコンピュータプログラム製品。
【請求項13】
請求項10に記載のコンピュータプログラム製品において、
前記構築するステップは、
前記検出された物体のそれぞれについて再構成された前記3Dバウンディングボックスの深度範囲をあらかじめ定義するステップと
前記深度範囲を用いて一定数の可能な物体の深度値を列挙するステップとを含むコンピュータプログラム製品。
【請求項14】
請求項10に記載のコンピュータプログラム製品において、
前記構築するステップは、前記連続する2つの入力単眼画像からの畳み込みニューラルネットワーク(CNN)特徴を連結して、コストボリュームテンソルを形成することを含むコンピュータプログラム製品。
【請求項15】
請求項10に記載のコンピュータプログラム製品において、
前記改良された深度の予測は、深度信頼度スコアと深度値との加重和として計算されるコンピュータプログラム製品。
【請求項16】
請求項10に記載のコンピュータプログラム製品において、
前記改良された深度の予測は、ソフトargmin演算子を用いて計算されるコンピュータプログラム製品。
【請求項17】
請求項10に記載のコンピュータプログラム製品において、
前記GRUの前記回帰型改良ループは、前記改良された物体の動きと前記改良された物体深度とを反復的に改善するコンピュータプログラム製品。
【請求項18】
請求項10に記載のコンピュータプログラム製品において、
前記方法は、前記検出された物体の少なくとも1つの3Dバウンディングボックスに基づいて、前記検出された物体の少なくとも1つとの衝突を回避するために車両の動きを制御することをさらに含むコンピュータプログラム製品。
【請求項19】
三次元(3D)物体定位のためのコンピュータ処理システムであって、
プログラムコードを格納するためのメモリ装置(140)と、
前記メモリ装置に動作可能に結合され、前記プログラムコードを実行するハードウェアプロセッサ(110)とを有し、前記プログラムコードは、
連続する2つの入力単眼画像にオプティカルフローモデルを適用する共同物体検出機構を用いて、二次元(2D)バウンディングボックスの組であって、該組のそれぞれが、前記連続する2つの入力単眼画像のそれぞれにおいて検出された物体のそれぞれの1つに対応する組を予測し、
幾何学的制約を使用して前記検出された物体のそれぞれについて、前記連続する2つの入力単眼画像間の相対的な動きを指定する相対的な動き推定を生成し、
物体深度候補から前記物体深度候補の範囲と前記物体深度候補のそれぞれに対する信頼度スコアと物体深度とを予測するために、前記2Dバウンディングボックスの組と前記相対的な動き推定とを用いて、前記連続する2つの入力単眼画像から時間的特徴を集約して物体コストボリュームを構築し、
改良された物体の動きと改良された物体深度とを提供するために、ゲート付き回帰型ユニット(GRU)の回帰型改良ループを用いて、前記物体コストボリュームと前記物体深度とに基づいて前記相対的な動き推定を更新し、
前記改良された物体の動きと前記改良された物体深度とに基づいて、前記検出された物体のそれぞれについて、3D物体のサイズ、3D物体の位置、および物体のヨー角を予測する3Dバウンディングボックスを再構築するためのプログラムコードであるコンピュータ処理システム。
【請求項20】
請求項19に記載のコンピュータ処理システムにおいて、
前記改良された深度の予測は、深度信頼度スコアと深度値との加重和として計算されるコンピュータ処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願情報
本出願は、2021年8月23日に出願された米国特許出願第17/408,911号および2020年8月31日に出願された米国仮特許出願第63/072,428号(いずれも参照によりその全体が本明細書に組み込まれる)の優先権を主張するものである。
【背景技術】
【0002】
本発明は、物体定位に関し、より詳細には、時制集約による単眼物体定位に関する。
関連技術の説明
【0003】
3D空間における物体の定位は、自動運転、ロボット操作、拡張現実など、数多くの実世界での応用があるため、重要な問題である。既存の3D物体定位の多くは、1枚の単眼画像を入力として、3Dターゲットを回帰するものである。しかし、1枚の画像からの距離推定は非論理的であることが知られており、これらの単眼法の性能は、ステレオ画像やLiDARの点を用いた方法よりもはるかに劣っている。その他にも時間情報を利用する方法がいくつかあるが、それらは3D物体定位精度の向上よりも、3D物体追跡に重点を置いている。
【発明の概要】
【0004】
本発明の態様によれば、三次元(3D)物体定位のためにコンピュータに実装された方法が提供される。この方法は、連続する2つの入力単眼画像にオプティカルフローモデルを適用する共同物体検出機構によって、二次元(2D)バウンディングボックスの組を予測することを含む。それぞれの組は、前記連続する2つの入力単眼画像のそれぞれにおいて検出された物体のそれぞれの1つに対応する。この方法は、幾何学的制約を使用して前記検出された物体のそれぞれについて、前記連続する2つの入力単眼画像間の相対的な動きを指定する相対的な動き推定を生成することをさらに含む。この方法は、物体深度候補から前記物体深度候補の範囲と前記物体深度候補のそれぞれに対する信頼度スコアと物体深度とを予測するために、前記2Dバウンディングボックスの組と前記相対的な動き推定とを用いて、前記連続する2つの入力単眼画像から時間的特徴を集約して物体コストボリュームを構築することをさらに含む。この方法は、改良された物体の動きと改良された物体深度とを提供するために、ゲート付き回帰型ユニット(GRU)の回帰型改良ループによって、前記物体コストボリュームと前記物体深度とに基づいて前記相対的な動き推定を更新することをさらに含む。この方法は、前記改良された物体の動きと前記改良された物体深度とに基づいて、前記検出された物体のそれぞれについて、3D物体のサイズ、3D物体の位置、および物体のヨー角を予測する3Dバウンディングボックスを再構築することをさらに含む。
【0005】
本発明の他の態様によれば、三次元(3D)物体定位のためのコンピュータプログラム製品が提供される。コンピュータプログラム製品は、プログラム命令をその中に具現化した非一時的コンピュータ可読記憶媒体を含む。プログラム命令は、コンピュータにある方法を実行させるために、コンピュータによって実行可能である。この方法は、連続する2つの入力単眼画像にオプティカルフローモデルを適用する共同物体検出機構を実装するハードウェアプロセッサによって、二次元(2D)バウンディングボックスの組を予測することを含む。それぞれの組は、前記連続する2つの入力単眼画像のそれぞれにおいて検出された物体のそれぞれの1つに対応する。この方法は、前記ハードウェアプロセッサによって、幾何学的制約を使用して前記検出された物体のそれぞれについて、前記連続する2つの入力単眼画像間の相対的な動きを指定する相対的な動き推定を生成することをさらに含む。この方法は、前記ハードウェアプロセッサによって、物体深度候補から前記物体深度候補の範囲と前記物体深度候補のそれぞれに対する信頼度スコアと物体深度とを予測するために、前記2Dバウンディングボックスの組と前記相対的な動き推定とを用いて、前記連続する2つの入力単眼画像から時間的特徴を集約して物体コストボリュームを構築することをさらに含む。この方法は、改良された物体の動きと改良された物体深度とを提供するために、前記ハードウェアプロセッサを用いて形成されたゲート付き回帰型ユニット(GRU)の回帰型改良ループによって、前記物体コストボリュームと前記物体深度とに基づいて前記相対的な動き推定を更新することをさらに含む。この方法は、前記ハードウェアプロセッサによって、前記改良された物体の動きと前記改良された物体深度とに基づいて、前記検出された物体のそれぞれについて、3D物体のサイズ、3D物体の位置、および物体のヨー角を予測する3Dバウンディングボックスを再構築することをさらに含む。
【0006】
本発明のさらに他の態様によれば、三次元(3D)物体定位のためのコンピュータ処理システムが提供される。このコンピュータ処理システムは、プログラムコードを格納するためのメモリ装置を含む。このコンピュータ処理システムは、連続する2つの入力単眼画像にオプティカルフローモデルを適用する共同物体検出機構を用いて、二次元(2D)バウンディングボックスの組を予測するプログラムコードを実行するために、前記メモリ装置に動作可能に結合されたハードウェアプロセッサをさらに含む。それぞれの組は、前記連続する2つの入力単眼画像のそれぞれにおいて検出された物体のそれぞれの1つに対応する。ハードウェアプロセッサは、さらに、幾何学的制約を使用して前記検出された物体のそれぞれについて、前記連続する2つの入力単眼画像間の相対的な動きを指定する相対的な動き推定を生成するプログラムコードを実行する。また、ハードウェアプロセッサは、さらに、物体深度候補から前記物体深度候補の範囲と前記物体深度候補のそれぞれに対する信頼度スコアと物体深度とを予測するために、前記2Dバウンディングボックスの組と前記相対的な動き推定とを用いて、前記連続する2つの入力単眼画像から時間的特徴を集約して物体コストボリュームを構築するプログラムコードを実行する。ハードウェアプロセッサは、さらに、改良された物体の動きと改良された物体深度とを提供するために、ゲート付き回帰型ユニット(GRU)の回帰型改良ループを用いて、前記物体コストボリュームと前記物体深度とに基づいて前記相対的な動き推定を更新するプログラムコードを実行する。ハードウェアプロセッサは、さらに、前記改良された物体の動きと前記改良された物体深度とに基づいて、前記検出された物体のそれぞれについて、3D物体のサイズ、3D物体の位置、および物体のヨー角を予測する3Dバウンディングボックスを再構築するプログラムコードを実行する。
【0007】
これらおよび他の特徴および利点は、添付の図面と関連して読まれる、その例示的な実施形態の以下の詳細な説明から明らかになるであろう。
【図面の簡単な説明】
【0008】
本開示は、以下の図を参照して、好ましい実施形態の以下の説明において詳細を提供する。
【0009】
図1】本発明の一実施形態に係る例示的な演算装置を示すブロック図である。
【0010】
図2】本発明の実施形態に係る3D物体定位のための例示的なシステムパイプラインを示すブロック図である。
【0011】
図3】本発明の一実施形態に係る3D物体定位のための例示的なフレームワークを示すブロック図である。
【0012】
図4】本発明の実施形態に係る例示的な共同物体提案機構を示すブロック図である。
【0013】
図5】本発明の実施形態による、例示的な物体コストボリュームを示すブロック図である。
【0014】
図6】本発明の実施形態による三次元(3D)物体定位の例示的な方法を示すフロー図である。
図7】本発明の実施形態による三次元(3D)物体定位の例示的な方法を示すフロー図である。
【発明を実施するための形態】
【0015】
本発明の実施形態は、時制集約による単眼物体定位を対象とする。
【0016】
本発明の実施形態は、単眼画像を用いた3D物体定位の問題に取り組む。具体的には、本発明の実施形態は、連続する2つ以上の単眼画像から、3D物体サイズ(幅w,高さh,長さl)、3D物体位置(x,y,z)および物体ヨー角(α)を予測することが可能である。一般性を損なうことなく、本発明は連続した2枚の画像を入力として説明するが、他の実施形態では2枚以上の画像を使用することも可能である。
【0017】
本発明の実施形態は、単眼画像における時間情報および動き情報を十分に活用し、正確な3D物体定位を実現する。そこで、まず、連続する2つのフレームの2Dバウンディングボックスの組を同時に予測する新しい共同物体提案機構を提案する。2Dバウンディングボックスの組が与えられると、幾何学的制約を用いてその相対的な動きを推定する。さらに、相対的な動きにより、深度候補の範囲にわたってマッチングコストを構築し、各候補の信頼度スコアを予測する、新しい物体コストボリュームモジュールを構築することを提案する。最後に、物体コストボリュームから各3D物体の深度予測を改良することで、3D物体定位が改善される。
【0018】
本発明の実施形態は、以下の2つの主要部分、すなわち、(i)2D物体検出のための新しい共同物体提案機構、および(ii)3D物体距離推定のための新しい物体コストボリュームモジュールを含むと考えることができる。
【0019】
提案する共同物体機構は、連続する2つのフレームに対する2Dバウンディングボックスの組を同時に生成することを目的としており、したがって、従来の方法における物体の関連付け/追跡のステップを回避する。連続した2枚の画像が与えられたら、まず、事前に学習したフローモデルを用いて、それらのオプティカルフローを計算する。次に、オプティカルフローを用いて、現在のフレームのアンカーバウンディングボックスを前のフレームに変換し、2つのフレームのアンカーが対になるようにする。対応するCNN(Convolutional Neural Network)の特徴(オプティカルフローによる)を連結し、共通アンカー分類器(1つのアンカーが正か負かを判断する)を構築する。対となったアンカーと連結された特徴とにより、対となったアンカーに関連付けられた2D物体バウンディングボックスの提案が組で生成されるという意味で、共同物体提案が実現される。
【0020】
連続するフレームに3Dバウンディングボックスの組がある場合、幾何学的制約を使用してそれらの相対的な動きを推定することができる。その後、提案する物体コストボリュームを構築することで、正確な物体距離を予測することができる。具体的には、まず3Dバウンディングボックスの深度範囲(例えば0-80m)をあらかじめ設定し、その範囲内で一定数の深度値の可能性を列挙しておく。ネットワークで予測された3Dターゲット(3D寸法、ヨー角)と各深度値があれば、現在のフレームと現在の画像平面上で計算された投影2Dボックスとに対して3Dバウンディングボックスを構築することができる。相対的な動きにより、現フレームの3Dバウンディングボックスを前フレームの座標系に変換し、前画像に投影することで2Dボックスを得ることができる。物体コストボリュームを構築するために、CNNの特徴は、現在の画像と前の画像との対応する投影された2Dボックスを使用してプールされ、コストボリュームのテンソルを形成するために結合される。一連のCNN層を適用した後、コストボリュームは深度候補の信頼度スコアのセットに変換される。最終的な深度の予測は信頼度スコアと深度値との加重和として計算され、これは本質的にソフトargmin演算子である。
【0021】
本発明の実施形態では、CNNは、2Dターゲット(2Dバウンディングボックス)および3Dターゲット(3Dサイズ、ヨー角、深度)をL-l個の損失で予測するように訓練される。
【0022】
図1は、本発明の一実施形態に係る例示的な演算装置100を示すブロック図である。演算装置100は、時制集約によって単眼3D物体定位を行うように構成されている。
【0023】
演算装置100は、限定されないが、コンピュータ、サーバ、ラックベースのサーバ、ブレードサーバ、ワークステーション、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、モバイル演算装置、ウェアラブル演算装置、ネットワーク機器、ウェブ機器、分散演算システム、プロセッサベースのシステム、および/または利用者電子装置など、本書に記載される機能を実行できる任意のタイプの計算またはコンピュータ装置として具現化することができる。さらにまたは代替的に、演算装置100は、1つまたは複数のコンピュートスレッド、メモリスレッド、または他のラック、スレッド、演算シャーシ、または物理的に分解された演算装置の他の構成要素として具現化されてもよい。図1に示すように、演算装置100は、例示的に、プロセッサ110、入力/出力サブシステム120、メモリ130、データ記憶装置140、および通信サブシステム150、および/またはサーバまたは同様の演算装置に一般的に見られる他の構成要素およびデバイスを含んでいる。もちろん、演算装置100は、他の実施形態において、サーバコンピュータに一般的に見られるような他のまたは追加の構成要素(例えば、様々な入力/出力デバイス)を含んでもよい。さらに、いくつかの実施形態では、例示的な構成要素の1つ以上が、別の構成要素に組み込まれるか、さもなければ、別の構成要素の一部を形成することができる。例えば、メモリ130、またはその一部は、いくつかの実施形態において、プロセッサ110に組み込まれてもよい。
【0024】
プロセッサ110は、本明細書に記載された機能を実行することができる任意のタイプのプロセッサとして具現化することができる。プロセッサ110は、シングルプロセッサ、マルチプロセッサ、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、シングルまたはマルチコアプロセッサ、デジタル信号プロセッサ、マイクロコントローラ、またはその他のプロセッサやプロセスシング/制御回路として具現化されてもよい。
【0025】
メモリ130は、本明細書に記載された機能を実行することができる任意のタイプの揮発性または不揮発性メモリまたはデータストレージとして具現化され得る。動作中、メモリ130は、オペレーティングシステム、アプリケーション、プログラム、ライブラリ、およびドライバなど、演算装置100の動作中に使用される様々なデータおよびソフトウェアを格納することができる。メモリ130は、I/Oサブシステム120を介してプロセッサ110と通信可能に結合され、プロセッサ110メモリ130、および演算装置100の他の構成要素との入出力動作を容易にするための回路および/または構成要素として具現化され得る。例えば、I/Oサブシステム120は、メモリコントローラハブ、入力/出力制御ハブ、プラットフォームコントローラハブ、集積制御回路、ファームウェアデバイス、通信リンク(例えば、ポイントツーポイントリンク、バスリンク、ワイヤ、ケーブル、ライトガイド、プリント回路基板トレースなど)および/または、入力/出力操作を容易にするための他の構成要素およびサブシステムとして具現化されてもよく、さもなければ、これらを含んでいても良い。いくつかの実施形態では、I/Oサブシステム120は、システムオンチップ(SOC)の一部を形成し、プロセッサ110、メモリ130、および演算装置100の他の構成要素と共に、単一の集積回路チップに組み込まれてもよい。
【0026】
データ記憶装置140は、例えば、メモリ装置および回路、メモリカード、ハードディスクドライブ、ソリッドステートドライブ、または他のデータ記憶装置など、データの短期または長期記憶用に構成された任意のタイプの装置またはデバイスとして具現化することができる。データ記憶装置140は、時制集約によって単眼3D物体定位を行うためのプログラムコードを格納することができる。演算装置100の通信サブシステム150は、ネットワークを介して演算装置100と他のリモート装置との間の通信を可能にすることができる、任意のネットワークインターフェースコントローラまたは他の通信回路、装置、またはその集合体として具現されることができる。通信サブシステム150は、任意の1つ以上の通信技術(例えば、有線または無線通信)および関連するプロトコル(例えば、イーサネット、InfiniBand(登録商標)、Bluetooth(登録商標)、Wi-Fi(登録商標)、WiMAXなど)を使用してそのような通信を実現するように構成され得る。
【0027】
図示のように、演算装置100は、1つ以上の周辺装置160も含むことができる。周辺装置160は、任意の数の追加の入出力装置、インタフェース装置、および/または他の周辺装置を含んでもよい。 例えば、いくつかの実施形態では、周辺装置160は、ディスプレイ、タッチスクリーン、グラフィック回路、キーボード、マウス、スピーカシステム、マイク、ネットワークインターフェース、および/または他の入力/出力装置、インタフェース装置、および/または周辺装置を含むことができる。
【0028】
もちろん、演算装置100は、当業者が容易に思いつくように、他の要素(図示せず)を含むこともでき、また、特定の要素を省略することもできる。例えば、様々な他の入力装置および/または出力装置は、当業者によって容易に理解されるように、同じものの特定の実装に依存して、演算装置100に含まれることが可能である。例えば、様々なタイプの無線および/または有線の入力および/または出力装置を使用することができる。さらに、プロセッサ、コントローラ、メモリなどを追加して、様々な構成で利用することも可能である。処理システム100のこれらおよび他の変形例は、本明細書に提供される本発明の教示を考慮すれば、当業者によって容易に企図されるものである。
【0029】
本明細書で採用するように、「ハードウェアプロセッササブシステム」または「ハードウェアプロセッサ」という用語は、1つ以上の特定のタスクを実行するために協働するプロセッサ、メモリ(RAM、キャッシュなどを含む)、ソフトウェア(メモリ管理ソフトウェアを含む)またはそれらの組合せを指す場合がある。有用な実施形態では、ハードウェアプロセッササブシステムは、1つ以上のデータ処理要素(例えば、論理回路、処理回路、命令実行装置など)を含むことができる。1つ以上のデータ処理要素は、中央処理ユニット、グラフィックス処理ユニット、および/または別個のプロセッサもしくは演算要素ベースのコントローラ(例えば、論理ゲート等)に含まれることが可能である。ハードウェアプロセッササブシステムは、1つ以上のオンボードメモリ(例えば、キャッシュ、専用メモリアレイ、読み取り専用メモリなど)を含むことができる。いくつかの実施形態では、ハードウェアプロセッササブシステムは、オンボードまたはオフボードであり得る、またはハードウェアプロセッササブシステムによる使用のために専用であり得る1つ以上のメモリ(例えば、ROM、RAM、基本入出力システム(BIOS)等)を含むことが可能である。
【0030】
いくつかの実施形態では、ハードウェアプロセッササブシステムは、1つ以上のソフトウェア要素を含み、実行することができる。1つ以上のソフトウェア要素は、オペレーティングシステムおよび/または1つ以上のアプリケーションおよび/または特定の結果を達成するための特定のコードを含むことができる。
【0031】
他の実施形態では、ハードウェアプロセッササブシステムは、指定された結果を達成するために1つ以上の電子処理機能を実行する、専用の特殊な回路を含むことができる。このような回路は、1つ以上の特定用途向け集積回路(ASIC)、FPGA、および/またはPLAを含むことができる。
【0032】
ハードウェアプロセッササブシステムのこれらおよび他の変形例も、本発明の実施形態に従って企図される。
【0033】
図2は、本発明の実施形態による、3D物体定位のための例示的なシステムパイプライン200を示すブロック図である。
【0034】
実施形態において、3D物体定位の方法は2つのステップを含む:単眼画像のシーケンスが与えられると、2D物体検出が最初に画像上で実行されて2Dバウンディングボックス210が得られ、その後、3Dバウンディングボックス寸法(w,h,l)、3D物体の位置(x,y,z)、物体のヨー角(α)を含む3Dターゲットを回帰して2Dバウンディングボックスが3Dバウンディングボックス220へ引き上げられる。
【0035】
図3は、本発明の実施形態による、3D物体定位のための例示的なフレームワーク300を示すブロック図である。
【0036】
フレームワーク300は、連続する2枚の画像を入力とし、検出された物体の3Dポーズ(バウンディングボックス)を予測する。共同物体提案機構310は、連続する2つの画像から2Dバウンディングボックスの組を予測するために使用される。検出された各物体について、次に、2つの画像間でその相対的な動きが推定320され、それを用いて前の画像から時間的特徴を集約し、物体コストボリューム330を構築する。物体コストボリューム330は、物体の深度を改良するのに役立ち、それに伴い、動き推定を更新することができる。ゲート付き回帰型ユニット(GRU)の使用により、回帰型改良ループ340が形成され、物体の動きと深度とを繰り返し改善し、一方でエンドツーエンドの訓練を容易にする。
【0037】
図4は、本発明の実施形態に係る例示的な共同物体提案機構400を示すブロック図である。
【0038】
連続する2つの画像が与えられると、それらのオプティカルフローは、まず、事前に訓練されたフローモデルを用いて計算される。次に、オプティカルフロー470は、現在のフレーム(画像i)のボックス提案415としてのk個のアンカーボックス410のアンカーバウンディングボックス中心410Aを、前のフレーム(画像i-1)のボックス提案425としてのk個のアンカーボックス420のアンカーバウンディングボックス中心420Aに変換して、2つの画像のアンカー410および420が一緒に組になるようにするために使用する。これは、画像i-1用の畳み込み特徴マップ481と、画像i用の畳み込み特徴マップ482とを用いて行われる。また、対応するCNN特徴(オプティカルフローによる)を連結440して共通アンカー分類器450を構築する(1つのアンカーが正か負かを判断する)。対となるアンカーと共通アンカー分類器450とにより、対となるアンカーに関連する2D物体のバウンディングボックス提案が組で生成されるという意味で、共同物体提案が実現される。
【0039】
図5は、本発明の実施形態に係る例示的な物体コストボリューム500を示すブロック図である。
【0040】
3Dバウンディングボックスの深度範囲(例えば、0-80m)がまずあらかじめ定義され、その範囲内で一定数の可能な深度値が列挙される。ネットワークで予測された3Dターゲット(3D寸法、ヨー角)と各深度値があれば、現在のフレームと現在の画像平面上で計算された投影2Dボックスとに対して3Dバウンディングボックスを構築することができる。相対的な動きと異なる深度の3Dポーズ候補510とで、現フレーム522の3Dバウンディングボックスを前フレーム521の座標系に変換して前画像に投影し、2Dボックスを得ることができる。物体コストボリュームを構築するために、CNN特徴は、現在の画像522および前の画像521上の対応する投影2Dボックス522Aおよび521Aを用いてプールされ、コストボリュームテンソル530を形成するためにチャネル次元に沿って連結される。その後、一連のCNN層がコストボリュームテンソルに適用され、最後の畳み込み層の後にチャンネル次元が1つに縮退される。その後、深度列挙に沿ってソフトマックス演算子を適用し、本質的にコストボリューム530を深度候補540の信頼度スコアの集合に変える。最終的な深度予測は信頼度スコアと深度値との加重和として計算され、これは本質的にソフトargmin演算子である。
【0041】
図6および図7は、本発明の実施形態による三次元(3D)物体定位のための例示的な方法600を示すフロー図である。
【0042】
ブロック610において、連続する2つの入力単眼画像にオプティカルフローモデルを適用する共同物体検出機構によって、二次元(2D)バウンディングボックスの組を予測する。それぞれの組は、連続する2つの入力単眼画像それぞれで検出された物体のそれぞれ1つに対応する。
【0043】
実施形態において、ブロック610は、ブロック610Aと610Bとの1つ以上を含むことができる。
【0044】
ブロック610Aにおいて、オプティカルフローモデルを使用して、連続する2つの入力単眼画像の現在のものから前のものへのアンカーバウンディングボックス中心を、連続する2つの入力単眼画像にわたって対応するアンカーを対にするように変換する。
【0045】
ブロック610Bで、与えられたアンカーが正か負かを決定するための共通アンカー分類器を構築するために、オプティカルフローモデルに基づく畳み込みニューラルネットワーク(CNN)特徴を連結する。
【0046】
ブロック620で、幾何学的制約を使用して検出された物体のそれぞれについて、連続する2つの入力単眼画像間の相対的な動きを指定する相対的な動き推定を生成する。
【0047】
ブロック630において、物体深度候補から物体深度候補の範囲と物体深度候補のそれぞれに対する信頼度スコアと物体深度とを予測するために、2Dバウンディングボックスの組と相対的な動き推定とを用いて、連続する2つの入力単眼画像から時間特徴を集約して、物体コストボリュームを構築する。
【0048】
実施形態において、ブロック630は、ブロック630Aと630Bとの1つ以上を含むことができる。
【0049】
ブロック630Aで、検出された物体のそれぞれについて再構成された3Dバウンディングボックスの深度範囲をあらかじめ定義し、深度範囲を用いて一定数の可能な物体深度値を列挙する。
【0050】
ブロック630Bで、連続する2つの入力単眼画像からの畳み込みニューラルネットワーク(CNN)特徴を連結して、コストボリュームテンソルを形成する。
【0051】
ブロック640で、ゲート付き回帰型ユニット(GRU)の回帰型改良ループによって、物体コストボリュームと物体深度に基づいて相対的な動き推定を更新し、改良された物体の動きと改良された物体深度とを提供する。一実施形態では、改良された深度の予測は、深度信頼度スコアと深度値との加重和として計算されることが可能である。一実施形態では、改良された深度の予測は、ソフトargmin演算子を用いて計算することができる。
【0052】
ブロック650において、改良された物体の動きと改良された物体深度とに基づいて、検出された物体のそれぞれについて3Dバウンディングボックスを再構築する。3Dバウンディングボックスは、3D物体のサイズ、3D物体の位置、および物体のヨー角を予測する。
【0053】
ブロック660において、検出された物体の少なくとも1つとの衝突を回避するために、検出された物体の少なくとも1つの3Dバウンディングボックスに基づいて車両の動きを制御するように車両システム(例えば、ブレーキ、加速、ステアリングなど)を制御する。
【0054】
本発明は、任意の可能な技術的詳細レベルの統合において、システム、方法、および/またはコンピュータプログラム製品であってもよい。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読記憶媒体(または媒体)を含んでも良い。
【0055】
コンピュータ可読記憶媒体は、命令実行装置によって使用するための命令を保持し、格納することができる有形の装置とすることができる。コンピュータ可読記憶媒体は、例えば、電子記憶装置、磁気記憶装置、光学記憶装置、電磁気記憶装置、半導体記憶装置、またはこれらの任意の適切な組み合わせであっても良いが、これらに限定されるものではない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには、以下のものが含まれる。携帯用コンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュメモリ)、静的ランダムアクセスメモリ(SRAM)、携帯用コンパクトディスク読み取り専用メモリ(CD-ROM)、デジタル多機能ディスク(DVD)、メモリスティック、フロッピーディスク、パンチカードまたはそこに記録した命令を持つ溝の盛り上げ構造などの機械的にコード化したデバイスおよび前述の任意の適した組み合わせがある。本明細書で使用するコンピュータ可読記憶媒体は、電波または他の自由に伝播する電磁波、導波管または他の伝送媒体(例えば、光ファイバケーブルを通過する光パルス)を伝播する電磁波、またはワイヤを通過する電気信号などの一過性の信号そのものであると解釈されるものではない。
【0056】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれの演算/処理装置に、またはネットワーク、例えばインターネット、ローカルエリアネットワーク、ワイドエリアネットワークおよび/または無線ネットワークを介して外部コンピュータまたは外部記憶装置にダウンロードすることが可能である。ネットワークは、銅線伝送ケーブル、光伝送ファイバ、無線伝送、ルーター、ファイアウォール、スイッチ、ゲートウェイコンピュータおよび/またはエッジサーバなどで構成される。各演算/処理装置内のネットワークアダプタカードまたはネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれの演算/処理装置内のコンピュータ可読記憶媒体に格納するためにコンピュータ可読プログラム命令を転送する。
【0057】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSMALLTALK(登録商標)、C++などのオブジェクト指向プログラミング言語、「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語などの1以上のプログラミング言語の任意の組み合わせで書かれたソースコードまたはオブジェクトコードのいずれであってもよい。コンピュータ可読プログラム命令は、利用者のコンピュータで完全に実行してもよいし、利用者のコンピュータの一部で、スタンドアロンのソフトウェアパッケージとして実行してもよいし、利用者のコンピュータの一部とリモートコンピュータの一部、またはリモートコンピュータやサーバで完全に実行してもよい。後者の場合、リモートコンピュータは、ローカルエリアネットワーク(LAN)やワイドエリアネットワーク(WAN)などの任意のタイプのネットワークを介して利用者のコンピュータに接続されてもよく、接続は外部のコンピュータに(例えば、インターネットサービスプロバイダを使用してインターネットを介して)行われることができる。いくつかの実施形態では、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む電子回路は、本発明の側面を実行するために、コンピュータ可読プログラム命令の状態情報を利用して、電子回路を個人化し、コンピュータ可読プログラム命令を実行しても良い。
【0058】
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータプログラム製品のフローチャート図および/またはブロック図を参照して、本明細書で説明される。フローチャート図および/またはブロック図の各ブロック、並びにフローチャート図および/またはブロック図のブロックの組み合わせは、コンピュータ可読プログラム命令によって実施できることが理解されるであろう。
【0059】
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、特殊目的コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されて、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートおよび/またはブロック図のブロックまたはブロックに指定された機能/動作を実施する手段を作り出すように、機械を製造することができる。これらのコンピュータ可読プログラム命令は、コンピュータ、プログラム可能なデータ処理装置、および/または他の装置に特定の方法で機能するように指示することができるコンピュータ可読記憶媒体に格納されることもでき、その中に格納された命令を有するコンピュータ可読記憶媒体は、フローチャートおよび/またはブロック図のブロックまたはブロックにおいて指定される機能/動作の側面を実装する命令を含む製造物品からなるように、そのような命令もまた、コンピュータ可読記憶媒体の中に格納されても良い。
【0060】
コンピュータ可読プログラム命令は、コンピュータ、他のプログラム可能なデータ処理装置、または他の装置にロードして、コンピュータ実装プロセスを生成するために、コンピュータ、他のプログラム可能な装置、または他の装置上で実行される命令が、フローチャートおよび/またはブロック図のブロックまたはブロックに指定される機能/動作を実装するように、一連の操作ステップを実行させることもできる。
【0061】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータプログラム製品の可能な実装のアーキテクチャ、機能性、および動作を示す。この点で、フローチャートまたはブロック図の各ブロックは、指定された論理機能を実行するための1つまたは複数の実行可能な命令からなる、命令のモジュール、セグメント、または部分を表すことができる。いくつかの代替的な実装では、ブロックに記された機能は、図に記された順序とは無関係に発生することがある。例えば、連続して表示される2つのブロックは、実際には実質的に同時に実行される場合もあれば、機能によっては逆の順序で実行される場合もある。また、ブロック図および/またはフローチャート図の各ブロック、およびブロック図および/またはフローチャート図のブロックの組み合わせは、特定の機能または動作を実行する、または特別な目的のハードウェアとコンピュータ命令との組み合わせを実行する特別な目的のハードウェア-ベースのシステムによって実装できることに注目されるであろう。
【0062】
明細書において、本発明の「一実施形態」または「一実施形態」、およびその他の変形例への言及は、実施形態に関連して説明した特定の特徴、構造、特性などが、本発明の少なくとも一実施形態に含まれることを意味する。したがって、本明細書中の各所に現れる「一実施形態において」または「一実施形態において」という表現、および他の任意の変形は、必ずしもすべてが同じ実施形態を指すとは限らない。
【0063】
例えば「A/B」の場合、「Aおよび/またはB」、「AとBとの少なくとも1つ」のような、以下の「/」、「および/または」、「少なくとも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)の選択を包含すると意図されている。このことは、本技術および関連技術分野の通常の知識を有する者が容易に理解できるように、記載された項目の数だけ拡張することができる。
【0064】
上記は、あらゆる点で例示的かつ例示的であるが、制限的なものではないと理解され、ここに開示された発明の範囲は、詳細な説明からではなく、特許法によって許される全幅に従って解釈された請求項から決定されるものである。本明細書に示され説明された実施形態は、本発明の例示に過ぎず、当業者は、本発明の範囲及び精神から逸脱することなく、様々な修正を実施することができることを理解されたい。当業者であれば、本発明の範囲と精神から逸脱することなく、様々な他の特徴の組み合わせを実施することができる。このように、特許法が要求する詳細さと特殊性をもって本発明の側面を説明したが、特許状によって請求され、保護されることを望むものは、添付の特許請求の範囲に記載されているとおりである。
図1
図2
図3
図4
図5
図6
図7