(57)【要約】      （修正有）【課題】ロボット・システムまたは自律運転車両（ＡＤＶ）用の視覚ベース知覚システムによって敵対的サンプル（例えば、入力画像）を検出する。【解決手段】一実施形態では、システムは、ＡＤＶの取得デバイスによって取得された第１の画像を受信する５０１。システムは、第１の画像に画像変換を適用して第２の画像を生成する５０３。システムは、第１の画像および第２の画像に物体検出モデルを適用して、第１の出力５１３および第２の出力５１５をそれぞれ生成する。システムは、第１の出力と第２の出力との間の類似性メトリックを計算する５０７。システムは、第１の画像と前の画像との間の類似性メトリックの時間的変動が閾値を超える場合に、第１の画像を敵対的サンプルとして検出する５１１。【選択図】図５
2020200033.tif 000002
【特許請求の範囲】
【請求項１】
自律運転車両（ＡＤＶ）の取得デバイスによって取得された第１の画像を受信することと、
画像変換を実行して前記第１の画像を第２の画像に変換することと、
前記第１の画像および前記第２の画像に物体検出モデルを適用して、第１の出力および第２の出力をそれぞれ生成することと、
前記第１の出力と前記第２の出力との間の類似性メトリックを計算することと、
前記第１の画像と前の画像との間の前記類似性メトリックの時間的変動が所定の閾値を超える場合に、前記第１の画像を敵対的サンプルとして検出することと、
を含むコンピュータ実装方法。
【請求項２】
前記第１の出力および前記第２の出力の各々が、境界ボックスのリストと、該境界ボックスのロケーションと、入力された画像についての前記境界ボックスのための各クラス・オブジェクトのアノテーションと、を含む請求項１に記載の方法。
【請求項３】
前記画像変換が、色深度低減、画像圧縮またはぼかし変換を含む請求項１に記載の方法。
【請求項４】
前記類似性メトリックが、複数の入力間の距離に基づいて計算される請求項１に記載の方法。
【請求項５】
前記距離が、クラス予測における差分と、境界ボックスの数と、該境界ボックスの重複領域と、を含む請求項４に記載の方法。
【請求項６】
敵対的サンプルが検出された場合に、前記ＡＤＶのためのフェイルセーフ機構を有効化することを含む請求項１に記載の方法。
【請求項７】
前記フェイルセーフ機構は、前記ＡＤＶが自動運転モードの場合に、前記敵対的サンプルを無視すること、または、前記ＡＤＶのユーザに制御を伝達することを含む請求項６に記載の方法。
【請求項８】
プロセッサによって実行されたとき、該プロセッサに動作を実行させる命令を記憶した非一時的マシン可読媒体であって、前記動作が、
自律運転車両（ＡＤＶ）の取得デバイスによって取得された第１の画像を受信することと、
画像変換を実行して前記第１の画像を第２の画像に変換することと、
前記第１の画像および前記第２の画像に物体検出モデルを適用して、第１の出力および第２の出力をそれぞれ生成することと、
前記第１の出力と前記第２の出力との間の類似性メトリックを計算することと、
前記第１の画像と前の画像との間の前記類似性メトリックの時間的変動が所定の閾値を超える場合に、前記第１の画像を敵対的サンプルとして検出することと、
を含む非一時的マシン可読媒体。
【請求項９】
前記第１の出力および前記第２の出力の各々が、境界ボックスのリストと、該境界ボックスのロケーションと、入力された画像についての前記境界ボックスのための各クラス・オブジェクトのアノテーションと、を含む請求項８に記載の非一時的マシン可読媒体。
【請求項１０】
前記画像変換が、色深度低減、画像圧縮またはぼかし変換を含む請求項８に記載の非一時的マシン可読媒体。
【請求項１１】
前記類似性メトリックが、複数の入力間の距離に基づいて計算される請求項８に記載の非一時的マシン可読媒体。
【請求項１２】
前記距離が、クラス予測における差分と、境界ボックスの数と、該境界ボックスの重複領域と、を含む請求項１１に記載の非一時的マシン可読媒体。
【請求項１３】
前記動作は、敵対的サンプルが識別された場合に、前記ＡＤＶのためのフェイルセーフ機構を有効化することを含む請求項８に記載の非一時的マシン可読媒体。
【請求項１４】
前記フェイルセーフ機構は、前記ＡＤＶが自動運転モードの場合に、前記敵対的サンプルを無視すること、または、前記ＡＤＶのユーザに制御を伝達することを含む請求項１３に記載の非一時的マシン可読媒体。
【請求項１５】
プロセッサと、
該プロセッサによって実行されたとき、前記プロセッサに動作を実行させる命令を記憶するために前記プロセッサに接続されたメモリと、
を備えるデータ処理システムであって、前記動作が、
自律運転車両（ＡＤＶ）の取得デバイスによって取得された第１の画像を受信することと、
画像変換を実行して前記第１の画像を第２の画像に変換することと
前記第１の画像および前記第２の画像に物体検出モデルを適用して、それぞれ、第１の出力および第２の出力を生成することと、
前記第１の出力と前記第２の出力との間の類似性メトリックを計算することと、
前記第１の画像と前の画像との間の前記類似性メトリックの時間的変動が所定の閾値を超える場合に、前記第１の画像を敵対的サンプルとして検出することと、
を含むデータ処理システム。
【請求項１６】
前記第１の出力および前記第２の出力の各々が、境界ボックスのリストと、該境界ボックスのロケーションと、入力された画像についての前記境界ボックスのための各クラス・オブジェクトのアノテーションと、を含む請求項１５に記載のシステム。
【請求項１７】
前記画像変換が、色深度低減、画像圧縮またはぼかし変換を含む請求項１５に記載のシステム。
【請求項１８】
前記類似性メトリックが、複数の入力間の距離に基づいて計算される請求項１５に記載のシステム。
【請求項１９】
前記距離が、クラス予測における差分と、境界ボックスの数と、該境界ボックスの重複領域と、を含む請求項１８に記載のシステム。
【請求項２０】
前記動作は、敵対的サンプルが識別された場合に、前記ＡＤＶのためのフェイルセーフ機構を有効化することを含む請求項１５に記載のシステム。
【請求項２１】
前記フェイルセーフ機構は、前記ＡＤＶが自動運転モードの場合に、前記敵対的サンプルを無視することと、または、前記ＡＤＶのユーザに制御を伝達することを含む請求項２０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の実施形態は、一般に、自律車両を動作させることに関する。より具体的には、本開示の実施形態は、ロボット・システムまたは自律運転車両（ＡＤＶ）用の視覚ベース知覚システムによって敵対的サンプル（例えば、入力画像）を検出することに関する。
【背景技術】
【０００２】
自律モード（例えば、無人）で動作している車両は、乗車者、特にドライバーを運転に関連した責任から解放することができる。自律モードで動作している場合、車両は、車載センサを用いて様々な場所へと航行でき、最低限の人とのやりとりで、あるいは、場合によっては搭乗者なしに、車両が移動できるようになる。
【０００３】
モーション・プランニングおよび制御は自律運転における重要な動作である。しかしながら、従来のモーション・プランニング動作は、異なるタイプの車両に対する特徴の差異を考慮することなく、主に経路の曲率および速度から、与えられた経路を完了することの困難性を推定する。同一のモーション・プランニングおよび制御が、全てのタイプの車両に適用されるが、場合によっては正確かつ滑らかでない可能性がある。
【０００４】
視覚ベースの知覚は、自律車両およびロボット・システムの主要なタスクのうちの１つであり、深層学習ベースのコンピュータ視覚モデルは、このタスクにおける最先端のパフォーマンスを達成しており、広く展開されている。しかしながら、これらの深層ニューラル・ネットワーク（ＤＮＮ）は、入念に作成された敵対的入力、例えば、「敵対的サンプル」に影響を受けやすいことが指摘されている。例えば、停止標識に入念に作成された小さいステッカーを貼ることによって、敵は、自律車両の視覚ベース知覚システムを騙して、それを速度制限標識として認識させることができることが実証されている。
【発明の概要】
【０００５】
本開示の実施形態は、同様の参照符号が同様の要素を示す、添付の図面の図中に例として示されており、限定として示されていない。
【図面の簡単な説明】
【０００６】
【図１】一実施形態に係るネットワーク化システムを示すブロック図である。
【図２】一実施形態に係る自律車両の例を示すブロック図である。
【図３Ａ】一実施形態による、自律車両とともに使用される知覚およびプランニング・システムの例を示すブロック図である。
【図３Ｂ】一実施形態による、自律車両とともに使用される知覚およびプランニング・システムの例を示すブロック図である。
【図４】一実施形態に係る敵対的サンプル・モジュールの例を示すブロック図である。
【図５】一実施形態に係る敵対的サンプルを検出するためのワークフローを示すブロック図である。
【図６】一実施形態に係る車両用の物体検出システムの出力を示すブロック図である。
【図７】一実施形態に係る摂動をもつ車両のための物体検出システムの出力を示すブロック図である。
【図８】一実施形態に係る方法を示す流れ図である。
【図９】一実施形態に係るデータ処理システムを示すブロック図である。
【発明を実施するための形態】
【０００７】
本開示の様々な実施形態および態様が、以下で論じられる詳細を参照しながら説明され、添付の図面は様々な実施形態を示す。以下の説明および図面は、本開示を例示するものであり、本開示を限定するものとして解釈されるべきではない。本開示の様々な実施形態への完全な理解を与えるために、多数の具体的な詳細について説明する。しかしながら、いくつかの事例では、本開示の実施形態の簡潔な議論を提供するために、よく知られている、あるいは、従来の詳細については説明しない。
【０００８】
本明細書における「一実施形態」または「実施形態」に対する言及は、実施形態に関して説明される特定の特徴、構造または特性が本開示の少なくとも１つの実施形態に含まれ得ることを意味する。本明細書中の様々な個所における「一実施形態では」というフレーズの出現は、必ずしも全てが同じ実施形態を指すとは限らない。
【０００９】
いくつかの実施形態によれば、システムは、ＡＤＶの取得デバイスによって取得された第１の画像を受信する。システムは、第２の画像を生成するために第１の画像に画像変換を適用する。システムは、それぞれ、第１の出力および第２の出力を生成するために、第１の画像および第２の画像に物体検出モデルを適用する。システムは、第１の出力と第２の出力との間の類似性メトリックを計算する。システムは、第１の画像と前の画像との間の類似性メトリックの時間的変動が閾値を超える場合、第１の画像を敵対的サンプルとして検出する。
【００１０】
図１は、本開示の一実施形態に係る自律車両ネットワーク構成を示すブロック図である。図１を参照すると、ネットワーク構成１００は、ネットワーク１０２を介して１または複数のサーバ１０３〜１０４に通信可能に接続され得る自律車両１０１を備えている。示されている１つの自律車両が示されているが、複数の自律車両が、ネットワーク１０２を介して互いに、および／または、サーバ１０３〜１０４に接続されていてもよい。ネットワーク１０２は、ローカル・エリア・ネットワーク（ＬＡＮ）、インターネットなどのワイド・エリア・ネットワーク（ＷＡＮ）、セルラー・ネットワーク、衛星ネットワーク、またはこれらの組合せなど、有線または無線の任意のタイプのネットワークであり得る。サーバ１０３〜１０４は、ウェブまたはクラウド・サーバ、アプリケーション・サーバ、バックエンド・サーバ、またはそれらの組合せなど、任意の種類のサーバまたはサーバのクラスタであり得る。サーバ１０３〜１０４は、データ解析サーバ、コンテンツ・サーバ、交通情報サーバ、ＭＰＯＩ（ｍａｐ  ａｎｄ  ｐｏｉｎｔ  ｏｆ  ｉｎｔｅｒｅｓｔ）サーバまたはロケーション・サーバなどであり得る。
【００１１】
自律車両とは、ドライバーからの入力が殆どまたは全くない環境下で車両が航行する自律モードにあるように構成され得る車両をいう。そのような自律車両は、車両が動作する環境についての情報を検出するように構成された１または複数のセンサを有するセンサ・システムを備えることができる。車両およびこれに関連するコントローラは、検出された情報を使用して、この環境下で航行する。自律車両１０１は、マニュアル・モード、完全自律モードまたは部分自律モードで動作することができる。
【００１２】
一実施形態では、自律車両１０１は、これに限定されないが、知覚およびプランニング・システム１１０と、車両制御システム１１１と、ワイヤレス通信システム１１２と、ユーザ・インターフェース・システム１１３と、インフォテインメント・システム１１４と、センサ・システム１１５とを備えている。自律車両１０１は、例えば、加速信号またはコマンド、減速信号またはコマンド、操舵信号またはコマンド、制動信号またはコマンドなど、様々な通信信号および／またはコマンドを使用して、車両制御システム１１１および／または知覚およびプランニング・システム１１０によって制御され得る、エンジン、ホイール、ステアリング・ホイール、トランスミッションなど、通常の車両中に備えられるいくつかの一般的な構成要素をさらに備えていてもよい。
【００１３】
構成要素１１０〜１１５は、相互接続、バス、ネットワークまたはこれらの組合せを介して互いに通信可能に接続され得る。例えば、構成要素１１０〜１１５は、コントローラ・エリア・ネットワーク（ＣＡＮ）バスを介して互いに通信可能に接続され得る。ＣＡＮバスは、マイクロコントローラおよびデバイスが、ホスト・コンピュータなしにアプリケーション内で互いに通信することを可能にするように設計されたビークルバス規格である。ＣＡＮバスは、元来は、自動車内の多重化電気配線のために設計されたメッセージベースのプロトコルであるが、多くの他の状況においても使用される。
【００１４】
次に図２を参照すると、一実施形態では、センサ・システム１１５は、これに限定されないが、１または複数のカメラ２１１と、全地球測位システム（ＧＰＳ）ユニット２１２と、慣性測定ユニット（ＩＭＵ）２１３と、レーダー・ユニット２１４と、光検出および測距（ＬＩＤＡＲ）ユニット２１５とを備えている。ＧＰＳシステム２１２は、自律車両の位置に関する情報を与えるように動作可能なトランシーバを備えていてもよい。ＩＭＵユニット２１３は、慣性加速度に基づいて自律車両の位置姿勢の変化を感知し得る。レーダー・ユニット２１４は、無線信号を利用して、自律車両のローカル環境内の物体を感知するシステムであってもよい。いくつかの実施形態では、物体を感知することに加えて、レーダー・ユニット２１４は、さらに、物体の速度および／または進路を感知し得る。ＬＩＤＡＲユニット２１５は、自律車両がレーザーを使用して位置される環境中の物体を感知し得る。ＬＩＤＡＲユニット２１５は、いくつかあるシステム構成要素の中でも特に、１または複数のレーザー源、レーザー・スキャナおよび１または複数の検出器を備えることができる。カメラ２１１は、自律車両を囲む環境の画像を取得する１または複数のデバイスを備えていてもよい。カメラ２１１はスチール・カメラおよび／またはビデオ・カメラであってもよい。カメラは、例えば、回転するおよび／または傾斜するプラットフォーム上にカメラを取り付けることによって、機械的に移動可能であってもよい。
【００１５】
センサ・システム１１５は、ソナー・センサ、赤外線センサ、操舵センサ、スロットル・センサ、制動センサ、およびオーディオ・センサ（例えば、マイクロフォン）など、他のセンサをさらに備えてもよい。オーディオ・センサは、自律車両を囲む環境から音を取得するように構成されていてもよい。操舵センサは、車両のステアリング・ホイール、ホイールの操舵角またはこれらの組合せを感知するように構成されていてもよい。スロットル・センサおよび制動センサは、それぞれ、車両のスロットル位置および制動位置を感知する。いくつかの状況では、スロットル・センサおよび制動センサは一体型スロットル／制動センサとして一体化され得る。
【００１６】
一実施形態では、車両制御システム１１１は、これに限定されないが、ステアリング・ユニット２０１、（加速ユニットとも呼ばれる）スロットル・ユニット２０２、および制動ユニット２０３を備えている。ステアリング・ユニット２０１は、車両の方向または進路を調整するためのものである。スロットル・ユニット２０２は、車両の速度および加速度を順に制御するモーターまたはエンジンの速度を制御するためのものである。制動ユニット２０３は、摩擦を与えることによって車両を減速させ、車両のホイールまたはタイヤを遅くするためのものである。なお、図２に示されている構成要素は、ハードウェア、ソフトウェアまたはこれらの組合せで実装されてもよい。
【００１７】
再び図１を参照すると、ワイヤレス通信システム１１２は、自律車両１０１と、デバイス、センサ、他の車両など、外部システムとの間の通信を可能にするためのものである。例えば、ワイヤレス通信システム１１２は、１または複数のデバイスと直接、またはネットワーク１０２上のサーバ１０３〜１０４など、通信ネットワークを介して、ワイヤレスで通信することができる。ワイヤレス通信システム１１２は、任意のセルラー通信ネットワーク、または、例えば、ＷｉＦｉを使用するワイヤレス・ローカル・エリア・ネットワーク（ＷＬＡＮ）を使用して、別の構成要素またはシステムと通信することができる。ワイヤレス通信システム１１２は、例えば、赤外リンク、Ｂｌｕｅｔｏｏｔｈなどを使用して、デバイス（例えば、車両１０１内の搭乗者のモバイル・デバイス、ディスプレイ・デバイス、スピーカ）と直接通信することができる。ユーザ・インターフェース・システム１１３は、例えば、キーボード、タッチ・スクリーン・ディスプレイ・デバイス、マイクロフォンおよびスピーカなどを含む、車両１０１内に実装された周辺デバイスの一部であり得る。
【００１８】
自律車両１０１の機能のいくつかまたは全ては、特に、自律運転モードで動作しているとき、知覚およびプランニング・システム１１０によって制御または管理され得る。知覚およびプランニング・システム１１０は、センサ・システム１１５、制御システム１１１、ワイヤレス通信システム１１２、および／またはユーザ・インターフェース・システム１１３から情報を受信し、受信された情報を処理し、出発地点から目的地点までのルートまたは経路を計画し、次いで、プランニングおよび制御情報に基づいて車両１０１を走らせるために必要なハードウェア（例えば、プロセッサ、メモリ、ストレージ）およびソフトウェア（例えば、オペレーティング・システム、プランニングおよびルーティング・プログラム）を備えている。あるいは、知覚およびプランニング・システム１１０が車両制御システム１１１と一体化されていてもよい。
【００１９】
例えば、搭乗者としてのユーザは、例えば、ユーザ・インターフェースを介して、旅程の出発地および目的地を指定し得る。知覚およびプランニング・システム１１０は旅程関連データを取得する。例えば、知覚およびプランニング・システム１１０は、サーバ１０３〜１０４の一部であり得るＭＰＯＩサーバから、ロケーションおよびルート情報を取得し得る。ロケーション・サーバはロケーション・サービスを提供し、ＭＰＯＩサーバはマップ・サービスおよびいくつかのロケーションのＰＯＩを提供する。あるいは、そのようなロケーションおよびＭＰＯＩ情報は、知覚およびプランニング・システム１１０の永続性ストレージ・デバイス内にローカルでキャッシュされてもよい。
【００２０】
自律車両１０１がルートに沿って移動している間、知覚およびプランニング・システム１１０はまた、交通情報システムまたはサーバ（ＴＩＳ）からリアルタイム交通情報を取得し得る。なお、サーバ１０３〜１０４は第三者エンティティによって動作させられてもよい。あるいは、サーバ１０３〜１０４の機能は知覚およびプランニング・システム１１０と一体化されていてもよい。リアルタイム交通情報、ＭＰＯＩ情報およびロケーション情報、ならびにセンサ・システム１１５によって検出または感知されたリアルタイムのローカル環境データ（例えば、障害物、物体、近くの車両）に基づいて、知覚およびプランニング・システム１１０は、最適ルートを計画し、指定された目的地に安全にかつ効率的に到達するために計画されたルートに従って、例えば、制御システム１１１を介して車両１０１を走らせることができる。
【００２１】
サーバ１０３は、様々なクライアントのためにデータ解析サービスを実行するためのデータ解析システムであってもよい。一実施形態では、データ解析システム１０３はデータ・コレクタ１２１と機械学習エンジン１２２とを備えている。データ・コレクタ１２１は、自律車両でも人間のドライバーによって運転される通常の車両でも、様々な車両から運転統計１２３を収集する。運転統計１２３は、異なる時点において車両のセンサによって取得された、発行された運転コマンド（例えば、スロットル、制動、ステアリング・コマンド）および車両の応答（例えば、速度、加速、減速、方向）を示す情報を含む。運転統計１２３は、例えば、ルート（出発地および目的地を含む）、ＭＰＯＩ、道路条件、天候条件など、異なる時点における運転環境を記述する情報をさらに含んでいてもよい。
【００２２】
運転統計１２３に基づいて、機械学習エンジン１２２は、様々な目的で、ルール、アルゴリズム、および／または予測モデルのセット１２４を生成するか、またはトレーニングする。一実施形態では、アルゴリズム／モデル１２４は、障害物を検出するためのモデルと、これに限定されないが、ぼかし、ＪＰＥＧ圧縮、ビット圧縮、色深度低減などを含む様々な画像変換のためのアルゴリズムとを含んでいてもよい。障害物検出モデルは、深層畳み込みニューラル・ネットワーク・モデルなど、深層学習ニューラル・ネットワーク・モデルであってもよい。アルゴリズム／モデル１２４は、その後、リアルタイムで自律運転中に利用されるように、ＡＤＶ上にアップロードされ得る。
【００２３】
図３Ａおよび図３Ｂは、一実施形態に係る、自律車両とともに使用される知覚およびプランニング・システムの一例を示すブロック図である。システム３００は、これに限定されないが、知覚およびプランニング・システム１１０、制御システム１１１、およびセンサ・システム１１５を備える、図１の自律車両１０１の一部として実装され得る。図３Ａ〜図３Ｂを参照すると、知覚およびプランニング・システム１１０は、これに限定されないが、ローカライゼーション・モジュール３０１、知覚モジュール３０２、予測モジュール３０３、決定モジュール３０４、プランニング・モジュール３０５、制御モジュール３０６、ルーティング・モジュール３０７、および敵対的サンプル・モジュール３０８を備えている。
【００２４】
モジュール３０１〜３０８のいくつかまたは全ては、ソフトウェア、ハードウェア、またはこれらの組合せにおいて実装され得る。例えば、これらのモジュールは、永続性ストレージ・デバイス３５２内にインストールされ、メモリ３５１にロードされ、１つまたは複数のプロセッサ（図示せず）によって実行され得る。なお、これらのモジュールのいくつかまたは全ては、図２の車両制御システム１１１のいくつかまたは全てのモジュールに通信可能に接続され得るか、またはそれらのモジュールと一体化されてもよい。モジュール３０１〜３０８のうちのいくつかは一体型モジュールとして一体化されてもよい。例えば、敵対的サンプル・モジュール３０８は一体型モジュールとして知覚モジュール３０２と一体化されてもよい。
【００２５】
ローカライゼーション・モジュール３０１は、（例えば、ＧＰＳユニット２１２を活用して）自律車両３００の現在のロケーションを決定し、ユーザの旅程またはルートに関する任意のデータを管理する。（マップおよびルート・モジュールとも呼ばれる）ローカライゼーション・モジュール３０１は、ユーザの旅程またはルートに関する任意のデータを管理する。ユーザは、例えば、ユーザ・インターフェースを介して、ログインし、旅程の出発地および目的地を指定し得る。ローカライゼーション・モジュール３０１は、旅程関連データを取得するために、マップおよびルート情報３１１など、自律車両３００の他の構成要素と通信する。例えば、ローカライゼーション・モジュール３０１は、ロケーション・サーバおよびＭＰＯＩ（マップおよびＰＯＩ）サーバからロケーションおよびルート情報を取得し得る。ロケーション・サーバはロケーション・サービスを与え、ＭＰＯＩサーバは、マップおよびルート情報３１１の一部としてキャッシュされ得る、マップ・サービスおよびいくつかのロケーションのＰＯＩを提供する。自律車両３００がルートに沿って移動している間、ローカライゼーション・モジュール３０１はまた、交通情報システムまたはサーバからリアルタイム交通情報を取得し得る。
【００２６】
センサ・システム１１５によって提供されたセンサ・データ、およびローカライゼーション・モジュール３０１によって取得されたローカライゼーション情報に基づいて、周囲環境の知覚が知覚モジュール３０２によって決定される。知覚情報は、通常のドライバーが、そのドライバーが運転している車両の周囲で知覚するであろうことを表し得る。知覚は、例えば、物体の形態の、車線構成、信号機信号、別の車両の相対位置、歩行者、建築物、横断歩道、または他の交通関係標識（例えば、停止標識、前方優先道路標識）などを含んでいてもよい。車線構成は、例えば、車線の形状（例えば、直線または湾曲）、車線の幅、道路にいくつの車線があるか、一方向車線か両方向車線か、合流車線か分割車線か、出車車線など、車線または複数の車線を記述する情報を含む。
【００２７】
知覚モジュール３０２は、自律車両の環境における物体および／または特徴を識別するために１または複数のカメラによって取得された画像を処理し、分析するためのコンピュータ視覚システムまたはコンピュータ視覚システムの機能を含み得る。物体は、交通信号、車道境界、他の車両、歩行者および／または障害物などを含むことができる。コンピュータ視覚システムは、物体認識アルゴリズム、ビデオ追跡、および他のコンピュータ視覚技法を使用し得る。いくつかの実施形態では、コンピュータ視覚システムは、環境をマッピングすること、物体を追跡すること、物体の速度を推定することなどが可能である。知覚モジュール３０２はまた、レーダーおよび／またはＬＩＤＡＲなど、他のセンサによって提供された他のセンサ・データに基づいて物体を検出することができる。
【００２８】
物体の各々について、予測モジュール３０３は、物体がそのような状況下でどのような挙動をするかを予測する。予測は、マップ／ルート情報３１１および交通ルール３１２のセットに鑑みて、その時点における運転環境を知覚する知覚データに基づいて実行される。例えば、物体が反対方向にある車両であり、現在の運転環境が交差点を含む場合、予測モジュール３０３は、車両が直進しそうなのか、または曲がりそうなのかを予測する。知覚データが、交差点に信号機がないことを示す場合、予測モジュール３０３は、車両が交差点に入る前に完全に停止しなければならないかもしれないことを予測し得る。知覚データが、車両が現在左折専用車線または右折専用車線にあることを示す場合、予測モジュール３０３は、それぞれ、車両が左折するまたは右折する可能性がより高いことを予測し得る。
【００２９】
各々の物体について、決定モジュール３０４は、どのように物体を処理するかに関する決定を行う。例えば、特定の物体（例えば、交差するルートにある別の車両）ならびに物体を記述するその物体のメタデータ（例えば、速度、方向、転向角）について、決定モジュール３０４は、どのように物体に遭遇するか（例えば、追い越し、道を譲る、停止、通過）を決定する。決定モジュール３０４は、永続性ストレージ・デバイス３５２中に記憶され得る交通ルールまたは運転ルール３１２など、ルールのセットに従ってそのような決定を行い得る。
【００３０】
ルーティング・モジュール３０７は、出発地点から目的地点までの１または複数のルートまたは経路を提供するように構成される。例えば、ユーザから受信された出発地から目的地までの所与の旅程について、ルーティング・モジュール３０７は、ルートおよびマップ情報３１１を取得し、目的地に到達するための出発地からの全ての可能なルートまたは経路を決定する。ルーティング・モジュール３０７は、ルーティング・モジュール３０７が決定した、目的地に到達するための出発地からのルートの各々について、地形図の形態の基準線を生成し得る。基準線とは、他の車両、障害物または交通条件など、他からの干渉がない理想的なルートまたは経路をいう。すなわち、道路上に他の車両、歩行者または障害物がない場合、ＡＤＶは基準線に正確にまたは厳密に従うべきである。地形図は、次いで、決定モジュール３０４および／またはプランニング・モジュール３０５に与えられる。決定モジュール３０４および／またはプランニング・モジュール３０５は、ローカライゼーション・モジュール３０１からの交通条件、知覚モジュール３０２によって知覚された運転環境、および予測モジュール３０３によって予測された交通条件など、他のモジュールによって提供された他のデータに鑑みて、最適なルートのうちの１つを選択し、変更するために、すべての可能なルートを検査する。ＡＤＶを制御するための実際の経路またはルートは、その時点における特定の運転環境に依存してルーティング・モジュール３０７によって提供された基準線に近くなり得るか、またはその基準線とは異なり得る。
【００３１】
知覚された物体の各々についての決定に基づいて、プランニング・モジュール３０５は、基礎としてルーティング・モジュール３０７によって与えられた基準線を使用して、自律車両のための経路またはルートならびに運転パラメータ（例えば、距離、速度、および／または転向角）を計画する。すなわち、所与の物体について、決定モジュール３０４は物体にどのように対処するかを決定し、一方、プランニング・モジュール３０５はその対処をどのように行うかを決定する。例えば、所与の物体について、決定モジュール３０４は、物体を通過することを決定し得、一方、プランニング・モジュール３０５は、物体の左側を通るのか、または右側を通るのかを決定し得る。車両３００が次の移動サイクル（例えば、次のルート／経路セグメント）中にどのように移動するかを記述する情報を含む、プランニングおよび制御データがプランニング・モジュール３０５によって生成される。例えば、プランニングおよび制御データは、時速３０マイル（ｍｐｈ）の速度で１０メートル移動し、次いで、２５ｍｐｈの速度で右側車線に変更するように車両３００に命令し得る。
【００３２】
プランニングおよび制御データに基づいて、制御モジュール３０６は、プランニングおよび制御データによって定義されたルートまたは経路に従って、車両制御システム１１１に適切なコマンドまたは信号を送ることによって、自律車両を制御し、運転する。プランニングおよび制御データは、経路またはルートに沿って異なる時点における適切な車両設定または運転パラメータ（例えば、スロットル、制動、ステアリング・コマンド）を使用してルートまたは経路の第１のポイントから第２のポイントまで車両を運転するために十分な情報を含む。
【００３３】
一実施形態では、プランニング段階は、例えば、１００ミリ秒（ｍｓ）の時間間隔ごとなど、運転サイクルとも呼ばれるいくつかのプランニング・サイクル中に実行される。プランニング・サイクルまたは運転サイクルの各々について、１または複数の制御コマンドがプランニングおよび制御データに基づいて発行される。すなわち、１００ｍｓごとに、プランニング・モジュール３０５は、例えば、ターゲット位置、およびＡＤＶがターゲット位置に到達するために必要とされる時間を含む、次のルート・セグメントまたは経路セグメントを計画する。あるいは、プランニング・モジュール３０５は、特定の速度、方向、および／または操舵角などをさらに指定し得る。一実施形態では、プランニング・モジュール３０５は、５秒など、次の事前決定された時間期間のためにルート・セグメントまたは経路セグメントを計画する。各プランニング・サイクルについて、プランニング・モジュール３０５は、前のサイクル中に計画されたターゲット位置に基づいて現在のサイクル（例えば、次の５秒）のためのターゲット位置を計画する。制御モジュール３０６は、次いで、現在のサイクルのプランニングおよび制御データに基づいて１または複数の制御コマンド（例えば、スロットル、ブレーキ、ステアリング制御コマンド）を生成する。
【００３４】
なお、決定モジュール３０４およびプランニング・モジュール３０５は一体型モジュールとして一体化されてもよい。決定モジュール３０４／プランニング・モジュール３０５は、自律車両のための運転経路を決定するためのナビゲーション・システムまたはナビゲーション・システムの機能を含んでいてもよい。例えば、ナビゲーション・システムは、概して、最終目的地に至る車道ベースの経路に沿って自律車両を進めながら、知覚された障害物を実質的に回避する経路に沿って自律車両の動きに影響を及ぼすために、一連の速度および方向進路を決定し得る。目的地は、ユーザ・インターフェース・システム１１３を介してユーザ入力に従って設定され得る。ナビゲーション・システムは、自律車両が動作中である間、運転経路を動的に更新し得る。ナビゲーション・システムは、自律車両のための運転経路を決定するように、ＧＰＳシステムからのデータおよび１または複数のマップを組み込むことができる。
【００３５】
図４は、一実施形態に係る、敵対的サンプル・モジュールの例を示すブロック図である。敵対的サンプル・モジュール３０８は、いくつかの画像サンプルまたは画像ストリーム（例えば、ビデオ・フィード）中の敵対的サンプルを識別することができる。図４を参照すると、一実施形態では、敵対的サンプル・モジュール３０８は、画像受信機モジュール４０１、画像変換モジュール４０３、物体検出モジュール４０５、類似性メトリック計算機４０７、および敵対的サンプル検出モジュール４０９などのモジュールを備えている。画像受信機モジュール４０１は、ＡＤＶ１０１のセンサ・システム（例えば、カメラ、ＬＩＤＡＲ、レーダーまたはこれらの組合せ）から１または複数の画像を受信することができる。画像変換モジュール４０３は、受信された画像に画像変換を適用して、変換された画像のセットを生成することができる。画像変換の例は、これに限定されないが、ぼかし、ビット低減、カラー低減、ＪＰＥＧ圧縮、様々な空間フィルタ処理などを含む。物体検出モジュール４０５は、（元の画像と変換された画像の両方について）画像中の物体を検出し、分類することができる。物体検出モジュール４０５は、物体分類のための関連付けられた信頼度スコアをもつ境界ボックスを用いてマーキングされた物体をもつ出力画像を生成することができる。一実施形態では、物体検出モジュール４０５は、深層ニューラル・ネットワーク・モデルなど、機械学習または人工知能モデルによって実装される。これらのモデルは、モデル・トレーニング中にデータの過剰適合または過小適合によって引き起こされた敵対的サンプル中の物体を検出しないことがある。類似性メトリック計算機４０７は、任意の２つの出力画像または物体検出出力について類似性メトリックを計算することができる。類似性メトリックは、２つの画像間の距離に基づいて類似度スコアを生成することができる。例えば、任意の２つの画像について、境界ボックス検出の回数における差分、境界ボックスの重複エリア、物体分類が重複する境界ボックスについて一致するかどうかなど、加重係数に基づいて、距離が計算され得る。敵対的サンプル検出モジュール４０９は、元の画像と画像の変換の各々との間の類似性メトリックが所定の閾値を超える場合、画像が敵対的サンプルであると決定することができる。敵対的サンプル検出モジュール４０９はまた、検出における時間的変動に基づいて、サンプルが実際に敵対的であることを確認することができる。
【００３６】
図５は、一実施形態に係る、敵対的サンプルを検出するためのワークフローを示すブロック図である。ワークフロー５００は図１のシステム１００によって実行され得る。特に、ワークフロー５００は図３Ｂのモジュール３０８によって実行され得る。図４〜図５を参照すると、一実施形態では、ワークフロー５００は、入力画像（時間＝ｔ０、ｔ１、…ｔＮ）５０１の時間シーケンスを、一度に１または複数の画像で受信する。別の実施形態では、ワークフロー５００はビデオ・フィードを受信する。受信された各画像について、ワークフロー５００は（画像変換モジュール４０３を使用して）画像に１または複数の画像変換（Ｔ１、Ｔ２、…ＴＭ）５０３を適用することができる。画像変換は、ぼかし、フィルタ処理、カラー低減、ビット低減、ＪＰＥＧ圧縮など、またはこれらの組合せを含む。例えば、ｉｍａｇｅ０は時刻＝０、すなわち基準時刻における画像とする。ｉｍａｇｅ０は、ＪＰＥＧ圧縮、例えば、Ｔ１（ｉｍａｇｅ０）を適用され得る。元の画像およびその画像の変換、例えば、ｉｍａｇｅ０およびＴ１（ｉｍａｇｅ０）は、物体検出モジュール４０５を通され得る。物体検出モジュール４０５は、物体検出ＭＬ／ＡＩモデルまたは画像認識モデルを使用して元の画像５１３および変換された画像５１５についての出力を生成する。ワークフロー５００は、次いで、ｉｍａｇｅ０／Ｔ１（ｉｍａｇｅ０）ペアについての距離測定を計算するために（類似性メトリック計算機モジュール４０７を使用して）類似性メトリック計算５０７を適用する。１つの変換のみが示されているが、ｉｍａｇｅ０／Ｔ１（ｉｍａｇｅ０）、ｉｍａｇｅ０／Ｔ２（ｉｍａｇｅ０）、ｉｍａｇｅ０／Ｔ３（ｉｍａｇｅ０）…ｉｍａｇｅ０／ＴＭ（ｉｍａｇｅ０）など、類似性決定のための１つまたは複数のペアを生成するために複数の変換が適用され得る。
【００３７】
距離測定は、重み係数を有する式に基づいて計算され得る。例えば、元の画像（例えば、ｉｍａｇｅ０）および変換された画像（例えば、Ｔ１（ｉｍａｇｅ０））について、距離についての式（類似性メトリック）は、距離＝ｗ＿１＊（ｆ＿１）＋ｗ＿２＊（ｆ＿２）＋…であり得、上式で、ｗ＿ｘは重みであり、ｆ＿ｘは、元の画像の出力と変換された画像の出力との間の特性における差分を表す係数である。差分係数は、これに限定されないが、物体検出アルゴリズムによって推論された境界ボックスの数についての比、重複する境界ボックスの数についての比、境界ボックスの各々についての一致する物体分類のパーセンテージ、境界ボックスについての信頼度スコアにおける差分、および元の画像と変換された画像との間の重複する境界ボックスについての重複するエリアのパーセンテージを含むことができる。
【００３８】
ｉｍａｇｅ０および１または複数の対応する変換画像の各々についての距離測定計算に基づいて、ワークフロー５００は、画像ｉｍａｇｅ０が敵対的サンプル５０９であるかどうかを決定する。一実施形態では、差分測定値が第１の事前決定された閾値を超える場合、ｉｍａｇｅ０は敵対的である。ここで、敵対的サンプルとは、画像からの物体が物体検出モジュールによって検出されないようにする摂動を有するサンプルをいう。動機は、敵対的サンプルの検出が変換にわたって一貫しておらず、これらの非一貫性が変換された画像によって取得されるので、変換された画像は、この場合も物体が検出されることを可能にするであろうということである。
【００３９】
別の実施形態では、差分測定が２またはそれ以上の時間サンプルについて一貫性がないとき、敵対的画像は時間的変動５１１によって確認される。例えば、連続する時間フレーム（例えば、ｔ＝０およびｔ＝１）間で取得デバイスによって取得された物体は、両方の時間フレーム中に存在すべきである。したがって、物体が１つのフレームから落ち、前のフレームのうちの１または複数が物体を取得している場合、その１つのフレームは敵対的サンプルとして確認され得る。決定は、距離測定における時間的変動についての連続する画像フレームのための距離測定を分析することによって計算され得る。例えば、現在の時間フレームと前の時間フレームとの間の距離測定における差分が第２の事前決定された閾値を超える場合、現在の時間フレームについての画像は敵対的サンプルとして確認される。別の実施形態では、時間的変動分析はＭＬ／ＡＩモデルまたは任意の統計モデルによって実行され得る。
【００４０】
一実施形態では、画像フレームが敵対的サンプルとして検出された場合、ＡＤＶは、ＡＤＶのためのフェイルセーフ機構を有効化することができる。例えば、ＡＤＶのセンサ・システムは敵対的フレームなしで済ませることができ、例えば、敵対的サンプルが消滅するまで、１または複数のフレームが一時的に無視される。別の実施形態では、敵対的画像は、ＡＤＶの他のカメラ、赤外、ＬＩＤＡＲ、レーダー、または他の画像化センサからの別の画像によって増強されるか、または代用される。一実施形態では、敵対的サンプルが検出され、および／または、確認される間、車両が自動運転モードにある場合、ＡＤＶは、フェイルセーフ・モードに入り、（ディスプレイ、音、またはハプティック・フィードバック振動などを介して）ＡＤＶの操舵を一時的に引き継ぐようにユーザに警告する。いくつかのフェイルセーフ機構のみについて説明したが、他の従来のフェイルセーフ機構を採用することができる。
【００４１】
図６〜図７は、障害物検出のためのＭＬ／ＡＩモデルが死角を有することを示している。図６は、一実施形態に係る、車両のための物体検出システムの出力を示すブロック図である。図７は、一実施形態に係る、摂動をもつ車両のための物体検出システムの出力を示すブロック図である。図６を参照すると、白いバンが、０．９９の信頼度スコアを有する「車」として（境界ボックスを用いて）検出されている。図７は、摂動をもつ同じバンを示しているが、しかしながら、バンは障害物として検出されない。ここでは、両方のシナリオが、物体検出のために同じ物体検出アルゴリズム（例えば、同じＭＬ／ＡＩモデル）を使用している。
【００４２】
図８は、一実施形態に係る方法を示す流れ図である。プロセス８００は、ソフトウェア、ハードウェア、またはそれらの組合せを含み得る処理ロジックによって実行され得る。例えば、プロセス８００は、図１の知覚およびプランニング・システム１１０または図３Ｂの敵対的サンプル・モジュール３０８によって実行され得る。図８を参照すると、ブロック８０１において、処理ロジックは、ＡＤＶの取得デバイスによって取得された第１の画像を受信する。ブロック８０２において、処理ロジックは、第１の画像に画像変換を適用して第２の画像を生成する。ブロック８０３において、処理ロジックは、第１の画像および第２の画像に物体検出モデルを適用して、第１の出力および第２の出力をそれぞれ生成する。ブロック８０８において、処理ロジックは、第１の出力と第２の出力との間の類似性メトリックを計算する。ブロック８０５において、処理ロジックは、第１の画像と前の画像との間の類似性メトリックの時間的変動が閾値を超える場合、第１の画像を敵対的サンプルとして検出する。
【００４３】
一実施形態では、第１の出力および第２の出力は、境界ボックスのリストと、境界ボックスのロケーションと、入力された画像についての境界ボックスのための各クラス・オブジェクトのアノテーションとを含む。一実施形態では、画像変換は、色深度低減、画像圧縮、またはぼかし変換を含む。一実施形態では、類似性メトリックは、２つの入力間の距離に基づいて計算される。
【００４４】
別の実施形態では、距離は、クラス予測における差分と、境界ボックスの数と、境界ボックスの重複領域とを含む。一実施形態では、処理ロジックは、さらに、敵対的サンプルが識別された場合、ＡＤＶのためのフェイルセーフ機構を有効化する。別の実施形態では、フェイルセーフ機構は、ＡＤＶが自動運転モードにある場合、敵対的サンプルを無視すること、またはＡＤＶのユーザに制御を伝達することとを含む。
【００４５】
なお、上記で図示し、説明したような構成要素のいくつかのまたは全ては、ソフトウェア、ハードウェア、またはこれらの組合せにおいて実装されてもよい。例えば、そのような構成要素は、永続性ストレージ・デバイス中にインストールされ、記憶されるソフトウェアとして実装されてもよく、そのソフトウェアは、本出願全体にわたって説明されるプロセスまたは動作を実行するためのプロセッサ（図示せず）によってメモリにロードされ、実行されてもよい。あるいは、そのような構成要素は、アプリケーションから、対応するドライバおよび／またはオペレーティング・システムを介してアクセスされ得る集積回路（例えば、特定用途向けＩＣまたはＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）、またはフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）など、専用のハードウェアにプログラムされるか、または埋め込まれる実行可能コードとして実装されてもよい。さらに、そのような構成要素は、１つまたは複数の特定の命令を介してソフトウェア構成要素によってアクセス可能な命令セットの一部としてプロセッサまたはプロセッサ・コア中の特定のハードウェア論理として実装されてもよい。
【００４６】
図９は、本発明の一実施形態とともに使用され得るデータ処理システムの例を示すブロック図である。例えば、システム１５００は、上記で説明したように、例えば、ＡＤＶ１０１など、上記で説明したプロセスまたは方法のいずれかを実行する上記で説明したデータ処理システム、または、例えばサーバ１０３など、上記で説明したサーバのいずれかを表し得る。
【００４７】
システム１５００は多くの異なる構成要素を備えることができる。これらの構成要素は、集積回路（ＩＣ）、集積回路（ＩＣ）の部分、個別電子デバイス、またはコンピュータ・システムのマザーボードまたはアドイン・カードなど、回路板に適応される他のモジュールとして、またはコンピュータ・システムのシャーシ内に別段に組み込まれる構成要素として実装されてもよい。
【００４８】
なお、システム１５００は、コンピュータ・システムの多くの構成要素の高レベルのビューを示すものである。しかしながら、追加の構成要素がいくつかの実装形態において存在してもよく、さらに、図示された構成要素の異なる構成が他の実装形態において行われてもよいことを理解されたい。システム１５００は、デスクトップ、ラップトップ、タブレット、サーバ、モバイル・フォン、メディア・プレーヤ、パーソナル・デジタル・アシスタント（ＰＤＡ）、スマートウォッチ、パーソナル・コミュニケータ、ゲーム・デバイス、ネットワーク・ルータまたはハブ、ワイヤレス・アクセス・ポイント（ＡＰ）またはリピータ、セットトップ・ボックス、またはそれらの組合せを表し得る。さらに、単一のマシンまたはシステムのみが示されているが、「マシン」または「システム」という用語は、本明細書で論じた方法のいずれか１つまたは複数を実行するための命令のセット（または複数のセット）を個々にまたは一緒に実行するマシンまたはシステムの任意の集合を含むようにも取られるものとする。
【００４９】
一実施形態では、システム１５００は、バスまたは相互接続１５１０を介したプロセッサ１５０１、メモリ１５０３、およびデバイス１５０５〜１５０８を備える。プロセッサ１５０１は、プロセッサ中に含まれる単一のプロセッサ・コアまたは複数のプロセッサ・コアをもつ単一のプロセッサまたは複数のプロセッサを表し得る。プロセッサ１５０１は、マイクロプロセッサ、中央処理ユニット（ＣＰＵ）など、１つまたは複数の汎用プロセッサを表し得る。より詳細には、プロセッサ１５０１は、複合命令セット・コンピューティング（ＣＩＳＣ）マイクロプロセッサ、縮小命令セット・コンピューティング（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、または他の命令セットを実装するプロセッサ、または命令セットの組合せを実装するプロセッサであり得る。プロセッサ１５０１はまた、特定用途向け集積回路（ＡＳＩＣ）、セルラーまたはベースバンド・プロセッサ、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、ネットワーク・プロセッサ、グラフィックス・プロセッサ、ネットワーク・プロセッサ、通信プロセッサ、暗号プロセッサ、コプロセッサ、埋込みプロセッサ、または命令を処理することが可能な任意の他のタイプの論理など、１または複数の専用プロセッサであってもよい。
【００５０】
プロセッサ１５０１は、超低電圧プロセッサなど、低電力マルチコア・プロセッサ・ソケットであってもよく、システムの様々な構成要素との通信のための主要な処理ユニットおよび中央ハブとして働き得る。そのようなプロセッサはシステム・オン・チップ（ＳｏＣ）として実装されてもよい。プロセッサ１５０１は、本明細書で論じた動作およびステップを実行するための命令を実行するように構成される。システム１５００は、ディスプレイ・コントローラ、グラフィックス・プロセッサ、および／またはディスプレイ・デバイスを含み得る随意のグラフィックス・サブシステム１５０４と通信するグラフィックス・インターフェースをさらに備えてもよい。
【００５１】
プロセッサ１５０１は、一実施形態では、所与の量のシステム・メモリを与えるための複数のメモリ・デバイスを介して実装され得るメモリ１５０３と通信してもよい。メモリ１５０３は、ランダム・アクセス・メモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、または他のタイプのストレージ・デバイスなど、１または複数の揮発性ストレージ（またはメモリ）デバイスを含んでいてもよい。メモリ１５０３は、プロセッサ１５０１、または任意の他のデバイスによって実行される命令のシーケンスを含む情報を記憶してもよい。例えば、様々なオペレーティング・システムの実行可能コードおよび／またはデータ、デバイス・ドライバ、ファームウェア（例えば、入出力基本システムまたはＢＩＯＳ）、および／またはアプリケーションは、プロセッサ１５０１によってメモリ１５０３にロードされ、実行されてもよい。オペレーティング・システムは、例えば、マイクロソフト（登録商標）製のＷｉｎｄｏｗｓ（登録商標）オペレーティング・システム、アップル製のＭａｃ  ＯＳ（登録商標）／ｉＯＳ（登録商標）、Ｇｏｏｇｌｅ（登録商標）製のＡｎｄｒｏｉｄ（登録商標）、Ｌｉｎｕｘ（登録商標）、Ｕｎｉｘ（登録商標）、またはＶｘＷｏｒｋｓなど、他のリアルタイムまたは埋込みオペレーティング・システムなど、任意の種類のオペレーティング・システムであってもよい。
【００５２】
システム１５００は、ネットワーク・インターフェース・デバイス１５０５、随意の入力デバイス１５０６、および他の随意のＩＯデバイス１５０７を備える、デバイス１５０５〜１５０８など、ＩＯデバイスをさらに備えていてもよい。ネットワーク・インターフェース・デバイス１５０５はワイヤレス・トランシーバおよび／またはネットワーク・インターフェース・カード（ＮＩＣ）を含み得る。ワイヤレス・トランシーバは、ＷｉＦｉトランシーバ、赤外線トランシーバ、Ｂｌｕｅｔｏｏｔｈトランシーバ、ＷｉＭａｘトランシーバ、ワイヤレス・セルラー・テレフォニー・トランシーバ、衛星トランシーバ（例えば、全地球測位システム（ＧＰＳ）トランシーバ）、または他の無線周波数（ＲＦ）トランシーバ、またはそれらの組合せであり得る。ＮＩＣはイーサネット・カードであってもよい。
【００５３】
入力デバイス１５０６は、マウス、タッチパッド、（ディスプレイ・デバイス１５０４と一体化され得る）タッチ・センシティブ・スクリーン、スタイラスなどのポインタ・デバイス、および／またはキーボード（例えば、物理キーボード、またはタッチ・センシティブ・スクリーンの一部として表示される仮想キーボード）を備えていてもよい。例えば、入力デバイス１５０６は、タッチ・スクリーンに接続されたタッチ・スクリーン・コントローラを含んでいてもよい。タッチ・スクリーンおよびタッチ・スクリーン・コントローラは、限定はしないが、容量性、抵抗性、赤外、および表面弾性波技術、ならびに他の近接センサ・アレイ、またはタッチ・スクリーンとの１つまたは複数の接触点を決定するための他の要素を含む、いくつかのタッチ・センシティブ技術のいずれかを使用して、例えば、接触および動きまたはそれらの中断を検出することができる。
【００５４】
ＩＯデバイス１５０７はオーディオ・デバイスを備えていてもよい。オーディオ・デバイスは、音声認識、音声複製、デジタル・レコーディング、および／またはテレフォニー機能など、音声対応機能を可能にするためのスピーカーおよび／またはマイクロフォンを含んでいてもよい。他のＩＯデバイス１５０７は、ユニバーサル・シリアル・バス（ＵＳＢ）ポート、パラレル・ポート、シリアル・ポート、プリンタ、ネットワーク・インターフェース、バス・ブリッジ（例えば、ＰＣＩ−ＰＣＩブリッジ）、センサ（例えば、加速度計、ジャイロスコープなどの動きセンサ、磁力計、光センサ、コンパス、近接センサなど）、またはそれらの組合せをさらに備えていてもよい。デバイス１５０７は、写真およびビデオ・クリップを記録するなど、カメラ機能を可能にするために利用される、電荷結合素子（ＣＣＤ）または相補型金属酸化物半導体（ＣＭＯＳ）光センサなど、光センサを含み得る画像化処理サブシステム（例えば、カメラ）をさらに備えていてもよい。いくつかのセンサは、センサ・ハブ（図示せず）を介して相互接続１５１０に接続され得るが、キーボードまたは熱センサなど、他のデバイスは、システム１５００の固有の構成または設計に依存する埋込みコントローラ（図示せず）によって制御されてもよい。
【００５５】
データ、アプリケーション、１つまたは複数のオペレーティング・システムなど、情報の永続性記憶を可能にするために、大容量ストレージ（図示せず）もプロセッサ１５０１に接続してもよい。様々な実施形態では、より薄く、より軽いシステム設計を可能にするために、ならびにシステム反応性を改善するために、この大容量ストレージはソリッド・ステート・デバイス（ＳＳＤ）によって実装されてもよい。しかしながら、他の実施形態では、システム・アクティビティの再開時に高速電源投入が行われ得るように、電源切断イベント中にコンテキスト状態および他のそのような情報の不揮発性記憶を可能にするために、大容量ストレージは、主に、ＳＳＤキャッシュとして働くためのより小さい量のＳＳＤストレージをもつハード・ディスク・ドライブ（ＨＤＤ）を使用して実装されてもよい。また、フラッシュ・デバイスは、例えば、シリアル・ペリフェラル・インターフェース（ＳＰＩ）を介してプロセッサ１５０１に接続されてもよい。このフラッシュ・デバイスは、基本入出力ソフトウェア（ＢＩＯＳ）ならびにシステムの他のファームウェアを含むシステム・ソフトウェアの不揮発性記憶を可能にし得る。
【００５６】
ストレージ・デバイス１５０８は、（マシン可読記憶媒体またはコンピュータ可読媒体としても知られる）コンピュータアクセス可能記憶媒体１５０９を備えてもよく、コンピュータアクセス可能記憶媒体１５０９上に、本明細書で説明した方法または機能のいずれか１つまたは複数を具現化する命令またはソフトウェアの１つまたは複数のセット（例えば、モジュール、ユニット、および／または論理１５２８）が記憶される。処理モジュール／ユニット／論理１５２８は、例えば、図１の知覚およびプランニング・システム１１０または図３Ｂの敵対的サンプル・モジュール３０８など、上記で説明した構成要素のいずれかを表し得る。処理モジュール／ユニット／論理１５２８はまた、データ処理システム１５００による処理モジュール／ユニット／論理１５２８の実行中、メモリ１５０３内および／またはプロセッサ１５０１内に完全にまたは少なくとも部分的に常駐してもよく、メモリ１５０３およびプロセッサ１５０１はまた、マシンアクセス可能記憶媒体を構成する。処理モジュール／ユニット／論理１５２８は、さらに、ネットワーク・インターフェース・デバイス１５０５を介してネットワーク上で送信または受信されてもよい。
【００５７】
コンピュータ可読記憶媒体１５０９はまた、上記で説明したいくつかのソフトウェア機能を記憶するために永続的に使用されてもよい。コンピュータ可読記憶媒体１５０９は、例示的な実施形態では、単一の媒体として示されているが、「コンピュータ可読記憶媒体」という用語は、命令の１つまたは複数のセットを記憶する単一の媒体または複数の媒体（例えば、集中または分散データベース、および／または関連付けられたキャッシュおよびサーバ）を含むように取られるべきである。「コンピュータ可読記憶媒体」という用語はまた、マシンによる実行のための命令のセットを記憶することまたは符号化することが可能であり、本発明の方法のいずれか１つまたは複数をマシンに実行させる、任意の媒体を含むように取られるものとする。「コンピュータ可読記憶媒体」という用語は、したがって、限定はしないが、ソリッドステート・メモリ、および光および磁気媒体、または任意の他の非一時的マシン可読媒体を含むように取られるものとする。
【００５８】
本明細書で説明する処理モジュール／ユニット／論理１５２８、構成要素および他の特徴は、個別ハードウェア構成要素として実装されるか、またはＡＳＩＣ、ＦＰＧＡ、ＤＳＰまたは同様のデバイスなど、ハードウェア構成要素の機能に一体化されてもよい。加えて、処理モジュール／ユニット／論理１５２８は、ハードウェア・デバイス内でファームウェアまたは機能回路として実装されてもよい。さらに、処理モジュール／ユニット／論理１５２８は、任意の組合せハードウェア・デバイスおよびソフトウェア構成要素中に実装されてもよい。
【００５９】
システム１５００はデータ処理システムの様々な構成要素を用いて示されているが、システム１５００は、構成要素を相互接続する任意の特定のアーキテクチャまたは様式を表すものではなく、したがって、詳細は本発明の実施形態に密接な関係がないことに留意されたい。また、より少ない構成要素、または場合によってはより多い構成要素を有するネットワーク・コンピュータ、ハンドヘルド・コンピュータ、モバイル・フォン、サーバ、および／または他のデータ処理システムも本発明の実施形態とともに使用され得ることが諒解されよう。
【００６０】
コンピュータ・メモリ内のデータ・ビットに対する動作のアルゴリズムおよび記号表現に関して、上記の詳細な説明のいくつかの部分を提示した。これらのアルゴリズムの説明および表現は、データ処理分野における当業者によって、それらの当業者の作業の要旨を最も効果的に他の当業者に伝達するために使用される方法である。アルゴリズムは、ここでは、一般に、所望の結果につながる動作の自己矛盾のないシーケンスとして想到される。動作は、物理量の物理的操作を必要とする動作である。
【００６１】
しかしながら、すべてのこれらの用語および同様の用語は適切な物理量に関連するものであり、これらの量に付される便宜上のラベルに過ぎないことに留意されたい。上記の説明から明らかなように、別段に明記されていない限り、説明全体にわたって、以下の特許請求の範囲に記載された用語などの用語を利用する議論は、コンピュータ・システムのレジスタおよびメモリ内で物理（電子）量として表されるデータを操作し、コンピュータ・システム・メモリまたはレジスタまたは他のそのような情報ストレージ、送信またはディスプレイ・デバイス内で物理量として同様に表される他のデータに変換する、コンピュータ・システムまたは同様の電子計算デバイスのアクションおよびプロセスを指すことを諒解されたい。
【００６２】
図中に示された技法は、１つまたは複数の電子デバイス上で記憶され、実行されるコードおよびデータを使用して実装され得る。そのような電子デバイスは、非一時的コンピュータ可読記憶媒体（例えば、磁気ディスク、光ディスク、ランダム・アクセス・メモリ、読取り専用メモリ、フラッシュ・メモリ・デバイス、相変化メモリ）および一時的コンピュータ可読伝送媒体（例えば、電気、光、音響、または搬送波、赤外線信号、デジタル信号など、他の形態の伝搬される信号）など、コンピュータ可読媒体を使用して、コードおよびデータを記憶し、（内部でおよび／またはネットワークを介して他の電子デバイスと）通信する。
【００６３】
上記の図に示されたプロセスまたは方法は、ハードウェア（例えば回路、専用論理など）、（例えば、非一時的コンピュータ可読媒体上で具現化される）ファームウェア、ソフトウェア、または両方の組合せを備える処理ロジックによって実行され得る。プロセスまたは方法について、いくつかの逐次動作に関して上記で説明したが、説明した動作のうちのいくつかは異なる順序で実行され得ることを諒解されたい。その上、いくつかの動作は連続的にではなく並行して実行され得る。
【００６４】
上記の明細書では、本発明の実施形態について、本発明の特定の例示的な実施形態を参照しながら説明した。以下の特許請求の範囲に記載されているように、本発明のより広い趣旨および範囲から逸脱することなく本発明の実施形態に様々な変更が行われ得ることが明らかになろう。明細書および図面は、したがって、限定的な意味ではなく、例示的な意味であると見なされるべきである。
【図１】
2020200033.tif 000003
【図２】
2020200033.tif 000004
【図３Ａ】
2020200033.tif 000005
【図３Ｂ】
2020200033.tif 000006
【図４】
2020200033.tif 000007
【図５】
2020200033.tif 000008
【図６】
2020200033.tif 000009
【図７】
2020200033.tif 000010
【図８】
2020200033.tif 000011
【図９】
2020200033.tif 000012