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

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

▶ デカ・プロダクツ・リミテッド・パートナーシップの特許一覧

<>
  • 特表-トレーニングシステムと方法 図1
  • 特表-トレーニングシステムと方法 図2
  • 特表-トレーニングシステムと方法 図3
  • 特表-トレーニングシステムと方法 図4
  • 特表-トレーニングシステムと方法 図5
  • 特表-トレーニングシステムと方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-24
(54)【発明の名称】トレーニングシステムと方法
(51)【国際特許分類】
   B60W 40/02 20060101AFI20241217BHJP
   G06T 7/00 20170101ALI20241217BHJP
   G06V 10/70 20220101ALI20241217BHJP
   G06N 20/00 20190101ALI20241217BHJP
   G05D 1/243 20240101ALI20241217BHJP
   G05D 1/43 20240101ALI20241217BHJP
   B60W 60/00 20200101ALI20241217BHJP
   B60W 50/00 20060101ALI20241217BHJP
   G06T 7/10 20170101ALI20241217BHJP
【FI】
B60W40/02
G06T7/00 350B
G06V10/70
G06N20/00 130
G05D1/243
G05D1/43
B60W60/00
B60W50/00
G06T7/10
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024530024
(86)(22)【出願日】2022-11-22
(85)【翻訳文提出日】2024-05-21
(86)【国際出願番号】 US2022080308
(87)【国際公開番号】W WO2023092140
(87)【国際公開日】2023-05-25
(31)【優先権主張番号】63/264,409
(32)【優先日】2021-11-22
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.PYTHON
(71)【出願人】
【識別番号】594010009
【氏名又は名称】デカ・プロダクツ・リミテッド・パートナーシップ
(74)【代理人】
【識別番号】110003579
【氏名又は名称】弁理士法人山崎国際特許事務所
(74)【代理人】
【識別番号】100118647
【弁理士】
【氏名又は名称】赤松 利昭
(74)【代理人】
【識別番号】100123892
【弁理士】
【氏名又は名称】内藤 忠雄
(74)【代理人】
【識別番号】100169993
【弁理士】
【氏名又は名称】今井 千裕
(74)【代理人】
【識別番号】100173978
【弁理士】
【氏名又は名称】朴 志恩
(72)【発明者】
【氏名】ファン、カーヴィヤ
【テーマコード(参考)】
3D241
5H301
5L096
【Fターム(参考)】
3D241BA50
3D241CE06
3D241CE08
5H301CC03
5H301CC06
5H301GG08
5H301GG10
5H301KK10
5L096AA06
5L096BA04
5L096FA32
5L096GA30
5L096GA40
5L096HA11
5L096KA04
5L096MA07
(57)【要約】
トレーニングシステム及び方法であり、画像内の望ましい不確実性の範囲内にあるピクセルを識別し、それらを使用して機械学習モデルをトレーニングする。予測されたピクセル分類確率値は正規化することができる。各分類ラベルについて、不確実性の範囲内にある正規化された予測ピクセル分類確率値のカウントを取得することができる。各分類ラベルについて、カウントを正規化された予測ピクセル分類確率値の合計数で割って、関連する不確実性比率を生成することができる。
不確実性の比率が不確実性の望ましい範囲内にある、表現が不十分な分類ラベルのピクセルは、機械学習モデルのトレーニングに使用できる。
【選択図】図1
【特許請求の範囲】
【請求項1】
自動運転中に、事前選択された特性のカテゴリの認識を改善する方法であって、
機械学習モデルが正確に予測できなかった事前選択されたカテゴリを決定するステップと、
前記事前選択されたカテゴリに関連付けられたセンサデータを収集するステップと、
前記収集されたセンサデータから得られたトレーニングデータに基づいて、前記事前選択されたカテゴリを認識するように機械学習モデルをトレーニングするステップと、
を具備する方法。
【請求項2】
前記決定するステップは、前記収集されたセンサデータに関連付けられた不確実性データを計算するステップと、前記計算された不確実性データの少なくとも一部に基づいて前記事前選択されたカテゴリを識別するステップと、を具備することを特徴とする請求項1に記載の方法。
【請求項3】
前記収集されたセンサデータの少なくとも一部を前記機械学習モデルに供給するステップと、
前記機械学習モデルから前記事前選択されたカテゴリの非正規化予測を受信するステップと、
前記非正規化予測を正規化するステップと、
正規化された前記予測を表す要素の配列を生成するステップと、
前記配列を切り取るステップと、
各配列要素について前記事前選択されたカテゴリのそれぞれについて最大確率を決定するステップと、
事前選択された確率の範囲内で前記最大確率を持つ前記配列要素に関連付けられた識別子を格納するステップと、
前記事前選択されたカテゴリのそれぞれについて、前記事前選択された確率の範囲内で前記最大の確率値の範囲内の値を持つ正規化要素を前記事前選択されたカテゴリの不確実性データとして定義するステップと、
前記事前選択されたカテゴリのそれぞれについて前記不確実性データの不確実性比率を計算するステップであって、前記不確実性比率は、前記事前選択されたカテゴリ内の前記不確実性データの数を前記カテゴリ内の前記配列要素の合計で割ったものであるステップと
前記不確実性比率及び事前選択されたクラスの前記配列要素の合計に少なくとも部分的に基づいて前記トレーニングデータを選択するステップと、
をさらに具備することを特徴とする請求項1に記載の方法。
【請求項4】
前記トレーニングは、前記自律運転中の前記機械学習モデルのリアルタイムトレーニングを具備することを特徴とする請求項1に記載の方法。
【請求項5】
ピクセルデータを分類する方法であって、
地形的な運転可能性の相対的な程度に対応する複数のクラスを確立するステップと、
センサを使用してピクセルデータの画像を取得するステップであって、前記画像は画像データを有するステップと、
プロセッサによって、事前定義された不確実性の範囲内にあるピクセルにピクセル予測不確実性ラベルを割り当てるステップと、
プロセッサによって、前記複数のクラスのそれぞれについて不確実性比率値を計算するステップと、
を具備し、
前記不確実性比率値は、前記複数のクラスのうちの1つのクラスのピクセル総数で割った不確実性ラベルを有する、前記複数のクラスのうちの前記1つのクラスの第1のピクセル数に等しいことを特徴とする方法。
【請求項6】
前記センサから比較的遠い前記画像データの一部を破棄するステップをさらに具備することを特徴とする請求項5に記載の方法。
【請求項7】
前記一部の割合は3/5であることを特徴とする請求項6に記載の方法。
【請求項8】
前記ピクセルデータの各ピクセルの深度について最大確率値を決定するステップをさらに具備し、前記ピクセルの各ピクセルに不確実性値を割り当てるステップは前記最大確率値に基づくことを特徴とする請求項5に記載の方法。
【請求項9】
所定のクラスについて所定の範囲内の不確実性比率値を有するピクセルのセットを機械学習トレーニング用に提供するステップをさらに具備することを特徴とする請求項5に記載の方法。
【請求項10】
所定のクラスについて所定の範囲内の不確実性比率値を有するピクセルのセットを機械学習推論に提供するステップをさらに具備することを特徴とする請求項5に記載の方法。
【請求項11】
自律走行車であって、
ボディと、
前記ボディに結合され、前記ボディを支持するように構成された複数の車輪と、
前記ボディに結合された少なくとも1つのセンサと、
前記ボディに収容され、前記少なくとも1つのセンサに結合されたプロセッサと、
を具備し、
前記プロセッサは、前記少なくとも1つのセンサから受信したデータのサブセットに少なくとも部分的に基づいて、事前選択されたカテゴリを認識するようにトレーニングされた機械学習モデルを実行するように構成され、データの前記サブセットは、関連する予測不確実性の範囲を有することを特徴とする自律走行車。
【請求項12】
前記プロセッサは、前記機械学習モデルを格納するメモリに結合され、前記機械学習モデルには、前記プロセッサによって実行可能な命令が含まれ、前記命令は、前記事前選択されたカテゴリの非正規化予測を生成し、前記非正規化予測を正規化し、前記正規化予測を表す要素の配列を生成し、前記配列を切り取り、前記配列の各配列要素について事前選択されたカテゴリのそれぞれについて最大確率を決定し、事前選択された確率の範囲内で前記最大確率を持つ前記配列要素のそれぞれに関連付けられた識別子を格納し、前記事前選択されたカテゴリのそれぞれについて、前記事前選択された確率の範囲内で前記最大確率内の値を持つ正規化要素を、前記事前選択されたカテゴリの1つについての不確実性データとして定義し、前記事前選択されたカテゴリのそれぞれについて前記不確実性データの不確実性比率を計算し、ここで、前記不確実性比率は、前記事前選択されたカテゴリの前記不確実性データのカウントを前記カテゴリの前記配列要素の合計で割った値であり、前記事前選択されたカテゴリの前記不確実性比率及び前記配列要素の前記合計に少なくとも部分的に基づいてトレーニングデータを選択する命令であることを特徴とする請求項11に記載の自律走行車。
【請求項13】
自律走行車であって、
ボディと、
前記ボディに結合され、前記ボディを支持するように構成された複数の車輪と、
ボディに結合された少なくとも1つのセンサと、
前記ボディに収容され、前記少なくとも1つのセンサに結合されたプロセッサと、
を具備し、
前記プロセッサは、前記少なくとも1つのセンサから画像データを受信するように構成され、前記画像データには第1の複数のピクセルが含まれ、前記プロセッサはさらに、前記第1の複数のピクセルのピクセルを認識し、事前選択された地形的な運転可能性クラスに割り当てるために機械学習モデルを実行するように構成され、前記機械学習モデルは、不確実性比率値が事前定義された不確実性範囲内の不確実性を有する、地形的な運転可能性の表現が不十分なクラスの第2の複数のピクセルでトレーニングされており、前記不確実性比率値は、前記事前定義された不確実性範囲内にある予測確率を有するピクセルの数と前記第2の複数のピクセルの合計数の商を含むことを特徴とする自律走行車。
【請求項14】
前記プロセッサは前記機械学習モデルを格納するメモリに結合され、前記機械学習モデルには、前記少なくとも1つのセンサから比較的遠い前記画像データの一部を破棄するために前記プロセッサによって実行可能な命令が含まれることを特徴とする請求項13に記載の自律走行車。
【請求項15】
前項の自律走行車において、前記一部の割合は5分の3であることを特徴とする請求項14に記載の自律走行車。
【請求項16】
前記プロセッサは、前記ピクセルデータの各ピクセルの深度について最大確率値を決定するようにさらに構成されていることを特徴とする請求項13に記載の自律走行車。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願への相互参照]
この出願は、2021年11月22日に提出された米国仮出願番号63/264,409、「トレーニングシステム及び方法(代理人整理番号AA649)」に基づく優先権の利益を主張するものであり、その全文が参照により本明細書に組み込まれるものとする。
【0002】
本出願は、一般的にはコンピュータビジョンに関する。さらに詳細には、自律走行車に搭載された機械学習エンジンをトレーニングするための技術に関する。
【背景技術】
【0003】
機械学習エンジンでは、一般に、分類機能を向上させるためにトレーニングが必要である。トレーニングでは通常、大規模なデータセットを機械学習エンジンで実行させ、機械学習エンジンが学習できるようにする。例えば、十分な数の猫の画像を機械学習エンジンに渡すことで、機械学習エンジンに他の画像の中から猫の画像を認識できるようにトレーニングさせることができる。ここで、猫の画像の数は相当な量でなければならない。このような理由から、機械学習エンジンのトレーニングモデルの効率を向上させることが望ましいこととなる。
【0004】
上記の背景技術は、現在のいくつかの問題の背景の概要を提示することを目的としたものであり、網羅したものではない。
【図面の簡単な説明】
【0005】
本発明の非限定的かつ非網羅的な特徴は、以下の図を参照して説明されており、特に指定がない限り、同様の参照番号は、さまざまな図において同様の部分を示す。
【0006】
図1】本発明の種々の状況における自律走行車の高レベルブロック図である。
【0007】
図2】本発明のシステムの実施例の構成要素の概略ブロック図である。
【0008】
図3】本発明の例示的な画像を切り取った視覚表現である。
【0009】
図4A-C】グラウンドトゥルース画像の視覚表現である。
【0010】
図5図4A~4Cの表現の様々な特徴の確率的レイヤーの視覚表現である。
【0011】
図6】本発明の種々の状況におけるフロー及び動作を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下の説明では、さまざまな特徴や処理を完全に理解できるように、多数の具体的詳細を示す。しかしながら、関連技術の専門家であれば、本明細書に記載された技術は、具体的詳細の1つ以上がなくても、又は他の方法、構成要素、材料などを用いて実施できることを認識するであろう。他の事例では、特定の特徴を不明瞭にしないために、よく知られている構造、材料、又は操作については詳細に示されなかったり説明されなかったりすることがある。
【0013】
本明細書全体を通じて「態様」、「配置」、又は「構成」に言及する場合、特定の機能、構造、又は特性が説明されていることを示す。したがって、本明細書中のさまざまな場所で「1つの態様では」、「1つの配置では」、「1つの構成では」などの語句が使用されている場合、必ずしもそれぞれが同じ態様、特徴、構成、又は配置を指すわけではない。さらに、記載された特定の特徴、構造、及び/又は特性は、任意の適切な方法で組み合わせることができる。
【0014】
本開示及び請求項で使用される範囲において、「コンポーネント」、「システム」、「プラットフォーム」、「レイヤー」、「セレクタ」、「インターフェース」などの用語は、コンピュータ関連のエンティティ、又は1つ以上の特定の機能を備えた動作装置に関連するエンティティを指すことを意図しており、そのエンティティは、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、又は実行中のソフトウェアのいずれかとすることができる。一例として、コンポーネントは、プロセッサ上で実行されるプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、及び/又はコンピュータなどであるが、これらに限定されない。実例として、限定するものではないが、サーバー上で実行されているアプリケーションとサーバー自体の両方がコンポーネントとなることができる。1つ以上のコンポーネントがプロセス及び/又は実行スレッド内に存在する場合があり、コンポーネントは1台のコンピューター上にローカライズされる場合及び/又は、2台以上のコンピュータに分散される場合がある。さらに、コンポーネントは、さまざまなコンピュータ読み取り可能媒体、デバイス読み取り可能ストレージデバイス、又はさまざまなデータ構造が格納されている機械読み取り可能媒体から実行できる。コンポーネントは、1つ以上のデータパケット(例えば、ローカルシステム、分散システム内の別のコンポーネント、及び/又はインターネットなどのネットワークを介して信号を介して他のシステムと相互作用する別のコンポーネントからのデータ)を含む信号に従って、ローカルプロセス及び/又はリモートプロセスを介して通信する場合がある。別の例として、コンポーネントは、電気回路又は電子回路によって動作する機械部品によって提供される特定の機能を備えた装置であり、プロセッサによって実行されるソフトウェアアプリケーション又はファームウェアアプリケーションによって動作することができ、プロセッサは装置の内部又は外部にあり、ソフトウェアアプリケーション又はファームウェアアプリケーションの少なくとも一部を実行する。さらに別の例として、コンポーネントは、機械部品なしで電子コンポーネントを通じて特定の機能を提供する装置である可能性があり、電子コンポーネントには、電子コンポーネントの機能を少なくとも部分的に付与するソフトウェア又はファームウェアを実行するプロセッサが内蔵されている場合がある。
【0015】
本明細書で使用される範囲において、「ストア」、「ストレージ」、「データストア」、「データストレージ」、「データベース」などの用語は、メモリコンポーネント、メモリに組み込まれたエンティティ、又はメモリを構成するコンポーネントを指す。当然のことながら、ここで説明するメモリコンポーネントは、揮発性メモリ又は不揮発性メモリのいずれかとすることができ、或いは、揮発性メモリと不揮発性メモリの両方を含むことできる。
【0016】
さらに、「又は」という用語は、排他的「又は」ではなく、包含的な「又は」を意味する。つまり、特に指定がない限り、又は文脈から明らかな場合を除き、「XはA又はBを採用している」は、自然な包含順列のいずれかを意味することを意図している。つまり、XがAを採用している場合、XがBを採用している場合、又はXがAとBの両方を採用している場合、前述のいずれの場合も「XはA又はBを採用している」という条件が満たされる。さらに、対象の開示及び請求項で使用される冠詞「a」及び「an」は、特に指定がない限り、又は文脈から単数形を指すことが明らかでない限り、一般に「1つ以上」を意味すると解釈されるべきである。
【0017】
ここで使用されている「例示的な」及び/又は「実証的な」という語は、例、事例、又は説明として機能することを意味する。疑義を避けるために、本明細書に開示された対象は、開示された例によって限定されるものではない。さらに、本明細書で「例示的」及び/又は「実証的」として説明されているいかなる形態又は設計も、必ずしも他の側面又は設計よりも好ましい又は有利であると解釈されるべきではなく、また、当業者に知られている同等の例示的な構造及び技術を除外することを意図するものでもない。さらに、「含む」、「有する」、「含有する」などの用語が詳細な説明又は請求項のいずれかで使用されている限りにおいて、そのような用語は、追加の要素やその他の要素を排除することなく、オープンな接続詞としての「具備する」という用語と同様である。
【0018】
ここで使用される「推測する」又は「推論」という用語は、一般的に、イベント及び/又はデータを介してキャプチャされた一連の観察から、システム、環境、ユーザー、及び/又は意図の状態を推論又は推論するプロセスを指す。キャプチャされたデータとイベントには、ユーザーデータ、デバイスデータ、環境データ、センサからのデータ、アプリケーションデータ、暗黙的データ、明示的データなどが含まれる。推論は、特定のコンテキストやアクションを識別するために使用したり、例えばデータやイベントを考慮して関心のある状態における確率分布を生成したりするために使用できる。
【0019】
開示された対象は、標準的なプログラミング及び/又はエンジニアリング技術を使用して、開示された対象を実施するためにコンピュータを制御するソフトウェア、ファームウェア、ハードウェア、又はそれらの任意の組み合わせを生成する方法、装置、又は製造物として実施することができる。ここで使用される「製造物」という用語は、任意のコンピュータ読み取り可能なデバイス、機械読み取り可能なデバイス、コンピュータ読み取り可能なキャリア、コンピュータ読み取り可能なメディア、又は機械読み取り可能なメディアからアクセス可能なコンピュータプログラムを包含することを意図している。例えば、コンピュータ読み取り可能なメディアには、ハードディスクなどの磁気ストレージデバイス、フロッピーディスク、磁気テープ、光ディスク(コンパクトディスク(CD)、デジタルビデオディスク(DVD)、ブルーレイディスク(登録商標)(BD)など)、スマートカード、フラッシュメモリデバイス(例えば、カード、スティック、キードライブ)、ストレージデバイスをエミュレートする仮想デバイス、及び/又は上記のコンピュータ読み取り可能なメディアの任意の組み合わせが含まれるが、これらに限定されない。
【0020】
一般に、プログラムモジュールには、特定のタスクを実行したり、特定の抽象データ型を実装したりするルーチン、プログラム、コンポーネント、データ構造などが含まれる。本発明の開示、図示された実施形態は、通信ネットワークを介してリンクされたリモート処理装置によって特定のタスクが実行される分散コンピューティング環境で実施することができる。分散コンピューティング環境では、プログラムモジュールはローカルメモリストレージデバイス及びリモートメモリストレージデバイスの両方に配置できる。
【0021】
コンピューティングデバイスには、少なくともコンピュータ読み取り可能な記憶媒体、機械読み取り可能な記憶媒体、及び/又は通信メディアが含まれる。コンピュータ読み取り可能な記憶媒体又は機械読み取り可能な記憶媒体は、コンピュータがアクセスできる任意の記憶媒体であり、揮発性メディアと不揮発性メディア、リムーバブルメディア及び非リムーバブルメディアの両方が含まれる。例として、コンピュータ読み取り可能記憶媒体又は機械読み取り可能記憶媒体は、コンピュータ読み取り可能又は機械読み取り可能命令、プログラムモジュール、構造化データ、非構造化データなどの情報を記憶するための任意の方法又はテクノロジと組み合わせて実装できるが、これらに限定されない。
【0022】
コンピュータ読み取り可能な記憶媒体には、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、電気的に消去可能なプログラマブルリードオンリーメモリ(EEPROM)、フラッシュメモリ又はその他のメモリ技術、コンパクトディスクリードオンリーメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイディスク(BD)又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイス、ソリッドステートドライブ又はその他のソリッドステートストレージデバイス、又は必要な情報を記憶するために使用できるその他の有形の及び/又は非一時的なメディアが含まれるが、これらに限定されない。この点に関して、本明細書においてストレージ、メモリ、又はコンピュータ読み取り可能なメディアに適用される「有形の」又は「非一時的」という用語は、修飾子として伝播する一時的な信号自体のみを除外するものと理解されるべきであり、伝播する一時的な信号を伝達するだけではない標準的なストレージ、メモリ、又はコンピュータ読み取り可能なメディアを除外するものではない。
【0023】
コンピュータ読み取り可能な記憶媒体には、例えば、アクセス要求、クエリ、又はその他のデータ取得プロトコルを介して、1つ以上のローカル又はリモートのコンピューティングデバイスからアクセスして、媒体に格納されている情報に関するさまざまな操作を行うことができる。
【0024】
ここで使用されるシステムバスは、市販されているさまざまなバスアーキテクチャを使用して、メモリバス(メモリコントローラの有無にかかわらず)、ペリフェラルバス、及びローカルバスにさらに相互接続できる、いくつかの種類のバス構造とすることができる。ここで使用されるデータベースには、ROM、EPROM、EEPROMなどの不揮発性メモリに保存できる基本入出力システム(BIOS)が含まれる場合があり、BIOSには、起動時などにコンピュータ内の要素間で情報を転送するのに役立つ基本ルーチンが含まれている。RAMには、データをキャッシュするためのスタティックRAMなどの高速RAMも含まれる場合がある。
【0025】
ここで使用されているように、コンピュータは、1台以上のリモートコンピュータへの有線通信及び/又は無線通信を介した論理接続を使用して、ネットワーク環境で動作できる。リモートコンピュータには、ワークステーション、サーバー、ルーター、パーソナルコンピュータ、ポータブルコンピュータ、マイクロプロセッサベースのエンターテイメント機器、ピアデバイス、又はその他の一般的なネットワークノードが含まれる。ここで示す論理接続には、ローカルエリアネットワーク(LAN)及び/又は、ワイドエリアネットワーク(WAN)などのより大規模なネットワークへの有線/無線接続を含めることができる。このようなLAN及びWANネットワーク環境はオフィスや企業で一般的であり、企業のイントラネットなどの広範なコンピュータネットワークを容易に構築でき、いずれもインターネットなどのグローバル通信ネットワークに接続できる。
【0026】
LANネットワーク環境で使用する場合、コンピュータは有線及び/又は無線通信ネットワークインターフェイス又はアダプタを介してLANに接続できる。アダプタは、LANへの有線又は無線通信を容易にすることができ、アダプタと無線モードで通信するための無線アクセスポイント(AP)もLAN上に配置できる。
【0027】
WANネットワーク環境で使用する場合、コンピュータにはモデムが組み込まれている場合もあれば、インターネットなど、WAN経由で通信を確立するための他の手段を介してWAN上の通信サーバーに接続されている場合もある。モデムは内部又は外部に配置でき、有線又は無線デバイスであり、入力デバイスインターフェイスを介してシステムバスに接続できる。ネットワーク環境では、コンピュータ又はその一部に関連して本明細書で示されるプログラムモジュールは、リモートメモリ/ストレージデバイスに格納できる。
【0028】
LAN又はWANネットワーク環境で使用する場合、コンピュータは外部ストレージデバイスに加えて、又は外部ストレージデバイスの代わりに、クラウドストレージシステム又はその他のネットワークベースのストレージシステムにアクセスできる。一般的に、コンピュータとクラウドストレージシステム間の接続は、それぞれアダプタ又はモデムなどを介してLAN又はWAN経由で確立できる。コンピュータを関連するクラウドストレージシステムに接続すると、外部ストレージインターフェイスは、アダプタ及び/又はモデムの助けを借りて、他の種類の外部ストレージと同様に、クラウドストレージシステムによって提供されるストレージを管理できる。例えば、外部ストレージインターフェイスは、クラウコンピュータがコンピュータに物理的に接続されているかのように、クラウドストレージソースへのアクセスを行うように構成することができる。
【0029】
本明細書で使用されている用語「プロセッサ」は、シングルコアプロセッサ、ソフトウェアマルチスレッド実行機能を備えたシングルコアプロセッサ、マルチコアプロセッサ、ソフトウェアマルチスレッド実行機能を備えたマルチコアプロセッサ、ハードウェアマルチスレッドテクノロジを備えたマルチコアプロセッサ、ベクトルプロセッサ、パイプラインプロセッサ、並列プラットフォーム、及び分散共有メモリを備えた並列プラットフォームを含むがこれらに限定されない、実質的にあらゆるコンピューティング処理ユニット又はデバイスを指すことができる。さらに、プロセッサは、集積回路、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックコントローラ(PLC)、複合プログラマブルロジックデバイス(CPLD)、ステートマシン、個別のゲート又はトランジスタロジック、個別のハードウェアコンポーネント、又は本明細書で説明する機能を実行するように設計されたそれらの組み合わせを指すこともある。プロセッサは、スペースの使用を最適化したり、ユーザー機器のパフォーマンスを向上させたりするために、分子ベースの及び量子ドットベースのトランジスタ、スイッチ、ゲートなどのナノスケールアーキテクチャを利用できるが、これらに限定されない。プロセッサは、コンピューティング処理ユニットの組み合わせとして実装される場合もある。例えば、プロセッサは、1つ以上のプロセッサを一緒に、密結合、疎結合、又は互いに離れた位置に配置する形で実装することができる。複数の処理チップ又は複数のデバイスが、本明細書で説明する1つ以上の機能のパフォーマンスを共有することができ、同様に、ストレージは複数のデバイスにわたって実行することができる。
【0030】
概要として、ここではさまざまな構成について説明する。説明を簡単にするために、方法は一連の手順又はアクションとして表現されそして説明されている。さまざまな配置は、図示された動作及び/又は動作の順序に限定されるものではないことを理解し認識する必要がある。例えば、アクションはさまざまな順序で、及び/又は同時に生じ、ここでは提示又は説明されていない他のアクションと同時に生じる可能性がある。さらに、これらの方法を実行するために、示されているすべてのアクションが必要なわけではない。加えて、これらの方法は、状態図又はイベントを介して一連の相互に関連する状態として表現することもできる。さらに、以下で説明する方法は、製造物(例えば、機械可読記憶媒体)に保存することができ、これにより、そのような方法をコンピュータに転送及び移転することが容易になる。
【0031】
図1を参照すると、本発明のシステム及び方法は、比較的まれな特徴に対するモデル予測を改善するために、入力データに依存している。本発明のシステム及び方法は、収集及び保存されたもの、人工的に生成されたもの、又はリアルタイムで収集及び評価されたものなど、あらゆるデータセットに適用できる。例えば、データは、移動中の車両、信号機に取り付けられたセンサ、道路に埋め込まれたセンサ、ドローンに取り付けられたセンサなど、さまざまな収集手段によって収集できる。移動車両は手動で操作することも、自律的に操作することも、あるいはその両方を組み合わせて操作することもできる。ある面では、リアルタイムで収集されたデータは、モデル予測を改善するために使用しながら、車両のナビゲーションにも使用できる。センサには、ショートレンジ又はロングレンジの画像データを生成するカメラが含まれる。例えば、LIDAR、レーダー、超音波センサなどの他のセンサからのデータは、画像データに変換されると、本発明のシステムによる検査に適したデータを生成するために使用することができる。少なくとも1つの配置では、自律走行車10又はボット10は、複数の車輪14によって支持され移動可能なボディ12を含む。当業者には容易に理解されるように、複数の車輪14のうちの少なくとも1つはキャスターホイールであり、これにより、ボット10はさまざまな地形をより効率的に横断することができる。本体12は、ボット10に近接する環境に関するデータを受信できる少なくとも1つのセンサ16を含むことができる。少なくとも1つのセンサ16は、ボット10の周囲の環境に関する少なくとも光学的な、赤外線の、LIDARの、レーダーの、超音波の、又はその他の関連する形式のデータを受信するように構成することができる。ボディ12には、少なくとも1つのセンサ16からデータを受信して処理し、処理されたデータを使用してボット10の周囲の環境に応じてボット10をナビゲートできるように、少なくとも1つのセンサ16に接続された少なくとも1つのプロセッサ18を内蔵することができる。少なくとも1つのプロセッサ18は、ボット10の周囲の環境に関する受信した画像データを認識し、分類又は類別するのを支援するために、機械学習エンジン20を含み、及び/又は実行することができる。センサ16は、交通管理に役立つあらゆる種類のデータを提供するように配置できる。これらのデータにアクセスして、機械学習モデルの予測機能を向上させることもできる。例えば、センサ16はトラフィックポール2上に配置したり、道路25の特徴23に埋め込んだりすることができる。
【0032】
図2を参照すると、比較的まれな特徴に対する機械学習モデルの予測能力を向上させるシステム60には、機械学習モデルのトレーニングに使用できるデータを作成するために必要なデータ処理を実行する命令を実行できる1つ以上のプロセッサを含めることができる。本発明のシステム60には、データを受信し、データの分類の確率を予測し、各分類の予測の総数を評価し、予測をフィルタリングし、フィルタリングされた予測における各分類の予測の数を評価し、評価の比較を使用してデータを選択し、機械学習モデルをトレーニングするための命令を実行する少なくとも1つのプロセッサが含まれる。システム60には、データ51を受信して予測確率マトリックス55を生成する機械学習モデル53が含まれますが、これに限定されるものではない。本明細書で説明するように、データ51には、複数の種類のセンサのいずれかによって複数の方法で収集された多くの形式のセンサデータが含まれる場合がある。機械学習モデル53は、当業者に知られているモデルを含み、限定的ではなく網羅的でもない例として、クラスタリング、次元削減、アンサンブル法、ニューラルネット(畳み込みニューラルネットワークモデルなど)、及びディープラーニング、転移学習、強化学習、自然言語処理、及び単語埋め込みを含むことができる。物体の検出と認識に適した多くの技術は、当業者であれば容易に理解できるであろう。当該技術分野では、非限定的な例として、領域ベース畳み込みニューラルネットワーク(R-CNN)、高速R-CNN、より高速なR-CNN、領域ベース完全畳み込みネットワーク(R-FCN)、方向勾配ヒストグラム(HOG)、シングルショット検出器(SSD)、空間ピラミッドプーリング(SPP-net)、及びYou Only Look Once(YOLO)が挙げられる。
【0033】
図2を引き続き参照すると、機械学習モデル53は、予測確率マトリックス55を作成するための命令を含むことができる。機械学習モデル53は、一般的に少なくとも2つの操作が順番に実行される機械学習パイプラインを含むことができ、最初の操作はデータ51からの特徴の抽出であり、2番目の操作は分類となる。特徴抽出は、人工ニューラルネットワークの各層に対して、いくつかの畳み込み、活性化、及びプーリング関数を必要とすることがある。畳み込み関数は、隣接するピクセルの情報を使用して、画像を特徴にダウンサンプリングすることができる。ついで、予測レイヤーを使用してターゲット値を予測することができる。畳み込みでは通常、カーネルマトリックスを画像データ全体にスライドさせ、一度に1つ以上のピクセルを処理し、特徴マトリックスの各セルでドット積を生成して、抽出された特徴を定義する。当業者であれば、畳み込み以外の適切な技術が特徴抽出に使用できることを理解するであろう。アクティベーションは、機械学習モデル53に非線形性を導入するために使用される場合がある。アクティベーションは、1つ以上の畳み込みステージの後に実行できる。アクティベーションは、プーリングの前又はプーリングの後に実行できる。アクティベーションは、非限定的な例として、Rectified Linear Unit(ReLU)、Sigmoid、Tanhのようなさまざまな既知の関数のいずれかを使用して実行することができる。ReLUは、正の値であればその値を出力し、それ以外の場合はゼロを出力する区分線形関数である。プーリングは、畳み込みが行われた特徴行列の空間サイズを削減するために使用することができる。プーリングには、例として、最大プーリングまたは平均プーリングが含まれる場合がある。最大プーリングは、ダウンサンプリングによって画像のサイズを縮小する。例えば、一般的な畳み込みネットワークでは、画像の高さと幅が徐々に減少し(プーリングによるダウンサンプリング)、これにより、より深いレイヤーのフィルターがより大きな受容野(コンテキスト)に焦点を合わせやすくなる。ただし、チャンネル数/深度(使用されるフィルターの数)は徐々に増加し、画像からより複雑な特徴を抽出できるようになる。ダウンサンプリングを使用すると、モデル(U-Netアルゴリズムなど)は画像内に何が存在するかをよりよく理解できるが、それがどこに存在するかという情報が失われる可能性がある(そのため、アップサンプリングも必要になる)。プーリング関数は畳み込みと同様に動作するが、ドット積ではなく、カーネルがオーバーラップした画像領域の最大値(又はカーネルがオーバーラップした画像領域の平均値)が取得される。当業者であれば、スライディングウィンドウ畳み込みネットワーク以外の適切なアーキテクチャ、例えば、これに限定されないが、セマンティックセグメンテーション用の公開されているU-Netディープラーニングアーキテクチャが使用される場合があることを理解すべきである。U-Netアルゴリズムは、画像を高速かつ正確に分割するための畳み込みネットワークアーキテクチャであり、スライディングウィンドウ畳み込みネットワークなどの方法よりも優れたパフォーマンスを発揮する。いくつかの配置では、U-Netニューラルネットワークアーキテクチャが使用される場合があり、このアーキテクチャでは、複数の畳み込み、ReLUアクティベーション、及び最大プーリングアクションを実施する縮小パスを使用して、特徴情報が生成されている間に空間情報を削減し、拡張パスを使用して空間情報と特徴情報をアップサンプリングし、最終的に出力予測を生成する。
【0034】
図2を引き続き参照すると、当業者には理解されるように、静的機械学習パイプラインが一般に大規模なデータセットに対して動作する。大規模なデータセットはサブサンプリングされ、注釈が付けられ、機械学習モデルのトレーニングに使用することができる。少なくともいくつかの構成では、自律走行車又はボットが通った、又は通る予定のルートからデータが収集される場合がある。収集されたデータはラベル付けされ、ボットに搭載されたプロセッサによって実行される機械学習モジュールのトレーニングに使用することができる。対照的に、動的な機械学習パイプラインでは、トレーニングに必要な監督が少なくて済む場合がある。収集されたデータのランダムなサブセットを使用したり、ランダムなデータを収集したりするのではなく、トレーニングパイプラインにアルゴリズムコンポーネントを追加して、人間のオペレーター又はマシンが特定の例を慎重に選択できるようにすることで、労力を削減することができる。機械学習エンジンが予測方法のモデルを構築し始めると、機械学習エンジンは、例えば不確実な特定のケースにフラグを立てるなどして、不確実性の推定に関与することができる。いくつかの構成では、例えば、表面検出の場合、ソフトマックス平均が各画像に対して計算されるか、又は追加で又は代替的に、ボットにとっての閾値の顕著性又は重要性を持つ画像の各クラス(例えば、縁石)に対して計算され、いずれかの画像のスコアが関心範囲に該当する場合、その関心範囲は、モデルが予測に確信を持てなくなるケースをカバーし、その画像は注釈付けのために注釈エンティティに提供される場合がある。専門家であれば、このようなデータ注釈サービスを提供する企業があることを理解するだろう。注釈が付けられたデータは、機械学習エンジンのトレーニングに使用できる。「注釈付けとトレーニング」サイクルが繰り返されるにつれて、予測のエラー率が低下し始める可能性がある。機械学習エンジンが理解できる例ではなく、機械学習エンジンが確信できない例を使ってトレーニングすると、予測エラー率が指数関数的に低下し、コストを削減しながら(つまり、人間又は機械による監視を大幅に減らしながら)最適化された(閾値で定義される)分類が可能になる。
【0035】
図2を引き続き参照すると、いくつかの構成では、例えば、複数の冗長データソースが利用可能な状況(例えば、複数の分類モデルが使用される場合、例えば、ニューラルネットワークベースの分類モデルと決定論的分類モデル)では、不一致に基づくアクティブラーニングアプローチが実施される場合がある。例えば、データ内の特定の画像の分類に不一致がある各ソースからの画像データが保持される場合がある。繰り返し不一致が発生する画像には注釈が付けられ、注釈が付けられたデータを使用して機械学習エンジンが再トレーニングされる可能性がある。
【0036】
図2を引き続き参照すると、少なくとも1つの配置では、自律走行車又はボットのナビゲーションに役立つディープラーニングモデルのトレーニングの効率が向上する可能性がある。トレーニングデータは、ディープラーニングモデルが受信した各画像を正しく解釈して分類するのに役立つ。各画像にはピクセルデータが含まれている。いくつかの構成では、分類は画像レベルではなくピクセルレベルで実行される場合がある。例えば、ボットが通った、又は通る予定のルートの場合、ピクセルは、背景、運転可能性、拡張運転可能性(草など)、運転不可(柱、人など)、及び不連続な表面特徴(DSF)(縁石など)に分類される。DSFピクセルは、データ画像のセットの約2%を占める場合がある。いくつかの構成では、トレーニングに対するアクティブラーニングアプローチが実行され、その場合、ディープラーニングモデルは、事前に定義された不確実性閾値まで不確実なデータ、又は事前に定義された不確実性の範囲内にあるデータのみを使用してトレーニングされる。十分に不確実なピクセルデータを含む画像は、注釈付けのために注釈エンティティに送信される場合がある。さらに、又は代わりに、十分に不確実なピクセルに遭遇すると、注釈がリアルタイムで生じる場合がある。いくつかの配置では、図3に示すように、画像の一部、例えばボットに最も近い画像の部分のみの分類がキャプチャされる場合がある。当業者には理解されるように、画像205(図3)の一部203(図3)には、垂直に立っているボットに比較的近い空間の描写が含まれている。例えば、配置によっては、各画像の最も近い5分の2のみの分類がキャプチャされる場合がある。データがキャプチャされる画像の割合は、少なくともボットの高さ、場合によっては他の要因に基づいて変化し、調整可能なパラメータ、又はハイパーパラメータである可能性があることを、当業者は理解するであろう。
【0037】
図2を引き続き参照すると、予測確率マトリックス55の値をフィルタリングするために、さまざまな基準を使用することができる。例えば、マトリックスの要素55には、データの分類の確率の関数である値を含めることができる。マトリックスの要素55は、負の値の除去、値の正規化、データの切り取りなどのフィルタリングにかけることができる。ここで説明する活性化関数は、負の値を除去し、データセットを正規化するために使用できる。データは希望する基準に従って切り取ることができる。例えば、センサの範囲、精度、視野を利用してデータを切り取り、求める結果に最も適したデータを収集することができる。一例では、比較的まれな特徴として、表面の不連続的特徴が含まれる場合がある。この場合、データを収集するセンサは表面データを収集するものに限定することができ、表面を特徴としないデータやセンサから事前選択した距離よりも遠いデータを除外するようにデータを切り取ることができる。例えば、図3は、センサデータ205(図3)(例えば、カメラからの画像)の切り取られたパーセンテージ201(図3)が切り取られる、データ切り取りを示しており、これは、センサが切り取られていないパーセンテージ203(図3)に近いためであり、したがって、切り取られたパーセンテージ201(図3)よりも信頼性が高いと考えられるからである。フィルタリングされたデータは評価の対象となる。例えば、最初のパラメータAは、分類ごとに57個のフィルタリングされたマトリックス値を合計することによって計算できる。同様に、2番目のパラメータBは、分類ごとに、事前選択された値の範囲内の59個のフィルタリングされたマトリックス値を合計することによって計算できる。求める結果に応じて、フィルタリングされたマトリックス値に他の関数を適用できる。パラメータA及びBを使用してデータ51をフィルタリングし、機械学習モデルにトレーニング63用の比較的まれなデータのセットを提供することができる。例えば、AとBの比率61を他の基準とともに使用して、比較的まれな特徴についてモデルをトレーニングするためにどのデータを提供するかを決定できます。いくつかの構成では、それらのデータを機械学習モデル53に提供して、機械学習モデル53を迅速に改善することができる。一部の構成では、改善されたモデルが改良されることで、ナビゲーションに使用できるようになる。
【0038】
ここで、図4A~4Cを参照すると、縁石の特徴の例示的な分類のマトリックス値を説明するために、地上の真の画像、モデル予測、及びそれらの比較の例が示されている。図4Aは、道路表面のセマンティックセグメンテーションタスクに関する機械学習モデルのトレーニング用に注釈ベンダーによって提供される実際のグラウンドトゥルース分類である。この例では、画像の赤い部分は走行不可能な路面、緑の部分は標準的な走行可能な路面、灰色の部分は表面の不連続的特徴を表現している。図4Bは、図4Aの画像に対する機械学習モデルの予測を示している。図4Cは、真のラベルと予測ラベル間との競合を示している。この画像の青い部分は正しく分類されたピクセルを示し、黄色の部分は誤って分類されたピクセルを示している。機械学習モデルには、画像内で誤って分類される比較的まれな特徴に関するより多くのデータが必要となる。本発明のシステムは、モデルをトレーニングするための比較的希少なデータを提供することができる。
【0039】
図5は、図4A~4Cの画像のフィルタリング結果がどのようになるかの一例を示している。この例では、各ベクトル要素のクラス確率は1に設定されており、モデルはピクセル分類を100%の確実性で予測する。金属格子643(図4C)及び不連続な表面特徴645(図4C)、例えば走行不可能な領域は、図5のマトリックスでは、分類の確実性が100%未満であることが示されている。金属格子643(図4C)に関して、本発明のシステム及び機械学習モデルは、約50%の平均確実性で金属格子643(図4C)が走行不可能面であると判定し、約30%の平均確実性で金属格子643(図4C)が標準的走行可能面であると判定し、約15%の平均確実性で金属格子643(図4C)が拡張的走行可能面であると判定し、約25%の平均確実性で金属格子643(図4C)が縁石であると判定した。フィルタリングにマトリックス値が0.4から0.7の間のデータを選択することが含まれる場合、金属格子643(図4C)の運転不可分類にはそのようなデータが含まれ、機械学習モデルに提供するために選択される。表面の不連続的特徴(DSF)645(図4C)に関して、本発明のシステム及び機械学習モデルは、約57%の平均的確実性で、DSF645(図4C)が標準的走行可能面であり、約43%の平均的確実性で、DSF645(図4C)が縁石であると判断した。フィルタリングにマトリックス値が0.4から0.7の間のデータを選択することが含まれる場合、DSF645の標準的走行可能及び縁石分類(図4C)にはそのようなデータが含まれ、機械学習モデルに提供するために選択される。
【0040】
ここで図6を参照すると、少なくとも1つの構成では、自律走行車又はボットの機械学習モデルは、ボットに近接する環境に関する画像データ内の画像の分類に関する不確実性、及び/又はそのような画像内の少なくとも1つのピクセルの分類に関する不確実性を推定することができる。表面検出モデルは、カメラ画像の各ピクセルを、背景、ボット標準的運転可能、ボット拡張的運転可能、ボット運転不可能、及びDSFを含むさまざまな分類に分類することができるセマンティックセグメンテーションエンジンを使用して実装することができる。セマンティックセグメンテーションモデルは、U-Netモデルとすることができる。このモデルは、ニューラルネットワークを介した少なくとも1つのダウンサンプリングパスを介して画像の縮小表現を学習すると同時に、ニューラルネットワークを介したスキップ接続を伴う少なくとも1つのアップサンプリングパスを介して、必要なプロパティに関する局所的な情報を保持します。アップサンプリングパスは、モデルに提供された未分類画像の画像/ピクセル分類の予測を行うために使用できる。
【0041】
図6を引き続き参照すると、Intersection over Union(IoU)やJaccard Indexを使うなどして、セグメンテーションエンジンのさまざまなパフォーマンス測定基準を使用できるが、、これらに限定されるわけではない。IoUスコアは、各分類で偽陽性及び/又は偽陰性を考慮に入れることができるため、不均衡なクラスの正確なレポート作成が容易になる。クラスの不均衡は、あるクラスのデータに含まれる画像の総数が、別のクラスのデータに含まれる画像の総数よりはるかに少ない場合に発生する。IoUメトリックの制限は分類境界の精度が報告されないことですが、それでもIoUメトリックは一般的に使用されるパフォーマンス測定基準である。
【0042】
さらに図6を参照すると、カメラ画像(非限定的な例としてのショートレンジカメラ画像)には、路面が含まれる場合がある。大量の道路画像データでは、走行可能エリアが画像の約80%を占め、DSFが画像の約2%を占めるような分類が行われる可能性があり、そのため、機械学習分類機能に固有の偏りがあり、少数クラス(つまりDSF)の分類が不適切になる可能性がある。言い換えると、機械学習モデルはDSFピクセルよりも走行可能ピクセルをはるかに多く認識するため、機械学習モデルはDSF画像データよりも走行可能画像データをより適切に認識して正確に分類することができる。走行不可能エリアと拡張走行可能エリアは、それぞれ画像の約10%を占める場合がある。あまり表現されていないクラス(DSFなど)での機械学習モデルのパフォーマンスは、表現されていないクラスのサンプルをさらに取得することにデータ収集を集中し、このデータでモデルのトレーニングを微調整することで向上する可能性がある。例えば、DSF(例えば、縁石)などの十分に表現されていない特徴は、画像内で比較的多く見られる他の特徴ほど確実に分類されない可能性があるため、十分に表現されていない特徴(非限定的な例として、DSF)は、作業の元となる特徴の事前準備リストを持たずにデータの表現を学習する表現学習モデルに提供される場合がある。
【0043】
引き続き図6を参照すると、ここでは、分類予測の信頼性を評価し、そのような評価に基づいて、予測機能を向上させるために機械学習モデルをトレーニングする必要のある、表現が不十分となっているデータを保存する技術について説明する。この技術は、多くのアプリケーションにおける機械学習モデルの信頼性を解釈するのに役立つ可能性がある。信頼性を高めるためにこの技術を採用することは、最小限のラベル付け作業で一定の閾値の精度レベルを達成することが目標となるデータ駆動型のアクティブラーニング環境では特に重要になる可能性がある。このような設定では、機械学習モデルは、本発明の技術に基づいて、注釈付けのために最も有益なラベルなしサンプルを選択することを学習することができる。不確実性が非常に高い予測は、機械学習モデルのパフォーマンスを向上させるために、より有益であると考えられる。したがって、本発明のシステムは、機械学習モデルが理解できない(すなわち、正しく解釈又は分類できない)データを取得し、取得したデータのみで機械学習モデルをトレーニングするように設計することができる。このようなシステムは、セグメンテーションモデルの予測における不確実性のレベルを見つけ、予測に影響を与えた入力内の特徴を判別しようとする場合がある。
【0044】
図6を引き続き参照すると、当業者には理解されるように、ディープラーニングモデルは、人工ニューラルネットワークに基づく機械学習モデルの一種である。ディープラーニングモデルを展開する場合、モデルによって高レベルの特徴が学習されているかどうか、モデルが正当な理由で適切かどうか、モデルが「期待される特徴」を捉えることができるかどうかを判断することが有益である場合がある。従来の機械学習モデルでは、ディープラーニングモデルとは対照的に、特徴は属性とその属性の値の詳述であると理解される場合がある。例えば、「色」は属性であり、「色は青です」は特徴である。当業者であれば容易に理解できるように、特徴のセットを変更せずに属性のセットを変換する方法はいろいろとある。非限定的な例としては、属性値の再グループ化や、複数値属性のバイナリ属性への変換などが挙げられる。従来の機械学習モデルは、通常、モデリングの前処理段階で特徴エンジニアリングに依存する。コンピュータービジョンタスク、例えば画像内の建物の検出では、従来の機械学習で考慮される特徴には、ピクセルカラー(RGBなど)、方向勾配ヒストグラム(HOG)、スケール不変特徴変換(SIFT)、Bag-of-Visual-words(BOV)、テキストン(コーナー検出器、エッジ検出器など)、及び/又は何らかの次元削減方法によって変換されたピクセル値などが、少なくとも含まれるが、これらに限定されない。熟練技術者なら、与えられた特徴とその意味表現を導き出す方法を知っているであろう。ディープラーニングでは通常、表現学習と呼ばれる異なるアプローチが採用される。熟練技術者であれば、表現学習にはデータに基づく推論、データの表現を学習するモデルのアーキテクチャの定義が含まれることを理解するであろう。データを記述する特徴を事前に定義するのとは対照的に、「生の」又は最小限に前処理されたデータがディープラーニングモデルに提供される。ディープラーニングモデルは、事前には知られておらず、意味概念に明示的に関連付けられていない可能性のあるデータの表現を学習することが期待される。
【0045】
図6を引き続き参照すると、少なくとも1つの構成では、システムは、生のラベルなし画像に対して動作するショートレンジU-Netセグメンテーションモデルを使用して、本発明の技術を実行できる。システムは、生の1チャネル深度画像から生成された深度視覚化画像も保存することができる。いくつかの構成では、システムはPythonコンピュータプログラムを使用してスクリプト化することができる。当業者であれば、他の適切なコンピュータプログラムも使用できることを理解するであろう。構成ファイルは、実行するシステムを実装する命令に必要な入力設定をコンパイルするために使用できる。構成ファイルには、ラベルのないRGB及び深度画像へのパス、機械学習モデルのチェックポイント(例えば、さまざまなデータに適用される重み付けファイル)、結果が保存されるディレクトリパス、及びシステムを調整するためのハイパーパラメータが含むことができる。Pythonコンピュータプログラムが使用される構成では、生の画像に対してシステムの命令を実行し、生の画像を優先画像と通常画像に分離し、優先画像と通常画像の深度の視覚化を計算するPythonファイルが作成される。深度の視覚化は、中央処理装置(CPU)の複数のコア、又はすべてのコアを使用して並列に計算する場合がある。その他のファイルは、機械学習モデルのアーキテクチャスクリプト、ヘルパー関数などを含むことができる。
【0046】
図6を引き続き参照すると、少なくとも1つの構成では、システムはリアルタイムで実行され、次のように、カメラ画像内の各フレームの分類の不確実性を予測することができる。生のRGB画像がトレーニング済みのU-Netモデルに入力として供給され、モデルは分類予測の正規化されていない予測確率(「ロジット」と呼ばれる)を生成する。このような正規化されていない値は、正か負かを問わず、大きさに制限がない場合がある。活性化関数は、例えば、バイナリ、線形、シグモイド、tanh、reLU、softplus、softsign、softmax、swishなどは、当該技術分野でよく知られており、これらに限定されないが、入力が与えられた場合の出力を定義し、ニューロン/ノードをニューラルネットワークの次の層に移動させる。正規化されていない値には負の数が含まれる可能性があるため、値に活性化関数を適用することで、すべての値を負でない数に変換することができる。別の活性化関数は、各予測確率が0から1の間の値を取るように予測確率を正規化できる。マトリックス値の希望する形式に応じて、他の活性化関数をデータに適用することができる。U-Net分類出力は、チャネルx高さx幅の形式にすることができ、チャネルには、例えば、背景、運転不可(障害物など)、標準運転可能、拡張運転可能(草など)、及びDSF(縁石など)の5つの値(又は分類ラベル)のいずれかにすることができるが、これらに限定されるわけではない。各セマンティックラベルに値が割り当てられ、5チャネルマトリックス、つまりNumPy配列が生成される。熟練技術者なら理解できると思うが、NumPyはPythonコンピュータプログラムで使用される配列処理ルーチンのライブラリである。各分類ラベルに割り当てられる確率は、機械学習モデルに提供されるデータセットの分析に少なくとも部分的に基づくことができる。いくつかの配置では、ソフトマックスNumPy配列の一部が切り取られ、所定の画像の切り取られていない部分のみに焦点が当てられる場合がある。トリミングはさまざまな理由で実行できる。例えば、ある配置では、切り取られる部分は、ボットから最も遠い領域を表すソフトマックスNumPy配列の3/5になり、焦点は配列の残りの(ボットに最も近い)2/5に置かれる。このような切り取りは、ショートレンジカメラから事前選択された距離を超えて得られたデータに基づいて発生する外れ値の予測を除去するのに役立たせることができる。切り取られる割合は、カメラからの特定の距離における望ましい予測精度に依存し、特定の値に制限される必要はない。切り取られる割合は、調整可能な値、又はハイパーパラメータとすることができる。不確実とみなされるモデル予測値は、チャネルごとの予測に対して、開始=0.4、終了=0.7、間隔=0.05で定義される線形空間(間隔内の均等に間隔を空けたシーケンス)で構成することができる。熟練技術者なら理解できると思うが、linspaceはNumPyライブラリの関数である。各ピクセルの正規化された予測確率値は0から1の間であり、0.05間隔(つまり、0、0.05、0.1、0.15、...、0.95、1)の値を取ることができる。例えば、これに限定されるわけではないが、下限と上限の間(エンドポイントを含む場合もある)の正規化された予測確率を持つピクセルは、十分不確実であると見なされる。例えば、下限は0.4、上限は0.7にすることができる。選択された予測確率の範囲は、0.4~0.7のウィンドウに限定される必要はなく、いずれか又は両方のエンドポイントを含める必要もない。選択された予測確率の範囲は、機械学習モデルのバイアスに少なくとも部分的に依存することがあり、モデルは体系的に偏った結果を生成する。予測確率の範囲は、調整可能な範囲、又はハイパーパラメータとすることができる。予測確率の範囲を超える確率は不確実性が十分でない可能性があり、予測確率の範囲を下回る確率は、他の(例えば、より代表される)分類ラベルに対して望ましい範囲よりも大きな確率範囲を残す可能性がある。モデルは、画像の選択された部分の各ピクセルを反復処理し、ピクセルの最大確率(「argmax」)を取得する。最大確率(つまり、argmax予測)が予測確率の範囲内にある場合、チャンネルインデックス(予測クラスラベルを表す)と予測確率値が保存される。このプロセスは画像内の各ピクセルに対して繰り返される。予測確率範囲内の予測確率値を持つすべてのピクセルについて、すべての分類ラベルのピクセルカウントが実行される。各分類ラベルのピクセルカウントは、選択した画像内でその分類ラベルに属するピクセルの数である。5つの分類ラベルのそれぞれについて、その分類ラベルのピクセルカウントをその分類ラベルを持つピクセルの総数で割ることによって不確実性比率を計算する。関連する不確実性比率と分類ラベルカウントを持つ画像は、事前定義されたハイパーパラメータに従ってフィルタリング(つまり、ふるい分け)され、保存される。非限定的な例として、DSF分類ラベルの不確実性比率が0.4を超え、DSFとして分類されるピクセルの総数が1500を超える画像が保存される場合がある。メトリックに従ってフィルタリングすると、優先度の高い不成功のケースで機械学習モデルをトレーニングするために使用できるデータを選択できる。高さと幅は、U-Netアルゴリズムにおける画像のサイズを指す場合がある。
【0047】
図6を引き続き参照すると、事前定義された不確実性比率の範囲内にあるか、又は不確実性比率値の閾値を超える、保存されたデータは、その後、機械学習モデルのトレーニングに使用することができる。加えて、又は代わりに、このような保存されたデータは、機械学習モデルによって、機械学習モデルが受信する画像についての推論を行うために使用することができる。
【0048】
図6を引き続き参照すると、少なくとも1つの構成では、本発明のシステムは、図6に示す動作に従って実行することができる。以下の説明及び図6は特に画像を参照しているが、本発明のシステムでは任意のデータを処理することができる。このシステムは画像データの処理に限定されない。図6を参照すると、受信機を備えたプロセッサが生のRGB画像を受信し、アクション100で、プロセッサ内で実行されている機械学習セグメンテーションモデルにその画像を渡す。制御フローはアクション102に進む。アクション102では、さらなる処理のために画像の一部が選択される。いくつかの構成では、さらなる処理のために選択される部分に、受信機に最も近い画像の部分を含めることができる。いくつかの配置では、選択された部分は、例えば、画像の2/5などは、ただしこれに限定されないが、画像の比率と一致させることができる。制御フローはアクション104に進み、ここでモデルは選択された部分の各ピクセルの予測確率値のセットを生成し、いくつかの配置では、ソフトマックス関数を適用して正規化された予測確率値の配列(つまり、それぞれが0から1までの値を持つ予測確率値のセット)を生成し、いくつかの配置では、配列はチャネル、高さ、及び幅の次元を持つ3Dマトリックスであり、チャネルは、背景、運転不可能、標準運転可能、拡張運転可能、及びDSFの5つの分類ラベルのいずれかを取ることができ、5つの分類ラベルのそれぞれに、配列内の各ピクセルの予測確率が割り当てられ、配列は、いくつかの配置ではNumPy配列である場合がある。制御フローはアクション106に進み、モデルは画像の選択された部分の各ピクセルを反復処理し、各ピクセルの最大確率(例えば、argmax関数を使用)を取得する。制御フローはアクション108に進み、各ピクセルの最大確率が事前選択された不確実性の範囲(例えば、0.4~0.7)内にあるかどうかを判定し、各分類でのその範囲内にあるピクセル数をカウントする。制御フローはアクション110に進む。アクション110では、各分類について、事前選択された範囲内の各分類ラベルのカウントを、切り取られた画像内のその分類のピクセル総数で割ることによって不確実性比率が計算される。制御フローはアクション112に進み、少なくとも不確実性比率に基づいて事前選択された基準を満たす画像を使用して機械学習モデルをトレーニングする。基準には、例えば、不確実性比率について事前選択された閾値(例えば、0.4)を持つ分類や、例えば、別の事前選択された閾値(例えば、1500)より大きいピクセルの総数などが含まれる。基準閾値は調整可能である。
【0049】
少なくとも1つの構成では、深度の視覚化には、注釈を付けやすくするために2Dから3Dへの変換が含まれる場合があり、例えば、画像内の異なる地形が同じ色である場合(例えば、道路と歩道が両方とも赤色の場合)などがあげられる。配置において、深度画像は、RGBピクセルごとに深度情報を含む1チャネル画像とすることができる。機械学習モデルでは、深度画像とカメラの位置(左、中央、右など)を入力として受け取り、ピクセル深度値が7,000mm未満の場合、深度画像の深度ピクセルをミリメートルからメートルに変換し、深度ピクセル値を2Dから、特定のカメラ固有のパラメータを使用して、カメラフレーム内の各ピクセルの3Dx、y、z座標(zは深度を表す)に逆投影する。ある配置では、カメラ座標フレーム内の逆投影ピクセルは、変換関数に渡され、自律走行車又はボットのベースリンク座標フレームに、逆投影ピクセルを変換することができる。非限定的な例として、ベースリンク座標フレームは、自律走行車又はボットの後輪の間から投影される参照フレームとすることができる。変換関数は回転変換とカメラの変換を受け取り、受け取った値を使用してベースリンクフレームの深度値zを生成します。
【0050】
当業者であれば、情報及び信号は、さまざまな既存の技術のいずれかを使用して表現できることを理解するであろう。例えば、明細書で言及するかもしれないデータ、命令、コマンド、情報、信号、ビット、シンボル、又はチップは、電圧、電流、電磁波、磁場又は粒子、光学場又は光粒子、超音波、投影容量、又はそれらの任意の組み合わせによって表される場合がある。
【0051】
当業者であれば、本明細書に開示された構成に関連して説明された様々な例示的な論理ブロック、モジュール、回路、及び方法ステップが、電子ハードウェア、コンピュータソフトウェア、又は両方の組み合わせとして実施できることも理解できるであろう。ハードウェアとソフトウェアのこの互換性を明確に示すために、さまざまな例示的なコンポーネント、ブロック、モジュール、回路、及び手順が、その機能の観点から説明されている。このような機能がハードウェアとして実装されるかソフトウェアとして実装されるかは、特定のアプリケーションと、システム全体に課せられる設計上の制約によって決まる。熟練した技術者なら、特定のアプリケーションごとに、説明した機能をさまざまな方法で実施することができるが、そのように決定された実施は、添付の請求項の範囲から逸脱するものと解釈されるべきではない。
【0052】
本明細書に開示された構成に関連して説明される様々な例示的な論理ブロック、モジュール、及び回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)又はその他のプログラマブルロジックデバイス、個別のゲート又はトランジスタロジック、個別のハードウェアコンポーネント、又は本明細書に記載された機能を実行するように設計されたそれらの任意の組み合わせを使用して実施又は実行できる。汎用プロセッサはマイクロプロセッサとすることができるが、代替的に、プロセッサは従来のどのようなプロセッサ、コントローラ、マイクロコントローラ、又はステートマシンであってもよい。プロセッサは、コンピューティングデバイスの組み合わせ、例えば、DSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、DSPコアと組み合わせた1つ以上のマイクロプロセッサ、又はその他の同様の構成として実施することもできる。
【0053】
本明細書に開示された構成に関連して説明される方法の動作は、ハードウェアで直接に、プロセッサによって実行されるソフトウェアモジュールで、又はこれら2つの組み合わせで実施できる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、又は当技術分野で知られているその他の形式の記憶媒体に格納できる。記憶媒体はプロセッサに結合され、プロセッサは記憶媒体から情報を読み取ったり、記憶媒体に情報を書き込んだりすることができる。代替的に、記憶媒体はプロセッサに一体化されてもよい。プロセッサ及び記憶媒体は、ASIC内に存在してもよい。ASICは、例えば、コンピュータ、ロボット、ユーザー端末、携帯電話又はタブレット、自動車、IPカメラなどの機能機器内に存在してもよい。代替的に、プロセッサと記憶媒体は、そのような機能機器内の個別のコンポーネントとして存在してもよい。
【0054】
上記の説明は、網羅的なものではなく、また、開示された形式に正確に特徴を制限することを意図したものではない。当業者であれば、本開示から逸脱することなく、様々な代替案や修正案を考案することができ、本明細書で定義される一般的な原理は、添付の特許請求の範囲の精神又は範囲から逸脱することなく、他の側面に適用することができる。したがって、本開示は、そのようなすべての代替、修正、及び変更を包含するものと解釈される。さらに、本開示のいくつかの構成が図面に示され、及び/又は本明細書で説明されているが、本開示は、技術が許す限り広い範囲で行われ、本明細書も同様に解釈されることを意図しているため、本開示はそれらに限定されることを意図するものではない。したがって、上記の説明は限定的なものとして解釈されるべきではなく、単に特定の構成の例として解釈されるべきである。また、当業者であれば、本明細書に添付された請求項の範囲及び精神の範囲内で他の変更を想定できるであろう。上記及び/又は添付の請求項に記載されているものと実質的に異ならないその他の要素、ステップ、アクション、方法、及び技術も、本開示の範囲内に含まれるものとする。したがって、添付の請求項は、本明細書に示され、説明された構成に限定されることを意図するものではなく、本明細書に開示された原理及び新規な特徴と一致する最も広い範囲が与えられるべきである。
【0055】
図面に示される配置は、開示の特定の例を示すためだけに提示されている。また、記載されている図面は単なる例示であり、限定するものではない。図面では、説明の都合上、一部の要素のサイズが誇張されており、特定のスケールで描かれていないかもしれない。さらに、図面内に示される同じ番号の要素は、状況に応じて、同一の要素である場合もあれば、類似の要素である場合もある。
【0056】
本明細書及び請求項において「具備する」という用語が使用されている場合、それは他の要素又はステップを排除するものではない。単数名詞を指すときに不定冠詞又は定冠詞が使用されている場合(例:「a」、「an」、「the」)、特に明記されていない限り、その名詞の複数形も含まれる。したがって、「具備する」という用語は、そこに列挙される項目に限定されるものと解釈されるべきではなく、他の要素又はステップを排除するものではなく、したがって、「項目A及びBを含むデバイス」という表現の範囲は、コンポーネントA及びBのみからなるデバイスに限定されるべきではない。さらに、本明細書及び請求項で「含む」、「有する」、「所有する」などの用語が使用されている限りにおいて、そのような用語は、「具備する」という用語と同様に包括的であることが意図されており、「具備する」は請求項で暫定的用語として使用される場合と解釈される。
【0057】
さらに、「第1」、「第2」、「第3」などの用語は、説明又は請求項のいずれにおいても、類似の要素を区別するために提供されており、必ずしも順序又は時系列の順序を説明するものではない。当然のことながら、このように使用される用語は、適切な状況下では互換性があり(明確に別途開示されていない限り)、ここに記載された開示において、記載又は図示されているものとは異なる順序及び/又は配置であっても動作可能である。
【0058】
自律運転中に、事前選択された特性のカテゴリの認識を改善する方法であって、機械学習モデルが正確に予測できなかった事前選択されたカテゴリを決定するステップ、事前選択されたカテゴリに関連付けられた特定のセンサデータを収集するステップ、及び収集された所定のセンサデータから得られたトレーニングデータに基づいて、事前選択されたカテゴリを認識するように機械学習モデルをトレーニングするステップを具備する方法である。
【0059】
前項の方法において、決定するステップは、収集された特定のセンサデータに関連付けられた不確実性データを計算するステップ、及び計算された不確実性データの少なくとも一部に基づいて事前選択されたカテゴリを識別するステップを具備する。
【0060】
前項の方法は、収集されたセンサデータの少なくとも一部を機械学習モデルに供給するステップと、機械学習モデルから事前選択されたカテゴリの非正規化予測を受信するステップと、非正規化予測を正規化し、正規化予測を表す要素の配列を生成し、その配列を切り取るステップと、配列の各要素について事前選択されたカテゴリのそれぞれについて最大確率を決定するステップと、事前選択された確率の範囲内で最大確率を持つ各要素に関連付けられた識別子を格納するステップと、事前選択されたカテゴリのそれぞれについて、事前選択された確率の範囲内で最大の確率値の範囲内の値を持つ正規化要素を事前選択されたカテゴリの不確実性データとして定義するステップと、事前選択されたカテゴリのそれぞれについて不確実性データの比率を計算するステップであって、この比率は、事前選択されたカテゴリ内の不確実性データの数をカテゴリ内の要素の合計で割ったものであるステップと、及び、不確実性比率及び事前選択されたクラスの要素の合計に少なくとも部分的に基づいてトレーニングデータを選択するステップとをさらに具備する。
【0061】
前記いずれかの条項に記載の方法において、前記トレーニングは、自律運転中の機械学習モデルのリアルタイムトレーニングを具備する。
【0062】
ピクセルデータを分類する方法は、地形的な運転可能性の相対的な程度に対応する複数のクラスを確立するステップと、センサを使用してピクセルデータの画像を取得するステップと、プロセッサによって、事前定義された不確実性の範囲内にあるピクセルにピクセル予測不確実性ラベルを割り当てるステップと、プロセッサによって、複数のクラスのそれぞれについて不確実性比率値を計算するステップとを具備し、不確実性比率値は、不確実性ラベルを持つクラス内のピクセル数をクラス内のピクセル総数で割った値に等しいことを特徴とする。
【0063】
前項の方法は、センサから比較的遠い画像データの一部を破棄するステップをさらに具備する。
【0064】
前述のいずれかの条項に記載した方法において、前記一部の割合は3/5である。
【0065】
前述のいずれかの条項に記載の方法において、各ピクセルの深度について最大確率値を決定するステップをさらに具備し、各ピクセルに不確実性値を割り当てるステップは最大確率値に基づく。
【0066】
前述のいずれかの条項に記載した方法において、所定のクラスについて所定の範囲内の不確実性比率値を有するピクセルのセットを機械学習トレーニング用に提供するステップをさらに具備する。前述のいずれかの条項に記載した方法において、所定のクラスについて所定の範囲内の不確実性比率値を有するピクセルのセットを機械学習推論に提供するステップをさらに具備する。
【0067】
自律走行車であって、ボディと、ボディに結合され、ボディを支持するように構成された複数の車輪と、ボディに結合された少なくとも1つのセンサと、ボディに収容され、少なくとも1つのセンサに結合されたプロセッサとを備え、前記プロセッサは、少なくとも1つのセンサから受信したデータのサブセットに少なくとも部分的に基づいて、事前選択されたカテゴリを認識するようにトレーニングされた機械学習モデルを実行するように構成され、データのサブセットは、関連する予測不確実性の範囲を有することを特徴とする自律走行車である。
【0068】
前項の自律走行車において、プロセッサは、機械学習モデルを格納するメモリに結合され、機械学習モデルには、プロセッサによって実行可能な命令が含まれ、これらの命令は、事前選択されたカテゴリの非正規化予測を生成し、非正規化予測を正規化し、正規化予測を表す要素の配列を生成し、前記配列を切り取り、前記配列の各配列要素について事前選択されたカテゴリのそれぞれについて最大確率を決定し、事前選択された確率の範囲内で最大確率を持つ配列要素のそれぞれに関連付けられた識別子を格納し、事前選択されたカテゴリのそれぞれについて、事前選択された確率の範囲内で最大確率内の値を持つ正規化要素を、事前選択されたカテゴリの1つについての不確実性データとして定義し、事前選択されたカテゴリのそれぞれについて不確実性データの不確実性比率を計算し、ここで、前記不確実性比率は、事前選択されたカテゴリの不確実性データのカウントをカテゴリの配列要素の合計で割った値であり、事前選択されたカテゴリの不確実性比率及び配列要素の合計に少なくとも部分的に基づいてトレーニングデータを選択する命令である。
【0069】
自律走行車であって、ボディと、ボディに結合され、ボディを支持するように構成された複数の車輪と、ボディに結合された少なくとも1つのセンサと、ボディに収容され、少なくとも1つのセンサに結合されたプロセッサとを具備し、前記プロセッサは、少なくとも1つのセンサから画像データを受信するように構成され、前記画像データには第1の複数のピクセルが含まれ、前記プロセッサはさらに、第1の複数のピクセルのピクセルを認識し、事前選択された地形的なピクセルデータの各ピクセルの深度について最大確率値を決定するようにさらに構成されている運転可能性クラスに割り当てるために機械学習モデルを実行するように構成され、前記機械学習モデルは、不確実性比率値が事前定義された不確実性範囲内の不確実性を有する、地形的な運転可能性の表現が不十分なクラスの第2の複数のピクセルでトレーニングされており、前記不確実性比率値は、事前定義された不確実性範囲内にある予測確率を有するピクセルの数と第2の複数のピクセルの合計数の商を含むことを特徴とする。
【0070】
前項の自律走行車において、プロセッサは機械学習モデルを格納するメモリに結合され、前記機械学習モデルには、少なくとも1つのセンサから比較的遠い画像データの一部を破棄するためにプロセッサによって実行可能な命令が含まれる。
【0071】
前項の自律走行車において、前記一部の割合は5分の3である。
【0072】
前述のいずれかの条項に記載の自律走行車において、プロセッサは、ピクセルデータの各ピクセルの深度について最大確率値を決定するようにさらに構成されている。
図1
図2
図3
図4
図5
図6
【国際調査報告】