(57)【要約】  車両のセンサを使用してキャプチャされた画像が受け取られ、複数のコンポーネント画像に分解される。複数のコンポーネント画像の各コンポーネント画像は、結果を決定するために、人工ニューラルネットワークの複数の層の異なる層への異なる入力として提供される。人工ニューラルネットワークの結果は、車両を少なくとも部分的に自律的に操作するために使用される。【選択図】図１
2021530023.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
車両のセンサを使用してキャプチャされた画像を受け取るステップと、
前記受け取られた画像を複数のコンポーネント画像に分解するステップと
結果を決定するために、人工ニューラルネットワークの複数の層の異なる層への異なる入力として、前記複数のコンポーネント画像の各コンポーネント画像を提供するステップと、
少なくとも部分的に前記車両を自律的に操作するために、前記人工ニューラルネットワークの前記結果を使用するステップと、を含む、方法。
【請求項２】
前記センサは高ダイナミックレンジカメラである、請求項１に記載の方法。
【請求項３】
前記センサは、カメラセンサ、レーダセンサ、超音波センサ、またはＬｉＤＡＲセンサである、請求項１に記載の方法。
【請求項４】
前記受け取られた画像を前記複数のコンポーネント画像に分解するステップは、ハイパスフィルタまたはローパスフィルタを使用するステップを含む、請求項１に記載の方法。
【請求項５】
前記受け取られた画像を前記複数のコンポーネント画像に分解するステップは、ハイパスフィルタ、バンドパスフィルタ、またはローパスフィルタを使用するステップを含む、請求項１に記載の方法。
【請求項６】
前記受け取られた画像を前記複数のコンポーネント画像のうちの少なくとも１つに分解するために、グラフィックス処理ユニットが使用される、請求項１に記載の方法。
【請求項７】
前記受け取られた画像を前記複数のコンポーネント画像のうちの少なくとも１つに分解するために、トーンマッパプロセッサが使用される、請求項１に記載の方法。
【請求項８】
前記複数のコンポーネント画像は、ハイパスデータコンポーネントおよびローパスデータコンポーネントを含む、請求項１に記載の方法。
【請求項９】
前記ハイパスデータコンポーネントは第１の画像プリプロセッサを使用して分解され、前記ローパスデータコンポーネントは第２の画像プリプロセッサを使用して分解される、請求項８に記載の方法。
【請求項１０】
前記第１の画像プリプロセッサおよび前記第２の画像プリプロセッサは異なるプロセッサである、請求項９に記載の方法。
【請求項１１】
前記ローパスデータコンポーネントは、前記受け取られた画像からダウンサンプリングされる、請求項８に記載の方法。
【請求項１２】
前記ローパスデータコンポーネントは、前記ハイパスデータコンポーネントよりも低い解像度である、請求項８に記載の方法。
【請求項１３】
前記複数のコンポーネント画像のそれぞれは、前記受け取られた画像よりも低いビット深度を有する、請求項１に記載の方法。
【請求項１４】
前記受け取られた画像は、前記受け取られた画像を前記複数のコンポーネント画像に分解する前に前処理される、請求項１に記載の方法。
【請求項１５】
前記複数のコンポーネント画像のうちの少なくとも１つは、前記複数のコンポーネント画像の各コンポーネント画像を前記人工ニューラルネットワークの前記複数の層の前記異なる層に提供する前に前処理される、請求項１に記載の方法。
【請求項１６】
前記前処理は、圧縮、ノイズ除去、デモザイキング、局所コントラスト強調、ゲイン調整、または閾値化の１つ以上を実行するステップを含む、請求項１５に記載の方法。
【請求項１７】
前記複数のコンポーネント画像は、特徴およびエッジデータコンポーネントならびにグローバルデータコンポーネントを含む、請求項１に記載の方法。
【請求項１８】
前記特徴およびエッジデータコンポーネントは、前記人工ニューラルネットワークの第１の層に提供される、請求項１７に記載の方法。
【請求項１９】
コンピュータプログラム製品であって、非一時的なコンピュータ可読記憶媒体に具体化され、
車両のセンサを使用してキャプチャされた画像を受け取り、
前記受け取られた画像を複数のコンポーネント画像に分解し、
結果を決定するために、人工ニューラルネットワークの複数の層の異なる層への異なる入力として、前記複数のコンポーネント画像の各コンポーネント画像を提供し、
少なくとも部分的に前記車両を自律的に操作するために、前記人工ニューラルネットワークの前記結果を使用する、ためのコンピュータ命令を含む、コンピュータプログラム製品。
【請求項２０】
システムであって、
車両のセンサと、
車両制御モジュールと、
１つ以上の画像信号プロセッサであって、
前記センサを使用してキャプチャされた画像を受け取り、
前記受け取られた画像を複数のコンポーネント画像に分解する、ように構成された、１つ以上の画像信号プロセッサと、
人工知能プロセッサと、
前記人工知能プロセッサと結合されたメモリであって、実行されたときに前記人工知能プロセッサに、
結果を決定するために、人工ニューラルネットワークの複数の層の異なる層への異なる入力として、前記複数のコンポーネント画像の各コンポーネント画像を受け取らせ、
少なくとも部分的に前記車両を自律的に操作するために、前記人工ニューラルネットワークの前記結果を前記車両制御モジュールに提供させる、命令を前記人工知能プロセッサに提供するように構成される、メモリと、を含む、システム。
【発明の詳細な説明】
【背景技術】
【０００１】
自動運転を実施するために使用される深層学習システムは、通常、入力として、キャプチャされたセンサデータに依存している。従来の学習システムでは、キャプチャされたデータをセンサ形式から学習システムの初期入力層と互換性のある形式に変換することにより、キャプチャされたセンサデータは深層学習システムと互換性があるようにされる。この変換には、元のセンサデータの信号忠実度を低下させる可能性のある圧縮とダウンサンプリングが含まれる場合がある。さらに、センサの変更は、新しい変換プロセスを必要とする場合がある。したがって、キャプチャされたセンサデータからの信号情報を最大化し、深層学習分析のために深層学習ネットワークに高レベルの信号情報を提供できる、カスタマイズされたデータパイプラインが必要である。
【図面の簡単な説明】
【０００２】
本発明の様々な実施形態は、以下の詳細な説明および添付の図面に開示されている。
【０００３】
【図１】深層学習パイプラインを使用して機械学習処理を実行するためのプロセスの実施形態を示すフロー図である。
【０００４】
【図２】深層学習パイプラインを使用して機械学習処理を実行するためのプロセスの実施形態を示すフロー図である。
【０００５】
【図３】コンポーネントデータを使用して機械学習処理を実行するためのプロセスの実施形態を示すフロー図である。
【０００６】
【図４】ハイパスおよびローパスコンポーネントデータを使用して機械学習処理を実行するためのプロセスの実施形態を示すフロー図である。
【０００７】
【図５】ハイパス、バンドパス、およびローパスコンポーネントデータを使用して機械学習処理を実行するためのプロセスの実施形態を示すフロー図である。
【０００８】
【図６】自動運転のための深層学習システムの実施形態を示すブロック図である。
【発明を実施するための形態】
【０００９】
本発明は、プロセスとして装置、システム、物質の組成、コンピュータ可読記憶媒体上に具現化されたコンピュータプログラム製品、および／または例えば、プロセッサに結合されたメモリに格納されたおよび／またはメモリによって提供された命令を実行するように構成されたプロセッサのようなプロセッサを含む多くの方法で実施することができる。本明細書では、これらの実装、または本発明がとり得る他の任意の形態は、技術と呼ばれ得る。一般に、開示されたプロセスのステップの順序は、本発明の範囲内で変更することができる。特に明記しない限り、タスクを実行するように構成されていると説明されるプロセッサまたはメモリなどのコンポーネントは、所与の時間にタスクを実行するように一時的に構成される一般的なコンポーネント、またはタスクを実行するように製造される特定のコンポーネントとして実装され得る。本明細書で使用される場合、「プロセッサ」という用語は、コンピュータプログラム命令などのデータを処理するように構成された１つ以上のデバイス、回路、および／または処理コアを指す。
【００１０】
本発明の１つ以上の実施形態の詳細な説明が、本発明の原理を説明する添付の図とともに以下に提供される。本発明は、そのような実施形態に関連して説明されるが、本発明は、任意の実施形態に限定されない。本発明の範囲は、特許請求の範囲によってのみ限定され、本発明は、多数の代替物、修正、および同等物を包含する。本発明の完全な理解を提供するために、以下の説明には多くの具体的な詳細が記載されている。これらの詳細は、例示の目的で提供されており、本発明は、これらの特定の詳細の一部または全部がなくても、特許請求の範囲に従って実施することができる。明確にするために、本発明に関連する技術分野で知られている技術資料は、本発明が不必要に不明瞭にならないように、詳細に説明されていない。
【００１１】
自動運転のための深層学習ネットワークに個別のコンポーネントとしてセンサデータを抽出して提供するデータパイプラインが開示されている。一部の実施形態では、自動運転は、深層学習ネットワークとセンサから受け取られた入力データとを使用して実装される。例えば、車両に取り付けられたセンサは、車両の制御応答を決定するために、車両の周囲環境の視覚、レーダ、超音波データなどのリアルタイムセンサデータをニューラルネットワークに提供する。一部の実施形態では、ネットワークは、複数の層を使用して実装される。センサデータは、データの信号情報に基づいて、２つ以上の異なるデータコンポーネントに抽出される。例えば、特徴および／またはエッジデータは、グローバルイルミネーションデータなどのグローバルデータとは別に、異なるデータコンポーネントに抽出され得る。異なるデータコンポーネントは、対象となる関連データ、例えば、ディープラーニングネットワークによってエッジやその他の特徴を識別するために最終的に使用されるデータを保持する。一部の実施形態では、異なるデータコンポーネントは、特定のターゲット特徴を識別するために非常に関連性のあるデータを格納するが、それ自体は特徴を識別または検出しないコンテナとして機能する。異なるデータコンポーネントは、機械学習ネットワークの適切な段階で正確な特徴を確実に検出するためにデータを抽出する。次に、一部の実施形態では、異なるデータコンポーネントが前処理され、それらが含む特定の信号情報を強化することができる。データコンポーネントは、リソースを増加させ、計算効率を向上させるために、圧縮および／またはダウンサンプリングされ得る。次に、異なるデータコンポーネントは、システムの様々な層で深層学習システムに提供される。深層学習ネットワークは、抽出中に保持された信号情報を入力として使用して、データコンポーネントのターゲットデータ（エッジ、オブジェクトなど）に関連付けられた特徴を正確に識別および検出できる。例えば、特徴およびエッジデータはネットワークの第１の層に提供され、グローバルデータはネットワークの後の方の層に提供される。それぞれがそれぞれのターゲット信号情報を保持する異なるデータコンポーネントを抽出することにより、ネットワークはセンサデータをより効率的に処理する。ネットワークへの初期入力としてセンサデータを受け取る代わりに、ネットワークには、ネットワークの最も適切な層で最も有用な情報が提供される。一部の実施形態では、異なるデータコンポーネントは、それらの意図された目的のためにそれぞれのコンポーネントの画像解像度を最大限利用できるため、キャプチャされたセンサデータのより完全なバージョンがネットワークによって分析される。例えば、特徴およびエッジの入力では、特徴およびエッジデータの全体解像度、ビット範囲、ビット深度を利用できるが、グローバルイルミネーションの入力では、グローバルイルミネーションデータの全体解像度、ビット範囲、ビット深度を利用できる。
【００１２】
一部の実施形態では、車両のセンサを使用してキャプチャされた画像が受け取られる。例えば、画像は高ダイナミックレンジの前向きカメラからキャプチャされる。別の例として、超音波データは横向きの超音波センサからキャプチャされる。一部の実施形態では、受け取られた画像は、複数のコンポーネント画像に分解される。例えば、特徴データは、キャプチャされた高ダイナミックレンジ画像から抽出される。別の例として、グローバルイルミネーションデータは、キャプチャされた高ダイナミックレンジ画像から抽出される。別の例として、画像は、ハイパス、ローパス、および／またはバンドパスフィルタを使用して分解され得る。一部の実施形態では、複数のコンポーネント画像の各コンポーネント画像は、結果を決定するために、人工ニューラルネットワークの複数の層の異なる層への異なる入力として提供される。例えば、畳み込みニューラルネットワークなどの人工ニューラルネットワークは、入力データを処理するための複数の層を含む。キャプチャされた画像から分解された様々なコンポーネント画像は、ニューラルネットワークの様々な層への入力として提示される。例えば、特徴データはネットワークの第１の層への入力として提示され、グローバルデータはネットワークの後の方の層（第３の層など）への入力として提示される。一部の実施形態では、人工ニューラルネットワークの結果は、車両を少なくとも部分的に自律的に操作するために使用される。例えば、人工ニューラルネットワークを使用した深層学習分析の結果は、車両のステアリング、ブレーキング、照明、および／または警告システムを制御するために使用される。一部の実施形態では、結果は、他の自動運転への応用の中でも、車両の速度を交通状況に自律的に一致させ、ナビゲーション経路をたどるように車両を操縦し、物体が検出されたときに衝突を回避し、車両を所望の場所に呼び出し、起こり得る衝突についてユーザに警告するために使用される。
【００１３】
一部の実施形態では、車両には、データをキャプチャするための複数のセンサが取り付けられている。例えば、一部の実施形態では、８つのサラウンドカメラが車両に取り付けられ、最大２５０メートルの範囲で車両の周囲３６０度の視界を提供する。一部の実施形態では、カメラセンサは、広い前方カメラ、狭い前方カメラ、後方ビューカメラ、前向きのサイドカメラ、および／または後向きのサイドカメラを含む。一部の実施形態では、超音波およびレーダセンサを使用して、周囲の詳細をキャプチャする。例えば、硬い物体と柔らかい物体の両方を検出するために、１２個の超音波センサが車両に取り付けられ得る。一部の実施形態では、前向きレーダを利用して、周囲環境のデータをキャプチャする。様々な実施形態では、レーダセンサは、大雨、霧、ほこり、および他の車両にもかかわらず、周囲の詳細をキャプチャすることができる。様々なセンサは車両周辺の環境をキャプチャするために使用され、キャプチャした画像は深層学習分析に提供される。
【００１４】
センサからキャプチャされ、開示された深層学習システムを使用して分析されたデータを使用して、自動運転の機械学習結果が決定される。様々な実施形態では、機械学習の結果は、自動運転機能を実装するための車両制御モジュールに提供される。例えば、車両制御モジュールは、車両のステアリング、ブレーキング、警告システム、および／または照明を制御するために使用することができる。一部の実施形態では、車両は、他の自動運転への応用の中でも、道路をナビゲートし、車両の速度を交通状況に一致させ、車両を車線内に保ち、運転者の入力を必要とせずに自動的に車線を変更し、車両をある高速道路から別の高速道路に移行させ、目的地に近づいたときに高速道路から出て、車両を自動駐車し、駐車スポットとの間で車両を呼び出す。一部の実施形態では、自動運転機能は、より遅い交通の後ろにあるときに車両をより速い車線に移動させる機会を特定することを含む。一部の実施形態では、機械学習結果は、運転者の相互作用なしの自動運転が適切であるとき、およびそれを無効にする必要があるときを決定するために使用される。様々な実施形態では、機械学習結果は、運転者が車両を運転するのを支援するために使用される。
【００１５】
一部の実施形態では、機械学習結果は、車両が自動的に駐車スポットを検索し、車両を駐車するセルフパーキングモードを実施するために使用される。一部の実施形態では、機械学習結果は、ユーザのカレンダーからの目的地を使用して車両をナビゲートするために使用される。様々な実施形態では、機械学習結果は、衝突回避および自動緊急ブレーキなどの自動運転安全機能を実施するために使用される。例えば、一部の実施形態では、深層学習システムは、車両に衝突する可能性のある物体を検出し、車両制御モジュールは、それに応じてブレーキをかける。一部の実施形態では、車両制御モジュールは、車両の横、前、または後ろの障害物とで起こり得る衝突について車両のユーザに警告する側面、前方、および／または後方の追突警告を実施するために深層学習分析を使用する。様々な実施形態では、車両制御モジュールは、とりわけ、衝突アラート、音声アラート、視覚アラート、および／または物理的アラート（振動アラートなど）などの警告システムを作動させて、ユーザに緊急事態または運転者の注意が必要であることを知らせることができる。一部の実施形態では、車両制御モジュールは、例えば、別の当事者に緊急事態を知らせるために、緊急応答呼び出し、テキストメッセージ、ネットワーク更新、および／または必要に応じて別の通信応答などの通信応答を開始することができる。一部の実施形態では、車両制御モジュールは、深層学習分析結果に基づいて、ハイ／ロービーム、ブレーキライト、室内灯、非常灯などを含む照明を調整することができる。一部の実施形態では、車両制御モジュールは、深層学習分析結果に基づいて、ホーンの使用、車両のサウンドシステムから再生されるオーディオ（例えば、音楽、電話など）の変更、サウンドシステムの音量の調整、音声アラートの再生、マイクロフォンの有効化などを含む、車両内または車両周辺のオーディオをさらに調整することができる。
【００１６】
図１は、深層学習パイプラインを使用して機械学習処理を実行するためのプロセスの実施形態を示すフロー図である。例えば、図１のプロセスは、安全性を向上させ、事故のリスクを軽減するために、自動運転や運転者支援自動車の自動運転機能を実施するために使用することができる。一部の実施形態では、図１のプロセスは、深層学習分析のためにセンサによってキャプチャされたデータを前処理する。センサデータを前処理することにより、深層学習分析に提供されるデータが強化され、車両を制御するためのより正確な結果が得られる。一部の実施形態では、前処理は、センサによってキャプチャされたデータと、深層学習のためのニューラルネットワークによって期待されるデータとの間のデータの不一致に対処する。
【００１７】
１０１で、センサデータが受け取られる。例えば、センサデータは、車両に取り付けられた１つ以上のセンサによってキャプチャされる。一部の実施形態では、センサは、環境および／または他の車両に取り付けられ、データは遠隔で受け取られる。様々な実施形態では、センサデータは、画像のＲＧＢまたはＹＵＶチャネルなどの画像データである。一部の実施形態では、センサデータは、高ダイナミックレンジカメラを使用してキャプチャされる。一部の実施形態では、センサデータは、レーダ、ＬｉＤＡＲ、および／または超音波データである。様々な実施形態では、ＬｉＤＡＲデータは、レーザ光を使用してキャプチャされたデータであり、光検出測距、ならびにレーザ画像検出測距と呼ばれる技術を含み得る。様々な実施形態では、センサデータのビット深度は、深層学習分析のためのニューラルネットワークのビット深度を超える。
【００１８】
１０３で、データの前処理がセンサデータに対して実行される。一部の実施形態では、１つ以上の前処理パスが、センサデータに対して実行され得る。例えば、データは、ノイズを除去したり、位置合わせの問題やぶれを修正などしたりするために、最初に前処理され得る。一部の実施形態では、２つ以上の異なるフィルタリングパスがデータに対して実行される。例えば、ハイパスフィルタがデータに対して実行され得、ローパスフィルタがデータに対して実行され得る。一部の実施形態では、１つ以上のバンドパスフィルタが実行され得る。例えば、ハイパスおよびローパスに加えて、１つ以上のバンドパスがデータに対して実行され得る。様々な実施形態では、センサデータは、ハイパスデータセットおよびローパスデータセットなどの２つ以上のデータセットに分離される。一部の実施形態では、１つ以上のバンドパスデータセットも作成される。様々な実施形態では、異なるデータセットは、センサデータの異なるコンポーネントである。
【００１９】
一部の実施形態では、データを前処理することによって作成された異なるコンポーネントは、特徴および／またはエッジコンポーネントならびにグローバルデータコンポーネントを含む。様々な実施形態では、特徴および／またはエッジコンポーネントは、センサデータに対してハイパスまたはバンドパスフィルタを実行することによって作成され、グローバルデータコンポーネントは、センサデータに対してローパスまたはバンドパスフィルタを実行することによって作成される。一部の実施形態では、特徴／エッジデータおよび／またはグローバルデータを抽出するために、１つ以上の異なるフィルタ技術を使用することができる。
【００２０】
様々な実施形態では、センサデータの１つ以上のコンポーネントが処理される。例えば、ハイパスコンポーネントは、画像データからノイズを除去する、および／または画像データの局所コントラストを増強することによって処理することができる。一部の実施形態では、ローパスコンポーネントは、圧縮および／またはダウンサンプリングされる。様々な実施形態では、異なるコンポーネントは、圧縮および／またはダウンサンプリングされる。例えば、コンポーネントは、機械学習モデルの層にデータを入力するためにデータのサイズおよび／または解像度を調整するために、必要に応じて圧縮、サイズ変更、および／またはダウンサンプリングされ得る。一部の実施形態では、センサデータのビット深度が調整される。例えば、２０ビットまたは別の適切なビット深度でデータをキャプチャするカメラのデータチャネルは、８ビットの機械学習モデル用のチャネルが準備するために８ビットに圧縮または量子化される。一部の実施形態では、１つ以上のセンサは、１２ビット、１６ビット、２０ビット、３２ビットのビット深度、または深層学習ネットワークによって使用されるビット深度よりも大きい別の適切なビット深度でデータをキャプチャする。
【００２１】
様々な実施形態では、１０３で実行される前処理は、画像プリプロセッサによって実行される。一部の実施形態では、画像プリプロセッサは、グラフィックス処理ユニット（ＧＰＵ）、中央処理装置（ＣＰＵ）、人工知能（ＡＩ）プロセッサ、画像信号プロセッサ、トーンマッパプロセッサ、または他の同様のハードウェアプロセッサである。様々な実施形態では、異なる画像プリプロセッサは、異なるデータコンポーネントを並行して抽出および／または前処理するために使用される。
【００２２】
１０５で、深層学習分析が実行される。例えば、深層学習分析は、人工ニューラルネットワークなどの機械学習モデルを使用して実行される。様々な実施形態では、深層学習分析は、１０３で処理されたセンサデータを入力として受け取る。一部の実施形態では、処理されたセンサデータは、ハイパスデータコンポーネントおよびローパスデータコンポーネントなどの複数の異なるコンポーネントとして１０５で受け取られる。一部の実施形態では、異なるデータコンポーネントは、機械学習モデルの異なる層への入力として受け取られる。例えば、ニューラルネットワークは、ネットワークの第１の層への初期入力としてハイパスコンポーネントを受け取り、ネットワークの次の層への入力としてローパスコンポーネントを受け取る。
【００２３】
１０７で、深層学習分析の結果が車両制御に提供される。例えば、結果は、車両の速度および／またはステアリングを調整するために車両制御モジュールに提供され得る。様々な実施形態では、結果は、自動運転機能を実施するために提供される。例えば、結果は、車両を操舵することによって回避されるべき物体を示している可能性がある。別の例として、結果は、ブレーキングおよび車線での車両の位置を変更することによって回避されるべき合流車を示している可能性がある。
【００２４】
図２は、深層学習パイプラインを使用して機械学習処理を実行するためのプロセスの実施形態を示すフロー図である。例えば、図２のプロセスは、センサデータを前処理し、センサデータから画像コンポーネントを抽出し、抽出した画像コンポーネントを前処理し、深層学習分析のためにコンポーネントを提供するために利用することができる。深層学習分析の結果は、安全性を向上させ、事故のリスクを軽減するために自動運転を実施するために使用することができる。一部の実施形態では、図２のプロセスは、図１のプロセスを実行するために使用される。一部の実施形態では、ステップ２０１は、図１の１０１で実行され、ステップ２０３、２０５、２０７、および／または２０９は、図１の１０３で実行され、および／またはステップ２１１は、図１の１０５および／または１０７で実行される。センサデータの抽出されたコンポーネントを処理することにより、機械学習モデルに提供される処理済みデータが拡張され、その結果、拡張されていないデータを使用するより深層学習分析から優れた結果が得られる。示される例では、深層学習分析の結果が車両制御に使用されている。
【００２５】
２０１で、センサデータが受け取られる。様々な実施形態では、センサデータは、高ダイナミックレンジカメラなどのセンサからキャプチャされた画像データである。一部の実施形態では、センサデータは、１つ以上の異なるセンサからキャプチャされる。一部の実施形態では、画像データは、データの忠実度を高めるために、１２ビット以上のビット深度を使用してキャプチャされる。
【００２６】
２０３で、データが前処理される。一部の実施形態では、データは、画像信号プロセッサ、グラフィックス処理ユニット（ＧＰＵ）、トーンマッパプロセッサ、中央処理装置（ＣＰＵ）、人工知能（ＡＩ）プロセッサ、または他の同様のハードウェアプロセッサなどの画像前処理装置を使用して前処理される。様々な実施形態では、線形化、デモザイキング、および／または別の処理技術が、キャプチャされたセンサデータに対して実行され得る。様々な実施形態では、前処理は、キャプチャされたデータの忠実度を高めるために、および／または後続のステップによるエラーの導入を減らすために、高解像度センサデータに対して実行される。一部の実施形態では、前処理ステップは任意である。
【００２７】
２０５で、１つ以上の画像コンポーネントが抽出される。一部の実施形態では、２つの画像コンポーネントが抽出される。例えば、センサデータの特徴／エッジデータコンポーネントが抽出され、センサデータのグローバルデータコンポーネントが抽出される。一部の実施形態では、センサデータのハイパスコンポーネントおよびローパスコンポーネントが抽出される。一部の実施形態では、１つ以上の追加のバンドパスコンポーネントがセンサデータから抽出される。様々な実施形態では、ハイパス、ローパス、および／またはバンドパスフィルタは、センサデータの異なる成分を抽出するために使用される。一部の実施形態では、画像成分は、トーンマッパを使用して抽出される。一部の実施形態では、グローバルデータおよび／またはローパスコンポーネントデータは、ビニングまたは同様の技術を使用してセンサデータをダウンサンプリングすることによって抽出される。様々な実施形態では、抽出は、ターゲット信号情報を画像データコンポーネントとして保持および保存するが、ターゲット情報に関連する特徴を実際に検出または識別することはない。例えば、エッジデータに対応する画像コンポーネントの抽出は、エッジを正確に識別するためのターゲット信号情報を有する画像成分をもたらすが、２０５で実行される抽出は、センサデータにおけるエッジの存在を検出しない。
【００２８】
一部の実施形態では、機械学習ネットワークの第１の層のために抽出される画像データコンポーネントは、深層学習分析の第１の層の応答を保存するプロセスを使用して抽出される。例えば、第１の層の分析後に画像コンポーネントに対して実行される分析の結果が、画像コンポーネントに抽出される前に対応するセンサデータに対して実行される分析と同様になるように、第１の層に関連する信号情報が保存される。様々な実施形態では、結果は、５ｘ５マトリックスフィルタと同じくらい小さいフィルタについて保存される。
【００２９】
一部の実施形態では、抽出されたデータコンポーネントは、キャプチャされた画像の複数のチャネルを１つ以上のチャネルに結合することによって作成される。例えば、赤、緑、青のチャネルは、データコンポーネントの新しいチャネルを作成するために平均される。様々な実施形態では、抽出されたデータコンポーネントは、ソースキャプチャデータの１つ以上の異なるチャネル、および／または異なるセンサの１つ以上の異なるキャプチャ画像から構築され得る。例えば、複数のセンサからのデータを１つのデータコンポーネントに統合することができる。
【００３０】
一部の実施形態では、ステップ２０３のプリプロセッサなどの画像プリプロセッサが、異なるコンポーネントを抽出するために使用される。一部の実施形態では、画像信号プロセッサが、異なる成分を抽出するために使用され得る。様々な実施形態では、グラフィックス処理ユニット（ＧＰＵ）が、異なるコンポーネントを抽出するために使用され得る。一部の実施形態では、異なるプリプロセッサが異なるコンポーネントを抽出するために使用されるので、複数のコンポーネントが並行して抽出され得る。例えば、画像信号プロセッサはハイパスコンポーネントを抽出するために使用され得、ＧＰＵはローパスコンポーネントを抽出するために使用され得る。別の例として、画像信号プロセッサはローパスコンポーネントを抽出するために使用され得、ＧＰＵはハイパスコンポーネントを抽出するために使用され得る。一部の実施形態では、トーンマッパプロセッサが画像コンポーネント（ハイパスコンポーネントなど）を抽出するために使用され、並行してＧＰＵが別個の画像コンポーネント（ローパスコンポーネントなど）を抽出するために使用される。一部の実施形態では、トーンマッパは、画像信号プロセッサの一部である。一部の実施形態では、並行して抽出を実行するために、同様のプリプロセッサの複数のインスタンスが存在する。
【００３１】
２０７で、コンポーネントの前処理が実行される。一部の実施形態では、ステップ２０３および／または２０５のプリプロセッサなどの画像プリプロセッサが、１つ以上のコンポーネントを前処理するために使用される。一部の実施形態では、異なるプリプロセッサは異なるコンポーネントを前処理するために使用され、その結果、前処理は、並行して異なるコンポーネントに対して実行することができる。例えば、画像信号プロセッサはハイパスコンポーネントを処理するために使用され得、グラフィックス処理ユニット（ＧＰＵ）はローパスコンポーネントを処理するために使用され得る。一部の実施形態では、トーンマッパプロセッサは、１つの画像コンポーネントを処理するために使用され、ＧＰＵは、並行して別個の画像コンポーネントを処理するために使用される。一部の実施形態では、並行して異なるコンポーネントを処理するために、同様のプリプロセッサの複数のインスタンスが存在する。
【００３２】
様々な実施形態では、前処理は、画像コンポーネントデータのダウンサンプリングおよび／または圧縮を含む。一部の実施形態では、前処理は、コンポーネントデータからノイズを除去することを含む。一部の実施形態では、前処理は、キャプチャされたデータを２０ビットから８ビットのデータフィールドに圧縮または量子化することを含む。一部の実施形態では、前処理は、画像コンポーネントのサイズをより低い解像度に変換することを含む。例えば、画像コンポーネントは、元のセンサ画像サイズの半分、４分の１、８分の１、１６分の１、３２分の１、６４分の１、または別の適切なスケーリングであり得る。様々な実施形態では、画像コンポーネントは、機械学習モデルの入力層に適切なサイズに縮小される。
【００３３】
２０９で、コンポーネントが深層学習ネットワークの適切なネットワーク層に提供される。例えば、異なるコンポーネントがネットワークの異なる層に提供され得る。一部の実施形態では、ネットワークは、複数の層を有するニューラルネットワークである。例えば、ニューラルネットワークの第１の層は、ハイパスコンポーネントデータを入力として受け取る。後続のネットワーク層の１つは、グローバルイルミネーションデータに対応するローパスコンポーネントデータを入力として受け取る。様々な実施形態では、２０５で抽出され、２０７で前処理された異なるコンポーネントは、ニューラルネットワークの異なる層で受け取られる。別の例として、特徴および／またはエッジデータコンポーネントは、人工ニューラルネットワークなどの深層学習ネットワークの第１の層への入力として提供される。グローバルデータは特徴および／またはエッジコンポーネントデータほどの精度を必要としないため、グローバルデータコンポーネントは、後続の層に提供され、かつデータの圧縮および／またはダウンサンプリングバージョンとして提供され得る。様々な実施形態では、グローバルデータは、情報を失うことなくより容易に圧縮され、ネットワークの後の方の層で提供され得る。
【００３４】
一部の実施形態では、機械学習モデルは、複数の連続する層で構成され、１つ以上の後続の層が、前の層よりもサイズが小さいサイズ特性を有する入力データを受け取る。例えば、ネットワークへの第１の層は、キャプチャ画像サイズと同様の画像サイズを受け取ることができる。後続の層は、キャプチャ画像サイズの半分または４分の１の入力データを受け取ることができる。入力データサイズの削減により、後続の層の計算が削減され、深層学習分析の効率が向上する。センサ入力データを様々なコンポーネントとして様々な層で提供することにより、計算効率が向上する。ネットワークの前の方の層では、データ量とデータサイズが後続の層よりも大きいため、特に計算量を増やす必要がある。入力データがネットワークの前の層および／または２０７での前処理によって圧縮されているため、後続の層では計算がより効率的である可能性がある。
【００３５】
２１１で、深層学習分析の結果が車両制御に提供される。例えば、処理された画像コンポーネントを使用する機械学習結果は、車両の動きを制御するために利用され得る。一部の実施形態では、結果は、車両制御動作に対応する。例えば、結果は車両の速度とステアリングに対応する場合がある。一部の実施形態では、結果は、車両の操縦を支援するために使用される車両制御モジュールによって受け取られる。一部の実施形態では、結果は、車両の安全性を改善するために利用される。様々な実施形態では、２１１で提供される結果は、２０９で提供されるコンポーネントに対して深層学習分析を実行することによって決定される。
【００３６】
図３は、コンポーネントデータを使用して機械学習処理を実行するためのプロセスの実施形態を示すフロー図である。示される例では、図３のプロセスは、グローバルデータとは別のセンサデータから特徴およびエッジデータを抽出するために使用される。次に、２つのデータセットは、車両制御の結果を推測するために、異なる段階で深層学習ネットワークに供給される。２つのコンポーネントを分離し、それらを異なる段階で提供することにより、ネットワークの初期層は、計算リソースを初期エッジと特徴検出に割り当てることができる。一部の実施形態では、初期の段階は、道路、車線マーカ、障害物、車両、歩行者、交通標識などのオブジェクトの初期識別にリソースを割り当てる。グローバルデータはリソースをあまり消費しないため、後続の層はより計算効率の高い方法でグローバルデータを利用できる。機械学習は計算的でデータ集約型であり得るため、様々な段階で様々な画像コンポーネントを利用するデータパイプラインは、深層学習計算の効率を高め、分析に必要なデータリソース要件を削減するために利用される。一部の実施形態では、図３のプロセスは、図１および／または図２のプロセスを実行するために使用される。一部の実施形態では、ステップ３０１は、図１の１０１および／または図２の２０１で実行され、ステップ３０３は、図１の１０３および／または図２の２０３で実行され、ステップ３１１および／または３２１は、図１の１０３および／または図２の２０５で実行され、ステップ３１３、３２３、および／または３２５は、図１の１０３および／または図２の２０７および２０９で実行され、ステップ３１５および／または３３５は、図１の１０５および／または図２の２１１で実行され、および／またはステップ３３７は、図１の１０７および／または図２の２１１で実行される。
【００３７】
３０１で、センサデータが受け取られる。様々な実施形態では、センサデータは、車両の１つ以上のセンサによってキャプチャされたデータである。一部の実施形態では、センサデータは、図１のステップ１０１および／または図２のステップ２０１に関して説明したように受け取られる。
【００３８】
３０３で、データの前処理が実行される。例えば、センサデータは、データを前処理することによって拡張される。一部の実施形態では、データは、例えば、ノイズ除去、位置合わせ、または他の適切なフィルタを実行することによってクリーンアップされる。様々な実施形態では、データは、図１のステップ１０３および／または図２のステップ２０３に関して説明したように前処理される。示される例では、処理はステップ３１１および３２１に続く。一部の実施形態では、３１１および３２１での処理は、センサデータの異なるコンポーネントを抽出および処理するために並行して実行される。一部の実施形態では、処理の各分岐（例えば、３１１で始まる分岐および３２１で始まる分岐）は、順次実行されるか、またはパイプライン化される。例えば、ネットワークの初期層のためのデータを準備するために、ステップ３１１から開始して処理が実行される。一部の実施形態では、前処理ステップは任意である。
【００３９】
３１１で、特徴および／またはエッジデータがセンサデータから抽出される。例えば、特徴データおよび／またはエッジデータは、キャプチャされたセンサデータからコンポーネントデータに抽出される。一部の実施形態では、コンポーネントデータは、特徴および／またはエッジを識別するために、センサデータからの関連する信号情報を保持する。様々な実施形態では、抽出プロセスは、特徴および／またはエッジを識別および検出するために重要な信号情報を保存し、センサデータから特徴またはエッジを実際に識別または検出しない。様々な実施形態では、特徴および／またはエッジは、３１５および／または３３５での１つ以上の分析ステップ中に検出される。一部の実施形態では、抽出された特徴および／またはエッジデータは、元のキャプチャされたデータと同じビット深度を有する。一部の実施形態では、抽出されたデータは、特徴データ、エッジデータ、または特徴およびエッジデータの組み合わせである。一部の実施形態では、センサデータから特徴および／またはエッジデータを抽出するためにハイパスフィルタが使用される。様々な実施形態では、センサデータから特徴および／またはエッジデータを抽出するために、トーンマッパプロセッサが較正される。
【００４０】
３１３で、前処理が特徴および／またはエッジデータに対して実行される。例えば、信号品質を改善するために、ノイズ除去フィルタがデータに適用され得る。別の例として、深層学習分析の前に特徴およびエッジデータを強調するために、局所コントラスト強調、ゲイン調整、閾値処理、ノイズフィルタリングなどの異なる前処理技術が適用され得る。様々な実施形態では、前処理は、より一般的な前処理技術をセンサデータ全体に適用するのではなく、データの特徴およびエッジ特性を強化するようにカスタマイズされる。一部の実施形態では、前処理は、抽出されたデータに対して圧縮および／またはダウンサンプリングを実行することを含む。一部の実施形態では、３１３での前処理ステップは任意である。
【００４１】
３１５で、初期分析が、特徴および／またはエッジデータを使用して実行される。一部の実施形態では、初期分析は、ニューラルネットワークなどの機械学習モデルを使用する深層学習分析である。様々な実施形態では、初期分析は、ネットワークの第１の層への入力として特徴およびエッジデータを受け取る。一部の実施形態では、ネットワークの初期層は、キャプチャされた画像内の特徴および／またはエッジの検出を優先する。様々な実施形態では、深層学習分析は、畳み込みニューラルネットワークなどの人工ニューラルネットワークを使用して実行される。一部の実施形態では、分析は、人工知能（ＡＩ）プロセッサ上で実行される。
【００４２】
３２１で、センサデータからグローバルデータが抽出される。例えば、グローバルデータは、キャプチャされたセンサデータからコンポーネントデータに抽出される。一部の実施形態では、グローバルデータは、グローバルイルミネーションデータに対応する。一部の実施形態では、抽出されたグローバルデータは、元のキャプチャされたデータと同じビット深度を有する。一部の実施形態では、センサデータからグローバルデータを抽出するためにローパスフィルタが使用される。様々な実施形態では、センサデータからグローバルデータを抽出するために、トーンマッパプロセッサが較正される。グローバルデータを抽出するために、ビニング、リサンプリング、ダウンサンプリングなどの他の手法も使用され得る。様々な実施形態では、抽出プロセスは、グローバルに関連する可能性が高いデータを保持し、センサデータからグローバルな特徴を識別および検出しない。様々な実施形態では、グローバルな特徴は、３３５で実行される分析によって検出される。
【００４３】
３２３で、前処理がグローバルデータに対して実行される。例えば、信号品質を改善するために、ノイズ除去フィルタがデータに適用され得る。別の例として、深層学習分析の前にグローバルデータを強化するために、局所コントラスト強調、ゲイン調整、閾値処理、ノイズフィルタリングなどの異なる前処理技術が適用され得る。様々な実施形態では、前処理は、より一般的な前処理技術をセンサデータ全体に適用するのではなく、グローバルデータの特性を強化するようにカスタマイズされる。一部の実施形態では、グローバルデータの前処理は、データを圧縮することを含む。一部の実施形態では、３２３での前処理ステップは任意である。
【００４４】
３２５で、グローバルデータがダウンサンプリングされる。例えば、グローバルデータの解像度が下げられる。一部の実施形態では、グローバルデータは、データを分析する計算効率を改善し、グローバルデータを深層学習ネットワークの後の方の層への入力として構成するためにサイズが縮小される。一部の実施形態では、グローバルデータは、ビニング、リサンプリング、または別の適切な技術によってダウンサンプリングされる。一部の実施形態では、ダウンサンプリングは、グラフィカル処理ユニット（ＧＰＵ）または画像信号プロセッサを使用して実行される。様々な実施形態では、グローバルデータは特徴および／またはエッジデータと同じ解像度要件を有さないので、ダウンサンプリングはグローバルデータに適切である。一部の実施形態では、３２５で実行されるダウンサンプリングは、３２１でグローバルデータが抽出されるときに実行される。
【００４５】
３３５で、特徴および／またはエッジデータとグローバルデータの深層学習分析の結果を入力として使用して、追加の深層学習分析が実行される。様々な実施形態では、深層学習分析は、深層学習ネットワークの後の方の層でグローバルデータを入力として受け取る。様々な実施形態では、グローバルデータを受け取る層での予想される入力データサイズは、初期の入力層の予想される入力データサイズよりも小さい。例えば、グローバルデータ入力層の入力サイズは、深層学習ネットワークの初期層の入力サイズの半分または４分の１であり得る。一部の実施形態では、ネットワークの後の方の層は、初期層の結果を強化するためにグローバルデータを利用する。様々な実施形態では、深層学習分析が実行され、車両制御結果が決定される。例えば、車両制御の結果は、畳み込みニューラルネットワークを使用して決定される。一部の実施形態では、分析は、人工知能（ＡＩ）プロセッサ上で実行される。
【００４６】
３３７で、深層学習分析の結果が車両制御に提供される。例えば、抽出および処理された画像コンポーネントを使用する機械学習結果は、車両の動きを制御するために利用される。一部の実施形態では、結果は、車両制御動作に対応する。一部の実施形態では、結果は、図１のステップ１０７および／または図２のステップ２１１に関して説明したように提供される。
【００４７】
図４は、ハイパスおよびローパスコンポーネントデータを使用して機械学習処理を実行するためのプロセスの実施形態を示すフロー図である。示される例では、図４のプロセスは、センサデータから２つのデータコンポーネントを抽出し、人工ニューラルネットワークなどの深層学習ネットワークの様々な層にコンポーネントを提供するために使用される。２つのコンポーネントは、ハイパスおよびローパスフィルタを使用して抽出される。様々な実施形態では、結果は、改善された精度、安全性、および／または快適性の結果を伴う自動運転を実施するために使用される。一部の実施形態では、図４のプロセスは、図１、２、および／または３のプロセスを実行するために使用される。一部の実施形態では、ステップ４０１は、図１の１０３、図２の２０３、および／または図３の３０３で実行され、ステップ４０３は、図１の１０３、図２の２０５、および／または図３の３１１で実行され、ステップ４１３は、図１の１０３、図２の２０５、および／または図３の３２１で実行され、ステップ４０５は、図１の１０３、図２の２０７および２０９、および／または図３の３１３で実行され、ステップ４１５および４１７は、図１の１０３、図２の２０７および２０９、および／または図３の３２３および３２５で実行され、ステップ４０７は、図１の１０５、図２の２１１、および／または図３の３１５で実行され、および／またはステップ４２１は、図１の１０５、図２の２１１、および／または図３の３３５で実行される。
【００４８】
４０１で、データが前処理される。一部の実施形態では、データは、高ダイナミックレンジカメラ、レーダ、超音波、および／またはＬｉＤＡＲセンサなどの１つ以上のセンサからキャプチャされたセンサデータである。様々な実施形態では、データは、図１の１０３、図２の２０３、および／または図３の３０３に関して説明したように前処理される。データが前処理されると、処理は４０３および４１３に進む。一部の実施形態では、ステップ４０３および４１３は並行して実行される。
【００４９】
４０３で、ハイパスフィルタがデータに対して実行される。例えば、ハイパスコンポーネントデータを抽出するために、キャプチャされたセンサデータに対してハイパスフィルタが実行される。一部の実施形態では、ハイパスフィルタは、グラフィックス処理ユニット（ＧＰＵ）、トーンマッパプロセッサ、画像信号プロセッサ、または他の画像プリプロセッサを使用して実行される。一部の実施形態では、ハイパスデータコンポーネントは、キャプチャされたセンサデータの特徴および／またはエッジを表す。様々な実施形態では、ハイパスフィルタは、深層学習プロセスの第１の層の応答を保存するように構築される。例えば、ハイパスフィルタは、機械学習ネットワークの上部にある小さなフィルタへの応答を保持するように構築されている。第１の層の後にハイパスコンポーネントに対して実行される分析の結果が、第１の層の後にフィルタリングされていないデータに対して実行される分析と同様になるように、第１の層に関連する信号情報が保存される。様々な実施形態では、結果は、５ｘ５マトリックスフィルタと同じくらい小さいフィルタについて保存される。
【００５０】
４１３で、ローパスフィルタがデータに対して実行される。例えば、ローパスコンポーネントデータを抽出するために、キャプチャされたセンサデータに対してローパスフィルタが実行される。一部の実施形態では、ローパスフィルタは、グラフィックス処理ユニット（ＧＰＵ）、トーンマッパプロセッサ、画像信号プロセッサ、または他の画像プリプロセッサを使用して実行される。一部の実施形態では、ローパスデータコンポーネントは、グローバルイルミネーションデータなどのキャプチャされたセンサデータのグローバルデータを表す。
【００５１】
様々な実施形態では、４０３および４１３で実行されるフィルタリングは、同じまたは異なる画像プリプロセッサを使用することができる。例えば、トーンマッパプロセッサは、ハイパスデータコンポーネントを抽出するために使用され、グラフィックス処理ユニット（ＧＰＵ）は、ローパスデータコンポーネントを抽出するために使用される。一部の実施形態では、ハイパスまたはローパスデータは、元のキャプチャされたデータからデータコンポーネントの１つを差し引くことによって抽出される。
【００５２】
４０５および４１５で、それぞれのハイパスおよびローパスデータコンポーネントに対して後処理が実行される。様々な実施形態では、信号品質を向上させるため、および／またはデータを表すために必要なデータの量を減らすために、異なる後処理技術が利用される。例えば、とりわけ、ノイズ除去、デモザイキング、局所コントラスト強調、ゲイン調整、および／または閾値化プロセスは、それぞれのハイパスおよび／またはローパスデータコンポーネントに対して実行され得る。一部の実施形態では、データコンポーネントは、圧縮および／またはダウンサンプリングされる。例えば、ハイパスおよび／またはローパスデータが抽出されると、それぞれのデータコンポーネントは、ビット深度範囲全体をより効率的に利用するために圧縮され得る。一部の実施形態では、それぞれのデータコンポーネントは、センサによってキャプチャされたより高いビット深度から、深層学習ネットワークと互換性のあるより低いビット深度まで圧縮または量子化される。例えば、１２ビット、１６ビット、２０ビット、３２ビット、またはチャネルあたりの別の適切なビット深度でキャプチャされたセンサデータは、チャネルあたり８ビットなどのより低いビット深度に圧縮または量子化され得る。一部の実施形態では、４０５および／または４１５での後処理ステップは任意である。
【００５３】
４１７で、ローパスデータコンポーネントがダウンサンプリングされる。様々な実施形態では、ローパスデータコンポーネントは、ネットワークの後の方の段階でネットワークに供給され、より効率的なリソースサイズにダウンサンプリングされ得る。例えば、ローパスデータコンポーネントは、フルセンササイズで抽出され、元のサイズの半分または４分の１に縮小され得る。他の割合の削減も可能である。様々な実施形態では、ローパスデータはダウンサンプリングされるが、関連する信号情報を保持する。多くのシナリオでは、ローパスデータは、信号情報を失うことなく簡単にダウンサンプリングされ得る。データをダウンサンプリングすることにより、データはディープラーニングネットワークの後の方の層でより簡単かつ迅速に分析される。
【００５４】
４０７で、ディープラーニング分析がハイパスデータコンポーネントで実行される。一部の実施形態では、ハイパスデータコンポーネントは、深層学習ネットワークの初期層に供給され、特徴およびエッジ検出のための最も重要なデータを表す。様々な実施形態では、ハイパスデータコンポーネントを使用する第１の層での深層学習分析の結果は、ネットワークの後続の層に供給される。例えば、ニューラルネットワークは、複数の層、例えば、５つ以上の層を含み得る。第１の層はハイパスデータコンポーネントを入力として受け取り、第２の層は第１の層によって実行された深層学習分析の結果を受け取る。様々な実施形態では、第２以降の層は、追加の深層学習分析を実行するための追加の入力としてローパスデータコンポーネントを受け取る。
【００５５】
４２１で、４０７で実行された分析の結果と、４１７でダウンサンプリングされたローパスデータコンポーネントとを使用して、追加の深層学習分析が実行される。様々な実施形態では、深層学習分析は、車両制御結果を推測する。例えば、４０７および４２１での深層学習分析の結果は、自動運転用の車両を制御するために使用される。
【００５６】
図５は、ハイパス、バンドパス、およびローパスコンポーネントデータを使用して機械学習処理を実行するためのプロセスの実施形態を示すフロー図である。示される例では、図５のプロセスは、センサデータから３つのデータコンポーネントを抽出し、人工ニューラルネットワークなどの深層学習ネットワークの様々な層でコンポーネントを提供するために使用される。図４のプロセスと同様に、ハイパスおよびローパスコンポーネントが抽出される。さらに、図５のプロセスは、１つ以上のバンドパスデータコンポーネントを抽出する。様々な実施形態では、深層学習ネットワークの異なる層に提供される複数のコンポーネントへのセンサデータの分解により、深層学習分析は、ネットワークの異なる層で異なるデータセットを強調することができる。
【００５７】
一部の実施形態では、図５のプロセスは、図１、２、３、および／または４のプロセスを実行するために使用される。一部の実施形態では、ステップ５０１は、図１の１０３で、図２の２０３、図３の３０３、および／または図４の４０１で実行される。一部の実施形態では、ステップ５０３は、図１の１０３、図２の２０５、図３の３１１、および／または図４の４０３で実行され、ステップ５１３は、図１の１０３、図２の２０５、および／または図３の３１１または３２１で実行され、および／またはステップ５２３は、図１の１０３、図２の２０５、図３の３２１、および／または図４の４１３で実行される。一部の実施形態では、ステップ５０５は、図１の１０３で、図２の２０７および２０９、図３の３１３、および／または図４のステップ４０５で実行され、ステップ５１５は、図１の１０３、図２の２０７および２０９、図３の３１３、３２３、および／または３２５、および／または図４の４０５、４１５、および／または４１７で実行され、および／またはステップ５２５は、図１の１０３、図２の２０７および２０９、図３の３２３および３２５、および／または図４の４１５および４１７で実行される。一部の実施形態では、ステップ５３７は、図１の１０５、図２の２１１、図３の３１５および３３５、および／または図４の４０７および４２１で実行される。
【００５８】
５０１で、データが前処理される。一部の実施形態では、データは、高ダイナミックレンジカメラ、レーダ、超音波、および／またはＬｉＤＡＲセンサなどの１つ以上のセンサからキャプチャされたセンサデータである。様々な実施形態では、データは、図１の１０３、図２の２０３、図３の３０３、および／または図４の４０１に関して説明されるように前処理される。データが前処理されると、処理は５０３、５１３、および５２３に進む。一部の実施形態では、ステップ５０３、５１３、および５２３は、並行して実行される。
【００５９】
５０３で、ハイパスフィルタがデータに対して実行される。例えば、ハイパスコンポーネントデータを抽出するために、キャプチャされたセンサデータに対してハイパスフィルタが実行される。一部の実施形態では、ハイパスフィルタは、グラフィックス処理ユニット（ＧＰＵ）、トーンマッパプロセッサ、画像信号プロセッサ、または他の画像プリプロセッサを使用して実行される。一部の実施形態では、ハイパスデータコンポーネントは、キャプチャされたセンサデータの特徴および／またはエッジを表す。
【００６０】
５１３で、１つ以上のバンドパスコンポーネントを抽出するために、１つ以上のバンドパスフィルタがデータに対して実行される。例えば、特徴、エッジ、中間、および／またはグローバルデータの混合を含むコンポーネントデータを抽出するために、キャプチャされたセンサデータに対してバンドパスフィルタが実行される。様々な実施形態では、１つ以上のバンドパスコンポーネントが抽出され得る。一部の実施形態では、ローパスフィルタは、グラフィックス処理ユニット（ＧＰＵ）、トーンマッパプロセッサ、画像信号プロセッサ、または他の画像プリプロセッサを使用して実行される。一部の実施形態では、バンドパスデータコンポーネントは、主にエッジ／特徴データでも、主にキャプチャされたセンサデータのグローバルデータでもないデータを表す。一部の実施形態では、バンドパスデータは、ハイパスデータコンポーネントおよびローパスデータコンポーネントのみを使用して失われる可能性があるデータ忠実度を維持するために利用される。
【００６１】
５２３で、ローパスフィルタがデータに対して実行される。例えば、ローパスコンポーネントデータを抽出するために、キャプチャされたセンサデータに対してローパスフィルタが実行される。一部の実施形態では、ローパスフィルタは、グラフィックス処理ユニット（ＧＰＵ）、トーンマッパプロセッサ、画像信号プロセッサ、または他の画像プリプロセッサを使用して実行される。一部の実施形態では、ローパスデータコンポーネントは、グローバルイルミネーションデータなどのキャプチャされたセンサデータのグローバルデータを表す。
【００６２】
様々な実施形態では、５０３、５１３、および５２３で実行されるフィルタリングは、同じまたは異なる画像プリプロセッサを使用することができる。例えば、トーンマッパプロセッサは、ハイパスデータコンポーネントを抽出するために使用され、グラフィックス処理ユニット（ＧＰＵ）は、バンドパスおよび／またはローパスデータコンポーネントを抽出するために使用される。一部の実施形態では、データコンポーネントは、元のキャプチャされたデータから１つ以上のデータコンポーネントを差し引くことによって抽出される。
【００６３】
５０５、５１５、および５２５で、それぞれのハイパス、バンドパス、およびローパスデータコンポーネントに対して後処理が実行される。様々な実施形態では、信号品質を向上させるため、および／またはデータを表すために必要なデータの量を減らすために、異なる後処理技術が利用される。一部の実施形態では、異なるコンポーネントは、データコンポーネントを受け取るネットワーク層に適切なサイズに圧縮および／またはダウンサンプリングされる。様々な実施形態では、ハイパスデータは、バンドパスデータよりも高い解像度を有し、バンドパスデータは、ローパスデータよりも高い解像度を有するであろう。一部の実施形態では、異なるバンドパスデータコンポーネントはまた、それぞれが入力として提供されるネットワーク層に適切な異なる解像度を有するであろう。一部の実施形態では、それぞれのデータコンポーネントは、センサによってキャプチャされたより高いビット深度から、深層学習ネットワークと互換性のあるより低いビット深度まで圧縮または量子化される。例えば、チャネルあたり１２ビットでキャプチャされたセンサデータは、チャネルあたり８ビットに圧縮または量子化され得る。様々な実施形態では、前処理フィルタは、図２の２０７および／または図４の４０５、４１５、および／または４１７に関して説明したように適用される。
【００６４】
５３７で、５０５、５１５、および５２５のデータコンポーネントの結果を使用して深層学習分析が実行される。一部の実施形態では、ハイパスデータコンポーネントは、深層学習ネットワークの初期層に供給され、特徴およびエッジ検出のための最も重要なデータを表す。１つ以上のバンドパスデータコンポーネントは、ネットワークの中間層に供給され、特徴／エッジおよび／または有益な中間またはグローバル情報を識別するための追加のデータを含む。ローパスデータコンポーネントはネットワークの後の方の層に供給され、深層学習ネットワークの分析結果を改善するためのグローバル情報を含む。深層学習分析の実行では、分析が進むにつれて、結果の精度を向上させるために、様々なセンサデータを表す追加のデータコンポーネントが様々な層に供給される。様々な実施形態では、深層学習分析は、車両制御結果を推測する。例えば、深層学習分析の結果は、自動運転用の車両を制御するために使用される。一部の実施形態では、少なくとも部分的に車両を自律的に操作するために、機械学習結果が車両制御モジュールに提供される。
【００６５】
図６は、自動運転のための深層学習システムの実施形態を示すブロック図である。一部の実施形態では、図６の深層学習システムは、自動運転および運転者支援自動車の自動運転機能を実施するために使用され得る。例えば、車両に取り付けられたセンサを使用して、センサデータがキャプチャされ、様々な入力コンポーネントとして処理され、深層学習ネットワークの様々な段階に供給される。深層学習分析の結果は、車両の操作を支援するために車両制御モジュールによって使用される。一部の実施形態では、車両制御モジュールは、車両の自動運転または運転者支援操作のために利用される。様々な実施形態では、図１〜５のプロセスは、図６に記載されているような深層学習システムを利用する。
【００６６】
示される例では、深層学習システム６００は、センサ６０１、画像プリプロセッサ６０３、深層学習ネットワーク６０５、人工知能（ＡＩ）プロセッサ６０７、車両制御モジュール６０９、およびネットワークインターフェース６１１を含む深層学習ネットワークである。様々な実施形態では、異なるコンポーネントは、通信可能に接続されている。例えば、センサ６０１からのセンサデータは、画像プリプロセッサ６０３に供給される。画像プリプロセッサ６０３の処理されたセンサデータコンポーネントは、ＡＩプロセッサ６０７上で実行されている深層学習ネットワーク６０５に供給される。ＡＩプロセッサ６０７上で実行されている深層学習ネットワーク６０５の出力は、車両制御モジュール６０９に供給される。様々な実施形態では、ネットワークインターフェース６１１は、車両の自律動作に基づいて、リモートサーバと通信するため、電話をかけるため、テキストメッセージを送信および／または受信するためなどに使用される。
【００６７】
一部の実施形態では、センサ６０１は、１つ以上のセンサを含む。様々な実施形態では、センサ６０１は、車両の異なる位置で、および／または１つ以上の異なる方向に向けられて、車両に取り付けられ得る。例えば、センサ６０１は、前向き、後向き、横向きなどの方向で、車両の前部、側面、後部、および／または屋根などに取り付けられ得る。一部の実施形態では、センサ６１０は、高ダイナミックレンジカメラなどの画像センサであり得る。一部の実施形態では、センサ６０１は、非視覚的センサを含む。一部の実施形態では、センサ６０１は、とりわけ、レーダ、ＬｉＤＡＲ、および／または超音波センサを含む。一部の実施形態では、センサ６０１は、車両制御モジュール６０９を備えた車両に取り付けられていない。例えば、センサ６０１は、隣接する車両に取り付けられ得、および／または道路または環境に取り付けられ得、センサデータをキャプチャするための深層学習システムの一部として含まれる。
【００６８】
一部の実施形態では、画像プリプロセッサ６０３は、センサ６０１のセンサデータを前処理するために使用される。例えば、画像プリプロセッサ６０３は、センサデータを前処理し、センサデータを１つ以上のコンポーネントに分割し、および／または１つ以上のコンポーネントを後処理するために使用され得る。一部の実施形態では、画像プリプロセッサ６０３は、グラフィックス処理ユニット（ＧＰＵ）、中央処理装置（ＣＰＵ）、画像信号プロセッサ、または特殊な画像プロセッサである。様々な実施形態では、画像プリプロセッサ６０３は、高ダイナミックレンジデータを処理するためのトーンマッパプロセッサである。一部の実施形態では、画像プリプロセッサ６０３は、人工知能（ＡＩ）プロセッサ６０７の一部として実装される。例えば、画像プリプロセッサ６０３は、ＡＩプロセッサ６０７のコンポーネントであり得る。
【００６９】
一部の実施形態では、深層学習ネットワーク６０５は、自律的な車両制御を実施するための深層学習ネットワークである。例えば、深層学習ネットワーク６０５は、センサデータを使用して訓練され、車両制御結果を車両制御モジュール６０９に出力するために使用される畳み込みニューラルネットワーク（ＣＮＮ）などの人工ニューラルネットワークであり得る。様々な実施形態では、深層学習ネットワーク６０５は、多段階学習ネットワークであり、ネットワークの２つ以上の異なる段階で入力データを受け取ることができる。例えば、深層学習ネットワーク６０５は、深層学習ネットワーク６０５の第１の層で特徴および／またはエッジデータを受け取ることができ、深層学習ネットワーク６０５の後の方の層（例えば、第２または第３などの層）でグローバルデータを受け取ることができる。様々な実施形態では、深層学習ネットワーク６０５は、ネットワークの２つ以上の異なる層でデータを受け取り、異なる層を介して処理されるときにデータを圧縮および／または縮小することができる。例えば、層１でのデータサイズは、後続の段階でのデータよりも高い解像度である。一部の実施形態では、層１でのデータサイズは、キャプチャされた画像データのフル解像度であり、後続の層でのデータは、キャプチャされた画像データより低い解像度（例えば、サイズの４分の１）である。様々な実施形態では、深層学習ネットワーク６０５の後続の層で画像プリプロセッサ６０３から受け取られた入力データは、１つ以上の前の層を介して処理されるデータの内部データ解像度と一致する。
【００７０】
一部の実施形態では、人工知能（ＡＩ）プロセッサ６０７は、深層学習ネットワーク６０５を実行するためのハードウェアプロセッサである。一部の実施形態では、ＡＩプロセッサ６０７は、センサデータに対して畳み込みニューラルネットワーク（ＣＮＮ）を使用して推測を実行するための特殊なＡＩプロセッサである。一部の実施形態では、ＡＩプロセッサ６０７は、センサデータのビット深度に対して最適化されている。一部の実施形態では、ＡＩプロセッサ６０７は、とりわけ、畳み込み、ドット積、ベクトル、および／または行列演算を含むニューラルネットワーク演算などの深層学習演算用に最適化されている。一部の実施形態では、ＡＩプロセッサ６０７は、グラフィックス処理ユニット（ＧＰＵ）を使用して実装される。様々な実施形態では、ＡＩプロセッサ６０７は、実行されるとＡＩプロセッサに、受け取られた入力センサデータに対して深層学習分析を実行させ、少なくとも部分的に車両を自律的に操作するために使用される機械学習結果を決定させる命令をＡＩプロセッサに提供するように構成されるメモリに結合されている。
【００７１】
一部の実施形態では、車両制御モジュール６０９は、人工知能（ＡＩ）プロセッサ６０７の出力を処理し、出力を車両制御操作に変換するために利用される。一部の実施形態では、車両制御モジュール６０９は、自動運転のために車両を制御するために利用される。一部の実施形態では、車両制御モジュール６０９は、車両の速度および／またはステアリングを調整することができる。例えば、車両制御モジュール６０９は、ブレーキング、ステアリング、車線変更、加速および別の車線への合流などによって車両を制御するために使用され得る。一部の実施形態では、車両制御モジュール６０９は、ブレーキライト、方向指示器、ヘッドライトなどのような車両照明を制御するために使用される。一部の実施形態では、車両制御モジュール６０９は、車両のサウンドシステム、音声アラートの再生、マイクロフォンの有効化、ホーンの有効化などの車両のオーディオ状態を制御するために使用される。一部の実施形態では、車両制御モジュール６０９は、起こり得る衝突または意図された目的地への接近などの運転イベントを運転者および／または乗客に通知する警告システムを含む通知システムを制御するために使用される。一部の実施形態では、車両制御モジュール６０９は、車両のセンサ６０１などのセンサを調整するために使用される。例えば、車両制御モジュール６０９は、向きの変更、出力解像度および／またはフォーマットタイプの変更、キャプチャ率の増減、キャプチャされたダイナミックレンジの調整、カメラの焦点の調整、センサの有効化および／または無効化など、１つ以上のセンサのパラメータを変更するために使用され得る。一部の実施形態では、車両制御モジュール６０９は、フィルタの周波数範囲の変更、特徴および／またはエッジ検出パラメータの調整、チャネルおよびビット深度の調整など、画像プリプロセッサ６０３のパラメータを変更するために使用され得る。様々な実施形態では、車両制御モジュール６０９は、車両の自動運転および／または運転者支援制御を実施するために使用される。
【００７２】
一部の実施形態では、ネットワークインターフェース６１１は、音声データを含むデータを送信および／または受信するための通信インターフェースである。様々な実施形態では、ネットワークインターフェース６１１は、リモートサーバとインターフェースするため、音声通話を接続および発信するため、テキストメッセージを送信および／または受信するためなどのためのセルラまたはワイヤレスインターフェースを含む。例えば、ネットワークインターフェース６１１は、センサ６０１、画像プリプロセッサ６０３、深層学習ネットワーク６０５、ＡＩプロセッサ６０７、および／または車両制御モジュール６０９のための命令および／または動作パラメータの更新を受け取るために使用され得る。例えば、深層学習ネットワーク６０５の機械学習モデルは、ネットワークインターフェース６１１を使用して更新され得る。別の例として、ネットワークインターフェース６１１は、センサ６０１のファームウェアおよび／または画像処理パラメータなどの画像プリプロセッサ６０３の動作パラメータを更新するために使用され得る。一部の実施形態では、ネットワークインターフェース６１１は、事故または事故に近い場合に緊急サービスと緊急連絡をとるために使用される。例えば、衝突の場合、ネットワークインターフェース６１１は、助けを求めて緊急サービスに連絡するために使用され得、車両の位置および衝突の詳細を緊急サービスに通知し得る。様々な実施形態では、ネットワークインターフェース６１１は、目的地の場所および／または予想到着時間を取得および／または更新するためにカレンダー情報にアクセスするなどの自動運転機能を実施するために使用される。
【００７３】
前述の実施形態は、理解を明確にするためにいくらか詳細に説明されてきたが、本発明は、提供された詳細に限定されない。本発明を実施する多くの代替方法が存在する。開示された実施形態は例示的なものであり、限定的なものではない。
【図１】
2021530023.tif 000003
【図２】
2021530023.tif 000004
【図３】
2021530023.tif 000005
【図４】
2021530023.tif 000006
【図５】
2021530023.tif 000007
【図６】
2021530023.tif 000008
【国際調査報告】
2021530023.tif 000009