(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-28
(45)【発行日】2022-03-08
(54)【発明の名称】単眼動画データに基づく車両の挙動推定システム及び方法
(51)【国際特許分類】
B60W 40/105 20120101AFI20220301BHJP
B60W 30/18 20120101ALI20220301BHJP
B60W 10/04 20060101ALI20220301BHJP
B60W 10/18 20120101ALI20220301BHJP
B60W 10/20 20060101ALI20220301BHJP
G01P 3/36 20060101ALI20220301BHJP
G07C 5/00 20060101ALI20220301BHJP
B60R 16/023 20060101ALI20220301BHJP
G08G 1/00 20060101ALI20220301BHJP
【FI】
B60W40/105
B60W30/18
B60W10/04
B60W10/18
B60W10/20
G01P3/36 C
G07C5/00 Z
B60R16/023 Z
G08G1/00 A
(21)【出願番号】P 2019512864
(86)(22)【出願日】2017-12-01
(86)【国際出願番号】 US2017064234
(87)【国際公開番号】W WO2018102697
(87)【国際公開日】2018-06-07
【審査請求日】2020-06-18
(32)【優先日】2016-12-02
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】398037767
【氏名又は名称】バイエリシエ・モトーレンウエルケ・アクチエンゲゼルシヤフト
(73)【特許権者】
【識別番号】519003653
【氏名又は名称】ナウト,インコーポレイテッド
【氏名又は名称原語表記】Nauto,Inc.
(74)【代理人】
【識別番号】100069556
【氏名又は名称】江崎 光史
(74)【代理人】
【識別番号】100111486
【氏名又は名称】鍛冶澤 實
(74)【代理人】
【識別番号】100191835
【氏名又は名称】中村 真介
(72)【発明者】
【氏名】レヴコヴァ・ルドミラ
(72)【発明者】
【氏名】バナジー・コイェル
【審査官】藤村 泰智
(56)【参考文献】
【文献】中国特許出願公開第103914985(CN,A)
【文献】国際公開第2016/017787(WO,A1)
【文献】特表2005-525010(JP,A)
【文献】米国特許出願公開第2015/0274161(US,A1)
【文献】中国特許出願公開第107430693(CN,A)
【文献】国際公開第2016/175923(WO,A1)
【文献】特開2016-219004(JP,A)
【文献】特表2014-501401(JP,A)
【文献】米国特許出願公開第2015/0170004(US,A1)
【文献】KONDA et al.,Learning to encode motion usingspatio-temporal synchrony,Retrieved from the Internet,ドイツ,2014年02月10日,p. 1-9,https://arxiv.org/pdf/1306.3162.pdf
(58)【調査した分野】(Int.Cl.,DB名)
B60W 30/00 ~ 60/00
G01P 3/36
G07C 5/00
B60R 16/023
G08G 1/00 ~ 1/16
(57)【特許請求の範囲】
【請求項1】
車両に搭載され、単眼動画データをキャプチャするカメラと、
データと、プロセッサ実行可能な命令とを格納するメモリと、
メモリに格納されてあるプロセッサ実行可能な命令を実行する、プロセッサと、
を備える、空間及び時間に係る挙動の特徴を符号化することにより、単眼動画データに基づいて車両速度を推定するシステムであって、
プロセッサは、
車両が動いている間にキャプチャされた、プレトレーニング動画データをカメラから受け取り、
プレトレーニング動画データを使用して、同期オートエンコーダの一つ又は複数のフィルタをトレーニングし、
ZCA白色化によってプレトレーニング動画データを前処理してから、同期オートエンコーダのトレーニングされた一つ又は複数のフィルタを使用して、畳み込みニューラルネットワークをプレトレーニングし、
プレトレーニングされた畳み込みニューラルネットワークに従い、
プロセッサはさらに、
車両が動いている間にリアルタイム動画データをカメラから受け取り、
リアルタイム動画データをプレトレーニングされた畳み込みニューラルネットワークに提供し、
プレトレーニングされた畳み込みニューラルネットワークから推定
された車両挙動変数を受け取り、
推定
された車両挙動変数を、車両の、音声と視覚との少なくとも一方のシステムと、運転者補助システムとの少なくとも一方に、出力する、
空間及び時間に係る挙動の特徴を符号化することにより、単眼動画データに基づいて車両速度を推定するシステム。
【請求項2】
プロセッサは、同期オートエンコーダからのトレーニングされた1つ又は複数のフィルタを使用して、畳み込みニューラルネットワークの第1の層を初期化することによって畳み込みニューラルネットワークをプレトレーニングする、請求項1に記載のシステム。
【請求項3】
畳み込みニューラルネットワークはさらに反復的にトレーニングされ、第1層の出力は畳み込みニューラルネットワークの次の層に渡され、対応する出力を畳み込みニューラルネットワークの別の層に渡す請求項
2に記載のシステム。
【請求項4】
プロセッサは、プレトレーニング動画データの第1のチャネルをトレーニング前動画データのプレトレーニング動画データの第2のチャネルとして複製し、プレトレーニング動画データの第1のチャネルと、プレトレーニング動画データの第2のチャネルとは、同期オートエンコーダの一つ又は複数のフィルタをトレーニングするために提供された、請求項1に記載のシステム。
【請求項5】
前記車両挙動変数は、車両
の速度を含む、請求項1に記載のシステム。
【請求項6】
運転者補助システムは、少なくとも部分的に、
前記推定された車両挙動変数に基づいて、ステアリングと、加速/減速操作との中の一つを実行する、請求項1に記載のシステム。
【請求項7】
畳み込みニューラルネットワークをプレトレーニングすることを備える、空間及び時間に係る挙動の特徴を符号化することにより、単眼動画データに基づいて車両速度を推定する方法であって、
プレトレーニングは、
車両が動いている間にキャプチャされたプレトレーニング動画データを、車両に搭載された単眼カメラから受け取ることと、
プレトレーニング動画データを使用して、車両メモリに格納された同期オートエンコーダの一つ又は複数のフィルタをトレーニングすることと、
ZCA白色化によってプレトレーニング動画データを前処理してから、同期オートエンコーダのトレーニングされた一つ又は複数のフィルタを使用して、車両メモリに格納された畳み込みニューラルネットワークをプレトレーニングすることと、
を備え、
プレトレーニングされた畳み込みニューラルネットワークに従うことにおいて、さらに、車両が動いている間にリアルタイム動画データをカメラから受け取ることと、
リアルタイム動画データをプレトレーニングされた畳み込みニューラルネットワークに提供することと、
プレトレーニングされた畳み込みニューラルネットワークから推定
された車両挙動変数を受け取ることと、
推定
された車両挙動変数を、車両の、音声と視覚との少なくとも一方のシステムと、運転者補助システムとの少なくとも一方に、出力することと、
を備える、空間及び時間に係る挙動の特徴を符号化することにより、単眼動画データに基づいて車両速度を推定する方法。
【請求項8】
畳み込みニューラルネットワークをプレトレーニングすることは、同期オートエンコーダからのトレーニングされた1つ又は複数のフィルタを使用して畳み込みニューラルネットワークの第1層を初期化することによって畳み込みニューラルネットワークをプレトレーニングすることを備える、請求項
7に記載の方法。
【請求項9】
プレトレーニング動画データの第1のチャネルを、プレトレーニング動画データの第2のチャネルとして複製することをさらに備え、プレトレーニング動画データの第1チャネルと、プレトレーニング動画データの第2のチャネルは、同期オートエンコーダの1つ又は複数のフィルタをトレーニングするために提供される、請求項
7に記載の方法。
【請求項10】
前記車両挙動変数が、車両
の速度を含む、請求項
7に記載の方法。
【請求項11】
少なくとも部分的に
前記推定された車両挙動変数に基づいて、ステアリングと、加速/減速操作との中の一つを車両の運転者補助システムによって実行することをさらに備える、請求項
7に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、現在普及しているデュアルカメラ/ステレオ推定技術とは異なり、全体として、単一のカメラからの単眼動画データに基づく車両の挙動についての変数の推定に関する。
【背景技術】
【0002】
近年、人工知能(「AI」)の分野において、自動車への応用傾向が高まるとともに、改めて注目が集まってきている。しかしながら、適切なAIシステムを車両に統合する際の主な障害の1つは、そのような応用において必須の要件である、大量の生データをリアルタイムで分析及び処理に必要なハードウェアのコストと複雑さである。 ビッグデータに関する巨大なニューラルネットワークのバックエンドトレーニングを容易にするためのGPU(画像処理装置の)技術に関して多くの進歩があったが、そのような高価で洗練されたハードウェアを車両内に設置することはまだ、商業的に実施可能となっていない。
【0003】
しかしながら、既知のAIアプローチには依然として、特定の用途における実施を阻むいくつかの障害がある。畳み込みニューラルネットワーク(CNN)の大成功にもかかわらず、自動車についてそのようなシステムを統合する際は、大量のデータポイント(例えば、100万)からの学習への主な依存、長いトレーニング時間、計算コスト及び複雑さは、全て大きな経常経費である。これまで、挙動を推定するために使用されるCNNは、ステレオフィードを使用するので、推定時間がかかり、計算上の負担及び一般的なコスト増大となる。1台ではなく2台のカメラを実装することも設計上の課題となるだろう。車両実装の場合GPU(画像装置)が必要であると、さらに設計上の困難が生じるだろう。CNNジョブを実行する標準的なマシンであるGPUは、自動車用の環境で大量の電力を消費する際に発生する熱のために複雑な冷却システムを要する。たとえば、12kgの単純なIntel ROS PCは300Wの電力を消費し、車内での使用には、これだけで実現可能性のハードルは高い。
【先行技術文献】
【非特許文献】
【0004】
【文献】Konda et al., Learning to encode motion and using spatio-temporal synchrony, International Conference on Learning Representations (ICLR), 2014
【発明の概要】
【発明が解決しようとする課題】
【0005】
したがって、当技術分野では、はるかに高速の計算時間、低消費電力、低グレードのハードウェア上で動作し、商用車のコスト又は商用車の経常経費を押し上げない、はるかに単純でありながら同等又はより正確なシステムが必要とされている。
【課題を解決するための手段】
【0006】
ここに開示され記載されているのは、時間及び空間に係る挙動の特徴を符号化(エンコード)することによって単眼動画データ(モノキュラービデオデータ)に基づいて車両の挙動を推定するための複数のシステム及び複数の方法である。一実施形態では、車両速度を推定するためのシステムは、車両に搭載され、単眼動画データを取り込むように構成されたカメラと、データ及びプロセッサ実行可能命令を格納するように構成されるメモリと、プロセッサ実行可能命令を実行するように構成されるプロセッサとを含む。一実施形態では、プロセッサは、車両の移動中にキャプチャされたプレトレーニング(事前学習)動画データをカメラから受信し、プレトレーニング動画データを使用して同期オートエンコーダの1つ又は複数のフィルタをトレーニングし、同期オートエンコーダからの訓練された1つ又は複数のフィルタをプレトレーニングする。
【0007】
畳み込みニューラルネットワークのプレトレーニングに続いて、プロセッサは、車両が動いている間にカメラからリアルタイム動画データを受信し、リアルタイム動画データをプレトレーニングされた畳み込みニューラルネットワークに提供し、プレトレーニングされた畳み込みニューラルネットワークから推定車両挙動変数を受け取り、推定車両挙動変数を、車両のオーディオ/ビジュアルシステム及び運転者支援システムの少なくとも一方に出力する。
【0008】
本発明の他の態様、特徴、及び技術は、本発明の例示的な実施形態の以下の説明から、当業者に、より明らかとなるであろう。
【0009】
本発明の特徴、目的、及び利点は、全体を通して同様の参照符号がそれに対応して識別している図面とあわせることで、以下に記載される詳細な説明からより明らかになるであろう。
【図面の簡単な説明】
【0010】
【
図1】本発明の1つ又は複数の態様が実施されてもよい例示的な情報処理サブシステムを示すブロック図である。
【
図2】本発明の原理に従って実行される様々な操作の流れ図である。
【
図3】本発明に従って構成された畳み込みニューラルネットワークトレーニングアーキテクチャの一実施形態を表す図である。
【
図4】本発明の原理に従って、
図1の情報処理サブシステムによって実行される様々な操作の別の流れ図である。
【発明を実施するための形態】
【0011】
本発明の一態様は、単一のカメラによってキャプチャされたリアルタイム画像を使用して、速度などの車両の挙動を推定するための改良されたモデル化技法に重点を置いたシステム及び方法を提供することである。特定の実施形態では、リアルタイムカメラでキャプチャされた画像は、本明細書に記載の技術に従ってプレトレーニング(事前学習)された畳み込みニューラルネットワークによって分析される。車両の挙動を推定するために、本発明は、取り込まれた画像内の類似の同期的特徴を認識し、そのように認識された特徴に従って挙動を符号化(エンコード)するように構成される。次いで、符号化された挙動の特徴は、車両のエゴモーション/エゴ速度のような車両の挙動を推定する上で使用される。
【0012】
本発明の別の態様は、車両の制御に使用するために、推定された車両の挙動に対応する変数を運転者又は運転者補助システムに出力することである。例えば、システムは、任意の所与の時点で、すなわち現在及び/又は近い将来に、車両が有する速度又は有すべき速度を予測する自律駆動システムの構成要素として特に有利であろう。そのようなシステムはまた、車両安定性制御サブシステムの一部として特に有利であろう。例えば、車両が道路の穴部を越えて走行すると、後輪スリップが発生し、車両の振動のために、ハードウェアセンサは車両の位置を特定することも正確な移動変数を提供することもできない。そのような場合、本発明は、例えば、車両のピッチ速度を推定し、そのような後輪スリップがいつ生じるかを検出し、運転者に警告することと、運転者に手動制御を引き継ぐように通知することとの、少なくとも一つのために使用されてもよい。代替として、運転者補助システムは、少なくとも部分的に車両の挙動変数に基づいて、ステアリングと、加速/減速操作との中の一つを実行するように構成されてもよい。
【0013】
以下により詳細に記載されるように、本発明の特定の態様は、Kondaらによって開発された同期オートエンコーダ(SAE)モデル(非特許文献1)のような既知のモデリング技術を拡張し改良することに基づく。Kondaらのモデルは、市場のほとんどの速度モデルと同様に、ステレオ又はマルチカメラモーションフィードに基づいているのに対し、本発明の一態様は、この概念をシングルカメラフィードに拡張することである。本発明の別の態様は、CaffeNetへの入力を操作することで、従来技術で使用されているものとは異なるとともに非自明な範囲において、CaffeNetモデルを使用することである。この別の態様は、現在の空間及び時間に係る(時空)タスクを調整するため新しい方法で、CaffeNetモデルを使用する。これらの技術革新は、処理メモリ要件を削減しながら、精度の向上とデータの処理速度の向上をもたらす。
【0014】
本明細書に開示されているシステム及び方法の結果として、リソースに制約のある環境における新しい用途が今や実現可能である。そのようなリソース制約のある環境の1つは、自動車のデータ処理環境である。例えば、本明細書に開示された革新的なシステム及び方法は、Nvidia製のJetson TX1又はTK1、又はQualcomm製のSnapdragon 810及び820プロセッサなどの、それほどパワフルでも高価でもないプラットフォーム上、約15Hzで高速ニューラルネットワークを実行できるようにする。これは、15Hzで実行するにははるかにパワフルなハードウェアが必要となる視覚オドメトリを実行するための既知の手段とは対照的である。たとえば、有名なVGGアーキテクチャは、メモリに収まるものであれば、上記のハードウェア上で1 Hz未満で動作する。近年高い評価を受けたアーキテクチャResNet-152/101も最大で3Hzで動作するとみられる。
【0015】
やはり、それほどパワフルでないハードウェアを使用して本発明が実施可能ということは、そのようなハードウェアは比較的安価で、適切な温度に維持するのが困難ではないので、車両への適用可能となったことを意味する。加えて、本発明は、非常に小さいメモリフットプリント(メモリの占有領域)(例えば4MB)で実施可能であり、これにより、複数装置への迅速な分配及び無線接続を介した更新を可能となり、これは今や、複数車両の集団への用途を同様に実行可能にする。ネットワークを介して、複数の自律走行車両全体への、モデル更新の実行はこれまで困難であったが、比較的小さなメモリフットプリントにより本発明は有利である。
【0016】
本発明の1つ又は複数の態様を実施するように構成された1つの車両ベースのシステムを
図1の簡略図に示す。
図1に示すように、情報処理システム100は、本発明の1つ又は複数の態様を実施するように構成されている。具体的には、システムは少なくとも1つのプロセッサ105を備え、これは上述のJetson TX1又はTK1のような画像処理装置(「GPU」)を備えてもよい。システムは、メモリ110、タッチスクリーンディスプレイ115、及びユーザ入力120を含み、それぞれバス135によって相互接続されている。システム100はまた、GPSトランシーバ及び関連回路125と、カメラ130と、1つ又は複数の無線ネットワーク(図示せず)から無線周波数信号を送信及び受信する機能を実行する無線周波数インターフェース140とを備えてもよい。最後に、システムは音声出力を提供するためのスピーカ145を備えてもよい。システム100は、車両情報処理の分野で一般的に知られている追加の構成要素(例えば、プロセッサ、メモリ、その他など)を備えてもよいことをさらに理解されたい。
【0017】
ユーザ入力120に関しては、押しボタン式ダイヤルパッド、キーボードなどのキーパッドを使用して実施されるようにしてもよい。タッチスクリーンディスプレイ115は、LCD(液晶型ディスプレイ)又は家庭用電子機器で一般的に使用される他の任意のタイプのディスプレイとしてもよい。ディスプレイ115は好ましくはタッチセンシティブである(接触に反応する)と、ディスプレイ115とユーザ入力120の一部であるという二重の機能を提供するだろう。好ましい実施形態では、情報処理サブシステム100は車両に組み込まれてもよい。ディスプレイ115、ユーザ入力120、及びスピーカ145は、車両のオーディオ/ビジュアルシステムの少なくとも一部を構成してもよいことを理解されたい。
【0018】
ついに、
図1のシステム100は、適応型クルーズコントロール(ACC)、適応型ハイビームシステム、自動駐車システム、ナビゲーションシステム、自動車用暗視システム、死角モニタ、衝突回避システム、運転者眠気検出システム、運転者監視システム、距離ベース速度制御システム、車線逸脱警報システム、車線変更支援、その他などの中の一又は複数を包含し得る、運転者補助システム150を備える。
【0019】
図2を参照して、本発明の1つ又は複数の態様を実施するためのプロセス200について説明する。特定の実施形態では、プロセス200は、GPU105、メモリ110、及びカメラ130などのシステム100の特定の構成要素を使用して実施するようにしてもよい。基本的な考え方は、ガボールフィルタ間のペアパターンの相違点又は類似点を符号化する。基本的に、トレーニングを受けたオートエンコーダは、入力を回復しようとしている間に複数のガボールフィルタパターンを学習する(教師なし学習)。このプロセスはトレーニング前のステップであり、トレーニング中又はテスト中にリアルタイムで繰り返されることはない。しかしながら、別のCNNは、リアルタイムで車両速度を推定できるようにこれらの生成された特徴フィルタでトレーニングされる。
【0020】
このように、本発明の一態様は、アルゴリズム又は速度の精度が、ラベル付けされていないキャプチャされた動画データによって低下しないようにしながら、モノカメラフィードを使用することにある。そのために、ブロック210は、車両(例えば、車両の正面)に取り付けられた単一カメラ(単眼カメラ)を用いて動画トレーニングデータを取り込むことからプロセスを開始し、車両が様々な設定(例えば、高速道路、脇道、都会の環境、その他など)を任意の速度の範囲(例えば、0から70mph(約113km毎時))で走行する間、画像が取り込まれる。キャプチャされた動画フィードは、ブロック220で前処理されてもよく、それは以下にさらに記載する。前処理の後、取り込まれたトレーニング動画データはSAEに提供されてもよく、学習されたガボールフィルタを生成するためのプレトレーニング(事前学習)プロセス(ブロック230)として使用されてもよい。その後、多層畳み込みニューラルネットワーク(CNN)の第1の層は、SAE生成重みを使用して初期化され得る(ブロック240)。特定の実施形態では、CNNはN層のCNNであってもよく、このNは使用ケースの複雑さに基づいて必要とされるのと同じ数の層に拡張可能であるとする。CNNをトレーニングするために他のアーキテクチャ(例えば、CaffeNet)を使用してもよいことをさらに理解されたい。
【0021】
ブロック220の前処理動作は、SAEプレトレーニングプロセスに使用されるデータをZCA白色化することを含む。そのようなZCA白色化前処理は、いくつかの数の時間的に連続したフレームのシーケンスにおいて元のフレームからクロップを取った後に実行されるようにしてもよい。一般的には、隣接する画素値は高度に相関しているので、画像入力値の生データは冗長である。ZCA白色化の結果として、本発明者らは、この冗長性の低減を達成し、これにより結果として生じる特徴は、相関性はより低く、同じ分散を有することになる。例として、大きさが16×16×5ピクセルの256個のフィルタをトレーニングするようにしてもよく、ここで寸法は空間方向と時間方向の両方に及ぶものとする。他の実施形態では、前処理は、データの(ZCA白色化なしで)バッチ正規化を備えるものとしてもよい。ブロック220の前処理操作は、「ぼかしパターン」を作成するためにいくつかの数の入力フレームの平均化をさらに備えてもよいことをさらに理解されたい。これらのパターンは、オブジェクトの速度とカメラからの距離に応じて、表示されるフレーム数を足し合わせると多少ぼやけて見えるため、挙動をエンコードするための新規な方法である。そのような平均化された画像のうちの1つ又は複数がCNNに与えられると、入力フレームのぼけの程度を評価することによって移動中の車の速度を推定するようにトレーニング可能である。
【0022】
動画ストリーム内の画像の空間的要素と時間的要素との間の橋渡しをマッピングするためには、同じ挙動についての複数の特徴間の同期性の測定が極めて重要である。既存のCNNモデルは、動画のステレオシーケンスを操作して深度マップを作成し、速度を決定する。しかしながら、特定の車両用途の場合のように単一のカメラフィードのみが利用可能である場合、発明者らは、SAEアプローチに加えてさらに改良し、それによって、2つ又はそれ以上の動画フィードからの通常のシーケンス間エンコーディングではなく、シーケンス内エンコーディングを行うように、第1のチャネルの複製を第2のチャネルとして提供する。これは、ガボールパターンをエンコードするためのプレトレーニングプロセスとして使用され、実際の試験段階には単一のフィードのみを使用する。
【0023】
同期性を検出するための1つの既知の方法は、ディープ(深層)ネットワークにおいてフィルタを符号化するための唯一の許容可能なタイプのモジュールとして単に重み付け合計を使用するのではなく、フィルタ応答間の乗法的(「ゲーティング」)相互作用を可能にすることである。乗法的ゲーティングは、入力間のパターンの類似性を符号化するために使用できる。具体的には、特徴のセットが、両方の入力に少なくとも部分的に存在し、それら二つの特徴のセットが互いに識別されることと、区別されることとの少なくとも一方が可能である。両方の画像において同様に変換された特徴を検出するこの能力が、同期性(の検出)と呼ばれる。
【0024】
同期オートエンコーダを使用する教師なし学習プロセスに関して、オートエンコーダは、例えば、入力Xを受け取り、それを隠された表現にマッピングする。
【0025】
【0026】
上記の式は、以下の式により変数化されている。
【0027】
【0028】
ここで、(数式)記号は通常の意味であるとする。
【0029】
結果として得られる潜在表現Rは、入力空間の「再構成された」ベクトルZ(次の数式の中で、文字の上に→が付いたZ)にマッピングされる。
【0030】
【0031】
重み行列W’は、W’=WTとなるように任意に制約可能であり、その場合、オートエンコーダは、転置行列を使うという。ネットワークは再構成誤差(ベクトルXとベクトルZの間の誤差)を最小にするようにトレーニングされる。デュアル入力チャネルX及びYアーキテクチャという状況では、フィルタ応答は次のように定義される。
【0032】
【0033】
さらに、標準ノイズモデルで入力データが破損していて、オートエンコーダが部分可視の入力シーケンスから出力を再構築するように強制されているときに、ノイズ除去を使用してもよい。符号化は、シグモイド重み減衰とデュアルチャネルの乗法的ゲーティングの両方を使用する。
【0034】
【0035】
ここで、*は要素単位の乗算を表す。
【0036】
復号化側では、入力の再構成は次の式で与えられる。
【0037】
【0038】
【0039】
引き続き
図2の操作を参照すると、SAEモデルは、両方のチャネルが同一であり、トレーニングシーケンスからランダムにトリミングされた(例えば、16×16×5(スペース×スペース×時間))ピクセルの所与のサイズを有するローカル動画ブロックペアでトレーニングされてもよい。上記のように、トレーニングサンプルはZCA白色化されてもよい。次いで、所定数(例えば、256)のそのようなフィルタ対が、シーケンスデータからの教師なし学習を使用して挙動を符号化するために使用される。発明者側が知る限りでは、配列内パターンを符号化するためのこの研究は以前に行われたことがないので、モノカメラソリューションは市場で主流ではない。当社の技術革新は、これを研究するだけでなく、市場の他の重たいネットワークや既存のオフザシェルフよりも、検出速度を大幅に向上させて競争力のある結果を達成するようにネットワークを適応させる。再構成誤差を最小にするために、二乗誤差の標準和[15]は次のように計算される。
【0040】
【0041】
ここで、出力ベクトルX(文字の上に→及び記号が付いたX)及び出力ベクトルY(文字の上に→及び記号が付いたY)はSAEの再構成された出力であり、LはL2損失関数を表す。
【0042】
重みは、トレーニングの初期段階では256から、高度な段階では1のバッチサイズまで、さまざまなバッチサイズ設定の確率勾配降下法で更新される。
【0043】
エンコーダ内に乗法的相互作用が存在するため、再構成誤差は、他の入力が与えられたときに、一方の入力に条件付けられる。しかしながら、いったんフィルタがこの依存性を学習すると、本発明者らは、フィルタで初期化されたCNNモデルが、例え第2のデータチャネルがなくてもパターンを正しく識別することを学習することを発見した。
【0044】
図3は、本発明に従って構成された畳み込みニューラルネットワークトレーニングアーキテクチャの一実施形態の視覚表現の代表的なものである。単眼動画(モノキュラービデオ)フィードの状況において、発明者は、このアーキテクチャは、(SAEをトレーニングするときに使用された)デュアル入力チャネルを不要とすることがわかった。その理由は、デュアル入力チャネルを使わないことにより、(Kondaらからの)デュアル入力チャンネルよりも、速度及び正確さの両方の点で優れる
図3の単一チャネルネットワークという結果に至ったからである。
【0045】
上述のように、ネットワークの第1の畳み込み層のフィルタは、SAEの教師なし学習から得られた特徴で初期化される。一例として、入力データはグレイスケールに変換され、CNNは、比較的高解像度の入力(例えば500×300ピクセル)及び比較的低解像度(150×150ピクセル)のいずれかを使用してトレーニングされる。トレーニングの初期段階中にサンプルのバッチ(例えば、256)のバッチ正規化を実行してもよい。そして特定の実施形態では、ゲーティング操作後のトランケートReLUは、このReLUがシグモイドに置換されてもよく、1のバッチサイズに切り替えられてもよいプラトーに損失が減少するまで、使用されてもよい。このように、ネットワークエラーを最小限に抑えるために、入力データをグローバルに正規化する。5mph(約8km毎時)という低い二乗平均平方根誤差(RMSE)が達成され得る。
【0046】
一般的に、バッチ正規化は、ディープニューラルネットワークをトレーニングするプロセス全体を加速するものである。ディープネットワークでは、入力層があり、その後にいくつかの隠れ層があり、最後に出力層がある。トレーニングのプロセスは、各層の出力が次の層に渡されることで構成されていて、トレーニングプロセスの速度低下を防ぐために、学習率と、運動量などの他の変数とを反復的に修正する必要がある。比較的高い学習率を維持し、トレーニングプロセスがより高速となることがわかったように、バッチ正規化の使用が好ましいとしてもよい。局所的応答正規化と共にバッチ正規化もまた、特定の実施形態において、改良された結果を得るため使用されてもよいことをさらに理解されたい。
【0047】
ZCA白色化入力を使用してSAEによって学習されたフィルタは、
図3のアーキテクチャに示されるように、CNNの第1の層(複数のこともある)を初期化するために使用される。CNNの第1層の出力は、2つの入力チャネルからの局所的な挙動の複合表現として解釈可能である。CNNの残りの部分は、ローカル表現を所望のラベルに関連付ける(エゴモーション/エゴ速度における変化)。これはオドメトリと方向に容易に拡張可能である。
図3は、車両エゴ速度の推定に関して最速かつ最も正確に実行したCNNのアーキテクチャを示す。このアーキテクチャでは、車速度がそれぞれ既知の動画フレームでトレーニングされた。トレーニング中、CNNの各層は、その入力に対して特定の数値変換(多くの場合、これは重み行列による乗算である)を実行し、その出力を次の層に渡す。最後の層は、その出力を車の既知速度と比較し、速度予測と真値との間の不一致の大きさに関する情報を伝える。この違いの大きさに応じて、前の層は、この違いを最小化するために重みを調整する。このような順方向及び逆方向の情報の受け渡しは、所望の性能が達成されるまで数十万回以上繰り返される。CNNが完全にトレーニングされると、その通常の動作は、動画入力の往路通過のみで構成され、最後の層の出力は、予測車両エゴ速度である。
【0048】
図4は、
図1の情報処理サブシステム100の1つ又は複数の構成要素、例えば、GPU105、メモリ110、カメラ130によって実行される様々な操作の図を示す。具体的には、プロセス400はブロック410で始まり、動いている車両に取り付けられた単眼カメラ(モノカメラ)(例えば、カメラ130)によってリアルタイム動画データが取り込まれる。ブロック420において、キャプチャされたリアルタイム動画データは、その後、
図2のプロセス200に従って従前にトレーニングされた畳み込みニューラルネットワークに提供されてもよい。
【0049】
プロセス400はその後ブロック430に進み、そこで、トレーニングされたCNNによって、車両の挙動の変数(例えば、車両速度)が推定されるようにしてもよい。このCNNのフィルタは、モーションブラー(動いている車両の撮像のぶれ)と連続するフレーム間の同期性を理解して符号化するために、いくつかの異なる近傍を動く車の連続パッチを使用してプレトレーニングされている。このことは、CNNによる、各フレーム又は一連のフレームに記録された速度の推論を支援する。速度の真値は、車のIMU(慣性計測装置)から提供される。一実施形態において、推定される車両挙動変数は車両速度であってもよく、他の実施形態において推定される車両挙動変数は、ピッチ速度及び一般的な視覚オドメトリ測定法を含んでもよい。
【0050】
トレーニングされた畳み込みニューラルネットワークによって推定された車両挙動変数は、その後、ブロック440において、情報処理サブシステムによって、車両のオーディオ/ビジュアルコンポーネント/システム(例えば、ディスプレイ115、スピーカ145など)、あるいは車両の運転者支援システム(例えば、運転者支援システム150)に出力されるようにしてもよい。上述のように、例えば、複数の環境要因が典型的なセンサ類の不正確さを招くようなとき、車両挙動変数は、任意の瞬間における車両速度がいくつであるのか/あるべきかを予測する自律駆動システムと、車両安定性制御サブシステムとの少なくとも一方に、提供されるようにしてもよい。代替として、運転者支援システムは、少なくとも部分的に車両挙動変数に基づいて、ステアリングと、加速/減速操作のうちの一方を少なくとも部分的に実行するように構成されるようにしてもよい。一実施形態では、このケースは、くぼみ又は他の路面障害を通過するときの車輪の機械的滑りを検出することによって行われる。このようなとき、衝撃のため、センサは一時的に正しく機能しなくなる。しかしながら、それは、サイレントエラー(検知できないエラー)と、誤検出と、車の誤作動との結果となる使えないデータを出力する。本発明の方法は、後輪スリップの発生イベントを正確に検出し、ADASを介して警告を送信するために実装される。全6度(前後、上下、左右)の挙動を検出するため別の利用ケースは、車を取り囲む全てのセンサの健全性チェックと、エゴローカリゼーション(自車位置推定)及びオドメトリマッピングのための挙動推定値の構築とのために検討されている。
【0051】
本明細書で使用されるとき、用語「a」又は「an」は、1つ又は複数を意味するものとする。「複数」という用語は、2つ又は2つ以上を意味するものとする。「他の」という用語は、2番目又はそれ以降の番目として定義される。用語「含む」及び/又は「有する」は、オープンエンド(例えば、備える)の意味である。本明細書で使用される「又は」という用語は、包含的であると解釈されるか、又は任意の1つ又は任意の組合せを意味するものとする。したがって、「A、B又はC」は、「Aと、Bと、Cと、ABと、ACと、BCと、ABCとの中のいずれか」を意味する。この定義の例外は、要素、機能、工程又は行為の組み合わせが何らかの意味で本質的に相互に排他的である場合にのみ生じるとする。
【0052】
本明細書全体を通して「一実施形態」、「特定の実施形態」、「実施形態」、又は同様の用語は、その実施形態に関して説明した特定の特徴、構造、又は特性が本発明の少なくとも1つの実施形態に含まれることを意味する。これにより、このような句の出現又は本明細書全体にわたる様々な場所での出現は、必ずしも全てが同じ実施形態を参照しているわけではない。さらに、特定の特徴、構造、又は特性は、制限なしに任意の適切な方法で組み合わせてもよい。
【0053】
コンピュータプログラミングの当業者の実務に従って、本発明を、コンピュータシステム又は同様の電子システムによって実行される動作を参照して以下に説明する。そのような操作はコンピュータ実行されているということがある。象徴的に表される動作は、データビットを表す電気信号の中央処理装置などのプロセッサによる操作と、システムメモリ内などのメモリ位置でのデータビットの維持とを含むことが理解されるであろう。シグナルの処理データビットが維持されるメモリ位置は、データビットに対応する特定の電気的、磁気的、光学的、又は有機的特性を有する物理的位置である。
【0054】
ソフトウェアで実施されるとき、本発明の(複数の)要素は本質的に必要なタスクを実行するための(複数の)コードセグメントである。コードセグメントは、プロセッサ可読媒体に格納可能であり、コンピュータデータ信号によって送信可能である。「プロセッサ可読媒体」は、情報を記憶可能な任意の媒体を包含してもよい。プロセッサ可読媒体の例には、電子回路、半導体メモリ装置、ROM、フラッシュメモリ又は他の不揮発性メモリ、フロッピー(登録商標)ディスケット、CD-ROM、光ディスク、ハードディスクなどが包含される。
【0055】
本発明を様々な実施形態に関連して説明したが、本発明はさらなる修正が可能であることを理解されたい。本出願は、一般に本発明の原理に従い、そして本発明に関連する技術の範囲内で公知で通常行われる範囲内にあるような本開示からの逸脱を含む、本発明のあらゆる変形、使用又は適合を網羅することを意図する。
【符号の説明】
【0056】
100 情報処理システム
105 プロセッサ
110 メモリ
115 ディスプレイ
120 ユーザ入力
125 GPS
130 カメラ
135 バス
140 送信機/受信機
145 スピーカ
150 運転者補助システム
200 プロセス
210 トレーニング動画データをキャプチャする
220 画像処理を行う
230 オートエンコーダフィルタをトレーニングする
240 畳み込みニューラルネットワークをトレーニングする
400 プロセス
410 リアルタイム動画データをキャプチャする
420 畳み込みニューラルネットワークにデータを提供する
430 車両の挙動を推定する
440 車両の挙動の情報を出力する