JP6653343B2 - 自動運転車両に用いる畳み込みニューラルネットワークモデルのコンボリューション/デコンボリューション層とバッチ正規化層のオフライン組み合わせ - Google Patents

自動運転車両に用いる畳み込みニューラルネットワークモデルのコンボリューション/デコンボリューション層とバッチ正規化層のオフライン組み合わせ Download PDF

Info

Publication number
JP6653343B2
JP6653343B2 JP2018039360A JP2018039360A JP6653343B2 JP 6653343 B2 JP6653343 B2 JP 6653343B2 JP 2018039360 A JP2018039360 A JP 2018039360A JP 2018039360 A JP2018039360 A JP 2018039360A JP 6653343 B2 JP6653343 B2 JP 6653343B2
Authority
JP
Japan
Prior art keywords
layer
convolution
groups
scale
vector
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.)
Active
Application number
JP2018039360A
Other languages
English (en)
Other versions
JP2018173946A (ja
Inventor
ユ・ジェンホァ
ボ・シャオ
シュウ・ジュン
チャン・ウェイダ
ハン・トニー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Baidu USA LLC
Original Assignee
Baidu USA LLC
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 Baidu USA LLC filed Critical Baidu USA LLC
Publication of JP2018173946A publication Critical patent/JP2018173946A/ja
Application granted granted Critical
Publication of JP6653343B2 publication Critical patent/JP6653343B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06N3/045Combinations of networks
    • 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
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • 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
    • 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
    • G06V20/584Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of vehicle lights or traffic lights
    • 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
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • 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
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding

Description

本発明の実施形態は主に自動運転車両の操作に関する。具体的に、本発明の実施形態は、自動運転車両(ADV)に用いられる畳み込みニューラルネットワークモデルのコンボリューション/デコンボリューション層とバッチ正規化(batch−norm)層のオフライン組み合わせに関する。
自動運転モードで運転される(例えば、セルフドライブ)車両は、乗員、特にドライバーを幾つかの運転に関する職責から解放することができる。自動運転モードで運転される際に、車両は車載センサで各位置まで案内されることにより、車両の一番少ないヒューマンコンピュータインタラクションの場合或いは如何なる乗客もいない場合における走行が可能である。操作において、道路の通過を案内するために、ADVは一般的にニューラルネットワークを利用して目標(例えば、信号機)に学習と分類を行う。
機器の学習において、ディープ畳み込みニューラルネットワーク(CNN)に内層が多く存在され且つ層ごとに演算と記憶割当のブロックを提供するため、CNN又はディープCNNの訓練と推定は演算的及び記憶集中的である。アクティブ層(Activation Layer)を追加することは、推定及びテストの正確度を向上するためであるが、層が追加されることもディープCNNに必要な演算と記憶割当を増加する。
本願の一局面は、コンピュータ実施方法を提供する。前記方法は、第一の畳み込みニューラルネットワークモデル(CNN)から複数の第一の層のグループを抽出することであって、前記複数の第一の層のグループのうちの各グループは第一のコンボリューション層と第一のバッチ正規化層とを含むことと、前記複数の第一の層のグループのうちの各グループについて、前記第一のバッチ正規化層に基づいて、第一のスケールベクトルと第一のシフトベクトルを算出し、且つ、前記第一のコンボリューション層、前記第一のスケールベクトル及び前記第一のシフトベクトルに基づいて、前記複数の第一の層のグループにおける対応するグループを示す第二のコンボリューション層を生成することと、前記複数の第一の層のグループに対応する第二のコンボリューション層に基づいて、第二の畳み込みニューラルネットワークモデルを生成することであって、前記第二の畳み込みニューラルネットワークモデルは、その後に自動運転車両(ADV)により検知された目標を分類するのに用いられることと、を含む
本願の他の局面は非一時的機械可読媒体を提供する。前記非一時的機械可読媒体は、コマンドが記憶され、前記コマンドがプロセッサにより実行される場合に、前記プロセッサに操作を実行させる。前記操作は、第一の畳み込みニューラルネットワークモデル(CNN)から複数の第一の層のグループを抽出することであって、前記複数の第一の層のグループのうちの各グループは第一のコンボリューション層と第一のバッチ正規化層とを含むことと、前記複数の第一の層のグループのうちの各グループについて、前記第一のバッチ正規化層に基づいて、第一のスケールベクトルと第一のシフトベクトルを算出し、且つ、前記第一のコンボリューション層、前記第一のスケールベクトル及び前記第一のシフトベクトルに基づいて、前記複数の第一の層のグループにおける対応するグループを示す第二のコンボリューション層を生成することと、前記複数の第一の層のグループに対応する第二のコンボリューション層に基づいて、第二の畳み込みニューラルネットワークモデルを生成することであって、前記第二の畳み込みニューラルネットワークモデルは、その後に自動運転車両(ADV)により検知された目標を分類するのに用いられることと、を含む。
本願の他の局面は、プロセッサと、前記プロセッサに接続され、コマンドが記憶されるメモリと、を備え、前記コマンドが前記プロセッサにより実行される場合に、前記プロセッサに操作を実行させるデータ処理システムを提供する。前記操作は、第一の畳み込みニューラルネットワークモデル(CNN)から複数の第一の層のグループを抽出することであって、前記複数の第一の層のグループのうちの各グループは第一のコンボリューション層と第一のバッチ正規化層とを含むことと、前記複数の第一の層のグループのうちの各グループについて、前記第一のバッチ正規化層に基づいて、第一のスケールベクトルと第一のシフトベクトルを算出し、且つ、前記第一のコンボリューション層、前記第一のスケールベクトル及び前記第一のシフトベクトルに基づいて、前記複数の第一の層のグループにおける対応するグループを示す第二のコンボリューション層を生成することと、前記複数の第一の層のグループに対応する第二のコンボリューション層に基づいて、第二の畳み込みニューラルネットワークモデルを生成することであって、前記第二の畳み込みニューラルネットワークモデルは、その後に自動運転車両(ADV)により検知された目標を分類するのに用いられることと、を含む。
本発明の実施形態は、添付された各図に制限ではなく列挙的に示され、図面における類似の符号は類似の要素を示す。
本発明の一実施形態によるネットワークシステムを示すブロック図である。 本発明の一実施形態による自動運転車両の例示を示すブロック図である。 本発明の一実施形態による自動運転車両と共に使用される検知/企画システムの例示を示すブロック図である。 本発明の一実施形態による自動運転車両に用いられる初期CNNモデルにより生成された新たなCNNモデルを示すブロック図である。 本発明の一実施形態による自動運転車両に用いられるニューラルネットワークモデル生成器の例示を示すブロック図である。 本発明の一実施形態による初期ディープニューラルネットワークモデルから層を抽出する例示を示すブロック図である。 本発明の一実施形態による初期ディープニューラルネットワークモデルにより加速(accelerated)コンボリューション/デコンボリューション層が生成される例示を示すブロック図である。 本発明の一実施形態による初期CNNモデルで抽出された層により加速コンボリューション層が生成される例示を示すブロック図である。 本発明の一実施形態による初期CNNモデルで抽出された層により加速デコンボリューション層が生成される例示を示すブロック図である。 本発明の一実施形態による検知された目標に対して探測及び分類を行う検知モジュールの例示を示すブロック図である。 本発明の一実施形態による初期CNNにより新たなCNNが生成される方法を示すフローチャートである。 一実施形態によるデータ処理システムを示すブロック図である。
以下に論述される詳細を参照して本発明の各実施形態と局面を説明する。図面に前記各実施形態が示される。下記の記載及び図面は、本発明の説明であり、本発明に対する限定ではない。多くの特定の詳細を説明して本発明の各実施形態に対する全面的な理解を提供する。しかし、幾つかの場合に、周知的又は常用の詳細を説明せずに本発明に対する実施形態の簡単な論述を提供する。
本明細書に言及された「一実施形態」又は「実施形態」は、当該実施形態と組み合わせて説明される特定な特徴、構成又は特性が本発明の少なくとも一つの実施形態に含まれることが可能であることを意味する。「一実施形態において」という用語の本明細書の各箇所における出現は、全てが同一の実施形態を意味するわけではない。
幾つかの実施形態によれば、初期CNNの層のグループ(Group of Layers)を単一の層として合併して初期CNNにより加速CNN又は新たなCNNを生成することにより、リアルタイム演算の効率を大幅に向上する。一実施形態において、システムは、第一の畳み込みニューラルネットワーク(CNN)モデルから複数の第一の層のグループを抽出し、第一のグループ(第一の層のグループ)におけるグループは第一のコンボリューション層と第一のバッチ正規化層とを含む。第一のグループにおけるグループごとについて、システムは、第一のバッチ正規化層に基づいて、第一のスケール(Scale)ベクトルと第一のシフトベクトルを算出し、且つ、第一のコンボリューション層、第一のスケールベクトル及び第一のシフトベクトルに基づいて、対応する第一のグループを示す第二のコンボリューション層を生成する。システムは、複数の第一のグループに対応する第二のコンボリューション層に基づいて、第二のCNNモデルを生成する。その後、第二のCNNモデルは、自動運転車両により検知された目標を分類するのに用いられる。他の一実施形態において、第一のグループにおけるグループごとについて、システムは、対応する第一のグループの第一のバッチ正規化層と第一のスケール層に基づいて、第二のスケールベクトルと第二のシフトベクトルを算出し、且つ、第二のスケールベクトル、第二のシフトベクトル及び第一のコンボリューション層に基づいて、第二のコンボリューション層を生成する。上記工程が繰り返して実行されることにより、デコンボリューション層を処理することができる。上記工程は、データ解析システムによりオフラインに実行可能である。そして、新たなCNNモデルは、自動運転車両によりリアルタイムにロードされて目標を分類することができる。
図1は、本発明の一実施形態による自動運転車両のネットワーク構成を示すブロック図である。図1を参照し、ネットワーク構成100は、ネットワーク102を介して一つ又は複数のサーバ103〜104と通信可能に接続できる自動運転車両101を具備する。一つの自動運転車両が示されたが、複数の自動運転車両がネットワーク102を介して互いに接続されてもよく、及び/又はサーバ103〜104に接続されてもよい。ネットワーク102は、任意のタイプのネットワーク、例えば、有線又は無線のローカルエリアネットワーク(LAN)、インターネットのような広域ネットワーク(WAN)、セルラーネットワーク、衛星ネットワーク或いはそれらの組み合わせであってもよい。サーバ103〜104は、任意のタイプのサーバ又はサーバグループ、例えば、ネットワーク又はクラウドサーバ、アプリサーバ、バックエンドサーバ或いはそれらの組み合わせであってもよい。サーバ103〜104は、データ解析サーバ、コンテンツサーバ、交通情報サーバ、地図及び興味点(MPOI)サーバ或いは位置サーバなどであってもよい。
自動運転車両とは、自動運転モードに設定可能な車両である。前記自動運転モードにおいて、車両はドライバーからの入力が無く、或いは非常に少ない場合に環境を案内して通過する。このような自動運転車両は、センサシステムを具備してもよく、当該センサシステムは、車両の走行環境に関する情報を検出するように構成される一つ又は複数のセンサを具備する。車両及びその関連するコントローラは、検出された情報を利用して前記環境を案内して通過する。自動運転車両101は、マニュアルモード、完全自動運転モード或いは部分自動運転モードにおいて走行可能である。
一実施形態において、自動運転車両101は、検知/企画システム110、車両制御システム111、無線通信システム112、ユーザインターフェースシステム113及びセンサシステム115を含むが、それらに限定されない。自動運転車両101は、通常の車両に含まれる幾つかの常用部品、例えばエンジン、車輪、ハンドル、変速機などを更に含んでもよい。前記部品は、車両制御システム111及び/又は検知/企画システム110により複数の通信信号及び/又は指令を使用して制御されてもよい。当該複数の通信信号及び/又は指令は、例えば加速信号又は指令、減速信号又は指令、ステアリング信号又は指令、ブレーキ信号又は指令などである。
部品110〜115は、インターコネクト、バス、ネットワーク或いはそれらの組み合わせを介して通信可能に互いに接続されてもよい。例えば、部品110〜115は、コントローラローカルエリアネットワーク(CAN)バスを介して通信可能に互いに接続されてもよい。CANバスは、マイクロコントローラと装置がホストコンピュータのない応用において互いに通信することを許すように設定される車両バス基準である。それは、最初に車両内におけるマルチプレックス電気配線のために設計される、メッセージによるプロトコルであるが、他の環境にも広く用いられる。
図2を参照し、一実施形態において、センサシステム115は、一つ又は複数のカメラ211、グローバルポジションシステム(GPS)ユニット212、慣性測定ユニット(IMU)213、レーダーユニット214及び光検出/測距(LIDAR)ユニット215を含むが、それらに限定されない。GPSシステム212は送受信機を含むことができる。前記送受信機は、操作により自動運転車両の位置に関する情報を提供可能である。IMUユニット213は、慣性加速度に基づいて自動運転車両の位置及び方向変化を検知することができる。レーダーユニット214は、無線電気信号を利用して自動運転車両のローカル環境における目標を検知するシステムとして表すことができる。幾つかの実施形態において、目標の検知以外、レーダーユニット214は、付加的に目標の速度及び/又は進行方向も検知することができる。LIDARユニット215は、レーザを使用して自動運転車両の位置する環境における目標を検知することができる。他のシステム部品以外に、LIDARユニット215は、一つ又は複数のレーザ光源、レーザスキャナ及び一つ又は複数の検出器を更に含んでもよい。カメラ211は、自動運転車両の周囲環境の画像を取得する一つ又は複数の装置を含んでもよい。カメラ211は、静止物カメラ及び/又はビデオカメラであってもよい。カメラは機械的に移動できるものであってもよく、例えば、カメラを回転的及び/又は傾斜的なプラットフォームに装着することができる。
センサシステム115には、他のセンサ、例えばソナーセンサ、赤外線センサ、ステアリングセンサ、アクセルセンサ、ブレーキセンサ及びオーディオセンサ(例えば、マイクロフォン)が含まれてもよい。オーディオセンサは、自動運転車両の周囲環境から音声を取得するように構成されてもよい。ステアリングセンサは、ハンドル、車両の車輪又はそれらの組み合わせのステアリング角を検出するように構成されてもよい。アクセルセンサとブレーキセンサは、それぞれ車両のアクセル位置とブレーキ位置を検出する。ある場合に、アクセルセンサとブレーキセンサは、集積型のアクセル/ブレーキセンサとして集積されてもよい。
一実施形態において、車両制御システム111は、ステアリングユニット201、アクセルユニット202(加速ユニットとも呼ばれる)とブレーキユニット203を含むが、それらに限定されない。ステアリングユニット201は、車両の方向又は進行方向を調整するために用いられる。アクセルユニット202は、電動機又はエンジンの速度を制御して、更に車両の速度と加速度を制御するために用いられる。ブレーキユニット203は、摩擦を提供して車両の車輪又はタイヤを減速させることにより車両を減速させる。注意すべきなのは、図2に示された部品は、ハードウェア、ソフトウェア或いはそれらの組み合わせで実施することができる。
図1に戻り、無線通信システム112は、自動運転車両101と装置、センサ、他の車両などのような外部システムとの間の通信を可能とする。例えば、無線通信システム112は、一つ又は複数の装置と直接的に無線通信してもよく、或いは通信ネットワークを経由して無線通信し、例えばネットワーク102を経由してサーバ103〜104と通信してもよい。無線通信システム112は、如何なるセルラー通信ネットワーク又は無線ローカルエリアネットワーク(WLAN)、例えばWiFi(登録商標)を使用して他の部品又はシステムと通信することができる。無線通信システム112は、例えば赤外線リンク、ブルートゥース(登録商標)などを使用して装置(例えば、乗客の携帯装置、車両101内の表示装置、スピーカ)と直接的に通信する。ユーザインターフェースシステム113は、車両101内で実施される周辺機器の部分であってもよく、例えばキーボード、タッチパネル表示装置、マイクロホン及びスピーカなどを含む。
自動運転車両101の機能のうちの一部又は全部は、特に自動運転モードで操作される場合に、検知/企画システム110により制御し又は管理されることができる。検知/企画システム110は、必要なハードウェア(例えば、プロセッサ、メモリ、記憶デバイス)とソフトウェア(例えば、操作システム、企画と路線設定プログラム)を含んでおり、センサシステム115、制御システム111、無線通信システム112及び/又はユーザインターフェースシステム113から情報を受信し、受信された情報を処理し、開始点から目標点までの路線又は経路を企画した後に、企画と制御情報に基づいて車両101を運転させるようにする。その代わりに、検知/企画システム110は、車両制御システム111と一体に集積されてもよい。
例えば、乗客であるユーザは、例えばユーザインターフェースを介して行程の開始位置と目標地を指定することができる。検知/企画システム110は行程に関連するデータを取得する。例えば、検知/企画システム110は、MPOIサーバから位置と路線情報を取得することができる。前記MPOIサーバは、サーバ103〜104の一部であってもよい。位置サーバは位置サービスを提供し、MPOIサーバは地図サービスとある位置のPOIを提供する。その代わりに、このような位置とMPOI情報は、ローカルに検知/企画システム110の永続性記憶装置にキャッシュされてもよい。
自動運転車両101が路線に沿って移動している場合に、検知/企画システム110は、交通情報システム又はサーバ(TIS)からリアルタイムの交通情報を取得することもできる。注意すべきなのは、サーバ103〜104は第三の者のものに操作されてもよい。その代わりに、サーバ103〜104の機能は検知/企画システム110と一体に集積されてもよい。検知/企画システム110は、リアルタイム交通情報、MPOI情報と位置情報、及びセンサシステム115により検出され又は検知されたリアルタイムのローカル環境データ(例えば、障害物、目標、付近の車両)に基づいて、最適な路線を企画し、且つ企画された路線に従って、例えば制御システム111を介して車両101を運転させることにより、所定の目標地まで安全的且つ効率的に到達可能である。
サーバ103は、複数種のクライアントに対して機器学習又は訓練サービスを実行するデータ解析システムであってもよい。一実施形態において、データ解析システム103は、データ採集器121、機器学習エンジン122、ニューラルネットワークモデル生成器123とニューラルネットワークモデル124を含む。データ採集器121は、通信を介してサーバ103に接続される複数種の車両(自動運転車両又は人により運転される通常の車両)から、複数種の訓練データを採集する。訓練データの例示として、画像認識機能に用いられる画像データであってもよい。訓練データは、種類にコンパイルされることが可能で、且つ正解ラベルに相関する。他の一実施形態において、データ採集器121は、ワールドワイドウェブを介してオンラインファイルから訓練データセットをダウンロードすることができる。
機器学習エンジン122は、データ採集器121により採集された訓練データに基づいて、目標探測及び目標分類の目的のために、ニューラルネットワークモデル124のセットを訓練することができる。例えば、機器学習エンジン122は、画像/正解ラベルペアのような訓練データを使用してディープニューラルネットワークモデル(ニューラルネットワークモデル124の一部として)を訓練することにより、車、歩行者又は停止信号のような目標を探測することができる。他の例示において、機器学習エンジン122は、訓練データを使用してディープ畳み込みニューラルネットワーク(CNN)モデルのようなディープニューラルネットワークモデル(ニューラルネットワークモデル124の一部として)を訓練することにより、信号機を赤信号、黄信号又は青信号に分類することができる。注意すべきなのは、ニューラルネットワークモデル124は、フィードフォワードニューラルネットワークモデル又は畳み込みニューラルネットワークモデルに限定されず、放射基底関数ネットワークモデル、再帰型ニューラルネットワークモデル、Kohonen自己組織化ネットワークモデルなどを含むことができる。ニューラルネットワークモデル124は、例えばLeNet(登録商標)、AlexNet(登録商標)、ZFNet(登録商標)、GoogLeNet(登録商標)、VGGNet(登録商標)などの複数種のディープCNNモデルを含むことができる。
「ディープ」ニューラルネットワークとは、多重内層を有するニューラルネットワークを意味する。ニューロンの「アクティブ機能」は、所定の入力又は入力セットのニューロンの出力を限定する。「加速」とは、ニューラルネットワークの層演算及び/又は記憶性能、或いはニューラルネットワークの演算及び/又は記憶性能についての加速を指す。「オンライン」アクティブとは、ADVがリアルタイムに実行して目標を探測し、又は目標を分類するアクティブである。「オフライン」アクティブとは、サーバ又はADVが目標の探測又は目標の分類を準備して実行されるアクティブである。
人工ニューラルネットワーク(ANN)は、大量のニューラルユニット又はニューロンに基づく演算方法である。当該演算方法は、大体的に軸索により接続される大量のニューロンを有する生物学的な脳を模倣する。各ニューロンは、複数の他のニューロンと接続し、学習又は訓練に従って、軸索又は接続は、接続されるニューロンのアクティブ状態に対する作用について強化又は抑制することができる。単独のニューロンごとに、その全部の入力値を合併する機能を具備することができる。各接続及びユニットの自身には、信号が必ず他のニューロンまで伝達する前に制限を超えるように、閾値関数又は極限関数が存在することができる。これらのシステムは、明示的なプログラミングではなく、自主学習及び訓練を行うものである。
畳み込みニューラルネットワーク(CNN)は、フィードフォワード人工ニューラルネットワーク(ANN)の一種である。当該フィードフォワード人工ニューラルネットワークにおいて、そのニューロンの間の接続パターンが動物視覚皮質の組織から示唆を受けた。各皮質ニューロンは、受容野と呼ばれる空間における、制限のある領域において刺激に応答する。異なるニューロンの受容野が部分的に重なることにより、これらの受容野に視野を覆わせる。各ニューロンの受容野における刺激に対する応答は、畳み込み演算により数学的に近似することができる。ディープCNNは、多重内層を有するCNNである。ニューラルネットワークの「内層」とは、ニューラルネットワークの入力層と出力層との間の層を指す。
前記層のパラメータの変化に従って訓練の間に各層の入力の分布が変化するため、CNNの訓練が複雑である。CNNの「訓練」には、入力を繰り返して(iteratively)CNNの入力層に与えること、及び所望の出力とCNNの出力層の実際の出力とを比較して誤差項を演算することが含まれる。これらの誤差項は、次の出力値が「正確」値に近くなるように、CNNの隠れ層の重みとシフトを調節するのに用いられる。各層の入力の分布は、訓練の速度を下げ(即ち、収束のために、より低い訓練の速度が必要である)、細かいパラメータの初期化が必要である(即ち、内層のアクティブの初期重みとシフトを収束に対して特定の範囲に設定する)。「収束(Convergence)」とは、誤差項が最小値になる時点を指す。ミニバッチ(mini−batches)の形式でCNNを訓練することにより、よりよい性能を実現する。
明示的に全ニューラルネットワークのアクティブを実行して入力アクティブ層のそれぞれにユニットガウス分布を表せることにより、バッチ正規化(バッチ正規化又はBN)技術をニューラルネットワークのミニバッチの訓練に適用することができる。当該技術を適用することは、一般的に、全接続層又はコンボリューション/デコンボリューション層の後且つ非線形操作の前に、全接続層又はコンボリューション/デコンボリューション層に隣接してバッチ正規化層及び/又はスケール層を挿入することを意味する。「バッチ正規化」層とは、バッチ正規化の変換が加えられる層を指す。「スケール」層とは、乗法因子及び/又はシフト因子を入力層に加えることを指す。例えばy=Ax+Bである。ここで、yは出力層、Aは乗法因子、Bはシフト、xは入力層である。バッチ正規化技術は、ニューラルネットワークにより高い学習速度及びより粗末なパラメータ初期化を負担できるように、全ネットワークのアクティブを実行することにより、ユニットガウス分布を表してニューラルネットワークモデルを調整し又は正規化する。確率イベントを推定する際に、バッチ正規化されたニューラルネットワークは、訓練により得られた同一のバッチ正規化層及び/又はスケール層を適用する。
より複雑な推定タスクは、多くの内層に対する処理が必要である可能性がある。付加的な内層を有するディープニューラルネットワークモデルは、訓練時間を増加させ、収束速度を減少させる。バッチ正規化層とスケール層は、アクティベーションのそれぞれに導入されることにより、訓練時間を減少させ、収束速率を増加させることができる。ところが、付加的なバッチ正規化層とスケール層は推定性能の降下を引き起こす。例えば、ADVが「オンライン」でイベントを推定する際に、既に訓練されたニューラルネットワークモデルにも、同一のバッチ正規化層及び/又はスケール層が適用される。バッチ正規化されたCNNのようなバッチ正規化されたニューラルネットワークモデルの演算及び記憶の要求を減少するために、初期CNNモデルにより加速CNNモデルを生成することができる。一実施形態において、例えば、ニューラルネットワークモデル生成器123は、加速層に基づいて加速ニューラルネットワークモデルを生成することができる。ここで、加速層は、更にコンボリューション層、バッチ正規化層及び/又はスケール層のグループに基づいて生成される。その後、サーバ103は、加速ニューラルネットワークモデルを利用して直接的に、或いは自動的にネットワーク102により自動運転車両101を更新することができる。
図3は、本発明の一実施形態による自動運転車両と共に使用される検知/企画システムの例示を示すブロック図である。システム300は、図1の自動運転車両101の一部として実施されてもよく、検知/企画システム110、制御システム111とセンサシステム115を含むが、それらに限定されない。図3を参照し、検知/企画システム110には、位置決めモジュール301、検知モジュール302、策定モジュール303、企画モジュール304及び制御モジュール305が含まれるが、それらに限定されない。
モジュール301〜305のうち一部又は全部は、ソフトウェア、ハードウェア或いはそれらの組み合わせで実施されてもよい。例えば、これらのモジュールは、永続性記憶装置352にインストールされ、メモリ351にロードされ、且つ一つ又は複数のプロセッサ(図示しない)により実行されてもよい。注意すべきなのは、これらのモジュールのうち一部又は全部は、通信可能に図2の車両制御システム111の一部又は全部のモジュールに接続され、或いはそれらと一体に集積されてもよい。モジュール301〜305のうち一部は、共に集積モジュールとして集積可能である。
位置決めモジュール301は、自動運転車両300の現在位置を(例えば、GPSユニット212を利用して)確定し、且つユーザの行程又は路線に関連する如何なるデータを管理する。位置決めモジュール301(地図/路線モジュールとも呼ばれる)は、ユーザの行程又は路線に関連する如何なるデータを管理する。ユーザは、例えばユーザインターフェースを経由して登録し行程の開始位置と目的地を指定することができる。位置決めモジュール301は、自動運転車両300における地図/路線情報311のような他の部品と通信して行程に関するデータを取得する。例えば、位置決めモジュール301は、位置サーバと地図/POI(MPOI)サーバから位置と路線情報を取得することができる。位置サーバは位置サービスを提供し、MPOIサーバは地図サービスとある位置のPOIを提供することにより、地図/路線情報311の一部としてキャッシュされることができる。自動運転車両300が路線に沿って移動する際に、位置決めモジュール301は交通情報システム又はサーバからリアルタイムの交通情報を取得することもできる。
センサシステム115により提供されたセンサデータと、位置決めモジュール301により取得された位置決め情報に基づいて、検知モジュール302は、周囲環境への検知を確定する。検知情報は、通常のドライバーがドライバーにより運転されている車両の周囲において検知するものを示すことができる。検知は、例えば目標の形を採用する車線構成(例えば、直線車線又はカーブ車線)、信号機信号、他の車両の相対位置、歩行者、建物、横断歩道又は他の交通関連標識(例えば、停止標識、譲り標識)などを含むことができる。
検知モジュール302は、一つ又は複数のカメラにより採集された画像を処理し解析して自動運転車両の環境における目標及び/又は特徴を識別するように、コンピュータビジョンシステム又はコンピュータビジョンシステムの機能を含むことができる。前記目標は、交通信号、道路の境界、他の車両、歩行者及び/又は障害物などを含むことができる。コンピュータビジョンシステムは、目標識別アルゴリズム、ビデオトラッキング及び他のコンピュータビジョン技術を使用することができる。幾つかの実施形態において、コンピュータビジョンシステムは、環境地図を描画し、目標を追跡し、及び目標の速度などを推定することができる。検知モジュール302は、レーダー及び/又はLIDARのような他のセンサにより提供される他のセンサデータに基づいて目標を検出することもできる。
一実施形態において、検知モジュール302には、探測モジュール302Aと分類モジュール302Bが含まれる。一実施形態において、探測モジュール302Aは、センサシステム115の一つ又は複数のセンサにより採集されたリアルタイム画像データのようなセンサデータにより目標を探測することができる。探測モジュール302Aは、訓練されたディープニューラルネットワークモデル(ニューラルネットワークモデル312の一部として)を使用して目標を探測することができる。他の一実施形態において、訓練されたディープニューラルネットワークモデルは、データ解析システム103のようなデータ解析システムによりオフラインに作成された加速ニューラルネットワークモデルであってもよい。他の一実施形態において、探測モジュール302Aは、地図/路線情報311を介して目標をADVにより検知された所望の位置及び/又は角度に粗末に位置決めることにより、目標を探測することができる。例えば、地図/路線情報311の所定の地図情報により、ADVが信号機の有する交差点に近づく時に、信号機がADVの前に出現することを予測することができる。
一実施形態において、分類モジュール302Bは、探測モジュール302Aにより探測された目標を分類することができる。ルックアップテーブル313から、分類モジュール302Bは、探測された目標に関するニューラルネットワークモデル(ニューラルネットワークモデル312の一部として)をルックアップする。分類モジュール302Bは、探測目標に基づいて分類の可能性を推定する。例えば、信号機のような探測目標は、分類モジュール302Bにより分類可能である。分類モジュール302Bは、目標を分類して確率イベント、例えば信号機が赤信号、黄信号又は青信号である確率を出力する。
目標ごとに対して、策定モジュール303は目標をどのように処置するかについての決定を下す。例えば、特定の目標(例えば、交差の路線における他の車両)だけでなく、目標を描画するメタデータ(例えば、速度、方向、ステアリング角)について、策定モジュール303は前記目標とどのように出会うか(例えば、追い越し、譲り、停止、追い抜き)を決定する。策定モジュール303は、交通ルール又は運転ルール312のルールセットに基づいてこのような決定を下すことができる。前記ルールセット永続性記憶装置352に記憶されてもよい。
企画モジュール304は、検知された目標のそれぞれに対する決定に基づいて、自動運転車両に対して経路又は路線及び運転パラメータ(例えば、距離、速度及び/又はステアリング角)を企画する。言い換えれば、所定の目標について、策定モジュール303は当該目標に対してなにをするかを決定し、企画モジュール304はどのようにするかを確定する。例えば、所定の目標について、策定モジュール303は前記目標を追い越すことを決定することができ、企画モジュール304は前記目標の左側か右側に追い越すことを確定することができる。企画と制御データは、企画モジュール304により生成され、車両300が次の移動サイクル(例えば、次の路線/経路区間)においてどのように移動するかを描画する情報を含む。例えば、企画と制御データは、車両300が30マイル/時間(mph)の速度で10メートルほど移動し、その後に25mphの速度で右側の車線に変更するように指示することができる。
企画と制御データに基づいて、制御モジュール305は、企画と制御データにより限定された路線又は経路に応じて、適当な指令又は信号を車両制御システム111に送信することにより自動運転車両を制御し運転させる。前記企画と制御データは、経路又は路線に沿って、異なるタイミングで適当な車両設置又は運転パラメータ(例えば、アクセル、ブレーキとステアリング指令)を使用して、車両を路線又は経路の第一の点から第二の点まで運転させるように十分な情報を有する。
注意すべきなのは、策定モジュール303と企画モジュール304は、集積モジュールとして集積することができる。策定モジュール303/企画モジュール304は、自動運転車両の運転経路を確定するように、ナビゲーションシステム又はナビゲーションシステムの機能を具備することができる。例えば、ナビゲーションシステムは、自動運転車両が下記の経路に沿って移動することを実現する一連の速度と進行方向を確定することができる。前記経路は、自動運転車両を最終の目的地まで走行させる車線による経路に沿って進行させると共に、検知された障害物を基本的に回避させる。目的地は、ユーザインターフェースシステム113を経由して行われたユーザ入力に基づいて設定されてもよい。ナビゲーションシステムは、自動運転車両が運転されている間に、動的に運転経路を更新することができる。ナビゲーションシステムは、自動運転車両のための運転経路を確定するように、GPSシステムと一つ又は複数の地図からのデータを合併することができる。
策定モジュール303/企画モジュール304は、識別、推定及び回避、或いは他の手段で自動運転車両の環境における潜在的な障害物を越えるように、衝突回避システム又は衝突回避システムの機能を更に具備することができる。例えば、衝突回避システムは、操作制御システム111のうち一つ又は複数のサブシステムがステアリング操作、回転操作、ブレーキ操作などを採用する手段で、自動運転車両のナビゲーションにおける変化を実現することができる。衝突回避システムは、周囲の交通モード、道路状况などに基づいて、実現可能な障害物回避操作を自動的に確定することができる。衝突回避システムは、自動運転車両が方向変更して進入しようとする隣接領域における車両、建築障害物などが他のセンサシステムにより検出された時にステアリング操作を行わないように構成することができる。衝突回避システムは、使用可能で且つ自動運転車両の乗員の安全性を最大化する操作を自動的に選択することができる。衝突回避システムは、自動運転車両の車室に最小値の加速度が発生すると予測される回避操作を選択することができる。
永続性記憶装置352には、地図と路線情報311、ニューラルネットワークモデル312とルックアップテーブル313が含まれてもよい。地図と路線情報は、目的地まで到達するように一連のナビゲーション操作を確定するのに用いられる。ナビゲーション操作は、図中に路線の重みと属性(例えば速度、交通状况、信号、道路タイプ等)が示される弧を有するように示されてもよい。ニューラルネットワークモデル312には、ディープニューラルネットワークモデルの複数種のタイプと変形を含んで具体的な訓練機能を実行することができる。ルックアップテーブル313は、目標を特定のニューラルネットワークモデル(ニューラルネットワークモデル312の一部として)に関連付けることができる。一実施形態において、ニューラルネットワークモデル312は、必要に応じて無線ネットワークを経由してサーバ(例えばサーバ103又は104)からダウンロードされてもよい。
図4は、本発明の一実施形態による自動運転車両に用いられる初期CNNモデル402により生成された新たな(又は加速)CNNモデル422を示すブロック図である。初期CNNモデル402は、サーバ103の機器学習エンジン122のような機器学習エンジンにより訓練されたバッチ正規化ニューラルネットワークであってもよい。初期CNNモデル402は複数の内層のグループを含んでもよい。図4は、グループ410とグループ420を有する初期CNNモデル402を示した。グループ410は、コンボリューション/デコンボリューション層404、バッチ正規化層406とスケール層408を具備する。グループ420は、コンボリューション/デコンボリューション層414、バッチ正規化層416とスケール層418を具備する。他の一実施形態において、グループ410は、コンボリューション/デコンボリューション層404とバッチ正規化層406のみを具備してもよい。一実施形態において、新たな(加速)CNNモデル422は、加速コンボリューション/デコンボリューション層424〜428のような加速コンボリューション/デコンボリューション層を多く具備してもよい。注意すべきなのは、CNNモデル402は、畳み込みニューラルネットワークモデルに限定されず、複数種のニューラルネットワークモデル、例えば再帰型ニューラルネットワークモデルであってもよい。
幾つかの実施形態によれば、サーバ/データ解析システムは、一つ又は複数のバッチ正規化層を有する初期CNNモデル402によりオフラインに新たなCNNモデル422のような加速ディープCNNが生成されてもよい。例えば、システムは、初期CNNモデル402から複数の第一の層のグループ、例えばグループ410(当該グループにコンボリューション層が含まれる場合)を抽出する。複数の第一のグループ(第一の層のグループ)のうちの各グループは、第一のコンボリューション層と第一のバッチ正規化層を具備する。例えば、グループ410は、コンボリューション層404とバッチ正規化層406を具備する。第一のグループのうちの各グループに対し、システムは第一のバッチ正規化層に基づいて第一のスケールベクトルと第一のシフトベクトルを算出し、第一の加速コンボリューション層を生成する。例えば、グループ410に対し、システムはバッチ正規化層406に基づいて第一のスケールベクトルと第一のシフトベクトルを算出し、加速コンボリューション層424を生成する。システムは、加速コンボリューション層424(加速コンボリューション層424がグループ410に対応する)に基づいて新たなCNNモデル422を生成して、新たなCNNモデル422をその後に自動運転車両により検知された目標を分類するために用いるようにする。一実施形態において、第一のグループのうちの各グループに対し、システムは対応する第一のグループの第一のバッチ正規化層と第一のスケール層に基づいて第二のスケールベクトルと第二のシフトベクトルを算出し、第二のスケールベクトル、第二のシフトベクトルと第一のコンボリューション層に基づいて第二のコンボリューション層を生成する。例えば、グループ410に対し、システムはバッチ正規化層406とスケール層408に基づいて第二のスケールベクトルと第二のシフトベクトルを算出する。そして、システムは、コンボリューション層404、第二のスケールベクトルと第二のシフトベクトルに基づいて加速コンボリューション層424を生成する。
一実施形態において、システムは第一のCNNモデルから複数の第二の層のグループを抽出する。第二のグループ(第二の層のグループ)のうちの各グループは、第一のデコンボリューション層と第二のバッチ正規化層を具備する。例えば、システムは、初期CNNモデル402から複数の第二の層のグループ、例えばグループ420(当該グループにデコンボリューション層が含まれる場合)を抽出する。第二のグループのうちの各グループは、第一のデコンボリューション層と第二のバッチ正規化層を具備する。例えば、グループ420は、デコンボリューション層414とバッチ正規化層416を具備する。第二のグループのうちの各グループに対し、システムは第二のバッチ正規化層に基づいて第三のスケールベクトルと第三のシフトベクトルを算出し、算出されたベクトルと第一のデコンボリューション層に基づいて第二のデコンボリューション層を生成することにより、第二のCNNモデルに第二のグループに対応する第二のデコンボリューション層が含まれることになる。例えば、グループ420に対し、システムはバッチ正規化層416に基づいて第三のスケールベクトルと第三のシフトベクトルを算出し、加速デコンボリューション層428を生成する。システムは、加速デコンボリューション層428(加速デコンボリューション層428がグループ420に対応する)に基づいて新たなCNNモデル422を生成する。他の一実施形態において、第二のグループのうちの各グループに対し、システムは対応する第二のグループの第二のスケール層に基づいて第四のスケールベクトルと第四のシフトベクトルを算出し、算出されたベクトルと第一のデコンボリューション層に基づいて第二のデコンボリューション層を生成する。例えば、グループ420(グループ420はデコンボリューション層を有する)に対し、システムはバッチ正規化層416とスケール層418に基づいて第四のスケールベクトルと第四のシフトベクトルを算出する。そして、システムは、デコンボリューション層414、第四のスケールベクトルと第四のシフトベクトルに基づいて加速デコンボリューション層428を生成する。
一実施形態において、訓練データを利用して第一のCNNモデルを訓練した後に、第一のCNNモデルから第一の層のグループを抽出する。一実施形態において、第一のコンボリューション層と第一のバッチ正規化層は連続的な層である。その後、加速ニューラルネットワークモデル124がADVにロードされることにより、リアルタイムに目標の分類に使用可能である。一実施形態において、分類待ちの目標は、緑色、黄色と赤色の信号機を有する画像である。他の一実施形態において、第一の確率イベントは分類待ちの目標が青信号、黄信号又は赤信号になる確率イベントである。
一実施形態において、第一のコンボリューション層は多次元の入力を有する。他の一実施形態において、多次元の入力のうちの各次元について、第一のバッチ正規化層をスケール的に算出する。他の一実施形態において、多次元の入力のうちの各次元の平均値及び標準偏差に基づいて、第一のスケールベクトルと第一のシフトベクトルを算出する。他の一実施形態において、多次元の入力のうちの各次元について平均値と標準偏差を独立的に算出する。
図5は、本発明の一実施形態による自動運転車両のニューラルネットワークモデル生成器(例えば、ニューラルネットワークモデル生成器123)を示した例示である。例えば、ニューラルネットワークモデル生成器123は、抽出モジュール123A、ベクトル演算モジュール123B、層生成モジュール123Cとニューラルネットワーク生成モジュール123Dを含むことができる。バッチ正規化層及び/又はスケール層を合併し、或いは初期ディープニューラルネットワークの内層又は中間アクティブ層まで増加することにより、バッチ正規化変換をディープニューラルネットワークモデルに適用して訓練の柔軟性を向上させる際に、訓練された推定タスクを実行するディープニューラルネットワークは、ニューラルネットワークモデルの多くのバッチ正規化層及び/又はスケール層を保留する。例えば、サーバ103のニューラルネットワークモデル生成器123によりアクティブ層とバッチ正規化層とを合併して、訓練されるバッチ正規化のディープニューラルネットワークを加速することができる。
図5を参照し、訓練されたCNNモデルのアクティブ層の重みとシフトは、抽出モジュール123Aにより抽出されることができる。訓練されたCNNモデルは図4の初期CNNモデル502であってもよい。例えば、抽出モジュール123Aは、以下の形でコンボリューション/デコンボリューション層の重みとシフトを抽出することができる。

なお、yは出力、xはコンボリューション/デコンボリューション層への入力、αは層の重み、βは層のシフトである。他の例示において、抽出モジュール123Aは、以下の形でバッチ正規化層に関する平均値と標準偏差値とを抽出することができる。

なお、yはバッチ正規化層の入力又はコンボリューション/デコンボリューション層の出力、mean(y)はyの平均値、std(y)はyの標準偏差、yはバッチ正規化層の出力である。注意すべきなのは、訓練されたディープニューラルネットワークについて、平均値及び標準偏差は既知の値である(例えば、それらはyの値に依存しない)。
他の例示において、抽出モジュール123Aは、以下の形でスケール層のスケール/シフト因子を抽出することができる。

なお、yはスケール層の入力又はバッチ正規化層の出力、yはスケール層の出力、αはスケール層のスケール因子、βはスケール層のシフト因子である。以上の例示において、抽出されたパラメータは、訓練されたディープCNNモデルの任意の単一のアクティブに対応することができる。
図6Aは、一実施形態による初期ディープニューラルネットワークモデルから層を抽出する例示を示したブロック図である。初期ディープニューラルネットワークモデル610のような訓練された初期ディープニューラルネットワークモデルは、コンボリューション/デコンボリューション−バッチ正規化−スケール層抽出器612に入力される(図5の抽出モジュール123Aにより実行可能である)。コンボリューション/デコンボリューション−バッチ正規化−スケール層抽出器612は、グループ614を抽出する。グループ614は、初期ディープニューラルネットワークモデル610のコンボリューション/デコンボリューション層、バッチ正規化層及びスケール層の多くのグループを具備することができる。
図6Bは、一実施形態による初期ディープニューラルネットワークモデルにより加速コンボリューション/デコンボリューション層を生成する例示を示したブロック図である。訓練されたディープニューラルネットワークモデルである初期CNNモデル402は、グループ410〜グループ420を含む。二つのグループだけ示されたが、より多くのグループが初期モデルに含まれてもよい。グループ410ごとにコンボリューション又はデコンボリューション層、バッチ正規化層とスケール層が含まれる。当該例示において、グループ410はコンボリューション又はデコンボリューション層404、バッチ正規化層406とスケール層408を含む。同様に、グループ420のような他のグループは、同様の層を含んでもよい。バッチ正規化層601のスケールベクトル及び/又はシフトベクトルは、バッチ正規化層406から算出される。スケール層602のスケールベクトル及び/又はシフトベクトルは、スケール層408から算出される。バッチ正規化層601のスケールベクトル及び/又はシフトベクトルと、スケール層602のスケールベクトル及び/又はシフトベクトルとは、合併されたバッチ正規化/スケール層603のスケールベクトル及び/又はシフトベクトルとして合併される。加速コンボリューション/デコンボリューション層424は、合併されたバッチ正規化/スケール層603のスケールベクトル及び/又はシフトベクトルとコンボリューション/デコンボリューション層404とにより生成される。他の一実施形態において、加速コンボリューション/デコンボリューション層424は、バッチ正規化層601のスケールベクトル及び/又はシフトベクトルとコンボリューション/デコンボリューション層404とにより生成可能である。
図5に戻って参照し、一実施形態において、層のグループのバッチ正規化層とスケール層が線形変換であるため、ベクトル演算モジュール123Bはこれら層の対応するベクトルを演算することができる。ベクトル演算モジュール123Bは、バッチ正規化層又はバッチ正規化層とスケール層の全てのスケールベクトルと全てのシフトベクトルを演算することができる。例えば、バッチ正規化層を示すスケールベクトル(scale vector)とシフトベクトル(shift vector)は以下の形である。

なお、mean(y)はyの出力の平均値、std(y)はyの標準偏差である。バッチ正規化層とスケール層を示すスケールベクトルとシフトベクトルは以下の形である。

なお、mean(y)はyの出力の平均値、std(y)はyの標準偏差、αはスケール層のスケール因子、βはスケール層のシフト因子である。層生成モジュール123Cは、コンボリューション/デコンボリューション層と層のグループに対応するスケールベクトル及びシフトベクトルとを合併して、層のグループに対応する加速層を生成することができる。
図7Aは、本発明の一実施形態による初期CNNモデルの抽出層により加速コンボリューション層を生成する例示を示したブロック図である。初期コンボリューション層710、スケールベクトル712とシフトベクトル714が加速コンボリューション層生成器716(図5の層生成モジュール123Cのようなモジュールにより実行可能である)にフィードバックされて、加速コンボリューション層718を生成する。
図7Bは、本発明の一実施形態による初期CNNモデルの抽出層により加速デコンボリューション層を生成する例示を示したブロック図である。初期デコンボリューション層720、スケールベクトル722とシフトベクトル724が加速デコンボリューション層生成器726(図5の層生成モジュール123Cのようなモジュールにより実行可能である)にフィードバックされて、加速デコンボリューション層728を生成する。
図7A〜7Bを参照し、例えば、加速コンボリューション/デコンボリューション層生成器716は、以下の形で示された単一の加速層の重みとシフトを生成することができる。

なお、xは加速層の入力、yは加速層の出力、αは加速層の重み、βは加速層のシフトである。加速層は、初期CNNモデルの層のグループ(例えば、初期コンボリューション/デコンボリューション層、バッチ正規化層とスケール層)を示すことができる。
一実施形態において、加速コンボリューション層718(或いは加速デコンボリューション層728)は、以下の式になるように、コンボリューション層710(或いはデコンボリューション層720)と対応するバッチ正規化層を示すスケールベクトル712(或いはスケールベクトル722)とが合併して得られた。

なお、αは加速コンボリューション層718(或いは加速デコンボリューション層728)の重み、βは加速コンボリューション層718(或いは加速デコンボリューション層728)のシフト、yは出力、αはコンボリューション層710(或いはデコンボリューション層720)の重み、βはコンボリューション層710(或いはデコンボリューション層720)のシフト、mean(y)はyの出力の平均値、std(y)はyの標準偏差である。注意すべきなのは、CNNモデルが一旦訓練されると、mean(y)とstd(y)が一定の定数になり且つyに依存しない。他の一実施形態において、多重加速層は、訓練されたCNNモデルのコンボリューション/デコンボリューション層のグループとバッチ正規化層のグループとにより生成されることができる。他の一実施形態において、加速CNNモデルは、加速CNNモデルがその後に自動運転車両により検知された目標を分類するのに用いられるように、生成された加速層に基づいて生成される。
一実施形態において、加速コンボリューション層718(或いは加速デコンボリューション層728)は、以下の形でコンボリューション層710(或いはデコンボリューション層720)、スケールベクトル712(或いはスケールベクトル722)とシフトベクトル714(或いはシフトベクトル724)により合併される。

なお、αは加速コンボリューション層718(或いは加速デコンボリューション層728)の重み、βは加速コンボリューション層718(或いは加速デコンボリューション層728)のシフト、yは出力、αはコンボリューション層710(或いはデコンボリューション層720)の重み、βはコンボリューション層710(或いはデコンボリューション層720)のシフト、mean(y)はyの出力の平均値、std(y)はyの標準偏差、αはスケール層のスケール因子、βはスケール層のシフト因子である。
注意すべきなのは、CNNモデルが一旦訓練されると、mean(y)とstd(y)が一定の定数になり且つyに依存しない。他の一実施形態において、図の加速コンボリューション/デコンボリューション層24〜28のような多重加速層は、訓練されたCNNモデルのコンボリューション/デコンボリューション層、バッチ正規化層及びスケール層のグループにより生成されてもよい。他の一実施形態において、図の新たなCNNモデル22のような加速CNNモデルは、加速CNNモデルがその後に自動運転車両により検知された目標を分類するのに用いられるように、対応する加速層に基づいて図のニューラルネットワーク生成モジュール123Dにより生成されてもよい。
注意すべきなのは、CNNモデルにおける層の入力と出力は、多次元の入力と出力である。更に注意すべきなのは、前記処理は、データ解析システム103のようなデータ解析システムによりオフラインに実行されることにより、初期CNNモデルの層の各グループを単一の層に変換し、新たなCNNモデルを生成することができる。新たなCNNモデルは、その後にADV上にロードされ、リアルタイムにADVのセンサにより採集される目標を分類するために用いられる。各タイプの目標は、具体的なCNNモデルにより分類されてもよい。
図8は、本発明の一実施形態による検知モジュール800を例示するブロック図である。検知モジュール800は図3の検知モジュール302であってもよい。検知モジュール800は、探測器804と分類器806を含んでもよい。探測器804と分類器806は、通信可能に訓練されたニューラルネットワークモデル810に接続される。訓練されたニューラルネットワークモデル810は、加速ニューラルネットワークモデル812〜816を含んでもよい。一実施形態において、ADVは検知モジュール800の探測器804において入力データ802(例えば、カメラにより採集された画像データのセンサデータ)を受信することができる。
探測器804は、入力データから一つ又は複数のタイプの目標を探測する。検知モジュール800は、探測された目標のタイプに基づいて、ルックアップテーブル又は他のデータ構造からルックアップして、探測された目標のタイプを分類可能な加速ニューラルネットワークモデルを確定する。対応する加速ニューラルネットワークモデル(訓練されたニューラルネットワークモデル810の一部として)は、その後に分類器806により利用されて、探測された目標を分類し確率イベント808を推定するようにする。例えば、探測器804は、目標が信号機であることを探測することができる。対応する加速CNNモデル812が検索され、且つ、分類器806は、対応する加速CNNモデル812を利用して、信号機を分類し確率イベント808を確定する。確率イベント808は、探測された目標が赤信号、黄信号又は青信号である確率を含んでもよい。
図9は、本発明の一実施形態による初期CNNモデルにより新たなCNNモデルが生成される方法を示すフローチャートである。プロセス900は、ソフトウェア、ハードウェア或いはそれらの組み合わせを含むことが可能な処理ロジックにより実行されてもよい。例えば、プロセス900は、データ解析システム103のようなデータ解析システムにより実行されてもよい(例えば、オフラインで実行される)。新たなCNNモデルは、その後にADVにより利用されて、リアルタイムに目標を分類することができる。図9を参照し、ブロック902において、処理ロジックは、第一の畳み込みニューラルネットワーク(CNN)モデルから第一の層のグループを抽出し、各第一のグループは第一のコンボリューション層と第一のバッチ正規化層とを含む。ブロック904において、第一のグループのうちの各グループについて、処理ロジックは、第一のバッチ正規化層に基づいて第一のスケールベクトルと第一のシフトベクトルを算出する。ブロック906において、処理ロジックは、第一のコンボリューション層、第一のスケールベクトルと第一のシフトベクトルに基づいて、対応するグループを示す第二のコンボリューション層を生成する。ブロック908において、処理ロジックは、複数のグループに対応する第二のコンボリューション層に基づいて、第二のCNNモデルを生成する。第二のCNNモデルは、その後に自動運転車両により検知された目標を分類するのに用いられる。
一実施形態において、第一のグループのうちの各グループについて、システムは、対応するグループの第一のバッチ正規化層と第一のスケール層に基づいて第二のスケールベクトルと第二のシフトベクトルを算出し、第二のスケールベクトル、第二のシフトベクトルと第一のコンボリューション層に基づいて第二のコンボリューション層を生成する。
一実施形態において、システムは、第一のCNNモデルから複数の第二の層のグループを抽出し、各第二のグループは第一のデコンボリューション層と第二のバッチ正規化層とを含む。第二のグループのうちの各グループについて、システムは、第二のバッチ正規化層に基づいて第三のスケールベクトルと第三のシフトベクトルを算出し、第三のスケールベクトル、第三のシフトベクトルと第二のバッチ正規化層に基づいて第二のデコンボリューション層を生成することにより、第二のグループに対応する第二のデコンボリューション層を第二のCNNモデルに含ませるようにする。他の一実施形態において、第二のグループのうちの各グループについて、システムは、対応する第二のグループの第二のスケール層に基づいて第三のスケールベクトルと第三のシフトベクトルを算出し、第三のスケールベクトル、第三のシフトベクトルと第一のデコンボリューション層に基づいて第二のデコンボリューション層を生成する。
一実施形態において、訓練データを利用して第一のCNNモデルを訓練した後に、第一のCNNモデルから第一の層のグループを抽出する。一実施形態において、第一のコンボリューション層と第一のバッチ正規化層は連続的な層である。
一実施形態において、分類待ちの目標は、緑色、黄色と赤色を有する信号機の画像である。他の一実施形態において、第一の確率イベントは、分類待ちの目標が青信号、黄信号又は赤信号である確率イベントである。
一実施形態において、第一のコンボリューション層は多次元の入力を有する。他の一実施形態において、多次元の入力のうちの各次元に対して、第一のスケールベクトルと第一のシフトベクトルをスケール的に演算する。他の一実施形態において、多次元の入力のうちの各次元の平均値及び標準偏差に基づいて、第一のスケールベクトルと第一のシフトベクトルを演算する。他の一実施形態において、多次元の入力のうちの各次元に対して、独立的に平均値と標準偏差を演算する。
注意すべきなのは、いままで示され説明された部品における一部又は全部がソフトウェア、ハードウェア又はそれらの組み合わせで実施可能である。例えば、このような部品は、永続性記憶装置にインストールされ記憶されるソフトウェアとして実施可能である。前記ソフトウェアは、プロセッサ(図示しない)によりメモリにロードされてメモリで実行されることにより、本願の全文に記述された工程又は操作を実施することができる。その代わりに、このような部品は、専用ハードウェア(例えば、集積回路(例えば、専用集積回路又はASIC)、デジタル信号プロセッサ(DSP)或いはフィールドプログラマブルゲートアレイ(FPGA))にプログラミングされ、或いは組み込まれた実行可能なコードとして実施可能である。前記実行可能なコードは、アプリからの相応するドライブプログラム及び/又は操作システムを介してアクセス可能である。また、そのような部品は、プロセッサ又はプロセッサのコアにおける特定なハードウェアロジックとして実施され、ソフトウェア部品により一つ又は複数の特定なコマンドを介してアクセスされるコマンドセットの一部とすることができる。
図10は、本出願の一実施形態と組み合わせて使用されるデータ処理システムを例示的に示すブロック図である。例えば、システム1500は、上記プロセス又は方法のいずれか(例えば、図1のサーバ103〜104のいずれか)を実行する上記任意のデータ処理システムを示してもよい。システム1500は、複数の異なる構成要素を含んでもよい。これらの構成要素は、集積回路(IC)、集積回路の一部、分散型電子装置又は回路基板(例えば、コンピュータシステムのマザーボード又はアドインカード)に適用された他のモジュール、又は他の方式でコンピュータシステムのシャシーに組み込まれた構成要素として実現されることができる。
さらに、システム1500は、コンピュータシステムの複数の構成要素の高レベルビューを示すことを目的とする。しかしながら、いくつかの実現形態では、付加的構成要素が存在する場合があることを理解すべきである。また、他の実現形態において示される構成要素が異なる配置を有してもよい。システム1500は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、メディアプレーヤー、パーソナルディジタルアシスタント(PDA)、スマート腕時計、パーソナルコミュニケーター、ゲーム装置、ネットワークルータ又はハブ、無線アクセスポイント(AP)又はリピーター、セットトップボックス、又はそれらの組み合せを示してもよい。また、単一の機器又はシステムのみを示したが、用語「機器」又は「システム」は、さらに、独立又は共同で1つ(又は複数)のコマンドセットを実行することにより本明細書に説明される任意の1種又は複数種の方法を実行する機器又はシステムの任意のセットを含むことを理解すべきである。
一実施形態において、システム1500は、バス又は相互接続部材1510によって接続されたプロセッサ1501、メモリ1503及び装置1505〜1508を備える。プロセッサ1501は、単一のプロセッサコア又は複数のプロセッサコアを含む単一のプロセッサ又は複数のプロセッサを示してもよい。プロセッサ1501は、マイクロプロセッサ、中央処理装置(CPU)等のような1つ又は複数の汎用プロセッサを示してもよい。より具体的には、プロセッサ1501は、複雑コマンドセット計算(CISC)マイクロプロセッサ、縮小コマンドセットコンピュータ(RISC)マイクロプロセッサ、超長コマンド語(VLIW)マイクロプロセッサ、又は他のコマンドセットを実現するプロセッサ、又はコマンドセットの組み合せを実現するプロセッサであってもよい。プロセッサ1501は、さらに、専用集積回路(ASIC)、セルラー又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサ、グラフィックプロセッサ、通信プロセッサ、暗号プロセッサ、コプロセッサ、組み込みプロセッサのような1つ又は複数の専用プロセッサ、あるいはコマンド処理可能な任意の他のタイプのロジックであってもよい。
プロセッサ1501(超低電圧プロセッサのような低電力マルチコアプロセッサソケットであってもよい)は、前記システムの各種の構成要素と通信するための主処理ユニット及び中央ハブとして用いられてもよい。このようなプロセッサは、システムオンチップ(SoC)として実現されることができる。プロセッサ1501は、本明細書に説明される動作及びステップを実行するためのコマンドを実行するように構成される。また、システム1500は、選択可能なグラフィックサブシステム1504と通信するグラフィックインターフェースをさらに含んでもよく、グラフィックサブシステム1504は、ディスプレイコントローラ、グラフィックプロセッサ及び/又は表示装置をさらに備えてもよい。
プロセッサ1501は、メモリ1503と通信してもよく、メモリ1503は、一実施形態において複数のメモリによって所定量のシステムメモリを提供する。メモリ1503は、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、スタティックRAM(SRAM)又は他のタイプのメモリのような1つ又は複数の揮発性記憶装置(又はメモリ)を備えてもよい。メモリ1503は、プロセッサ1501又は任意の他の装置により実行されるコマンド列を含む情報を記憶できる。例えば、複数種のオペレーティングシステム、装置ドライバー、ファームウェア(例えば、基本入出力システム又はBIOS)及び/又はアプリケーションの実行可能なコード及び/又はデータは、メモリ1503にロードされて、プロセッサ1501により実行されてもよい。オペレーティングシステムは、ロボットオペレーティングシステム(ROS)、Microsoft(登録商標)CorporationのWindows(登録商標)オペレーティングシステム、Apple(登録商標)Inc.のMacOS(登録商標)/iOS(登録商標)、Google(登録商標)LLCのAndroid(登録商標)、Linux(登録商標)、Unix(登録商標)又は他のリアルタイム又は組み込みオペレーティングシステムのような任意のタイプのオペレーティングシステムであってもよい。
システム1500は、I/O装置、例えば装置1505〜1508をさらに備えてもよく、ネットワークインターフェースデバイス1505、選択可能な入力装置1506及び他の選択可能なI/O装置1507を備えてもよい。ネットワークインターフェースデバイス1505は、無線送受信機及び/又はネットワークインターフェースカード(NIC)を備えてもよい。前記無線送受信機は、WiFi(登録商標)送受信機、赤外送受信機、ブルートゥース(登録商標)送受信機、WiMax(登録商標)送受信機、無線セルラーホン送受信機、衛星送受信機(例えば、全地球測位システム(GPS)送受信機)又は他の無線周波数(RF)送受信機又はそれらの組み合せであってもよい。NICは、イーサネット(登録商標)カードであってもよい。
入力装置1506は、マウス、タッチパッド、タッチスクリーン(それは表示装置1504と集積されてもよい)、ポインタデバイス(例えばスタイラス)及び/又はキーボード(例えば、物理キーボード、又はタッチスクリーンの一部として表示された仮想キーボード)を備えてもよい。例えば、入力装置1506は、タッチスクリーンに接続されるタッチスクリーンコントローラを含んでもよい。タッチスクリーン及びタッチスクリーンコントローラは、例えば複数種のタッチ感度技術(容量式、抵抗式、赤外式及び表面音波の技術を含むが、それらに限定されない)のいずれか、及びタッチスクリーンの1つ又は複数の接触点を決定するための他の近接センサアレイ又は他の素子を用いて、そのタッチ点及び移動又は断続を検出することができる。
I/O装置1507は、音声装置を備えてもよい。音声装置は、スピーカ及び/又はマイクロホンを含んでもよく、それにより音声認識、音声コピー、デジタル記録及び/又は電話機能のような音声サポートの機能を促進する。他のI/O装置1507は、汎用シリアルバス(USB)ポート、パラレルポート、シリアルポート、印刷機、ネットワークインターフェース、バスブリッジ(例えば、PCI〜PCIブリッジ)、センサ(例えば、加速度計、ジャイロスコープ、磁力計、光センサ、コンパス、近接センサ等のような動きセンサ)又はそれらの組み合せをさらに備えてもよい。装置1507は、結像処理サブシステム(例えば、カメラ)をさらに備えてもよく、前記結像処理サブシステムは、カメラ機能(例えば、写真及びビデオ断片の記録)を促進するための電荷カップリング装置(CCD)又は相補型金属酸化物半導体(CMOS)光学センサのような光学センサを備えてもよい。あるセンサは、センサハブ(図示せず)によって相互接続部材1510に接続されてもよく、キーボード又は熱センサのような他の装置は、組み込みコントローラ(図示せず)により制御されてもよく、これはシステム1500の特定の構成又は設計により決められる。
データ、アプリケーション、1つ又は複数のオペレーティングシステム等のような情報の永続性記憶を提供するために、大容量メモリ(図示せず)が、プロセッサ1501に接続されてもよい。様々な実施形態において、薄型化と軽量化のシステム設計を実現しかつシステムの応答能力を向上させるために、このような大容量メモリは、ソリッドステート装置(SSD)によって実現されることができる。なお、他の実施形態において、大容量メモリは、主にハードディスクドライブ(HDD)で実現されてもよく、少量のSSD記憶量は、SSDキャッシュとして、停電イベント期間にコンテキスト状態及び他のこのような情報の不揮発性記憶を実現し、それによりシステム動作が再開する時に通電を速く実現することができる。さらに、フラッシュデバイスは、例えばシリアルペリフェラルインターフェース(SPI)によってプロセッサ1501に接続されてもよい。このようなフラッシュデバイスは、システムソフトウェアの不揮発性記憶に用いられてもよく、前記システムソフトウェアは、前記システムのBIOS及び他のファームウェアを備える。
記憶装置1508は、任意の1種又は複数種の本明細書に記載の方法又は機能を実現する1つ又は複数のコマンドセット又はソフトウェア(例えば、モジュール、ユニット及び/又はロジック1528)が記憶されるコンピュータアクセス可能な記憶媒体1509(機械可読記憶媒体又はコンピュータ可読媒体とも呼ばれる)を備えてもよい。処理モジュール/ユニット/ロジック1528は、例えば、計画モジュール304、制御モジュール305、傾斜処理モジュール308および/または機器学習エンジン122のような上記構成要素のいずれかを示してもよい。処理モジュール/ユニット/ロジック1528は、さらにデータ処理システム1500、メモリ1503及びプロセッサ1501により実行される期間に、メモリ1503内及び/又はプロセッサ1501内に完全又は少なくとも部分的に存在してもよく、ここで、メモリ1503及びプロセッサ1501も、機器アクセス可能な記憶媒体を構成する。処理モジュール/ユニット/ロジック1528は、さらにネットワークによってネットワークインターフェースデバイス1505を経由して送受信されてもよい。
コンピュータ可読記憶媒体1509は、以上に説明されたいくつかのソフトウェア機能の一部を永続的に記憶してもよい。コンピュータ可読記憶媒体1509は、例示的な実施形態において単一の媒体として示されたが、用語「コンピュータ可読記憶媒体」は、前記1つ又は複数のコマンドセットが記憶される単一の媒体又は複数の媒体(例えば、集中型又は分散型データベース、及び/又は関連するキャッシュ及びサーバ)を備えることを理解すべきである。用語「コンピュータ可読記憶媒体」は、さらにコマンドセットを記憶又はコーディング可能な任意の媒体を備えることを理解すべきであり、前記コマンドセットは、機器により実行されかつ前記機器に本発明の任意の1種又は複数種の方法を実行させる。従って、用語「コンピュータ可読記憶媒体」は、ソリッドステートメモリ及び光学媒体と磁気媒体又は任意の他の非一時的機械可読媒体を備えるが、それらに限定されないことを理解すべきである。
本明細書に記載の処理モジュール/ユニット/ロジック1528、構成要素及び他の特徴は、ディスクリートハードウェア構成要素として実現されてもよく、又はハードウェア構成要素(例えばASIC、FPGA、DSP又は類似装置)の機能に統合されてもよい。さらに、処理モジュール/ユニット/ロジック1528は、ハードウェア装置内のファームウェア又は機能回路として実現されてもよい。また、処理モジュール/ユニット/ロジック1528は、ハードウェア装置及びソフトウェアコンポーネントの任意の組み合せで実現されてもよい。
なお、システム1500は、データ処理システムの各種の構成要素を有するように示されているが、構成要素の相互接続のいかなる特定のアーキテクチャー又は方式を示すものではないことに注意すべきであり、それは、このような詳細が本発明の実施形態に密接な関係がないためである。また、より少ない構成要素又はより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ及び/又は他のデータ処理システムは、本発明の実施形態と共に使用されてもよい。
上記詳細な説明の一部は、コンピュータメモリにおけるデータビットに対する演算のアルゴリズム及び記号表現で示される。これらのアルゴリズムの説明及び表現は、データ処理分野における当業者によって使用され、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。ここで、アルゴリズムは、通常、所望の結果につながる首尾一貫した動作列(sequence of operations)と考えられる。これらの動作とは、物理量に対して物理的動作を行う必要となるステップを指す。
ただし、これらの全ての及び類似の用語は、いずれも適切な物理量に関連付けられ、かつただこれらの量に適用される適切なラベルであることに注意すべきである。特に断らない限り、本出願の全体にわたって用語(例えば、添付している特許請求の範囲に説明された用語)による説明とは、コンピュータシステム又は類似の電子計算装置の動作及び処理であり、前記コンピュータシステム又は電子計算装置は、コンピュータシステムのレジスタ及びメモリに物理(例えば、電子)量としてデータを示し、かつ前記データをコンピュータシステムメモリ又はレジスタ又は他のこのような情報記憶装置、伝送又は表示装置内において類似に物理量として示される他のデータに変換する。
本発明の実施形態は、さらに本明細書における動作を実行するためのコンピュータプログラムに関する。このようなコンピュータプログラムは、非揮発性のンピュータ可読媒体に記憶される。機器可読媒体は、機器(例えば、コンピュータ)可読な形態で情報を記憶する任意の機構を備える。例えば、機器可読(例えば、コンピュータ可読)媒体は、機器(例えば、コンピュータ)可読記憶媒体(例えば、読み出し専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ)を備える。
上記図面に示される手順又は方法は、ハードウェア(例えば、回路、専用ロジック等)、ソフトウェア(例えば、非揮発性のコンピュータ可読媒体に具現化される)、又は両方の組み合せを含む処理ロジックにより実行されてもよい。前記手順又は方法は、本明細書において特定の順序に応じて説明されるが、説明された動作の一部は、異なる順序に応じて実行されてもよい。また、いくつかの動作は、順番ではなく並行に実行されてもよい。
本発明の実施形態は、いずれかの特定のプログラミング言語を参照して説明されていないが、複数種のプログラミング言語で本明細書に記載の本発明の実施形態の教示を実現できることを理解すべきである。
以上の明細書では、本発明の具体的な例示的な実施形態を参照してその実施形態を説明した。明らかなように、添付している特許請求の範囲に記載の本発明のより広い趣旨及び範囲を逸脱しない限り、様々な変形が可能である。従って、限定的なものではなく例示的なものとして本明細書及び図面を理解すべきである。

Claims (20)

  1. 第一の畳み込みニューラルネットワークモデル(CNN)から複数の第一の層のグループを抽出することであって、前記複数の第一の層のグループのうちの各グループは第一のコンボリューション層と第一のバッチ正規化層とを含むことと、
    前記複数の第一の層のグループのうちの各グループについて、
    前記第一のバッチ正規化層に基づいて、第一のスケールベクトルと第一のシフトベクトルを算出し、且つ、
    前記第一のコンボリューション層、前記第一のスケールベクトル及び前記第一のシフトベクトルに基づいて、前記複数の第一の層のグループにおける対応するグループを示す第二のコンボリューション層を生成することと、
    前記複数の第一の層のグループに対応する第二のコンボリューション層に基づいて、第二の畳み込みニューラルネットワークモデルを生成することであって、前記第二の畳み込みニューラルネットワークモデルは、その後に自動運転車両(ADV)により検知された目標を分類するのに用いられることと、
    を含
    ここで、前記第二のコンボリューション層は、以下の式になるように、前記第一のコンボリューション層と前記第一のスケールベクトルとが合併して得られており、

    ただし、α は前記第二のコンボリューション層の重み、β は前記第二のコンボリューション層のシフト、y は出力、α は前記第一のコンボリューション層の重み、β は前記第一のコンボリューション層のシフト、mean(y )はy の出力の平均値、std(y )はy の標準偏差を表す、
    コンピュータ実施方法。
  2. 第一の畳み込みニューラルネットワークモデル(CNN)から複数の第一の層のグループを抽出することであって、前記複数の第一の層のグループのうちの各グループは第一のコンボリューション層と、第一のスケール層と、第一のバッチ正規化層とを含む、ことと、
    前記複数の第一の層のグループのうちの各グループについて、
    前記複数の第一の層のグループにおける対応するグループの第一のバッチ正規化層と第一のスケール層に基づいて、第二のスケールベクトル及び第二のシフトベクトルを算出し、且つ、
    前記第二のスケールベクトル、前記第二のシフトベクトル及び前記第一のコンボリューション層に基づいて、前記複数の第一の層のグループにおける対応するグループを示す第二のコンボリューション層を生成すること
    前記複数の第一の層のグループに対応する第二のコンボリューション層に基づいて、第二の畳み込みニューラルネットワークモデルを生成することであって、前記第二の畳み込みニューラルネットワークモデルは、その後に自動運転車両(ADV)により検知された目標を分類するのに用いられることと、
    含み
    ここで、前記第二のコンボリューション層は、以下の式になるように、前記第一のコンボリューション層と前記第二のスケールベクトルと、前記第二のシフトベクトルとが合併して得られており、

    ただし、α は前記第二のコンボリューション層の重み、β は前記第二のコンボリューション層のシフト、y は出力、α は前記第一のコンボリューション層の重み、β は前記第一のコンボリューション層のシフト、mean(y )はy の出力の平均値、std(y )はy の標準偏差、α は前記第一のスケール層のスケール因子、β は前記第一のスケール層のシフト因子を表す、
    コンピュータ実施方法。
  3. 前記第一の畳み込みニューラルネットワークモデルから複数の第二の層のグループを抽出することであって、前記複数の第二の層のグループのうちの各グループは第一のデコンボリューション層と第二のバッチ正規化層とを含むことと、
    前記複数の第二の層のグループのうちの各グループについて、
    前記第二のバッチ正規化層に基づいて、第三のスケールベクトルと第三のシフトベクトルを算出し、且つ、
    前記第三のスケールベクトル、前記第三のシフトベクトル及び前記第一のデコンボリューション層に基づいて、前記複数の第二の層のグループにおける対応するグループを示す第二のデコンボリューション層を生成することであって、前記第二の畳み込みニューラルネットワークモデルは前記複数の第二の層のグループに対応する第二のデコンボリューション層を含むことと、
    を更に含む、請求項1に記載のコンピュータ実施方法。
  4. 前記第一の畳み込みニューラルネットワークモデルから複数の第二の層のグループを抽出することであって、前記複数の第二の層のグループのうちの各グループは第一のデコンボリューション層と、第二のスケール層と、第二のバッチ正規化層とを含む、ことと、
    前記複数の第二の層のグループのうちの各グループについて、
    前記複数の第二の層のグループにおける対応するグループの第二のバッチ正規化層と第二のスケール層に基づいて、第四のスケールベクトルと第四のシフトベクトルを算出し、且つ、
    前記第四のスケールベクトル、前記第四のシフトベクトル及び前記第一のデコンボリューション層に基づいて、前記複数の第二の層のグループにおける対応するグループを示す第二のデコンボリューション層を生成することであって、前記第二の畳み込みニューラルネットワークモデルは前記複数の第二の層のグループに対応する第二のデコンボリューション層を含む、ことと
    を更に含む、請求項に記載のコンピュータ実施方法。
  5. 前記第一のコンボリューション層は多次元の入力を有する、請求項1又は2に記載のコンピュータ実施方法。
  6. 前記多次元の入力のうちの各次元に対して、前記第一のスケールベクトルと前記第一のシフトベクトルとをスケール的に算出する、請求項5に記載のコンピュータ実施方法。
  7. 前記多次元の入力のうちの各次元の平均値及び標準偏差に基づいて、前記第一のスケールベクトルと前記第一のシフトベクトルを算出する、請求項6に記載のコンピュータ実施方法。
  8. 前記多次元の入力のうちの各次元に対して、前記平均値と前記標準偏差を独立的に算出する、請求項7に記載のコンピュータ実施方法。
  9. コマンドが記憶され、前記コマンドがプロセッサにより実行される場合に、前記プロセッサに操作を実行させる、非一時的機械可読媒体であって、
    前記操作は、
    第一の畳み込みニューラルネットワークモデル(CNN)から複数の第一の層のグループを抽出することであって、前記複数の第一の層のグループのうちの各グループは第一のコンボリューション層と第一のバッチ正規化層とを含むことと、
    前記複数の第一の層のグループのうちの各グループについて、
    前記第一のバッチ正規化層に基づいて、第一のスケールベクトルと第一のシフトベクトルを算出し、且つ、
    前記第一のコンボリューション層、前記第一のスケールベクトル及び前記第一のシフトベクトルに基づいて、前記複数の第一の層のグループにおける対応するグループを示す第二のコンボリューション層を生成することと、
    前記複数の第一の層のグループに対応する第二のコンボリューション層に基づいて、第二の畳み込みニューラルネットワークモデルを生成することであって、前記第二の畳み込みニューラルネットワークモデルは、その後に自動運転車両(ADV)により検知された目標を分類するのに用いられることと、
    を含
    ここで、前記第二のコンボリューション層は、以下の式になるように、前記第一のコンボリューション層と前記第一のスケールベクトルとが合併して得られており、

    ただし、α は前記第二のコンボリューション層の重み、β は前記第二のコンボリューション層のシフト、y は出力、α は前記第一のコンボリューション層の重み、β は前記第一のコンボリューション層のシフト、mean(y )はy の出力の平均値、std(y )はy の標準偏差を表す、
    非一時的機械可読媒体。
  10. コマンドが記憶され、前記コマンドがプロセッサにより実行される場合に、前記プロセッサに操作を実行させる、非一時的機械可読媒体であって、
    前記操作は、
    第一の畳み込みニューラルネットワークモデル(CNN)から複数の第一の層のグループを抽出することであって、前記複数の第一の層のグループのうちの各グループは第一のコンボリューション層と、第一のスケール層と、第一のバッチ正規化層とを含む、ことと、
    前記複数の第一の層のグループのうちの各グループについて、
    前記複数の第一の層のグループにおける対応するグループの第一のバッチ正規化層と第一のスケール層に基づいて、第二のスケールベクトル及び第二のシフトベクトルを算出し、且つ、
    前記第二のスケールベクトル、前記第二のシフトベクトル及び前記第一のコンボリューション層に基づいて、前記複数の第一の層のグループにおける対応するグループを示す第二のコンボリューション層を生成すること
    前記複数の第一の層のグループに対応する第二のコンボリューション層に基づいて、第二の畳み込みニューラルネットワークモデルを生成することであって、前記第二の畳み込みニューラルネットワークモデルは、その後に自動運転車両(ADV)により検知された目標を分類するのに用いられることと
    含み
    ここで、前記第二のコンボリューション層は、以下の式になるように、前記第一のコンボリューション層と前記第二のスケールベクトルと、前記第二のシフトベクトルとが合併して得られており、

    ただし、α は前記第二のコンボリューション層の重み、β は前記第二のコンボリューション層のシフト、y は出力、α は前記第一のコンボリューション層の重み、β は前記第一のコンボリューション層のシフト、mean(y )はy の出力の平均値、std(y )はy の標準偏差、α は前記第一のスケール層のスケール因子、β は前記第一のスケール層のシフト因子を表す、
    非一時的機械可読媒体。
  11. 前記第一の畳み込みニューラルネットワークモデルから複数の第二の層のグループを抽出することであって、前記複数の第二の層のグループのうちの各グループは第一のデコンボリューション層と第二のバッチ正規化層とを含むことと、
    前記複数の第二の層のグループのうちの各グループについて、
    前記第二のバッチ正規化層に基づいて、第三のスケールベクトルと第三のシフトベクトルを算出し、且つ、
    前記第三のスケールベクトル、前記第三のシフトベクトル及び前記第一のデコンボリューション層に基づいて、前記複数の第二の層のグループにおける対応するグループを示す第二のデコンボリューション層を生成することであって、前記第二の畳み込みニューラルネットワークモデルは前記複数の第二の層のグループに対応する第二のデコンボリューション層を含むことと、
    を更に含む、請求項9に記載の非一時的機械可読媒体。
  12. 前記第一の畳み込みニューラルネットワークモデルから複数の第二の層のグループを抽出することであって、前記複数の第二の層のグループのうちの各グループは第一のデコンボリューション層と、第二のスケール層と、第二のバッチ正規化層とを含む、ことと、
    前記複数の第二の層のグループのうちの各グループについて、
    前記複数の第二の層のグループにおける対応するグループの第二のスケール層に基づいて、第四のスケールベクトルと第四のシフトベクトルを算出し、且つ、
    前記第四のスケールベクトル、前記第四のシフトベクトル及び前記第一のデコンボリューション層に基づいて、前記複数の第二の層のグループにおける対応するグループを示す第二のデコンボリューション層を生成することであって、前記第二の畳み込みニューラルネットワークモデルは前記複数の第二の層のグループに対応する第二のデコンボリューション層を含む、ことと
    を更に含む、請求項1に記載の非一時的機械可読媒体。
  13. 前記第一のコンボリューション層は多次元の入力を有する、請求項9又は10に記載の非一時的機械可読媒体。
  14. 前記多次元の入力のうちの各次元に対して、前記第一のスケールベクトルと前記第一のシフトベクトルとをスケール的に算出する、請求項13に記載の非一時的機械可読媒体。
  15. 前記多次元の入力のうちの各次元の平均値と標準偏差に基づいて、前記第一のスケールベクトルと前記第一のシフトベクトルを算出する、請求項14に記載の非一時的機械可読媒体。
  16. 前記多次元の入力のうちの各次元に対して、前記平均値と前記標準偏差を独立的に算出する、請求項15に記載の非一時的機械可読媒体。
  17. プロセッサと、
    前記プロセッサに接続され、コマンドが記憶されるメモリと、を備え、
    前記コマンドが前記プロセッサにより実行される場合に、前記プロセッサに操作を実行させる、データ処理システムであって、
    前記操作は、
    第一の畳み込みニューラルネットワークモデル(CNN)から複数の第一の層のグループを抽出することであって、前記複数の第一の層のグループのうちの各グループは第一のコンボリューション層と第一のバッチ正規化層とを含むことと、
    前記複数の第一の層のグループのうちの各グループについて、
    前記第一のバッチ正規化層に基づいて、第一のスケールベクトルと第一のシフトベクトルを算出し、且つ、
    前記第一のコンボリューション層、前記第一のスケールベクトル及び前記第一のシフトベクトルに基づいて、前記複数の第一の層のグループにおける対応するグループを示す第二のコンボリューション層を生成することと、
    前記複数の第一の層のグループに対応する第二のコンボリューション層に基づいて、第二の畳み込みニューラルネットワークモデルを生成することであって、前記第二の畳み込みニューラルネットワークモデルは、その後に自動運転車両(ADV)により検知された目標を分類するのに用いられることと、
    を含
    ここで、前記第二のコンボリューション層は、以下の式になるように、前記第一のコンボリューション層と前記第一のスケールベクトルとが合併して得られており、

    ただし、α は前記第二のコンボリューション層の重み、β は前記第二のコンボリューション層のシフト、y は出力、α は前記第一のコンボリューション層の重み、β は前記第一のコンボリューション層のシフト、mean(y )はy の出力の平均値、std(y )はy の標準偏差を表す、
    システム。
  18. プロセッサと、
    前記プロセッサに接続され、コマンドが記憶されるメモリと、を備え、
    前記コマンドが前記プロセッサにより実行される場合に、前記プロセッサに操作を実行させる、データ処理システムであって、
    前記操作は、
    第一の畳み込みニューラルネットワークモデル(CNN)から複数の第一の層のグループを抽出することであって、前記複数の第一の層のグループのうちの各グループは第一のコンボリューション層と、第一のスケール層と、第一のバッチ正規化層とを含む、ことと、
    前記複数の第一の層のグループのうちの各グループについて、
    前記複数の第一の層のグループにおける対応するグループの第一のバッチ正規化層と第一のスケール層に基づいて、第二のスケールベクトル及び第二のシフトベクトルを算出し、且つ、
    前記第二のスケールベクトル、前記第二のシフトベクトル及び前記第一のコンボリューション層に基づいて、前記複数の第一の層のグループにおける対応するグループを示す第二のコンボリューション層を生成すること
    前記複数の第一の層のグループに対応する第二のコンボリューション層に基づいて、第二の畳み込みニューラルネットワークモデルを生成することであって、前記第二の畳み込みニューラルネットワークモデルは、その後に自動運転車両(ADV)により検知された目標を分類するのに用いられることと
    含み
    ここで、前記第二のコンボリューション層は、以下の式になるように、前記第一のコンボリューション層と前記第二のスケールベクトルと、前記第二のシフトベクトルとが合併して得られており、

    ただし、α は前記第二のコンボリューション層の重み、β は前記第二のコンボリューション層のシフト、y は出力、α は前記第一のコンボリューション層の重み、β は前記第一のコンボリューション層のシフト、mean(y )はy の出力の平均値、std(y )はy の標準偏差、α は前記第一のスケール層のスケール因子、β は前記第一のスケール層のシフト因子を表す、
    システム。
  19. 前記第一の畳み込みニューラルネットワークモデルから複数の第二の層のグループを抽出することであって、前記複数の第二の層のグループのうちの各グループは第一のデコンボリューション層と第二のバッチ正規化層とを含むことと、
    前記複数の第二の層のグループのうちの各グループについて、
    前記第二のバッチ正規化層に基づいて、第三のスケールベクトルと第三のシフトベクトルを算出し、且つ、
    前記第三のスケールベクトル、前記第三のシフトベクトル及び前記第一のデコンボリューション層に基づいて、前記複数の第二の層のグループにおける対応するグループを示す第二のデコンボリューション層を生成することであって、前記第二の畳み込みニューラルネットワークモデルは前記第二の層のグループに対応する第二のデコンボリューション層を含むことと、
    を更に含む、請求項17に記載のシステム。
  20. 前記第一の畳み込みニューラルネットワークモデルから複数の第二の層のグループを抽出することであって、前記複数の第二の層のグループのうちの各グループは第一のデコンボリューション層と、第二のスケール層と、第二のバッチ正規化層とを含む、ことと、
    前記複数の第二の層のグループのうちの各グループについて、
    前記複数の第二の層のグループにおける対応するグループの第二のバッチ正規化層と第二のスケール層に基づいて、第四のスケールベクトルと第四のシフトベクトルを算出し、且つ、
    前記第四のスケールベクトル、前記第四のシフトベクトル及び前記第一のデコンボリューション層に基づいて、前記複数の第二の層のグループにおける対応するグループを示す第二のデコンボリューション層を生成することであって、前記第二の畳み込みニューラルネットワークモデルは前記複数の第二の層のグループに対応する第二のデコンボリューション層を含む、ことと、
    を更に含む、請求項1に記載のシステム。
JP2018039360A 2017-03-06 2018-03-06 自動運転車両に用いる畳み込みニューラルネットワークモデルのコンボリューション/デコンボリューション層とバッチ正規化層のオフライン組み合わせ Active JP6653343B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/451,345 US11308391B2 (en) 2017-03-06 2017-03-06 Offline combination of convolutional/deconvolutional and batch-norm layers of convolutional neural network models for autonomous driving vehicles
US15/451,345 2017-03-06

Publications (2)

Publication Number Publication Date
JP2018173946A JP2018173946A (ja) 2018-11-08
JP6653343B2 true JP6653343B2 (ja) 2020-02-26

Family

ID=61580975

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018039360A Active JP6653343B2 (ja) 2017-03-06 2018-03-06 自動運転車両に用いる畳み込みニューラルネットワークモデルのコンボリューション/デコンボリューション層とバッチ正規化層のオフライン組み合わせ

Country Status (4)

Country Link
US (1) US11308391B2 (ja)
EP (1) EP3373200B1 (ja)
JP (1) JP6653343B2 (ja)
CN (1) CN108537326B (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170134713A (ko) * 2015-04-23 2017-12-06 닛산 지도우샤 가부시키가이샤 씬 이해 장치
CN108628904B (zh) * 2017-03-23 2021-03-02 北京嘀嘀无限科技发展有限公司 一种路径编码、相似路径检索方法及装置和电子设备
US11042155B2 (en) * 2017-06-06 2021-06-22 Plusai Limited Method and system for closed loop perception in autonomous driving vehicles
US11392133B2 (en) 2017-06-06 2022-07-19 Plusai, Inc. Method and system for object centric stereo in autonomous driving vehicles
US11573573B2 (en) 2017-06-06 2023-02-07 Plusai, Inc. Method and system for distributed learning and adaptation in autonomous driving vehicles
US10438074B2 (en) * 2017-06-14 2019-10-08 Baidu Usa Llc Method and system for controlling door locks of autonomous driving vehicles based on lane information
US10395144B2 (en) * 2017-07-24 2019-08-27 GM Global Technology Operations LLC Deeply integrated fusion architecture for automated driving systems
US11875260B2 (en) * 2018-02-13 2024-01-16 Adobe Inc. Reducing architectural complexity of convolutional neural networks via channel pruning
KR102637339B1 (ko) * 2018-08-31 2024-02-16 삼성전자주식회사 음성 인식 모델을 개인화하는 방법 및 장치
US11325252B2 (en) * 2018-09-15 2022-05-10 X Development Llc Action prediction networks for robotic grasping
CN109242092B (zh) * 2018-09-29 2021-02-12 深圳市商汤科技有限公司 图像处理方法和装置、电子设备、存储介质
US10474930B1 (en) * 2018-10-05 2019-11-12 StradVision, Inc. Learning method and testing method for monitoring blind spot of vehicle, and learning device and testing device using the same
US10311321B1 (en) * 2018-10-26 2019-06-04 StradVision, Inc. Learning method, learning device using regression loss and testing method, testing device using the same
US11055857B2 (en) * 2018-11-30 2021-07-06 Baidu Usa Llc Compressive environmental feature representation for vehicle behavior prediction
US11144788B2 (en) * 2018-12-04 2021-10-12 Here Global B.V. Method and apparatus for providing a low-power perception architecture
CN109901572B (zh) * 2018-12-13 2022-06-28 华为技术有限公司 自动驾驶方法、训练方法及相关装置
JP7214873B2 (ja) * 2018-12-21 2023-01-30 ウェイモ エルエルシー 自律型車両のセンサデータリポジトリの検索
CN109635934A (zh) * 2018-12-27 2019-04-16 深圳云天励飞技术有限公司 一种神经网络推理结构优化方法及装置
WO2020154973A1 (en) * 2019-01-30 2020-08-06 Baidu.Com Times Technology (Beijing) Co., Ltd. Lidar localization using rnn and lstm for temporal smoothness in autonomous driving vehicles
US10796206B2 (en) * 2019-01-31 2020-10-06 StradVision, Inc. Method for integrating driving images acquired from vehicles performing cooperative driving and driving image integrating device using same
US10956755B2 (en) * 2019-02-19 2021-03-23 Tesla, Inc. Estimating object properties using visual image data
CN113498391B (zh) * 2019-03-08 2023-05-16 马自达汽车株式会社 汽车用运算装置
CN110007598B (zh) * 2019-04-09 2020-07-03 吉林大学 一种基于代理模型的自动变速器控制参数预标定方法
CN110007675B (zh) * 2019-04-12 2021-01-15 北京航空航天大学 一种基于行车态势图的车辆自动驾驶决策系统及基于无人机的训练集制备方法
US11776072B2 (en) * 2019-04-25 2023-10-03 Shibaura Machine Co., Ltd. Machine learning method, information processing device, computer program product, and additive manufacturing monitoring system
JP7231511B2 (ja) * 2019-07-29 2023-03-01 株式会社日立製作所 管理装置、管理方法、および管理プログラム
US11620492B2 (en) * 2019-08-27 2023-04-04 Nec Corporation Flexible edge-empowered graph convolutional networks with node-edge enhancement
CN113408325A (zh) * 2020-03-17 2021-09-17 北京百度网讯科技有限公司 车辆周围环境的识别方法、装置及相关设备
US20220114413A1 (en) * 2020-10-12 2022-04-14 Black Sesame International Holding Limited Integer-based fused convolutional layer in a convolutional neural network

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7082394B2 (en) * 2002-06-25 2006-07-25 Microsoft Corporation Noise-robust feature extraction using multi-layer principal component analysis
JP4567733B2 (ja) * 2004-07-20 2010-10-20 クゥアルコム・インコーポレイテッド 動きベクトル処理のための方法及び装置
JP5772442B2 (ja) * 2011-09-22 2015-09-02 富士ゼロックス株式会社 画像処理装置及び画像処理プログラム
KR102055355B1 (ko) 2015-01-28 2019-12-12 구글 엘엘씨 배치 정규화 레이어들
CN104700099B (zh) * 2015-03-31 2017-08-11 百度在线网络技术(北京)有限公司 识别交通标志的方法和装置
JP2016197389A (ja) * 2015-04-03 2016-11-24 株式会社デンソーアイティーラボラトリ 学習システム、学習プログラムおよび学習方法
GB2559491A (en) * 2015-07-24 2018-08-08 Google Llc Continuous control with deep reinforcement learning
EP3329424B1 (en) 2015-07-29 2023-07-12 Nokia Technologies Oy Object detection with neural network
EP3582151A1 (en) * 2015-08-15 2019-12-18 Salesforce.com, Inc. Three-dimensional (3d) convolution with 3d batch normalization
CN108701253A (zh) * 2015-11-12 2018-10-23 渊慧科技有限公司 使用规范化的目标输出训练神经网络
CN106056628B (zh) * 2016-05-30 2019-06-18 中国科学院计算技术研究所 基于深度卷积神经网络特征融合的目标跟踪方法及系统
CN106372571A (zh) * 2016-08-18 2017-02-01 宁波傲视智绘光电科技有限公司 路面交通标志检测与识别方法
IL294129B2 (en) * 2016-08-22 2024-01-01 Magic Leap Inc An augmented reality display device with deep learning sensors
CN106407931B (zh) * 2016-09-19 2019-11-22 杭州电子科技大学 一种深度卷积神经网络运动车辆检测方法
WO2018071389A1 (en) * 2016-10-10 2018-04-19 Google Llc Very deep convolutional neural networks for end-to-end speech recognition
US10685285B2 (en) * 2016-11-23 2020-06-16 Microsoft Technology Licensing, Llc Mirror deep neural networks that regularize to linear networks
CA3046035A1 (en) * 2016-12-05 2018-06-14 Avigilon Coporation System and method for cnn layer sharing
US10915817B2 (en) * 2017-01-23 2021-02-09 Fotonation Limited Method of training a neural network

Also Published As

Publication number Publication date
US20180253647A1 (en) 2018-09-06
US11308391B2 (en) 2022-04-19
JP2018173946A (ja) 2018-11-08
CN108537326A (zh) 2018-09-14
EP3373200A1 (en) 2018-09-12
EP3373200B1 (en) 2021-01-27
CN108537326B (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
JP6653343B2 (ja) 自動運転車両に用いる畳み込みニューラルネットワークモデルのコンボリューション/デコンボリューション層とバッチ正規化層のオフライン組み合わせ
JP6578439B2 (ja) 自律走行車の移動をシミュレートするための物理モデル及び機械学習結合方法
JP6738932B2 (ja) シミュレーションプラットフォームに配置された、機械学習モデルを訓練するためのシステム及び方法
JP6748244B2 (ja) 自動運転車に用いられる学習に基づく速度計画装置
JP6644742B2 (ja) 頑健で効率的な車両測位用のアルゴリズム及びインフラ
KR102070527B1 (ko) 자율 주행 차량 교통 예측에서 예측되는 궤적에 대한 평가 프레임 워크
JP6499806B2 (ja) 自律走行車のステアリング率の動的調整
JP6684346B2 (ja) 車両の周囲の状況に基づいて車両の一つ又は複数の軌跡を予測する方法とシステム
JP6650028B2 (ja) 自律走行車のための横滑り補償制御方法
EP3714290B1 (en) Lidar localization using 3d cnn network for solution inference in autonomous driving vehicles
JP6674019B2 (ja) 自律走行車を運行させるための制御エラー補正計画方法
JP6578331B2 (ja) 自律走行車のコマンド遅延を決定するための方法
EP3714285B1 (en) Lidar localization using rnn and lstm for temporal smoothness in autonomous driving vehicles
JP6494715B2 (ja) 自律走行車の速度制御率の動的調整方法
KR101975725B1 (ko) 학습 기반 모델 예측 제어를 이용한 자율 주행 차량의 노면 마찰 결정 방법 및 시스템
JP2019526840A (ja) 自律走行車の制御フィードバックに基づくマップ更新方法およびシステム
WO2020154970A1 (en) Deep learning–based feature extraction for lidar localization of autonomous driving vehicles
JP2018063703A (ja) 自律走行車用のグループ運転スタイル学習フレーム
JP2019527862A (ja) 自律走行のための地図画像に基づく交通予測
JP2018116705A (ja) ブレーキライトを利用して自動運転車両と追従車両との間の距離を保持する方法
JP6543373B2 (ja) 自動運転車両に用いられる制御型の計画と制御システム
JP2018070145A (ja) 自律走行車用のバネシステムに基づく車線変更方法
JP2019501809A (ja) 自律走行車の速度を追従する方法及びシステム
JP6757442B2 (ja) 自動運転車における車線後処理
JP6952117B2 (ja) 自動運転車両のためのスピード制御コマンド自動較正システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180326

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190904

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200127

R150 Certificate of patent or registration of utility model

Ref document number: 6653343

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250