(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-13
(45)【発行日】2022-07-22
(54)【発明の名称】多段画像ベースの物体検出および認識
(51)【国際特許分類】
G06T 7/00 20170101AFI20220714BHJP
G06V 20/56 20220101ALI20220714BHJP
【FI】
G06T7/00 350B
G06T7/00 650B
G06V20/56
(21)【出願番号】P 2020530478
(86)(22)【出願日】2018-12-04
(86)【国際出願番号】 US2018063839
(87)【国際公開番号】W WO2019113063
(87)【国際公開日】2019-06-13
【審査請求日】2021-12-03
(32)【優先日】2017-12-05
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2018-05-07
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】519444063
【氏名又は名称】ユーエーティーシー, エルエルシー
(74)【代理人】
【識別番号】110002789
【氏名又は名称】特許業務法人IPX
(72)【発明者】
【氏名】ヴァレスピ-ゴンザレス, カルロス
(72)【発明者】
【氏名】アマト, ジョセフ ローレンス
(72)【発明者】
【氏名】トトロス, ジョージ ジュニア
【審査官】岡本 俊威
(56)【参考文献】
【文献】特開2017-130155(JP,A)
【文献】国際公開第2016/100814(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06V 20/00-20/59
(57)【特許請求の範囲】
【請求項1】
自律走行車両動作のコンピュータ実装方法であって、前記コンピュータ実装方法は、
1つ以上のコンピューティングデバイスを備えるコンピューティングシステムによって、センサデータの1つ以上の部分を備える物体データを受信することと、
前記コンピューティングシステムによって、1つ以上のハードウェアコンポーネントを使用する多段分類の第1の段階で、第1の機械学習モデルに部分的に基づいて、前記センサデータの1つ以上の部分の1つ以上の第1段階特性を決定することと、
ここで、前記1つ以上の第1段階特性は、前記センサデータの1つ以上の部分の一部が、前景または背景であるときのインジケーションを備え、
ここで、前記センサデータの1つ以上の部分が前景または背景であるという決定は、自律走行車両の進行するエリアに関連するマップデータに基づき、
前記コンピューティングシステムによって、前記多段分類の第2の段階で、前記第1の段階で決定された前記1つ以上の第1段階特性に基づいて、および、第2の機械学習モデルに部分的に基づいて、前記センサデータの1つ以上の部分の1つ以上の第2段階特性を決定することと、
前記コンピューティングシステムによって、前記1つ以上の第1段階特性および前記1つ以上の第2段階特性に部分的に基づいて、物体出力を生成することであって、前記物体出力は、前記センサデータの1つ以上の部分の中の1つ以上の物体の検出と関連付けられる1つ以上のインジケーションを備え、
ここで、前記1つ以上の第2段階特性は、前記センサデータの1つ以上の部分の前景部分の物体分類を備える、ことと、
を含む、コンピュータ実装方法。
【請求項2】
前記1つ以上のハードウェアコンポーネントは、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、またはグラフィックス処理ユニット(GPU)を備える、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記センサデータの1つ以上の部分は、1つ以上の画像を備え、
前記コンピューティングシステムによって、前記第1の段階で、前記物体データに部分的に基づいて、前記1つ以上の画像と関連付けられる視覚記述子出力を生成することであって、前記視覚記述子出力は、色調情報、色飽和情報、明度情報、または配向勾配情報のヒストグラムを備え、前記1つ以上の第1段階特性は、前記視覚記述子出力に部分的に基づいて決定される、こと
をさらに含む、請求項1または請求項2に記載のコンピュータ実装方法。
【請求項4】
前記コンピューティングシステムによって、前記第2の段階で、前記第1の段階からの前記視覚記述子出力に部分的に基づいて、前記1つ以上の画像と関連付けられるヒートマップを生成することであって、前記ヒートマップは、前記1つ以上の物体のうちの少なくとも1つが複数のエリアのうちの個別のものの内側にある確率と関連付けられる複数のエリアを備え、前記1つ以上の第2段階特性は、前記ヒートマップに部分的に基づいて決定される、こと
をさらに含む、請求項3に記載のコンピュータ実装方法。
【請求項5】
前記多段分類の前記第2の段階で、前記第1の段階で決定された前記1つ以上の第1段階特性に基づいて、および、前記第2の機械学習モデルに部分的に基づいて、前記センサデータの1つ以上の部分の前記1つ以上の第2段階特性を決定することは、
前記コンピューティングシステムによって、前記1つ以上の背景部分と関連付けられる前記1つ以上の画像の1つ以上の部分を除外することとを含む、請求項3または請求項4に記載のコンピュータ実装方法。
【請求項6】
前記1つ以上の第1段階特性および前記1つ以上の第2段階特性は、それぞれ、前記第1の機械学習モデルおよび前記第2の機械学習モデルのトラバーサルに部分的に基づいており、前記第1の機械学習モデルは、第1の複数の分類子標識と関連付けられる第1の複数のノードを備え、前記第2の機械学習モデルは、第2の複数の分類子標識と関連付けられる第2の複数のノードを備える、請求項1-請求項5のいずれかに記載のコンピュータ実装方法。
【請求項7】
前記コンピューティングシステムによって、前記物体データおよび前記第2の機械学習モデルに部分的に基づいて、発生した前記1つ以上の物体の1つ以上の第2段階特性の誤検出決定の量を決定することと、
前記コンピューティングシステムによって、発生したと決定される前記誤検出の量が所定の閾値レベルを超えるときに、第2の決定木のトラバーサルを終了することと、
をさらに含む、請求項6に記載のコンピュータ実装方法。
【請求項8】
前記第2の機械学習モデル内の前記第2の複数のノードのうちの少なくとも1つのノードは、前記第1の機械学習モデル内の前記第1の複数のノードのうちの端末ノードであり、前記第2の機械学習モデルは、前記第1の複数のノードと等しい数のノードを備える、または、前記第2の機械学習モデルは、前記第1の複数のノードよりも多数のノードを備える、請求項6または請求項7に記載のコンピュータ実装方法。
【請求項9】
前記コンピューティングシステムによって、前記物体出力に部分的に基づいて、前記センサデータの1つ以上の部分の中の前記1つ以上の物体と関連付けられる1つ以上の境界形状のための場所を決定することと、
前記コンピューティングシステムによって、非最大抑制を含む画像処理技法に部分的に基づいて、前記1つ以上の境界形状のための場所のセットを選択することと
前記コンピューティングシステムによって、前記1つ以上の境界形状のための前記場所のセットの中で前記1つ以上の境界形状を生成することと、
をさらに含む、請求項1-請求項8のいずれかに記載のコンピュータ実装方法。
【請求項10】
前記センサデータの1つ以上の部分は、1つ以上のセンサからのセンサ出力に部分的に基づいており、前記1つ以上のセンサは、1つ以上の光検出および測距デバイス(ライダ)、1つ以上のカメラ、1つ以上のレーダデバイス、1つ以上のソナーデバイス、または1つ以上の熱画像デバイスを備える、請求項1-請求項9のいずれかに記載のコンピュータ実装方法。
【請求項11】
前記第1の機械学習モデルまたは前記第2の機械学習モデルは、1つ以上の分類技法に部分的に基づいており、前記1つ以上の分類技法は、ニューラルネットワーク、ランダムフォレスト分類子、勾配ブースティング、サポートベクタマシン、ロジスティック回帰分類子、またはブーステッドフォレスト分類子を含む、請求項1-請求項10のいずれかに記載のコンピュータ実装方法。
【請求項12】
1つ以上の有形の非一過性コンピュータ可読媒体であって、前記1つ以上の有形の非一過性コンピュータ可読媒体は、コンピュータ可読命令を記憶しており、前記コンピュータ可読命令は、1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに動作を実施させ、前記動作は、
センサデータの1つ以上の部分を備える物体データを受信することと、
多段分類の第1の段階で、第1の機械学習モデルに部分的に基づいて、前記センサデータの1つ以上の部分の1つ以上の第1段階特性を決定することと、
ここで、前記1つ以上の第1段階特性は、前記センサデータの1つ以上の部分の一部が、前景または背景であるときのインジケーションを備え、
ここで、前記センサデータの1つ以上の部分が前景または背景であるという決定は、自律走行車両の進行するエリアに関連するマップデータに基づき、
前記多段分類の第2の段階で、前記第1の段階の1つ以上の第1段階特性基づいて、および、第2の機械学習モデルに部分的に基づいて、前記センサデータの1つ以上の部分の1つ以上の第2段階特性を決定することと、
前記1つ以上の第1段階特性および前記1つ以上の第2段階特性に部分的に基づいて、物体出力を生成することであって、前記物体出力は、前記センサデータの1つ以上の部分の中の1つ以上の物体の検出と関連付けられる1つ以上のインジケーションを備え、
ここで、前記1つ以上の第2段階特性は、前記センサデータの1つ以上の部分の前景部分の物体分類を備える、ことと、
を含む、1つ以上の有形の非一過性コンピュータ可読媒体。
【請求項13】
前記センサデータの1つ以上の部分は、1つ以上の画像を備え、
前記第1の段階で、前記物体データに部分的に基づいて、前記1つ以上の画像と関連付けられる視覚記述子出力を生成することであって、前記視覚記述子出力は、色調情報、色飽和情報、明度情報、または配向勾配情報のヒストグラムを備え、前記1つ以上の第1段階特性は、前記視覚記述子出力に部分的に基づいて決定される、こと、
をさらに含む、請求項12に記載の1つ以上の有形の非一過性コンピュータ可読媒体。
【請求項14】
前記物体出力に部分的に基づいて、前記センサデータの1つ以上の部分の中の前記1つ以上の物体と関連付けられる1つ以上の境界形状のための場所を決定することと、
非最大抑制を含む画像処理技法に部分的に基づいて、前記1つ以上の境界形状のための場所のセットを選択することと、
前記1つ以上の境界形状のための前記場所のセットの中で前記1つ以上の境界形状を生成することと、
をさらに含む、請求項12または請求項13に記載の1つ以上の有形の非一過性コンピュータ可読媒体。
【請求項15】
コンピューティングシステムであって、
1つ以上のプロセッサと、
1つ以上のコンピュータ可読媒体を備えるメモリであって、前記メモリは、コンピュータ可読命令を記憶しており、前記コンピュータ可読命令は、前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
センサデータの1つ以上の部分を備える物体データを受信することと、
1つ以上のハードウェアコンポーネントを使用する多段分類の第1の段階で、第1の機械学習モデルに部分的に基づいて、前記センサデータの1つ以上の部分の1つ以上の第1段階特性を決定することと、
ここで、前記1つ以上の第1段階特性は、前記センサデータの1つ以上の部分の一部が、前景または背景であるときのインジケーションを備え、
ここで、前記センサデータの1つ以上の部分が前景または背景であるという決定は、自律走行車両の進行するエリアに関連するマップデータに基づき、
前記多段分類の第2の段階で、前記第1の段階の1つ以上の第1段階特性基づいて、および、第2の機械学習モデルに部分的に基づいて前記センサデータの1つ以上の部分の1つ以上の第2段階特性を決定することと、
前記1つ以上の第1段階特性および前記1つ以上の第2段階特性に部分的に基づいて、物体出力を生成することであって、前記物体出力は、前記センサデータの1つ以上の部分の中の1つ以上の物体の検出と関連付けられる1つ以上のインジケーションを備え、
ここで、前記1つ以上の第2段階特性は、前記センサデータの1つ以上の部分の前景部分の物体分類を備える、ことと、
を含む動作を実施させる、メモリと、
を備える、コンピューティングシステム。
【請求項16】
前記1つ以上のハードウェアコンポーネントは、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、またはグラフィックス処理ユニット(GPU)を備える、請求項15に記載のコンピューティングシステム。
【請求項17】
前記センサデータの1つ以上の部分は、1つ以上の画像を備え、
前記第1の段階で、前記物体データに部分的に基づいて、前記1つ以上の画像と関連付けられる視覚記述子出力を生成することであって、前記視覚記述子出力は、色調情報、色飽和情報、明度情報、または配向勾配情報のヒストグラムを備え、前記1つ以上の第1段階特性は、前記視覚記述子出力に部分的に基づいて決定される、こと、
をさらに含む、請求項15または請求項16に記載のコンピューティングシステム。
【請求項18】
前記1つ以上の第1段階特性および前記1つ以上の第2段階特性は、それぞれ、前記第1の機械学習モデルの第1の決定木および前記第2の機械学習モデルの第2の決定木のトラバーサルに部分的に基づいており、前記第1の決定木は、第1の複数の分類子標識と関連付けられる第1の複数のノードを備え、前記第2の決定木は、前記第1の決定木に部分的に基づいており、第2の複数の分類子標識と関連付けられる第2の複数のノードを備える、請求項15-請求項17のいずれかに記載のコンピューティングシステム。
【請求項19】
前記物体出力に部分的に基づいて、前記センサデータの1つ以上の部分の中の前記1つ以上の物体と関連付けられる1つ以上の境界形状のための場所を決定することと、
非最大抑制を含む画像処理技法に部分的に基づいて、前記1つ以上の境界形状のための場所のセットを選択することと、
前記1つ以上の境界形状のための前記場所のセットの中で前記1つ以上の境界形状を生成することと、
をさらに含む、請求項15-請求項18のいずれかに記載のコンピューティングシステム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願)
本願は、両方とも参照することによって本明細書に組み込まれる、2017年12月5日の出願日を有する米国仮特許出願第62/594,631号、および2018年5月7日の出願日を有する米国非仮特許出願第15/972,566号に基づき、その利益を主張する。
【0002】
本開示は、概して、多段分類を使用する、物体の1つ以上の特性の検出および認識を含む、自律走行車両の動作に関する。
【背景技術】
【0003】
自律走行車両を含む車両は、環境内の物体の状態を含む車両の周囲の環境の状態に基づいて、データを受信することができる。本データは、環境を通したこれらの物体の移動に関連する種々の機能を果たすために、自律走行車両によって使用されることができる。さらに、車両が環境を通して進行すると、環境内の物体のセットおよびこれらの物体の状態もまた、変化し得る。したがって、環境内の自律走行車両の安全な動作は、環境の状態の正確な決定に依拠する。故に、環境内の物体の状態をより効果的に決定する、コンピューティングシステムの必要性が存在している。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示の実施形態の側面および利点は、以下の説明で部分的に記載されるであろう、または説明から学習され得る、または実施形態の実践を通して学習され得る。
【0005】
本開示の例示的側面は、自律走行車両動作のコンピュータ実装方法を対象とする。自律走行車両動作のコンピュータ実装方法は、1つ以上のコンピューティングデバイスを備える、コンピューティングシステムによって、センサデータの1つ以上の部分を含む、物体データを受信することを含むことができる。本方法は、コンピューティングシステムによって、1つ以上のハードウェアコンポーネントを使用する多段分類の第1の段階で、第1の機械学習モデルに部分的に基づいて、センサデータの1つ以上の部分の1つ以上の第1段階特性を決定することを含むことができる。さらに、本方法は、コンピューティングシステムによって、多段分類の第2の段階で、第2の機械学習モデルに部分的に基づいて、センサデータの1つ以上の部分の1つ以上の第2段階特性を決定することを含むことができる。本方法は、コンピューティングシステムによって、1つ以上の第1段階特性および1つ以上の第2段階特性に部分的に基づいて、物体出力を生成することを含むことができる。物体出力は、センサデータの1つ以上の部分の中の1つ以上の物体の検出と関連付けられる1つ以上のインジケーションを含むことができる。
【0006】
本開示の別の例示的側面は、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに動作を実施させる、コンピュータ可読命令を記憶する、1つ以上の有形の非一過性コンピュータ可読媒体を対象とする。動作は、センサデータの1つ以上の部分を含む、物体データを受信することを含むことができる。動作は、1つ以上のハードウェアコンポーネントを使用する多段分類の第1の段階で、第1の機械学習モデルに部分的に基づいて、センサデータの1つ以上の部分の1つ以上の第1段階特性を決定することを含むことができる。さらに、動作は、多段分類の第2の段階で、第2の機械学習モデルに部分的に基づいて、センサデータの1つ以上の部分の1つ以上の第2段階特性を決定することを含むことができる。動作は、1つ以上の第1段階特性および1つ以上の第2段階特性に部分的に基づいて、物体出力を生成することを含むことができる。物体出力は、センサデータの1つ以上の部分の中の1つ以上の物体の検出と関連付けられる1つ以上のインジケーションを含むことができる。
【0007】
本開示の別の例示的側面は、1つ以上のプロセッサと、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに動作を実施させる命令を記憶する、1つ以上の有形の非一過性コンピュータ可読媒体とを備える、自律走行車両を対象とする。動作は、センサデータの1つ以上の部分を含む、物体データを受信することを含むことができる。動作は、1つ以上のハードウェアコンポーネントを使用する多段分類の第1の段階で、第1の機械学習モデルに部分的に基づいて、センサデータの1つ以上の部分の1つ以上の第1段階特性を決定することを含むことができる。さらに、動作は、多段分類の第2の段階で、第2の機械学習モデルに部分的に基づいて、センサデータの1つ以上の部分の1つ以上の第2段階特性を決定することを含むことができる。動作は、1つ以上の第1段階特性および1つ以上の第2段階特性に部分的に基づいて、物体出力を生成することを含むことができる。物体出力は、センサデータの1つ以上の部分の中の1つ以上の物体の検出と関連付けられる1つ以上のインジケーションを含むことができる。
【0008】
本開示の他の例示的側面は、多段分類を使用する、物体の1つ以上の特性の検出および認識を含む、自律走行車両動作のための他のシステム、方法、車両、装置、有形の非一過性コンピュータ可読媒体、およびデバイスを対象とする。
【0009】
種々の実施形態のこれらおよび他の特徴、側面、および利点は、以下の説明および添付の請求項を参照して、さらに理解されるであろう。本明細書に組み込まれ、その一部を構成する、付随する図面は、本開示の実施形態を図示し、説明とともに、関連原理を解説する役割を果たす。
【図面の簡単な説明】
【0010】
当業者を対象とする実施形態の詳細な議論が、添付図を参照する、本明細書に記載される。
【0011】
【
図1】
図1は、本開示の例示的実施形態による、例示的システムの略図を描写する。
【0012】
【
図2】
図2は、本開示の例示的実施形態による、例示的多段分類システムの略図を描写する。
【0013】
【
図3】
図3は、本開示の例示的実施形態による、多段分類子を使用するオーバーヘッドビューからの物体検出の実施例を描写する。
【0014】
【
図4】
図4は、本開示の例示的実施形態による、多段分類子による物体検出および決定木の使用の実施例を描写する。
【0015】
【
図5】
図5は、本開示の例示的実施形態による、多段分類子による物体検出および決定木の使用の第2の実施例を描写する。
【0016】
【
図6】
図6は、本開示の例示的実施形態による、物体検出および認識の例示的方法のフロー図を描写する。
【0017】
【
図7】
図7は、本開示の例示的実施形態による、物体検出および認識の例示的方法の第2のフロー図を描写する。
【0018】
【
図8】
図8は、本開示の例示的実施形態による、物体検出および認識の例示的方法の第3のフロー図を描写する。
【0019】
【
図9】
図9は、本開示の例示的実施形態による、例示的システムの第2の略図を描写する。
【発明を実施するための形態】
【0020】
本開示の例示的側面は、車両技術(例えば、自律走行車両、手動動作型車両、および/または半自律走行車両)に適用され得る多段分類を使用する、画像分類または物体検出(例えば、1つ以上の画像内に表される物体を検出、識別、および/または認識すること)を対象とする。特に、本開示の側面は、1つ以上の画像と関連付けられる物体データ(例えば、1つ以上のカメラによって捕捉される画像に基づく物体データ)を受信することと、多段分類の第1の段階で、第1の機械学習モデルを使用して、物体データの1つ以上の第1段階特性を決定することと、多段分類の第2の段階で、第2の機械学習モデルを使用して、物体データの1つ以上の第2の段階特性を決定することと、1つ以上の画像内の1つ以上の物体の検出と関連付けられるインジケーションを生成することとを含む。
【0021】
一例として、開示される技術は、環境(例えば、車両および歩行者を伴う都市街路)の画像を含み得る、センサデータに部分的に基づく物体データを受信することができる。画像は、1つ以上の光検出および測距デバイス(ライダ)を含む、1つ以上のセンサからの出力に部分的に基づくことができる。物体データは、第1の機械学習モデル(例えば、第1の決定木モデルまたは第1のニューラルネットワークモデル)を使用し、背景である1つ以上の画像の部分(例えば、着目物体を含む可能性が低い、1つ以上の画像の部分)と、前景である1つ以上の画像の部分(例えば、着目物体を含む可能性が高い、1つ以上の画像の部分)とを含む、1つ以上の第1段階特性を決定する、多段分類プロセスの第1の段階で処理されることができる。例えば、第1の機械学習モデルは、1つ以上のプログラマブル論理デバイス(例えば、フィールドプログラマブルゲートアレイ(FPGA)デバイスまたは特定用途向け集積回路(ASIC)デバイス)を含む、ハードウェアシステム内に記憶され、それによって実装されることができる。
【0022】
多段分類プロセスの第2の段階では、開示される技術は、第2の機械学習モデル(例えば、第2の決定木モデルまたは第2のニューラルネットワークモデル)を使用し、さらなる信頼のレベルで、物体(例えば、車両および/または歩行者)の識別および場所を含む、1つ以上の第2段階特性を決定することができる。いくつかの実装では、第2の機械学習モデルは、1つ以上の処理ユニット、プロセッサコア、マイクロプロセッサ、および/または中央処理ユニット(CPU)を含む、ソフトウェアシステム内に記憶され、それによって実装されることができる。開示される技術は、次いで、物体を検出および/または追跡すること、検出された物体の検出に基づいて車両システムをアクティブ化すること(例えば、車両通知システム)、および/または車両の経路を修正し、検出された物体を回避すること(例えば、車両運動計画および/または自律システム)を含む、アクションを実施するために、例えば、自律走行車両によって、種々の方法で使用され得る、1つ以上のインジケーションを生成することができる。
【0023】
したがって、開示される技術は、センサデータの1つ以上の部分の中の1つ以上の物体をより効果的に(例えば、より迅速かつ正確に)検出および/または識別することができる。特に、開示される技術は、プロセスの第1の段階で特別に構成されるハードウェア、およびプロセスの第2の段階で特別に適合されたソフトウェアを使用する、よりソフトウェア駆動型のアプローチを使用することを含む、分類プロセスの異なる段階において、異なるタイプのハードウェアの能力を活用することによって、優れた結果を達成することができる。
【0024】
開示される技術は、1つ以上の物体を検出または識別し得る、物体検出システム(例えば、1つ以上のプロセッサおよびメモリを伴う1つ以上のコンピューティングデバイスを含む、コンピューティングシステム)、および/または種々の車両システムを制御し、物体検出システムと通信し得る、車両コンピューティングシステムを含むことができる。物体検出システムは、車両コンピューティングシステム、車両システム(例えば、車両エンジン、車両モータ、車両電気システム、および/または車両通知システム)、および/または遠隔コンピューティングシステム(例えば、遠隔場所におけるコンピューティングデバイス)を含む、種々のコンピューティングシステムと交信される信号またはデータを含む、信号またはデータを処理、生成、または交信する(例えば、送信または受信する)ことができる。
【0025】
例えば、物体検出システムは、センサシステム(例えば、ライダ、カメラ、マイクロホン、レーダ、またはソナーを含む、センサの範囲内の物理的環境の状態に基づいて出力を生成するセンサ)、通信システム(例えば、信号またはデータを他のデバイスと交信し得る、有線または無線通信システム)、ナビゲーションシステム(例えば、車両の地理的場所を決定するために使用されるGPS、GLONASS、または他のシステムから信号を受信し得るデバイス)、通知システム(例えば、電子通信デバイス、ディスプレイデバイス、ステータスインジケータライト、および/またはオーディオ出力システムを含む、通知を歩行者、自転車乗車者、および車両に提供するために使用されるデバイス)、制動システム(例えば、機械および/または電気ブレーキを含む、車両のブレーキ)、推進システム(例えば、電気エンジンまたは内燃エンジンを含む、モータまたはエンジン)、および/または車両の経路、進路、または進行方向を変更するために使用される操向システムを含む、車両コンポーネントまたは車両コンピューティングシステムと、信号(例えば、電子信号)またはデータを交信することができる。
【0026】
物体検出システムは、センサデータ(例えば、1つ以上のライダデバイス、1つ以上のカメラ、1つ以上のレーダデバイス、1つ以上のソナーデバイス、および/または1つ以上の熱画像デバイスを含む、1つ以上のセンサから出力されるデータ)の1つ以上の部分と関連付けられる物体データを受信することができる。例えば、センサデータは、1つ以上のカメラによって捕捉される画像を含む2次元画像および/またはライダデバイスによって捕捉される3次元点群を含むことができる。センサデータの1つ以上の部分は、1人以上の歩行者(例えば、横になっている、座っている、しゃがんでいる、立っている、歩いている、または走っている、1人以上の個人)、1つ以上の他の車両(例えば、自動車、トラック、バス、トロリー、バイク、原動機付き自転車、航空機、ボート、水陸両用車両、および/または列車)、1人以上の自転車乗車者(例えば、自転車に座っている、および/または乗っている個人)、および/または1つ以上の建物(例えば、家および/またはアパートの建物)を含む、1つ以上の物体を検出するように分析されることができる。さらに、物体データは、1つ以上の画像内の1つ以上の物体の1つ以上の物理的寸法(例えば、長さ、幅、および/または高さ)と関連付けられる、3次元点のセット(例えば、x、y、およびz座標)を含むことができる。センサデータおよび/または関連付けられる物体データの部分は、形状、テクスチャ、明度、飽和、および/または物理的寸法(例えば、長さ、幅、および/または高さ)を含む、1つ以上の物体の物理的性質または特性(例えば、視覚性質または特性)を決定するために、使用されることができる。
【0027】
いくつかの実施形態では、物体データを含む他のデータと関連付けられ得る、センサデータの1つ以上の部分は、1つ以上のライダデバイス、1つ以上のカメラ、1つ以上のレーダデバイス、1つ以上のソナーデバイス、または1つ以上の熱画像デバイスを含む、1つ以上のセンサからのセンサ出力に部分的に基づくことができる。
【0028】
物体検出システムは、多段分類の第1の段階で、第1の機械学習モデル(例えば、物体データを含み得るデータと関連付けられる第1の機械学習モデル)の第1の決定木のトラバーサルに部分的に基づいて、センサデータの1つ以上の部分の1つ以上の第1段階特性を決定することができる。いくつかの実施形態では、物体検出システムによって使用される第1の機械学習モデルは、ランダムフォレスト分類子、勾配ブースティング、サポートベクタマシン、ロジスティック回帰分類子、および/またはブーステッドフォレスト分類子を含む、1つ以上の分類技法に部分的に基づくことができる。
【0029】
いくつかの実施形態では、多段分類の第1の段階は、複数の分類子標識と関連付けられる第1の複数のノードを含む、第1の決定木のトラバーサルを含むことができる。第1の決定木内の第1の複数のノードはそれぞれ、センサデータの1つ以上の部分の1つ以上の第1段階特性を分類、カテゴリ化、および/または決定するために使用される、分類子標識と関連付けられることができる。例えば、多段分類の第1の段階は、背景であるセンサデータの1つ以上の部分のうちの部分と、前景であるセンサデータの1つ以上の部分のうちの部分とを含む、1つ以上の第1段階特性の決定を含むことができる。したがって、物体検出システムは、物体検出の目的で焦点を当てるためのセンサデータの1つ以上の部分のエリアを事前に決定することによって、多段分類の第2の段階がセンサデータの1つ以上の部分をより効率的に処理することを可能にする、第1の段階出力(すなわち、1つ以上の第1段階特性)を提供することができる。
【0030】
いくつかの実施形態では、多段分類の第1の段階は、FPGA、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、またはグラフィックス処理ユニット(GPU)を含む、1つ以上のコンピューティングデバイスの1つ以上のハードウェアコンポーネントによって実施されることができる。一例として、FPGAを使用することは、並行して1つ以上の画像の処理を通して処理有効性の改良を可能にすることができ、これは、並行して画像を処理しない他の技法(例えば、1つ以上の画像の連続処理)の速度を超える画像処理をもたらし得る。
【0031】
物体検出システムは、多段分類の第2の段階で、第2の機械学習モデル(例えば、物体データを含み得るデータと関連付けられる第2の機械学習モデル)の第2の決定木のトラバーサルに部分的に基づいて、1つ以上の物体の1つ以上の第2段階特性を決定することができる。いくつかの実施形態では、第2の機械学習モデルは、第1の機械学習モデルを含む、またはそれと同一であり得る。
【0032】
多段分類の第2の段階は、第2の複数の分類子標識と関連付けられる第2の複数のノードを含む、第2の決定木のトラバーサルを含むことができる。例えば、第2の決定木内の複数のノードはそれぞれ、1つ以上の画像の1つ以上の第1段階特性を分類、カテゴリ化、および/または決定するために使用される、分類子標識と関連付けられることができる。例えば、多段分類の第2の段階は、1つ以上の物体の場所および識別(例えば、1つ以上の画像内の歩行者の場所)を含む、1つ以上の画像の1つ以上の第2段階特性の決定を含むことができる。
【0033】
多段分類の第2の段階は、第1の段階の出力に部分的に基づく、1つ以上の画像の1つ以上の第2段階特性を決定することを含むことができる。1つ以上の第2段階特性は、1つ以上の第1段階特性を含むことができる(例えば、背景特性が、第1の段階で決定される場合、背景特性が、第2の段階でさらなる信頼のレベルまでさらに決定されることができる)。さらに、1つ以上の第2段階特性は、第1の段階で決定されなかった特性を含むことができる。例えば、1つ以上の物体(例えば、歩行者、車両、および/または自転車乗車者)が第1の段階で決定されなかった場合、1つ以上の物体は、第2の段階で決定されることができる。
【0034】
いくつかの実施形態では、第2の決定木は、第1の複数のノードと等しい、またはそれよりも多数のノードを含むことができる。例えば、第1の決定木は、1,000個のノードを含むことができ、第2の決定木は、より多くの分類子標識を含み得、1つ以上の画像内の1つ以上の物体を検出および/または識別する際にさらなる正確度のためにトラバースされ得る、より深い決定木を可能にし得る、5,000個のノードを含むことができる。
【0035】
いくつかの実施形態では、多段分類の第2の段階の一部は、1つ以上の中央処理ユニット上で動作する、またはその上で実行される、1つ以上のソフトウェアコンポーネントを含む、1つ以上のコンピューティングデバイスの1つ以上のソフトウェアコンポーネントによって実施されることができる。ソフトウェアコンポーネントの使用は、第2の機械学習モデルのより柔軟な調節およびカスタマイズを可能にすることができる。
【0036】
物体検出システムは、物体データおよび第1の機械学習モデルまたは第2の機械学習モデルであり得る機械学習モデルに部分的に基づいて、発生した1つ以上の物体の1つ以上の第1段階特性(第1の機械学習モデルが使用されるとき)または1つ以上の第2段階特性(第2の機械学習モデルが使用されるとき)の誤検出決定の量(例えば、発生数)を決定することができる。例えば、1つ以上の第1段階特性の誤検出決定は、背景の一部(例えば、空の太陽)が前景の一部であるという決定を含むことができる。さらに、物体検出システムは、誤検出決定の量が所定の閾値レベルを超えるときに、第1の決定木または第2の決定木を含む決定木のトラバーサルを終了することができる。
【0037】
いくつかの実施形態では、決定木のトラバーサルを終了するための所定の閾値レベルの決定は、決定木の種々の深度における既知のデータセット(例えば、物体の全てが正しく識別された訓練データ)上の第1の機械学習モデルまたは第2の機械学習モデルの性能(例えば、誤検出率)に基づくことができる。例えば、決定木のトラバーサルを終了するための所定の閾値レベルは、誤検出の量が識別された物体の所定の割合(例えば、識別された物体の10パーセント)または画像あたりの物体の所定の数(例えば、画像あたり2つの物体)を超えるときに、第1の決定木の深度に部分的に基づくことができる。
【0038】
物体検出システムは、物体データに部分的に基づいて、1つ以上の画像と関連付けられる視覚記述子出力を生成することを含むことができる。センサデータの1つ以上の部分が画像を含むとき、視覚記述子出力は、色調情報、色飽和情報、明度情報、または配向勾配情報のヒストグラムを含む、1つ以上の画像の種々の性質または特性を含むことができる。いくつかの実施形態では、1つ以上の第1段階特性は、視覚記述子出力に部分的に基づくことができる。
【0039】
物体検出システムは、視覚記述子出力に部分的に基づいて、1つ以上の画像と関連付けられるヒートマップを生成することができる。ヒートマップは、1つ以上の物体のうちの少なくとも1つが複数のエリアのうちの個別のものの内側にある確率と関連付けられる複数のエリアを含むことができる。例えば、物体検出システムは、複数のエリア内の1つ以上の画像をセグメント化し、複数のエリア毎に、物体がそのエリア内にある確率を決定することができる。いくつかの実施形態では、1つ以上の第2段階特性は、ヒートマップに部分的に基づくことができる。
【0040】
物体検出システムは、視覚記述子出力またはヒートマップに部分的に基づいて、1つ以上の背景画像と関連付けられる、1つ以上の画像の1つ以上の部分(すなわち、1つ以上の物体を含有する1つ以上の画像の前景と対照的に、背景である1つ以上の画像の部分)を決定することができる。いくつかの実施形態では、多段分類の第2の段階は、1つ以上の背景画像と関連付けられる、1つ以上の画像の1つ以上の部分を排除することができる。このように、多段分類の第2の段階は、物体データのより小さい部分(例えば、1つ以上の画像の前景画像)により多くのリソースを集中させ、背景の一部である1つ以上の画像の部分を分析しないことによって、リソースを節約することができる。
【0041】
いくつかの実施形態では、第2の決定木内の第2の複数のノードのうちの少なくとも1つのノードは、第1の決定木内の第1の複数のノードのうちの端末ノード(例えば、決定木の最後のノード/リーフ)である。例えば、第2の決定木内の第1のノードは、第1の決定木内の端末ノードであり得る。このように、第2の決定木は、第1の決定木の継続であり、第1の決定木の出力に部分的に基づいて第1の決定木を基礎とするという利益を活用することができる。
【0042】
いくつかの実施形態では、第2の機械学習モデルの第2の決定木は、第1の複数のノードと等しい数のノード、または第1の複数のノードよりも多数のノードを含むことができる。いくつかの実施形態では、多段分類の第1の段階は、並行して動作するカスタマイズされたデバイス(例えば、FPGA)上で実施されることができ、センサデータの一部(例えば、画像の一部)が前景または背景であるかどうかを含む、センサデータの1つ以上の部分の1つ以上の第1段階特性を迅速に決定することができる。1つ以上の第1段階特性を決定した後、多段分類の第2の段階は、より深い(すなわち、ルートノードから端末ノードまでの経路に沿ってより多くのノードを有する)決定木を使用し、より高い信頼のレベルで、車両、歩行者、および/または自転車乗車者を含む、1つ以上の物体を決定または識別し得る、1つ以上の第2段階特性を決定することができる。
【0043】
物体検出システムは、1つ以上の第1段階特性および/または1つ以上の第2段階特性に部分的に基づいて、物体出力を生成することができる。物体出力は、センサデータの1つ以上の部分の中の1つ以上の物体の検出と関連付けられる、1つ以上のインジケーションを含むことができる。例えば、物体出力は、車両システムまたは遠隔コンピューティングデバイスと交信されることができ、物体が検出されたかどうか、検出された物体のタイプ、検出される物体の場所、検出される物体の物理的特性、検出される物体の速度および/または加速度、および/または物体検出の推定正確度と関連付けられる確率の1つ以上のインジケーションを含むことができる。
【0044】
いくつかの実施形態では、物体出力は、1つ以上の物体の検出に基づいて車両システムをアクティブ化すること(例えば、物体が夜間に検出されるときにヘッドライトをアクティブ化すること)、(例えば、物体の周囲で車両を操縦するために)車両の経路を修正すること、および/または物体出力を1つ以上の車両システムまたは遠隔コンピューティングシステムと交信することを含む、1つ以上のアクションを実施するために、1つ以上の車両システムによって使用されることができる。
【0045】
物体検出システムは、物体出力に部分的に基づいて、センサデータの1つ以上の部分の中の1つ以上の物体と関連付けられる1つ以上の境界形状(例えば、2次元または3次元境界ボックスおよび/または境界多角形)のための場所を決定することができる。物体検出システムは、第1の機械学習モデルおよび/または第2の機械学習モデルを使用し、物体またはあるタイプの物体を含有する可能性が高い(例えば、歩行者が画像の空部分よりも画像の地面部分内にいる可能性が高い)センサデータの1つ以上の場所またはエリアを決定することができる。
【0046】
物体検出システムは、1つ以上の境界形状のための場所のセットを選択することができる。画像処理技法(例えば、非最大抑制を含むフィルタ)が、次いで、1つ以上の境界形状のための場所のセットから、最適な場所を含む場所を選択するために使用されることができる。例えば、画像勾配方向を分析することによって、場所のセットのそれぞれに対応するセンサデータの一部に関する極大値の一部ではないピクセルが、抑制されることができる。物体検出システムは、1つ以上の境界形状のための場所のセットに基づいて、選択された場所で1つ以上の境界形状を生成することができる。
【0047】
開示される技術におけるシステム、方法、デバイス、および有形の非一過性コンピュータ可読媒体は、物体の検出のために機械学習モデルを使用する車両コンピューティングシステムを含む、自律走行車両の全体的動作に、種々の技術的効果および利益を提供することができる。特に、開示される技術は、多段階分類子の利点を活用し、物体検出および識別に対して高いレベルの正確度を維持しながら、出力を作成するための時間を短縮する。例えば、ハードウェアコンポーネントを使用する分類の第1の段階は、並行して入力(例えば、ライダおよび/またはカメラを含む、1つ以上のセンサからのセンサ出力に基づく物体データ)を処理することができ、後続の段階でさらなる処理のために画像の部分を迅速に識別することができる。次いで、分類の第2の段階では、開示される技術は、より深い決定木を使用して、1つ以上の画像を徹底的に処理することができる。結果として、開示される技術は、より少ない時間で極めて正確な結果を出力することができる。加えて、FPGAを含む、ハードウェアコンポーネントの使用は、汎用プロセッサと比較して、より少ない待ち時間およびより優れたエネルギー効率をもたらし得る。
【0048】
さらに、開示される技術は、分類プロセスの複数の段階のうちのいずれかにおいて決定木をトラバースすることの早期終了を適用することができる。早期終了は、決定木の出力(例えば、物体の検出)が正しいという推定確率が所定の閾値レベルに到達したときに、決定木をトラバースし続けないことによって、開示される技術が計算リソースを節約することを可能にする。例えば、決定木の1,000個のノードの長さの経路に沿って500個のノードをトラバースした後、正しい物体検出の確率が99.9パーセントである場合、計算リソースは、早期に終了し、決定木の残りの500個のノードをトラバースしないことによって、節約され得る。
【0049】
開示される技術は、物体の形状、物理的寸法、色、および/またはテクスチャを含む、1つ以上の画像の1つ以上の特性が、より迅速に、さらなる精度、速度、および正確度で決定されることを可能にする、1つ以上の機械学習モデルの使用を通して、そのような物体特性を含む、1つ以上の画像の1つ以上の特性をより効果的に決定することができる。
【0050】
センサデータの1つ以上の特性(例えば、背景特性、前景特性、物体形状、および/または物体の物理的寸法)のより効果的な決定の結果として、開示される技術は、より早期かつ正確な物体検出を通して、安全性の改良を可能にすることができる。さらに、操向、推進、制動、または通知システムを含む、車両システムと対合されたとき、開示される技術は、それぞれ、進路を変更する、速度を増加させる、速度を低減させる、または通知を他の車両、歩行者、および/または自転車乗車者に提供することができる。
【0051】
故に、開示される技術は、多段分類子の動作利益を活用することによって、1つ以上の画像内の物体のより効果的な検出または識別を提供する。このように、自律走行車両を含む、種々の技術は、改良された物体検出から利益を得ることができる。
【0052】
ここで
図1-9を参照すると、本開示の例示的実施形態が、さらに詳細に議論されるであろう。
図1は、本開示の例示的実施形態による、例示的システムの略図を描写する。図示されるように、システム100は、複数の車両102と、車両104と、1つ以上のコンピューティングデバイス110を含む、車両コンピューティングシステム108と、1つ以上のデータ入手システム112と、自律システム114と、1つ以上の制御システム116と、1つ以上のヒューマンマシンインターフェースシステム118と、他の車両システム120と、通信システム122と、ネットワーク124と、1つ以上の画像捕捉デバイス126と、1つ以上のセンサ128と、1つ以上の遠隔コンピューティングデバイス130と、通信ネットワーク140と、動作コンピューティングシステム150とを含むことができる。
【0053】
動作コンピューティングシステム150は、例えば、車両104を含む、車両隊を介して、1つ以上の車両サービスを複数のユーザに提供する、サービスプロバイダと関連付けられることができる。車両サービスは、輸送サービス(例えば、相乗りサービス)、宅配サービス、配達サービス、および/または他のタイプのサービスを含むことができる。動作コンピューティングシステム150は、種々の動作および機能を実施するための複数のコンポーネントを含むことができる。例えば、動作コンピューティングシステム150は、車両104から遠隔にある1つ以上の遠隔コンピューティングデバイスを含む、および/または別様にそれと関連付けられることができる。1つ以上の遠隔コンピューティングデバイスは、1つ以上のプロセッサと、1つ以上のメモリデバイスとを含むことができる。1つ以上のメモリデバイスは、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに、センサデータの部分を含む、物体データを受信することと、多段分類の第1の段階で、第1の機械学習モデルに部分的に基づいて、センサデータの部分の第1段階特性を決定することと、多段分類の第2の段階で、第2の機械学習モデルに部分的に基づいて、センサデータの部分の第2段階特性を決定することと、第1段階特性および第2段階特性に部分的に基づいて、物体出力を生成することであって、物体出力は、センサデータの部分の中の物体の検出と関連付けられるインジケーションを含む、こととを含む、車両の動作と関連付けられる動作および機能を実施させる、命令を記憶することができる。
【0054】
例えば、動作コンピューティングシステム150は、車両104および/またはそのユーザを監視し、それと通信して、車両104によって提供される車両サービスを調整するように構成されることができる。そうするために、動作コンピューティングシステム150は、車両104を含む車両のステータスと関連付けられる車両ステータスデータを含む、データを含むデータベースを管理することができる。車両ステータスデータは、複数の車両102の場所(例えば、車両の緯度および経度)、車両の可用性(例えば、車両が乗車者または貨物を取り上げる、または降ろすために利用可能であるかどうか)、または車両の外部の物体の状態(例えば、車両の外部の物体の物理的寸法、速度、加速度、および/または配向)を含むことができる。
【0055】
1つ以上の物体の状態(例えば、物理的寸法、速度、加速度、色、場所、および/または配向)を含む、1つ以上の物体の状態を示す、インジケーション、記録、および/または他のデータは、車両104の1つ以上のメモリデバイス内にローカルで記憶されることができる。さらに、車両104は、動作コンピューティングシステム150と関連付けられる1つ以上のメモリデバイス内に、車両104の所定の距離内の1つ以上の物体の状態を示す、インジケーション、記録、および/または他のデータを記憶し得る、動作コンピューティングシステム150までの車両104の所定の距離内の1つ以上の物体(例えば、車両の外部の物体)の状態を示すデータを提供することができる。
【0056】
動作コンピューティングシステム150は、通信ネットワーク140を含む、1つ以上の通信ネットワークを介して、車両104と通信することができる。通信ネットワーク140は、信号(例えば、電子信号)またはデータ(例えば、コンピューティングデバイスからのデータ)を交信(送信または受信)し、種々の有線(例えば、ツイストペアケーブル)および/または無線通信機構(例えば、セルラー、無線、衛星、マイクロ波、および無線周波数)、および/または任意の所望のネットワークトポロジ(または複数のトポロジ)の任意の組み合わせを含むことができる。例えば、通信ネットワーク140は、ローカルエリアネットワーク(例えば、イントラネット)、広域ネットワーク(例えば、インターネット)、無線LANネットワーク(例えば、Wi-Fiを介した)、セルラーネットワーク、SATCOMネットワーク、VHFネットワーク、HFネットワーク、WiMAXベースのネットワーク、および/またはデータを車両104に、および/またはそこから伝送するための任意の他の好適な通信ネットワーク(またはそれらの組み合わせ)を含むことができる。
【0057】
車両104は、地上ベースの車両(例えば、自動車および/またはトラック)、航空機、船、および/または別のタイプの車両であり得る。車両104は、人間の運転者からの相互作用を最小限に伴って、および/または全く伴わずに、運転すること、ナビゲートすること、および/または動作することを含む、種々のアクションを実施し得る、自律走行車両であり得る。自律走行車両104は、例えば、完全自律動作モード、半自律動作モード、駐車モード、および/またはスリープモードを含む、1つ以上のモードで動作するように構成されることができる。完全自律(例えば、自己運転)動作モードは、車両104が、車両内に存在する人間の運転者からの相互作用を最小限に伴って、および/または全く伴わずに、運転およびナビゲーション動作を提供し得るものであり得る。半自律動作モードは、車両104が、車両内に存在する人間の運転者からのある程度の相互作用を伴って動作し得るものであり得る。駐車および/またはスリープモードは、車両104が、後続の車両サービスを提供することを待機すること、および/または動作モードの間に再充電することを含む、種々のアクションを実施している間に、動作モードの間に使用されることができる。車両104は、車両コンピューティングシステム108を含む、またはそれと関連付けられることができる。車両コンピューティングシステム108は、種々の動作および機能を実施するための種々のコンポーネントを含むことができる。例えば、車両コンピューティングシステム108は、車両104に内蔵された1つ以上のコンピューティングデバイス110を含むことができる。1つ以上のコンピューティングデバイス110は、それぞれ、車両104に内蔵される、1つ以上のプロセッサと、1つ以上のメモリデバイスとを含むことができる。1つ以上のメモリデバイスは、1つ以上のプロセッサによって実行されると、1つ以上のプロセッサに、車両104を非稼働中にすること、車両104の運動を停止させること、車両104の所定の距離内の1つ以上の物体の状態を決定すること、または本明細書に説明されるような車両104の所定の距離内の1つ以上の物体の状態と関連付けられるインジケーションを生成することを含む、動作および機能を実施させる、命令を記憶することができる。さらに、車両コンピューティングシステム108は、センサデータの部分を含む、物体データを受信することと、多段分類の第1の段階で、第1の機械学習モデルに部分的に基づいて、センサデータの部分の第1段階特性を決定することと、多段分類の第2の段階で、第2の機械学習モデルに部分的に基づいて、センサデータの部分の第2段階特性を決定することと、第1段階特性および第2段階特性に部分的に基づいて、物体出力を生成することであって、物体出力は、センサデータの部分の中の物体の検出と関連付けられるインジケーションを含む、こととを含む、1つ以上の動作を実施することができる。
【0058】
1つ以上のコンピューティングデバイス110は、車両104に内蔵された種々の他のシステムを実装する、含む、および/または別様にそれと関連付けられることができる。1つ以上のコンピューティングデバイス110は、車両104のこれらの他の内蔵システムと通信するように構成されることができる。例えば、1つ以上のコンピューティングデバイス110は、1つ以上のデータ入手システム112、自律システム114(例えば、ナビゲーションシステムを含む)、1つ以上の制御システム116、1つ以上のヒューマンマシンインターフェースシステム118、他の車両システム120、および/または通信システム122と通信するように構成されることができる。1つ以上のコンピューティングデバイス110は、ネットワーク124を介して、これらのシステムと通信するように構成されることができる。ネットワーク124は、1つ以上のデータバス(例えば、コントローラエリアネットワーク(CAN))、内蔵診断コネクタ(例えば、OBD-II)、および/または有線および/または無線通信リンクの組み合わせを含むことができる。1つ以上のコンピューティングデバイス110および/または他の内蔵システムは、ネットワーク124を介して、相互の間でデータ、メッセージ、および/または信号を送信および/または受信することができる。
【0059】
1つ以上のデータ入手システム112は、車両104と関連付けられるデータを入手するように構成される種々のデバイスを含むことができる。これは、車両のシステム(例えば、健全性データ)、車両の内部、車両の外部、車両の周辺、および/または車両ユーザのうちの1つ以上のものを含む、車両と関連付けられるデータを含むことができる。1つ以上のデータ入手システム112は、例えば、1つ以上の画像捕捉デバイス126を含むことができる。1つ以上の画像捕捉デバイス126は、1つ以上のカメラ、ライダシステム、2次元画像捕捉デバイス、3次元画像捕捉デバイス、静止画像捕捉デバイス、動的(例えば、回転)画像捕捉デバイス、ビデオ捕捉デバイス(例えば、ビデオレコーダ)、車線検出器、スキャナ、光学リーダ、エレクトリックアイ、および/または他の好適なタイプの画像捕捉デバイスを含むことができる。1つ以上の画像捕捉デバイス126は、車両104の内部内および/または外部上に位置することができる。1つ以上の画像捕捉デバイス126は、自律モードで車両104の動作に使用されるべき画像データを入手するように構成されることができる。例えば、1つ以上の画像捕捉デバイス126は、画像データを入手し、車両104が1つ以上の機械視覚技法を実装すること(例えば、周辺環境内の物体を検出すること)を可能にすることができる。
【0060】
加えて、または代替として、1つ以上のデータ入手システム112は、1つ以上のセンサ128を含むことができる。1つ以上のセンサ128は、衝撃センサ、運動センサ、圧力センサ、質量センサ、重量センサ、体積センサ(例えば、リットル単位で物体の体積を決定し得るセンサ)、温度センサ、湿度センサ、レーダ、ソナー、無線、(例えば、車両の周辺と関連付けられる情報を取得するための)中距離または長距離センサ、全地球測位システム(GPS)機器、近接性センサ、および/または車両104と関連付けられる、および/または車両104の動作に関連性があるパラメータを示すデータを取得するための任意の他のタイプのセンサを含むことができる。1つ以上のデータ入手システム112は、車両の燃料タンク、エンジン、オイルコンパートメント、および/またはワイパを含む、車両104の特定の側面と関連付けられるデータを取得することに専念する、1つ以上のセンサ128を含むことができる。1つ以上のセンサ128はまた、または代替として、車両104の1つ以上の機械および/または電気コンポーネントと関連付けられるセンサを含むことができる。例えば、1つ以上のセンサ128は、車両ドア、トランク、および/またはガスキャップが、開放または閉鎖位置にあるかどうかを検出するように構成されることができる。いくつかの実装では、1つ以上のセンサ128によって入手されるデータは、他の車両および/または物体、道路条件(例えば、カーブ、深い穴、くぼみ、隆起、および/または勾配の変化)を検出し、車両104と他の車両および/または物体との間の距離を測定することに役立ち得る。
【0061】
車両コンピューティングシステム108はまた、マップデータを取得するように構成されることもできる。例えば、(例えば、自律システム114内の)車両のコンピューティングデバイスは、動作コンピューティングシステム150または1つ以上の遠隔コンピューティングデバイス130(例えば、地理マッピングサービスプロバイダと関連付けられる)を含む、1つ以上の遠隔コンピューティングデバイスから、マップデータを受信するように構成されることができる。マップデータは、車両が現在進行している、以前に進行した、または将来進行するであろうエリアを含む、車両が進行し得るエリアと関連付けられる2次元または3次元地理マップデータの任意の組み合わせを含むことができる。
【0062】
1つ以上のデータ入手システム112から入手されるデータ、マップデータ、および/または他のデータは、車両104に内蔵された1つ以上のメモリデバイス内に記憶されることができる。内蔵メモリデバイスは、限定された記憶容量を有することができる。したがって、1つ以上のメモリデバイス内に記憶されたデータは、周期的に除去される、削除される、および/または別のメモリデバイス(例えば、サービスプロバイダのデータベース)にダウンロードされる必要があり得る。1つ以上のコンピューティングデバイス110は、メモリデバイスを監視し、および/または別様に関連付けられるプロセッサと通信し、1つ以上のメモリデバイス内でデータ記憶が利用可能である量を決定するように構成されることができる。さらに、他の内蔵システム(例えば、自律システム114)のうちの1つ以上のものは、1つ以上のメモリデバイス内に記憶されたデータにアクセスするように構成されることができる。
【0063】
自律システム114は、車両104が自律モードで動作することを可能にするように構成されることができる。例えば、自律システム114は、車両104と関連付けられる(例えば、1つ以上のデータ入手システム112によって入手される)データを取得することができる。自律システム114はまた、マップデータを取得することもできる。自律システム114は、車両104および/またはマップデータと関連付けられる入手されたデータに少なくとも部分的に基づいて、車両104の種々の機能を制御し、自律モードを実装することができる。例えば、自律システム114は、1つ以上のデータ入手システム112によって入手されるデータ、マップデータ、および/または他のデータに基づいて、道路特徴、シグネチャ、および/または物体、人、動物を知覚するための種々のモデルを含むことができる。いくつかの実装では、自律システム114は、1つ以上のデータ入手システム112によって入手されるデータ、マップデータ、および/または他のデータを使用し、自律走行車両を動作させることに役立つ、機械学習モデルを含むことができる。また、入手されたデータは、他の車両および/または物体、道路条件(例えば、カーブ、深い穴、くぼみ、隆起、勾配の変化、または同等物)を検出し、車両104と他の車両および/または物体との間の距離を測定することに役立ち得る。自律システム114は、(例えば、1つ以上の走行距離計測技法を使用して)そのような要素の位置および/または移動(またはその欠如)を予測するように構成されることができる。自律システム114は、そのような予測に少なくとも部分的に基づいて、車両104の運動を計画するように構成されることができる。自律システム114は、計画された運動を実装し、人間の介入を最小限に伴って、または全く伴わずに、車両104を適切にナビゲートすることができる。例えば、自律システム114は、車両104を目的地の場所に指向するように構成されるナビゲーションシステムを含むことができる。自律システム114は、車両速度、加速度、減速度、操向、および/または他のコンポーネントの動作を調整し、自律モードで動作し、そのような目的地の場所まで進行することができる。
【0064】
自律システム114は、リアルタイムおよび/または近リアルタイムで車両104のための位置および/またはルートを決定することができる。例えば、入手されたデータを使用して、自律システム114は、(例えば、一瞬毎に)1つ以上の異なる潜在的ルートを計算することができる。自律システム114は、次いで、とるべきルートを選択し、それに応じて車両104をナビゲートさせることができる。一例として、自律システム114は、1つ以上の異なる直線経路(例えば、現在の車線の異なる部分の中のいくつかを含む)、1つ以上の車線変更経路、1つ以上の旋回経路、および/または1つ以上の停止経路を計算することができる。車両104は、入手されたデータ、現在の交通要因、車両104と関連付けられる進行条件に少なくとも部分的に基づいて、経路を選択することができる。いくつかの実装では、異なる加重が、経路を選択するときに異なる基準に印加されることができる。いったん選択されると、自律システム114は、車両104を選択された経路に従って進行させることができる。
【0065】
車両104の1つ以上の制御システム116は、車両104の1つ以上の側面を制御するように構成されることができる。例えば、1つ以上の制御システム116は、車両104の1つ以上のアクセスポイントを制御することができる。1つ以上のアクセスポイントは、車両のドアロック、トランクロック、ボンネットロック、燃料タンクアクセス、ラッチ、および/または1つ以上の状態、位置、および/または場所の間で調節され得る、他の機械的アクセス特徴を含む、特徴を含むことができる。例えば、1つ以上の制御システム116は、アクセスポイント(例えば、ドアロック)を制御し、第1の状態(例えば、ロック位置)と第2の状態(例えば、ロック解除位置)との間でアクセスポイントを調節するように構成されることができる。加えて、または代替として、1つ以上の制御システム116は、1つ以上の状態の間で調節され得る、車両104の1つ以上の他の電気特徴を制御するように構成されることができる。例えば、1つ以上の制御システム116は、1つ以上の電気特徴(例えば、ハザードライト、マイクロホン)を制御し、第1の状態(例えば、オフ)と第2の状態(例えば、オン)との間で特徴を調節するように構成されることができる。
【0066】
1つ以上のヒューマンマシンインターフェースシステム118は、ユーザ(例えば、人間)、車両104(例えば、車両コンピューティングシステム108)、および/または第三者(例えば、サービスプロバイダと関連付けられるオペレータ)の間の相互作用を可能にするように構成されることができる。1つ以上のヒューマンマシンインターフェースシステム118は、ユーザが車両コンピューティングシステム108から情報を入力および/または受信するための種々のインターフェースを含むことができる。例えば、1つ以上のヒューマンマシンインターフェースシステム118は、グラフィカルユーザインターフェース、直接操作インターフェース、ウェブベースのユーザインターフェース、タッチユーザインターフェース、アテンティブユーザインターフェース、会話および/または音声インターフェース(例えば、テキストメッセージ、チャッタロボットを介した)、会話インターフェースエージェント、双方向音声応答(IVR)システム、ジェスチャインターフェース、および/または他のタイプのインターフェースを含むことができる。1つ以上のヒューマンマシンインターフェースシステム118は、ユーザ入力を受信するように構成される、1つ以上の入力デバイス(例えば、タッチスクリーン、キーパッド、タッチパッド、ノブ、ボタン、スライダ、スイッチ、マウス、ジャイロスコープ、マイクロホン、他のハードウェアインターフェース)を含むことができる。1つ以上のヒューマンマシンインターフェース118はまた、インターフェースと関連付けられるデータを受信および出力するための1つ以上の出力デバイス(例えば、ディスプレイデバイス、スピーカ、ライト)を含むこともできる。
【0067】
他の車両システム120は、車両104の他の側面を制御および/または監視するように構成されることができる。例えば、他の車両システム120は、ソフトウェア更新モニタ、エンジン制御ユニット、伝送制御ユニット、および/または内蔵メモリデバイスを含むことができる。1つ以上のコンピューティングデバイス110は、他の車両システム120と通信し、データを受信する、および/または1つ以上の信号を送信するように構成されることができる。一例として、ソフトウェア更新モニタは、1つ以上のコンピューティングデバイス110に、内蔵システムのうちの1つ以上のものの上で起動するソフトウェアの現在のステータス、および/または個別のシステムがソフトウェア更新を要求するかどうかを示す、データを提供することができる。
【0068】
通信システム122は、車両コンピューティングシステム108(およびその1つ以上のコンピューティングデバイス110)が他のコンピューティングデバイスと通信することを可能にするように構成されることができる。いくつかの実装では、車両コンピューティングシステム108は、通信システム122を使用し、ネットワークを経由して1つ以上のユーザデバイスと通信することができる。いくつかの実装では、通信システム122は、1つ以上のコンピューティングデバイス110が、車両104に内蔵されたシステムのうちの1つ以上のものと通信することを可能にすることができる。車両コンピューティングシステム108は、通信システム122を使用し、ネットワークを経由して(例えば、1つ以上の無線信号接続を介して)、動作コンピューティングシステム150および/または1つ以上の遠隔コンピューティングデバイス130と通信することができる。通信システム122は、例えば、伝送機、受信機、ポート、コントローラ、アンテナ、または車両104から遠隔にある1つ以上の遠隔コンピューティングデバイスとの通信を促進することに役立ち得る他の好適なコンポーネントを含む、1つ以上のネットワークとインターフェースをとるための任意の好適なコンポーネントを含むことができる。
【0069】
いくつかの実装では、車両104に内蔵された1つ以上のコンピューティングデバイス110は、車両104と関連付けられる1つ以上のパラメータを示す車両データを取得することができる。1つ以上のパラメータは、車両104、車両コンピューティングシステム108、および/または内蔵システムのうちの1つ以上のものと関連付けられる、健全性および保守情報を含む、情報を含むことができる。例えば、1つ以上のパラメータは、燃料レベル、エンジン条件、タイヤ圧力、車両の内部と関連付けられる条件、車両の外部と関連付けられる条件、走行可能距離、次の保守までの時間、最後の保守以降の時間、内蔵メモリデバイス内の利用可能なデータ記憶、車両104内のエネルギー貯蔵デバイスの充電レベル、現在のソフトウェアステータス、必要とされるソフトウェア更新、および/または車両104の他の健全性および保守データを含むことができる。
【0070】
パラメータを示す車両データの少なくとも一部が、車両104に内蔵されたシステムのうちの1つ以上のものを介して、提供されることができる。1つ以上のコンピューティングデバイス110は、スケジュールされた、および/または必要に応じた基準で、内蔵システムから車両データを要求するように構成されることができる。いくつかの実装では、内蔵システムのうちの1つ以上のものは、1つ以上のパラメータを示す車両データを1つ以上のコンピューティングデバイス110に(例えば、周期的に、連続的に、必要に応じて、要求に応じて)提供するように構成されることができる。一例として、1つ以上のデータ入手システム112は、車両の燃料レベルおよび/または車両エネルギー貯蔵デバイス内の充電レベルを示すパラメータを提供することができる。いくつかの実装では、パラメータのうちの1つ以上のものは、ユーザ入力を示し得る。例えば、1つ以上のヒューマンマシンインターフェース118は、(例えば、車両の内部内のディスプレイデバイス上に表示されるユーザインターフェースを介して)ユーザ入力を受信することができる。1つ以上のヒューマンマシンインターフェース118は、ユーザ入力を示すデータを1つ以上のコンピューティングデバイス110に提供することができる。いくつかの実装では、1つ以上の遠隔コンピューティングデバイス130は、入力を受信することができ、ユーザ入力を示すデータを1つ以上のコンピューティングデバイス110に提供することができる。1つ以上のコンピューティングデバイス110は、(例えば、無線通信を介して)1つ以上の遠隔コンピューティングデバイス130から、ユーザ入力を示すデータを取得することができる。
【0071】
1つ以上のコンピューティングデバイス110は、歩行者、自転車乗車者、モータ車両(例えば、トラックおよび/または自動車)、道路、水路、および/または建物を含む、車両の外部の1つ以上の物体の状態を含む、車両104および車両104の周囲の環境の状態を決定するように構成されることができる。さらに、1つ以上のコンピューティングデバイス110は、1つ以上の物体の物理的寸法(例えば、1つ以上の物体の形状、長さ、幅、および/または高さ)を含む、1つ以上の物体の1つ以上の物理的特性を決定するように構成されることができる。1つ以上のコンピューティングデバイス110は、1つ以上の機械学習モデルの使用を通して、1つ以上のセンサ128によって検出されない1つ以上の物体の部分を含む、1つ以上の物体の物理的寸法および/または配向の推定されるセットを決定することができる。さらに、1つ以上のコンピューティングデバイス110は、1つ以上の機械学習モデルの使用に部分的に基づいて、物体の多段検出および/または認識を実施することができる。
図2は、本開示の例示的実施形態による、例示的多段分類子システムの略図を描写する。図示されるように、多段分類子システム200は、1つ以上のセンサデバイス202と、相互接続204/206/208と、第1段階コンピューティングシステム210と、フィールドプログラマブルゲートアレイ(FPGA)212と、1つ以上のプログラマブル論理ブロックおよび相互接続214と、メモリ216と、データ218と、命令220と、通信インターフェース222と、第2段階コンピューティングシステム230と、中央処理ユニット(CPU)232と、メモリ236と、データ238と、命令240と、通信インターフェース242と、1つ以上の出力デバイス250とを含むことができる。さらに、多段分類子システム200は、センサデータの部分を含む、物体データを受信することと、多段分類の第1の段階で、第1の機械学習モデルに部分的に基づいて、センサデータの部分の第1段階特性を決定することと、多段分類の第2の段階で、第2の機械学習モデルに部分的に基づいて、センサデータの部分の第2段階特性を決定することと、第1段階特性および第2段階特性に部分的に基づいて、物体出力を生成することであって、物体出力は、センサデータの部分の中の物体の検出と関連付けられるインジケーションを含む、こととを含む、1つ以上の機能を果たすことができる。
【0072】
本実施例では、多段分類子システム200は、2つのコンピューティングシステム、すなわち、第1段階コンピューティングシステム210および第2段階コンピューティングシステム230を含む。しかしながら、他の実施形態では、多段分類子システム200は、第1段階コンピューティングシステム210および第2段階コンピューティングシステム230内に含まれる特徴、コンポーネント、および/またはデバイスのうちのいずれかを含み得る、3つ以上のコンピューティングシステムを含むことができる。
【0073】
多段分類子システム200は、1つ以上のセンサデバイス202を含むことができる。1つ以上のセンサデバイス202は、1つ以上の物体を含む環境の検出に部分的に基づいて、1つ以上のセンサ出力(例えば、センサデータ)を生成し得る、1つ以上の物理センサを含むことができる。1つ以上の物理センサは、1つ以上のライダデバイス、1つ以上のカメラ、1つ以上のレーダデバイス、1つ以上のソナーデバイス、1つ以上の画像センサ、および/または1つ以上の熱画像デバイスを含むことができる。さらに、1つ以上のセンサデバイス202は、1つ以上のシミュレートされた物体(例えば、車両コンピューティングシステム108、1つ以上の遠隔コンピューティングデバイス130、および/または動作コンピューティングシステム150を含む、コンピューティングデバイスによって生成されるデータ構造に部分的に基づくシミュレートされた物体)に部分的に基づいて、1つ以上のシミュレートされたセンサ出力(例えば、シミュレートされたセンサデータ)を生成し得る、1つ以上のシミュレートされたセンサを含むことができる。
【0074】
1つ以上のセンサデバイス202によって出力される物体データは、1人以上の歩行者(例えば、立っている、横になっている、座っている、屈んでいる、しゃがんでいる、登っている、走っている、および/または歩いている、1人以上の個人)、1つ以上の他の車両(例えば、自動車、トラック、バス、トロリー、トラム、バイク、原動機付き自転車、航空機、ヘリコプタ、ボート、水陸両用車両、および/または列車を含む、動力車)、1人以上の自転車乗車者(例えば、自転車に座っている、および/または乗っている1人以上の個人)、輸送インフラストラクチャ(例えば、道路、街路、線路、歩道、幹線道路、駐車場、および/または舗装道路)、および/または1つ以上の建物(例えば、家、オフィスビル、スタジアム、および/またはアパートの建物)を含む、1つ以上の物体の検出および/または認識で使用されることができる。
【0075】
さらに、1つ以上のセンサデバイス202によって出力される物体データは、1つ以上の画像内の1つ以上の物体の1つ以上の物理的寸法(例えば、長さ、幅、および/または高さ)と関連付けられる、3次元点のセット(例えば、x、y、およびz座標)を含むことができる。センサデータおよび/または関連付けられる物体データの1つ以上の部分は、1つ以上の物体の形状、テクスチャ、明度、飽和、および/または物理的寸法(例えば、長さ、幅、および/または高さ)を含む、1つ以上の物体の物理的性質、属性、および/または特性(例えば、視覚性質および/または特性)を決定するために、使用されることができる。
【0076】
1つ以上のセンサデバイス202によって生成される物体データは、センサデータの1つ以上の部分および/またはシミュレートされたセンサデータの1つ以上の部分を含む、物体データとして出力されることができる。1つ以上のセンサデバイス202は、1つ以上の2次元画像(例えば、1つ以上のカメラによって捕捉される2次元画像)および/または3次元画像(例えば、ライダデバイスによって捕捉される3次元点群)を含む、物体データを生成することができる。物体データの1つ以上の部分は、1つ以上のセンサデバイス202、第1段階コンピューティングシステム210、および/または第2段階コンピューティングシステム230の間の信号および/またはデータを含む、1つ以上の信号および/またはデータを交信する(例えば、送信および/または受信する)ために使用され得る、相互接続204を含む、1つ以上の通信ネットワークおよび/または相互接続を介して、1つ以上のコンピューティングデバイスおよび/またはコンピューティングシステムに送信されることができる。
【0077】
第1段階コンピューティングシステム210は、物体データを含む、1つ以上の信号および/またはデータを送信、受信、分析、検出、認識、および/または処理することを含む、種々の動作および/または機能を実施することができる。例えば、第1段階コンピューティングシステム210は、1つ以上のセンサデバイス202から物体データを受信し(例えば、相互接続204を介して受信し)、物体データに基づいて1つ以上の動作を実施し(例えば、1つ以上の物体を検出および/または認識し)、物体データを第2段階コンピューティングデバイス230に送信する(例えば、相互接続206を介して送信する)ことができる。
【0078】
第1段階コンピューティングシステム210は、1つ以上のFPGA212と、メモリ216とを含む、1つ以上のコンピューティングデバイスを含むことができる。1つ以上のFPGA212は、任意の好適な処理デバイス(例えば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、グラフィックス処理ユニット、デジタル信号プロセッサ、コントローラ、および/またはマイクロコントローラ)を含むことができ、1つのプロセッサ、または動作可能に接続される複数のプロセッサを含むことができる。本実施例では、1つ以上のFPGA212は、1つ以上のFPGA212によって実施されるべき動作のタイプ(例えば、物体の検出および/または認識を含む、データを処理すること)に従って構成され得る、1つ以上のプログラマブル論理ブロックおよび相互接続214を含むことができる。他の実施形態では、1つ以上のプロセッサ212は、1つ以上のプログラマブル論理ブロックおよび相互接続214を含まないように、または使用しないように構成されることができる。
【0079】
メモリ216は、RAM、ROM、EEPROM、EPROM、NVRAM、1つ以上のメモリデバイス、フラッシュメモリデバイス、および/またはそれらの組み合わせを含む、1つ以上の非一過性のコンピュータ可読記憶媒体を含むことができる。メモリ216は、1つ以上のFPGA212によってアクセスされ得る、情報を記憶することができる。例えば、メモリ216(例えば、1つ以上の非一過性のコンピュータ可読記憶媒体、メモリデバイス)は、取得される、受信される、アクセスされる、書き込まれる、操作される、作成される、および/または記憶され得る、データ218を記憶することができる。データ218は、本明細書に説明されるように、1つ以上のセンサデバイス202からの物体データ、現在の物体の状態および予測される物体の場所および/または軌道を含む、検出および/または分類された物体を識別するデータ、運動計画、分類モデル、および/または規則を含むことができる。いくつかの実装では、第1段階コンピューティングシステム210は、例えば、1つ以上のセンサデバイス202および/または第2段階コンピューティングシステム230を含む、第1段階コンピューティングシステム210から遠隔にある1つ以上のメモリデバイスから、データを取得することができる。
【0080】
メモリ216はまた、1つ以上のプロセッサ212によって実行され得る、コンピュータ可読命令220を記憶することもできる。命令220は、任意の好適なプログラミング言語で書かれたソフトウェアであり得る、またはハードウェアで実装されることができる。加えて、または代替として、命令220は、1つ以上のプロセッサ212上の論理上および/または事実上別個のスレッド内で実行されることができる。
【0081】
さらに、メモリ216内に記憶されたデータ218および/または命令220は、物体データに基づいて分類された物体標識を生成するために使用され得る、1つ以上の機械学習モデルを含む、1つ以上の機械学習モデルを含むことができる。いくつかの実施形態では、1つ以上の物体と関連付けられる、分類された物体標識は、機械学習モデルによって生成される、分類された物体標識と同一のフォーマットで生成されることができる。
【0082】
例えば、第1段階コンピューティングシステム210は、メモリ216内に記憶された機械学習物体検出および認識モデルを含む、使用する、および/または動作させることができる。機械学習物体検出および認識モデルは、ニューラルネットワーク(例えば、ディープニューラルネットワーク)または他の多層非線形モデルを含む、1つ以上のモデルを含むことができる。
【0083】
ニューラルネットワークは、コンボリューショナルニューラルネットワーク、リカレントニューラルネットワーク(例えば、長短期メモリリカレントニューラルネットワーク)、フィードフォワードニューラルネットワーク、および/または他の形態のニューラルネットワークを含むことができる。監視下訓練技法が、機械学習物体検出および認識モデルを訓練し、物体データ内の1つ以上の物体を検出、認識、および/または分類するように実施されることができる。いくつかの実装では、機械学習物体検出および認識モデルのための訓練データは、機械学習物体検出および認識モデルを訓練し、物体データと関連付けられる1つ以上の物体を検出、認識、および/または分類するために使用され得る、規則ベースのモデルを使用して決定される、予測検出結果に少なくとも部分的に基づくことができる。さらに、訓練データは、オフラインで機械学習物体検出および認識モデルを訓練するために使用されることができる。
【0084】
いくつかの実施形態では、第1段階コンピューティングシステム210は、機械学習物体検出および認識モデルの中にデータを入力し、出力を受信することができる。例えば、第1段階コンピューティングシステム210は、種々の機械学習物体検出および認識モデルを記憶する1つ以上の遠隔コンピューティングデバイスから、機械学習物体検出および認識モデルを示すデータを取得することができる。入力データは、1つ以上の物体(例えば、道路、水域、山、丘、および/または群葉)と関連付けられる、1つ以上の車両、歩行者、自転車乗車者、建物、および/または環境を含む、1つ以上の物体と関連付けられるデータを含むことができる。いくつかの実施形態では、入力データは、1つ以上の物体と関連付けられる色、明度、および/または飽和情報を含む、視覚記述子と関連付けられるデータを含むことができる。
【0085】
さらに、入力データは、1つ以上の物体と関連付けられる、物体データ、予測データ(例えば、1つ以上の物体の状態および/または場所を予測するデータ)、運動計画(例えば、車両が1つ以上の物体に対してナビゲートするための運動計画)、および/またはマップデータを含むことができる。
【0086】
機械学習物体検出および認識モデルは、入力データを処理し、1つ以上の物体を検出、認識、および/または分類することができる。また、機械学習物体検出および認識モデルは、1つ以上の物体のための1つ以上の相互作用を予測することができる。さらに、第1段階コンピューティングシステム210は、機械学習物体検出および認識モデルから出力を取得することができる。機械学習物体検出および認識モデルからの出力は、1つ以上の物体の1つ以上の予測される検出、認識、および/または分類を示し得る。いくつかの実装では、出力はまた、各個別の検出、認識、および/または分類と関連付けられる確率も示し得る。さらに、機械学習物体検出および認識モデルは、入力データを処理し、背景(例えば、1つ以上の着目物体を含まない、入力データ内に含まれる入力画像内のエリア)または前景(例えば、着目される1つ以上の物体を含む、入力データ内に含まれる入力画像内のエリア)である、入力データ内の入力画像の1つ以上の部分のうちのいずれかを決定することができる。例えば、機械学習物体検出および認識モデルは、第1段階コンピューティングシステム210によって実施される入力データを処理することの第1の段階では、入力画像のエリアが背景(例えば、空または地面である物体を含む、入力画像の一部)であるように決定されることを決定することができ、機械学習物体検出および認識モデルは、第2段階コンピューティングシステム230によって実施される入力データを処理することの第2の段階では、入力画像のエリアが前景(例えば、車両または歩行者である物体を含む、入力画像の一部)であるように決定されることを決定することができる。第1段階コンピューティングシステム210はまた、第1段階コンピューティングシステム210から遠隔にあるシステムまたはデバイスを含む、1つ以上のシステムまたはデバイスと通信するために使用され得る、通信インターフェース222を含むこともできる。通信インターフェース222は、1つ以上のネットワークと通信するための任意の回路、コンポーネント、および/またはソフトウェアを含むことができる。いくつかの実装では、通信インターフェース222は、例えば、データを通信するための通信コントローラ、受信機、送受信機、伝送機、ポート、導体、ソフトウェア、および/またはハードウェアのうちの1つ以上のものを含むことができる。さらに、第1段階コンピューティングシステム210は、1つ以上の信号および/またはデータ(例えば、物体データと関連付けられる1つ以上の信号)を、第2段階コンピューティングシステム230および/または1つ以上の出力デバイス250を含む、1つ以上のコンピューティングシステムに送信することができる。
【0087】
第2段階コンピューティングシステム230は、物体データを含む、1つ以上の信号および/またはデータを送信、受信、分析、検出、認識、および/または処理することを含む、種々の動作および/または機能を実施することができる。例えば、第2段階コンピューティングシステム230は、第1段階コンピューティングシステム210から物体データを受信し(例えば、相互接続204を介して受信し)、物体データに基づいて1つ以上の動作を実施し(例えば、1つ以上の物体を検出および/または認識し)、物体データと関連付けられる1つ以上の信号を1つ以上の出力デバイス250に送信する(例えば、相互接続208を介して送信する)ことができる。
【0088】
第2段階コンピューティングシステム230は、1つ以上のプロセッサ232と、メモリ236とを含む、1つ以上のコンピューティングデバイスを含むことができる。1つ以上のプロセッサ232は、任意の好適な処理デバイス(例えば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、グラフィックス処理ユニット、デジタル信号プロセッサ、コントローラ、および/またはマイクロコントローラ)を含むことができ、1つのプロセッサ、または動作可能に接続される複数のプロセッサを含むことができる。いくつかの実施形態では、1つ以上のプロセッサ232は、1つ以上のプロセッサ232によって実施されるべき動作のタイプ(例えば、物体の検出および/または認識を含む、データを処理すること)に従って構成され得る、1つ以上のプログラマブル論理ブロックおよび相互接続(図示せず)を含むことができる。
【0089】
メモリ236は、RAM、ROM、EEPROM、EPROM、NVRAM、1つ以上のメモリデバイス、フラッシュメモリデバイス、および/またはそれらの組み合わせを含む、1つ以上の非一過性のコンピュータ可読記憶媒体を含むことができる。メモリ236は、1つ以上のプロセッサ232によってアクセスされ得る、情報を記憶することができる。例えば、メモリ236(例えば、1つ以上の非一過性のコンピュータ可読記憶媒体、メモリデバイス)は、取得される、受信される、アクセスされる、書き込まれる、操作される、作成される、および/または記憶され得る、データ238を記憶することができる。データ238は、本明細書に説明されるように、1つ以上のセンサデバイス202、第1段階コンピューティングシステム210からの物体データ、現在の物体の状態および予測される物体の場所および/または軌道を含む、検出および/または分類された物体を識別するデータ、運動計画、分類モデル、規則を含むことができる。いくつかの実装では、第2段階コンピューティングシステム230は、例えば、1つ以上のセンサデバイス202および/または第1段階コンピューティングシステム210を含む、第2段階コンピューティングシステム230から遠隔にある1つ以上のメモリデバイスから、データを取得することができる。
【0090】
メモリ236はまた、1つ以上のプロセッサ232によって実行され得る、コンピュータ可読命令240を記憶することもできる。命令240は、任意の好適なプログラミング言語で書かれたソフトウェアであり得る、またはハードウェアで実装されることができる。加えて、または代替として、命令240は、1つ以上のプロセッサ232上の論理上および/または事実上別個のスレッド内で実行されることができる。
【0091】
さらに、メモリ236内に記憶されたデータ238および/または命令240は、物体データおよび/または物体データと関連付けられるデータ(例えば、第1段階コンピューティングシステム210から受信されるデータを受信)に基づいて分類された物体標識を生成するために使用され得る、1つ以上の機械学習モデルを含む、1つ以上の機械学習モデルを含むことができる。いくつかの実施形態では、1つ以上の物体と関連付けられる、分類された物体標識は、機械学習モデルによって生成される、分類された物体標識と同一のフォーマットで生成されることができる。
【0092】
例えば、第2段階コンピューティングシステム230は、メモリ236内に記憶された機械学習物体検出および認識モデルを含む、使用する、および/または動作させることができる。機械学習物体検出および認識モデルは、ニューラルネットワーク(例えば、ディープニューラルネットワーク)または他の多層非線形モデルを含む、1つ以上のモデルを含むことができる。
【0093】
ニューラルネットワークは、コンボリューショナルニューラルネットワーク、リカレントニューラルネットワーク(例えば、長短期メモリリカレントニューラルネットワーク)、フィードフォワードニューラルネットワーク、および/または他の形態のニューラルネットワークを含むことができる。監視下訓練技法が、機械学習物体検出および認識モデルを訓練し、物体データ内の1つ以上の物体を検出、認識、および/または分類するように実施されることができる。いくつかの実装では、機械学習物体検出および認識モデルのための訓練データは、機械学習物体検出および認識モデルを訓練し、物体データと関連付けられる1つ以上の物体を検出、認識、および/または分類するために使用され得る、規則ベースのモデルを使用して決定される、予測検出結果に少なくとも部分的に基づくことができる。さらに、訓練データは、オフラインで機械学習物体検出および認識モデルを訓練するために使用されることができる。
【0094】
いくつかの実施形態では、第2段階コンピューティングシステム230は、機械学習物体検出および認識モデルの中にデータを入力し、出力を受信することができる。例えば、第2段階コンピューティングシステム230は、種々の機械学習物体検出および認識モデルを記憶する1つ以上の遠隔コンピューティングデバイスから、機械学習物体検出および認識モデルを示すデータを取得することができる。入力データは、1つ以上の物体(例えば、道路、水域、山、丘、および/または群葉)と関連付けられる、1つ以上の車両、歩行者、自転車乗車者、建物、および/または環境を含む、1つ以上の物体と関連付けられるデータを含むことができる。さらに、入力データは、1つ以上の物体と関連付けられる、物体データ、予測データ(例えば、1つ以上の物体の状態および/または場所を予測するデータ)、運動計画(例えば、1つ以上の物体のための運動計画)、および/またはマップデータを含むことができる。
【0095】
機械学習物体検出および認識モデルは、入力データを処理し、1つ以上の物体を検出、認識、および/または分類することができる。また、機械学習物体検出および認識モデルは、1つ以上の物体のための1つ以上の相互作用を予測することができる。さらに、第2段階コンピューティングシステム230は、機械学習物体検出および認識モデルから出力を取得することができる。機械学習物体検出および認識モデルからの出力は、1つ以上の物体の1つ以上の予測される検出、認識、および/または分類を示し得る。いくつかの実装では、出力はまた、各個別の検出、認識、および/または分類と関連付けられる確率も示し得る。
【0096】
第2段階コンピューティングシステム230はまた、第2段階コンピューティングシステム230から遠隔にあるシステムまたはデバイスを含む、1つ以上のシステムまたはデバイスと通信するために使用され得る、通信インターフェース242を含むこともできる。通信インターフェース242は、1つ以上のネットワークと通信するための任意の回路、コンポーネント、および/またはソフトウェアを含むことができる。いくつかの実装では、通信インターフェース242は、例えば、データを通信するための通信コントローラ、受信機、送受信機、伝送機、ポート、導体、ソフトウェア、および/またはハードウェアのうちの1つ以上のものを含むことができる。さらに、第2段階コンピューティングシステム230は、1つ以上の信号および/またはデータ(例えば、物体データと関連付けられる1つ以上の信号)を、第1段階コンピューティングシステム210および/または1つ以上の出力デバイス250を含む、1つ以上のコンピューティングシステムに送信することができる。
【0097】
1つ以上の出力デバイス250は、第1段階コンピューティングシステム210および/または第2段階コンピューティングシステム230を含む、1つ以上のコンピューティングデバイスまたはコンピューティングシステムから、1つ以上の信号またはデータを受信することができる。1つ以上の出力デバイス250は、物体データと関連付けられる1つ以上の視覚画像および/または出力データと関連付けられる出力(例えば、第1段階コンピューティングシステム210および/または第2段階コンピューティングシステム230による物体データの処理の結果)を生成するために使用される、1つ以上の信号を含む、物体データと関連付けられる1つ以上の信号を受信する(例えば、相互接続208を介して第2段階コンピューティングシステム230から1つ以上の信号を受信する)ことができる。例えば、1つ以上の出力デバイス250は、第2段階コンピューティングシステム230からの1つ以上の信号に基づいて、画像および1つ以上の物体を含む画像の部分のインジケーションを含む、視覚出力を生成することができる。
【0098】
1つ以上の出力デバイス250は、1つ以上の出力デバイス250によって受信される、1つ以上の信号および/またはデータと関連付けられる表現を生成するために使用される、1つ以上のデバイスを含むことができる。例えば、1つ以上の出力デバイス250は、1つ以上のディスプレイデバイス(例えば、有機発光ダイオードディスプレイデバイス、液晶ディスプレイデバイス、陰極線管ディスプレイデバイス、および/またはプラズマディスプレイデバイス)、1つ以上のオーディオ出力デバイス(例えば、ラウドスピーカ)、および/または1つ以上の触覚出力デバイス(例えば、1つ以上の振動を生成し得る圧電デバイス)を含むことができる。
図3は、本開示の例示的実施形態による、多段分類子を使用するオーバーヘッドビューからの物体検出の実施例を描写する。出力は、例えば、
図1に示される車両104、車両コンピューティングシステム108、または動作コンピューティングシステム150、または
図2に示される多段分類子システム200を含む、1つ以上のデバイス(例えば、1つ以上のコンピューティングデバイス)またはシステムによる、環境の1つ以上の部分の検出、認識、および/または処理に部分的に基づくことができる。また、環境の1つ以上の部分の検出、認識、および/または処理は、1つ以上のデバイスまたはシステム(例えば、
図1に示される車両104、車両コンピューティングシステム108、および/または動作コンピューティングシステム150、または
図2に示される多段分類子システム200)のハードウェアコンポーネント上でアルゴリズムとして実装されることができる。さらに、
図3の多段分類子は、センサデータの部分を含む、物体データを受信することと、多段分類の第1の段階で、第1の機械学習モデルに部分的に基づいて、センサデータの部分の第1段階特性を決定することと、多段分類の第2の段階で、第2の機械学習モデルに部分的に基づいて、センサデータの部分の第2段階特性を決定することと、第1段階特性および第2段階特性に部分的に基づいて、物体出力を生成することであって、物体出力は、センサデータの部分の中の物体の検出と関連付けられるインジケーションを含む、こととを含む、1つ以上の動作を実施することができる。図示されるように、
図3は、出力画像300、物体310、境界形状312、物体314(例えば、歩行者)、物体320(例えば、道路)、物体322(例えば、歩道)、およびセグメント324を示す。
【0099】
出力画像300は、物体データ(例えば、多段分類子システム200からの物体データ)に基づく、またはそれと関連付けられ得る、画像を描写する。例えば、出力画像300は、1つ以上のセンサデバイス202を含む、1つ以上の画像センサ(例えば、1つ以上のカメラ)からのセンサ出力に部分的に基づくことができる。示されるように、出力画像300は、物体310(例えば、自律走行車両)、境界形状312(例えば、物体310の周囲の境界形状)、物体314(例えば、歩行者)、物体320(例えば、道路)、および物体322(例えば、歩道)を含む。
【0100】
図3に示されるように、出力画像300は、セグメント324を含む、複数のセグメントに分割されることができるが、他の実施形態では、出力画像300は、より多くのセグメント、より少ないセグメントを含むことができる、またはセグメントを全く含まない。いくつかの実施形態では、出力画像300内の異なるセグメントが、所定のセグメントサイズを有するスライドウィンドウを使用して、取得されることができる。いくつかの実施形態では、出力画像は、異なるスケールを有するデータの複数の表現にサイズ変更されることができる。固定サイズのスライドウィンドウを使用する複数のデータ表現を分析することによって、いくつかの画像表現内のスライドウィンドウによって部分的に捕捉される物体が、1つ以上の他の画像表現内のスライドウィンドウによって完全に捕捉されることができる。
【0101】
複数のセグメントはそれぞれ、分析される(例えば、多段分類子システム200によって使用される機械学習物体検出および認識モデルを含む、機械学習分類モデルを使用することによって処理される)ことができる。例えば、多段分類子システム200内の第1段階コンピューティングシステム210は、出力画像300内の複数のセグメントのそれぞれを処理し、各セグメントが背景(例えば、1つ以上の着目物体を含まないセグメント)または前景(例えば、着目される1つ以上の物体を含むセグメント)の一部に対応するかどうかを決定することができる。本実施例では、セグメント324は、セグメント324が背景部分を含有することを示すように空である。他の実施形態では、前景および/または背景であるセグメントは、異なるパターン、形状、または色によって示されることができる。さらに、いくつかの実施形態では、複数のセグメントのそれぞれが前景または背景であるかどうかの決定は、例えば、街路、建物、および背景として分類され得る他のエリアを含む、エリアと関連付けられるマップの部分を示し得る、マップデータに部分的に基づくことができる。
【0102】
依然として
図3を参照すると、第1段階コンピューティングシステム(例えば、
図2の第1段階コンピューティングシステム210)によって前景部分に対応するように決定される出力画像300のセグメントに関して、そのようなセグメントは、さらなる処理のために、第2段階コンピューティングシステム(例えば、
図2の第2段階コンピューティングシステム230)に提供されることができる。多段分類子システム200内の第2段階コンピューティングシステム230は、前景部分に対応するように決定される複数のセグメントのそれぞれを処理し、特定の着目物体(例えば、物体310(例えば、自律走行車両)、物体314(例えば、歩行者))をより具体的に検出および分類することができる。
【0103】
図4は、本開示の例示的実施形態による、多段分類子による物体検出および決定木の使用の実施例を描写する。出力は、例えば、
図1に示される車両104、車両コンピューティングシステム108、および/または動作コンピューティングシステム150、または
図2に示される多段分類子システム200を含む、1つ以上のデバイス(例えば、1つ以上のコンピューティングデバイス)またはシステムによる、環境の1つ以上の部分の検出および/または処理に部分的に基づくことができる。また、環境の1つ以上の部分の検出および処理は、例えば、物体の物理的寸法、位置、形状および/または配向を決定するように、1つ以上のデバイスまたはシステム(例えば、
図1に示される車両104、車両コンピューティングシステム108、および/または動作コンピューティングシステム150)のハードウェアコンポーネント上でアルゴリズムとして実装されることができる。さらに、
図4の多段分類子は、センサデータの部分を含む、物体データを受信することと、多段分類の第1の段階で、第1の機械学習モデルに部分的に基づいて、センサデータの部分の第1段階特性を決定することと、多段分類の第2の段階で、第2の機械学習モデルに部分的に基づいて、センサデータの部分の第2段階特性を決定することと、第1段階特性および第2段階特性に部分的に基づいて、物体出力を生成することであって、物体出力は、センサデータの部分の中の物体の検出と関連付けられるインジケーションを含む、こととを含む、1つ以上の動作を実施することができる。図示されるように、
図4は、出力画像400、物体410、境界エリア412、分類モデル414、物体420、境界エリア422、分類モデル424、および歩道エリア430を示す。
【0104】
出力画像400は、物体データ(例えば、多段分類子システム200からの物体データ)に基づく、またはそれと関連付けられ得る、画像を描写する。示されるように、出力画像は、物体410(例えば、車両)、境界エリア412(例えば、物体410を囲繞するエリア)、分類モデル414(例えば、多段分類子システム200の第1段階コンピューティングシステム210によって使用される機械学習物体検出および認識モデルのうちの1つ以上のものを含む、分類モデル)、物体420(例えば、車両ではない物体)、境界エリア422(例えば、物体420を囲繞するエリア)、および分類モデル424(例えば、多段分類子システム200の第2段階コンピューティングシステムによって使用される機械学習物体検出および認識モデルのうちの1つ以上のものを含む、分類モデル)を含む。
【0105】
境界エリア412内の出力画像400の一部が、分類モデル414への入力として提供されるとき、分類モデル414は、境界エリア412内で検出される物体が背景ではない(例えば、境界エリア412内で検出される物体が着目される)ことを示す、出力を生成することができる。境界エリア412内の出力画像400の一部が、分類モデル424への入力として提供されるとき、分類モデル424は、境界エリア412内で検出される物体が車両であることを示す、出力を生成することができる。
【0106】
本実施例では、物体420(例えば、車両)は、出力画像400と関連付けられるヒートマップによると、車両によって占有される可能性が低い出力画像400の一部である、歩道エリア430の上に位置する。境界エリア422内の出力画像400の一部が、分類モデル414への入力として提供されるとき、分類モデル414は、境界エリア422内で検出される物体が背景ではない(例えば、境界エリア422内で検出される物体が着目される)ことを示す、出力を生成することができる。境界エリア422内の出力画像400の一部が、分類モデル424への入力として提供されるとき、分類モデル424は、境界エリア422内で検出される物体が車両であることを示す、出力を生成することができる。本実施例では、ヒートマップは、車両が境界エリア422内にある確率を減少させたが、しかしながら、多段分類子システム200によって決定される物体420の他の特性は、物体420が車両であるという決定をもたらし得る。
【0107】
図5は、本開示の例示的実施形態による、多段分類子による物体検出および決定木の使用の第2の実施例を描写する。出力は、例えば、
図1に示される車両104、車両コンピューティングシステム108、および/または動作コンピューティングシステム150、または
図2に示される多段分類子システム200を含む、1つ以上のデバイス(例えば、1つ以上のコンピューティングデバイス)またはシステムによる、環境の1つ以上の部分の検出および/または処理に部分的に基づくことができる。また、環境の1つ以上の部分の検出および処理は、例えば、物体の物理的寸法、位置、形状および/または配向を決定するように、1つ以上のデバイスまたはシステム(例えば、
図1に示される車両104、車両コンピューティングシステム108、および/または動作コンピューティングシステム150)のハードウェアコンポーネント上でアルゴリズムとして実装されることができる。さらに、
図5の多段分類子は、センサデータの部分を含む、物体データを受信することと、多段分類の第1の段階で、第1の機械学習モデルに部分的に基づいて、センサデータの部分の第1段階特性を決定することと、多段分類の第2の段階で、第2の機械学習モデルに部分的に基づいて、センサデータの部分の第2段階特性を決定することと、第1段階特性および第2段階特性に部分的に基づいて、物体出力を生成することであって、物体出力は、センサデータの部分の中の物体の検出と関連付けられるインジケーションを含む、こととを含む、1つ以上の動作を実施することができる。図示されるように、
図5は、出力画像500、物体510、境界エリア512、分類モデル514、物体520、境界エリア522、および分類モデル524を示す。
【0108】
出力画像500は、物体データ(例えば、多段分類子システム200からの物体データ)に基づく、またはそれと関連付けられ得る、画像を描写する。示されるように、出力画像は、物体510(例えば、歩行者)、境界エリア512(例えば、物体510を囲繞するエリア)、分類モデル514(例えば、多段分類子システム200の第1段階コンピューティングシステム210によって使用される、機械学習物体検出および認識モデルのうちの1つ以上のものを含む、分類モデル)、物体520(例えば、歩行者)、境界エリア522(例えば、物体520を囲繞するエリア)、および分類モデル524(例えば、多段分類子システム200の第2段階コンピューティングシステム230によって使用される機械学習物体検出および認識モデルのうちの1つ以上のものを含む、分類モデル)を含む。
【0109】
境界エリア512内の出力画像500の一部が分類モデル514への入力として提供されるとき、分類モデル514は、境界エリア512内で検出される物体が前景であることを示す、出力を生成することができる。さらに、境界エリア512内の出力画像500の一部が、分類モデル524への入力として提供されるとき、分類モデル524は、境界エリア512内で検出される物体が歩行者であることを示す、出力を生成することができる。
【0110】
さらに、本実施例では、物体520は、マップ(例えば、出力画像500と関連付けられる地理的地域のマップ)によると、歩行者によって占有される可能性が高い出力画像500の一部(例えば、歩道部分)である、出力画像の一部の上に位置する。境界エリア522内の出力画像500の一部が、分類モデル514への入力として提供されるとき、分類モデル514は、境界エリア522内で検出される物体が前景であることを示す、出力を生成することができる。さらに、境界エリア522内の出力画像500の一部が、分類モデル524への入力として提供されるとき、分類モデル524は、境界エリア522内で検出される物体が歩行者であることを示す、出力を生成することができる。本実施例では、出力画像500と関連付けられるマップは、歩行者が境界エリア522内にいる確率を増加させ、多段分類子システム200によって決定される物体520の他の特性と併せて、分類モデル514は、物体520が前景であるという結果を出力し、分類モデル524は、物体520が歩行者であるという結果を出力した。
【0111】
図6は、本開示の例示的実施形態による、物体検出および認識の例示的方法のフロー図を描写する。
図6に図示される、方法600の1つ以上の部分は、例えば、
図1に示される車両104、車両コンピューティングシステム108、または動作コンピューティングシステム150、または
図2に示される多段分類子システム200を含む、1つ以上のデバイス(例えば、1つ以上のコンピューティングデバイス)またはシステムによって、実装されることができる。また、方法600の1つ以上の部分は、例えば、物体データを受信すること、1つ以上の物体の特性を決定すること、および1つ以上の物体の検出と関連付けられる物体出力を生成することを含む、物体の多段検出および/または認識を実施するように、(例えば、
図1のように)本明細書に説明されるデバイスのハードウェアコンポーネント上のアルゴリズムとして実装されることができる。
図6は、例証および議論の目的のために特定の順序で実施される要素を描写する。本明細書で提供される開示を使用する当業者は、本明細書に議論される方法のうちのいずれかの要素が、本開示の範囲から逸脱することなく、種々の方法で適合される、再配列される、拡張される、省略される、組み合わせられる、および/または修正され得ることを理解するであろう。
【0112】
602では、方法600は、センサデータの1つ以上の部分を備える、物体データを受信することを含むことができる。例えば、多段分類子システム200の第1段階コンピューティングシステム210は、1つ以上のコンピューティングデバイス、および/または1つ以上のセンサデバイス202を含む、1つ以上のセンサデバイスから、物体データを受信することができる。
【0113】
いくつかの実施形態では、センサデータの1つ以上の部分(例えば、センサデータと関連付けられる1つ以上の画像の1つ以上の部分またはセグメント)は、1つ以上のセンサ(例えば、実際の物体および/または現象を検出する物理センサ)および/または1つ以上のシミュレートされたセンサ(例えば、1つ以上のコンピューティングデバイスによって生成される、シミュレートされたセンサ出力)からのセンサ出力に部分的に基づくことができる。1つ以上のセンサは、1つ以上の光検出および測距デバイス(ライダ)、1つ以上のカメラ、1つ以上のレーダデバイス、1つ以上のソナーデバイス、および/または1つ以上の熱画像デバイスを含むことができる。
【0114】
例えば、センサデータおよび/または物体データの1つ以上の部分は、1つ以上のカメラによって捕捉される画像を含む2次元画像、および/またはライダデバイスによって捕捉される3次元点群を含むことができる。センサデータの1つ以上の部分は、1人以上の歩行者、1つ以上の他の車両、輸送インフラストラクチャ、1人以上の自転車乗車者、および/または1つ以上の建物を含む、1つ以上の物体を検出および/または認識するように分析されることができる。さらに、物体データは、1つ以上の画像内の1つ以上の物体の1つ以上の物理的寸法(例えば、長さ、幅、および/または高さ)と関連付けられる、3次元点のセット(例えば、x、y、およびz座標)を含むことができる。
【0115】
604では、方法600は、センサデータの1つ以上の部分(例えば、602におけるセンサデータの1つ以上の部分)の1つ以上の特性を決定することを含むことができる。特に、方法600は、1つ以上のハードウェアコンポーネント(例えば、FPGAを含み得る、構成可能なハードウェアコンポーネント)の使用を含み得る、多段分類(例えば、2つ以上の段階を含む分類)の第1の段階で、第1の機械学習モデル(例えば、第1段階コンピューティングシステム210によって使用される機械学習物体検出および認識モデル)に部分的に基づいて、センサデータの1つ以上の部分の1つ以上の第1段階特性を決定することを含むことができる。例えば、第1段階コンピューティングシステム210は、1つ以上のセンサデバイス202から受信されるセンサデータの1つ以上の部分の1つ以上の特性を決定することができ、街路、建物、空、車両、歩行者、および/または自転車乗車者を含む、1つ以上の物体を検出および/または認識するように訓練された機械学習物体検出および認識モデルを使用して、決定を実施することができる。
【0116】
いくつかの実施形態では、物体検出システムは、多段分類の第1の段階で、第1の機械学習モデル(例えば、物体データを含み得るデータと関連付けられる第1の機械学習モデルデータ)の第1の部分のトラバーサルに部分的に基づいて、センサデータの1つ以上の部分の1つ以上の第1段階特性を決定することができる。いくつかの実施形態では、物体検出システムによって使用される第1の機械学習モデルは、ランダムフォレスト分類子、ニューラルネットワーク、勾配ブースティング、サポートベクタマシン、ロジスティック回帰分類子、および/またはブーステッドフォレスト分類子を含む、1つ以上の分類技法に部分的に基づくことができる。
【0117】
いくつかの実施形態では、多段分類の第1の段階は、複数の分類子標識(例えば、機械学習モデル分類子標識)と関連付けられる第1の複数のノードを含む、第1の部分のトラバーサルを含むことができる。第1の部分内の第1の複数のノードはそれぞれ、センサデータの1つ以上の部分の1つ以上の第1段階特性を分類、カテゴリ化、および/または決定するために使用される、分類子標識と関連付けられることができる。例えば、多段分類の第1の段階は、背景であるセンサデータの1つ以上の部分(例えば、街路表面および/または空を含む、着目されない物体と関連付けられるセンサデータの1つ以上の部分)の一部、および前景であるセンサデータの1つ以上の部分(例えば、車両、歩行者、および/または自転車乗車者を含む、着目される物体と関連付けられるセンサデータの1つ以上の部分)の一部を含む、1つ以上の第1段階特性の決定を含むことができる。故に、物体検出システムは、物体検出および/または認識の目的のために焦点を当てるべきセンサデータの1つ以上の部分のエリアを事前に(例えば、多段分類の第1または早期段階で)決定することによって、多段分類の第2の段階がセンサデータの1つ以上の部分をより効率的に処理することを可能にする、第1の段階出力(すなわち、1つ以上の第1段階特性と関連付けられるデータ)を提供することができる。
【0118】
いくつかの実施形態では、多段分類の第1の段階は、FPGA、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、またはグラフィックス処理ユニット(GPU)を含む、1つ以上のコンピューティングデバイスの1つ以上のハードウェアコンポーネントによって実施されることができる。一例として、GPUを使用することは、GPUの並列処理能力を活用することができ、これは、処理有効性を改良し、並行して画像を処理しない他の技法(例えば、1つ以上の画像の連続処理)の速度を超える物体検出、認識、および/または画像処理をもたらし得る。
【0119】
606では、方法600は、センサデータの1つ以上の部分の特性を決定することを含むことができる。いくつかの実施形態では、方法600は、多段分類の第2の段階で、センサデータの1つ以上の部分(例えば、602および/または604におけるセンサデータの1つ以上の部分)の特性、第2の機械学習モデルに部分的に基づく、センサデータの1つ以上の部分の1つ以上の第2段階特性を決定することを含むことができる。例えば、第2段階コンピューティングシステム230は、1つ以上のセンサデバイス202および/または第1段階コンピューティングシステム210から受信されるセンサデータの1つ以上の部分の1つ以上の特性を決定することができ、街路、建物、空、車両、歩行者、および/または自転車乗車者を含む、1つ以上の物体を検出および/または認識するように訓練された機械学習物体検出および認識モデルを使用して、決定を実施することができる。
【0120】
いくつかの実施形態では、1つ以上の第1段階特性および/または1つ以上の第2段階特性は、それぞれ、第1の機械学習モデルおよび第2の機械学習モデルを使用して決定されることができる。第1の機械学習モデルは、第1の複数の分類子標識と関連付けられる第1の複数のノードを含むことができ、第2の機械学習モデルは、第2の複数の分類子標識と関連付けられる第2の複数のノードを含むことができる。いくつかの実施形態では、第1の機械学習モデル(604における機械学習物体検出および認識モデル)および/または第2の機械学習モデル(606における機械学習物体検出および認識モデル)は、ニューラルネットワーク、ランダムフォレスト分類子、勾配ブースティング、サポートベクタマシン、ロジスティック回帰分類子、またはブーステッドフォレスト分類子を含む、1つ以上の分類技法に部分的に基づくことができる。
【0121】
いくつかの実施形態では、604において決定される1つ以上の第1段階特性は、センサデータの1つ以上の部分の一部が前景または背景であるとき、または前景または背景であるかどうかのインジケーションを含むことができ、606において決定される1つ以上の第2段階特性は、センサデータの1つ以上の部分の前景部分の物体分類を含むことができる。例えば、第1段階コンピューティングシステム210は、背景(例えば、空および/または街路表面)を含む、センサデータの1つ以上の部分を決定することができる。これらの背景部分は、第2段階コンピューティングシステムによる後続の分析から除外されることができる。第1段階コンピューティングシステムが、前景を含むセンサデータの1つ以上の部分を決定するとき、次いで、第2段階コンピューティングシステム230は、センサデータの1つ以上の前景部分をさらに分析し、その中の物体(例えば、車両および/または歩行者または他の着目物体)を検出および/または分類することができる。
【0122】
多段分類の第2の段階は、第2の複数の分類子標識と関連付けられる第2の複数のノードを含む、第2の機械学習モデルの実装を含むことができる。例えば、第2の機械学習モデル内の複数のノードはそれぞれ、1つ以上の画像の1つ以上の第1段階特性を分類、カテゴリ化、および/または決定するために使用される、分類子標識と関連付けられることができる。例えば、多段分類の第2の段階は、1つ以上の物体の場所および識別(例えば、1つ以上の画像内の歩行者の場所)を含む、1つ以上の画像の1つ以上の第2段階特性の決定を含むことができる。
【0123】
多段分類の第2の段階は、第1の段階の出力に部分的に基づく、1つ以上の画像の1つ以上の第2段階特性を決定することを含むことができる。1つ以上の第2段階特性は、1つ以上の第1段階特性を含むことができる(例えば、背景特性が、第1の段階で決定される場合、背景特性が、第2の段階でさらなる信頼のレベルまでさらに決定されることができる)。さらに、1つ以上の第2段階特性は、第1の段階で決定されなかった特性を含むことができる。例えば、1つ以上の物体(例えば、歩行者、車両、および/または自転車乗車者)が、第1の段階で決定されなかった場合、1つ以上の物体は、第2の段階で決定されることができる。
【0124】
いくつかの実施形態では、第2の機械学習モデルは、第1の機械学習モデル内の第1の複数のノードと等しい、またはそれよりも多数である、第2の複数のノードを含むことができる。例えば、第1の機械学習モデルが、500個のノードを含むことができる一方で、第2の機械学習モデルは、1,500個のノードを含むことができる。602において受信される物体データのサブセットが、第1の機械学習モデルおよび第2の機械学習モデルの両方によって分析される(例えば、606において決定される第2段階特性が、物体データの前景部分に関して決定されることができる)ため、次いで、別個の第1のおよび第2のモデルを使用するデータ処理は、類似性質の2,000個のノードを含む単一のモデルと比較して、有意により高速であり得る。加えて、第2の機械学習モデルは、より多くの分類子標識を含み得、第1のモデル分析後に1つ以上の物体を検出および/または識別することのさらなる正確度のためにトラバースされ得る、より深い第2のモデル分析を可能にすることができる。
【0125】
いくつかの実施形態では、多段分類の第2の段階の一部は、1つ以上の中央処理ユニット上で動作する、または実行される、1つ以上のソフトウェアコンポーネントを含む、1つ以上のコンピューティングデバイスの1つ以上のソフトウェアコンポーネント(例えば、1つ以上のプログラム命令を実行するソフトウェアアプリケーション)によって実施されることができる。
【0126】
608では、方法600は、1つ以上の第1段階特性および1つ以上の第2段階特性に部分的に基づいて、物体出力を生成することを含むことができる。物体出力は、センサデータの1つ以上の部分の中の1つ以上の物体の検出と関連付けられる1つ以上のインジケーションを含むことができる。
【0127】
例えば、多段分類子システム200は、1つ以上の第1段階特性と関連付けられるデータ(例えば、第1段階コンピューティングシステム210によって生成されるデータ)および/または1つ以上の第2段階特性と関連付けられるデータ(例えば、第2段階コンピューティングシステム230によって生成されるデータ)に部分的に基づいて、物体出力を生成することができる。物体出力は、センサデータの1つ以上の部分の中の1つ以上の物体の検出と関連付けられる、1つ以上のインジケーションまたはサインを含むことができる。いくつかの実施形態では、物体出力は、1つ以上の物体毎に、物体が検出されたかどうか、検出された物体のタイプ、検出される物体の場所、検出される物体の物理的特性、検出される物体の速度および/または加速度、および/または物体検出の推定正確度と関連付けられる確率の1つ以上のインジケーションを含むことができる。
【0128】
いくつかの実施形態では、608において生成される物体出力は、1つ以上の物体の検出に基づいて車両システムをアクティブ化すること(例えば、物体が車両の所定の近接内にあるときにブレーキをアクティブ化すること)、車両の経路を修正すること(例えば、建物、車両、および/または歩行者を含む、物体の周囲で車両を操作する)、および/または物体出力を1つ以上の車両システムまたは遠隔コンピューティングシステムと交信すること(例えば、物体出力が、低減されたセンサーカバレッジまたは容量を有し得る、他の車両による物体検出を改良するように、他の車両に送信されることができる)を含む、1つ以上のアクションを実施するために、1つ以上の車両システム(例えば、自律走行車両を含む車両の動作を制御するために使用される車両システム)によって使用されることができる。
【0129】
610では、方法600は、608において生成される物体出力に部分的に基づいて、1つ以上の画像内の1つ以上の物体と関連付けられる1つ以上の境界形状のための場所を決定することを含むことができる。例えば、多段分類子システム200は、物体出力に部分的に基づいて、センサデータの1つ以上の部分の中の1つ以上の物体と関連付けられる1つ以上の境界形状(例えば、2次元または3次元境界多角形および/または境界楕円)のための場所を決定することができる。物体検出システムは、第1の機械学習モデルおよび/または第2の機械学習モデルを使用し、物体またはあるタイプの物体を含有する可能性が高い(例えば、地面が画像の下半分の一部であり、空が画像の上半分の一部である画像内で、動力車または自転車乗車者が、画像の上半分よりも画像の下半分内にある可能性が高い)、センサデータの1つ以上の場所またはエリアを決定することができる。
【0130】
612では、方法600は、非最大抑制を含む画像処理技法に部分的に基づいて、1つ以上の境界形状のための場所のセットを選択することを含むことができる。例えば、多段分類子システム200は、1つ以上の境界形状を生成する場所のセットを選択することができる。例えば、画像勾配方向を分析することによって、場所のセットのそれぞれに対応するセンサデータの一部に関する極大値の一部ではないピクセルが、抑制されることができる。
【0131】
614では、方法600は、1つ以上の境界形状のための場所のセットの中で1つ以上の境界形状を生成することを含むことができる。例えば、多段分類子システム200は、1つ以上の境界形状のための場所のセットに基づいて、選択された場所で1つ以上の境界形状を生成することができる。いくつかの実施形態では、1つ以上の境界形状は、物体が検出されるディスプレイ出力の一部を完全に封入する、または部分的に被覆するように生成される、多角形(例えば、1つ以上の正方形および/または長方形)および/または楕円(例えば、1つ以上の円および/または卵形)として、ディスプレイデバイス(例えば、LCDディスプレイ)上に表現されることができる。
【0132】
図7は、本開示の例示的実施形態による、物体検出および認識の例示的方法の第2のフロー図を描写する。
図7に図示される方法700の1つ以上の部分は、例えば、
図1に示される車両104、車両コンピューティングシステム108、または動作コンピューティングシステム150、または
図2に示される多段分類子システム200を含む、1つ以上のデバイス(例えば、1つ以上のコンピューティングデバイス)またはシステムによって、実装されることができる。また、方法700の1つ以上の部分は、例えば、物体データを受信すること、1つ以上の物体の特性を決定すること、および1つ以上の物体の検出と関連付けられる物体出力を生成することを含む、物体の多段検出および/または認識を実施するように、(例えば、
図1のように)本明細書に説明されるデバイスのハードウェアコンポーネント上のアルゴリズムとして実装されることができる。
図7は、例証および議論の目的のために特定の順序で実施される要素を描写する。本明細書で提供される開示を使用する当業者は、本明細書に議論される方法のうちのいずれかの要素が、本開示の範囲から逸脱することなく、種々の方法で適合される、再配列される、拡張される、省略される、組み合わせられる、および/または修正され得ることを理解するであろう。
【0133】
702では、方法700は、多段分類の第1の段階(例えば、方法600における多段分類の第1の段階)で、物体データ(例えば、方法600における物体データ)に部分的に基づいて、1つ以上の画像(例えば、方法600における1つ以上の画像)と関連付けられる視覚記述子出力を生成することを含むことができ、視覚記述子出力は、色調情報、色飽和情報、明度情報、および/または配向勾配情報のヒストグラムを含むことができる。いくつかの実施形態では、1つ以上の第1段階特性(例えば、方法600の1つ以上の第1段階特性)は、視覚記述子出力に部分的に基づいて決定されることができる。例えば、多段分類子システム200の第1段階コンピューティングシステム210は、多段分類の第1の段階で、物体データに部分的に基づいて、1つ以上の画像(例えば、視覚画像)と関連付けられる視覚記述子出力を含む、データを生成することができる。いくつかの実施形態では、1つ以上の第1段階特性は、視覚記述子出力に部分的に基づくことができる(例えば、多段分類子システム200は、視覚記述子出力を使用し、センサデータの1つ以上の部分の1つ以上の第1段階特性を決定することができる)。例えば、多段分類子システム200は、明度情報を使用し、空と関連付けられる1つ以上の第1段階特性を決定することができる(例えば、空は、地面よりも明るい傾向があろう)。
【0134】
704では、方法700は、多段分類の第2の段階(例えば、方法600における多段分類の第2の段階)で、第1の段階からの視覚記述子出力に部分的に基づいて、1つ以上の画像(例えば、方法600における1つ以上の画像)と関連付けられるヒートマップを生成することを含むことができる。ヒートマップは、1つ以上の物体のうちの少なくとも1つが複数のエリアのうちの個別のものの内側にある確率と関連付けられる複数のエリアを含むことができる。例えば、多段分類子システム200は、車両物体が空中にある確率が非常に低い確率であることを示す、ヒートマップを生成することができる。さらに、多段分類子システム200は、1つ以上の画像を複数のエリアにセグメント化し、複数のエリア毎に、物体がそのエリア内にある確率を決定することができる。いくつかの実施形態では、1つ以上の第2段階特性(例えば、方法600における1つ以上の第2段階特性)は、ヒートマップに部分的に基づいて決定されることができる。
【0135】
706では、方法700は、第1の段階からの視覚記述子出力に部分的に基づいて、背景部分と関連付けられる1つ以上の画像の1つ以上の部分を決定することを含むことができる。いくつかの実施形態では、第2の段階で1つ以上の第2段階特性を決定することは、第2の段階で1つ以上の第2段階特性を決定することと、1つ以上の背景画像と関連付けられる1つ以上の画像の1つ以上の部分(例えば、着目されないことが決定される、1つ以上の画像の1つ以上の部分)を除外する(例えば、使用しない)こととを含むことができる。故に、多段分類の第2の段階は、物体データのより小さいサブセット(例えば、1つ以上の画像のうちの前景画像)に計算リソースを集中させ、背景の一部である1つ以上の画像の分析および/または処理に起因するリソースの無駄を回避することによって、より迅速に物体検出および認識を実施することができる。
【0136】
図8は、本開示の例示的実施形態による、物体検出および認識の例示的方法の第3のフロー図を描写する。
図8に図示される方法800の1つ以上の部分は、例えば、
図1に示される車両104、車両コンピューティングシステム108、または動作コンピューティングシステム150、または
図2に示される多段分類子システム200を含む、1つ以上のデバイス(例えば、1つ以上のコンピューティングデバイス)またはシステムによって、実装されることができる。また、方法800の1つ以上の部分は、例えば、物体データを受信すること、1つ以上の物体の特性を決定すること、および/または1つ以上の物体の検出と関連付けられる物体出力を生成することを含む、物体の多段検出および/または認識を実施するように、(例えば、
図1のように)本明細書に説明されるデバイスのハードウェアコンポーネント上のアルゴリズムとして実装されることができる。
図8は、例証および議論の目的のために特定の順序で実施される要素を描写する。本明細書で提供される開示を使用する当業者は、本明細書に議論される方法のうちのいずれかの要素が、本開示の範囲から逸脱することなく、種々の方法で適合される、再配列される、拡張される、省略される、組み合わせられる、および/または修正され得ることを理解するであろう。
【0137】
802では、方法800は、物体データ(例えば、方法600における物体データ)および第2の機械学習モデル(例えば、方法600における第2の機械学習モデル)に部分的に基づいて、発生した1つ以上の物体(例えば、方法600における1つ以上の物体)の1つ以上の第2段階特性(例えば、方法600における1つ以上の第2段階特性)の誤検出決定の量(例えば、発生数)を決定することを含むことができる。例えば、第2段階コンピューティングシステム230は、第1段階コンピューティングシステム210から受信される物体データに部分的に基づいて、発生した1つ以上の物体の1つ以上の第2段階特性の誤検出決定の量(例えば、検出されたが、実際には存在しなかった1つ以上の第2段階特性の数の決定)を決定することができる。
【0138】
いくつかの実施形態では、物体検出システムは、物体データおよび第1の機械学習モデルの後続の第2の機械学習モデルに部分的に基づいて、発生した1つ以上の物体の(第2の機械学習モデルが使用されるときの)1つ以上の第2段階特性の誤検出決定の量を決定することができる。例えば、1つ以上の第2段階特性の誤検出決定は、前景(例えば、横になっている歩行者)である物体データの一部が背景の一部であるという誤決定を含むことができる。多段分類の第2の段階は、続いて、物体データの一部が、背景ではなくて実際には前景であることを正しく決定することができる。故に、誤決定が発生する回数が、決定されることができる(例えば、多段分類子システム200によって決定される)。
【0139】
804では、方法800は、発生したと決定される誤検出の量が、所定の閾値レベルを超えるときに、第2の機械学習モデルの一部のトラバーサルを終了すること(例えば、方法600における第2の分類モデル内の第2の複数のノードのトラバーサルを終了することを含む、第2の決定木のトラバーサルを終了すること)を含むことができる。例えば、第2段階コンピューティングシステム230は、第2の機械学習モデルの一部(例えば、第2の決定木)を使用することができる。さらに、多段分類子システム200は、第2段階コンピューティングシステム230による誤検出決定の量が、所定の量(例えば、1つ以上の第2段階特性の総数に対する1つ以上の第2段階特性の誤検出決定の数および/または誤検出決定の割合)を超えるときに、第2段階コンピューティングシステム230による第2の機械学習モデルの一部(例えば、第2の決定木)のトラバーサルを終了することができる。
【0140】
いくつかの実施形態では、第2の分類モデル内の第2の複数のノードのうちの少なくとも1つのノードは、第1の分類モデル(例えば、方法600における第1の機械学習モデル)内の第1の複数のノード(例えば、方法600における第1の複数のノード)のうちの端末ノードであり、第2の分類モデルは、第1の複数のノードと等しい数のノードを含むことができ、および/または第2の分類モデルは、第1の複数のノードよりも多数のノードを含む。例えば、第2の分類モデル内の第1のノードは、第1の分類モデル内の端末ノードであり得る。したがって、第2の分類モデルは、第1の分類モデルの継続であり、分類分析を新たに開始することなく、第1の分類モデルを基礎とすることができる。
【0141】
いくつかの実施形態では、機械学習モデルのトラバーサルを終了するための所定の閾値レベルの決定は、第2の機械学習モデルの一部(例えば、決定木)の種々の深度における前もって確立されたデータセット(例えば、物体の全てが正しく識別された訓練データセット)上の第1の機械学習モデルまたは第2の機械学習モデルの性能(例えば、誤検出率)に基づくことができる。例えば、第2の機械学習モデルの一部(例えば、決定木)のトラバーサルを終了するための所定の閾値レベルは、誤検出の量が、検出された物体の所定の割合(例えば、検出された物体の1パーセント)または画像あたりの物体の所定の数(例えば、画像あたり4つの物体)を超えるときに、第1の機械学習モデルの一部(例えば、第1の決定木)の深度に部分的に基づくことができる。
【0142】
いくつかの実施形態では、多段分類の第1の段階は、並行して動作するカスタマイズされたデバイス(例えば、カスタマイズされたFPGA)上で実施されることができ、センサデータの一部(例えば、画像の一部)が前景または背景であるかどうかを含む、センサデータの1つ以上の部分の1つ以上の第1段階特性を迅速に決定することができる。1つ以上の第1段階特性を決定した後、多段分類の第2の段階は、さらなる深度を伴う(すなわち、ルートノードから端末ノードまでの経路に沿ってより多くのノードを有する)分類モデルを使用し、より高い信頼のレベルで、車両、歩行者、街路、建物、空、および/または自転車乗車者を含む、1つ以上の物体を検出、認識、および/または識別し得る、1つ以上の第2段階特性を決定することができる。
【0143】
図9は、本開示の例示的実施形態による、第2の例示的システムの略図を描写する。図示されるように、例示的システム900は、1つ以上のネットワーク980を経由して通信可能に結合される(例えば、信号および/またはデータを送信および/または受信するように構成される)、コンピューティングシステム902と、機械学習コンピューティングシステム930とを含む。さらに、例示的システム900は、センサデータの部分を含む、物体データを受信することと、多段分類の第1の段階で、第1の機械学習モデルに部分的に基づいて、センサデータの部分の第1段階特性を決定することと、多段分類の第2の段階で、第2の機械学習モデルに部分的に基づいて、センサデータの部分の第2段階特性を決定することと、第1段階特性および第2段階特性に部分的に基づいて、物体出力を生成することであって、物体出力は、センサデータの部分の中の物体の検出と関連付けられるインジケーションを含む、ことと含む、1つ以上の動作を実施することができる。
【0144】
いくつかの実装では、コンピューティングシステム902は、物体の多段検出および/または認識を含む、種々の動作を実施することができる。いくつかの実装では、コンピューティングシステム902は、自律走行車両内に含まれることができる。例えば、コンピューティングシステム902は、自律走行車両に内蔵され得る。他の実装では、コンピューティングシステム902は、自律走行車両に内蔵されて位置しない。例えば、コンピューティングシステム902は、オフラインで動作し、物体の多段検出および/または認識を実施することができる。コンピューティングシステム902は、1つ以上の明確に異なる物理的コンピューティングデバイスを含むことができる。
【0145】
コンピューティングシステム902は、1つ以上のプロセッサ912と、メモリ914とを含む。1つ以上のプロセッサ912は、任意の好適な処理デバイス(例えば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、および/またはマイクロコントローラ)であり得、1つのプロセッサ、または動作可能に接続される複数のプロセッサであり得る。メモリ914は、RAM、ROM、EEPROM、EPROM、1つ以上のメモリデバイス、および/またはフラッシュメモリデバイスを含む、1つ以上の非一過性のコンピュータ可読記憶媒体を含むことができる。
【0146】
メモリ914は、1つ以上のプロセッサ912によってアクセスされ得る、情報を記憶することができる。例えば、メモリ914(例えば、1つ以上の非一過性のコンピュータ可読記憶媒体および/またはメモリデバイス)は、取得される、受信される、アクセスされる、書き込まれる、操作される、作成される、および/または記憶され得る、データ916を記憶することができる。データ916は、例えば、本明細書に説明されるような実施例を含むことができる。いくつかの実装では、コンピューティングシステム902は、コンピューティングシステム902から遠隔にある1つ以上のメモリデバイスから、データを取得することができる。
【0147】
メモリ914はまた、1つ以上のプロセッサ912によって実行され得る、コンピュータ可読命令918を記憶することもできる。命令918は、任意の好適なプログラミング言語で書かれたソフトウェアであり得る、またはハードウェアで実装されることができる。加えて、または代替として、命令918は、1つ以上のプロセッサ912上の論理上および/または事実上別個のスレッド内で実行されることができる。
【0148】
例えば、メモリ914は、1つ以上のプロセッサ912によって実行されると、1つ以上のプロセッサ912に、例えば、物体の多段検出および/または認識を実施することを含む、本明細書に説明される動作および/または機能のうちのいずれかを実施させる、命令918を記憶することができる。
【0149】
本開示の側面によると、コンピューティングシステム902は、1つ以上の機械学習モデル910を記憶する、または含むことができる。実施例として、1つ以上の機械学習モデル910は、例えば、ニューラルネットワーク(例えば、ディープニューラルネットワーク)、サポートベクタマシン、決定木、アンサンブルモデル、k-近傍モデル、ベイジアンネットワーク、ロジスティック回帰分類、ブーステッドフォレスト分類、または線形モデルおよび/または非線形モデルを含む他のタイプのモデルを含む、種々の機械学習モデルを含むことができる。例示的ニューラルネットワークは、フィードフォワードニューラルネットワーク、リカレントニューラルネットワーク(例えば、長短期メモリリカレントニューラルネットワーク)、または他の形態のニューラルネットワークを含む。1つ以上の機械学習モデル910は、例えば、
図2の多段分類子システム200内の第1段階コンピューティングシステム210と関連付けられる第1の機械学習モデルおよび/または第2段階コンピューティングシステム230と関連付けられる第2の機械学習モデルを含むことができる。
【0150】
いくつかの実装では、コンピューティングシステム902は、1つ以上のネットワーク980を経由して、機械学習コンピューティングシステム930から1つ以上の機械学習モデル910を受信することができ、メモリ914内に1つ以上の機械学習モデル910を記憶することができる。コンピューティングシステム902は、次いで、(例えば、1つ以上のプロセッサ912によって)1つ以上の機械学習モデル910を使用する、または別様に実装することができる。特に、コンピューティングシステム902は、1つ以上の機械学習モデル910を実装し、物体の多段検出および/または認識を実施することができる。
【0151】
機械学習コンピューティングシステム930は、1つ以上のプロセッサ932と、メモリ934とを含む。1つ以上のプロセッサ932は、任意の好適な処理デバイス(例えば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、および/またはマイクロコントローラ)であり得、1つのプロセッサ、または動作可能に接続される複数のプロセッサであり得る。メモリ934は、RAM、ROM、EEPROM、EPROM、1つ以上のメモリデバイス、および/またはフラッシュメモリデバイスを含む、1つ以上の非一過性のコンピュータ可読記憶媒体を含むことができる。
【0152】
メモリ934は、1つ以上のプロセッサ932によってアクセスされ得る、情報を記憶することができる。例えば、メモリ934(例えば、1つ以上の非一過性のコンピュータ可読記憶媒体、メモリデバイス)は、取得される、受信される、アクセスされる、書き込まれる、操作される、作成される、および/または記憶され得る、データ936を記憶することができる。データ936は、例えば、本明細書に説明されるような実施例を含むことができる。いくつかの実装では、機械学習コンピューティングシステム930は、機械学習コンピューティングシステム930から遠隔にある1つ以上のメモリデバイスから、データを取得することができる。
【0153】
メモリ934はまた、1つ以上のプロセッサ932によって実行され得る、コンピュータ可読命令938を記憶することもできる。命令938は、任意の好適なプログラミング言語で書かれたソフトウェアであり得る、またはハードウェアで実装されることができる。加えて、または代替として、命令938は、1つ以上のプロセッサ932上の論理上および/または事実上別個のスレッド内で実行されることができる。
【0154】
例えば、メモリ934は、1つ以上のプロセッサ932によって実行されると、1つ以上のプロセッサ932に、例えば、物体の多段検出および/または認識を実施することを含む、本明細書に説明される動作および/または機能のうちのいずれかを実施させる、命令938を記憶することができる。
【0155】
いくつかの実装では、機械学習コンピューティングシステム930は、1つ以上のサーバコンピューティングデバイスを含む。機械学習コンピューティングシステム930が、複数のサーバコンピューティングデバイスを含む場合、そのようなサーバコンピューティングデバイスは、例えば、順次コンピューティングアーキテクチャ、並列コンピューティングアーキテクチャ、またはそれらのある組み合わせを含む、種々のコンピューティングアーキテクチャに従って動作することができる。
【0156】
コンピューティングシステム902における1つ以上の機械学習モデル910に加えて、または代替として、機械学習コンピューティングシステム930は、1つ以上の機械学習モデル940を含むことができる。実施例として、1つ以上の機械学習モデル940は、例えば、ニューラルネットワーク(例えば、ディープニューラルネットワーク)、サポートベクタマシン、決定木、アンサンブルモデル、k-近傍モデル、ベイジアンネットワーク、ロジスティック回帰分類、ブーステッドフォレスト分類、または線形モデルおよび/または非線形モデルを含む他のタイプのモデルを含む、種々の機械学習モデルを含むことができる。例示的ニューラルネットワークは、フィードフォワードニューラルネットワーク、リカレントニューラルネットワーク(例えば、長短期メモリリカレントニューラルネットワーク、または他の形態のニューラルネットワーク)を含む。
【0157】
実施例として、機械学習コンピューティングシステム930は、クライアント-サーバ関係に従って、コンピューティングシステム902と通信することができる。例えば、機械学習コンピューティングシステム930は、1つ以上の機械学習モデル940を実装し、ウェブサービスをコンピューティングシステム902に提供することができる。例えば、ウェブサービスは、検出および/または認識された物体のタイプ、識別、および/またはクラスを含む、結果を提供することができる。
【0158】
したがって、1つ以上の機械学習モデル910は、コンピューティングシステム902において位置し、使用されることができ、および/または1つ以上の機械学習モデル940は、機械学習コンピューティングシステム930において位置し、使用されることができる。
【0159】
いくつかの実装では、機械学習コンピューティングシステム930および/またはコンピューティングシステム902は、モデルトレーナ960の使用を通して、1つ以上の機械学習モデル910および/または1つ以上の機械学習モデル940を訓練することができる。モデルトレーナ960は、1つ以上の訓練または学習アルゴリズムを使用して、1つ以上の機械学習モデル910および/または1つ以上の機械学習モデル940を訓練することができる。1つの例示的訓練技法は、誤差の後方伝搬である。いくつかの実装では、モデルトレーナ960は、標識訓練データのセットを使用して、監視下訓練技法を実施することができる。他の実装では、モデルトレーナ960は、非標識訓練データのセットを使用して、無監視訓練技法を実施することができる。モデルトレーナ960は、いくつかの一般化技法を実施し、訓練されているモデルの一般化能力を改良することができる。一般化技法は、加重減衰、ドロップアウト、または他の技法を含む。
【0160】
特に、モデルトレーナ960は、訓練データ962のセットに基づいて、1つ以上の機械学習モデル910および/または1つ以上の機械学習モデル940を訓練することができる。訓練データ962は、例えば、1つ以上の物体の種々の特徴を含むことができる。モデルトレーナ960は、1つ以上のプロセッサを制御する、ハードウェア、ファームウェア、および/またはソフトウェアで実装されることができる。
【0161】
コンピューティングシステム902はまた、コンピューティングシステム902から遠隔に位置するシステムまたはデバイスを含む、1つ以上のシステムまたはデバイスと通信するために使用される、ネットワークインターフェース924を含むこともできる。ネットワークインターフェース924は、1つ以上のネットワーク(例えば、1つ以上のネットワーク980)と通信するための任意の回路、コンポーネント、ソフトウェアを含むことができる。いくつかの実装では、ネットワークインターフェース924は、例えば、データを通信するための通信コントローラ、受信機、送受信機、伝送機、ポート、導体、ソフトウェア、および/またはハードウェアのうちの1つ以上のものを含むことができる。さらに、機械学習コンピューティングシステム930は、ネットワークインターフェース964を含むことができる。
【0162】
1つ以上のネットワーク980は、デバイスの間の通信を可能にする、任意のタイプのネットワークまたはネットワークの組み合わせを含むことができる。いくつかの実施形態では、1つ以上のネットワーク980は、ローカルエリアネットワーク、広域エリアネットワーク、インターネット、セキュアネットワーク、セルラーネットワーク、メッシュネットワーク、ピアツーピア通信リンク、および/またはそれらのある組み合わせのうちの1つ以上のものを含むことができ、任意の数の有線または無線リンクを含むことができる。1つ以上のネットワーク980を経由した通信は、例えば、任意のタイプのプロトコル、保護スキーム、エンコーディング、フォーマット、および/またはパッケージングを使用する、ネットワークインターフェースを介して、遂行されることができる。
【0163】
図9は、本開示を実装するために使用され得る、1つの例示的コンピューティングシステム900を図示する。他のコンピューティングシステムも、使用されることができる。例えば、いくつかの実装では、コンピューティングシステム902は、モデルトレーナ960と、訓練データ962とを含むことができる。そのような実装では、1つ以上の機械学習モデル910は、コンピューティングシステム902においてローカルで訓練および使用の両方を行われることができる。別の実施例として、いくつかの実装では、コンピューティングシステム902は、他のコンピューティングシステムに接続されない。
【0164】
加えて、コンピューティングシステム902または930のうちの1つの中に含まれるものとして図示および/または議論されるコンポーネントが、代わりに、コンピューティングシステム902または930のうちの別のものの中に含まれることができる。そのような構成は、本開示の範囲から逸脱することなく実装されることができる。コンピュータベースのシステムの使用は、コンポーネントの間で、かつその中から、タスクおよび機能性の多種多様な可能性として考えられる構成、組み合わせ、および分割を可能にする。コンピュータ実装動作は、単一のコンポーネント上で、または複数のコンポーネントを横断して、実施されることができる。コンピュータ実装タスクおよび/または動作は、連続的に、または並行して実施されることができる。データおよび命令は、単一のメモリデバイス内に、または複数のメモリデバイスを横断して、記憶されることができる。
【0165】
本主題は、その具体的な例示的実施形態および方法に関して詳細に説明されたが、当業者が、前述の理解を獲得することに応じて、そのような実施形態の改変、変形例、または均等物を容易に生成し得ることを理解されたい。故に、本開示の範囲は、限定ではなく、一例としてのものであり、本開示は、当業者に容易に明白となるであろうような本主題の修正、変形例、および/または追加の包含を除外しない。