(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-06
(54)【発明の名称】センサデータを分類するための方法及び装置
(51)【国際特許分類】
G06N 3/02 20060101AFI20231027BHJP
【FI】
G06N3/02
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023522487
(86)(22)【出願日】2021-09-09
(85)【翻訳文提出日】2023-06-07
(86)【国際出願番号】 EP2021074800
(87)【国際公開番号】W WO2022078676
(87)【国際公開日】2022-04-21
(32)【優先日】2020-10-14
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
(71)【出願人】
【識別番号】505472816
【氏名又は名称】マイクロビジョン,インク.
(74)【代理人】
【識別番号】110000659
【氏名又は名称】弁理士法人広江アソシエイツ特許事務所
(72)【発明者】
【氏名】ニッチェ,ジュリア
(57)【要約】
センサデータを分類するための方法(100)及び装置が提案され、本方法(100)は、多数のクラスに対して、それぞれの平均特徴ベクトル(30)を提供するステップ(110)を含む。更に、本方法(100)は、訓練データ(50)に基づいて訓練された、少なくとも1つのニューラルネットワーク(11)を含む分類器(10)を使用して、センサデータに基づいて特徴ベクトルを確定するステップ(120)と、多数のクラスのそれぞれ、特徴ベクトルとそれぞれの平均特徴ベクトル(30)とのコサイン類似度を確定するステップ(130)と、それぞれのコサイン類似度を、各クラスに対して予め定義された閾値と比較するステップ(131)と、すべてのクラスの閾値が満たされない場合に、多数のクラスによって示されていないシナリオを識別するステップ(133)と、を含む。本装置は分類器(10)を備え、本方法を実行するように設計されている。
【選択図】
図1
【特許請求の範囲】
【請求項1】
センサデータを分類するための方法(100)であって、
前記方法(100)は、多数のクラスに対してそれぞれの平均特徴ベクトル(30)を提供するステップ(110)を含み、
前記方法は、訓練データ(50)に基づいて訓練された少なくとも1つのニューラルネットワーク(11)を含む分類器(10)を使用して実行される以下のステップ;
前記センサデータに基づいて特徴ベクトルを決定するステップ(120)と、
前記多数のクラスに対して、前記特徴ベクトルと、前記平均特徴ベクトル(30)のそれぞれとの間のコサイン類似度をそれぞれ決定するステップ(130)と、
前記コサイン類似度のそれぞれと、予め各クラスに対して設定された閾値との比較を行うステップ(131)と、
すべてのクラスについて前記閾値が満たされない場合に、前記多数のクラスによって示されないシナリオを検出するステップ(133)と、を含むことを特徴とする、方法(100)。
【請求項2】
前記分類器(10)が、ステップ(132)で、各クラスに対して、共分散行列、前記平均特徴ベクトル(30)、及び各クラスに対して決定された前記特徴ベクトルとの間の、マハラノビス距離を更に決定することを特徴とする、請求項1に記載の方法(100)。
【請求項3】
前記マハラノビス距離とχ
2分布とに基づいて、各クラスに対して基準値を決定し、前記基準値が、各クラスに対して設定された閾値と比較され、すべてのクラスについて前記閾値が満たされない場合、ステップ(133)で、前記複数のクラスによって示されないシナリオを検出することを特徴とする、請求項2に記載の方法(100)。
【請求項4】
すべてのクラスについて閾値が満たされない場合、ステップ(150)で、前記検出されたシナリオが、前記訓練データ(50)と比較して未知のものであるとして、ラベルを付与されることを特徴とする、請求項1から3のいずれか一項に記載の方法(100)。
【請求項5】
すべてのクラスについて閾値が満たされない場合、ステップ(151)で、予め定義された最小信頼度が、前記検出されたシナリオに割り当てられることを特徴とする、請求項1から4のいずれか一項に記載の方法(100)。
【請求項6】
前記訓練データ(50)を補足するものとして、前記センサデータを記憶するステップ(152)を含むことを特徴とする、請求項1から5のいずれか一項に記載の方法(100)。
【請求項7】
前記訓練データ(50)を使用して、前記分類器(10)の訓練を行うステップ(101)を含み、前記訓練データ(50)が、第1の訓練サンプル(51)及び第2の訓練サンプル(52)を含み、前記第2の訓練サンプル(52)が、敵対的生成ネットワーク(GAN;20)によって生成され、前記GANが、生成器(21)及び識別器(22)を含み、前記第1の訓練サンプル(51)が、センサによるシナリオの記録に基づくことを特徴とする、請求項1から6のいずれか一項に記載の方法(100)。
【請求項8】
前記第2の訓練サンプル(52)に基づくカルバック・ライブラー発散が加えられた、前記第1の訓練サンプル(51)に基づく、交差エントロピー損失に基づいて、前記分類器(10)の訓練を行う前記ステップ(101)が行われることを特徴とする、請求項7に記載の方法(100)。
【請求項9】
前記GAN(20)、すなわち前記生成器(21)及び前記識別器(22)の訓練を行うステップ(102)を含み、前記分類器(10)の訓練を行う前記ステップ(101)、及び前記GAN(20)の訓練を行う前記ステップ(102)が一緒に行われることを特徴とする、請求項7又は8に記載の方法(100)。
【請求項10】
前記第2の訓練サンプル(52)に基づくカルバック・ライブラー発散が加えられた、前記第2の訓練サンプル(52)に基づく、バイナリ交差エントロピー損失に基づいて、前記生成器(21)の前記訓練が行われることを特徴とする、請求項9に記載の方法(100)。
【請求項11】
ステップ(111)で、各クラスに対して前記平均特徴ベクトル(30)が決定され、
前記訓練データ(50)が、クラスごとに多数の第1の訓練サンプル(51)を含み、
クラスの前記平均特徴ベクトル(30)が、以下のステップ、
クラスの第1の訓練サンプル(51)のそれぞれについて、特徴ベクトルを決定するステップ(111a)と、
更なる特徴ベクトルを取得するために、クラスのすべての第1の訓練サンプル(51)の前記特徴ベクトルを加算するステップ(111b)と、
前記追加された特徴ベクトルを前記クラスの前記第1の訓練サンプルの数で除算するステップ(111c)と、によって決定されることを特徴とする、請求項7から10のいずれか一項に記載の方法(100)。
【請求項12】
ステップ(112)で、各クラスに対して前記閾値が決定され、クラスの前記閾値が、以下のステップ、
前記第1の訓練サンプルのそれぞれの前記特徴ベクトルと、前記クラスの前記平均特徴ベクトルとの前記コサイン類似度を決定するステップ(112a)と、
前記クラスの前記第1の訓練データの、平均コサイン類似度、又は最小コサイン類似度を決定するステップ(112b)と、
前記平均コサイン類似度、又は前記最小コサイン類似度を、前記クラスの閾値として設定するステップ(112c)と、によって決定されることを特徴とする、請求項7から11のいずれか一項に記載の方法(100)。
【請求項13】
センサデータを分類するための装置であって、分類器(10)を備え、請求項1から12のいずれか一項に記載の方法(110)を実行するように構成されていることを特徴とする装置。
【請求項14】
プログラムが記憶されたコンピュータ可読記憶媒体を含むコンピュータプログラム製品であって、前記プログラムが前記コンピュータの前記メモリにロードされた後、請求項13に記載の装置と協働して、請求項1から12のいずれか一項に記載の方法を実行することを可能にする、コンピュータプログラム製品。
【請求項15】
前記コンピュータの前記メモリにロードされた後に、コンピュータが、請求項13に記載の装置と協働して、請求項1から12のいずれか一項に記載の方法を実行することを可能にするプログラムが格納された、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、独立請求項による、センサデータを分類するための方法及び装置に関する。
【背景技術】
【0002】
特に、車両の無人走行において、例えば道路利用者などの、センサによって検出されたオブジェクトを分類することは、それに基づいて走行を行うために不可欠なものである。
【0003】
従来技術から、少なくとも1つの予め定義されたクラスが、検出されたオブジェクトに割り当てられることが知られている。しかしながら、オブジェクトが所定のクラスに含まれないときに、それが検出されることも同様に重要である。その場合にのみ、車両の制御に関する決定が、誤った仮定に基づいていないということを保証することができる。
【0004】
この問題は、分類にニューラルネットワークが使用される場合に、より一層重要である。ニューラルネットワークに関しては、これらのデータが、訓練中にニューラルネットワークに提示されたデータと少なくとも同様である場合、すなわちこれらのデータが訓練データの分布に従う場合にのみ、データの評価に良好に機能することが知られている。
【発明の概要】
【0005】
したがって、本発明の目的は、分類に使用されるニューラルネットワークにとって知られていない、未知のシナリオが存在するかどうかを、確実に推定することができるように、センサデータを分類するための方法を提供することである。
【0006】
上記の目的は、センサデータを分類するための方法によって解決され、この方法は、多数のクラスに対してそれぞれの平均特徴ベクトルを提供することを含む。したがって、各クラスに対して、それ自体の平均特徴ベクトルが提供される。
【0007】
本方法は分類器を使用するものであり、この分類器は、訓練データに基づいて訓練された、ニューラルネットワークである。多数のクラスとは、具体的には、ニューラルネットワークが予め訓練されたクラス数に基づいて確定された、所定数のクラスである。平均特徴ベクトルとは、言い換えれば、予め定義されたクラスごとに決定された、平均ベクトルである。
【0008】
本方法は、分類器を使用して、センサデータに基づく特徴ベクトルを決定することを含む。
【0009】
本方法は更に、分類器を使用して、予め決定された特徴ベクトルと、多数のクラスに対するそれぞれの平均特徴ベクトルとの間の、コサイン類似度を決定するステップ、それぞれのコサイン類似度を、各クラスに対して予め決定された閾値と比較するステップ、及び、すべてのクラスの閾値が満たされない場合に、多数のクラスによって示されないシナリオを識別するステップをそれぞれ含む。したがって、本方法は、センサデータの分類における、異常を検出するように構成される。
【0010】
コサイン類似度とは、具体的には、ベクトルがどれだけ類似しているかを示す数値であり、その数は+1~-1の範囲である。コサイン類似度が、例えばクラスに対して+1である場合、対応する特徴ベクトルは、対応するクラスの平均特徴ベクトルに正確に相当する。
【0011】
ニューラルネットワークは、訓練データに基づいて、予め訓練されたものである。これらの訓練データは、多数のクラスを含む。特に、各クラスは、オブジェクトカテゴリ、例えば歩行者又は自転車を表す。特に、各クラスの訓練データは、多数の訓練サンプルを含み、これらの訓練サンプルは、可能な限り多くの様々なシナリオにおいて、クラスによって示されるオブジェクトを構成する。したがって、各訓練サンプルは、環境条件におけるオブジェクトを含む。訓練サンプルは、好ましくは、画像データ又はLiDARデータ、特に点群に関するものである。当然のことながら、すべての起こり得るシナリオを、そこで網羅できるわけではない。
【0012】
シナリオは、好ましくは、含まれるオブジェクト及び環境条件、例えば気象条件によって定義される。シナリオは、特に、例えば雪、雨、霧、埃、雹などの気象条件において、特に気象条件の強度、例えば霧の密度に応じて、組み合わされたオブジェクトであり得る。通常の視界(例えば、曇天)における歩行者は、雹の嵐における歩行者とは異なるシナリオである。しかしながら、両方とも「歩行者」クラスに含まれるものであり、シナリオ「雹の嵐における歩行者」は、極めて稀にしか発生しないため、訓練データには含まれていなかった可能性がある。オブジェクト検出のための方法は、可能な限りすべての環境条件でオブジェクトを検出するものであるが、訓練データに示されていなかったために、現在のシナリオに基づいて十分な信頼性をもってオブジェクトを検出できない場合に、その限界も知ることになる。
【0013】
訓練データに示されていないシナリオ、言い換えれば、未知又は不明のシナリオとは、訓練データに含まれるオブジェクトカテゴリでの、これまで検出されていない、すなわち新しいオブジェクトカテゴリ、及び/又はこれまで含まれていない、すなわち新しい環境条件、特に気象条件であり得る。少なくとも1つのクラスの閾値が満たされた場合には、本方法は、対応するクラス、好ましくは信頼度を割り当てることを含み得る。具体的には、コサイン類似度を信頼度として割り当てることができる。
【0014】
全てのクラスに対して、コサイン類似度が閾値に達しない場合、本方法は、多数のクラスによってカバーされなかったシナリオが存在することを検出することができる。したがって、ニューラルネットワークは、その訓練に基づく、予想される結果との偏差を検出することができる。言い換えれば、分類が有効であったか否かについて判断することが可能となり、このことは、車両の無人走行のための情報の更なる処理に対し、相当な影響を及ぼし得る。
【0015】
したがって、本方法は、センサデータにおける特定のクラスのシナリオを検出するように構成することができるが、すべての閾値が満たされない場合、そのシナリオが訓練データ内で十分に示されていないことを、検出するように構成することができる。更に、例えば道路上には、車両部品を伴う窪み又は事故現場といった特別な事例も存在する可能性があり、それらは実際の新しいクラス、言い換えれば、オブジェクトカテゴリであるため、本方法は、訓練データによって示されたようには、これらを認識しない。また、例えば、訓練データに含まれていなかった新しいオブジェクト(例えば、新しい道路利用者)を伴うシナリオも、クラス全体が示されないため、訓練データに示されないシナリオである。実際には自転車に似ているが、それにもかかわらず、それ自体のクラスを構成するカーゴバイクがその一例である。上記のすべての場合において、検出されたシナリオは訓練データにおいて示されてない、と定義される。したがって、多数のクラスによって示されないシナリオの場合に、分布外のサンプル、又はそれぞれ分布外の検出に関する問題がある。
【0016】
したがって、本方法は、クラスとの類似性に基づいて各シナリオに分類を割り当てる、従来技術で知られている方法とは、異なるものである。本方法では、安全性を重視した方法で未知のシナリオを検出するように分類器が構成されているため、好ましくは車両の無人走行といった、安全性重視の用途にも使用することができる。したがって、使用中のエラーを防止するだけでなく、新しいシナリオを検出することも可能となり、その結果、これらを訓練データに次第に含めていくことができるため、発生しているすべてのシナリオをカバーすることを保証し得る。
【0017】
更に、本方法は、共分散行列、平均特徴ベクトル、及び、各クラスのセンサデータに基づいて決定された特徴ベクトルの間の、マハラノビス距離を決定するステップを含むことができる。コサイン類似度は特徴の分布を考慮しておらず、その平均値のみを考慮するものであるため、このステップは特に、多数のクラスによって考慮されていないシナリオを、より良好に検出することに役立つ。このために、加えてマハラノビス距離を用いることができる。
【0018】
マハラノビス距離は、信頼度に関して限界を推定するために必要となる「有界」のものではない、すなわち限定されないので、χ2分布に基づいて、基準値、特に累積密度関数の関数値が決定される。このことは、自由度数が特徴の範囲に相当するとき、マハラノビス距離はχ2分布に従うことが知られているように機能する。各クラスの基準値は、それぞれのマハラノビス距離の空間で決定される、χ2分布の関数値によって決定される。言い換えれば、クラスのマハラノビス距離はX値であり、これがχ2分布に加えられる。クラスの基準値を取得するために、対応するY値が1から減算される。各クラスについて予め定義された閾値と、それぞれの基準値の比較を、再度行うことができる。すべてのクラスの閾値が満たされなければ、多数クラスによって示されていないシナリオが検出される。コサイン類似度及びマハラノビス距離によるこの二重制御では、多数のクラスで考慮されていないシナリオも検出され、特に高い安全予防に役立つ。
【0019】
特に、すべてのクラスの閾値が満たされなければ、本方法は、訓練データと比較して未知のものであると、検出されたシナリオにラベルを付与する、言い換えれば、特徴付けることができる。
【0020】
更に、予め定義された最小信頼度を、検出されたシナリオに割り当てることができる。具体的には、各クラスに最小信頼度を割り当てることができる。特に、予め定義された最小信頼度は、紛れもなく各クラスの対応するコサイン類似度より小さいものである。この最小信頼度は、例えば、0に相当し得る。
【0021】
本方法は、訓練データを補完するものとして、示されていないシナリオが検出されたセンサデータを、記憶するステップを含むことができる。このようにして、ニューラルネットワークの訓練に使用された訓練データを、補完することができる。したがって、自動的な方法で、センサデータを新しいシナリオに記憶させることができる。これにより、訓練データの「入力」において、多大な時間を要するため費用がかかるだけでなく、誤りを起こしやすい、手動での面倒なシナリオのシフトが置き換えられる。訓練データのためのデータ記録では、分類方法の安全性を保証するために、何時間ものセンサデータを記録し、評価し、又は手動でそれぞれラベル付けしなければならない。ここでは、当然ながら、例えば、非常に稀な気象現象を伴うシナリオ、又は稀な道路利用者を伴うシナリオよりも、「通常の」シナリオが頻繁に記録される。本方法では、そのような訓練データに含まれていないシナリオのセンサデータを記憶することが可能となり、好ましくは、次のステップ、例えば、それに続く分類器の「更新」において、それらを使用して、新しいシナリオに関して分類器を訓練することも可能となる。訓練データにとって未知のシナリオに基づいて、新しいクラスを割り当てるために、予め、記憶されたセンサデータに手動でラベル付与を行うことができる。
【0022】
センサデータは、特にLiDARデータに関するものであり得る。言い換えれば、センサデータは、特に点群に関するものである。本方法は、特に、対応するセンサ、特にLiDARセンサ、好ましくはソリッドステートLiDARセンサによる、センサデータの受信を含むことができる。更に、センサデータは、レーダデータ又は画像データに関するものであり得る。ここでの方法は、センサデータの前処理を含むことができる。特に、前処理のためのユニットは、共通のオブジェクト上の反射から明らかに生じる、点群の点を検出することができる。これらの結合点、言い換えればクラスタを、前処理されたセンサデータとして、分類器に渡すことができる。
【0023】
分類器のニューラルネットワークは、特に機能的に第1のユニットと第2のユニットとに分割することができる。ここで、第1のユニット及び第2のユニットは、ニューラルネットワークの異なる層を含み、第1のユニット及び第2のユニットによる区別は、それらの機能に関して行われる。第1のユニットは、センサデータから特徴を抽出するための、特徴抽出器として構成される。第2のユニットは分類ユニットとして構成される。第1のユニットは、第2のユニットためにセンサデータを準備する役割を果たす。
【0024】
特に、特徴抽出器は、層として少なくとも1つの「多層パーセプトロン(MLP:Multi Layer Perceptron)」(MLP層)を含む、「多層パーセプトロン」(MLP-)ネットワークを含む。各層は、多数の人工ニューロンを含む。具体的には、MLPネットワークは、多数のMLP層を含む。MLP層は、好ましくはすべて非線形関数によって、具体的には、いわゆるReLU関数によって、それぞれ活性化される。ReLU関数は、負のx値に対してはY値として0を割り当てるが、そうでない場合には勾配1を有する、線形関数を表す関数である。MLPは、好ましくは少なくとも3つ、特に少なくとも5つの層を有し、それらは、いくつかの副層を含むことができる。
【0025】
更に、MLPネットワークは、少なくとも1つの全接続層を備えることができ、非線形関数、特にいわゆるReLU関数によって、この層を活性化することもできる。
【0026】
MLPネットワークは、点群の形態で入力を処理することができる。したがって、ネットワークの出力は、特にベクトルの形態であることを特徴とする。ここで、最終層には、特に活性化は行われない。最終的に、softmax正規化を行うことができる。結果として、softmax正規化を行う前に、好ましくはボトルネックベクトルが取得される。したがって、ボトルネックベクトルとは、起こり得るsoftmax正規化を行う前の、ニューラルネットワークの最後の層の結果であり、特徴ベクトルである。
【0027】
あるいは、特徴抽出器は、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)であってもよい。しかしながら、そのためには、センサデータとして存在する点群を、予め画像表現に変換しなければならない。CNNは、特に多数の層を含む。具体的には、CNNは、畳み込み層とプーリング層とを交互に含む。CNNは、線、L特徴、及び/又は円形特徴を抽出するように構成される。ある特徴を、「特徴」として指定することもできる。
【0028】
分類器の第2のユニットは、第1のユニットの最後の層に直接隣接する、少なくとも1つ、好ましくは2つ又は3つの全接続層を含む。好ましくは、第2のユニットは、少なくとも1つの全接続層からなる。各層は、多数の人工ニューロンを含む。第2のユニットは、第1のユニットの特徴ベクトルを処理する役割を果たす。
【0029】
特に、本方法は、訓練データによって、分類器を訓練すること、すなわち分類器のニューラルネットワークを訓練することを含み、これらの訓練データは第1の訓練サンプル及び第2の訓練サンプルを含む。ここで、第2の訓練サンプルは、生成器及び識別器を有する敵対的生成ネットワーク(GAN)によって生成されるが、第1の訓練サンプルは、センサによるシナリオの受信に基づくものである。したがって、第1の訓練データは、対応するセンサによって入力された、すなわち実際の状況で受信された、標準的な訓練データである。したがって、第1の訓練サンプルは、特に手動で付与されたラベルを含む。
【0030】
分類器は、特に、第2の訓練サンプルに基づいてカルバック・ライブラー(KL:Kullback-Leibler)発散を加えられた、第1の訓練サンプルに基づく、交差エントロピー損失に基づいて実行される。KL発散では、2つの分布間の差を計算し、損失に発散を加えることによって、分布が等しくなることが達成される。このために、KL発散が付加的に損失に加えられる。その目的は、すべてのクラスに対して等しい確率で分布した第2の訓練サンプルから、分類器がオブジェクトを検出し、その結果、これを適用した場合に、第1の訓練サンプルのすべての平均特徴ベクトルとのコサイン類似度が、対応する閾値を下回ることである。第1の訓練サンプルの手動ラベル、並びに、交差エントロピー損失及び付加的に追加されたKL発散を使用して対応する比較を行うことと、分類器のニューラルネットワークの重みを適応することによって、分類器によって生成されたラベルに基づいて、訓練が行われる。訓練において、平均特徴ベクトルは存在しないため、訓練作業は、softmax正規化が出力する不確実性に基づいて実行される。訓練における目的は、第2の訓練サンプルにおける不確実性が、すべてのクラスに等しく分布することであり、その結果、これを適用した場合、すなわち訓練の完了後に、訓練データに示されていないシナリオでは、コサイン類似度が閾値を下まわり、したがってそのように識別される。
【0031】
GANの生成器及び識別器は、人工ニューラルネットワークに関係し得る。ここで、生成器は、識別器が評価する、いわゆる候補、ここでは第2の訓練サンプルを生成する。生成器の目的は、特定の分布に従って結果を生成することを、学習することである。一方、識別器は、生成器からの結果を、本物の所定の分布データと区別するように訓練される。生成器の目的関数は、識別器が区別できない結果を生成することからなる。このようにして、分類器の決定境界にある、第2の訓練サンプルが生成される。分類器は、一様分布確率で結果を評価する。したがって、KL発散も、生成器の損失に付加的に加えられる。
【0032】
本方法は、特に、GAN、とりわけ生成器及び識別器を訓練することを含み、分類器及びGANの訓練は一緒に行われる。更に、特徴抽出器の訓練を一緒に行うこともできる。
【0033】
生成器の訓練は、第2の訓練サンプルに基づくKL発散が加えられた、第2の訓練サンプルに基づくバイナリ交差エントロピー損失に基づいて実行される。第2の訓練サンプルは、識別器によって評価されるここで、識別器は、例えば1を用いて最初に第1の訓練サンプルを評価するが、第2の訓練サンプルは、例えば0を用いて異なるように評価される。バイナリ交差エントロピー損失は、識別器によって第2の訓練サンプルを評価することを指す。KL発散は、一様分布確率と比較して分類器が行う、第2の訓練サンプルの分類に基づく。訓練における生成器の重みは、識別器が第1の訓練サンプルと同様に評価する、第2の訓練サンプルを生成するように適合されるが、分類器は、すべてのクラスに一様分布確率を分散して割り当てる。
【0034】
識別器はまた、交差エントロピー損失、特にバイナリ交差エントロピー損失に基づいて、すなわち、生成器によって生成された、第1の訓練サンプル及び第2の訓練サンプルに基づいて訓練される。分類器及びGANの共同訓練は、生成器が識別器を欺こうと試みることだけでなく、分類器に対して未知のシナリオを生成することにも役立ち、これは一様分布確率で評価される。これにより、未知のシナリオを検出することについての信頼性が大幅に向上する。ここでもまた、訓練中に、特にニューラルネットワークの重みが適合される。
【0035】
識別器は、具体的には、少なくとも1つ、好ましくは2つの畳み込み層を有することができ、これらはReLu関数、特にLeaky ReLU関数によって活性化される。Leaky ReLU関数は、x値に0より大きい小さな値(例えば0.01倍)をY値として割り当てる関数であるが、そうでない場合には勾配1を有する線形関数である。最後に、好ましくは、単一の出力ニューロンを伴う全接続層が使用される。具体的には、識別器は以下のように構成される。
【0036】
生成器は、バッチ正規化及び「Leaky ReLU」による活性化を伴う、全接続層から構成することができる。その後、3つの転置畳み込みブロックを続けることができる。特に、それぞれ5×5カーネル、及びバッチ正規化、及びLeaky ReLU活性化を伴う。最終層は、好ましくはやはり5×5カーネルを伴って、転置畳み込み層から続けることができる。
【0037】
【0038】
訓練は、具体的には以下のように行うことができる。
【0039】
最初に、第1の訓練データと、生成器(gen)から生じる第2の訓練データとを区別するために、識別器(disc)の損失、すなわち交差エントロピー損失が生成される。したがって、識別器の損失(Lossd)は、第1の訓練サンプル及び生成された第2の訓練サンプルの、バイナリ交差エントロピー損失(BCE:Binary Cross Entropy loss)の合計として定義される。Dinは、ここでは第1の訓練サンプルを表す。「ノイズ(noise)」は、標準ガウス分布(平均=0、標準偏差=1)から生成される、100次元のランダムベクトルである。このランダムベクトルが生成器に入力される。
Lossd=BCE(disc(Din),1)+BCE(disc(gen(noise)),0)
【0040】
生成器は、識別器を欺くように訓練されるだけでなく、第2の訓練サンプルを、すなわち分類器の決定境界において生成するようにも訓練される。したがって、生成器の損失(Loss
g)は、以下のように定義される。
式中、KLは、KL発散を表し、|c|は、クラスの数、又はそれぞれクラスの個数を表し、1/|c|は、各クラスにわたる一様分布確率を表す。上記のようにして、第2の訓練サンプルが第1の訓練サンプルの分布に従う識別器(cls)を欺き、更に、分類器が、第2の訓練サンプルに対して確率を一様に分布させることを達成するために、ニューラルネットワークの対応する重みが適合される。そうすることで、未知のシナリオが、多数のクラスのすべての閾値を下回ることが保証されるため、このことは重要である。
分類器の損失(Loss
cls)は、以下のように定義される。
【0041】
すべての重みは、Xavier uniform initializerで初期化される。
【0042】
有利には、各クラスに対して平均特徴ベクトルが決定される。訓練データはクラスごとに多数の第1の訓練サンプルを含み、クラスの平均特徴ベクトルは、以下のステップによって決定される。
【0043】
最初に、特に分類器を使用して(softmax正規化を行う前に)、クラスの各第1の訓練サンプルについての特徴ベクトルが決定される。このことは、ここでは特にボトルネックベクトルに関係する。これらの特徴ベクトルを加算して、更なる特徴ベクトルが得られる。加算された特徴ベクトルは、対応するクラスの、第1の訓練サンプルの数で除算される。その結果、クラスの平均特徴ベクトルが得られる。平均特徴ベクトルは、特に、対応するクラスの、平均化されたボトルネックベクトルに関するものである。平均特徴ベクトルは、特に、分類器の訓練後に決定される。
【0044】
各クラスに対して、特に閾値が決定される。クラスの閾値は、以下のステップによって決定される。最初に、各第1の訓練サンプルの特徴ベクトルと、クラスの平均特徴ベクトルとの、コサイン類似度が決定される。ここで、決定されたコサイン類似度が平均化され、したがって平均コサイン類似度が計算される、あるいは、クラスの第1の訓練データについてのコサイン類似度の量から、最小コサイン類似度が決定される。この閾値は、平均コサイン類似度、又は最小コサイン類似度のいずれかと同じに設定することができる。
【0045】
例えば、この閾値は0.85に設定することができる。ここで、決定された特徴ベクトルと0.92の平均特徴ベクトルとの間のコサイン類似度が決定される場合、対応するクラスを高い信頼度で出すことができ、したがって有効に検出されたことを確認することができる。
【0046】
具体的には、センサデータを分類するための本方法は、車両の無人走行のための方法の一部である。
【0047】
更なる態様では、本発明は、センサデータを分類するための装置を備える。この装置は、分類器を備え、上述した方法を実行するように構成される。特に、分類器は上述したように訓練される。更に、この装置は、特に上述したように訓練された、上記のGANを含むことができる。分類器は、特に、閾値、及び決定されたコサイン類似度、並びに、好ましくはマハラノビス距離に基づいて、未知のものとして、クラス、及び/又は信頼度、及び/又はラベルを割り当てる、決定モジュールを備えることができる。特に、この装置は、車両の無人走行に役立つものである。
【0048】
本発明は、プログラムが格納されたコンピュータ可読記憶媒体を含む、コンピュータプログラム製品を更に含み、プログラムがコンピュータのメモリにロードされた後に、上述した装置と協働して、センサデータを分類するための上記の方法を実行することが可能となる。
【0049】
更に、本発明は、コンピュータのメモリにロードされた後に、上述した装置と協働して、センサデータを分類するための上記の方法を実行することを可能にするプログラムが記憶された、コンピュータ可読記憶媒体に関する。
【図面の簡単な説明】
【0050】
【発明を実施するための形態】
【0051】
図1は、本発明による、オブジェクトを分類するための方法100の方法図式を示す。方法100は、多数のクラスに対してそれぞれの平均特徴ベクトル30を提供する、ステップ110を含む。ステップ120では、センサデータに基づいて、分類器10によって特徴ベクトルが決定される。ステップ130では、決定された特徴ベクトルと、それぞれの平均特徴ベクトルとの間のコサイン類似度が、すべてのクラスに対して決定され、ステップ131では、そのコサイン類似度が、予め決定された閾値と比較される。ステップ133では、すべてのクラスの閾値が満たされない場合に、多数のクラスによって示されていないシナリオが検出される。
【0052】
方法100は、特に、分類器10を訓練するステップ101、及びGAN20を訓練するステップ102を含むことができる。これらの訓練は、具体的には一緒に行われる。
【0053】
更に、ステップ111では、多数のクラスに対して、それぞれの平均特徴ベクトル30を決定することができる。このために、具体的には、ステップ111aで、それぞれのクラスの、それぞれの第1の訓練サンプルに対して特徴ベクトルが決定され、ステップ111bで、それぞれのクラスのすべての第1の訓練サンプルの対応する特徴ベクトルが加算され、ステップ111cで、クラスの第1の訓練サンプルの数で除算される。
【0054】
更に、ステップ112では、多数のクラスに対して、それぞれの閾値を決定することができる。このことは、具体的には、ステップ112aで、各訓練サンプルの特徴ベクトルと、クラスの平均特徴ベクトル30とのコサイン類似度を決定することによって行われる。ステップ112bでは、平均コサイン類似度、又は最小コサイン類似度が決定される。平均コサイン類似度は、具体的には、すべての第1の訓練サンプルのコサイン類似度を加算し、それを第1の訓練サンプルの数で除算することによって計算される。最小コサイン類似度を決定することは、単にコサイン類似度の最小値を設定することによって行われる。ステップ112cでは、平均コサイン類似度、又は最小コサイン類似度が、閾値として設定される。
【0055】
ステップ132では、センサデータが訓練データに示されたシナリオを含むか否かを定義するための更なるパラメータとして、共分散行列、平均特徴ベクトル、及び決定された特徴ベクトルの間の、マハラノビス距離を決定することができる。マハラノビス距離及びχ2分布に基づいて、各クラスに対して基準値を決定することができ、これらはクラスのそれぞれの閾値と比較される。ステップ113では、各クラスの共分散行列を、予め決定することができる。
【0056】
すべてのクラスの閾値が満たされない場合、ステップ150で、検出されたシナリオは訓練データと比較して未知であるとラベルを付与することができ、ステップ151で、シナリオに最小信頼度を割り当てることができ、かつ/又は、ステップ152で、対応するセンサデータを訓練データの補足として記憶することができる。
【0057】
図2は、分類器10及びGAN20の訓練を示しており、GAN20は、生成器21及び識別器22を含む。識別器22に対する入力として、第1の訓練サンプル51が提供され、かつ生成器21によって、第2の訓練サンプル52が提供される。生成器21は、分類器10の決定境界において第2の訓練サンプル51を生成し、したがって、識別器22を欺き、分類器10が第2の訓練サンプル52に一様分布確率を割り当てることを可能にしようと試みる。
【0058】
分類器10、並びに生成器21及び識別器22の両方は、ニューラルネットワーク11に関係するものである。分類器10については、各層に配置されたニューロン12が、例として示されている。分類器10のニューラルネットワーク11は、第1のユニット11a及び第2のユニット11bという2つのユニットに、機能的に分割することができる。第1のユニット11aは特徴抽出部として構成され、第2のユニット11bは分類部としての役割を果たす。
【0059】
分類器10に隣接する右側には、softmax正規化31の決定された不確実性60が、表形式で多数のクラスに分割されて示されている。上側には、softmax正規化31の不確実性60が、第1の訓練サンプルについて示されており、ここでは1つ目のクラスが格段に高いため、少なくともこのクラスには高い信頼度が割り当てられる。訓練において、平均特徴ベクトルはまだ存在しないため、softmax正規化後に得られた不確実性を用いて、演算が行われる。
【0060】
このことは下側のケースでは異なっており、softmax正規化31の不確実性60がすべてのクラスに対して一様に分布している、第2の訓練サンプルが示されている。
【0061】
図3は、訓練後に、分類器10が平均ベクトル30をどのように決定するかを示しており、すなわちsoftmax正規化31を行う前であることを示す。このことは、softmax正規化31を行う前に、すなわちすべての第1の訓練サンプル51に基づいて、したがって各クラスに対して、第2のユニットの最後の層、したがって分類器の最後の層で行われる。これを適用する場合、
図1によれば、センサデータ及びクラスの平均特徴ベクトル30に基づいて、コサイン類似度が決定される。
ニューラルネットワークの実施例:
【0062】
特徴抽出器は、以下のように構成することができる。
MLPとしての実施形態:
● 入力:バッチサイズ×2048×3
● 層0:
o 層0.1:多層パーセプトロン(MLP)
・ 関数の数:64
・ カーネル 1x3
・ バッチ正規化
・ 活性化関数:ReLU
o 層0.2:MLP
・ 関数の数:128
・ カーネル 1x1
・ バッチ正規化
・ 活性化関数:ReLU
o 層0.3:MLP
・ 関数の数:1024
・ カーネル 1x1
・ バッチ正規化
・ 活性化関数:ReLU
o 層0.4:完全接続
・ 出力:512
・ バッチ正規化
・ 活性化関数:ReLU
o 層0.5:完全接続
・ 出力:256
・ バッチ正規化
・ 活性化関数:ReLU
o 層0.5:完全接続
・ 出力:9
・ 活性化関数なし
・ 0での変数の初期化
o 層0.6:単位行列[100010001]による加算
o 出力:バッチサイズ×3×3
● 層1:入力*出力層0
● 層2:MLP
o 関数の数:64
o カーネル 1x3
o バッチ正規化
o 活性化関数:ReLU
● 層3:MLP
o 関数の数:64
o カーネル 1x1
o バッチ正規化
o 活性化関数:ReLU
● 層4:乗算用行列の学習
o 層4.1:MLP
・ 関数の数:64
・ カーネル 1x1
・ バッチ正規化
・ 活性化関数:ReLU
o 層4.2:MLP
・ 関数の数:128
・ カーネル 1x1
・ バッチ正規化
・ 活性化関数:ReLU
o 層4.3:MLP
・ 関数の数:1024
・ カーネル 1x1
・ バッチ正規化
・ 活性化関数:ReLU
o 層4.4:完全接続
・ 出力:512
・ バッチ正規化
・ 活性化関数:ReLU
o 層4.5:完全接続
・ 出力:256
・ バッチ正規化
・ 活性化関数:ReLU
o 層4.5:完全接続
・ 出力:4096
・ 活性化関数なし
・ 0での変数の初期化
o 層4.6:単位行列(サイズ64)での加算
o 出力:バッチサイズ×64×64
● 層5:層3*出力層4
● 層6:MLP
o 関数の数:64
o カーネル 1x1
o バッチ正規化
o 活性化関数:ReLU
● 層7:MLP
o 関数の数:128
o カーネル 1x1
o バッチ正規化
o 活性化関数:ReLU
● 層8:MLP
o 関数の数:512
o カーネル 1x1
o バッチ正規化
o 活性化関数:ReLU
● 層9:分類部
o 層9.1 全接続層:
・ 出力ニューロン数:512
・ 活性化関数:ReLU
o 層9.2:ドロップアウト
・ ドロップアウト率:0.5
o 層9.3 全接続層:
・ 出力ニューロン数:512
・ 活性化関数:ReLU
o 層9.4:ドロップアウト
・ ドロップアウト率:0.5
o 層9.5:全接続層(=ボトルネックベクトル):
・ 出力ニューロン数:分類されるクラス数
● GGF softmax正規化層
CNNとしての実施形態
● 入力:バッチサイズ×80×128×2(ソリッドステートの2チャンネル:強度と深さ)
● 層1:畳み込み
o カーネルサイズ:3x3
o 出力特徴マップの数:64
o 活性化:ReLU
● 層2:畳み込み
o カーネルサイズ:3x3
o 出力特徴マップの数:64
o 活性化:ReLU
● 層3:最大プーリング
o カーネルサイズ:2x2
● 層4:畳み込み
o カーネルサイズ:3x3
o 出力特徴マップの数:128
o 活性化:ReLU
● 層5:畳み込み
o カーネルサイズ:3x3
o 出力特徴マップの数:128
o 活性化:ReLU
● 層6:最大プーリング
o カーネルサイズ:2x2
● 層7:畳み込み
o カーネルサイズ:3x3
o 出力特徴マップの数:256
o 活性化:ReLU
● 層8:畳み込み
o カーネルサイズ:3x3
o 出力特徴マップの数:256
o 活性化:ReLU
● 層9:最大プーリング
o カーネルサイズ:2x2
● 層10:畳み込み
o カーネルサイズ:3x3
o 出力特徴マップの数:512
o 活性化:ReLU
● 層11:畳み込み
o カーネルサイズ:3x3
o 出力特徴マップの数:512
o 活性化:ReLU
● 層12:最大プーリング
o カーネルサイズ:2x2
● 層13:畳み込み
o カーネルサイズ:3x3
o 出力特徴マップの数:512
o 活性化:ReLU
● 層14:畳み込み
o カーネルサイズ:3x3
o 出力特徴マップの数:512
o 活性化:ReLU
● 層15:最大プーリング
o カーネルサイズ:2x2
● 層16:特徴の平坦化(分類器のための入力としての準備、言い換えれば、次元の適合)
● 層17:分類部
o 層17.1 全接続層:
・ 出力ニューロン数:512
・ 活性化関数:ReLU
o 層17.2:ドロップアウト
・ ドロップアウト率:0.5
o 層17.3 全接続層:
・ 出力ニューロン数:512
・ 活性化関数:ReLU
o 層17.4:ドロップアウト
・ ドロップアウト率:0.5
o 層17.5:全接続層(=ボトルネックベクトル):
・ 出力ニューロン数:分類されるクラス数
● softmax正規化を伴うGGF正規化
分類器及びGANの訓練は、以下のパラメータによって決定することができる。
● 最適化アルゴリズム:Adam最適化アルゴリズム(識別器、生成器、及び分類器のための独自の最適化アルゴリズム)
● 学習率:0.0001
o 指数関数的減衰:階段
・ 学習率は、ステップ関数として減少する。20万ステップ後、最小値である0.00001に達するまで半減し、その後は一定のままである。
● バッチサイズ:32
● 全変数の初期化(0での初期化を除く):Xavier initialization
● 総エポック:100
【符号の説明】
【0063】
10 分類器
11 ニューラルネットワーク
11a 第1のユニット
11b 第2のユニット
12 ニューロン
20 GAN
21 生成器
22 識別器
30 平均特徴ベクトル
31 softmax正規化
50 訓練データ
51 第1の訓練サンプル
52 第2の訓練サンプル
60 不確実性
100 方法
101 分類器の訓練
102 GANの訓練
110 多数のクラスに対して、それぞれの平均特徴ベクトルを提供するステップ
111 多数のクラスに対して、それぞれの平均特徴ベクトルを決定するステップ
111a クラスの第1の訓練サンプルに対して、それぞれの特徴ベクトルを決定するステップ
111b 更なる特徴ベクトルを取得するために、クラスのすべての第1の訓練サンプルの、特徴ベクトルを加算するステップ
111c 加算された特徴ベクトルを、クラスの第1の訓練サンプルの数で除算するステップ
112 多数のクラスに対して、それぞれの閾値を決定するステップ
112a 各第1の訓練サンプルの特徴ベクトルと、クラスの平均特徴ベクトルとの、コサイン類似度を決定するステップ
112b クラスの第1の訓練データの、平均コサイン類似度又は最小コサイン類似度を決定するステップ。
112c 平均コサイン類似度又は最小コサイン類似度を、クラスの閾値として設定するステップ
113 共分散行列を決定するステップ
120 センサデータに基づいて、特徴ベクトルを決定するステップ
130 多数のクラスに対して、特徴ベクトルとそれぞれの平均特徴ベクトルとの間のコサイン類似度を決定するステップ
131 それぞれのコサイン類似度と、各クラスに対して予め設定された閾値との比較を行うステップ
132 共分散行列、平均特徴ベクトル、及び確定された特徴ベクトルの間の、マハラノビス距離を決定するステップ
133 すべてのクラスの閾値が満たされない場合に、多数のクラスによって示されないシナリオを検出するステップ
150 すべてのクラスの閾値が満たされない場合に、訓練データと比較して未知のものとして、検出されたシナリオにラベルを付与するステップ
151 すべてのクラスの閾値が満たされない場合に、予め定義された最小信頼度を、検出されたシナリオに割り当てるステップ
152 訓練データに対する補足として、センサデータを記憶するステップ
【国際調査報告】