(57)【要約】      （修正有）【課題】自動運転車両に用いることができる加速バッチ正規化の畳み込みニューラルネットワーク（ＣＮＮ）モデルのシステムを提供する。【解決手段】システムは、第一のＣＮＮモデルから複数の第一の層のグループを抽出し、各グループは第一のコンボリューション層と第一のバッチ正規化層とを含む。各グループについて、第一のバッチ正規化層に基づいて第一のスケールベクトルと第一のシフトベクトルを算出し、第一のコンボリューション層、第一のスケールベクトル及び第一のシフトベクトルに基づいて、複数の第一のグループにおける対応するグループを示す第二のコンボリューション層を生成する。複数の第一のグループに対応する第二のコンボリューション層に基づいて加速ＣＮＮモデルを生成し、自動運転車両により検知された目標を分類する。【選択図】図９
2018173946.tif 000002
【特許請求の範囲】
【請求項１】
第一の畳み込みニューラルネットワークモデル（ＣＮＮ）から複数の第一の層のグループを抽出することであって、前記複数の第一の層のグループのうちの各グループは第一のコンボリューション層と第一のバッチ正規化層とを含むことと、
前記複数の第一の層のグループのうちの各グループについて、
前記第一のバッチ正規化層に基づいて、第一のスケールベクトルと第一のシフトベクトルを算出し、且つ、
前記第一のコンボリューション層、前記第一のスケールベクトル及び前記第一のシフトベクトルに基づいて、前記複数の第一の層のグループにおける対応するグループを示す第二のコンボリューション層を生成することと、
前記複数の第一の層のグループに対応する第二のコンボリューション層に基づいて、第二の畳み込みニューラルネットワークモデルを生成することであって、前記第二の畳み込みニューラルネットワークモデルは、その後に自動運転車両（ＡＤＶ）により検知された目標を分類するのに用いられることと、
を含む、コンピュータ実施方法。
【請求項２】
前記複数の第一の層のグループのうちの各グループについて、
前記複数の第一の層のグループにおける対応するグループの第一のバッチ正規化層と第一のスケール層に基づいて、第二のスケールベクトル及び第二のシフトベクトルを算出し、且つ、
前記第二のスケールベクトル、前記第二のシフトベクトル及び前記第一のコンボリューション層に基づいて、前記第二のコンボリューション層を生成すること、
を更に含む、請求項１に記載のコンピュータ実施方法。
【請求項３】
前記第一の畳み込みニューラルネットワークモデルから複数の第二の層のグループを抽出することであって、前記複数の第二の層のグループのうちの各グループは第一のデコンボリューション層と第二のバッチ正規化層とを含むことと、
前記複数の第二の層のグループのうちの各グループについて、
前記第二のバッチ正規化層に基づいて、第三のスケールベクトルと第三のシフトベクトルを算出し、且つ、
前記第三のスケールベクトル、前記第三のシフトベクトル及び前記第一のデコンボリューション層に基づいて、前記複数の第二の層のグループにおける対応するグループを示す第二のデコンボリューション層を生成することであって、前記第二の畳み込みニューラルネットワークモデルは前記複数の第二の層のグループに対応する第二のデコンボリューション層を含むことと、
を更に含む、請求項１に記載のコンピュータ実施方法。
【請求項４】
前記複数の第二の層のグループのうちの各グループについて、
前記複数の第二の層のグループにおける対応するグループの第二のバッチ正規化層と第二のスケール層に基づいて、第四のスケールベクトルと第四のシフトベクトルを算出し、且つ、
前記第四のスケールベクトル、前記第四のシフトベクトル及び前記第一のデコンボリューション層に基づいて、前記第二のデコンボリューション層を生成すること、
を更に含む、請求項３に記載のコンピュータ実施方法。
【請求項５】
前記第一のコンボリューション層は多次元の入力を有する、請求項１に記載のコンピュータ実施方法。
【請求項６】
前記多次元の入力のうちの各次元に対して、前記第一のスケールベクトルと前記第一のシフトベクトルとをスケール的に算出する、請求項５に記載のコンピュータ実施方法。
【請求項７】
前記多次元の入力のうちの各次元の平均値及び標準偏差に基づいて、前記第一のスケールベクトルと前記第一のシフトベクトルを算出する、請求項６に記載のコンピュータ実施方法。
【請求項８】
前記多次元の入力のうちの各次元に対して、前記平均値と前記標準偏差を独立的に算出する、請求項７に記載のコンピュータ実施方法。
【請求項９】
コマンドが記憶され、前記コマンドがプロセッサにより実行される場合に、前記プロセッサに操作を実行させる、非一時的機械可読媒体であって、
前記操作は、
第一の畳み込みニューラルネットワークモデル（ＣＮＮ）から複数の第一の層のグループを抽出することであって、前記複数の第一の層のグループのうちの各グループは第一のコンボリューション層と第一のバッチ正規化層とを含むことと、
前記複数の第一の層のグループのうちの各グループについて、
前記第一のバッチ正規化層に基づいて、第一のスケールベクトルと第一のシフトベクトルを算出し、且つ、
前記第一のコンボリューション層、前記第一のスケールベクトル及び前記第一のシフトベクトルに基づいて、前記複数の第一の層のグループにおける対応するグループを示す第二のコンボリューション層を生成することと、
前記複数の第一の層のグループに対応する第二のコンボリューション層に基づいて、第二の畳み込みニューラルネットワークモデルを生成することであって、前記第二の畳み込みニューラルネットワークモデルは、その後に自動運転車両（ＡＤＶ）により検知された目標を分類するのに用いられることと、
を含む、非一時的機械可読媒体。
【請求項１０】
前記複数の第一の層のグループのうちの各グループについて、
前記複数の第一の層のグループにおける対応するグループの第一のバッチ正規化層と第一のスケール層に基づいて、第二のスケールベクトル及び第二のシフトベクトルを算出し、且つ、
前記第二のスケールベクトル、前記第二のシフトベクトル及び前記第一のコンボリューション層に基づいて、前記第二のコンボリューション層を生成すること、
を更に含む、請求項９に記載の非一時的機械可読媒体。
【請求項１１】
前記第一の畳み込みニューラルネットワークモデルから複数の第二の層のグループを抽出することであって、前記複数の第二の層のグループのうちの各グループは第一のデコンボリューション層と第二のバッチ正規化層とを含むことと、
前記複数の第二の層のグループのうちの各グループについて、
前記第二のバッチ正規化層に基づいて、第三のスケールベクトルと第三のシフトベクトルを算出し、且つ、
前記第三のスケールベクトル、前記第三のシフトベクトル及び前記第一のデコンボリューション層に基づいて、前記複数の第二の層のグループにおける対応するグループを示す第二のデコンボリューション層を生成することであって、前記第二の畳み込みニューラルネットワークモデルは前記複数の第二の層のグループに対応する第二のデコンボリューション層を含むことと、
を更に含む、請求項９に記載の非一時的機械可読媒体。
【請求項１２】
前記複数の第二の層のグループのうちの各グループについて、
前記複数の第二の層のグループにおける対応するグループの第二のスケール層に基づいて、第四のスケールベクトルと第四のシフトベクトルを算出し、且つ、
前記第四のスケールベクトル、前記第四のシフトベクトル及び前記第一のデコンボリューション層に基づいて、前記第二のデコンボリューション層を生成すること、
を更に含む、請求項１１に記載の非一時的機械可読媒体。
【請求項１３】
前記第一のコンボリューション層は多次元の入力を有する、請求項９に記載の非一時的機械可読媒体。
【請求項１４】
前記多次元の入力のうちの各次元に対して、前記第一のスケールベクトルと前記第一のシフトベクトルとをスケール的に算出する、請求項１３に記載の非一時的機械可読媒体。
【請求項１５】
前記多次元の入力のうちの各次元の平均値と標準偏差に基づいて、前記第一のスケールベクトルと前記第一のシフトベクトルを算出する、請求項１４に記載の非一時的機械可読媒体。
【請求項１６】
前記多次元の入力のうちの各次元に対して、前記平均値と前記標準偏差を独立的に算出する、請求項１５に記載の非一時的機械可読媒体。
【請求項１７】
プロセッサと、
前記プロセッサに接続され、コマンドが記憶されるメモリと、を備え、
前記コマンドが前記プロセッサにより実行される場合に、前記プロセッサに操作を実行させる、データ処理システムであって、
前記操作は、
第一の畳み込みニューラルネットワークモデル（ＣＮＮ）から複数の第一の層のグループを抽出することであって、前記複数の第一の層のグループのうちの各グループは第一のコンボリューション層と第一のバッチ正規化層とを含むことと、
前記複数の第一の層のグループのうちの各グループについて、
前記第一のバッチ正規化層に基づいて、第一のスケールベクトルと第一のシフトベクトルを算出し、且つ、
前記第一のコンボリューション層、前記第一のスケールベクトル及び前記第一のシフトベクトルに基づいて、前記複数の第一の層のグループにおける対応するグループを示す第二のコンボリューション層を生成することと、
前記複数の第一の層のグループに対応する第二のコンボリューション層に基づいて、第二の畳み込みニューラルネットワークモデルを生成することであって、前記第二の畳み込みニューラルネットワークモデルは、その後に自動運転車両（ＡＤＶ）により検知された目標を分類するのに用いられることと、
を含む、システム。
【請求項１８】
前記複数の第一の層のグループのうちの各グループについて、
前記複数の第一の層のグループにおける対応するグループの第一のバッチ正規化層と第一のスケール層に基づいて、第二のスケールベクトル及び第二のシフトベクトルを算出し、且つ、
前記第二のスケールベクトル、前記第二のシフトベクトル及び前記第一のコンボリューション層に基づいて、前記第二のコンボリューション層を生成すること、
を更に含む、請求項１７に記載のシステム。
【請求項１９】
前記第一の畳み込みニューラルネットワークモデルから複数の第二の層のグループを抽出することであって、前記複数の第二の層のグループのうちの各グループは第一のデコンボリューション層と第二のバッチ正規化層とを含むことと、
前記複数の第二の層のグループのうちの各グループについて、
前記第二のバッチ正規化層に基づいて、第三のスケールベクトルと第三のシフトベクトルを算出し、且つ、
前記第三のスケールベクトル、前記第三のシフトベクトル及び前記第一のデコンボリューション層に基づいて、前記複数の第二の層のグループにおける対応するグループを示す第二のデコンボリューション層を生成することであって、前記第二の畳み込みニューラルネットワークモデルは前記第二の層のグループに対応する第二のデコンボリューション層を含むことと、
を更に含む、請求項１７に記載のシステム。
【請求項２０】
前記複数の第二の層のグループのうちの各グループについて、
前記複数の第二の層のグループにおける対応するグループの第二のバッチ正規化層と第二のスケール層に基づいて、第四のスケールベクトルと第四のシフトベクトルを算出し、且つ、
前記第四のスケールベクトル、前記第四のシフトベクトル及び前記第一のデコンボリューション層に基づいて、前記第二のデコンボリューション層を生成することと、
を更に含む、請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は主に自動運転車両の操作に関する。具体的に、本発明の実施形態は、自動運転車両（ＡＤＶ）に用いられる畳み込みニューラルネットワークモデルのコンボリューション／デコンボリューション層とバッチ正規化（ｂａｔｃｈ−ｎｏｒｍ）層のオフライン組み合わせに関する。
【背景技術】
【０００２】
自動運転モードで運転される（例えば、セルフドライブ）車両は、乗員、特にドライバーを幾つかの運転に関する職責から解放することができる。自動運転モードで運転される際に、車両は車載センサで各位置まで案内されることにより、車両の一番少ないヒューマンコンピュータインタラクションの場合或いは如何なる乗客もいない場合における走行が可能である。操作において、道路の通過を案内するために、ＡＤＶは一般的にニューラルネットワークを利用して目標（例えば、信号機）に学習と分類を行う。
【０００３】
機器の学習において、ディープ畳み込みニューラルネットワーク（ＣＮＮ）に内層が多く存在され且つ層ごとに演算と記憶割当のブロックを提供するため、ＣＮＮ又はディープＣＮＮの訓練と推定は演算的及び記憶集中的である。アクティブ層（Ａｃｔｉｖａｔｉｏｎ  Ｌａｙｅｒ）を追加することは、推定及びテストの正確度を向上するためであるが、層が追加されることもディープＣＮＮに必要な演算と記憶割当を増加する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本願の一局面は、コンピュータ実施方法を提供する。前記方法は、第一の畳み込みニューラルネットワークモデル（ＣＮＮ）から複数の第一の層のグループを抽出することであって、前記複数の第一の層のグループのうちの各グループは第一のコンボリューション層と第一のバッチ正規化層とを含むことと、前記複数の第一の層のグループのうちの各グループについて、前記第一のバッチ正規化層に基づいて、第一のスケールベクトルと第一のシフトベクトルを算出し、且つ、前記第一のコンボリューション層、前記第一のスケールベクトル及び前記第一のシフトベクトルに基づいて、前記複数の第一の層のグループにおける対応するグループを示す第二のコンボリューション層を生成することと、前記複数の第一の層のグループに対応する第二のコンボリューション層に基づいて、第二の畳み込みニューラルネットワークモデルを生成することであって、前記第二の畳み込みニューラルネットワークモデルは、その後に自動運転車両（ＡＤＶ）により検知された目標を分類するのに用いられることと、を含む
【０００５】
本願の他の局面は非一時的機械可読媒体を提供する。前記非一時的機械可読媒体は、コマンドが記憶され、前記コマンドがプロセッサにより実行される場合に、前記プロセッサに操作を実行させる。前記操作は、第一の畳み込みニューラルネットワークモデル（ＣＮＮ）から複数の第一の層のグループを抽出することであって、前記複数の第一の層のグループのうちの各グループは第一のコンボリューション層と第一のバッチ正規化層とを含むことと、前記複数の第一の層のグループのうちの各グループについて、前記第一のバッチ正規化層に基づいて、第一のスケールベクトルと第一のシフトベクトルを算出し、且つ、前記第一のコンボリューション層、前記第一のスケールベクトル及び前記第一のシフトベクトルに基づいて、前記複数の第一の層のグループにおける対応するグループを示す第二のコンボリューション層を生成することと、前記複数の第一の層のグループに対応する第二のコンボリューション層に基づいて、第二の畳み込みニューラルネットワークモデルを生成することであって、前記第二の畳み込みニューラルネットワークモデルは、その後に自動運転車両（ＡＤＶ）により検知された目標を分類するのに用いられることと、を含む。
【０００６】
本願の他の局面は、プロセッサと、前記プロセッサに接続され、コマンドが記憶されるメモリと、を備え、前記コマンドが前記プロセッサにより実行される場合に、前記プロセッサに操作を実行させるデータ処理システムを提供する。前記操作は、第一の畳み込みニューラルネットワークモデル（ＣＮＮ）から複数の第一の層のグループを抽出することであって、前記複数の第一の層のグループのうちの各グループは第一のコンボリューション層と第一のバッチ正規化層とを含むことと、前記複数の第一の層のグループのうちの各グループについて、前記第一のバッチ正規化層に基づいて、第一のスケールベクトルと第一のシフトベクトルを算出し、且つ、前記第一のコンボリューション層、前記第一のスケールベクトル及び前記第一のシフトベクトルに基づいて、前記複数の第一の層のグループにおける対応するグループを示す第二のコンボリューション層を生成することと、前記複数の第一の層のグループに対応する第二のコンボリューション層に基づいて、第二の畳み込みニューラルネットワークモデルを生成することであって、前記第二の畳み込みニューラルネットワークモデルは、その後に自動運転車両（ＡＤＶ）により検知された目標を分類するのに用いられることと、を含む。
【０００７】
本発明の実施形態は、添付された各図に制限ではなく列挙的に示され、図面における類似の符号は類似の要素を示す。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態によるネットワークシステムを示すブロック図である。
【図２】本発明の一実施形態による自動運転車両の例示を示すブロック図である。
【図３】本発明の一実施形態による自動運転車両と共に使用される検知／企画システムの例示を示すブロック図である。
【図４】本発明の一実施形態による自動運転車両に用いられる初期ＣＮＮモデルにより生成された新たなＣＮＮモデルを示すブロック図である。
【図５】本発明の一実施形態による自動運転車両に用いられるニューラルネットワークモデル生成器の例示を示すブロック図である。
【図６Ａ】本発明の一実施形態による初期ディープニューラルネットワークモデルから層を抽出する例示を示すブロック図である。
【図６Ｂ】本発明の一実施形態による初期ディープニューラルネットワークモデルにより加速（ａｃｃｅｌｅｒａｔｅｄ）コンボリューション／デコンボリューション層が生成される例示を示すブロック図である。
【図７Ａ】本発明の一実施形態による初期ＣＮＮモデルで抽出された層により加速コンボリューション層が生成される例示を示すブロック図である。
【図７Ｂ】本発明の一実施形態による初期ＣＮＮモデルで抽出された層により加速デコンボリューション層が生成される例示を示すブロック図である。
【図８】本発明の一実施形態による検知された目標に対して探測及び分類を行う検知モジュールの例示を示すブロック図である。
【図９】本発明の一実施形態による初期ＣＮＮにより新たなＣＮＮが生成される方法を示すフローチャートである。
【図１０】一実施形態によるデータ処理システムを示すブロック図である。
【発明を実施するための最良の形態】
【０００９】
以下に論述される詳細を参照して本発明の各実施形態と局面を説明する。図面に前記各実施形態が示される。下記の記載及び図面は、本発明の説明であり、本発明に対する限定ではない。多くの特定の詳細を説明して本発明の各実施形態に対する全面的な理解を提供する。しかし、幾つかの場合に、周知的又は常用の詳細を説明せずに本発明に対する実施形態の簡単な論述を提供する。
【００１０】
本明細書に言及された「一実施形態」又は「実施形態」は、当該実施形態と組み合わせて説明される特定な特徴、構成又は特性が本発明の少なくとも一つの実施形態に含まれることが可能であることを意味する。「一実施形態において」という用語の本明細書の各箇所における出現は、全てが同一の実施形態を意味するわけではない。
【００１１】
幾つかの実施形態によれば、初期ＣＮＮの層のグループ（Ｇｒｏｕｐ  ｏｆ  Ｌａｙｅｒｓ）を単一の層として合併して初期ＣＮＮにより加速ＣＮＮ又は新たなＣＮＮを生成することにより、リアルタイム演算の効率を大幅に向上する。一実施形態において、システムは、第一の畳み込みニューラルネットワーク（ＣＮＮ）モデルから複数の第一の層のグループを抽出し、第一のグループ（第一の層のグループ）におけるグループは第一のコンボリューション層と第一のバッチ正規化層とを含む。第一のグループにおけるグループごとについて、システムは、第一のバッチ正規化層に基づいて、第一のスケール（Ｓｃａｌｅ）ベクトルと第一のシフトベクトルを算出し、且つ、第一のコンボリューション層、第一のスケールベクトル及び第一のシフトベクトルに基づいて、対応する第一のグループを示す第二のコンボリューション層を生成する。システムは、複数の第一のグループに対応する第二のコンボリューション層に基づいて、第二のＣＮＮモデルを生成する。その後、第二のＣＮＮモデルは、自動運転車両により検知された目標を分類するのに用いられる。他の一実施形態において、第一のグループにおけるグループごとについて、システムは、対応する第一のグループの第一のバッチ正規化層と第一のスケール層に基づいて、第二のスケールベクトルと第二のシフトベクトルを算出し、且つ、第二のスケールベクトル、第二のシフトベクトル及び第一のコンボリューション層に基づいて、第二のコンボリューション層を生成する。上記工程が繰り返して実行されることにより、デコンボリューション層を処理することができる。上記工程は、データ解析システムによりオフラインに実行可能である。そして、新たなＣＮＮモデルは、自動運転車両によりリアルタイムにロードされて目標を分類することができる。
【００１２】
図１は、本発明の一実施形態による自動運転車両のネットワーク構成を示すブロック図である。図１を参照し、ネットワーク構成１００は、ネットワーク１０２を介して一つ又は複数のサーバ１０３〜１０４と通信可能に接続できる自動運転車両１０１を具備する。一つの自動運転車両が示されたが、複数の自動運転車両がネットワーク１０２を介して互いに接続されてもよく、及び／又はサーバ１０３〜１０４に接続されてもよい。ネットワーク１０２は、任意のタイプのネットワーク、例えば、有線又は無線のローカルエリアネットワーク（ＬＡＮ）、インターネットのような広域ネットワーク（ＷＡＮ）、セルラーネットワーク、衛星ネットワーク或いはそれらの組み合わせであってもよい。サーバ１０３〜１０４は、任意のタイプのサーバ又はサーバグループ、例えば、ネットワーク又はクラウドサーバ、アプリサーバ、バックエンドサーバ或いはそれらの組み合わせであってもよい。サーバ１０３〜１０４は、データ解析サーバ、コンテンツサーバ、交通情報サーバ、地図及び興味点（ＭＰＯＩ）サーバ或いは位置サーバなどであってもよい。
【００１３】
自動運転車両とは、自動運転モードに設定可能な車両である。前記自動運転モードにおいて、車両はドライバーからの入力が無く、或いは非常に少ない場合に環境を案内して通過する。このような自動運転車両は、センサシステムを具備してもよく、当該センサシステムは、車両の走行環境に関する情報を検出するように構成される一つ又は複数のセンサを具備する。車両及びその関連するコントローラは、検出された情報を利用して前記環境を案内して通過する。自動運転車両１０１は、マニュアルモード、完全自動運転モード或いは部分自動運転モードにおいて走行可能である。
【００１４】
一実施形態において、自動運転車両１０１は、検知／企画システム１１０、車両制御システム１１１、無線通信システム１１２、ユーザインターフェースシステム１１３及びセンサシステム１１５を含むが、それらに限定されない。自動運転車両１０１は、通常の車両に含まれる幾つかの常用部品、例えばエンジン、車輪、ハンドル、変速機などを更に含んでもよい。前記部品は、車両制御システム１１１及び／又は検知／企画システム１１０により複数の通信信号及び／又は指令を使用して制御されてもよい。当該複数の通信信号及び／又は指令は、例えば加速信号又は指令、減速信号又は指令、ステアリング信号又は指令、ブレーキ信号又は指令などである。
【００１５】
部品１１０〜１１５は、インターコネクト、バス、ネットワーク或いはそれらの組み合わせを介して通信可能に互いに接続されてもよい。例えば、部品１１０〜１１５は、コントローラローカルエリアネットワーク（ＣＡＮ）バスを介して通信可能に互いに接続されてもよい。ＣＡＮバスは、マイクロコントローラと装置がホストコンピュータのない応用において互いに通信することを許すように設定される車両バス基準である。それは、最初に車両内におけるマルチプレックス電気配線のために設計される、メッセージによるプロトコルであるが、他の環境にも広く用いられる。
【００１６】
図２を参照し、一実施形態において、センサシステム１１５は、一つ又は複数のカメラ２１１、グローバルポジションシステム（ＧＰＳ）ユニット２１２、慣性測定ユニット（ＩＭＵ）２１３、レーダーユニット２１４及び光検出／測距（ＬＩＤＡＲ）ユニット２１５を含むが、それらに限定されない。ＧＰＳシステム２１２は送受信機を含むことができる。前記送受信機は、操作により自動運転車両の位置に関する情報を提供可能である。ＩＭＵユニット２１３は、慣性加速度に基づいて自動運転車両の位置及び方向変化を検知することができる。レーダーユニット２１４は、無線電気信号を利用して自動運転車両のローカル環境における目標を検知するシステムとして表すことができる。幾つかの実施形態において、目標の検知以外、レーダーユニット２１４は、付加的に目標の速度及び／又は進行方向も検知することができる。ＬＩＤＡＲユニット２１５は、レーザを使用して自動運転車両の位置する環境における目標を検知することができる。他のシステム部品以外に、ＬＩＤＡＲユニット２１５は、一つ又は複数のレーザ光源、レーザスキャナ及び一つ又は複数の検出器を更に含んでもよい。カメラ２１１は、自動運転車両の周囲環境の画像を取得する一つ又は複数の装置を含んでもよい。カメラ２１１は、静止物カメラ及び／又はビデオカメラであってもよい。カメラは機械的に移動できるものであってもよく、例えば、カメラを回転的及び／又は傾斜的なプラットフォームに装着することができる。
【００１７】
センサシステム１１５には、他のセンサ、例えばソナーセンサ、赤外線センサ、ステアリングセンサ、アクセルセンサ、ブレーキセンサ及びオーディオセンサ（例えば、マイクロフォン）が含まれてもよい。オーディオセンサは、自動運転車両の周囲環境から音声を取得するように構成されてもよい。ステアリングセンサは、ハンドル、車両の車輪又はそれらの組み合わせのステアリング角を検出するように構成されてもよい。アクセルセンサとブレーキセンサは、それぞれ車両のアクセル位置とブレーキ位置を検出する。ある場合に、アクセルセンサとブレーキセンサは、集積型のアクセル／ブレーキセンサとして集積されてもよい。
【００１８】
一実施形態において、車両制御システム１１１は、ステアリングユニット２０１、アクセルユニット２０２（加速ユニットとも呼ばれる）とブレーキユニット２０３を含むが、それらに限定されない。ステアリングユニット２０１は、車両の方向又は進行方向を調整するために用いられる。アクセルユニット２０２は、電動機又はエンジンの速度を制御して、更に車両の速度と加速度を制御するために用いられる。ブレーキユニット２０３は、摩擦を提供して車両の車輪又はタイヤを減速させることにより車両を減速させる。注意すべきなのは、図２に示された部品は、ハードウェア、ソフトウェア或いはそれらの組み合わせで実施することができる。
【００１９】
図１に戻り、無線通信システム１１２は、自動運転車両１０１と装置、センサ、他の車両などのような外部システムとの間の通信を可能とする。例えば、無線通信システム１１２は、一つ又は複数の装置と直接的に無線通信してもよく、或いは通信ネットワークを経由して無線通信し、例えばネットワーク１０２を経由してサーバ１０３〜１０４と通信してもよい。無線通信システム１１２は、如何なるセルラー通信ネットワーク又は無線ローカルエリアネットワーク（ＷＬＡＮ）、例えばＷｉＦｉ（登録商標）を使用して他の部品又はシステムと通信することができる。無線通信システム１１２は、例えば赤外線リンク、ブルートゥース（登録商標）などを使用して装置（例えば、乗客の携帯装置、車両１０１内の表示装置、スピーカ）と直接的に通信する。ユーザインターフェースシステム１１３は、車両１０１内で実施される周辺機器の部分であってもよく、例えばキーボード、タッチパネル表示装置、マイクロホン及びスピーカなどを含む。
【００２０】
自動運転車両１０１の機能のうちの一部又は全部は、特に自動運転モードで操作される場合に、検知／企画システム１１０により制御し又は管理されることができる。検知／企画システム１１０は、必要なハードウェア（例えば、プロセッサ、メモリ、記憶デバイス）とソフトウェア（例えば、操作システム、企画と路線設定プログラム）を含んでおり、センサシステム１１５、制御システム１１１、無線通信システム１１２及び／又はユーザインターフェースシステム１１３から情報を受信し、受信された情報を処理し、開始点から目標点までの路線又は経路を企画した後に、企画と制御情報に基づいて車両１０１を運転させるようにする。その代わりに、検知／企画システム１１０は、車両制御システム１１１と一体に集積されてもよい。
【００２１】
例えば、乗客であるユーザは、例えばユーザインターフェースを介して行程の開始位置と目標地を指定することができる。検知／企画システム１１０は行程に関連するデータを取得する。例えば、検知／企画システム１１０は、ＭＰＯＩサーバから位置と路線情報を取得することができる。前記ＭＰＯＩサーバは、サーバ１０３〜１０４の一部であってもよい。位置サーバは位置サービスを提供し、ＭＰＯＩサーバは地図サービスとある位置のＰＯＩを提供する。その代わりに、このような位置とＭＰＯＩ情報は、ローカルに検知／企画システム１１０の永続性記憶装置にキャッシュされてもよい。
【００２２】
自動運転車両１０１が路線に沿って移動している場合に、検知／企画システム１１０は、交通情報システム又はサーバ（ＴＩＳ）からリアルタイムの交通情報を取得することもできる。注意すべきなのは、サーバ１０３〜１０４は第三の者のものに操作されてもよい。その代わりに、サーバ１０３〜１０４の機能は検知／企画システム１１０と一体に集積されてもよい。検知／企画システム１１０は、リアルタイム交通情報、ＭＰＯＩ情報と位置情報、及びセンサシステム１１５により検出され又は検知されたリアルタイムのローカル環境データ（例えば、障害物、目標、付近の車両）に基づいて、最適な路線を企画し、且つ企画された路線に従って、例えば制御システム１１１を介して車両１０１を運転させることにより、所定の目標地まで安全的且つ効率的に到達可能である。
【００２３】
サーバ１０３は、複数種のクライアントに対して機器学習又は訓練サービスを実行するデータ解析システムであってもよい。一実施形態において、データ解析システム１０３は、データ採集器１２１、機器学習エンジン１２２、ニューラルネットワークモデル生成器１２３とニューラルネットワークモデル１２４を含む。データ採集器１２１は、通信を介してサーバ１０３に接続される複数種の車両（自動運転車両又は人により運転される通常の車両）から、複数種の訓練データを採集する。訓練データの例示として、画像認識機能に用いられる画像データであってもよい。訓練データは、種類にコンパイルされることが可能で、且つ正解ラベルに相関する。他の一実施形態において、データ採集器１２１は、ワールドワイドウェブを介してオンラインファイルから訓練データセットをダウンロードすることができる。
【００２４】
機器学習エンジン１２２は、データ採集器１２１により採集された訓練データに基づいて、目標探測及び目標分類の目的のために、ニューラルネットワークモデル１２４のセットを訓練することができる。例えば、機器学習エンジン１２２は、画像／正解ラベルペアのような訓練データを使用してディープニューラルネットワークモデル（ニューラルネットワークモデル１２４の一部として）を訓練することにより、車、歩行者又は停止信号のような目標を探測することができる。他の例示において、機器学習エンジン１２２は、訓練データを使用してディープ畳み込みニューラルネットワーク（ＣＮＮ）モデルのようなディープニューラルネットワークモデル（ニューラルネットワークモデル１２４の一部として）を訓練することにより、信号機を赤信号、黄信号又は青信号に分類することができる。注意すべきなのは、ニューラルネットワークモデル１２４は、フィードフォワードニューラルネットワークモデル又は畳み込みニューラルネットワークモデルに限定されず、放射基底関数ネットワークモデル、再帰型ニューラルネットワークモデル、Ｋｏｈｏｎｅｎ自己組織化ネットワークモデルなどを含むことができる。ニューラルネットワークモデル１２４は、例えばＬｅＮｅｔ（登録商標）、ＡｌｅｘＮｅｔ（登録商標）、ＺＦＮｅｔ（登録商標）、ＧｏｏｇＬｅＮｅｔ（登録商標）、ＶＧＧＮｅｔ（登録商標）などの複数種のディープＣＮＮモデルを含むことができる。
【００２５】
「ディープ」ニューラルネットワークとは、多重内層を有するニューラルネットワークを意味する。ニューロンの「アクティブ機能」は、所定の入力又は入力セットのニューロンの出力を限定する。「加速」とは、ニューラルネットワークの層演算及び／又は記憶性能、或いはニューラルネットワークの演算及び／又は記憶性能についての加速を指す。「オンライン」アクティブとは、ＡＤＶがリアルタイムに実行して目標を探測し、又は目標を分類するアクティブである。「オフライン」アクティブとは、サーバ又はＡＤＶが目標の探測又は目標の分類を準備して実行されるアクティブである。
【００２６】
人工ニューラルネットワーク（ＡＮＮ）は、大量のニューラルユニット又はニューロンに基づく演算方法である。当該演算方法は、大体的に軸索により接続される大量のニューロンを有する生物学的な脳を模倣する。各ニューロンは、複数の他のニューロンと接続し、学習又は訓練に従って、軸索又は接続は、接続されるニューロンのアクティブ状態に対する作用について強化又は抑制することができる。単独のニューロンごとに、その全部の入力値を合併する機能を具備することができる。各接続及びユニットの自身には、信号が必ず他のニューロンまで伝達する前に制限を超えるように、閾値関数又は極限関数が存在することができる。これらのシステムは、明示的なプログラミングではなく、自主学習及び訓練を行うものである。
【００２７】
畳み込みニューラルネットワーク（ＣＮＮ）は、フィードフォワード人工ニューラルネットワーク（ＡＮＮ）の一種である。当該フィードフォワード人工ニューラルネットワークにおいて、そのニューロンの間の接続パターンが動物視覚皮質の組織から示唆を受けた。各皮質ニューロンは、受容野と呼ばれる空間における、制限のある領域において刺激に応答する。異なるニューロンの受容野が部分的に重なることにより、これらの受容野に視野を覆わせる。各ニューロンの受容野における刺激に対する応答は、畳み込み演算により数学的に近似することができる。ディープＣＮＮは、多重内層を有するＣＮＮである。ニューラルネットワークの「内層」とは、ニューラルネットワークの入力層と出力層との間の層を指す。
【００２８】
前記層のパラメータの変化に従って訓練の間に各層の入力の分布が変化するため、ＣＮＮの訓練が複雑である。ＣＮＮの「訓練」には、入力を繰り返して（ｉｔｅｒａｔｉｖｅｌｙ）ＣＮＮの入力層に与えること、及び所望の出力とＣＮＮの出力層の実際の出力とを比較して誤差項を演算することが含まれる。これらの誤差項は、次の出力値が「正確」値に近くなるように、ＣＮＮの隠れ層の重みとシフトを調節するのに用いられる。各層の入力の分布は、訓練の速度を下げ（即ち、収束のために、より低い訓練の速度が必要である）、細かいパラメータの初期化が必要である（即ち、内層のアクティブの初期重みとシフトを収束に対して特定の範囲に設定する）。「収束（Ｃｏｎｖｅｒｇｅｎｃｅ）」とは、誤差項が最小値になる時点を指す。ミニバッチ（ｍｉｎｉ−ｂａｔｃｈｅｓ）の形式でＣＮＮを訓練することにより、よりよい性能を実現する。
【００２９】
明示的に全ニューラルネットワークのアクティブを実行して入力アクティブ層のそれぞれにユニットガウス分布を表せることにより、バッチ正規化（バッチ正規化又はＢＮ）技術をニューラルネットワークのミニバッチの訓練に適用することができる。当該技術を適用することは、一般的に、全接続層又はコンボリューション／デコンボリューション層の後且つ非線形操作の前に、全接続層又はコンボリューション／デコンボリューション層に隣接してバッチ正規化層及び／又はスケール層を挿入することを意味する。「バッチ正規化」層とは、バッチ正規化の変換が加えられる層を指す。「スケール」層とは、乗法因子及び／又はシフト因子を入力層に加えることを指す。例えばｙ＝Ａｘ＋Ｂである。ここで、ｙは出力層、Ａは乗法因子、Ｂはシフト、ｘは入力層である。バッチ正規化技術は、ニューラルネットワークにより高い学習速度及びより粗末なパラメータ初期化を負担できるように、全ネットワークのアクティブを実行することにより、ユニットガウス分布を表してニューラルネットワークモデルを調整し又は正規化する。確率イベントを推定する際に、バッチ正規化されたニューラルネットワークは、訓練により得られた同一のバッチ正規化層及び／又はスケール層を適用する。
【００３０】
より複雑な推定タスクは、多くの内層に対する処理が必要である可能性がある。付加的な内層を有するディープニューラルネットワークモデルは、訓練時間を増加させ、収束速度を減少させる。バッチ正規化層とスケール層は、アクティベーションのそれぞれに導入されることにより、訓練時間を減少させ、収束速率を増加させることができる。ところが、付加的なバッチ正規化層とスケール層は推定性能の降下を引き起こす。例えば、ＡＤＶが「オンライン」でイベントを推定する際に、既に訓練されたニューラルネットワークモデルにも、同一のバッチ正規化層及び／又はスケール層が適用される。バッチ正規化されたＣＮＮのようなバッチ正規化されたニューラルネットワークモデルの演算及び記憶の要求を減少するために、初期ＣＮＮモデルにより加速ＣＮＮモデルを生成することができる。一実施形態において、例えば、ニューラルネットワークモデル生成器１２３は、加速層に基づいて加速ニューラルネットワークモデルを生成することができる。ここで、加速層は、更にコンボリューション層、バッチ正規化層及び／又はスケール層のグループに基づいて生成される。その後、サーバ１０３は、加速ニューラルネットワークモデルを利用して直接的に、或いは自動的にネットワーク１０２により自動運転車両１０１を更新することができる。
【００３１】
図３は、本発明の一実施形態による自動運転車両と共に使用される検知／企画システムの例示を示すブロック図である。システム３００は、図１の自動運転車両１０１の一部として実施されてもよく、検知／企画システム１１０、制御システム１１１とセンサシステム１１５を含むが、それらに限定されない。図３を参照し、検知／企画システム１１０には、位置決めモジュール３０１、検知モジュール３０２、策定モジュール３０３、企画モジュール３０４及び制御モジュール３０５が含まれるが、それらに限定されない。
【００３２】
モジュール３０１〜３０５のうち一部又は全部は、ソフトウェア、ハードウェア或いはそれらの組み合わせで実施されてもよい。例えば、これらのモジュールは、永続性記憶装置３５２にインストールされ、メモリ３５１にロードされ、且つ一つ又は複数のプロセッサ（図示しない）により実行されてもよい。注意すべきなのは、これらのモジュールのうち一部又は全部は、通信可能に図２の車両制御システム１１１の一部又は全部のモジュールに接続され、或いはそれらと一体に集積されてもよい。モジュール３０１〜３０５のうち一部は、共に集積モジュールとして集積可能である。
【００３３】
位置決めモジュール３０１は、自動運転車両３００の現在位置を（例えば、ＧＰＳユニット２１２を利用して）確定し、且つユーザの行程又は路線に関連する如何なるデータを管理する。位置決めモジュール３０１（地図／路線モジュールとも呼ばれる）は、ユーザの行程又は路線に関連する如何なるデータを管理する。ユーザは、例えばユーザインターフェースを経由して登録し行程の開始位置と目的地を指定することができる。位置決めモジュール３０１は、自動運転車両３００における地図／路線情報３１１のような他の部品と通信して行程に関するデータを取得する。例えば、位置決めモジュール３０１は、位置サーバと地図／ＰＯＩ（ＭＰＯＩ）サーバから位置と路線情報を取得することができる。位置サーバは位置サービスを提供し、ＭＰＯＩサーバは地図サービスとある位置のＰＯＩを提供することにより、地図／路線情報３１１の一部としてキャッシュされることができる。自動運転車両３００が路線に沿って移動する際に、位置決めモジュール３０１は交通情報システム又はサーバからリアルタイムの交通情報を取得することもできる。
【００３４】
センサシステム１１５により提供されたセンサデータと、位置決めモジュール３０１により取得された位置決め情報に基づいて、検知モジュール３０２は、周囲環境への検知を確定する。検知情報は、通常のドライバーがドライバーにより運転されている車両の周囲において検知するものを示すことができる。検知は、例えば目標の形を採用する車線構成（例えば、直線車線又はカーブ車線）、信号機信号、他の車両の相対位置、歩行者、建物、横断歩道又は他の交通関連標識（例えば、停止標識、譲り標識）などを含むことができる。
【００３５】
検知モジュール３０２は、一つ又は複数のカメラにより採集された画像を処理し解析して自動運転車両の環境における目標及び／又は特徴を識別するように、コンピュータビジョンシステム又はコンピュータビジョンシステムの機能を含むことができる。前記目標は、交通信号、道路の境界、他の車両、歩行者及び／又は障害物などを含むことができる。コンピュータビジョンシステムは、目標識別アルゴリズム、ビデオトラッキング及び他のコンピュータビジョン技術を使用することができる。幾つかの実施形態において、コンピュータビジョンシステムは、環境地図を描画し、目標を追跡し、及び目標の速度などを推定することができる。検知モジュール３０２は、レーダー及び／又はＬＩＤＡＲのような他のセンサにより提供される他のセンサデータに基づいて目標を検出することもできる。
【００３６】
一実施形態において、検知モジュール３０２には、探測モジュール３０２Ａと分類モジュール３０２Ｂが含まれる。一実施形態において、探測モジュール３０２Ａは、センサシステム１１５の一つ又は複数のセンサにより採集されたリアルタイム画像データのようなセンサデータにより目標を探測することができる。探測モジュール３０２Ａは、訓練されたディープニューラルネットワークモデル（ニューラルネットワークモデル３１２の一部として）を使用して目標を探測することができる。他の一実施形態において、訓練されたディープニューラルネットワークモデルは、データ解析システム１０３のようなデータ解析システムによりオフラインに作成された加速ニューラルネットワークモデルであってもよい。他の一実施形態において、探測モジュール３０２Ａは、地図／路線情報３１１を介して目標をＡＤＶにより検知された所望の位置及び／又は角度に粗末に位置決めることにより、目標を探測することができる。例えば、地図／路線情報３１１の所定の地図情報により、ＡＤＶが信号機の有する交差点に近づく時に、信号機がＡＤＶの前に出現することを予測することができる。
【００３７】
一実施形態において、分類モジュール３０２Ｂは、探測モジュール３０２Ａにより探測された目標を分類することができる。ルックアップテーブル３１３から、分類モジュール３０２Ｂは、探測された目標に関するニューラルネットワークモデル（ニューラルネットワークモデル３１２の一部として）をルックアップする。分類モジュール３０２Ｂは、探測目標に基づいて分類の可能性を推定する。例えば、信号機のような探測目標は、分類モジュール３０２Ｂにより分類可能である。分類モジュール３０２Ｂは、目標を分類して確率イベント、例えば信号機が赤信号、黄信号又は青信号である確率を出力する。
【００３８】
目標ごとに対して、策定モジュール３０３は目標をどのように処置するかについての決定を下す。例えば、特定の目標（例えば、交差の路線における他の車両）だけでなく、目標を描画するメタデータ（例えば、速度、方向、ステアリング角）について、策定モジュール３０３は前記目標とどのように出会うか（例えば、追い越し、譲り、停止、追い抜き）を決定する。策定モジュール３０３は、交通ルール又は運転ルール３１２のルールセットに基づいてこのような決定を下すことができる。前記ルールセット永続性記憶装置３５２に記憶されてもよい。
【００３９】
企画モジュール３０４は、検知された目標のそれぞれに対する決定に基づいて、自動運転車両に対して経路又は路線及び運転パラメータ（例えば、距離、速度及び／又はステアリング角）を企画する。言い換えれば、所定の目標について、策定モジュール３０３は当該目標に対してなにをするかを決定し、企画モジュール３０４はどのようにするかを確定する。例えば、所定の目標について、策定モジュール３０３は前記目標を追い越すことを決定することができ、企画モジュール３０４は前記目標の左側か右側に追い越すことを確定することができる。企画と制御データは、企画モジュール３０４により生成され、車両３００が次の移動サイクル（例えば、次の路線／経路区間）においてどのように移動するかを描画する情報を含む。例えば、企画と制御データは、車両３００が３０マイル／時間（ｍｐｈ）の速度で１０メートルほど移動し、その後に２５ｍｐｈの速度で右側の車線に変更するように指示することができる。
【００４０】
企画と制御データに基づいて、制御モジュール３０５は、企画と制御データにより限定された路線又は経路に応じて、適当な指令又は信号を車両制御システム１１１に送信することにより自動運転車両を制御し運転させる。前記企画と制御データは、経路又は路線に沿って、異なるタイミングで適当な車両設置又は運転パラメータ（例えば、アクセル、ブレーキとステアリング指令）を使用して、車両を路線又は経路の第一の点から第二の点まで運転させるように十分な情報を有する。
【００４１】
注意すべきなのは、策定モジュール３０３と企画モジュール３０４は、集積モジュールとして集積することができる。策定モジュール３０３／企画モジュール３０４は、自動運転車両の運転経路を確定するように、ナビゲーションシステム又はナビゲーションシステムの機能を具備することができる。例えば、ナビゲーションシステムは、自動運転車両が下記の経路に沿って移動することを実現する一連の速度と進行方向を確定することができる。前記経路は、自動運転車両を最終の目的地まで走行させる車線による経路に沿って進行させると共に、検知された障害物を基本的に回避させる。目的地は、ユーザインターフェースシステム１１３を経由して行われたユーザ入力に基づいて設定されてもよい。ナビゲーションシステムは、自動運転車両が運転されている間に、動的に運転経路を更新することができる。ナビゲーションシステムは、自動運転車両のための運転経路を確定するように、ＧＰＳシステムと一つ又は複数の地図からのデータを合併することができる。
【００４２】
策定モジュール３０３／企画モジュール３０４は、識別、推定及び回避、或いは他の手段で自動運転車両の環境における潜在的な障害物を越えるように、衝突回避システム又は衝突回避システムの機能を更に具備することができる。例えば、衝突回避システムは、操作制御システム１１１のうち一つ又は複数のサブシステムがステアリング操作、回転操作、ブレーキ操作などを採用する手段で、自動運転車両のナビゲーションにおける変化を実現することができる。衝突回避システムは、周囲の交通モード、道路状况などに基づいて、実現可能な障害物回避操作を自動的に確定することができる。衝突回避システムは、自動運転車両が方向変更して進入しようとする隣接領域における車両、建築障害物などが他のセンサシステムにより検出された時にステアリング操作を行わないように構成することができる。衝突回避システムは、使用可能で且つ自動運転車両の乗員の安全性を最大化する操作を自動的に選択することができる。衝突回避システムは、自動運転車両の車室に最小値の加速度が発生すると予測される回避操作を選択することができる。
【００４３】
永続性記憶装置３５２には、地図と路線情報３１１、ニューラルネットワークモデル３１２とルックアップテーブル３１３が含まれてもよい。地図と路線情報は、目的地まで到達するように一連のナビゲーション操作を確定するのに用いられる。ナビゲーション操作は、図中に路線の重みと属性（例えば速度、交通状况、信号、道路タイプ等）が示される弧を有するように示されてもよい。ニューラルネットワークモデル３１２には、ディープニューラルネットワークモデルの複数種のタイプと変形を含んで具体的な訓練機能を実行することができる。ルックアップテーブル３１３は、目標を特定のニューラルネットワークモデル（ニューラルネットワークモデル３１２の一部として）に関連付けることができる。一実施形態において、ニューラルネットワークモデル３１２は、必要に応じて無線ネットワークを経由してサーバ（例えばサーバ１０３又は１０４）からダウンロードされてもよい。
【００４４】
図４は、本発明の一実施形態による自動運転車両に用いられる初期ＣＮＮモデル４０２により生成された新たな（又は加速）ＣＮＮモデル４２２を示すブロック図である。初期ＣＮＮモデル４０２は、サーバ１０３の機器学習エンジン１２２のような機器学習エンジンにより訓練されたバッチ正規化ニューラルネットワークであってもよい。初期ＣＮＮモデル４０２は複数の内層のグループを含んでもよい。図４は、グループ４１０とグループ４２０を有する初期ＣＮＮモデル４０２を示した。グループ４１０は、コンボリューション／デコンボリューション層４０４、バッチ正規化層４０６とスケール層４０８を具備する。グループ４２０は、コンボリューション／デコンボリューション層４１４、バッチ正規化層４１６とスケール層４１８を具備する。他の一実施形態において、グループ４１０は、コンボリューション／デコンボリューション層４０４とバッチ正規化層４０６のみを具備してもよい。一実施形態において、新たな（加速）ＣＮＮモデル４２２は、加速コンボリューション／デコンボリューション層４２４〜４２８のような加速コンボリューション／デコンボリューション層を多く具備してもよい。注意すべきなのは、ＣＮＮモデル４０２は、畳み込みニューラルネットワークモデルに限定されず、複数種のニューラルネットワークモデル、例えば再帰型ニューラルネットワークモデルであってもよい。
【００４５】
幾つかの実施形態によれば、サーバ／データ解析システムは、一つ又は複数のバッチ正規化層を有する初期ＣＮＮモデル４０２によりオフラインに新たなＣＮＮモデル４２２のような加速ディープＣＮＮが生成されてもよい。例えば、システムは、初期ＣＮＮモデル４０２から複数の第一の層のグループ、例えばグループ４１０（当該グループにコンボリューション層が含まれる場合）を抽出する。複数の第一のグループ（第一の層のグループ）のうちの各グループは、第一のコンボリューション層と第一のバッチ正規化層を具備する。例えば、グループ４１０は、コンボリューション層４０４とバッチ正規化層４０６を具備する。第一のグループのうちの各グループに対し、システムは第一のバッチ正規化層に基づいて第一のスケールベクトルと第一のシフトベクトルを算出し、第一の加速コンボリューション層を生成する。例えば、グループ４１０に対し、システムはバッチ正規化層４０６に基づいて第一のスケールベクトルと第一のシフトベクトルを算出し、加速コンボリューション層４２４を生成する。システムは、加速コンボリューション層４２４（加速コンボリューション層４２４がグループ４１０に対応する）に基づいて新たなＣＮＮモデル４２２を生成して、新たなＣＮＮモデル４２２をその後に自動運転車両により検知された目標を分類するために用いるようにする。一実施形態において、第一のグループのうちの各グループに対し、システムは対応する第一のグループの第一のバッチ正規化層と第一のスケール層に基づいて第二のスケールベクトルと第二のシフトベクトルを算出し、第二のスケールベクトル、第二のシフトベクトルと第一のコンボリューション層に基づいて第二のコンボリューション層を生成する。例えば、グループ４１０に対し、システムはバッチ正規化層４０６とスケール層４０８に基づいて第二のスケールベクトルと第二のシフトベクトルを算出する。そして、システムは、コンボリューション層４０４、第二のスケールベクトルと第二のシフトベクトルに基づいて加速コンボリューション層４２４を生成する。
【００４６】
一実施形態において、システムは第一のＣＮＮモデルから複数の第二の層のグループを抽出する。第二のグループ（第二の層のグループ）のうちの各グループは、第一のデコンボリューション層と第二のバッチ正規化層を具備する。例えば、システムは、初期ＣＮＮモデル４０２から複数の第二の層のグループ、例えばグループ４２０（当該グループにデコンボリューション層が含まれる場合）を抽出する。第二のグループのうちの各グループは、第一のデコンボリューション層と第二のバッチ正規化層を具備する。例えば、グループ４２０は、デコンボリューション層４１４とバッチ正規化層４１６を具備する。第二のグループのうちの各グループに対し、システムは第二のバッチ正規化層に基づいて第三のスケールベクトルと第三のシフトベクトルを算出し、算出されたベクトルと第一のデコンボリューション層に基づいて第二のデコンボリューション層を生成することにより、第二のＣＮＮモデルに第二のグループに対応する第二のデコンボリューション層が含まれることになる。例えば、グループ４２０に対し、システムはバッチ正規化層４１６に基づいて第三のスケールベクトルと第三のシフトベクトルを算出し、加速デコンボリューション層４２８を生成する。システムは、加速デコンボリューション層４２８（加速デコンボリューション層４２８がグループ４２０に対応する）に基づいて新たなＣＮＮモデル４２２を生成する。他の一実施形態において、第二のグループのうちの各グループに対し、システムは対応する第二のグループの第二のスケール層に基づいて第四のスケールベクトルと第四のシフトベクトルを算出し、算出されたベクトルと第一のデコンボリューション層に基づいて第二のデコンボリューション層を生成する。例えば、グループ４２０（グループ４２０はデコンボリューション層を有する）に対し、システムはバッチ正規化層４１６とスケール層４１８に基づいて第四のスケールベクトルと第四のシフトベクトルを算出する。そして、システムは、デコンボリューション層４１４、第四のスケールベクトルと第四のシフトベクトルに基づいて加速デコンボリューション層４２８を生成する。
【００４７】
一実施形態において、訓練データを利用して第一のＣＮＮモデルを訓練した後に、第一のＣＮＮモデルから第一の層のグループを抽出する。一実施形態において、第一のコンボリューション層と第一のバッチ正規化層は連続的な層である。その後、加速ニューラルネットワークモデル１２４がＡＤＶにロードされることにより、リアルタイムに目標の分類に使用可能である。一実施形態において、分類待ちの目標は、緑色、黄色と赤色の信号機を有する画像である。他の一実施形態において、第一の確率イベントは分類待ちの目標が青信号、黄信号又は赤信号になる確率イベントである。
【００４８】
一実施形態において、第一のコンボリューション層は多次元の入力を有する。他の一実施形態において、多次元の入力のうちの各次元について、第一のバッチ正規化層をスケール的に算出する。他の一実施形態において、多次元の入力のうちの各次元の平均値及び標準偏差に基づいて、第一のスケールベクトルと第一のシフトベクトルを算出する。他の一実施形態において、多次元の入力のうちの各次元について平均値と標準偏差を独立的に算出する。
【００４９】
図５は、本発明の一実施形態による自動運転車両のニューラルネットワークモデル生成器（例えば、ニューラルネットワークモデル生成器１２３）を示した例示である。例えば、ニューラルネットワークモデル生成器１２３は、抽出モジュール１２３Ａ、ベクトル演算モジュール１２３Ｂ、層生成モジュール１２３Ｃとニューラルネットワーク生成モジュール１２３Ｄを含むことができる。バッチ正規化層及び／又はスケール層を合併し、或いは初期ディープニューラルネットワークの内層又は中間アクティブ層まで増加することにより、バッチ正規化変換をディープニューラルネットワークモデルに適用して訓練の柔軟性を向上させる際に、訓練された推定タスクを実行するディープニューラルネットワークは、ニューラルネットワークモデルの多くのバッチ正規化層及び／又はスケール層を保留する。例えば、サーバ１０３のニューラルネットワークモデル生成器１２３によりアクティブ層とバッチ正規化層とを合併して、訓練されるバッチ正規化のディープニューラルネットワークを加速することができる。
【００５０】
図５を参照し、訓練されたＣＮＮモデルのアクティブ層の重みとシフトは、抽出モジュール１２３Ａにより抽出されることができる。訓練されたＣＮＮモデルは図４の初期ＣＮＮモデル５０２であってもよい。例えば、抽出モジュール１２３Ａは、以下の形でコンボリューション／デコンボリューション層の重みとシフトを抽出することができる。
【数１】
2018173946.tif 000003
なお、ｙ１は出力、ｘ１はコンボリューション／デコンボリューション層への入力、α１は層の重み、β１は層のシフトである。他の例示において、抽出モジュール１２３Ａは、以下の形でバッチ正規化層に関する平均値と標準偏差値とを抽出することができる。
【数２】
2018173946.tif 000004
なお、ｙ１はバッチ正規化層の入力又はコンボリューション／デコンボリューション層の出力、ｍｅａｎ（ｙ１）はｙ１の平均値、ｓｔｄ（ｙ１）はｙ１の標準偏差、ｙ２はバッチ正規化層の出力である。注意すべきなのは、訓練されたディープニューラルネットワークについて、平均値及び標準偏差は既知の値である（例えば、それらはｙ１の値に依存しない）。
【００５１】
他の例示において、抽出モジュール１２３Ａは、以下の形でスケール層のスケール／シフト因子を抽出することができる。
【数３】
2018173946.tif 000005
なお、ｙ２はスケール層の入力又はバッチ正規化層の出力、ｙ３はスケール層の出力、α２はスケール層のスケール因子、β２はスケール層のシフト因子である。以上の例示において、抽出されたパラメータは、訓練されたディープＣＮＮモデルの任意の単一のアクティブに対応することができる。
【００５２】
図６Ａは、一実施形態による初期ディープニューラルネットワークモデルから層を抽出する例示を示したブロック図である。初期ディープニューラルネットワークモデル６１０のような訓練された初期ディープニューラルネットワークモデルは、コンボリューション／デコンボリューション−バッチ正規化−スケール層抽出器６１２に入力される（図５の抽出モジュール１２３Ａにより実行可能である）。コンボリューション／デコンボリューション−バッチ正規化−スケール層抽出器６１２は、グループ６１４を抽出する。グループ６１４は、初期ディープニューラルネットワークモデル６１０のコンボリューション／デコンボリューション層、バッチ正規化層及びスケール層の多くのグループを具備することができる。
【００５３】
図６Ｂは、一実施形態による初期ディープニューラルネットワークモデルにより加速コンボリューション／デコンボリューション層を生成する例示を示したブロック図である。訓練されたディープニューラルネットワークモデルである初期ＣＮＮモデル４０２は、グループ４１０〜グループ４２０を含む。二つのグループだけ示されたが、より多くのグループが初期モデルに含まれてもよい。グループ４１０ごとにコンボリューション又はデコンボリューション層、バッチ正規化層とスケール層が含まれる。当該例示において、グループ４１０はコンボリューション又はデコンボリューション層４０４、バッチ正規化層４０６とスケール層４０８を含む。同様に、グループ４２０のような他のグループは、同様の層を含んでもよい。バッチ正規化層６０１のスケールベクトル及び／又はシフトベクトルは、バッチ正規化層４０６から算出される。スケール層６０２のスケールベクトル及び／又はシフトベクトルは、スケール層４０８から算出される。バッチ正規化層６０１のスケールベクトル及び／又はシフトベクトルと、スケール層６０２のスケールベクトル及び／又はシフトベクトルとは、合併されたバッチ正規化／スケール層６０３のスケールベクトル及び／又はシフトベクトルとして合併される。加速コンボリューション／デコンボリューション層４２４は、合併されたバッチ正規化／スケール層６０３のスケールベクトル及び／又はシフトベクトルとコンボリューション／デコンボリューション層４０４とにより生成される。他の一実施形態において、加速コンボリューション／デコンボリューション層４２４は、バッチ正規化層６０１のスケールベクトル及び／又はシフトベクトルとコンボリューション／デコンボリューション層４０４とにより生成可能である。
【００５４】
図５に戻って参照し、一実施形態において、層のグループのバッチ正規化層とスケール層が線形変換であるため、ベクトル演算モジュール１２３Ｂはこれら層の対応するベクトルを演算することができる。ベクトル演算モジュール１２３Ｂは、バッチ正規化層又はバッチ正規化層とスケール層の全てのスケールベクトルと全てのシフトベクトルを演算することができる。例えば、バッチ正規化層を示すスケールベクトル（ｓｃａｌｅ  ｖｅｃｔｏｒ）とシフトベクトル（ｓｈｉｆｔ  ｖｅｃｔｏｒ）は以下の形である。
【数４】
2018173946.tif 000006
なお、ｍｅａｎ（ｙ１）はｙ１の出力の平均値、ｓｔｄ（ｙ１）はｙ１の標準偏差である。バッチ正規化層とスケール層を示すスケールベクトルとシフトベクトルは以下の形である。
【数５】
2018173946.tif 000007
なお、ｍｅａｎ（ｙ１）はｙ１の出力の平均値、ｓｔｄ（ｙ１）はｙ１の標準偏差、α２はスケール層のスケール因子、β２はスケール層のシフト因子である。層生成モジュール１２３Ｃは、コンボリューション／デコンボリューション層と層のグループに対応するスケールベクトル及びシフトベクトルとを合併して、層のグループに対応する加速層を生成することができる。
【００５５】
図７Ａは、本発明の一実施形態による初期ＣＮＮモデルの抽出層により加速コンボリューション層を生成する例示を示したブロック図である。初期コンボリューション層７１０、スケールベクトル７１２とシフトベクトル７１４が加速コンボリューション層生成器７１６（図５の層生成モジュール１２３Ｃのようなモジュールにより実行可能である）にフィードバックされて、加速コンボリューション層７１８を生成する。
【００５６】
図７Ｂは、本発明の一実施形態による初期ＣＮＮモデルの抽出層により加速デコンボリューション層を生成する例示を示したブロック図である。初期デコンボリューション層７２０、スケールベクトル７２２とシフトベクトル７２４が加速デコンボリューション層生成器７２６（図５の層生成モジュール１２３Ｃのようなモジュールにより実行可能である）にフィードバックされて、加速デコンボリューション層７２８を生成する。
【００５７】
図７Ａ〜７Ｂを参照し、例えば、加速コンボリューション／デコンボリューション層生成器７１６は、以下の形で示された単一の加速層の重みとシフトを生成することができる。
【数６】
2018173946.tif 000008
なお、ｘは加速層の入力、ｙは加速層の出力、α０は加速層の重み、β０は加速層のシフトである。加速層は、初期ＣＮＮモデルの層のグループ（例えば、初期コンボリューション／デコンボリューション層、バッチ正規化層とスケール層）を示すことができる。
【００５８】
一実施形態において、加速コンボリューション層７１８（或いは加速デコンボリューション層７２８）は、以下の式になるように、コンボリューション層７１０（或いはデコンボリューション層７２０）と対応するバッチ正規化層を示すスケールベクトル７１２（或いはスケールベクトル７２２）とが合併して得られた。
【数７】
2018173946.tif 000009
なお、α０は加速コンボリューション層７１８（或いは加速デコンボリューション層７２８）の重み、β０は加速コンボリューション層７１８（或いは加速デコンボリューション層７２８）のシフト、ｙ１は出力、α１はコンボリューション層７１０（或いはデコンボリューション層７２０）の重み、β１はコンボリューション層７１０（或いはデコンボリューション層７２０）のシフト、ｍｅａｎ（ｙ１）はｙ１の出力の平均値、ｓｔｄ（ｙ１）はｙ１の標準偏差である。注意すべきなのは、ＣＮＮモデルが一旦訓練されると、ｍｅａｎ（ｙ１）とｓｔｄ（ｙ１）が一定の定数になり且つｙ１に依存しない。他の一実施形態において、多重加速層は、訓練されたＣＮＮモデルのコンボリューション／デコンボリューション層のグループとバッチ正規化層のグループとにより生成されることができる。他の一実施形態において、加速ＣＮＮモデルは、加速ＣＮＮモデルがその後に自動運転車両により検知された目標を分類するのに用いられるように、生成された加速層に基づいて生成される。
【００５９】
一実施形態において、加速コンボリューション層７１８（或いは加速デコンボリューション層７２８）は、以下の形でコンボリューション層７１０（或いはデコンボリューション層７２０）、スケールベクトル７１２（或いはスケールベクトル７２２）とシフトベクトル７１４（或いはシフトベクトル７２４）により合併される。
【数８】
2018173946.tif 000010
なお、α０は加速コンボリューション層７１８（或いは加速デコンボリューション層７２８）の重み、β０は加速コンボリューション層７１８（或いは加速デコンボリューション層７２８）のシフト、ｙ１は出力、α１はコンボリューション層７１０（或いはデコンボリューション層７２０）の重み、β１はコンボリューション層７１０（或いはデコンボリューション層７２０）のシフト、ｍｅａｎ（ｙ１）はｙ１の出力の平均値、ｓｔｄ（ｙ１）はｙ１の標準偏差、α２はスケール層のスケール因子、β２はスケール層のシフト因子である。
【００６０】
注意すべきなのは、ＣＮＮモデルが一旦訓練されると、ｍｅａｎ（ｙ１）とｓｔｄ（ｙ１）が一定の定数になり且つｙ１に依存しない。他の一実施形態において、図５の加速コンボリューション／デコンボリューション層５２４〜５２８のような多重加速層は、訓練されたＣＮＮモデルのコンボリューション／デコンボリューション層、バッチ正規化層及びスケール層のグループにより生成されてもよい。他の一実施形態において、図５の新たなＣＮＮモデル５２２のような加速ＣＮＮモデルは、加速ＣＮＮモデルがその後に自動運転車両により検知された目標を分類するのに用いられるように、対応する加速層に基づいて図３のニューラルネットワーク生成モジュール１２３Ｄにより生成されてもよい。
【００６１】
注意すべきなのは、ＣＮＮモデルにおける層の入力と出力は、多次元の入力と出力である。更に注意すべきなのは、前記処理は、データ解析システム１０３のようなデータ解析システムによりオフラインに実行されることにより、初期ＣＮＮモデルの層の各グループを単一の層に変換し、新たなＣＮＮモデルを生成することができる。新たなＣＮＮモデルは、その後にＡＤＶ上にロードされ、リアルタイムにＡＤＶのセンサにより採集される目標を分類するために用いられる。各タイプの目標は、具体的なＣＮＮモデルにより分類されてもよい。
【００６２】
図８は、本発明の一実施形態による検知モジュール８００を例示するブロック図である。検知モジュール８００は図３の検知モジュール３０２であってもよい。検知モジュール８００は、探測器８０４と分類器８０６を含んでもよい。探測器８０４と分類器８０６は、通信可能に訓練されたニューラルネットワークモデル８１０に接続される。訓練されたニューラルネットワークモデル８１０は、加速ニューラルネットワークモデル８１２〜８１６を含んでもよい。一実施形態において、ＡＤＶは検知モジュール８００の探測器８０４において入力データ８０２（例えば、カメラにより採集された画像データのセンサデータ）を受信することができる。
【００６３】
探測器８０４は、入力データから一つ又は複数のタイプの目標を探測する。検知モジュール８００は、探測された目標のタイプに基づいて、ルックアップテーブル又は他のデータ構造からルックアップして、探測された目標のタイプを分類可能な加速ニューラルネットワークモデルを確定する。対応する加速ニューラルネットワークモデル（訓練されたニューラルネットワークモデル８１０の一部として）は、その後に分類器８０６により利用されて、探測された目標を分類し確率イベント８０８を推定するようにする。例えば、探測器８０４は、目標が信号機であることを探測することができる。対応する加速ＣＮＮモデル８１２が検索され、且つ、分類器８０６は、対応する加速ＣＮＮモデル８１２を利用して、信号機を分類し確率イベント８０８を確定する。確率イベント８０８は、探測された目標が赤信号、黄信号又は青信号である確率を含んでもよい。
【００６４】
図９は、本発明の一実施形態による初期ＣＮＮモデルにより新たなＣＮＮモデルが生成される方法を示すフローチャートである。プロセス９００は、ソフトウェア、ハードウェア或いはそれらの組み合わせを含むことが可能な処理ロジックにより実行されてもよい。例えば、プロセス９００は、データ解析システム１０３のようなデータ解析システムにより実行されてもよい（例えば、オフラインで実行される）。新たなＣＮＮモデルは、その後にＡＤＶにより利用されて、リアルタイムに目標を分類することができる。図９を参照し、ブロック９０２において、処理ロジックは、第一の畳み込みニューラルネットワーク（ＣＮＮ）モデルから第一の層のグループを抽出し、各第一のグループは第一のコンボリューション層と第一のバッチ正規化層とを含む。ブロック９０４において、第一のグループのうちの各グループについて、処理ロジックは、第一のバッチ正規化層に基づいて第一のスケールベクトルと第一のシフトベクトルを算出する。ブロック９０６において、処理ロジックは、第一のコンボリューション層、第一のスケールベクトルと第一のシフトベクトルに基づいて、対応するグループを示す第二のコンボリューション層を生成する。ブロック９０８において、処理ロジックは、複数のグループに対応する第二のコンボリューション層に基づいて、第二のＣＮＮモデルを生成する。第二のＣＮＮモデルは、その後に自動運転車両により検知された目標を分類するのに用いられる。
【００６５】
一実施形態において、第一のグループのうちの各グループについて、システムは、対応するグループの第一のバッチ正規化層と第一のスケール層に基づいて第二のスケールベクトルと第二のシフトベクトルを算出し、第二のスケールベクトル、第二のシフトベクトルと第一のコンボリューション層に基づいて第二のコンボリューション層を生成する。
【００６６】
一実施形態において、システムは、第一のＣＮＮモデルから複数の第二の層のグループを抽出し、各第二のグループは第一のデコンボリューション層と第二のバッチ正規化層とを含む。第二のグループのうちの各グループについて、システムは、第二のバッチ正規化層に基づいて第三のスケールベクトルと第三のシフトベクトルを算出し、第三のスケールベクトル、第三のシフトベクトルと第二のバッチ正規化層に基づいて第二のデコンボリューション層を生成することにより、第二のグループに対応する第二のデコンボリューション層を第二のＣＮＮモデルに含ませるようにする。他の一実施形態において、第二のグループのうちの各グループについて、システムは、対応する第二のグループの第二のスケール層に基づいて第三のスケールベクトルと第三のシフトベクトルを算出し、第三のスケールベクトル、第三のシフトベクトルと第一のデコンボリューション層に基づいて第二のデコンボリューション層を生成する。
【００６７】
一実施形態において、訓練データを利用して第一のＣＮＮモデルを訓練した後に、第一のＣＮＮモデルから第一の層のグループを抽出する。一実施形態において、第一のコンボリューション層と第一のバッチ正規化層は連続的な層である。
【００６８】
一実施形態において、分類待ちの目標は、緑色、黄色と赤色を有する信号機の画像である。他の一実施形態において、第一の確率イベントは、分類待ちの目標が青信号、黄信号又は赤信号である確率イベントである。
【００６９】
一実施形態において、第一のコンボリューション層は多次元の入力を有する。他の一実施形態において、多次元の入力のうちの各次元に対して、第一のスケールベクトルと第一のシフトベクトルをスケール的に演算する。他の一実施形態において、多次元の入力のうちの各次元の平均値及び標準偏差に基づいて、第一のスケールベクトルと第一のシフトベクトルを演算する。他の一実施形態において、多次元の入力のうちの各次元に対して、独立的に平均値と標準偏差を演算する。
【００７０】
注意すべきなのは、いままで示され説明された部品における一部又は全部がソフトウェア、ハードウェア又はそれらの組み合わせで実施可能である。例えば、このような部品は、永続性記憶装置にインストールされ記憶されるソフトウェアとして実施可能である。前記ソフトウェアは、プロセッサ（図示しない）によりメモリにロードされてメモリで実行されることにより、本願の全文に記述された工程又は操作を実施することができる。その代わりに、このような部品は、専用ハードウェア（例えば、集積回路（例えば、専用集積回路又はＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）或いはフィールドプログラマブルゲートアレイ（ＦＰＧＡ））にプログラミングされ、或いは組み込まれた実行可能なコードとして実施可能である。前記実行可能なコードは、アプリからの相応するドライブプログラム及び／又は操作システムを介してアクセス可能である。また、そのような部品は、プロセッサ又はプロセッサのコアにおける特定なハードウェアロジックとして実施され、ソフトウェア部品により一つ又は複数の特定なコマンドを介してアクセスされるコマンドセットの一部とすることができる。
【００７１】
図１０は、本出願の一実施形態と組み合わせて使用されるデータ処理システムを例示的に示すブロック図である。例えば、システム１５００は、上記プロセス又は方法のいずれか（例えば、図１のサーバ１０３〜１０４のいずれか）を実行する上記任意のデータ処理システムを示してもよい。システム１５００は、複数の異なる構成要素を含んでもよい。これらの構成要素は、集積回路（ＩＣ）、集積回路の一部、分散型電子装置又は回路基板（例えば、コンピュータシステムのマザーボード又はアドインカード）に適用された他のモジュール、又は他の方式でコンピュータシステムのシャシーに組み込まれた構成要素として実現されることができる。
【００７２】
さらに、システム１５００は、コンピュータシステムの複数の構成要素の高レベルビューを示すことを目的とする。しかしながら、いくつかの実現形態では、付加的構成要素が存在する場合があることを理解すべきである。また、他の実現形態において示される構成要素が異なる配置を有してもよい。システム１５００は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、メディアプレーヤー、パーソナルディジタルアシスタント（ＰＤＡ）、スマート腕時計、パーソナルコミュニケーター、ゲーム装置、ネットワークルータ又はハブ、無線アクセスポイント（ＡＰ）又はリピーター、セットトップボックス、又はそれらの組み合せを示してもよい。また、単一の機器又はシステムのみを示したが、用語「機器」又は「システム」は、さらに、独立又は共同で１つ（又は複数）のコマンドセットを実行することにより本明細書に説明される任意の１種又は複数種の方法を実行する機器又はシステムの任意のセットを含むことを理解すべきである。
【００７３】
一実施形態において、システム１５００は、バス又は相互接続部材１５１０によって接続されたプロセッサ１５０１、メモリ１５０３及び装置１５０５〜１５０８を備える。プロセッサ１５０１は、単一のプロセッサコア又は複数のプロセッサコアを含む単一のプロセッサ又は複数のプロセッサを示してもよい。プロセッサ１５０１は、マイクロプロセッサ、中央処理装置（ＣＰＵ）等のような１つ又は複数の汎用プロセッサを示してもよい。より具体的には、プロセッサ１５０１は、複雑コマンドセット計算（ＣＩＳＣ）マイクロプロセッサ、縮小コマンドセットコンピュータ（ＲＩＳＣ）マイクロプロセッサ、超長コマンド語（ＶＬＩＷ）マイクロプロセッサ、又は他のコマンドセットを実現するプロセッサ、又はコマンドセットの組み合せを実現するプロセッサであってもよい。プロセッサ１５０１は、さらに、専用集積回路（ＡＳＩＣ）、セルラー又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサ、グラフィックプロセッサ、通信プロセッサ、暗号プロセッサ、コプロセッサ、組み込みプロセッサのような１つ又は複数の専用プロセッサ、あるいはコマンド処理可能な任意の他のタイプのロジックであってもよい。
【００７４】
プロセッサ１５０１（超低電圧プロセッサのような低電力マルチコアプロセッサソケットであってもよい）は、前記システムの各種の構成要素と通信するための主処理ユニット及び中央ハブとして用いられてもよい。このようなプロセッサは、システムオンチップ（ＳｏＣ）として実現されることができる。プロセッサ１５０１は、本明細書に説明される動作及びステップを実行するためのコマンドを実行するように構成される。また、システム１５００は、選択可能なグラフィックサブシステム１５０４と通信するグラフィックインターフェースをさらに含んでもよく、グラフィックサブシステム１５０４は、ディスプレイコントローラ、グラフィックプロセッサ及び／又は表示装置をさらに備えてもよい。
【００７５】
プロセッサ１５０１は、メモリ１５０３と通信してもよく、メモリ１５０３は、一実施形態において複数のメモリによって所定量のシステムメモリを提供する。メモリ１５０３は、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）又は他のタイプのメモリのような１つ又は複数の揮発性記憶装置（又はメモリ）を備えてもよい。メモリ１５０３は、プロセッサ１５０１又は任意の他の装置により実行されるコマンド列を含む情報を記憶できる。例えば、複数種のオペレーティングシステム、装置ドライバー、ファームウェア（例えば、基本入出力システム又はＢＩＯＳ）及び／又はアプリケーションの実行可能なコード及び／又はデータは、メモリ１５０３にロードされて、プロセッサ１５０１により実行されてもよい。オペレーティングシステムは、ロボットオペレーティングシステム（ＲＯＳ）、Ｍｉｃｒｏｓｏｆｔ（登録商標）ＣｏｒｐｏｒａｔｉｏｎのＷｉｎｄｏｗｓ（登録商標）オペレーティングシステム、Ａｐｐｌｅ（登録商標）Ｉｎｃ．のＭａｃＯＳ（登録商標）／ｉＯＳ（登録商標）、Ｇｏｏｇｌｅ（登録商標）ＬＬＣのＡｎｄｒｏｉｄ（登録商標）、Ｌｉｎｕｘ（登録商標）、Ｕｎｉｘ（登録商標）又は他のリアルタイム又は組み込みオペレーティングシステムのような任意のタイプのオペレーティングシステムであってもよい。
【００７６】
システム１５００は、Ｉ／Ｏ装置、例えば装置１５０５〜１５０８をさらに備えてもよく、ネットワークインターフェースデバイス１５０５、選択可能な入力装置１５０６及び他の選択可能なＩ／Ｏ装置１５０７を備えてもよい。ネットワークインターフェースデバイス１５０５は、無線送受信機及び／又はネットワークインターフェースカード（ＮＩＣ）を備えてもよい。前記無線送受信機は、ＷｉＦｉ（登録商標）送受信機、赤外送受信機、ブルートゥース（登録商標）送受信機、ＷｉＭａｘ（登録商標）送受信機、無線セルラーホン送受信機、衛星送受信機（例えば、全地球測位システム（ＧＰＳ）送受信機）又は他の無線周波数（ＲＦ）送受信機又はそれらの組み合せであってもよい。ＮＩＣは、イーサネット（登録商標）カードであってもよい。
【００７７】
入力装置１５０６は、マウス、タッチパッド、タッチスクリーン（それは表示装置１５０４と集積されてもよい）、ポインタデバイス（例えばスタイラス）及び／又はキーボード（例えば、物理キーボード、又はタッチスクリーンの一部として表示された仮想キーボード）を備えてもよい。例えば、入力装置１５０６は、タッチスクリーンに接続されるタッチスクリーンコントローラを含んでもよい。タッチスクリーン及びタッチスクリーンコントローラは、例えば複数種のタッチ感度技術（容量式、抵抗式、赤外式及び表面音波の技術を含むが、それらに限定されない）のいずれか、及びタッチスクリーンの１つ又は複数の接触点を決定するための他の近接センサアレイ又は他の素子を用いて、そのタッチ点及び移動又は断続を検出することができる。
【００７８】
Ｉ／Ｏ装置１５０７は、音声装置を備えてもよい。音声装置は、スピーカ及び／又はマイクロホンを含んでもよく、それにより音声認識、音声コピー、デジタル記録及び／又は電話機能のような音声サポートの機能を促進する。他のＩ／Ｏ装置１５０７は、汎用シリアルバス（ＵＳＢ）ポート、パラレルポート、シリアルポート、印刷機、ネットワークインターフェース、バスブリッジ（例えば、ＰＣＩ〜ＰＣＩブリッジ）、センサ（例えば、加速度計、ジャイロスコープ、磁力計、光センサ、コンパス、近接センサ等のような動きセンサ）又はそれらの組み合せをさらに備えてもよい。装置１５０７は、結像処理サブシステム（例えば、カメラ）をさらに備えてもよく、前記結像処理サブシステムは、カメラ機能（例えば、写真及びビデオ断片の記録）を促進するための電荷カップリング装置（ＣＣＤ）又は相補型金属酸化物半導体（ＣＭＯＳ）光学センサのような光学センサを備えてもよい。あるセンサは、センサハブ（図示せず）によって相互接続部材１５１０に接続されてもよく、キーボード又は熱センサのような他の装置は、組み込みコントローラ（図示せず）により制御されてもよく、これはシステム１５００の特定の構成又は設計により決められる。
【００７９】
データ、アプリケーション、１つ又は複数のオペレーティングシステム等のような情報の永続性記憶を提供するために、大容量メモリ（図示せず）が、プロセッサ１５０１に接続されてもよい。様々な実施形態において、薄型化と軽量化のシステム設計を実現しかつシステムの応答能力を向上させるために、このような大容量メモリは、ソリッドステート装置（ＳＳＤ）によって実現されることができる。なお、他の実施形態において、大容量メモリは、主にハードディスクドライブ（ＨＤＤ）で実現されてもよく、少量のＳＳＤ記憶量は、ＳＳＤキャッシュとして、停電イベント期間にコンテキスト状態及び他のこのような情報の不揮発性記憶を実現し、それによりシステム動作が再開する時に通電を速く実現することができる。さらに、フラッシュデバイスは、例えばシリアルペリフェラルインターフェース（ＳＰＩ）によってプロセッサ１５０１に接続されてもよい。このようなフラッシュデバイスは、システムソフトウェアの不揮発性記憶に用いられてもよく、前記システムソフトウェアは、前記システムのＢＩＯＳ及び他のファームウェアを備える。
【００８０】
記憶装置１５０８は、任意の１種又は複数種の本明細書に記載の方法又は機能を実現する１つ又は複数のコマンドセット又はソフトウェア（例えば、モジュール、ユニット及び／又はロジック１５２８）が記憶されるコンピュータアクセス可能な記憶媒体１５０９（機械可読記憶媒体又はコンピュータ可読媒体とも呼ばれる）を備えてもよい。処理モジュール／ユニット／ロジック１５２８は、例えば、計画モジュール３０４、制御モジュール３０５、傾斜処理モジュール３０８および／または機器学習エンジン１２２のような上記構成要素のいずれかを示してもよい。処理モジュール／ユニット／ロジック１５２８は、さらにデータ処理システム１５００、メモリ１５０３及びプロセッサ１５０１により実行される期間に、メモリ１５０３内及び／又はプロセッサ１５０１内に完全又は少なくとも部分的に存在してもよく、ここで、メモリ１５０３及びプロセッサ１５０１も、機器アクセス可能な記憶媒体を構成する。処理モジュール／ユニット／ロジック１５２８は、さらにネットワークによってネットワークインターフェースデバイス１５０５を経由して送受信されてもよい。
【００８１】
コンピュータ可読記憶媒体１５０９は、以上に説明されたいくつかのソフトウェア機能の一部を永続的に記憶してもよい。コンピュータ可読記憶媒体１５０９は、例示的な実施形態において単一の媒体として示されたが、用語「コンピュータ可読記憶媒体」は、前記１つ又は複数のコマンドセットが記憶される単一の媒体又は複数の媒体（例えば、集中型又は分散型データベース、及び／又は関連するキャッシュ及びサーバ）を備えることを理解すべきである。用語「コンピュータ可読記憶媒体」は、さらにコマンドセットを記憶又はコーディング可能な任意の媒体を備えることを理解すべきであり、前記コマンドセットは、機器により実行されかつ前記機器に本発明の任意の１種又は複数種の方法を実行させる。従って、用語「コンピュータ可読記憶媒体」は、ソリッドステートメモリ及び光学媒体と磁気媒体又は任意の他の非一時的機械可読媒体を備えるが、それらに限定されないことを理解すべきである。
【００８２】
本明細書に記載の処理モジュール／ユニット／ロジック１５２８、構成要素及び他の特徴は、ディスクリートハードウェア構成要素として実現されてもよく、又はハードウェア構成要素（例えばＡＳＩＣ、ＦＰＧＡ、ＤＳＰ又は類似装置）の機能に統合されてもよい。さらに、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置内のファームウェア又は機能回路として実現されてもよい。また、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置及びソフトウェアコンポーネントの任意の組み合せで実現されてもよい。
【００８３】
なお、システム１５００は、データ処理システムの各種の構成要素を有するように示されているが、構成要素の相互接続のいかなる特定のアーキテクチャー又は方式を示すものではないことに注意すべきであり、それは、このような詳細が本発明の実施形態に密接な関係がないためである。また、より少ない構成要素又はより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ及び／又は他のデータ処理システムは、本発明の実施形態と共に使用されてもよい。
【００８４】
上記詳細な説明の一部は、コンピュータメモリにおけるデータビットに対する演算のアルゴリズム及び記号表現で示される。これらのアルゴリズムの説明及び表現は、データ処理分野における当業者によって使用され、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。ここで、アルゴリズムは、通常、所望の結果につながる首尾一貫した動作列（ｓｅｑｕｅｎｃｅ  ｏｆ  ｏｐｅｒａｔｉｏｎｓ）と考えられる。これらの動作とは、物理量に対して物理的動作を行う必要となるステップを指す。
【００８５】
ただし、これらの全ての及び類似の用語は、いずれも適切な物理量に関連付けられ、かつただこれらの量に適用される適切なラベルであることに注意すべきである。特に断らない限り、本出願の全体にわたって用語（例えば、添付している特許請求の範囲に説明された用語）による説明とは、コンピュータシステム又は類似の電子計算装置の動作及び処理であり、前記コンピュータシステム又は電子計算装置は、コンピュータシステムのレジスタ及びメモリに物理（例えば、電子）量としてデータを示し、かつ前記データをコンピュータシステムメモリ又はレジスタ又は他のこのような情報記憶装置、伝送又は表示装置内において類似に物理量として示される他のデータに変換する。
【００８６】
本発明の実施形態は、さらに本明細書における動作を実行するためのコンピュータプログラムに関する。このようなコンピュータプログラムは、非揮発性のンピュータ可読媒体に記憶される。機器可読媒体は、機器（例えば、コンピュータ）可読な形態で情報を記憶する任意の機構を備える。例えば、機器可読（例えば、コンピュータ可読）媒体は、機器（例えば、コンピュータ）可読記憶媒体（例えば、読み出し専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ）を備える。
【００８７】
上記図面に示される手順又は方法は、ハードウェア（例えば、回路、専用ロジック等）、ソフトウェア（例えば、非揮発性のコンピュータ可読媒体に具現化される）、又は両方の組み合せを含む処理ロジックにより実行されてもよい。前記手順又は方法は、本明細書において特定の順序に応じて説明されるが、説明された動作の一部は、異なる順序に応じて実行されてもよい。また、いくつかの動作は、順番ではなく並行に実行されてもよい。
【００８８】
本発明の実施形態は、いずれかの特定のプログラミング言語を参照して説明されていないが、複数種のプログラミング言語で本明細書に記載の本発明の実施形態の教示を実現できることを理解すべきである。
【００８９】
以上の明細書では、本発明の具体的な例示的な実施形態を参照してその実施形態を説明した。明らかなように、添付している特許請求の範囲に記載の本発明のより広い趣旨及び範囲を逸脱しない限り、様々な変形が可能である。従って、限定的なものではなく例示的なものとして本明細書及び図面を理解すべきである。
【図１】
2018173946.tif 000011
【図２】
2018173946.tif 000012
【図３】
2018173946.tif 000013
【図４】
2018173946.tif 000014
【図５】
2018173946.tif 000015
【図６Ａ】
2018173946.tif 000016
【図６Ｂ】
2018173946.tif 000017
【図７Ａ】
2018173946.tif 000018
【図７Ｂ】
2018173946.tif 000019
【図８】
2018173946.tif 000020
【図９】
2018173946.tif 000021
【図１０】
2018173946.tif 000022
【外国語明細書】
2018173946000001.pdf