JP2022516288A - 階層型機械学習ネットワークアーキテクチャ - Google Patents

階層型機械学習ネットワークアーキテクチャ Download PDF

Info

Publication number
JP2022516288A
JP2022516288A JP2021538780A JP2021538780A JP2022516288A JP 2022516288 A JP2022516288 A JP 2022516288A JP 2021538780 A JP2021538780 A JP 2021538780A JP 2021538780 A JP2021538780 A JP 2021538780A JP 2022516288 A JP2022516288 A JP 2022516288A
Authority
JP
Japan
Prior art keywords
model
subclass
classification
feature map
sensor data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021538780A
Other languages
English (en)
Other versions
JPWO2020142247A5 (ja
Inventor
ゴエル クラタース
タリク サラ
Original Assignee
ズークス インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ズークス インコーポレイテッド filed Critical ズークス インコーポレイテッド
Publication of JP2022516288A publication Critical patent/JP2022516288A/ja
Publication of JPWO2020142247A5 publication Critical patent/JPWO2020142247A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Traffic Control Systems (AREA)
  • Image Analysis (AREA)

Abstract

本明細書で説明される技術は、センサデータ内に表されていると検出された物体の分類を精密化することを含み得る。例えば、分類を精密化することは、物体のサブ分類を決定することを含み得る。

Description

本発明は階層型機械学習ネットワークアーキテクチャに関する。
コンピュータビジョンは、自律車両の操作、セキュリティ目的での個人の識別など、さまざまなアプリケーションにおいて使用される。コンピュータビジョン技術は、画像から顕著な部分を識別するソフトウェアコンポーネントを構築することと、コンピュータがさらなる操作を実行するために使用できる形式でコンピュータに画像の顕著な部分を表すことと、および/または物体を追跡することと、を含み得る。しかしながら、比較的稀な物体および/または動作がコンピュータビジョンシステムを混乱させ、コンピュータビジョンシステムが物体を誤って分類するおよび/または検出に失敗する結果を引き起こし得る。例えば、稀な物体は、大きな物体を押すまたは運ぶ歩行者、スケートボーダー、支柱(stilts)を使用する歩行者、車椅子を使用する個人など、を含み得る。
詳細な説明は添付の図面を参照して説明される。図において、参照番号の左端の数字は、その参照番号が最初に現れる図を識別する。異なる図における同じ参照番号は、同様のまたは同等の項目を示す。
図1は、センサデータで表される環境内の複数の物体を検出する自律車両を示す例示的なシナリオを示している。 図2は、第1の機械学習モデルの例示的なアーキテクチャのブロック図を示している。 図3は、コンピュータビジョンの精度を改善する、および/または知覚システムのトレーニング性を改善するための例示的な機械学習モデルアーキテクチャのブロック図を示している。 図4は、センサデータで表される物体のサブ分類を決定するための例示的なプロセスのフロー図を示す。 図5は、サブクラスの機械学習(ML)モデルをトレーニングおよび/または使用するための例示的なシステムのブロック図を示している。
本明細書で説明される技術は、例えば、物体検出の精度を高めること、および/または機械学習(ML)モデルのトレーニング性を高めることによって、コンピュータビジョンを改善し得る。トレーニング性は、MLモデルがどの程度高い信頼性(例えば、MLモデルの出力が現実世界を正確にモデル化する、および/またはグラウンドトゥルースと一致する可能性を示す、MLモデルによって決定される、確率)で現実世界をモデル化できる、ならびに/または、正確および高い信頼性で現実世界をモデル化するためにMLモデルをトレーニングするのがどの程度難しいかを示す。
本明細書で説明される技術は、MLモデルの精度を高める、およびMLモデルのトレーニング性を高める(例えば、閾値、例えば、98%、99%、99.999%、を満たすまた超える精度および/または信頼性を達成するトレーニング方法の複雑さを軽減する)MLモデル構造を含み得る。この技術は、第1のMLモデルを使用して、センサデータ(例えば、画像、光検出および測距(LIDAR)センサデータ、RADARセンサデータ)から物体を検出することを含み得る。第1のMLモデルは、センサデータを受信し、物体に関連付けられた分類および/または物体の表現によって占められるセンサデータの一部に関連付けられた関心領域(ROI)を出力し得る。分類は、例えば、「歩行者」、「車両」、「自転車」、「標識」、「動物」、「交通障害物」(例えば、コーン、バリア)などの物体の一般的な分類を示し得る。ROIは、MLモデルが物体の存在に対応するとして示すセンサデータの一部を識別する任意の方法であり得る。例えば、ROIは、検出された物体(例えば、「境界ボックス」)に関連付けられていると識別されたピクセルを示す座標、検出された物体に対応するピクセルを識別するマスク、LIDARポイントクラウドのポイントなどを含み得る。
技術は、分類を受信することと、複数のサブクラスMLモデルの中から1つのサブクラスMLモデルを、分類に少なくとも部分的に基づいて選択することと、を含み得る。サブクラスMLモデルを選択することは、入力としてサブクラスMLモデルに提供する1つまたは複数の特徴マップのサブセットを決定することを含み得る。いくつかの例では、各サブクラスMLモデルが異なる分類に関連付けられ得るが、追加または代替の例では、2つのサブクラスMLモデルが共通の分類を共有し得ることが理解される。例えば、第1のサブクラスMLモデルは「歩行者」分類に関連付けられ得、第2のサブクラスMLモデルは「車両」分類に関連付けられ得る。したがって、第1のMLモデルが「歩行者」分類を出力する場合、この技術は、第1のサブクラスMLモデルを選択することを含み得る。いくつかの例では、選択コンポーネントは、第1の分類に少なくとも部分的に基づいて、第1のサブクラスMLモデルに第1のサブセットを提供し、第2の分類に少なくとも部分的に基づいて、第2のサブクラスMLモデルに第2のサブセットを提供し得る。このような選択は、モデル内のプーリング計算の一部として、別のサブネットワークとして、またはその他のやり方で、論理ステートメント(例えば、switch、if-thenなど)により得る。
いくつかの例では、第1のMLモデルは、追加的または代替的に、1つまたは複数の特徴マップを出力し得る。例えば、1つまたは複数の特徴マップは、インスタンスセグメンテーション特徴マップ、セマンティックセグメンテーション特徴マップ、検出特徴マップなどを含み得る。インスタンスセグメンテーション特徴マップは、画像内の異なる物体の個別の表現を識別し得、および/またはセマンティックセグメンテーションは、画像内の物体の表現に関連付けられたセマンティックラベルを識別し、および同じセマンティック分類の2つの物体間を区別するための固有の識別子を提供し得る。「セグメンテーション」は、センサデータの離散部分のマスクおよび/または他の識別を含み得る。例えば、センサデータが画像を含む場合、セグメンテーションは、検出、ラベルなどに関連付けられた画像のピクセルを識別し得、センサデータがLIDARポイントクラウドを含む場合、セグメンテーションは、ポイントクラウドのポイントの少なくともサブセットの識別子を含み得る。
サブクラスMLモデルを選択することに少なくとも部分的に基づいて、技術は、追加的または代替的に、第1のMLモデルの出力の少なくとも一部を、選択されたサブクラスMLモデルへの入力として提供することを含み得る。例えば、技術は、第1のモデルによって生成されたROIに少なくとも部分的に基づいて、1つまたは複数の特徴マップおよび/または第1のモデルへの入力をクロッピングすること、およびクロッピングされた特徴マップおよび/またはROIを選択されたサブクラスMLモデルに提供することを含み得る。次に、選択されたサブクラスMLモデルは、クロッピングされた特徴マップおよび/またはROIに少なくとも部分的に基づいてサブクラスMLモデルを評価し得、それによって、センサデータで検出された物体に関連付けられたサブ分類および/または確率を生成する。
例えば、第1のMLモデルが、センサデータで検出された物体に伴って、一般的な分類「歩行者」を生成した場合、技術は、分類「歩行者」に関連付けられた第1のサブクラスMLモデルを選択することを含み得る。このサブクラスMLモデルは、物体に関連付けられた「歩行者」のサブ分類の識別を試みようとするように構成され得る。例えば、「歩行者」の潜在的なサブクラスは、「物体を押す/引く歩行者」、「物体を保持している歩行者」、「車輪付き歩行者」、「車椅子の個人」などのサブクラスを含み得る。
いくつかの例では、分類および第1の確率は第1のMLモデルから受信され得る、および第2の確率および/またはサブ分類は選択されたサブクラスMLモデルから受信され得る。技術は、第2の確率が確率閾値を満たすまたは超えるかどうかを決定することを含み得る。第2の確率が確率閾値を満たすまたは超える場合、技術は、物体に関連付けられた出力に伴って、サブ分類を出力することを含み得る(例えば、出力は、知覚システムが、知覚システムにて受信されたセンサデータから物体を検出したことを示し得る)。いくつかの例では、出力は、1つまたは複数の特徴マップ、ROIなどの少なくとも一部を含み得る。
第2の確率が確率閾値よりも小さい場合、技術は、第1の確率が確率閾値を満たすまたは超えるかどうかを決定することと、第1の確率が確率閾値を満たすまたは超えると決定すると物体の検出に伴って、分類を出力することと、を含み得る。いくつかの例では、第1の確率が確率閾値よりも小さい場合、サブクラスMLモデルがそもそも選択されず、第1の確率が確率閾値を満たすまたは超えるかどうかを決定する必要がなくなる場合がある。そのような例では、技術は、第2の確率が確率閾値よりも小さいことを決定することと、物体の検出に伴って分類を出力することと、を含み得る。
追加または代替の例では、技術は、第1のMLモデルに関連付けられた第1の確率閾値と、サブクラスMLモデルに関連付けられた第2の確率閾値とを含み得る。いくつかの例では、第1の確率閾値は、第2の確率閾値よりも大きい場合があるが、追加または代替の例では、第1の確率閾値は、第2の確率閾値と等しいまたは小さい場合がある。
いくつかの例では、技術は、追加的または代替的に、サブクラスMLモデルおよび/または第1のMLモデルを介して損失を逆伝播することによって、選択されたサブクラスMLモデルおよび/または第1のMLモデルをトレーニングすること(例えば、サブクラスMLモデルに関連付けられた分類のために)を含み得る。いくつかの例では、損失は、サブクラスMLモデルおよび/または分類によって生成されたサブ分類および/または確率、第1のMLモデルによって生成された、確率、1つまたは複数の特徴マップ、および/またはROIに対して逆伝播され得る。いくつかの例では、第1の損失は、第1のMLモデルについて計算され得る(例えば、ROIおよび/または分類を指定するグラウンドトゥルースに少なくとも部分的に基づいて)、および第2の損失は、サブクラスMLモデルについて計算され得る(例えば、分類および/またはサブ分類を指定するグラウンドトゥルースに少なくとも部分的に基づいて)。複数のモデルが使用される例では、サブクラスMLモデルは第2の損失を使用してトレーニングされ得る、および/または第1のMLモデルは、第1の損失および/または第2の損失の逆伝播に少なくとも部分的に基づいてトレーニングされ得る(すなわち、エンドツーエンドでモデルをトレーニングする)。第2の損失を逆伝播して第1のMLモデルをトレーニングすることは、第1のMLモデルの精度をさらに精密化し得る。単一のモデル(ニューラルネットワークなど)が使用される他の例では、モデルは1つまたは複数の損失を使用し、その損失を精密化のために逆伝播し得る。
本明細書に記載の技術は、物体を分類し得る特異性を高めること、および/または物体検出に伴って第1のMLモデルおよび/またはサブクラスMLモデルによって生成される信頼性スコアを高めることによって、物体の検出の精度を改善し得る。さらに、本明細書で説明される技術は、本明細書で説明される技術なしでは達成可能ではない場合がある手段で、第1のMLモデルのトレーニングを微調整する。例えば、サブクラスMLモデルから第1のMLモデルを介して損失を逆伝播することは、第1のMLモデルによって決定された分類の信頼性および/または精度をさらに改善し得る(同時に、サブクラスMLモードの信頼性および/または精度を改善する)。さらに、本明細書で説明される技術は、まばらなトレーニングデータが利用可能な場合でも、「稀な」タイプの物体に対して十分な精度(例えば、95%または98%を超える精度)を達成し得る。例えば、乗用車両に対して利用可能なトレーニングデータの量は、車椅子の個人、支柱(stilts)を使用する個人などに対して利用可能なトレーニングデータの量をはるかに超え得る。
本明細書で説明される技術は、本明細書で説明される技術を統合するシステムの安全性を改善し得る。例えば、自律車両のサブシステムとして本明細書で説明される技術を実装することにより、自律車両はより安全におよび/または効率的に操作し得る。技術は、サブクラスに関連付けられた確率が確率閾値より少ない場合、サブクラスに少なくとも部分的に基づいて、および/または一般的な分類に少なくとも部分的に基づいて自律車両の制御に復帰することによって、自律車両の操作を制御することを含み得る。
[例示的なシナリオ]
図1は、1つまたは複数のセンサによって収集されたセンサデータから自律車両を取り巻く環境内の複数の物体を検出する自律車両102を含む例示的なシナリオ100を示している。いくつかの例では、自律車両102は、米国運輸省道路交通安全局によって発行されたレベル5分類に従って操作するように構成された自律車両であり得、これは、ドライバー(または乗員)が常に車両を制御することを期待することなく、全体行程のすべての安全上重要な機能を実行可能な車両について説明している。しかしながら、他の例では、自律車両102は、他のレベルまたは分類を有する完全なまたは部分的な自律車両であり得る。本明細書で説明される技術は、自律車両用などのロボット制御以外に対して適用され得ることが企図される。例えば、本明細書で説明される技術は、ビデオゲーム、製造、拡張現実などに適用され得る。
本明細書で説明される技術によれば、自律車両102は、自律車両102のセンサ104からセンサデータを受信し得る。例えば、センサデータは、位置信号(例えば、GPS信号)、慣性信号(例えば、加速度計信号、ジャイロスコープ信号など)、磁気計信号、ホイールエンコーダ信号、速度計信号、蓄積されたLIDARおよび/またはRADARポイントのポイントクラウド、1つの画像(または複数の画像)、音声信号、および/またはバリアトリックまたはその他の環境信号などを含み得る。例えば、自律車両102は、センサ104から画像106を受信し得る。本明細書の説明は、簡単にするために主に画像について説明するが、技術は、物体を個別に表す任意のセンサデータ(例えば、物体を表すポイントを含むLIDARおよび/またはRADARポイントクラウド)に適用し得ることが企図される。
いくつかの例では、自律車両は、知覚エンジン110および/またはプランナ112を含み得るコンピューティングデバイス108を含み得る。知覚エンジン110は、自律車両102の環境から収集されたセンサデータから物体を検出、識別、セグメント化、分類、および/または追跡するための1つまたは複数のMLモデルおよび/または他のコンピュータ実行可能命令を含み得る。いくつかの例では、知覚エンジン110は、自律車両102のセンサ104からセンサデータを受信し、センサデータから知覚データを決定し、グローバルマップおよび/またはローカルマップ上の自律車両102の位置を推定し、1つまたは複数の軌道を決定し、経路またはルートを走行する自律車両102の動きを制御し、および/またはそうでなければ自律車両102の操作を制御するプランナ112によって使用させるために、プランナ112に知覚データを送信し得るが、このような操作は、様々な他のコンポーネントにおいて実行され得る(例えば、位置測定は不図示の位置測定エンジンによって実行され得る)。いくつかの例では、知覚データは、センサデータから検出された物体に関連付けられたROIおよび/または一般的な分類を含み得る。
図示の例では、自律車両102は、車両116、複数の自転車、複数の歩行者、複数の標識物体、および様々な異なる環境物体(例えば、車道、歩道、木、建物)の表現を含む画像106(および/または他のセンサデータ)を受信し得る。知覚エンジン110は、画像106に表されているように車両116を検出することに少なくとも部分的に基づいて、ROI118を生成し得る。図示の例では、ROI118はバウンディングボックスであるが、ROIを識別するための他の技術が企図されている。図1はさらに、知覚エンジン110によって検出され得る異なる物体に対して知覚エンジン110によって生成され得る他の様々なROIを示しているが、単純化および明確化のために、それらはすべてラベル付けされていない。例えば、他のROIは、自転車、別の車両、および交通標識を識別するが、画像(および/または他のセンサデータ)の追加または代替部分が、知覚エンジン110によって検出され得ることが理解される。
いくつかの例では、知覚エンジン110は、物体の一般的な分類を、第1のMLモデルによって追加的または代替的に決定し得る。例えば、第1のMLモデルは、MLモデルによって決定される最も高い確率に対応する、複数の一般的な分類の中から、1つの分類の表示(indication)を出力するようにトレーニングされ得る。いくつかの例では、一般的な分類は、階層の最上位に関連付けられたラベルを含み得る。一般的な分類は、例えば、「自転車」、「車両」、「歩行者」、「動物」、「環境物体」などの分類を含み得る。示されている例では、これらの一般的な分類は、一般的な分類120「自転車」、一般的な分類122「車両」、一般的な分類124「歩行者」および一般的な分類126「標識」を含む。明確にするために、一般的な分類のサンプリングのみが図1に示されているが、知覚エンジン110の第1のMLモデルは、センサデータから検出された1つまたは複数のROIおよび/または物体に対する一般的な分類を決定し得ることが理解される。
本明細書で説明される技術は、追加的または代替的に、第1のMLモデルおよび1つまたは複数のサブクラスMLモデルを含む構造を含み得る。構造は、第1のMLモデルの出力が、1つまたは複数のサブクラスMLモデルのうちの少なくとも1つに対応し得るように構成され得る。いくつかの例では、第1のMLモデルは、複数の候補分類の中から一般的な分類を出力し得、これを使用して、サブクラスMLモデルの少なくとも1つを選択し得る。例えば、候補分類は「自転車」、「歩行者」、「標識」などを含み得るが、第1のMLモデルは、ROI118に関連付けられたピクセルに対応して、一般的な分類122「車両」を出力するようにトレーニングされる。少なくともいくつかの例では、第1のMLモデルおよび追加のサブクラスMLモデルとして説明されているが、単一のMLモデルは、第1のMLモデルおよびサブクラスMLモデルを含み得る。つまり、モデルの1つの層からの出力は一般的な分類を含み得、そのようなモデルの他の層はサブ分類を出力し得る。
サブクラスMLモデルは、第1のモデルの複数の候補分類の特定の分類に関連付けられ得る。例えば、第1のサブクラスMLモデルは「歩行者」に関連付けられ得、第2のサブクラスMLモデルは「車両」に関連付けられ得る。第1のMLモデルの出力に少なくとも部分的に基づいて、構造は、サブクラスMLを選択し、第1のMLモデルの1つまたは複数の出力をサブクラスMLモデルに入力として提供し得る。サブクラスMLモデルは、複数の候補分類の中から物体に関連付けられたサブ分類を決定し得る。
いくつかの例では、プランナ112は、ROI、一般的な分類、サブ分類、および/または特徴マップを含む知覚データを使用して、自律車両102の操作を制御するための命令を生成し得る。例えば、プランナ112は、第1の場所から第2の場所への自律車両102のルートを決定し、receding horizon technique(例えば、1マイクロ秒、0.5秒、数秒など)に従って、ならびに、ROI、一般的な分類、サブ分類、および/または特徴マップに少なくとも部分的に基づいて、自律車両102の動きを制御するための複数の潜在的な軌道を、実質的に、同時に生成し、ルートを走行するように車両を制御し、自律車両102の駆動コンポーネントに送信され得る駆動制御信号を生成するために使用され得る自律車両102の軌道として、潜在的な軌道のうちの1つを選択し得る。
[例示的な第1のMLモデルアーキテクチャ]
図2は、第1のMLモデル202の例示的なアーキテクチャ200に関する追加の詳細を示している。いくつかの例では、第1のMLモデル202は、1つまたは複数のセンサからセンサデータ204を受信し得る。いくつかの例では、センサデータ204は、例えば、画像206および/またはLIDARデータ、RADARデータ、生体測定データ、環境データなどのような画像を含み得る。画像206は、例えば、二次元空間に投影された、グレースケール画像、赤-緑-青(RGB)画像、飛行時間画像(a time of flight image)、深度画像、赤外線画像、LIDARポイント(および/または他の三次元センサデータポイント)の画像、および/またはそれらの任意の組み合わせなどの画像を含み得る。第1のMLモデル202は、追加的または代替的に、1つまたは複数のセンサ(例えば、LIDARセンサおよび/またはRADARセンサからのポイントクラウド)から他のタイプのセンサデータを受信することを含み得ることが理解される。
第1のMLモデル202は、例えば、畳み込みニューラルネットワーク(CNN)などのニューラルネットワークを含み得る。いくつかの例では、第1のMLモデル202は、複数の層を含み得、その1つまたは複数が出力を生成し得る。いくつかの例では、第1のMLモデルは、1つまたは複数の層の出力を集約するためのコンポーネント、同じ検出に対応する特徴マップの部分をプールするためのコンポーネントなどを含み得る。
第1のMLモデル202は、少なくとも、第1のMLモデルがニューラルネットワークで構成される例において、センサデータ204に少なくとも部分的に基づいて、第1のMLモデル202の様々な層に関連付けられた、およびトレーニング時に学習された重みに従って、1つまたは複数の特徴マップ(「特徴マップ208」)、1つまたは複数のROI(「ROI210」)、および/または1つまたは複数の分類および/または確率(「分類および/または確率212」)を出力し得る。例えば、第1のMLモデル202は、第1のMLモデル202の層に関連付けられた、センサデータ204および重みに少なくとも部分的に基づく、インスタンスセグメンテーション特徴マップ、セマンティックセグメンテーション特徴マップ、高密度深度特徴マップ、物体方向特徴マップ(例えば、検出された物体の推定方向を識別する特徴マップ)、および/または検出特徴マップ、を生成し得る。インスタンスセグメンテーション特徴マップは、物体に関連付けられたピクセル(および/またはセンサデータの他の離散部分)および/または、モデルによって決定される際にそれに関連付けられた追加のデータを識別するマスクを含み得る。本明細書の説明は、いくつかの特徴マップのコンテンツを説明しようとするが、特徴マップ208は、センサデータ204のコンピュータおよび/またはニューラルネットワーク変換であり得る第1のMLモデル202の出力を含み得るため、特徴マップ208の1つまたは複数は、人間的に理解可能な用語で記述されない場合があることが理解される。少なくともいくつかの例では、そのような特徴マップ208は、同じモデルからである必要はなく、物体に関する追加情報(例えば、センサデータ上で実行され、物体に関連付けられている、セグメンテーション、分類、検出など)を提供する任意の数のモデルからである。
いくつかの例では、物体に関連付けられた(ROI210の)ROIは、例えば、歩行者214などの物体に対応するものとして、画像206(および/または他のセンサデータ)の一部および/または特徴マップ208の一部を識別し得る。例えば、ROIは、長方形(すなわち、バウンディングボックス)などの形状の中心および寸法、および/または物体に起因する画像の一部のいずれかの他の識別、および/またはそれに関連付けられた不確実性を含み得る。いくつかの例では、物体に関連付けられているセンサデータ204の離散部分を識別する、および/または複数の検出された物体を区別するために物体に一意の識別子を提供し得るインスタンスセグメンテーションとは対照的に、ROIは、物体に関連付けられたセンサデータ204の一部のより「大まかな」識別とし得る(例えば、ROIは、検出された各物体に対して同じ形状を含み得、物体がROI内に収まるようにサイズ設定され得る、言い換えれば、ROIは、いくつかの例では、物体以外を識別し得る)。
追加または代替の例では、第1のMLモデル202は、分類および/または確率212を生成し得る。第1のMLモデル202は、ROIおよび/またはインスタンスセグメンテーションに関連付けられたセンサデータ204の一部に少なくとも部分的に基づいて、分類および/または確率を生成し得る。これにより、第1のMLモデル202は、センサデータ204の一部を分類に関連付けられているとして識別し、いくつかの例では、分類がセンサデータ204の部分に正しく関連付けられている可能性(確率)を識別し得る。いくつかの例では、第1のMLモデル202は、分類および/または確率として、歩行者214などの物体に関連付けられた確率分布を生成し得る。図示の例は、歩行者214に関連付けられた確率分布216を示している。例えば、第1のMLモデル202は、第1のMLモデル202の層によって生成され、歩行者214の表現に関連付けられたROIおよび/またはインスタンスセグメンテーションに少なくとも部分的に基づいて、確率分布216を生成し得る。いくつかの例では、第1のMLモデル202は、センサデータ204自体、特徴マップ208のサブセット、および/またはROI210などに少なくとも部分的に基づいて、確率分布216を生成し得る。
確率分布216は、一般的な分類に関連付けられた確率を識別し得、確率は、センサデータの一部が分類によって識別されたタイプの物体に対応する可能性を示す。図2は、x軸上の候補分類(218)およびy軸上の各候補分類について決定された対応する確率(220)をプロットする棒グラフとして、確率分布216を示している。例えば、図示の例では、候補分類「歩行者」222は、候補分類「車両」224よりもはるかに高い確率に関連付けられている(図示の例では、確率分布216は、歩行者214に関連付けられたセンサデータ204および/または特徴マップ208の一部に少なくとも部分的に基づいて、第1のMLモデル202によって生成された)
いくつかの例では、第1のMLモデル202は、特徴マップ208、ROI210、ならびに/または、分類および/もしくは確率212を精密化MLモデル226に出力する(例えば、連結、またはその他によって)。精密化MLモデル216は、図3でより詳細に論じられるように、1つまたは複数のサブクラスMLモデルを含み得る。異なるMLモデルとして示されているが、精密化MLモデル216および第1のMLモデル202は、単一のMLモデルの一部であってもよい(例えば、第1のMLモデル202および/または精密化MLモデル226がニューラルネットワークを含む例におけるニューラルネットワークの異なる層のセット)。
[例示的なアーキテクチャ]
図3は、コンピュータビジョンの精度を改善する、および/または知覚システムのトレーニング性を改善するための例示的なアーキテクチャ300のブロック図を示している。いくつかの例では、例示的なアーキテクチャ300は、知覚エンジン110などの知覚エンジンの一部を表し得る。
図示の例では、例示的なアーキテクチャ300は、第1のMLモデル202、選択コンポーネント302、および/または1つまたは複数のサブクラスMLモデル304(1)~304(p)(総称して「サブクラスMLモデル304」)を含み得る。いくつかの例では、選択コンポーネント302および/またはサブクラスMLモデル304は、精密化MLモデル226の一部であり得る。第1のMLモデル212は、センサデータ204を受信し得、センサデータ204に少なくとも部分的に基づいて、総称して特徴データ306として表される、特徴マップ208、ROI210、ならびに/または、分類および/もしくは確率212を生成し得る。いくつかの例では、特徴データ306は、センサデータ204から検出された物体に関連付けられたデータのセットを含み得る。例えば、特徴データ306は、第1の物体に関連付けられた第1の特徴マップ、第1のROI、ならびに/または第1の分類および/もしくは第1の確率、第2の物体に関連付けられた第2の特徴マップ、第2のROI、ならびに/または第2の分類および/もしくは第2の確率を含み得る。
いくつかの例では、特徴データ306は、選択コンポーネント302によって受信され得る。選択コンポーネント302は、第1のMLモデル202から受信した分類に少なくとも部分的に基づいて、サブクラスMLモデル304のうちの少なくとも1つを選択し得る。いくつかの例では、選択は、論理ステートメント(switch、if-thenなど)、分類出力に関連付けられたプーリング操作、サブクラスMLモデル内のサブモデル、第1のMLモデル、または学習された異なるモデルなどによって実行され得る。いくつかの例では、個々のサブクラスMLモデル、例えば、サブクラスMLモデル304(p)は、第1のMLモデル202に関連付けられている候補分類(例えば、第1のMLモデル202から出力されることが可能である分類)の1つまたは複数に関連付けられ得る。少なくとも1つの例では、pは、第1のMLモデルに関連付けられた候補分類の数に等しい整数であり得るが、追加のまたは代替の例では、pは、候補分類の数より少ないまたは多い整数であり得る。
例えば、選択コンポーネントが、第1のMLモデル(例えば、「車両」)からの第1の分類を含む第1のデータセットを含む特徴データ306を受信する場合、選択コンポーネント302は、第1の分類に関連付けられた第1のサブクラスMLモデルを選択し得、特徴データ306が、第2の分類(例えば、「歩行者」)を含む第2のデータセットをさらに含む場合、選択コンポーネント302は、第2の分類に関連付けられた第2のサブクラスMLモデルを選択し得る。いくつかの例では、選択コンポーネント302は、特徴データ306内に含まれる各セットを送信する先のサブクラスMLモデル304のどのサブクラスMLモデルかを決定してもよい。言い換えれば、特徴データ306は、第1のMLモデル202によって検出された各物体の特徴データのセットを含み得、選択コンポーネント302は、特徴データのセットに関連付けられた分類に少なくとも部分的に基づいて、適切なサブクラスMLモデルに、異なる物体に関連付けられた特徴データのセットをルーティングするためのハードウェアおよび/またはソフトウェアスイッチを含み得る。
図示の例では、サブクラスMLモデル304(p)は、分類「歩行者」に関連付けられ得る。第1のMLモデル202からの分類「歩行者」を含む特徴データ306のセットを受信することに少なくとも部分的に基づいて、選択コンポーネント302は、サブクラスMLモデル304(p)を選択して、サブクラスを決定、および/またはセットをさらに処理し得る。選択コンポーネント302は、分類「歩行者」に関連付けられた特徴データ306のセットのいずれかを、「歩行者」セット308として、サブクラスMLモデル304(p)に、送信し得る。例えば、「歩行者」特徴セット308は、歩行者214に関連付けられた第1のMLモデル202によって生成された1つまたは複数の特徴マップ(分類特徴マップ、セグメンテーション特徴マップ、検出特徴マップ、他の特徴マップなど)の少なくとも一部を含み得る。追加または代替の例では、「歩行者」特徴セット308は、追加または代替として、ROI、分類、および/または確率を含み得るが、いくつかの例では、ROIを使用し、検出された物体に関連付けられた特徴マップの部分を決定し得、および分類を使用し、その部分を送信する先のサブクラスMLモデルを決定し得る。
追加または代替の例では、選択コンポーネント302は特徴マップの一部を決定し、選択されたサブクラスMLモデル、例えば、図示の例のサブクラスMLモデル304(p)への入力として、提供し得る。例えば、選択コンポーネント302は、第1のMLモデル202から受信したROIに少なくとも部分的に基づいて、1つまたは複数の特徴マップの一部をクロッピングおよび/またはそうでなければ識別して、選択されたサブクラスMLモデルに提供し得る。
いくつかの例では、個々のサブクラスMLモデル304(p)は、サブクラスMLモデル304(p)が関連付けられている、一般的な分類に関連付けられている、1つまたは複数の候補サブ分類の中から、サブ分類および/または確率を出力(310)するようにトレーニングされ得る。例えば、サブクラスMLモデル304(p)が分類「歩行者」に関連付けられている場合、サブクラスMLモデル304(p)に関連付けられた候補サブ分類は、「物体を保持している歩行者」312、「車輪付き歩行者」314(例、スケートボード、スクーター、SegwayTM、その他の個人用交通機関に乗る個人)、「物体を押す/引く歩行者」316、「車椅子の個人」、「支柱(stilts)を使用する個人」、「子供」、「建設作業員」、「公安職員」などを含み得る。いくつかの例では、出力310は、サブクラスMLモデル304(p)に関連付けられた候補サブ分類にわたる確率分布318を含み得る。確率分布318が、x軸上の例示的な候補サブ分類320およびy軸上の確率322を含む棒グラフとして、図3に示されている。
さらに説明するために、分類「標識」に関連付けられた別のサブクラスMLモデルは、候補サブ分類「交通標識」、「ビルボード」、「ポスター」、「その他の広告」などに関連付けられ得る。さらに、サブクラスモデルは、サブクラスMLモデルの追加(および/またはそれ以下)レベルの親になり得る。例えば、第1のMLモデルは、一般的な分類、「車両」、「歩行者」、「標識」などに関連付けられ得、第1のサブクラスMLモデルは、分類「標識」に関連付けられ得、および、親として、サブ分類「交通標識」に関連付けられる第2のサブクラスMLモデルに関連付けられ得る。「交通標識」は、第1のサブクラスMLモデルの候補クラスであり得、その子である第2のサブクラスMLモデルは、候補サブ分類「停止標識」、「イールド標識(yield sign)」、「速度標識」、「車線合流標識」などに関連付けられ得る。
言い換えれば、例示的なアーキテクチャ300は、分類によって関連付けられた親MLモデルおよび子MLモデルの階層構造を含み得、子MLモデルは、親MLモデルによって生成された分類に関連付けられたサブ分類を出力するようにトレーニングされる。本明細書で説明するMLモデルによって生成される分類および/またはサブ分類は、MLモデルの階層構造を反映し得る。例えば、「イールド標識(yield sign)」は、「標識:交通標識:イールド標識(yield sign)」として、第2のサブクラスMLモデルによって示され得る。
図示の例に戻ると、選択コンポーネント302から受信した特徴データのセット(例えば、物体、いくつかの例では、追加的または代替的に、ROI、ならびに/または分類および/もしくは確率に関連付けられた1つまたは複数の特徴マップの少なくとも一部を含み得る)に少なくとも部分的に基づいて、サブクラスMLモデル304(p)は、確率分布316を生成し得る。いくつかの例では、サブクラスMLモデル304(p)は、出力310の一部として、サブ分類および/または確率を出力する。例えば、サブクラスMLモデル304(p)は、確率閾値324を満たすまたは超える確率に関連付けられる、および/または確率分布318を超える最大の確率である候補サブ分類を決定し得る。
いくつかの例では、出力するサブ分類の1つを決定することに少なくとも部分的に基づいて、サブクラスMLモデル304(p)は、出力サブ分類が確率閾値324を満たすまたは超えるかどうかを決定し得る。例えば、サブ分類が確率分布320内のすべての確率の最大確率に関連付けられ得る場合でも、確率が低すぎて信頼し得ない(例えば、95%未満、90%未満、80%未満、70%未満)。出力サブ分類に関連付けられた確率が確率閾値324よりも小さい場合、サブクラスMLモデル304(p)は、サブ分類の代わりに、第1のMLモデル202から受信した分類を出力し得る。しかしながら、確率が確率閾値を満たすまたは超える場合、サブクラスMLモデル304(p)は、サブ分類を出力し得る。追加または代替の例では、サブクラスMLモデル304(p)は、サブ分類が確率閾値を下回る確率に関連付けられている場合でも、一般的な分類に加えてサブ分類を出力し得るが、いくつかの例では、サブクラスMLモデル304(p)は、サブ分類が確率閾値324未満の確率に関連付けられているという表示を追加または代替的に出力し得る。
図示の例では、サブクラスMLモデル304(p)は、サブ分類「物体を保持している歩行者」314が確率閾値326を満たすまたは超える確率に関連付けられていると、および/または確率が確率分布318の複数の確率の最大確率であると、決定することに少なくとも部分的に基づいて、サブ分類「物体を保持している歩行者」314および/またはそれに関連付けられた確率を出力し得る。しかしながら、サブ分類「物体を保持している歩行者」314が確率閾値326未満の確率に関連付けられていたとしても、サブクラスMLモデル304(p)がそれを決定することになった場合、サブクラスMLモデル304(p)は「物体を保持している歩行者」314の代わりに「歩行者」を出力し得る。
サブクラスMLモデル304(p)が追加のサブクラスMLモデル(不図示)(例えば、一般的な分類「標識」に関連付けられたサブクラスモデル、サブ分類「交通標識」に関連付けられた追加のサブクラスモデル)の親である例では、サブクラスMLモデル304(p)によって決定されたサブ分類が確率閾値326を満たすまたは超えるという決定に少なくとも部分的に基づいて、サブクラスMLモデル304(p)は、サブ分類を追加の子サブクラスMLモデルに送信し得、これはサブ分類(サブ分類の)および/または確率を決定し得る。しかしながら、サブクラスMLモデル304(p)が、サブ分類が確率閾値324よりも小さいと決定した場合、サブクラスMLモデル304(p)は、追加のサブクラスMLモデルをバイパスして、代わりに一般的な分類を出力し得る。
いくつかの例では、分類およびサブ分類は、階層的に関連する分類を区別するためのセマンティックラベルおよび/またはデータ構造を含み得る。例えば、第1のMLモデル202によって決定された一般的な分類から2階層下の構造のMLモデルのサブクラスMLモデルによって生成されたセマンティックラベルは、「標識:交通:停止標識」として表され得る。
いくつかの例では、異なるMLモデルのトレーニングデータは、一般的な分類(すなわち、サブクラスMLモデルが関連付けられている親の候補分類)および/またはそれらが関連付けられている候補分類に応じて変化し得る。例えば、一般的な分類「標識」に関連付けられた第1のサブクラスMLモデルは、さまざまな標識を含むトレーニングデータ上でトレーニングされ得る。いくつかの例では、第1のサブクラスMLモデルのためのトレーニングデータは、少なくとも1つの記号を含むトレーニングデータのみを含み得るが、追加または代替の例では、トレーニングデータは、サブクラスMLモデルをネガティブにトレーニングする記号(例えば、標識ではない)を含まないデータを含み得る。一方、一般的な分類「歩行者」に関連付けられた第2のサブクラスMLモデルは、標識を含んでもよく含まなくてもよいが、「車椅子の個人」などの稀な分類に関連する物体が含まれるトレーニングデータにおいてトレーニングされ得る。第1のMLモデルは、より広くトレーニングされ一般的なクラスを区別し得るが、いくつかの例では、サブクラスを区別しない。例えば、第1のMLモデルは、「歩行者」、「車両」、「標識」などを示すが、「物体を保持している歩行者」、「車椅子の個人」、「四輪車両」、「停止標識」、「イールド標識(yield sign)」、「速度標識」などは示さないグラウンドトゥルースを使用してトレーニングされ得る。
追加または代替の例では、第1の損失は、第1のトレーニングデータ(例えば、グラウンドトゥルースを含み得る)と比較した第1のMLモデル202の出力に少なくとも部分的に基づいて、第1のMLモデル202について計算され得、第2の損失は、第1のMLモデル202の候補分類に関連付けられたサブクラスMLモデルについて計算され得る。第2の損失は、サブクラスMLモデルの出力と、第1のトレーニングデータおよび/または第2のトレーニングデータによって示されるグラウンドトゥルースとの差に、少なくとも部分的に基づき得る。サブクラスMLモデルに関連付けられたパラメータは、第2の損失を最小化するように変更され得る。第1のMLモデル202に関連付けられたパラメータは、第1の損失および/または第2の損失を最小化するように変更され得る。いくつかの例では、トレーニングデータによって示されるグラウンドトゥルースは、分類の正しい階層を示すタグを含み得る。例えば、グラウンドトゥルースは、「車両:四輪車両:セダン」または「標識:交通標識:イールド標識(yield sign)」などのタグを含み得る。いくつかの例では、第1のMLモデル202および/または1つまたは複数のサブクラスMLモデルについて計算された損失は、そのような階層的タグに少なくとも部分的に基づき得る。そのような第1および第2の損失は、第1のMLモデル202によって実行される分類、検出、および/またはセグメンテーション(インスタンスセグメンテーションであり得る)に関連付けられた第3の損失に追加または代替であり得る。
トレーニングは、階層の最上位(例えば、第1のMLモデル202)から、特徴データを受信した最下位のニューラルネットワークまで、ニューラルネットワークのパラメータを変更することを含み得る。例えば、分類「標識:交通標識:イールド標識(yield sign)」が最終的に出力された場合、第1のMLモデル202および少なくとも2つのサブクラスMLモデルは、MLモデルに対して計算された損失に少なくとも部分的に基づいてトレーニングされ得る。追加または代替の例では、分類「標識:交通標識」が最終的に出力された場合、第1のMLモデル202、第1のサブクラスMLモデル(「交通標識」に関連付けられた)、および/またはさらなるサブクラスMLモデルがトレーニングされ得る。例えば、さらなるサブクラスMLモデルは、第1のサブクラスMLモデルから特徴データを受信した可能性があるが、確率閾値を満たすまたは超える確率に関連付けられた分類を生成しなかった可能性がある。
いくつかの例では、第1のMLモデル202が最初にトレーニングされ得、第1のMLモデル202が十分な精度に達した後、サブクラスMLモデルがトレーニングされ得る。例えば、第1のMLモデル202は、第1のMLモデル202が確率閾値を満たすまたは超える分類を出力するまで、トレーニングされ得る。追加または代替の例では、第1のMLモデル202は、サブクラスMLモデルの1つまたは複数の層と同時にトレーニングされ得る。
いくつかの例では、サブ分類MLモデルに対して計算された損失は、サブ分類および/または第1のMLモデルまでのおよび第1のMLモデルを含む任意の親MLモデルを介して逆伝播され得る。例えば、1つまたは複数のモデルが使用されている場合、モデルは「エンドツーエンド」でトレーニングされていると呼ばれ得る。
本明細書の説明は、いくぶん連続的なアーキテクチャおよびプロセスについて説明しているが、例示的なアーキテクチャ300は、並列パイプラインを含み得る。本明細書で説明されるコンポーネントのいずれかが、操作を順次および/または並行して達成し得る。例えば、異なるROI、分類、および/または確率は、異なるサブクラスMLモデルおよび/または選択コンポーネントによって並行して処理され得る
いくつかの例では、本明細書で説明されるコンポーネントの1つまたは複数は、ニューラルネットワークとして、全体的または部分的に実装され得る。本明細書に記載されるように、例示的なニューラルネットワークは、入力データを一連の接続された層に通して出力を生成する生物学的に着想を得たアルゴリズムである。ニューラルネットワークの各層は別のニューラルネットワークを含み得る、または任意の数の層(畳み込みかどうかに関係なく)を含み得る。本開示のコンテキストで理解し得るように、ニューラルネットワークは機械学習を利用し得、これは、学習されたパラメータに基づいて出力が生成されるようなアルゴリズムの広範なクラスを指し得る。
ニューラルネットワークのコンテキストで論じたが、任意のタイプの機械学習を本開示と一致させて使用し得る。例えば、機械学習アルゴリズムは、限定しないが、回帰アルゴリズム、インスタンスベースのアルゴリズム、ベイジアンアルゴリズム、相関ルール学習アルゴリズム、深層学習アルゴリズムなどを含み得る。ニューラルネットワークアーキテクチャの追加または代替の例は、ResNet50、ResNet101、VGG、DenseNet、PointNetなどのニューラルネットワークを含み得る。
[例示的なプロセス]
図4は、センサデータで表される物体のサブ分類を決定するための例示的なプロセス400を示している。いくつかの例では、例示的なプロセス400は、例示的なアーキテクチャ300のコンポーネントによって達成され得る。
オペレーション402にて、例示的なプロセス400は、本明細書で説明される技術のいずれかに従って、センサデータを受信することを含み得る。
オペレーション404にて、例示的なプロセス400は、第1のMLモデルによって、本明細書で説明される技術のいずれかに従って、ROI、物体に関連付けられた分類、および/または1つまたは複数の特徴マップを生成することを含み得る。いくつかの例では、本明細書で説明されるアーキテクチャによれば、第1のMLモデルは、1つまたは複数の子MLモデル(異なるMLモデルおよび/または第1のMLモデルと同じMLモデルの追加のサブネットワークであり得る)の親(および/またはサブネットワーク)であり得、各子MLモデル(つまり、サブクラスMLモデル)は、第1のMLモデルが確率分布を生成するようにトレーニングされた異なる候補分類に対応する。追加または代替の例では、子MLモデルが関連付けられている分類が重複し得、その結果、2以上のサブクラスモデルは、第1のMLモデルによって出力された分類に少なくとも部分的に基づいて、サブクラスおよび/または分類確率を生成し得る。いくつかの例では、分類は、ROIに関連付けられ、および/またはそうでなければ、センサデータ内の物体の表現に関連付けられ得る。
オペレーション406にて、例示的なプロセス400は、第1のMLモデルによって生成された分類に少なくとも部分的に基づいて、本明細書で説明された技術のいずれかに従って、複数のサブクラスMLモデルの中からサブクラスMLモデルを選択することを含み得る。いくつかの例では、オペレーション406は、どのサブクラスMLモデルが第1のMLモデルの子として関連付けられているかを識別することをさらに含み得る。しかしながら、追加のまたは代替の例では、サブクラスMLモデルは、第1のMLモデルの出力が、第1のMLモデルの出力によって示される分類に対応するサブクラスMLモデルに直接送信されるように、第1のMLモデルに(例えば、ハードウェアおよび/またはソフトウェアスイッチによって)通信可能に結合され得る。それにもかかわらず、サブクラスMLモデルを選択することは、サブクラスMLモデルが第1のMLモデルによって生成された分類に関連付けられていることを決定することを含み得る。追加または代替の例では、第1のMLモデルおよびサブクラスMLモデルは、同じニューラルネットワークのサブ部分であり得る。このような例において、オペレーション406は省略され得る。
いくつかの例では、オペレーション406は、追加的または代替的に、第1のMLモデルによって生成されたデータの一部を決定し、選択されたサブクラスMLモデルに提供することを含み得る。例えば、第1のMLモデルは、ROIおよび/または分類を生成することに加えて、またはその代わりに、第1のMLモデルは、例えば、インスタンスセグメンテーション、セマンティックセグメンテーション、高密度深度特徴マップ、物体指向特徴マップ、検出特徴マップなどのような1つまたは複数の特徴マップを生成し得る。オペレーション406にて、例示的なプロセス400は、1つまたは複数の特徴マップの部分を決定し、センサデータで表される物体に対応する選択されたサブクラスMLモデルに提供することを含み得る。これは、ROIに対応する特徴マップおよび/もしく物体に対応するセンサデータの離散部分の他の表示の一部分をクロッピングするならびに/またはそうでなければ選択すること、を含み得る。一部分が決定されると、一部分、第1のMLモデルによって決定されたROI、および/または第1のMLモデルによって決定された分類が、サブクラスMLモデルに提供され得る。いくつかの例では、これは、センサデータから検出された1つまたは複数の物体に対して繰り返され得る(例えば、検出された各物体に対して、サブクラスMLモデルを選択し、1つまたは複数の特徴マップの少なくとも一部を決定し、その部分を選択したサブクラスMLモデルに提供し得る)。
いくつかの例では、第1のMLモデルは、qチャネルを含み得、qは、MLモデルによって受信されたセンサデータの次元に対応するように選択された整数であり得る。いくつかの例では、サブクラスMLモデルは、rチャネルを含み得、rは、ROIおよび/または特徴マップを生成する第1のMLモデルの出力層の次元に対応する整数であり得る。
オペレーション408において、例示的なプロセス400は、選択されたサブクラスMLモデルによって、本明細書で説明される技術のいずれかに従って、物体に関連付けられたサブ分類および/またはサブ分類確率を生成することを含み得る。例えば、サブ分類および/または確率を生成することは、上記で決定された特徴マップの部分および/もしくは第1のMLモデルへの入力、第1のMLモデルによって決定されたROI、ならびに/または第1のMLモデルによって決定された分類に、少なくとも部分的に基づき得る。ただし、サブクラスMLモデルは、物体に対応すると決定された特徴マップの部分に少なくとも部分的に基づいて、サブ分類および/または確率を生成するようにトレーニングされ得るため、トレーニングが完了すると、いくつかの例では、サブクラスMLモデルは第1のMLモデルによって決定された分類および/またはROIを受信し得ない。いくつかの例では、選択コンポーネントは、部分が第1のMLモデルによって生成された分類に対応する正しいサブクラスMLモデルにルーティングされることを確実にし得る。例えば、選択コンポーネントは、親MLモデルの出力ノードから子MLモデルの入力ノードならびに/またはハードウェアおよび/もしくはソフトウェアスイッチにデータを送信するように設計されたニューラルネットワークの層を含み得る。
いくつかの例では、サブクラスMLモデルは、サブクラスMLモデルがトレーニングされた候補サブ分類全体の確率分布を決定し得る。いくつかの例では、サブクラスMLモデルは、他の候補分類よりも高い確率に関連付けられている候補サブ分類の1つを決定し得る。このサブ分類は、極大値、最大値、上位四分位数よりも大きい確率などに関連付けられ得る。
オペレーション410において、例示的なプロセス400は、本明細書で説明される技術のいずれかによって、サブクラスMLモデルによって生成されたサブ分類に関連付けられた確率が確率閾値を満たすかどうか(例えば、確率が確率閾値を満たすまたは超えるかどうか)を決定することを含み得る。確率閾値は、例えば、99%、98%、95%、90%、80%、75%などの値を含み得る。オペレーション410は、追加的または代替的に、確率分布の他の確率よりも大きい確率から2番目に大きい確率までの間に差があるかどうかを決定することと、差が識別閾値を満たすまたは超えるかどうかを決定することを含み得る。例えば、第1の確率が95%、第2の確率が92%であり、識別閾値が5%の場合、第1の確率と第2の確率の差は、その差が3%であるため、識別閾値を満たしていないまたは超えていない。これは、モデルが、分類を十分に識別しておらず、物体が同時に2つの異なる分類であると強く確信していること、を示し得る。いくつかの例では、特定の分類が同時出力され得、および/または他の分類が識別閾値に関連付けられ得る。例えば、サブ分類「物体を引っ張る/押す個人」は、サブ分類「子」と同時出力され得るが、「物体を引っ張る/押す個人」は、サブ分類「車輪付き歩行者」に関連する識別閾値に関連付けられ得る。
サブ分類に関連付けられた確率が確率閾値よりも小さい場合、例示的なプロセス400は、オペレーション412に進み得る。いくつかの例では、第1のMLモデルおよび/またはサブクラスMLモデルの出力は、追加的または代替的に、それぞれ第1のMLモデルおよび/またはサブクラスMLモデルの最後の層を介して出力され得る。オペレーション412において、例示的なプロセス400は、本明細書で説明される技術のいずれかに従って、分類を物体に関連付けることを含み得る。例えば、これは、サブクラスMLモデルによって生成されたサブ分類を物体に関連付ける代わりに、第1のMLモデルによって生成された分類を物体に関連付けることを含み得る。サブクラスMLモデルが親から子のサブクラスMLモデルに関連付けられている例では、これらのサブクラスMLモデルはスキップされ得、分類が出力され得る。追加または代替の例では、確率が確率閾値を満たさないと決定することに少なくとも部分的に基づいて、部分、ROI、および/または分類を代替のサブクラスMLモデルに提供し得る。例えば、代替のサブクラスMLモデルは、分類に追加的に関連付けられ得るか、または追加または代替の例において、サブクラスMLモデルは、分類に関連付けられた確率よりも低い確率に関連付けられた第1のMLモデルによって決定された第2の分類に関連付けられ得る。例えば、第2の分類は2番目に高い確率に関連付けられ得る。説明のために、第1のサブクラスMLモデルは、親候補分類「交通標識」に関連付けられ得、第2のサブクラスMLモデルは、親候補分類「ビルボード」に関連付けられ得る。
サブ分類に関連付けられた確率が確率閾値を満たすまたは超える場合、例示的なプロセス400は、オペレーション414に進み得る。オペレーション414において、例示的なプロセス400は、本明細書で説明される技術のいずれかに従って、サブ分類を物体に関連付けることを含み得る。サブ分類を物体に関連付けることは、チャネルにサブスクライブする(例えば、パブリッシュ/サブスクライブアーキテクチャを介して)コンポーネント(例えば、プランナ、位置測定およびマッピングコンポーネント)に、チャネルを介して、知覚エンジンによって公開された検出メッセージの一部としてサブ分類を出力することを含み得る。
追加または代替の例では、サブクラスMLモデルが他のサブクラスMLモデルに親として関連している場合、サブクラスMLモデルは、サブ分類に対応する子サブクラスMLモデルに、特徴マップのサブ分類および/または部分を送信し得る。上記のオペレーション408~414でのプロセスは、子サブクラスMLモデルで繰り返され得る。ただし、子サブクラスMLモデルによって生成されたサブ分類が、第2の確率閾値よりも小さい場合(例えば、確率閾値に等しい、超える、または小さい可能性がある)、分類を物体に関連付ける代わりに、例示的なプロセス400は、サブクラスMLモデルのサブ分類を物体に関連付けることを含み得る。いくつかの例では、ROI、分類、および/または確率は、第1のMLモデルによって出力され得、サブ分類および/または確率は、特徴データが到達する(例えば、選択/転送によって)任意のサブクラスMLモデルによって追加的または代替的に出力され得る。
[例示的なシステム]
図5は、本明細書で説明される技術を実施する例示的なシステムのブロック図を示す。いくつかの例では、システム500は、図1の自律車両102に対応し得る車両502を含み得る。いくつかの例では、車両502は、米国運輸省道路交通安全局によって発行されたレベル5分類に従って操作するように構成された自律車両であり得、これは、ドライバー(または乗員)が車両を常に制御することを期待することなく、全体行程のすべての安全上重要な機能を実行可能な車両について説明している。しかしながら、他の例では、車両502は、他のレベルまたは分類を有する完全なまたは部分的な自律車両であり得る。さらに、いくつかの例では、本明細書に記載の技術は、非自律車両によっても使用可能であり得る。本明細書で説明される技術は、自律車両などのロボット制御以外に対しても適用され得ることが企図される。例えば、本明細書で説明される技術は、ビデオゲーム、製造、拡張現実などに適用され得る。
車両502は、車両コンピューティングデバイス504、1つまたは複数のセンサ506、1つまたは複数のエミッタ508、1つまたは複数のネットワークインターフェース510、および/または1つまたは複数の駆動コンポーネント512を含み得る。
いくつかの例では、センサ506は、LIDARセンサ、RADARセンサ、超音波トランスデューサー、sonarセンサ、位置センサ(例えば、全地球測位システム(GPS)、コンパスなど)、慣性センサ(例えば、慣性測定ユニット(IMUs)、加速度計、磁気計、ジャイロスコープなど)、画像センサ(例えば、赤-緑-青(RGB)、赤外線(IR)、強度、深度、飛行時間カメラ(time of flight cameras)など)、マイク、ホイールエンコーダ、環境センサ(例えば、温度センサ、湿度センサ、光センサ、圧力センサなど)などを含み得る。センサ506は、これらまたは他のタイプのセンサのそれぞれの複数の実例を含み得る。例えば、LIDARセンサは、車両502のコーナー、フロント、バック、サイド、および/またはトップに設置された個々のLIDARセンサを含み得る。別の例として、カメラは、車両502の外部および/または内部の周りの様々な場所に配置された複数のカメラを含み得る。センサ506は、車両コンピューティングデバイス504に入力を提供し得る。
車両502はまた、上記のように、光および/または音を放出するエミッタ508を含み得る。この例におけるエミッタ508は、車両502の乗客と通信するための内部オーディオおよびビジュアルエミッタを含み得る。限定ではなく例として、内部エミッタは、スピーカー、ライト、サイン、ディスプレイスクリーン、タッチスクリーン、触覚エミッタ(例えば、振動および/またはフォースフィードバック)、機械式アクチュエータ(例えば、シートベルトテンショナー、シートポジショナー、ヘッドレストポジショナーなど)などを含み得る。この例におけるエミッタ508はまた、外部エミッタを含み得る。限定ではなく例として、この例示の外部エミッタは、走行の方向または車両のアクションの他のインジケータ(例えば、インジケータライト、サイン、ライトアレイなど)を信号で送るためのライト、および音響ビームステアリング技術を備える1つまたは複数の歩行者または他の近くの車両と音声で通信するための1つまたは複数のオーディオエミッタ(例えば、スピーカー、スピーカーアレイ、ホーンなど)を含む。
車両502はまた、車両502と1つまたは複数の他のローカルまたはリモートコンピューティングデバイスとの間の通信を可能にするネットワークインターフェース510を含み得る。例えば、ネットワークインターフェース510は、車両502および/または駆動コンポーネント512上の他のローカルコンピューティングデバイスとの通信を容易にし得る。また、ネットワークインターフェース510は、追加的または代替的に、車両が他の近くのコンピューティングデバイス(例えば、他の近くの車両、交通標識など)と通信することを可能にし得る。ネットワークインターフェース510は、追加的または代替的に、車両502がコンピューティングデバイス514と通信することを可能にし得る。いくつかの例では、コンピューティングデバイス514は分散コンピューティングシステム(例えば、クラウドコンピューティングアーキテクチャ)の1つまたは複数のノードを含み得る。
ネットワークインターフェース510は、車両コンピューティングデバイス504を別のコンピューティングデバイスまたはネットワーク516などのネットワークに接続するための物理的および/または論理的インターフェースを含み得る。例えば、ネットワークインターフェース510は、IEEE500.11規格によって定義された周波数を介するようなWi-Fiベースの通信、Bluetooth(登録商標)などの短距離無線周波数、セルラー通信(例えば、2G、3G、4G、4G LTE、5Gなど)、またはそれぞれのコンピューティングデバイスが他のコンピューティングデバイスとインターフェースで接続することを可能にする任意の適切な有線または無線通信プロトコルを可能にし得る。いくつかの例では、車両コンピューティングデバイス504および/またはセンサ506は、特定の周波数で、所定の期間の経過後、ほぼ実時間などで、コンピューティングデバイス514に、ネットワーク516を介して、センサデータを送信し得る。
いくつかの例では、車両502は1つまたは複数の駆動コンポーネント512を含み得る。いくつかの例では、車両502は、単一の駆動コンポーネント512を有し得る。いくつかの例では、駆動コンポーネント512は、駆動コンポーネント512および/または車両502の周囲の状態を検出する1つまたは複数のセンサを含み得る。限定ではなく例として、駆動コンポーネント512のセンサは、駆動コンポーネントのホイールの回転を感知するための1つまたは複数のホイールエンコーダ(例えばロータリーエンコーダ)、駆動コンポーネントの向きと加速度を測定するための慣性センサ(例えば、慣性測定ユニット、加速度計、ジャイロスコープ、磁力計など)、カメラまたはその他の画像センサ、駆動コンポーネントの周囲の物体を音響的に検出するための超音波センサ、LIDARセンサ、RADARセンサなど、を含み得る。ホイールエンコーダなどの一部のセンサは、駆動コンポーネント512に固有であり得る。場合によっては、駆動コンポーネント512上のセンサは、車両502の対応するシステム(例えば、センサ506)と重複または補足し得る。
駆動コンポーネント512は、高電圧バッテリー、車両を推進するモーター、バッテリーからの直流を他の車両システムで使用する交流に変換するインバーター、ステアリングモーターおよびステアリングラック(電動とし得る)を含むステアリングシステム、油圧または電気アクチュエータを含むブレーキシステム、油圧および/または空気圧コンポーネントを含むサスペンションシステム、トラクションの損失を軽減し制御を維持するブレーキ力分散用の安定性制御システム、HVACシステム、照明(例えば車両の外部環境を照らすヘッド/テールライトなどの照明)、および1つまたは複数の他のシステム(例えば冷却システム、安全システム、車載充電システム、DC/DCコンバーター、高電圧ジャンクション、高電圧ケーブル、充電システム、充電ポートなどのその他の電装コンポーネント)を含む多くの車両システムを含み得る。さらに、駆動コンポーネント512は、センサからデータを受信し事前処理し、様々な車両システムの操作を制御し得る駆動コンポーネントコントローラを含み得る。いくつかの例では、駆動コンポーネントコントローラは、1つまたは複数のプロセッサおよび1つまたは複数のプロセッサと通信可能に結合されたメモリを含み得る。メモリは1つまたは複数のコンポーネントを格納し、駆動コンポーネント512の様々な機能を実行し得る。さらに、駆動コンポーネント512はまた、それぞれの駆動コンポーネントによる1つまたは複数の他のローカルまたはリモートコンピューティングデバイスとの通信を可能にする1つまたは複数の通信接続部を含み得る。
車両コンピューティングデバイス504は、1つまたは複数のプロセッサ518と、1つまたは複数のプロセッサ518に通信可能に結合されたメモリ520と、を含み得る。コンピューティングデバイス514は、追加的または代替的に、プロセッサ522、および/またはメモリ524を含み得る。プロセッサ518および/または522は、データを処理し、本明細書に記載されるような操作を実行するための命令を実行することが可能な任意の適切なプロセッサであり得る。限定ではなく例として、プロセッサ518および522は、1つまたは複数の中央処理装置(CPU)、グラフィック処理装置(GPU)、集積回路(例えば、特定用途向け集積回路(ASIC)など)、ゲートアレイ(例えば、フィールドプログラマブルゲートアレイ(FPGA)など)、および/または電子データを処理して、レジスタまたはメモリに格納し得る他の電子データに、その電子データを変換する他の任意のデバイスまたはデバイスの一部、を備え得る。
メモリ520および/または524は、非一時的コンピュータ可読媒体の例であり得る。メモリ520および/または524は、オペレーティングシステムおよび1つまたは複数のソフトウェアアプリケーション、命令、プログラム、および/またはデータを格納して、本明細書に記載の方法および様々なシステムに起因する機能を実装し得る。様々な実装では、メモリを、スタティックランダムアクセスメモリ(SRAM)、シンクロナスダイナミックRAM(SDRAM)、不揮発性/フラッシュタイプメモリ、または情報を格納可能な他の任意のタイプのメモリなど、適切なメモリ技術を用いて実装し得る。本明細書に記載されるアーキテクチャ、システム、および個々の要素は、他の多くの論理的、プログラム的、および物理的なコンポーネントを含み得、それらの添付図面に示されるものは、本明細書の説明に関連する単なる例にすぎない。
いくつかの例では、メモリ520および/またはメモリ524は、MLアーキテクチャ528、プランナ530、および/またはシステムコントローラ532を含み得る知覚エンジン526を格納し得る。知覚エンジン526は、知覚エンジン110を表し得、MLアーキテクチャ528は、例示的なアーキテクチャ300を含み、および/または表し得、プランナ530は、プランナ112を表し得る。いくつかの例では、知覚エンジン526は、一次知覚システム、二次知覚システム、予測システム、および/または位置測定システムを含み得る。メモリ520および/または524は、追加的または代替的に、マッピングシステム、計画システム、乗車管理システムなどを格納し得る。知覚エンジン526およびMLアーキテクチャ528はメモリ520に格納されるように示されているが、知覚エンジン526および/またはMLアーキテクチャ528はメモリ524に格納され得る、および/またはプロセッサ実行可能命令、機械学習モデル、および/またはハードウェアを含み得る。
本明細書に記載されるように、例示的なニューラルネットワークは、入力データを一連の接続された層に通して出力を生成する生物学的に着想を得たアルゴリズムである。ニューラルネットワークの各層はまた、別のニューラルネットワークを含むことができる、または任意の数の層(畳み込みかどうかに関係なく)を含むこともできる。本開示のコンテキストで理解できるように、ニューラルネットワークは機械学習を利用でき、これは学習されたパラメータに基づいて出力が生成されるようなアルゴリズムの広範なクラスを指すことができる。
ニューラルネットワークのコンテキストで論じたが、任意のタイプの機械学習をこの開示と一致させて使用できる。機械学習アルゴリズムは、例えば限定しないが、回帰アルゴリズム(例えば、通常の最小二乗回帰(OLSR)、線形回帰、ロジスティック回帰、ステップワイズ回帰、多変量適応回帰スプライン(MARS)、局所的に推定されたスカープロット平滑化(LOESS))、インスタンスベースのアルゴリズム(例えば、リッジ回帰、最小絶対収縮および選択演算子(LASSO)、弾性ネット、最小角度回帰(LARS))、決定木アルゴリズム(例えば、分類および回帰木(CART)、反復二分法3(ID3)、カイ二乗自動相互作用検出(CHAID)、決定切り株、条件付き決定木))、ベイジアンアルゴリズム(例えば、単純ベイズ、ガウス単純ベイズ、多項単純ベイズ、平均1依存推定量(AODE)、ベイジアン信念ネットワーク(BNN)、ベイジアンネットワーク)、クラスタリングアルゴリズム(例えば、k平均、k中央値、期待値最大化(EM)、階層的クラスタリング)、相関ルール学習アルゴリズム(例えば、パーセプトロン、バックプロパゲーション、ホップフィールドネットワーク、動径基底関数ネットワーク(RBFN))、ディープラーニングアルゴリズム(例えばディープボルツマンマシーン(DBM)、ディープブリーフネットワーク(DBN)、重畳型ニューラルネットワーク(CNN)、スタック・オートエンコーダ)、次元数削減アルゴリズム(例えば主成分分析(PCA)、主成分回帰(PCR)、部分最小二乗回帰(PLSR)、サモンマッピング、多次元スケーリング(MDS)、射影追跡、線形判別分析(LDA)、混合判別分析(MDA)、二次判別分析(QDA)、柔軟判別分析(FDA))、アンサンブルアルゴリズム(例えば、ブースティング、ブートストラップ集計(バギング)、アダブースト、スタック一般化(ブレンディング)、勾配ブースティングマシン(GBM)、勾配ブースティング回帰ツリー(GBRT)、ランダムフォレスト)、SVM(サポートベクターマシン)、教師あり学習、教師なし学習、半教師あり学習などを含むことができる。アーキテクチャの追加の例は、ResNet60、ResNet101、VGG、DenseNet、PointNetなどのニューラルネットワークを含む。
メモリ520は、追加的または代替的に、1つまたは複数のシステムコントローラ532(追加的または代替的にハードウェアとして実装され得る)を格納し得、これは、車両502のステアリング、推進、ブレーキ、安全、エミッタ、通信、およびその他のシステムを制御するように構成され得る。これらのシステムコントローラ532は、駆動コンポーネント512および/または車両502の他のコンポーネントの対応するシステムと通信および/または制御し得る。例えば、プランナ530は、知覚エンジン526によって生成された分類、サブ分類、および/またはROIに少なくとも部分的に基づいて命令を生成し、命令に少なくとも部分的に基づいて車両502の操作を制御し得るシステムコントローラ532に命令を送信し得る。
図5は分散システムとして示されているが、代替の例では、車両502のコンポーネントはコンピューティングデバイス514に関連付けられ得る、および/またはコンピューティングデバイス514のコンポーネントは車両502に関連付けられ得る、という事に留意すべきである。すなわち、車両502は、コンピューティングデバイス514に関連付けられた機能の1つまたは複数を実行し得、逆もまた同様である。
[例示的な請求内容]
A.画像を自律車両のセンサから受信することと、前記画像を第1のニューラルネットワークへの入力として提供することと、前記画像内に表現される物体に関連付けられた特徴マップ、関心領域、分類、第1の確率を、前記第1のニューラルネットワークから受信することと、前記関心領域に対応する前記特徴マップの少なくとも一部分を第2のニューラルネットワークへの入力として提供することと、サブ分類およびそれに関連付けられた第2の確率を、前記第2のニューラルネットワークから受信することと、前記分類または前記サブ分類の少なくとも1つに少なくとも部分的に基づいて前記自律車両の操作を制御することと、を含む、方法。
B.前記第1の確率が第1の確率閾値を満たすまたは超えると決定することに少なくとも部分的に基づいて、前記関心領域に関連付けられた前記分類を出力することと、前記第2の確率が第2の確率閾値を満たすまたは超えると決定することに少なくとも部分的に基づいて、前記関心領域に関連付けられた前記分類または前記サブ分類の少なくとも1つを出力することと、をさらに含む、段落Aに記載の方法。
C.前記方法は、前記第1のニューラルネットワークから受信した少なくとも追加の特徴マップを前記ニューラルネットワークの前記第2の部分への追加の入力として提供することをさらに含み、前記第1のニューラルネットワークは、インスタンスセグメンテーションまたはセマンティックセグメンテーションの少なくとも1つを出力するようにトレーニングされている、段落Aまたは段落Bのいずれかに記載の方法。
D.前記分類を受信することに少なくとも部分的に基づいて、前記特徴マップの前記部分を前記第2のニューラルネットワークへ送信することであって、前記分類は前記第2のニューラルネットワークに関連付けられている、送信することと、第2の分類を受信することに少なくとも部分的に基づいて第2の特徴マップの第2の部分を第3のニューラルネットワークへ送信することであって、前記第2の分類は前記第3のニューラルネットワークに関連付けられている、送信することと、をさらに含む、段落Aから段落Cのいずれか1つに記載の方法。
E.前記候補分類は、歩行者分類、車両分類、自転車分類、標識分類、動物分類、交通障害分類の少なくとも2つを含む、段落Aから段落Dのいずれか1つに記載の方法。
F.1つまたは複数のプロセッサと、前記1つまたは複数のプロセッサによって実行されると、センサデータを受信することと、前記センサデータを第1の機械学習(ML)モデルへの入力として提供することと、前記センサデータ内の物体の表現に関連付けられた分類、前記分類に関連付けられた第1の確率、特徴マップ、前記物体の前記表現に関連付けられた前記センサデータの関心領域を、前記第1のMLモデルから受信することと、サブ分類および前記サブ分類に関連付けられた第2の確率を、サブクラスMLモデルから受信することと、を含む操作をシステムに実行させる、プロセッサ実行可能命令を格納するメモリと、を備える、システム。
G.前記操作は、前記第1のMLモデルの第1の部分から受信した第1の特徴マップの少なくとも第1の部分、および前記第1のMLモデルの第2の部分から受信した第2の特徴マップの少なくとも第2の部分を、前記サブクラスMLモデル内へ入力することをさらに備える、段落Fに記載のシステム。
H.前記第1の部分および前記第2の部分は前記関心領域に少なくとも部分的に基づいている、段落Fまたは段落Gのいずれかに記載のシステム。
I.前記第2の特徴マップは、セマンティックセグメンテーション特徴マップ、インスタンスセグメンテーション特徴マップ、高密度深度特徴マップまたは物体方向特徴マップの少なくとも1つを含む、段落Fから段落Hのいずれか1つに記載のシステム。
J.前記操作は、前記第1の確率が第1の確率閾値を満たすまたは超えると決定することに少なくとも部分的に基づいて、前記物体に関連付けられた前記分類を、出力することと、前記第2の確率が第2の確率閾値を満たすまたは超えると決定することに少なくとも部分的に基づいて、前記物体に伴って前記サブ分類を、出力することと、前記分類または前記サブ分類の少なくとも1つに少なくとも部分的に基づいて、自律車両を、制御することと、
をさらに備える、段落Fから段落Iのいずれか1つに記載のシステム。
K.前記操作は、前記第1のMLモデルまたは前記サブクラスMLモデルの少なくとも1つへグラウンドトゥルースセンサデータを提供することであって、前記グラウンドトゥルースセンサデータはグラウンドトゥルース分類ラベルおよびグラウンドトゥルースサブ分類ラベルに関連付けられている、提供することと、前記第1のMLモデルの第1の出力とグラウンドトゥルース分類ラベルとの間の差に少なくとも部分的に基づいて、第1の損失を決定することと、前記サブクラスMLモデルの第2の出力と前記グラウンドトゥルースサブ分類ラベルとの間の差に少なくとも部分的に基づいて、第2の損失を決定することと、前記第1のMLモデルの1つまたは複数の第1のパラメータまたは前記サブクラスMLモデルの1つまたは複数の第2のパラメータの少なくとも1つを変更して、前記第1の損失または前記第2の損失の少なくとも1つを最小化することと、さらに備える、段落Fから段落Jのいずれか1つに記載のシステム。
L.前記MLモデルの前記第2の部分は第1の分類に関連付けられていて、前記MLモデルの第3の部分は第2の分類に関連付けられていて、前記第1の分類および前記第2の分類は前記MLモデルの前記第1の部分に関連付けられている候補分類である、段落Fから段落Kのいずれか1つに記載のシステム。
M.前記第1の分類および前記第2の分類は複数の分類のうちの2つであり、前記複数の分類は、歩行者分類、車両分類、自転車分類、標識分類、動物分類、交通障害分類、の少なくとも2つを含む、段落Fから段落Lのいずれか1つに記載のシステム。
N.前記第1のMLモデルは複数の第1の層を含む第1のニューラルネットワークを含み、前記サブクラスMLモデルは複数の第2の層を含む第2のニューラルネットワークを含む、段落Fから段落Mのいずれか1つに記載のシステム。
O.前記第1のMLモデルは、複数の第1の層を含むニューラルネットワークの第1の部分を含み、前記サブクラスMLモデルは、複数の第2の層を含む前記ニューラルネットワークの第2の部分を含む、段落Fから段落Nのいずれか1つに記載のシステム。
P.1つまたは複数のプロセッサによって実行されると、センサデータを受信すること、前記センサデータを第1の機械学習(ML)モデルの入力として提供することと、前記センサデータ内の物体の表現に関連付けられた分類、および前記分類に関連付けられた第1の確率を含む第1の出力を前記第1のMLモデルから、受信することと、サブ分類および前記サブ分類に関連付けられた第2の確率をサブクラスMLモデルから、受信することと、を備える操作を前記1つまたは複数のプロセッサに実行させる、プロセッサ実行可能命令を格納する非一時的コンピュータ可読媒体。
Q.前記操作は、第1の特徴マップを前記第1のMLモデルの第1の部分から受信することと、第2の特徴マップを前記第1のMLモデルの第2の部分から受信することと、前記第1の特徴マップの少なくとも一部分および前記第2の特徴マップの少なくとも一部分を、前記サブクラスMLモデル内へ、入力することと、さらに備える、前記第1の特徴マップまたは前記第2の特徴マップの少なくとも1つは、前記センサデータ内の前記物体の前記表現に関連付けられた関心領域に関連付けられている、段落Pに記載の非一時的コンピュータ可読媒体。
R.MLモデルは、少なくとも前記第1のMLモデルおよび前記サブクラスMLモデルを含み、ニューラルネットワークは、前記第1のMLモデルまたは前記サブクラスMLモデルの少なくとも1つへグラウンドトゥルースセンサデータを提供することであって、前記グラウンドトゥルースセンサデータはグラウンドトゥルース分類ラベルおよびグラウンドトゥルースサブ分類ラベルに関連付けられている、提供することと、前記第1のMLモデルの第1の出力とグラウンドトゥルース分類ラベルとの間の差に少なくとも部分的に基づいて、第1の損失を、決定することと、前記サブクラスMLモデルの第2の出力と前記グラウンドトゥルースサブ分類ラベルとの間の差に少なくとも部分的に基づいて、第2の損失を、決定することと、前記第1のMLモデルの1つまたは複数の第1のパラメータまたは前記サブクラスMLモデルの1つまたは複数の第2のパラメータの少なくとも1つを変更して、前記第1の損失または前記第2の損失の少なくとも1つを最小化することと、に少なくとも部分的に基づいて、トレーニングされる、段落Pまたは段落Qのいずれかに記載の非一時的コンピュータ可読媒体。
S.前記操作は、前記第1の確率が第1の確率閾値よりも大きいまたは等しいと決定することに少なくとも部分的に基づいて、前記物体に伴って前記分類を出力すること、前記第2の確率が第2の確率閾値よりも大きいまたは等しいと決定することに少なくとも部分的に基づいて、前記サブ分類を出力すること、または前記分類および前記サブ分類に少なくとも部分的に基づいて、自律車両を制御すること、の少なくとも1つをさらに備える、段落Pから段落Rに記載のいずれか1つに記載の非一時的コンピュータ可読媒体。
T.前記サブクラスMLモデルは第1のサブクラスMLモデルであり、前記分類は第1の分類であり、前記操作は、前記第1の分類に関連付けられた第1の特徴マップを、前記第1のMLモデルから、受信することと、第2の分類に関連付けられた第2の特徴マップを、前記第1のMLモデルから、受信することと、前記第1のサブクラスMLモデルに関連付けられている前記第1の分類に少なくとも部分的に基づいて、前記第1の特徴マップの第1の部分を、前記第1のサブクラスMLモデルへの入力として、提供することと、第2のサブクラスMLモデルに関連付けられている前記第2の分類に少なくとも部分的に基づいて、前記第2の特徴マップの第2の部分を、前記第2のサブクラスMLモデルへの入力として、提供することと、をさらに備える、段落Pから段落Sのいずれか1つに記載の非一時的コンピュータ可読媒体。
主題は、構造的特徴および/または方法論的行為に固有の言語で説明されてきたが、添付の特許請求の範囲で定義される主題は、必ずしも説明された特定の特徴または行為に限定されないことを理解されたい。むしろ、特定の特徴および行為は、特許請求の範囲を実施する例示的な形態として開示されている。
本明細書に記載の構成要素は、任意のタイプのコンピュータ可読媒体に格納され得る、ならびにソフトウェアおよび/またはハードウェアに実装され得る命令を表す。上記のすべての方法およびプロセスは、ソフトウェアコードコンポーネントおよび/または1つまたは複数のコンピュータまたはプロセッサ、ハードウェア、またはそれらのいくつかの組み合わせによって実行されるコンピュータ実行可能命令で具体化され、それらを介して完全に自動化され得る。あるいは、いくつかまたはすべての方法は、専用のコンピュータハードウェアにおいて具体化され得る。
特に明記されていない限り、「可能性がある(may)」、「可能性がある(could)」、「可能性がある(may)」、または「可能性がある(might)」などの条件付きの言葉は、コンテキスト上、特定の例が、特定の特徴、要素、および/またはステップを含むが、他の例がそれらを含まないことを示すと理解される。したがって、このような条件付き言語は、一般的には、特定の特徴、要素、および/またはステップが、1つまたは複数の例に任意のやり方において必要となること、または、1つまたは複数の例が、ユーザーの入力もしくはプロンプトの有無にかかわらず、特定の特徴、要素、ステップが含まれているかどうか、もしくは任意の特定の例で実行されるかどうか、を決めるためのロジックを必然的に含むこと、を意味することを意図していない。
「X、Y、またはZの少なくとも1つ」という句などの接続詞は、特に明記されていない限り、項目、用語などがX、Y、またはZのいずれか、またはそれらの任意の組み合わせであり、各要素の倍数を含むことを示すと理解されるべきである。単数形として明示的に説明されていない限り、「a」は単数形および複数形を意味する。
本明細書に記載されている、および/または添付の図に示されているフロー図のいずれかのルーチンの説明、要素、またはブロックは、ルーチンに特定の論理関数または要素を実装するための1つまたは複数のコンピュータ実行可能命令を含む、モジュール、セグメント、またはコードの一部を表す可能性があるとして、理解されるべきである。代替の実装は、当業者によって理解されるように、実質的に同時に、逆の順序で、追加の操作を含む、もしくは操作を省略する、関与する機能に依存する、要素もしくは機能が削除される、または、表示もしくは説明されたものとは異なる順序で実行され得る、本明細書に記載される例の範囲内に含まれる。
上記の例には多くの変形および修正を加え得、その要素は他の許容可能な例の中にあると理解されるべきである。そのようなすべての修正および変形は、本開示の範囲内で本明細書に含まれ、以下の特許請求の範囲によって保護されることが意図されている。

Claims (15)

  1. 1つまたは複数のプロセッサと、
    前記1つまたは複数のプロセッサによって実行されると、
    センサデータを受信することと、
    前記センサデータを第1の機械学習(ML)モデルへの入力として提供することと、
    前記センサデータ内の物体の表現に関連付けられた分類、前記分類に関連付けられた第1の確率、特徴マップ、前記物体の前記表現に関連付けられた前記センサデータの関心領域を、前記第1のMLモデルから受信することと、
    サブ分類および前記サブ分類に関連付けられた第2の確率を、サブクラスMLモデルから受信することと、
    を含む操作をシステムに実行させる、プロセッサ実行可能命令を格納するメモリと、
    を備える、システム。
  2. 前記操作は、前記第1のMLモデルの第1の部分から受信した第1の特徴マップの少なくとも第1の部分、および前記第1のMLモデルの第2の部分から受信した第2の特徴マップの少なくとも第2の部分を、前記サブクラスMLモデル内へ入力することをさらに備える、請求項1に記載のシステム。
  3. 前記第1の部分および前記第2の部分は前記関心領域に少なくとも部分的に基づいている、請求項2に記載のシステム。
  4. 前記第2の特徴マップは、セマンティックセグメンテーション特徴マップ、インスタンスセグメンテーション特徴マップ、高密度深度特徴マップまたは物体方向特徴マップの少なくとも1つを含む、請求項2に記載のシステム。
  5. 前記操作は、
    前記第1のMLモデルまたは前記サブクラスMLモデルの少なくとも1つへグラウンドトゥルースセンサデータを提供することであって、前記グラウンドトゥルースセンサデータはグラウンドトゥルース分類ラベルおよびグラウンドトゥルースサブ分類ラベルに関連付けられている、提供することと、
    前記第1のMLモデルの第1の出力とグラウンドトゥルース分類ラベルとの間の差に少なくとも部分的に基づいて、第1の損失を決定することと、
    前記サブクラスMLモデルの第2の出力と前記グラウンドトゥルースサブ分類ラベルとの間の差に少なくとも部分的に基づいて、第2の損失を決定することと、
    前記第1のMLモデルの1つまたは複数の第1のパラメータまたは前記サブクラスMLモデルの1つまたは複数の第2のパラメータの少なくとも1つを変更して、前記第1の損失または前記第2の損失の少なくとも1つを最小化することと、
    さらに備える、請求項1から請求項4のいずれか1項に記載のシステム。
  6. 前記MLモデルの前記第2の部分は第1の分類に関連付けられていて、
    前記MLモデルの第3の部分は第2の分類に関連付けられていて、
    前記第1の分類および前記第2の分類は前記MLモデルの前記第1の部分に関連付けられている候補分類である、
    請求項1から請求項5のいずれか1項に記載のシステム。
  7. 前記第1の分類および前記第2の分類は複数の分類のうちの2つであり、前記複数の分類は
    歩行者分類、
    車両分類、
    自転車分類、
    標識分類、
    動物分類、
    交通障害分類、
    の少なくとも2つを含む、請求項6に記載のシステム。
  8. 前記第1のMLモデルは複数の第1の層を含む第1のニューラルネットワークを含み、
    前記サブクラスMLモデルは複数の第2の層を含む第2のニューラルネットワークを含む、
    請求項1から請求項7のいずれか1項に記載のシステム。
  9. 前記第1のMLモデルは、複数の第1の層を含むニューラルネットワークの第1の部分を含み、
    前記サブクラスMLモデルは、複数の第2の層を含む前記ニューラルネットワークの第2の部分を含む、
    請求項1から請求項8のいずれか1項に記載のシステム。
  10. 前記操作は、
    前記第1の確率が第1の確率閾値を満たすまたは超えると決定することに少なくとも部分的に基づいて、前記物体に関連付けられた前記分類を出力することと、
    前記第2の確率が第2の確率閾値を満たすまたは超えると決定することに少なくとも部分的に基づいて、前記物体に伴って前記サブ分類を出力することと、
    前記分類または前記サブ分類の少なくとも1つに少なくとも部分的に基づいて、自律車両を制御することと、
    をさらに備える、請求項1から請求項9のいずれか1項に記載のシステム。
  11. 前記自律車両は前記システムを含む、請求項10に記載のシステム。
  12. 1つまたは複数のプロセッサによって実行されると、
    センサデータを受信すること、
    前記センサデータを第1の機械学習(ML)モデルの入力として提供することと、
    前記センサデータ内の物体の表現に関連付けられた分類、および前記分類に関連付けられた第1の確率を含む第1の出力を、前記第1のMLモデルから、受信することと、
    サブ分類および前記サブ分類に関連付けられた第2の確率を、サブクラスMLモデルから、受信することと、
    を備える操作を前記1つまたは複数のプロセッサに実行させる、プロセッサ実行可能命令を格納する非一時的コンピュータ可読媒体。
  13. 前記操作は、
    第1の特徴マップを前記第1のMLモデルの第1の部分から受信することと、
    第2の特徴マップを前記第1のMLモデルの第2の部分から受信することと、
    前記第1の特徴マップの少なくとも一部分および前記第2の特徴マップの少なくとも一部分を、前記サブクラスMLモデル内へ、入力することと、
    さらに備え、
    前記第1の特徴マップまたは前記第2の特徴マップの少なくとも1つは、前記センサデータ内の前記物体の前記表現に関連付けられた関心領域に関連付けられている、請求項12に記載の非一時的コンピュータ可読媒体。
  14. MLモデルは、少なくとも前記第1のMLモデルおよび前記サブクラスMLモデルを含み、
    ニューラルネットワークは、
    前記第1のMLモデルまたは前記サブクラスMLモデルの少なくとも1つへグラウンドトゥルースセンサデータを提供することであって、前記グラウンドトゥルースセンサデータはグラウンドトゥルース分類ラベルおよびグラウンドトゥルースサブ分類ラベルに関連付けられている、提供することと、
    前記第1のMLモデルの第1の出力とグラウンドトゥルース分類ラベルとの間の差に少なくとも部分的に基づいて、第1の損失を、決定することと、
    前記サブクラスMLモデルの第2の出力と前記グラウンドトゥルースサブ分類ラベルとの間の差に少なくとも部分的に基づいて、第2の損失を、決定することと、
    前記第1のMLモデルの1つまたは複数の第1のパラメータまたは前記サブクラスMLモデルの1つまたは複数の第2のパラメータの少なくとも1つを変更して、前記第1の損失または前記第2の損失の少なくとも1つを最小化することと、
    に少なくとも部分的に基づいて、トレーニングされる、
    請求項12または請求項13に記載の非一時的コンピュータ可読媒体。
  15. 前記サブクラスMLモデルは第1のサブクラスMLモデルであり、
    前記分類は第1の分類であり、
    前記操作は、
    前記第1の分類に関連付けられた第1の特徴マップを、前記第1のMLモデルから、受信することと、
    第2の分類に関連付けられた第2の特徴マップを、前記第1のMLモデルから、受信することと、
    前記第1のサブクラスMLモデルに関連付けられている前記第1の分類に少なくとも部分的に基づいて、前記第1の特徴マップの第1の部分を、前記第1のサブクラスMLモデルへの入力として、提供することと、
    第2のサブクラスMLモデルに関連付けられている前記第2の分類に少なくとも部分的に基づいて、前記第2の特徴マップの第2の部分を、前記第2のサブクラスMLモデルへの入力として、提供することと、
    をさらに備える、請求項12から請求項14のいずれか1項に記載の非一時的コンピュータ可読媒体。
JP2021538780A 2019-01-02 2019-12-19 階層型機械学習ネットワークアーキテクチャ Pending JP2022516288A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/238,475 2019-01-02
US16/238,475 US10963709B2 (en) 2019-01-02 2019-01-02 Hierarchical machine-learning network architecture
PCT/US2019/067669 WO2020142247A1 (en) 2019-01-02 2019-12-19 Hierarchical machine-learning network architecture

Publications (2)

Publication Number Publication Date
JP2022516288A true JP2022516288A (ja) 2022-02-25
JPWO2020142247A5 JPWO2020142247A5 (ja) 2022-10-11

Family

ID=69650689

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021538780A Pending JP2022516288A (ja) 2019-01-02 2019-12-19 階層型機械学習ネットワークアーキテクチャ

Country Status (5)

Country Link
US (2) US10963709B2 (ja)
EP (1) EP3906501A1 (ja)
JP (1) JP2022516288A (ja)
CN (1) CN113261009A (ja)
WO (1) WO2020142247A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11155259B2 (en) * 2018-09-13 2021-10-26 Honda Motor Co., Ltd. System and method for egocentric-vision based future vehicle localization
US11520331B2 (en) * 2018-12-28 2022-12-06 Intel Corporation Methods and apparatus to update autonomous vehicle perspectives
US10963709B2 (en) 2019-01-02 2021-03-30 Zoox, Inc. Hierarchical machine-learning network architecture
US11313950B2 (en) * 2019-01-15 2022-04-26 Image Sensing Systems, Inc. Machine learning based highway radar vehicle classification across multiple lanes and speeds
US20210073686A1 (en) * 2019-09-06 2021-03-11 Yuan Yuan Ding Self-structured machine learning classifiers
EP3800581A1 (en) * 2019-10-03 2021-04-07 Axis AB A method and apparatus for generating an object classification for an object
US11354913B1 (en) * 2019-11-27 2022-06-07 Woven Planet North America, Inc. Systems and methods for improving vehicle predictions using point representations of scene
US11450008B1 (en) * 2020-02-27 2022-09-20 Amazon Technologies, Inc. Segmentation using attention-weighted loss and discriminative feature learning
US11798270B2 (en) * 2020-04-27 2023-10-24 Molecular Devices, Llc Systems and methods for image classification
US11989020B1 (en) * 2020-07-14 2024-05-21 Aurora Operations, Inc. Training machine learning model(s), in simulation, for use in controlling autonomous vehicle(s)
US20220067458A1 (en) * 2020-09-01 2022-03-03 International Business Machines Corporation Smart metadata mapping for sensor data
JP7095726B2 (ja) * 2020-11-16 2022-07-05 沖電気工業株式会社 学習装置、学習方法および学習プログラム
US20220176998A1 (en) * 2020-12-08 2022-06-09 Guangzhou Automobile Group Co., Ltd. Method and Device for Loss Evaluation to Automated Driving
CN113096136A (zh) * 2021-03-30 2021-07-09 电子科技大学 一种基于深度学习的全景分割方法
CN113361593B (zh) * 2021-06-03 2023-12-19 阿波罗智联(北京)科技有限公司 生成图像分类模型的方法、路侧设备及云控平台
CN114120253B (zh) * 2021-10-29 2023-11-14 北京百度网讯科技有限公司 图像处理方法、装置、电子设备和存储介质
DE102022204623A1 (de) 2022-05-11 2023-11-16 Psa Automobiles Sa Objekterkennung durch neuronales Netz mit Unsicherheitsmaß
EP4357885A1 (en) * 2022-10-21 2024-04-24 Nokia Technologies Oy Apparatus, methods and computer programs for classifying objects

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9428186B2 (en) * 2002-04-09 2016-08-30 Intelligent Technologies International, Inc. Exterior monitoring for vehicles
US10747224B2 (en) * 2018-06-19 2020-08-18 Toyota Research Institute, Inc. Debugging an autonomous driving machine learning model
US20190391581A1 (en) * 2018-06-26 2019-12-26 Uber Technologies, Inc. Passenger Health Monitoring and Intervention for Autonomous Vehicles
US10977501B2 (en) * 2018-12-21 2021-04-13 Waymo Llc Object classification using extra-regional context
US10963709B2 (en) 2019-01-02 2021-03-30 Zoox, Inc. Hierarchical machine-learning network architecture

Also Published As

Publication number Publication date
US11450117B2 (en) 2022-09-20
WO2020142247A1 (en) 2020-07-09
US20210216793A1 (en) 2021-07-15
EP3906501A1 (en) 2021-11-10
US20200210721A1 (en) 2020-07-02
CN113261009A (zh) 2021-08-13
US10963709B2 (en) 2021-03-30

Similar Documents

Publication Publication Date Title
US11450117B2 (en) Hierarchical machine-learning network architecture
US10627818B2 (en) Temporal prediction model for semantic intent understanding
US11726492B2 (en) Collision avoidance perception system
US10937178B1 (en) Image-based depth data and bounding boxes
US11010907B1 (en) Bounding box selection
US10981567B2 (en) Feature-based prediction
US11169531B2 (en) Trajectory prediction on top-down scenes
US11163990B2 (en) Vehicle control system and method for pedestrian detection based on head detection in sensor data
US11748909B2 (en) Image-based depth data and localization
US10936902B1 (en) Training bounding box selection
US11379998B2 (en) Detector-tracker architecture
US20230051486A1 (en) Unstructured vehicle path planner
US10984543B1 (en) Image-based depth data and relative depth data
CN114901534A (zh) 对象检测以及跟踪
US11994866B2 (en) Collision avoidance perception system
EP4107042A1 (en) Combined track confidence and classification model
US11789155B2 (en) Pedestrian object detection training
US11537819B1 (en) Learned state covariances
WO2021133582A1 (en) Pedestrians with objects
US20240101157A1 (en) Latent variable determination by a diffusion model
US20240104934A1 (en) Training a codebook for trajectory determination
US20240101150A1 (en) Conditional trajectory determination by a machine learned model

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220929

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230815

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231109

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20231219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240419

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20240430