(57)【特許請求の範囲】
【請求項１】
オブジェクト検出の方法であって、
画像全体のコンテキストに対応するコンテキストラベルを、深層ニューラルネットワーク（ＤＮＮ）を通して識別することと、
前記識別されたコンテキストラベルに関連付けられたコンテキストベースの事前分布に少なくとも部分的に基づいて、前記画像中の関心オブジェクトを検出するための確からしい領域のセットを選択することと
を備える、方法。
【請求項２】
前記確からしい領域のセットを正確にするように前記ＤＮＮを訓練することをさらに備える、請求項１に記載の方法。
【請求項３】
ユーザ入力に少なくとも部分的に基づいて前記コンテキストラベルを作成することをさらに備える、請求項１に記載の方法。
【請求項４】
教師なし学習に少なくとも部分的に基づいて前記コンテキストラベルを作成することをさらに備える、請求項１に記載の方法。
【請求項５】
前記コンテキストラベルに少なくとも部分的に基づいて特定のロケーションに集中させることによって前記確からしい領域のセットを生成することをさらに備える、請求項１に記載の方法。
【請求項６】
追加のコンテキストラベルを識別することと、
前記追加の識別されたコンテキストラベルに少なくとも部分的に基づいて、前記画像中の関心オブジェクトを検出する確からしい領域の追加のセットを選択することと
をさらに備える、請求項１に記載の方法。
【請求項７】
関心オブジェクトが存在するかどうかを前記確からしい領域の各々に関して決定するように前記ＤＮＮを訓練することをさらに備える、請求項１に記載の方法。
【請求項８】
前記コンテキストラベルにしたがって前記確からしい領域の各々を分類するように前記ＤＮＮを訓練することをさらに備える、請求項１に記載の方法。
【請求項９】
オブジェクト検出のための装置であって、
メモリと、
前記メモリに結合された少なくとも１つのプロセッサと
を備え、前記少なくとも１つのプロセッサは、
画像全体のコンテキストに対応するコンテキストラベルを、深層ニューラルネットワーク（ＤＮＮ）を通して、識別することと、
前記識別されたコンテキストラベルに関連付けられたコンテキストベースの事前分布に少なくとも部分的に基づいて、前記画像中の関心オブジェクトを検出するための確からしい領域のセットを選択することと
を行うように構成される、装置。
【請求項１０】
前記少なくとも１つのプロセッサは、前記確からしい領域のセットを正確にするように前記ＤＮＮを訓練するようにさらに構成される、請求項９に記載の装置。
【請求項１１】
前記少なくとも１つのプロセッサは、ユーザ入力に少なくとも部分的に基づいて前記コンテキストラベルを作成するようにさらに構成される、請求項９に記載の装置。
【請求項１２】
前記少なくとも１つのプロセッサは、教師なし学習に少なくとも部分的に基づいて前記コンテキストラベルを作成するようにさらに構成される、請求項９に記載の装置。
【請求項１３】
ｉ）前記少なくとも１つのプロセッサは、前記コンテキストラベルに少なくとも部分的に基づいて前記確からしい領域のセットを生成するようにさらに構成される、
ｉｉ）前記少なくとも１つのプロセッサは、
別のコンテキストラベルを識別することと、
前記別の識別されたコンテキストラベルに少なくとも部分的に基づいて前記画像中の関心オブジェクトを検出する確からしい領域の別のセットを選択することと
をさらに行うように構成される、
ｉｉｉ）前記少なくとも１つのプロセッサは、関心オブジェクトが存在するかどうかを前記確からしい領域の各々に関して決定するように前記ＤＮＮを訓練するようにさらに構成される、または、
ｉｖ）前記少なくとも１つのプロセッサは、前記コンテキストラベルにしたがって前記確からしい領域の各々を分類するように前記ＤＮＮを訓練するようにさらに構成される、
のうちの１つを備える、請求項９に記載の装置。
【請求項１４】
非一時的なプログラムコードを記録した、オブジェクト検出のための非一時的なコンピュータ可読媒体であって、前記プログラムコードは、
画像全体のコンテキストに対応するコンテキストラベルを、深層ニューラルネットワーク（ＤＮＮ）を通して識別するためのプログラムコードと、
前記識別されたコンテキストラベルに関連付けられたコンテキストベースの事前分布に少なくとも部分的に基づいて、前記画像中の関心オブジェクトを検出するための確からしい領域のセットを選択するためのプログラムコードと
を備える、非一時的なコンピュータ可読媒体。
【請求項１５】
ワイヤレス通信のための装置であって、
画像全体のコンテキストに対応するコンテキストラベルを、深層ニューラルネットワーク（ＤＮＮ）を通して識別するための手段と、
前記識別されたコンテキストラベルに関連付けられたコンテキストベースの事前分布に少なくとも部分的に基づいて、前記画像中の関心オブジェクトを検出するための確からしい領域のセットを選択するための手段と
を備える、装置。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
[0001]  本特許出願は、２０１５年７月９日出願の、「REAL-TIME OBJECT DETECTION IN IMAGES VIA ONE GLOBAL-LOCAL NETWORK」と題する、米国仮特許出願第６２／１９０，６８５号の利益を主張し、その開示は、その全体が本明細書に参照によって明確に組み込まれている。
【技術分野】
【０００２】
[0002]  本開示のある特定の態様は、概して、機械学習に関し、より具体的には、画像中のオブジェクトを検出するために機械学習ネットワークにおいてコンテキストベースの事前分布（context-based priors）を利用することに関する。
【背景技術】
【０００３】
[0003]  人工ニューロン（例えば、ニューロンモデル）の相互結合されたグループを備え得る、人工ニューラルネットワーク（artificial neural network）は、計算デバイス（computational device）であるか、または計算デバイスによって行われる方法を表す。
【０００４】
[0004]  畳み込みニューラルネットワーク（convolutional neural networks）は、フィードフォワード人工ニューラルネットワークのタイプである。畳み込みニューラルネットワークは、各々が受容野（receptive field）を有し、また集合的に入力空間をタイリングする（tile）ニューロンの集合（collections）を含み得る。畳み込みニューラルネットワーク（ＣＮＮ）は、多数のアプリケーションを有する。特に、ＣＮＮは、パターン認識および分類のエリアで広く使用されている。
【０００５】
[0005]  深層学習アーキテクチャ、例えば、ディープビリーフネットワーク（deep belief networks）および深層畳み込みネットワーク（deep convolutional networks）は、層を成すニューラルネットワークアーキテクチャであり、ここにおいて、ニューロンの第１の層の出力がニューロンの第２の層への入力となり、ニューロンの第２の層の出力がニューロンの第３の層への入力となる、というように続く。深層ニューラルネットワークは、特徴の階層を認識するように訓練される（trained）ことができるので、それらは、オブジェクト認識アプリケーションにおいて増加的に使用されている。畳み込みニューラルネットワークのように、これらの深層学習アーキテクチャにおける計算は、処理ノードの個体群（population）にわたって分布し得、それは、１つまたは複数の計算チェーンに構成され得る。これらの多層アーキテクチャは一度に１つの層が訓練されることができ、誤差逆伝播（back-propagation）を使用して微調整されることができる。
【０００６】
[0006]  他のモデルもオブジェクト認識に利用可能である。例えば、サポートベクターマシン（ＳＶＭ：support vector machine）は、分類のために適用されることができる学習ツールである。サポートベクターマシンは、データをカテゴリ化する分離超平面（separating hyperplane）（例えば、決定境界（decision boundary））を含む。超平面は、教師あり学習（supervised learning）によって定義されている。所望の超平面が、訓練データのマージンを増加させる。言い換えると、超平面は、訓練例まで最大最小距離（the greatest minimum distance）を有するべきである。
【０００７】
[0007]  これらの解決法は、いくつかの分類ベンチマークで優れた結果を達成するが、それらの計算上の複雑性が極めて高い場合もある。追加的に、モデルの訓練が困難であることもある。
【発明の概要】
【０００８】
[0008]  １つの態様において、オブジェクト検出の方法が開示される。本方法は、画像全体のコンテキストラベルを識別することを含む。本方法は、また、識別されたコンテキストラベルに基づいて前記画像中の関心オブジェクト（objects of interest）を検出するための確からしい領域（likely region）のセットを選択することを含む。
【０００９】
[0009]  別の態様は、メモリと、前記メモリに結合された少なくとも１つのプロセッサとを有する、オブジェクト検出のための装置を開示する。（単数または複数の）前記プロセッサは、画像全体のコンテキストラベルを識別するように構成される。（単数または複数の）前記プロセッサは、また、識別されたコンテキストラベルに基づいて前記画像中の関心オブジェクトを検出するための確からしい領域のセットを選択するように構成される。
【００１０】
[0010]  別の態様は、オブジェクト検出のための非一時的なコンピュータ可読媒体を開示する。前記非一時的なコンピュータ可読媒体は、（単数または複数の）前記プロセッサによって実行されると、（単数または複数の）前記プロセッサに、画像全体のコンテキストラベルを識別する動作を行わせる、その上に記録された非一時的なプログラムコードを有する。前記プログラムコードは、また、（単数または複数の）前記プロセッサに、識別されたコンテキストラベルに基づいて前記画像中の関心オブジェクトを検出するための確からしい領域のセットを選択させる。
【００１１】
[0011]  別の態様は、オブジェクト検出のための装置を開示し、画像全体のコンテキストラベルを識別するための手段を含む。本方法は、また、識別されたコンテキストラベルに基づいて前記画像中の関心オブジェクトを検出するための確からしい領域のセットを選択するための手段を含む。
【００１２】
[0012]  本開示の追加の特徴および利点が以下に説明される。本開示が、本開示と同様の目的を遂行するための他の構造物を修正または設計するための基礎として容易に利用され得ることが、当業者によって理解されるべきである。そのような同等の構造が、添付された特許請求の範囲に記載されている本開示の教示から逸脱しないこともまた、当業者によって理解されるべきである。本開示の編成および動作方法の両方について、さらなる目的および利点と共に、本開示の特徴であると考えられる新規の特徴は、添付の図面と関連して考慮されると、以下の説明からより良く理解されるであろう。しかしながら、図面の各々は例示および説明の目的のためだけに提供されており、本開示の限定の定義として意図されたものではないことが明確に理解されるべきである。
【００１３】
[0013]  同様の参照文字が全体を通して対応して同一である図面と共に考慮されると、本開示の特徴、性質、および利点は、以下に記載されている詳細な説明からより明らかになるであろう。
【図面の簡単な説明】
【００１４】
【図１】[0014]  本開示のある特定の態様にしたがった、汎用プロセッサを含む、システムオンチップ（ＳＯＣ）を使用するニューラルネットワークを設計する例となるインプリメンテーションを例示する図。
【図２】[0015]  本開示の態様にしたがった、システムの例となるインプリメンテーションを例示する図。
【図３Ａ】[0016]  本開示の態様にしたがったニューラルネットワークを例示する図。
【図３Ｂ】[0017]  本開示の態様にしたがった実例的な深層畳み込みネットワーク（ＤＣＮ）を例示するブロック図。
【図４】[0018]  本開示の態様にしたがった人工知能（ＡＩ）機能をモジュール化することができる実例的なソフトウェアアーキテクチャを例示するブロック図。
【図５】[0019]  本開示の態様にしたがったスマートフォン上のＡＩアプリケーションの実行時動作（run-time operation）を例示するブロック図。
【図６】[0020]  画像中のオブジェクトを識別するために使用される例となるバウンディングボックス（bounding boxes）を例示する図。
【図７】[0021]  複数バウンディングボックスの検索方法のために利用されるＮ個の事前分布を例示する図。
【図８】[0022]  本開示の態様による、画像中のオブジェクトを検出するためにコンテキストを利用する全体的な方法の例を例示する図。
【図９】[0023]  本開示の態様による、画像中のオブジェクトを検出するための例となるネットワークアーキテクチャを例示する図。
【詳細な説明】
【００１５】
[0024]  添付の図面に関連して以下に述べられている詳細な説明は、様々な構成の説明として意図されており、本明細書で説明されている概念が実現されることができる唯一の構成を表すように意図されたものではない。詳細な説明は、様々な概念の完全な理解を提供する目的で具体的な詳細を含む。しかしながら、これらの概念がこれらの具体的な詳細なしに実現され得ることが当業者には明らかになるであろう。いくつかの事例において、周知の構造物およびコンポーネントが、そのような概念を曖昧にすることを避けるためにブロック図の形態で示される。
【００１６】
[0025]  教示に基づいて、当業者は、本開示の範囲が、本開示の他の任意の態様から独立してインプリメントされようと、組み合わされようと、本開示の任意の態様をカバーするように意図されていることを理解するべきである。例えば、述べられている任意の数の態様を使用して、装置がインプリメントされることができるか、または方法が実現されることができる。加えて、本開示の範囲は、述べられている本開示の様々な態様に加えた、他の構造物、機能性、またはそれらの態様以外の構造物および機能性を使用して実現される、そのような装置または方法をカバーするように意図されている。開示されている本開示の任意の態様が、請求項の１つまたは複数の要素によって具現化され得ることが理解されるべきである。
【００１７】
[0026]  「実例的な」という用語は、本明細書では、「例、事例、または例示としての役割を果たす」という意味で使用されている。「実例的な」ものとして、本明細書で説明されている任意の態様は、必ずしも他の態様に対して好ましいまたは有利なものとして解釈されるべきではない。
【００１８】
[0027]  特定の態様が本明細書で説明されているが、これらの態様の多くの変形および交換が、本開示の範囲内に入る。好ましい態様のいくつかの恩恵および利点が記述されているが、本開示の範囲は、特定の恩恵、使用法、または目的に限定されるように意図されたものではない。むしろ、本開示の態様は、異なる技術、システム構成、ネットワーク、およびプロトコルに幅広く適用可能であることが意図されており、そのうちのいくつかは、図面において、および好ましい態様の下記の説明において例として例示されている。詳細な説明および図面は、限定ではなく単に本開示を例示するものであり、本開示の範囲は、添付の特許請求の範囲およびその同等物によって定義されている。
【００１９】
[0028]  本開示の態様は、画像中のオブジェクトを検出する（位置特定する（locating））ための深層ニューラルネットワークアーキテクチャに向けられている。特に、本開示の態様は、オブジェクト検出のためにコンテキストベースの事前分布を利用する。本開示のさらなる態様は、内部のフィードバックメカニズムを訓練することを含む。
【００２０】
[0029]  図１は、システムオンチップ（ＳＯＣ)１００を使用する上記の深層ニューラルネットワークアーキテクチャの例となるインプリメンテーション１００を例示し、それは、本開示のある特定の態様にしたがって汎用プロセッサ（ＣＰＵ)またはマルチコア汎用プロセッサ（ＣＰＵ)１０２を含み得る。変数（例えば、ニューラル信号およびシナプス荷重（synaptic weights））、計算デバイス（例えば、重みを有するニューラルネットワーク）に関連付けられたシステムパラメータ、遅延、周波数ビン情報（frequency bin information）、およびタスク情報が、ニューラル処理ユニット（ＮＰＵ)１０８に関連付けられたメモリブロックに、ＣＰＵ１０２に関連付けられたメモリブロックに、グラフィック処理ユニット（ＧＰＵ)１０４に関連付けられたメモリブロックに、デジタルシグナルプロセッサ（ＤＳＰ）１０６に関連付けられたメモリブロックに、専用のメモリブロック１１８に、記憶され得るか、または複数のブロックにまたがって分布し得る。汎用プロセッサ１０２において実行される命令は、ＣＰＵ１０２に関連付けられたプログラムメモリからロードされ得るか、または専用のメモリブロック１１８からロードされ得る。
【００２１】
[0030]  ＳＯＣ１００は、また、例えば、ジェスチャを検出および認識し得る、マルチメディアプロセッサ１１２と、第４世代ロングタームエボリューション（４Ｇ ＬＴＥ（登録商標））接続性、アンライセンスドＷｉ−Ｆｉ接続性、ＵＳＢ接続性、Ｂｌｕｅｔｏｏｔｈ（登録商標）接続性、および同様のものを含み得る接続性ブロック１１０と、ＤＳＰ１０６と、ＧＰＵ１０４のような、特定の機能に合うようにされた追加の処理ブロックを含み得る。１つのインプリメンテーションにおいて、ＮＰＵは、ＣＰＵ、ＤＳＰ、および／またはＧＰＵにおいてインプリメントされる。ＳＯＣ１００は、また、センサプロセッサ１１４、画像信号プロセッサ（ＩＳＰ）１１６、および／またはナビゲーション１２０も含み得、それは、グローバル測位システムを含み得る。
【００２２】
[0031]  ＳＯＣは、ＡＲＭ命令セットに基づき得る。本開示のある態様において、汎用プロセッサ１０２へとロードされる命令は、コンテキストラベルを識別するためのコードを備え得る。汎用プロセッサ１０２へとロードされる命令は、また、識別されたコンテキストラベルに基づいて画像中の関心オブジェクトを検出する確からしい領域のセットを選択するためのコードも備え得る。
【００２３】
[0032]  図２は、本開示のある特定の態様にしたがった、システム２００の例となるインプリメンテーションを例示する。図２に例示されているように、システム２００は、本明細書で説明されている方法の様々な動作を行うことができる複数のローカル処理ユニット２０２を有し得る。各ローカル処理ユニット２０２は、ニューラルネットワークのパラメータを記憶することができるローカルパラメータメモリ２０６とローカル状態メモリ２０４とを備え得る。加えて、ローカル処理ユニット２０２は、ローカルモデルプログラムを記憶するためのローカル（ニューロン）モデルプログラム（ＬＭＰ）メモリ２０８と、ローカル学習プログラムを記憶するためのローカル学習プログラム（ＬＬＰ）メモリ２１０と、ローカル接続メモリ２１２とを有し得る。さらに、図２に例示されているように、各ローカル処理ユニット２０２は、ローカル処理ユニットのローカルメモリのための構成を提供するための構成プロセッサユニット２１４と、およびローカル処理ユニット２０２間のルーティングを提供するルーティング接続処理ユニット（routing connection processing unit）２１６と、インターフェースをとり得る。
【００２４】
[0033]  深層学習アーキテクチャは、各層において連続的により高いレベルの抽象化（abstraction）で入力を表現するように学習することによってオブジェクト認識タスクを行い得、それにより、入力データの有用な特徴表現を構築する（building up）。このようにして、深層学習は、従来の機械学習の主要な障害（bottleneck）に対処する。深層学習が出現する前は、オブジェクト認識問題への機械学習のアプローチは、ことによると浅層（shallow）の分類器（classifier）と組み合わせた、人が設計した特徴に大きく頼っていた場合もある。浅層の分類器は、例えば、２クラスの線形分類器であり得、ここにおいて、特徴ベクトルコンポーネントの加重和が、どのクラスにその入力が属するかを予測するためにしきい値と比較され得る。人が設計した特徴は、領域の専門知識を持つエンジニアによって特定の問題領域（problem domain）に合うようにされたテンプレートまたはカーネル（templates or kernels）であり得る。深層学習アーキテクチャは、これに対して、人間のエンジニアが設計し得ることに類似した特徴を表現するように学習し得るが、訓練を通して学習し得る。さらに、ディープネットワーク（deep network）は、人間が考慮してこられなかった新しいタイプの特徴を表現し、認識するように学習し得る。
【００２５】
[0034]  深層学習アーキテクチャは、特徴の階層を学習し得る。視覚データが提示された場合、例えば、第１の層は、入力ストリームにおける、エッジのような、単純な特徴を認識するように学習し得る。聴覚データが提示された場合、第１の層は、特定の周波数のスペクトルパワーを認識するように学習し得る。第２の層は、第１の層の出力を入力として取って、視覚データに関しては単純形状または聴覚データに関しては音の組合せのような、特徴の組合せを認識するように学習し得る。高位層（higher layer）は、視覚データにおける複雑形状または聴覚データにおける単語を表現するように学習し得る。さらなる高位層は、共通の視覚オブジェクトまたは発話されたフレーズを認識するように学習し得る。
【００２６】
[0035]  深層学習アーキテクチャは、自然階層構造を有する問題に適用されると特によく機能する（perform）ことができる。例えば、電動車両の分類は、車輪、フロントガラス、および他の特徴を認識するために最初の学習から恩恵を受け得る。これらの特徴は、車、トラック、および飛行機を認識するために異なる方法で高位層において組み合わされ得る。
【００２７】
[0036]  ニューラルネットワークは、様々な結合性パターン（connectivity patterns）で設計され得る。フィードフォワードネットワークにおいて、情報は、低位層から高位層に渡され、所与の層にある各ニューロンは高位層にあるニューロンに伝達する。階層的表現は、上述されたように、フィードフォワードネットワークの連続層に構築され得る。ニューラルネットワークは、また、再帰型（recurrent）またはフィードバック（トップダウンとも呼ばれる）結合（feedback connections）も有し得る。再帰型結合において、所与の層にあるニューロンからの出力は、同じ層にある別のニューロンに伝達される。再帰型アーキテクチャは、時間的に展開するパターンを認識するのに役立ち得る。所与の層にあるニューロンから低位層にあるニューロンへの結合は、フィードバック（またはトップダウン）結合と呼ばれる。多くのフィードバック結合を有するネットワークは、高レベルの概念の認識が、入力の特定の低レベルの特徴を区別するのを助けることができるときに役立ち得る。
【００２８】
[0037]  図３Ａを参照すると、ニューラルネットワークの層の間の結合は、全結合(fully connected)３０２され得るか、または局所結合（locally connected）３０４され得る。全結合ネットワーク３０２では、所与の層にある１つのニューロンは、次の層にある全ニューロンにそれの出力を伝達し得る。代替的に、局所結合ネットワーク３０４では、所与の層にある１つのニューロンは、次の層にある限られた数のニューロンに結合され得る。畳み込みネットワーク３０６は局所結合され得、さらに、所与の層にある各ニューロンに関連付けられた結合強度が共有される特別なケースである（例えば、３０８）。より一般には、ネットワークの局所結合層は、ある層にある各ニューロンが、同じまたは同様の結合性パターンを有することになるように構成され得るが、異なる値を有し得る結合強度（例えば、３１０、３１２、３１４、および３１６）で構成され得る。所与の領域にある高位層のニューロンが、ネットワークへの総入力の制限された部分の特性に訓練を通して調整される入力を受信し得るので、局所結合の結合性パターンは、高位層において空間的に別個の受容野を生じさせることもある。
【００２９】
[0038]  局所結合ニューラルネットワークは、入力の空間的ロケーションが意味を持つ問題によく適していることもある。例えば、車載カメラからの視覚特徴を認識するように設計されたネットワーク３００は、画像の低位部分と上位部分とのそれらの関連付けに依存して、異なる特性を持つ高層のニューロンを発達させ得る。例えば、画像の低位部分に関連付けられたニューロンは、車線区分線を認識するように学習し得るが、一方、画像の上位部分に関連付けられたニューロンは、交通信号灯、交通標識、および同様のものを認識するように学習し得る。
【００３０】
[0039]  ＤＣＮは、教師あり学習で訓練され得る。訓練中、ＤＣＮは、速度制限標識のクロップされた画像３２６のような画像が提示され得、次いで出力３２８を生成するように「フォワードパス（forward pass）」が計算され得る。出力３２８は、「標識」、「６０」、および「１００」のような特徴に対応する値のベクトルであり得る。ネットワーク設計元は、ＤＣＮが、例えば、訓練されているネットワーク３００のための出力３２８に示されている「標識」および「６０」に対応するもののような、出力特徴ベクトルにおけるニューロンのうちのいくつかに関して高スコアを出力することを望むこともある。訓練前に、ＤＣＮによって生成される出力が正しくない可能性が高いので、実際の出力とターゲット出力との間の誤差が計算され得る。ＤＣＮの重みは、次いで、ＤＣＮの出力されたスコアがターゲットとより近くアラインされる（aligned）ように調節され得る。
【００３１】
[0040]  重みを適切に調節するために、学習アルゴリズムは、重みのための勾配ベクトル（gradient vector）を計算し得る。勾配は、重みがわずかに調節された場合に誤差が増加または減少することになる量を示し得る。上層では、勾配は、下から２番目の層にある活性化されたニューロンと出力層にあるニューロンとを結合する重みの値に直接対応し得る。低位層では、勾配は、重みの値に、および高位層の計算された誤差勾配に依存し得る。重みは、次いで、誤差を低減するように調節され得る。重みを調節するこの方法は、それがニューラルネットワークを通した「バックワードパス（backward pass）」を伴うので、「誤差逆伝播（back-propagation）」と称されることもある。
【００３２】
[0041]  実際には、重みの誤差勾配は、少数の例にわたって計算（calculated）され得、その結果、計算された勾配は、真の誤差勾配を近似する。この近似法は、確率的勾配降下法（stochastic gradient descent）と称されることもある。確率的勾配降下法は、システム全体の達成可能な誤差率が減少するのを停止するまで、または誤差率がターゲットレベルに達するまで繰り返され得る。
【００３３】
[0042]  学習後、ＤＣＮは、新たな画像３２６が提示され得、ネットワークを通したフォワードパスは、ＤＣＮの推論または予測と見なされ得る出力３２８をもたらし得る。
【００３４】
[0043]  ディープビリーフネットワーク（ＤＢＮ）は、隠れノード（hidden nodes）の複数の層から成る確率モデルである。ＤＢＮは、訓練データセットの階層的表現を抽出（extract）するために使用され得る。ＤＢＮは、制限付きボルツマンマシン（ＲＢＭ：Restricted Boltzmann Machine）の層を積み上げることによって取得され得る。ＲＢＭは、入力のセットにわたる確率分布を学習することができる人工ニューラルネットワークのタイプである。ＲＢＭは、各入力がカテゴリ化されるべきクラスについての情報がないときに確率分布を学習することができるので、ＲＢＭは教師なし学習（unsupervised learning）においてしばしば使用される。ハイブリッド教師なしおよび教師ありパラダイムを使用するとき、ＤＢＮの下部ＲＢＭ（bottom RBMs）は、教師なしの方法で訓練され得、特徴抽出器（feature extractors）としての役割をし得、上部ＲＢＭ（top RBM）は、（ターゲットクラスと前の層からの入力の同時分布（joint distribution）について）教師ありの方法で訓練され得、分類器としての役割をし得る。
【００３５】
[0044]  深層畳み込みネットワーク（ＤＣＮ）は、畳み込みネットワークのネットワークであり、追加のプーリング層および正規化層（pooling and normalization layers）で構成される。ＤＣＮは、多くのタスクで最先端のパフォーマンスを達成している。ＤＣＮは、入力ターゲットおよび出力ターゲットの両方が多くの模範で知られており、勾配降下法の使用によってネットワークの重みを修正するために使用される、教師あり学習を使用して訓練され得る。
【００３６】
[0045]  ＤＣＮはフィードフォワードネットワークであり得る。加えて、上述されたように、ＤＣＮの第１の層にあるニューロンから次の高位層にあるニューロンのグループへの結合が第１の層におけるニューロンにまたがって共有される。ＤＣＮのフィードフォワード結合および共有結合は、高速処理のために活用され得る。ＤＣＮの計算負担は、例えば、再帰型またはフィードバック結合を備える同様のサイズのニューラルネットワークのそれよりもさらに少ないこともある。
【００３７】
[0046]  畳み込みネットワークの各層の処理は、空間的に不変のテンプレートまたは基底投影（basis projection）と見なされ得る。入力が、最初に、カラー画像の赤、緑、および青チャネルのような複数チャネルへと分解される場合、その入力について訓練された畳み込みネットワークは、画像の軸に沿った２つの空間次元と色情報を捕捉する第３次元とを有する、３次元と見なされ得る。畳み込み結合の出力は、後続層３１８、３２０、および３２２に特徴マップを形成すると考えられ得、特徴マップ（例えば、３２０）の各要素は、前の層（例えば、３１８）における様々なニューロンから、および複数チャネルの各々から、入力を受信する。特徴マップにおける値は、さらに、整流（rectification）、ｍａｘ（０，ｘ）のような、非線形性で処理され得る。隣接ニューロンからの値は、さらに、ダウンサンプリングに対応する、プーリング３２４がなされ得、追加的な局所不変性（local invariance）および次元削減（dimensionality reduction）を提供し得る。白色化（whitening）に対応する正規化は、また、特徴マップにおけるニューロン間の側方抑制（lateral inhibition）を通して適用され得る。
【００３８】
[0047]  深層学習アーキテクチャのパフォーマンスは、より多くのラベル付けされたデータポイントが利用可能になるにつれて、または計算電力が増加するにつれて、増加し得る。現代の深層ニューラルネットワークは、ほんの１５年前には一般的な研究者に利用可能であったものよりも何千倍も大きい計算リソースで日常的に訓練される。新たなアーキテクチャおよび訓練パラダイムは、深層学習のパフォーマンスをさらに増大させ得る。整流された線形ユニットは、勾配消失（vanishing gradients）として知られている訓練課題を低減し得る。新たな訓練技法は、オーバーフィッティング（over-fitting）を低減し、よって、より大きいモデルがより良い汎化（better generalization）を達成することを可能にし得る。カプセル化技法は、所与の受容野におけるデータを抽象化（abstract）し、さらに全体的なパフォーマンスを増大させ得る。
【００３９】
[0048]  図３Ｂは、実例的な深層畳み込みネットワーク３５０を例示するブロック図である。深層畳み込みネットワーク３５０は、結合性と重みの共有に基づいて複数の異なるタイプの層を含み得る。図３Ｂに図示されているように、実例的な深層畳み込みネットワーク３５０は、複数の畳み込みブロック（例えば、Ｃ１およびＣ２）を含む。畳み込みブロックの各々は、畳み込み層、正規化層（ＬＮｏｒｍ）、およびプーリング層で構成され得る。畳み込み層は、１つまたは複数の畳み込みフィルタを含み得、それは、特徴マップを生成するように入力データに適用され得る。２つの畳み込みブロックしか示されていないが、本開示はそのように限定するものではなく、任意の数の畳み込みブロックが設計の選好にしたがって深層畳み込みネットワーク３５０に含まれることができる。正規化層は、畳み込みフィルタの出力を正規化するために使用され得る。例えば、正規化層は、白色化または側方抑制を提供し得る。プーリング層は、局所不変性および次元削減のための空間にわたるダウンサンプリングアグリゲーションを提供し得る。
【００４０】
[0049]  深層畳み込みネットワークの、例えば、並列フィルタバンク（parallel filter banks）が、高いパフォーマンスおよび低い電力消費を達成するために、ＡＲＭ命令セットにオプションとして基づいて、ＳＯＣ１００のＣＰＵ１０２またはＧＰＵ１０４上に搭載され得る。代替的な実施形態において、並列フィルタバンクは、ＳＯＣ１００のＤＳＰ１０６またはＩＳＰ１１６上に搭載され得る。加えて、ＤＣＮは、センサ１１４とナビゲーション１２０とに特化した処理ブロックのような、ＳＯＣ上に存在し得る他の処理ブロックにアクセスし得る。
【００４１】
[0050]  深層畳み込みネットワーク３５０は、また、１つまたは複数の全結合層（例えば、ＦＣ１およびＦＣ２）を含み得る。深層畳み込みネットワーク３５０は、さらに、ロジスティック回帰（ＬＲ：logistic regression）層を含み得る。深層畳み込みネットワーク３５０の各層の間には、更新されることになる重み（図示せず）がある。各層の出力は、第１の畳み込みブロックＣ１で供給された入力データ（例えば、画像、オーディオ、ビデオ、センサデータおよび／または他の入力データ）からの階層的特徴表現を学習するために、深層畳み込みネットワーク３５０内の次に続く層の入力としての役割をし得る。
【００４２】
[0051]  図４は、人工知能（ＡＩ）機能をモジュール化することができる実例的なソフトウェアアーキテクチャ４００を例示するブロック図である。このアーキテクチャを使用して、ＳＯＣ４２０の様々な処理ブロック（例えば、ＣＰＵ４２２、ＤＳＰ４２４、ＧＰＵ４２６、および／またはＮＰＵ４２８）に、アプリケーション４０２の実行時動作中にサポート計算を行わせ得るアプリケーション４０２が設計され得る。
【００４３】
[0052]  ＡＩアプリケーション４０２は、例えば、デバイスがそこで現在動作するロケーションを示すシーンの検出および認識を提供し得るユーザ空間４０４において定義された機能を呼び出すように構成され得る。ＡＩアプリケーション４０２は、例えば、認識されたシーンがオフィスであるか、講堂であるか、レストランであるか、湖のような屋外環境（outdoor setting）であるかに依存して、マイクロフォンおよびカメラを異なって構成し得る。ＡＩアプリケーション４０２は、現在のシーンの推定を提供するように、ＳｃｅｎｅＤｅｔｅｃｔアプリケーションプログラミングインターフェース（ＡＰＩ）４０６において定義されたライブラリに関連付けられた、コンパイルされたプログラムコードへの要求を行い得る。この要求は、例えば、ビデオおよび測位データに基づいてシーン推定を提供するように構成された深層ニューラルネットワークの出力に最終的に頼り得る。
【００４４】
[0053]  実行時フレームワーク（Runtime Framework）のコンパイルされたコードであり得る実行時エンジン４０８は、さらに、ＡＩアプリケーション４０２にアクセス可能であり得る。ＡＩアプリケーション４０２は、例えば、実行時エンジンに特定の時間間隔での、またはアプリケーションのユーザインターフェースによって検出されたイベントによってトリガされる、シーン推定を要求させ得る。シーンを推定させられると、実行時エンジンは、次に、ＳＯＣ４２０上で作動する、Ｌｉｎｕｘ（登録商標）カーネル４１２のような、オペレーティングシステム４１０に信号を送り得る。オペレーティングシステム４１０は、次に、計算がＣＰＵ４２２、ＤＳＰ４２４、ＧＰＵ４２６、ＮＰＵ４２８、またはこれらの何らかの組合せ上で行われることを引き起こし得る。ＣＰＵ４２２は、オペレーティングシステムによって直接アクセスされ得、他の処理ブロックは、ＤＳＰ４２４のため、ＧＰＵ４２６のため、またはＮＰＵ４２８のためのドライバ４１４〜４１８のような、ドライバを通してアクセスされ得る。実例的な例において、深層ニューラルネットワークは、ＣＰＵ４２２およびＧＰＵ４２６のような処理ブロックの組合せ上で作動するように構成され得るか、または、ある場合は、ＮＰＵ４２８上で作動し得る。
【００４５】
[0054]  図５は、スマートフォン５０２上のＡＩアプリケーションの実行時動作５００を例示するブロック図である。ＡＩアプリケーションは、画像５０６のフォーマットを変換し、次いで、画像５０８をクロップおよび／またはリサイズするように（例えば、ＪＡＶＡ（登録商標）プログラミング言語を使用して）構成され得る前処理モジュール５０４を含み得る。前処理された画像は、次いで、視覚入力に基づいてシーンを検出および分類するように（例えば、Ｃプログラミング言語を使用して）構成され得るＳｃｅｎｅＤｅｔｅｃｔバックエンドエンジン５１２を含む分類アプリケーション５１０に通信され得る。ＳｃｅｎｅＤｅｔｅｃｔバックエンドエンジン５１２は、スケーリング５１６およびクロッピング５１８によって画像をさらに前処理５１４するように構成され得る。例えば、画像は、結果として生じる画像が２２４ピクセル×２２４ピクセルとなるようにスケーリングおよびクロップされ得る。これらの次元は、ニューラルネットワークの入力次元に対応（map to）し得る。ニューラルネットワークは、ＳＯＣ１００の様々な処理ブロックに、深層ニューラルネットワークで画像ピクセルをさらに処理させるように、深層ニューラルネットワークブロック５２０によって構成され得る。深層ニューラルネットワークの結果は、次いで、しきい値化５２２され、分類アプリケーション５１０内の指数平滑化（exponential smoothing）ブロック５２４を通り得る。平滑化された結果は、次いで、スマートフォン５０２の設定および／または表示の変更を引き起こし得る。
【００４６】
画像中のオブジェクト検出 
[0055]  深層ニューラルネットワークは、画像中のオブジェクトを検出および位置特定するためにコンピュータビジョン（computer vision）で使用され得る。オブジェクトは、様々な異なるカテゴリ（例えば、鳥、パワードリル、またはバックパック）によって特徴付けられ得る。オブジェクトは、図６に例示されているように、隙間なく軸で整列した（tight, axis-aligned）バウンディングボックスをそれの周りに置くことによって画像中で位置特定され得る。特に、画像６００では、第１のバウンディングボックス６０２が、画像６００中の花のオブジェクトの周りにある。第２のバウンディングボックス６０４は、第２のオブジェクト（例えば、猫）の周りにあり、第３のバウンディングボックス６０６は、花のオブジェクトの周りにある。これらのバウンディングボックスは、４つの値、すなわち、ボックスの最小および最大ｘおよびｙ座標によって指定され得る。検出システムがバウンディングボックスを提案すると、それは、バウンディングボックスが、人間のアノテーション（annotation）を介して決定されるような、グラウンドトルース（ground truth）バウンディングボックスとオーバーラップする場合に、５０％以上正しいと判断される（例えば、intersection(ground_truth, proposed) / union(ground_truth, proposed) > 0.5）。画像中のオブジェクトを検出することは、同じカテゴリの可能な多くのビューおよびスケールによって、および部分的なオクルージョン（occlusions）によって、難しくされる。
【００４７】
[0056]  オブジェクトを検索するための様々な方法の例は、選択検索（selective search）および深層ニューラルネットワーク（ＤＮＮ）分類器、選択検索／空間ピラミッドプーリング（spatial pyramid pooling）／サポートベクターマシン（ＳＶＭ）分類器の組合せ、深層ＩＤ検索（deep ID searching）、および複数バウンディングボックス検索を含む。
【００４８】
[0057]  選択検索は、カテゴリ不可知（category-agnostic）のバウンディングボックス提案方法を指す。画像が与えられると、選択検索は、様々な基準にしたがってピクセルをクラスタリングすることによって画像を様々なエリアへとセグメント化する。設定に依存して、選択検索は、これらのエリアの周りにバウンディングボックス提案を５００〜５０００個の範囲内で返す。バウンディングボックス提案は、実際のオブジェクトのバウンディングボックスに近いことも近くないこともある。深層ニューラルネットワーク（ＤＮＮ）分類器は、次いで、各提案ボックスのクロップされたコンテンツを、オブジェクトカテゴリのうちの１つとして、または他の何らかのものとして分類するように訓練される。追加的に、コンテキストラベルが、そこに画像が存在する環境または設定を記述するように適用され得る。別個のニューラルネットワークは、フル画像のコンテンツの分類についての前の訓練によってフル画像のコンテキストを供給するように訓練され得る。フル画像のコンテキストを有することが重要である。例えば、離して見ると、卓球のボールとゴルフボールを見分けるのは困難であることもあるが、コンテキストで見ると（例えば、ゴルフコースｖｓ卓球台）、これは瞬時に明らかである。
【００４９】
[0058]  選択検索は、計算的に比較的費用がかかる。１つの画像のためのボックスの計算は、最近のデスクトップＣＰＵのシングルコア上で、約１秒かかる。何百ものボックスに対して分類器を作動させることもまた、デスクトップＣＰＵのシングルコアが１秒ごとに約１０個のボックスを分類することができるので複数秒かかる（これは、ニューラルネットワークのサイズに依存する）。
【００５０】
[0059]  選択検索、空間ピラミッドプーリング、およびＳＶＭ分類の組合せは、Ｒ−ＣＮＮと同様のアプローチをとり得るが、入力画像からクロップを取るのではなく、それは畳み込みネットワークによって生成された特徴マップからクロップを取る。空間ピラミッドプーリングは、特徴マップ中の任意のサイズのウィンドウを、分類されバイナリＳＶＭ（カテゴリごとに１つのＳＶＭ）へと送り込まれる固定長の特徴ベクトルへと変えるように使用される。空間ピラミッドプーリングアプローチにおいて、ボックス分類ネットワークは、高解像度の入力画像に対して一回のみ作動する。
【００５１】
[0060]  深層ＩＤ検索の方法は、提供されたボックスを使用してデータセットについて前訓練（pre-training）することと、既存の検出システムにしたがって情報的でないと考えられた選択検索ボックスを破棄することと、のような追加的な改良を有するＲ−ＣＮＮ（regions with CNN features）に基づく。深層ＩＤ検索方法は、また、カスケード型分類器（cascaded classifiers）（例えば、先行する層が正しく分類できなかったときに、例のみによって学習する余分（extra）の全結合層）を利用し、変形プーリング（deformation pooling）を組み込み、ダイバーシティの高いモデルの集合体を利用する。
【００５２】
[0061]  複数バウンディングボックス検索は、約１０〜１０００個のバウンディングボックスを提案するために深層ニューラルネットワーク（ＤＮＮ）を利用し得る。ボックスの数は、ネットワークの構成によって訓練前に決定される。例えば、１００〜２００個のボックスが検出態様において使用され得る。提案されたボックスのコンテンツは、第２のネットワークによって分類され、それは、第３のネットワークからのフル画像のコンテキスト特徴によってサポートされる。
【００５３】
[0062]  複数のバウンディングボックスは、固定数のＮ個のボックスを出力するように設計および訓練されるバウンディングボックス提案ネットワークを含み得る。Ｎ個のボックスの各々に関して、それは、単一の出力に、関心オブジェクトがボックス中にある信頼度（０〜１の範囲内の値）を予測させる。これらの信頼度出力は、ロジスティック損失関数（logistic loss function）で訓練される。追加的に、Ｎ個のボックスの各々に関して、ネットワークは、４つのロケーション出力（最小および最大ｘおよびｙ座標）に、バウンディングボックスを推定させる。座標は、０（正方形の入力画像の左または上部）から１（正方形の入力画像の右または下部）の範囲にある。これらのロケーションユニットは、差分二乗和コスト関数（sum-of-squared difference cost function）で訓練される。追加的に、信頼度およびロケーションペアの各々は、入力画像のある特定のウィンドウ（または部分）のみに対処するように訓練される。これらのウィンドウは、訓練セットからの大きいセットのボックスをＮ個の事前分布へとクラスタリングすることによって訓練前に決定される。
【００５４】
[0063]  訓練中、訓練例からの各バウンディングボックスは、最初に最も近い事前分布にマッチされ、その特定の事前分布のためのそれぞれの信頼度およびロケーションペアはそのボックスについて訓練される。これは、信頼度およびロケーションの各ペアが出力におけるある特定の「アテンションのウィンドウ（window of attention）」に責任を負うようにする。このウィンドウは、１つのより大きい事前分布ウィンドウがいくつかのより小さいものを含み得る、またはそれらとオーバーラップし得るので、暗黙的にオブジェクトのスケールも含む。
【００５５】
[0064]  図７は、複数のバウンディングボックスを使用してオブジェクトを検索する例を例示する。この例において、ネットワークはＮ個のボックスを出力し、ここでは、図に示されているように、Ｎ＝１００である。事前分布ボックス７０２の引き伸ばしが示され、バウンディングボックスのサブセットを例示しており、これは、事前分布ボックス７０２に対応する。バウンディングボックスのサブセットは、対応する信頼度およびロケーションペアのアテンションのウィンドウを例示する。
【００５６】
画像検出のためのコンテキストベースの事前分布 
[0065]  機械学習アーキテクチャ、例えば、深層ニューラルネットワークアーキテクチャが、画像中のオブジェクトを検出および位置特定するために利用され得る。ネットワークアーキテクチャは、画像中のオブジェクトを見つける複雑性を低減するために特定のデータセットから導出された事前分布を利用し得る。画像中の可能な全ボックスがオブジェクトを含むか否かについて投票する（voting）のではなくむしろ、事前分布は、可能なロケーションを、オブジェクトを含んでいる可能性が最も高いボックスのみに低減するために使用される。オブジェクトを含んでいる可能性が最も高いボックスは、すべてのグラウンドトルースボックスのロケーションをクラスタリングすることと、Ｎ個のクラスタ中心（cluster centers）を事前分布ボックスとして考えることとによって決定される。このアプローチは、ボックスのロケーションのみを使用し、画像またはボックス中に含まれているものに関係する情報を無視する。
【００５７】
[0066]  本開示の態様は、画像中のオブジェクトを検出するためにコンテキストベースの事前分布を使用することに向けられている。すなわち、オブジェクトの確からしいロケーションは、コンテキストラベルに基づいて推定される。例えば、それは、コンテキストが「空」であると決定されたときに、鳥を求めて画像の上部を調べるように示され得る。「屋外」といったコンテキストラベルを有する画像は、より小さく、より広く分布した事前分布を有する可能性が高く（例えば、運転のシナリオでは地平線を見ること）、これに対して、「屋内」といったコンテキストラベルを有するものは、より大きく、より中心に位置する事前分布を有する可能性が高い（例えば、ロボットを求めて中心を見る）。コンテキストベースの事前分布を組み込むために、グラウンドトルースボックスがＭ個のコンテキストラベルによって分離された後に、それらに対してｋ平均法クラスタリング（k-means clustering）が行われ得、Ｍ個のグループのＮm個の事前分布をもたらす。訓練および推論中に、コンテキストラベルは、事前分布のどのグループを訓練／テストするべきかを選択するためのスイッチとして使用され得る。ある画像に関して１つより多くのコンテキストラベルが存在する場合、１つより多くのグループの事前分布が一度に訓練され得る。重要なことには、コンテキストラベルが事前分布ボックスと相互に強く関連する場合、すべてのＮm個の事前分布の合計が、同じパフォーマンスを有するＮ（すべてのコンテキストカテゴリにわたる事前分布の数）よりも可能性として小さいこともある。コンテキストベースの事前分布は、ネットワーク全体に、画像全体にわたって検索させるのではなくむしろ、画像中の特定のロケーションにネットワークの検索を集中させるために使用され得る。
【００５８】
[0067]  コンテキストベースの事前分布は、より関連した事前分布が特定のコンテキストに関して考慮されることを可能にすることによって、より豊かなセットの事前分布を考慮することを可能にする。さらに、事前分布を画像のコンテキストに基づかせることによって、データセットの依存性が低減される。
【００５９】
[0068]  図８は、画像中のオブジェクトを検出するために深層ニューラルネットワークによって利用される方法８００を例示する。１つの態様において、深層ニューラルネットワークアーキテクチャは、単一のニューラルネットワークから成る。代替的に、オプションの構成において、ニューラルネットワークアーキテクチャは、画像中のオブジェクトを検出するために共に共同で働く複数のニューラルネットワークを含む。
【００６０】
[0069]  ブロック８０２において、ニューラルネットワークは、画像全体のためのコンテキストラベルを識別する。コンテキストラベルは、意味を持つ画像のカテゴリ化を提供することができる。次に、ニューラルネットワークは、ブロック８０４において、識別されたコンテキストラベルに基づいて、画像中の関心オブジェクトを検出するための確からしい領域のセットを選択する。追加的に、確からしい領域のセットはコンテキストラベルに基づいて生成され得る。例えば、コンテキストラベルが「外」である場合、ニューラルネットワークは、画像の低部領域を見て草を検出し得、上部領域を見て空に鳥を検出し得る。ニューラルネットワークは、また、（単数または複数の）追加のコンテキストラベルを識別し、識別された（単数または複数の）追加のコンテキストラベルに基づいて関心オブジェクトを検出するための確からしい領域の他のセットを選択する。例えば、ニューラルネットワークは、別のコンテキストラベルを識別し得、識別されたその別のコンテキストラベルに基づいて、画像中の関心オブジェクトを検出するための確からしい領域の別のセットを選択する。
【００６１】
[0070]  別の態様において、コンテキストラベルはユーザ入力に基づき得る。オプションとして、コンテキストラベルは、教師なし学習に基づき得る。さらに別の態様において、ニューラルネットワークはオブジェクトを検出するように訓練され得る。例えば、ニューラルネットワークは、確からしい領域のセットを正確にする（refine）ように訓練され得る。追加的に、ニューラルネットワークは、関心オブジェクトが確からしい領域の各々に関して存在するかどうかを決定するように訓練され得る。ニューラルネットワークは、また、コンテキストラベルにしたがって確からしい領域の各々を分類するように訓練され得る。
【００６２】
[0071]  図９は、画像中のオブジェクトを検出するための例となるネットワークアーキテクチャ９００を例示する。１つの態様において、ネットワークアーキテクチャは、単一のニューラルネットワークから成る。代替的に、オプションの構成において、ネットワークアーキテクチャは、画像中のオブジェクトを検出するために共に共同で働く複数のニューラルネットワークを含む。
【００６３】
[0072]  ネットワークアーキテクチャ９００は、グローバルパス９０４とローカルパス９１０とに分かれる。グローバルパス９０４は、画像中に何があるかの全体的印象（global impression）を決定するために画像全体を調べる。ローカルパス９１０は、画像の一部分（例えば、ローカルエリア）を調べ、そのローカルエリアに何があるかを決定する。１つの態様において、グローバルパス９０４およびローカルパス９１０は、同時に作動し得る。
【００６４】
[0073]  ベースネットワーク９０２は、畳み込みニューラルネットワークモジュールを含み、受信された画像９２０に対して複数の層において畳み込みを行うように構成される。１つの例において、ベースネットワーク９０２は、最大プーリングではなく平均プーリングを利用し得る。さらに、ベースネットワーク９０２は訓練のために構成され得る。
【００６５】
[0074]  上で示されたように、ベースネットワーク９０２は、グローバルパス９０４とローカルパス９１０の２つのパスへと分かれる。グローバルパス９０４は、コンテキストパス９０６（「ｇｌｏｂａｌ ｗｈａｔ」パス）とアテンションパス９０８（「ｇｌｏｂａｌ ｗｈｅｒｅ」パス）の２つのパスへと分かれて、何のオブジェクトが画像中に存在するか（コンテキストパス／「ｇｌｏｂａｌ ｗｈａｔ」）と、オブジェクトのおおよそのロケーション／配置（アテンションパス／「ｇｌｏｂａｌ ｗｈｅｒｅ」）とを決定する。ローカルパス９１０は、また、分類パス９１２と局所化パス（localization path）９１４の２つのパスへと分かれ、受信された局所化された画像中に何があるか（分類パス、「ｌｏｃａｌ ｗｈａｔ」）と、関心オブジェクトが厳密には局所化された画像のどこに位置するか（局所化パス、「ｌｏｃａｌ ｗｈｅｒｅ」）とを推論する。さらに、コンテキストパス９０６、アテンションパス９０８、分類パス９１２、および局所化パス９１４は、すべて同時に作動し得る。
【００６６】
[0075]  画像９２０は、ベースネットワーク９０２へと入力される。画像９２０が一旦入力されると、ベースネットワーク９０２は、複数の層において畳み込みを行うように構成される。１つの例において、ベースネットワーク９０２は、グローバルパス９０４とローカルパス９１０の両方に１４×１４の画像を出力する。
【００６７】
[0076]  ボックス９５０において、グローバルパス９０４は、受信された画像９２０をダウンサンプリングする。例えば、グローバルパス９０４は、１４×１４の画像を７×７の画像にダウンサンプリングし得る。ネットワークのロケーション感度を保つために、最大プーリングではなくダウンサンプリングを行うためにストライド（stride）が利用され得る。
【００６８】
[0077]  ボックス９５１において、畳み込みニューラルネットワーク（ＣＮＮ）モジュールは、複数の層において畳み込みを行い、コンテキストパス９０６およびアテンションパス９０８に出力を送る。ボックス９５２において、コンテキストパス９０６は、特定のオブジェクトが画像９２０のシーン（またはウィンドウ）において期待されるかどうかを決定する。コンテキストパス９０６は、受信された画像のフル画像のコンテキストを提供し、それは、次いで、ローカルパス９１０による分類のために使用され得る。特に、コンテキストパス９０６は、分類パス９１２に出力９６２を送り得る。
【００６９】
[0078]  ボックス９５３において、アテンションパス９０８の出力は、信頼度出力を提供し得る。特に、Ｎ個の事前分布ボックスの各々に関して、アテンションパス９０８は、関心オブジェクトが対応するウィンドウ中に存在するかどうかをシグナリングするためにロジスティック出力を提供する。さらに、ロジスティック出力は、バウンディングボックスが対応する事前分布にマッチされたかどうかに基づいてモジュール９７１において訓練され得る。アテンションパス９０８は、畳み込みネットワークに、フィルタの数を許容可能な数に低減させる余分の層を含み得る。さらに、ボックス９５３において、アテンションパス９０８は、関心オブジェクトが対応するウィンドウ中に存在するかどうかを示す信号を出力する。
【００７０】
[0079]  ベースネットワーク９０２からの出力は、ローカルパス９１０に送り込まれ、それは、次いで、ボックス９６０において画像９２０をクロップおよびスケーリングする。ＣＮＮモジュールは、ボックス９６１において各層において畳み込みを行い、受信された画像９２０中に何があるか（分類パス、「ｌｏｃａｌ ｗｈａｔ」）と、関心オブジェクトが厳密にはどこに位置するか（局所化パス、「ｌｏｃａｌ ｗｈｅｒｅ」）とを推論するために、分類パス９１２および局所化パス９１４に出力を分ける。分類パス９１２は、コンテキストパス９０６から受信されたコンテキスト特徴によってサポートされる。局所化パス９１４は、関心オブジェクトがウィンドウの中のどこにあるかを決定する。局所化パス９１４の出力は、ウィンドウに相対し（relative to）、グローバル画像レベルに変換されて戻る。
【００７１】
[0080]  ローカルパス９１０は、それが動作している事前分布ウィンドウがどれかを知ることから恩恵を受け得る。例えば、各ウィンドウは、それ自身の統計を有し得、ネットワークはこれらの特定の統計に適応されることができ得る。クロップの座標および事前分布のＩＤは、余分の特徴マップとしてローカルパス９１０に差し挟まれ（injected）得る。例えば、１３個のチャネルが追加され得る（４つのグローバル事前分布ボックス座標、４つのローカル事前分布ボックス座標、４つのウィンドウ座標、および事前分布ＩＤ）。同じ１３個の値がすべてのピクセルにわたって繰り返され得る。例えば、空が見られていることが知られている場合、この情報が決定を行うときに考慮されることができる。
【００７２】
[0081]  ネットワークアーキテクチャ９００は、訓練モジュール９７１、９７２、９７３、および９７４を利用して訓練され得る。例えば、訓練は、誤差逆伝播（error back-propagation）を介して行われ得る。訓練中、データ供給元（図示せず）は、データ拡大（data augmentation）（スケーリング、平行移動（translation）、水平ミラーリング）を行い、これに応じてバウンディングボックスアノテーションを調節する。ビューから外れているボックスは破棄される。データ供給元は、同じ事前分布を求めて競合するボックス間の任意の衝突を解決するために相互（bipartite）のマッチングを使用して、バウンディングボックスの各々を事前分布のうちの１つにマッチさせる。
【００７３】
[0082]  マッチングが一旦決定されたら、データ供給元は、「ボックス有り」入力を作成する。この入力は、対応するウィンドウ中のオブジェクトの有無をシグナリングする事前分布ごとの１つのバイナリ値から成る。データ供給元は、次いで、ローカルパス９１０による訓練のためのウィンドウを選ぶ。以下は、試行され得る様々なヒューリスティックス（heuristics）の例である。  
ａ）アテンションパス９０８を最初に訓練し、次いで、アテンションパス９０８の出力を使用してローカルパス９１０を訓練し、
ｂ）マッチしたバウンディングボックスに対応するウィンドウをデータセットから選択し、
ｃ）ボックスを有する無作為のウィンドウを負例（negative examples）として選択し、および、
ｄ）負例に関してハードネガティブマイニング（hard negative mining）を行う。
【００７４】
[0083]  選択されたウィンドウが与えられると、データ供給元は、ボックス座標、ボックスラベル、およびエリア選択（モジュール９７３および９７４内に示されている）を作成する。例えば、モジュール９７４は、関心オブジェクトとより密にフィットするようにボックスの座標を更新することができる。ボックス座標は、バウンディングボックスの最小および最大座標である。これらの座標は、０〜１の範囲にあり、ローカルウィンドウに相対する。いずれのバウンディングボックスもウィンドウ中に存在しない場合、そのウィンドウに関するバウンディングボックスコスト関数がディセーブルにされ（disabled）得る。ボックスラベルは、Ｍ個のカテゴリの各々に関する、正値、負値、またはスキップ値である。ウィンドウがボックスと部分的にだけオーバーラップする場合、０〜１の範囲内にある値は、また、ウィンドウの外に部分的にあるバウンディングボックスを示すために使用され得る。しかしながら、データ拡大システムによるオクルージョンは、ネットワークが、自然に発生するオクルージョンと見分けるのが難しいこともある。エリア選択は、クロッピングおよび／またはスケーリングに使用されるようにウィンドウを符号化する。
【００７５】
[0084]  １つの態様において、検出タスクは、２つのタイプのアノテーションを用いて利用される。第１のタイプは、フル画像アノテーションであり、カテゴリごとに正／負／スキップを含む。第２のタイプのアノテーションは、カテゴリごとに正のバウンディングボックスを含む。
【００７６】
[0085]  多くの画像に関して、いくつかのバウンディングボックスアノテーションが欠けていることになる。欠けているボックスアノテーションは、ボックスの現在の入力が多くの正値を欠くことになることを示す。これは、アテンションパス９０８がこれらのエリアに対して（正しく）トリガすることになるのでそれの品質を低下させるが、バウンディングボックスアノテーションが欠けているので罰を受ける。（訓練モジュール９７３からの）ローカルパスのボックスラベルの入力は、バウンディングボックスレベルにおける欠落しているアノテーションをスキップするように設定するために、フル画像アノテーション（これらが完全であると想定）を使用し得る。
【００７７】
[0086]  ローカルパス９１０の訓練を加速させるために、ローカルパスの複数のコピーは同時にインスタンス化（instantiated）され得る。これらのコピーは、それらのそれぞれの層の間で重みを共有する。データ供給元は、次いで、ローカルパスごとにウィンドウを選択する。さらに、ローカルパスは、事前分布ごとにインスタンス化され得る。これは、比較的に低いコストで、同時に画像中のすべての事前分布ウィンドウとすべてのバウンディングボックスアノテーションとについて訓練する。追加的に、別の例において、単一のローカルパスがすべての事前分布を順伝播（forward propagate）し、最悪パフォーマンスの例のみを誤差逆伝播するために利用され得、実質的に、オンザフライ（on-the-fly）のハードネガティブマイニングをもたらす。
【００７８】
[0087]  図９に示されているように、ネットワークアーキテクチャ９００は、グローバルおよびローカルネットワークにおけるｗｈｅｒｅおよびｗｈａｔパスウェイをカバーするために、４つのコスト関数（各々が訓練モジュール９７１、９７２、９７３、および９７４内に位置する）を有する。段階的に、または重み付けられたコスト関数を用いて、このネットワークを訓練するための２つの主要なオプションがある。
【００７９】
[0088]  第１の方法では、共通のネットワークが画像のデータベースについて前訓練され、次いで、フリーズさせられる（frozen）。グローバルおよびローカルネットワークの各々は、次いで、ｗｈａｔおよびｗｈｅｒｅコンポーネント間で重み付けられたコスト関数を使用して独立して訓練される。
【００８０】
[0089]  第２の方法では、すべての４つの出力に関する組み合わされたコスト関数が以下のように作成され得る。
【００８１】
【数１】
0006743124.tif 000002
【００８２】
[0090]  アルファ値は、交差検証（cross-validation）を通して決定され得る。オプションとして、アルファは、強制的にそれらを合計して１にすることになる、コスト関数をアルファ単体に使用することによって学習され得る。
【００８３】
[0091]  １つの例において、ネットワークアーキテクチャ９００を用いた推論は、（コンテキストパスがローカルパスにフル画像のコンテキスト特徴を提供するので）コンテキストパスにわたって最初に作動し、次いで、どこに何が見えるかを決定するために各ローカルウィンドウにわたって反復される。アテンションパス９０８は、このシナリオでは無視され得る。
【００８４】
[0092]  本開示の別の態様は、電力管理に向けられている。例えば、モバイル設定では、ほとんど電力を使用せずに検出が行われ得る。特に、アテンションパスおよびコンテキストパスは、ローカルパスにおいてどのウィンドウを評価すべきかの効率の良いインジケータとして使用され得る。例えば、上部のＸウィンドウのみがチェックされ得るか、またはそのアテンション出力がある特定のしきい値を上回るウィンドウのみがチェックされ得る。
【００８５】
[0093]  １つの態様において、効率的な電力管理を適用しながら、コンテキストパス９０６が最初に作動する。（低いしきい値で）関心オブジェクトが画像９２０中のどこかに存在するとそれが示す場合、アテンションパス９０８は、次いで、最も見込みのある（most promising）ウィンドウを決定するために作動し得る。次に、最も見込みがあると決定されたウィンドウの各々に関して、ローカルパス９１０は、画像９２０中に何が存在するかとロケーションとを決定するために作動する。
【００８６】
[0094]  オプションとして、別の態様において、トップレベルのパスのうちの４つすべて（例えば、コンテキストパス９０６、アテンションパス９０８、分類パス９１２、および局所化パス９１４）が全画像９２０に対して作動するわけではない。コンテキストパス９０６は、特定のオブジェクトがシーンにおいて期待されるかどうかを示すことができる。例えば、「日没」のコンテキストは、オブジェクトに関するさらなる処理を保証しないこともあるが、「サッカー試合」のコンテキストは保証し得る。よって、コンテキストパス９０６（ｇｌｏｂａｌ−ｗｈａｔ）は、全画像９２０に対して作動し得、次いで、ローカルパス９１０（分類パス９１２と局所化パス９１４とを含む）が後に続く、アテンションパス９０８（ｇｌｏｂａｌ−ｗｈｅｒｅ）を作動させるべきかどうか決定が行われ得る。
【００８７】
[0095]  追加的に、コンテキストが、ローカルパスが検索するカテゴリを限定または変更するために利用され得る。アテンションパス９０８は、コンテキストパス９０６またはローカルパス（例えば、分類パス９１２および局所化パス９１４）が作動する前に、画像９２０中に関心のあるオブジェクトがあるかどうかを決定するために使用され得る。（何らかのしきい値に基づいて）関心のあるオブジェクトがない場合、１つの態様において、他のパスは作動しない。さらに、局所化パス９１４は、ゴールが、画像中の特定のオブジェクトの有無を決定することだけであるときにスキップされ得る。例えば、タスクが、特定の犬の写真を求めてフォトギャラリーを検索することである場合、ユーザは、犬が写真のどこにいるかは気にせず、犬が画像／写真のどこかにいることだけを気にする。
【００８８】
[0096]  図９に示されているようなネットワークアーキテクチャ９００は、カスケード型分類器として見なされ得る。アテンションパス９０８（例えば、ｇｌｏｂａｌ ｗｈｅｒｅパス）は、関心オブジェクトが事前分布ボックスのいずれかに存在し得るかどうかを決定する。アテンションパス９０８が十分に信頼度がある場合、分類パス９１２（例えば、ｌｏｃａｌ ｗｈａｔパス）は、より精密な分類を行うために作動する。
【００８９】
[0097]  余分の分類器がこれらの２つのステップの間に差し込まれ得る。この分類器への入力は、ボックス９６０におけるスケールおよびクロップ層からくる特徴である。追加の分類器は、ローカルパス９１０を通る順方向パスの数を低減するために、アテンションパス９０８（ｇｌｏｂａｌ ｗｈｅｒｅパス）を通るボックスを拒絶し得る。１つの態様において、分類器は単純であり、計算上の著しいオーバーヘッドを付加しない。分類器は、サポートベクターマシンまたは全結合層としてインプリメントされ得る。
【００９０】
[0098]  代替の態様において、アテンションパス９０８は、選択検索モジュールによって置き換えられ得る。オプションとして、別の態様は、アテンションパス９０８における事前分布ボックスに関するスコアをモジュール化するために勾配の誤差逆伝播を利用する。ニューラルネットワークのコスト関数における人工的な誤差勾配を生成することと、この勾配を入力画像に誤差逆伝播することとによって、クラス顕著性の視覚化（class saliency visualization）のための技法がうまく働く。誤差勾配が最大の大きさを有する入力画像中のピクセルは、オブジェクトが位置特定される確からしいピクセルである。この技法は、アテンションパスにおける事前分布ボックスに関するスコアをモジュール化するために使用され得る。特に、コンテキストパスにおける最高スコアのクラスに関する誤差信号が誤差逆伝播され得る。追加的に、（事前分布に対応するウィンドウ全体にわたる）事前分布の各々に関する勾配の大きさが一体化される。結果として生じる値は、アテンションパス９０８によって生成されるスコアを更新するために使用される。誤差逆伝播は、また、グローバルコンテキストラベルのためのモジュール９７２に適用され得る。
【００９１】
[0099]  １つの構成において、機械学習モデルは、画像全体のコンテキストラベルを識別するために構成される。モデルは、また、識別されたコンテキストラベルに基づいて画像中の関心オブジェクトを検出する確からしい領域のセットを選択するために構成される。
【００９２】
[00100]  モデルは、識別手段と選択手段とを含む。１つの態様において、識別手段および／または選択手段は、汎用プロセッサ１０２、汎用プロセッサ１０２に関連付けられたプログラムメモリ、メモリブロック１１８、ローカル処理ユニット２０２、およびまたは記載された機能を行うように構成されたルーティング接続処理ユニット２１６であり得る。別の構成において、上述された手段は、これら上述された手段によって記載された機能を行うように構成された任意のモジュールまたは任意の装置でありうる。
【００９３】
[00101]  モデルは、また、訓練するための手段と、作成するための手段とを含み得る。１つの態様において、訓練手段および／または作成手段は、汎用プロセッサ１０２、汎用プロセッサ１０２に関連付けられたプログラムメモリ、メモリブロック１１８、ローカル処理ユニット２０２、およびまたは記載された機能を行うように構成されたルーティング接続処理ユニット２１６であり得る。
【００９４】
[00102]  本開示のある特定の態様によると、各ローカル処理ユニット２０２は、モデルの１つまたは複数の所望の機能的特徴に基づいてモデルのパラメータを決定することと、決定されたパラメータがさらに適応、調整、および更新されるにつれて、１つまたは複数の機能的特徴を所望の機能的特徴に向けて発展させることと、を行うように構成され得る。
【００９５】
[00103]  上述された方法の様々な動作は、対応する機能を実行することが可能な任意の好適な手段によって実行され得る。手段は、限定ではなく、回路、特定用途向け集積回路（ＡＳＩＣ）、またはプロセッサを含む、様々なハードウェアおよび／または（１つまたは複数の）ソフトウェアコンポーネントならびに／あるいは（１つまたは複数の）モジュールを含み得る。概して、図面に例示された動作がある場合、それらの動作は、同様に番号付けされた対応するミーンズ・プラス・ファンクション・コンポーネントの相当物を有し得る。
【００９６】
[00104]  本明細書で使用される場合、「決定すること」という用語は、幅広いアクションを包含する。例えば、「決定すること」は、計算すること、算出すること、処理すること、導出すること、調査すること、ルックアップすること（例えば、テーブル、データベース、または別のデータ構造内をルックアップすること）、確かめること、および同様のことを含み得る。追加的に、「決定すること」は、受信すること（例えば、情報を受信すること）、アクセスすること（例えば、メモリ内のデータにアクセスすること）、および同様のことを含み得る。さらに、「決定すること」は、解決すること、選択すること、選ぶこと、確立すること、および同様のことを含み得る。
【００９７】
[00105]  本明細書で使用される場合、項目のリスト「のうちの少なくとも１つ」を指すフレーズは、単一のメンバを含む、それらの項目の任意の組合せを指す。例として、「ａ、ｂ、またはｃのうちの少なくとも１つ」は、ａ、ｂ、ｃ、ａ−ｂ、ａ−ｃ、ｂ−ｃ、およびａ−ｂ−ｃをカバーするように意図されている。
【００９８】
[00106]  本開示に関連して説明された様々な例示的な論理ブロック、モジュール、および回路は、本明細書で説明された機能を実行するように設計された、汎用プロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ信号（ＦＰＧＡ）、または他のプログラマブル論理デバイス（ＰＬＤ）、ディスクリートゲートまたはトランジスタ論理、ディスクリートハードウェアコンポーネント、あるいはそれらの任意の組合せを用いて、インプリメントまたは実行され得る。汎用プロセッサは、マイクロプロセッサであり得るが、代替として、プロセッサは、商業的に入手可能な任意のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであり得る。プロセッサは、また、例えば、ＤＳＰとマクロプロセッサの組合せ、複数のマイクロプロセッサ、ＤＳＰコアに連結した１つまたは複数のマイクロプロセッサ、または他の任意のそのような構成といった、コンピューティングデバイスの組合せとしてインプリメントされ得る。
【００９９】
[00107]  本開示に関連して説明されたアルゴリズムまたは方法のステップは、ハードウェアにおいて直接的に、プロセッサによって実行されるソフトウェアモジュールにおいて、またはその２つの組合せで、具現化され得る。ソフトウェアモジュールは、当該技術で知られている任意の形態の記憶媒体内に存在し得る。使用され得る記憶媒体のうちのいくつかの例は、ランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、フラッシュメモリ、消去可能なプログラマブル読取専用メモリ（ＥＰＲＯＭ）、電気的に消去可能なプログラマブル読取専用メモリ（ＥＥＰＲＯＭ（登録商標））、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、等を含む。ソフトウェアモジュールは、単一の命令または多くの命令を備え得、いくつかの異なるコードセグメントにわたって、異なるプログラム間で、および複数の記憶媒体にわたって、分散し得る。記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合され得る。代替として、記憶媒体は、プロセッサと一体であり得る。
【０１００】
[00108]  本明細書に開示された方法は、説明された方法を達成するための１つまたは複数のステップまたはアクションを備える。方法のステップおよび／またはアクションは、特許請求の範囲から逸脱せずに、互いに置き換えられ得る。言い換えると、ステップまたはアクションの特定の順序が特定されていない限り、特定のステップおよび／またはアクションの順序および／または使用は、特許請求の範囲から逸脱することなく修正され得る。
【０１０１】
[00109]  説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組合せにおいてインプリメントされ得る。ハードウェアにおいてインプリメントされる場合、例となるハードウェア構成は、デバイス内の処理システムを備え得る。処理システムは、バスアーキテクチャでインプリメントされ得る。バスは、処理システムの特定用途と全体的な設計制約とに依存して、任意の数の相互接続バスおよびブリッジを含み得る。バスは、プロセッサ、機械可読媒体、およびバスインターフェースを含む様々な回路を共にリンクさせ得る。バスインターフェースは、ネットワークアダプタを、特に、バスを介して処理システムに接続するために使用され得る。ネットワークアダプタは、信号処理機能をインプリメントするために使用され得る。ある特定の態様の場合、ユーザインターフェース（例えば、キーパッド、ディスプレイ、マウス、ジョイスティック、等）もまた、バスに接続され得る。バスはまた、タイミングソース、周辺機器、電圧レギュレータ、電力管理回路、および同様のものといった、様々な他の回路をリンクさせ得るが、これらは、当該技術において周知であるので、これ以上説明されないであろう。
【０１０２】
[00110]  プロセッサは、バスの管理と、機械可読媒体上に記憶されたソフトウェアの実行を含む汎用処理と、を担い得る。プロセッサは、１つまたは複数の汎用および／または特殊用途プロセッサを用いてインプリメントされ得る。例は、ソフトウェアを実行することができるマイクロプロセッサ、マイクロコントローラ、ＤＳＰプロセッサ、および他の回路を含む。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と称されようと、または別の名称で呼ばれようと、命令、データ、またはこれらの任意の組合せを意味するように広く解釈されるものとする。機械可読媒体は、例として、ランダムアクセスメモリ（ＲＡＭ）、フラッシュメモリ、読取専用メモリ（ＲＯＭ）、プログラマブル読取専用メモリ（ＰＲＯＭ）、消去可能なプログラマブル読取専用メモリ（ＥＰＲＯＭ）、電気的に消去可能なプログラマブル読取専用メモリ（ＥＥＰＲＯＭ）、レジスタ、磁気ディスク、光ディスク、ハードドライブ、または他の任意の好適な記憶媒体、あるいはそれらの任意の組合せを含み得る。機械可読媒体は、コンピュータプログラム製品において具現化され得る。コンピュータプログラム製品は、パッケージ材料を備え得る。
【０１０３】
[00111]  ハードウェアインプリメンテーションにおいて、機械可読媒体は、プロセッサとは別個の処理システムの一部であり得る。しかしながら、当業者が容易に認識することになるように、機械可読媒体またはその任意の部分は、処理システムの外部にあり得る。例として、機械可読媒体は、伝送回線、データによって変調される搬送波、および／またはデバイスとは別個のコンピュータ製品を含み得、そのすべてはバスインターフェースを通してプロセッサによってアクセスされ得る。代替的に、またはそれに加えて、機械可読媒体、またはその任意の部分は、キャッシュおよび／または汎用レジスタファイルを伴い得るケースのように、プロセッサに一体化され得る。説明された様々なコンポーネントは、ローカルコンポーネントのように、特定のロケーションを有するものとして説明され得るが、それらはまた、ある特定のコンポーネントが分散型コンピューティングシステムの一部として構成されるような、様々な方法で構成され得る。
【０１０４】
[00112]  処理システムは、プロセッサ機能を提供する１つまたは複数のマイクロプロセッサ、および機械可読媒体の少なくとも一部分を提供する外部メモリを有し、すべてが外部バスアーキテクチャを通して他のサポート回路と共にリンクされている、汎用処理システムとして構成され得る。代替的に、処理システムは、本明細書で説明されているニューロンモデルおよびニューラルシステムのモデルをインプリメントするための１つまたは複数の神経形態学的プロセッサを備え得る。別の代替として、処理システムは、プロセッサ、バスインターフェース、ユーザインターフェース、サポート回路、および単一のチップに一体化された機械可読媒体の少なくとも一部を有する特定用途向け集積回路（ＡＳＩＣ）で、または、１つまたは複数のフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラマブル論理デバイス（ＰＬＤ）、コントローラ、ステートマシン、ゲート論理、ディスクリートハードウェアコンポーネント、あるいは他の任意の好適な回路、あるいは本開示全体を通して説明されている様々な機能を行うことができる回路の任意の組合せで、インプリメントされ得る。当業者は、システム全体に課された全体的な設計制約および特定用途に依存して、処理システムに関する説明された機能をいかに最善にインプリメントするべきかを認識するであろう。
【０１０５】
[00113]  機械可読媒体は、多くのソフトウェアモジュールを備え得る。ソフトウェアモジュールは、プロセッサによって実行されると、処理システムに様々な機能を行わせる命令を含む。ソフトウェアモジュールは、送信モジュールおよび受信モジュールを含み得る。各ソフトウェアモジュールは、単一の記憶デバイス内に存在し得るか、または複数の記憶デバイスにわたって分散し得る。例として、ソフトウェアモジュールは、トリガイベントが生じたときに、ハードドライブからＲＡＭにロードされ得る。ソフトウェアモジュールの実行中、プロセッサは、アクセススピードを増加させるために、命令のうちのいくつかをキャッシュにロードし得る。１つまたは複数のキャッシュラインは、次いで、プロセッサによる実行のために汎用レジスタファイルにロードされ得る。下記においてソフトウェアモジュールの機能を指すとき、そのような機能は、そのソフトウェアモジュールからの命令を実行するときにプロセッサによってインプリメントされることが理解されるであろう。さらに、本開示の態様がプロセッサ、コンピュータ、機械、またはこのような態様をインプリメントする他のシステムの機能への改良をもたらすことが理解されるべきである。
【０１０６】
[00114]  ソフトウェアにおいてインプリメントされる場合、これら機能は、コンピュータ可読媒体上の１つまたは複数の命令またはコードとして、記憶または送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体およびコンピュータ記憶媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされることができる任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは、命令またはデータ構造の形態で所望のプログラムコードを記憶または搬送するために使用されることができ、またコンピュータによってアクセスされることができる、任意の他の媒体を備えることができる。追加的に、任意の接続は、コンピュータ可読媒体と厳密には称される。例えば、ソフトウェアがウェブサイト、サーバ、または他の遠隔ソースから、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、あるいは赤外線（ＩＲ）、無線、およびマイクロ波のようなワイヤレス技術を使用して送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波のようなワイヤレス技術は媒体の定義に含まれる。ディスク（disk）およびディスク（disc）は、本明細書で使用されるとき、コンパクトディスク（ＣＤ）、レーザーディスク（登録商標）、光ディスク、デジタルバーサタイルディスク（ＤＶＤ）、フロッピー（登録商標）ディスク、およびＢｌｕ−ｒａｙ（登録商標）ディスクを含み、ここで、ディスク（disk）は通常、磁気的にデータを再生するが、ディスク（disc）は、レーザーを用いて光学的にデータを再生する。したがって、いくつかの態様では、コンピュータ可読媒体は、非一時的なコンピュータ可読媒体（例えば、有体的媒体）を備え得る。加えて、他の態様では、コンピュータ可読媒体は、一時的なコンピュータ可読媒体（例えば、信号）を備え得る。上記の組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
【０１０７】
[00115]  したがって、ある特定の態様は、本明細書に提示された動作を行うためのコンピュータプログラム製品を備え得る。例えば、そのようなコンピュータプログラム製品は、命令を記憶した（および／または符号化した）コンピュータ可読媒体を備え得、それらの命令は、本明細書で説明された動作を行うために、１つまたは複数のプロセッサによって実行可能である。ある特定の態様では、コンピュータプログラム製品は、パッケージ材料を含み得る。
【０１０８】
[00116]  さらに、本明細書で説明された方法および技法を行うためのモジュールおよび／または他の適切な手段が、ダウンロードされ得ること、および／または、そうでなければ、適用可能な場合、ユーザ端末および／または基地局によって取得され得ることが理解されるべきである。例えば、そのようなデバイスは、本明細書で説明された方法を行うための手段の転送を容易にするために、サーバに結合されることができる。代替的に、本明細書で説明された様々な方法は、ユーザ端末および／または基地局が、記憶手段をデバイスに結合または提供すると様々な方法を取得することができるように、記憶手段（例えば、ＲＡＭ、ＲＯＭ、コンパクトディスク（ＣＤ）またはフロッピーディスクのような物理的記憶媒体、等）を介して提供されることができる。さらに、本明細書で説明された方法および技法をデバイスに提供するための他の任意の好適な技法が利用されることができる。
【０１０９】
[00117]  特許請求の範囲が、上に例示されたまさにその構成およびコンポーネントに限定されないことが理解されるべきである。様々な修正、変更、および変形が、特許請求の範囲から逸脱せずに、上述された装置および方法の配列、動作、および詳細においてなされ得る。
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
オブジェクト検出の方法であって、
画像全体のコンテキストラベルを識別することと、
識別されたコンテキストラベルに少なくとも部分的に基づいて、前記画像中の関心オブジェクトを検出するための確からしい領域のセットを選択することと
を備える、方法。
［Ｃ２］
前記確からしい領域のセットを正確にするようにニューラルネットワークを訓練することをさらに備える、Ｃ１に記載の方法。
［Ｃ３］
ユーザ入力に少なくとも部分的に基づいて前記コンテキストラベルを作成することをさらに備える、Ｃ１に記載の方法。
［Ｃ４］
教師なし学習に少なくとも部分的に基づいて前記コンテキストラベルを作成することをさらに備える、Ｃ１に記載の方法。
［Ｃ５］
前記コンテキストラベルに少なくとも部分的に基づいて前記確からしい領域のセットを生成することをさらに備える、Ｃ１に記載の方法。
［Ｃ６］
別のコンテキストラベルを識別することと、
前記別の識別されたコンテキストラベルに少なくとも部分的に基づいて、前記画像中の関心オブジェクトを検出する確からしい領域の別のセットを選択することと
をさらに備える、Ｃ１に記載の方法。
［Ｃ７］
関心オブジェクトが存在するかどうかを前記確からしい領域の各々に関して決定するようにニューラルネットワークを訓練することをさらに備える、Ｃ１に記載の方法。
［Ｃ８］
前記コンテキストラベルにしたがって前記確からしい領域の各々を分類するようにニューラルネットワークを訓練することをさらに備える、Ｃ１に記載の方法。
［Ｃ９］
オブジェクト検出のための装置であって、
メモリと、
前記メモリに結合された少なくとも１つのプロセッサと
を備え、前記少なくとも１つのプロセッサは、
画像全体のコンテキストラベルを識別することと、
識別されたコンテキストラベルに少なくとも部分的に基づいて、前記画像中の関心オブジェクトを検出するための確からしい領域のセットを選択することと
を行うように構成される、装置。
［Ｃ１０］
前記少なくとも１つのプロセッサは、前記確からしい領域のセットを正確にするようにニューラルネットワークを訓練するようにさらに構成される、Ｃ９に記載の装置。
［Ｃ１１］
前記少なくとも１つのプロセッサは、ユーザ入力に少なくとも部分的に基づいて前記コンテキストラベルを作成するようにさらに構成される、Ｃ９に記載の装置。
［Ｃ１２］
前記少なくとも１つのプロセッサは、教師なし学習に少なくとも部分的に基づいて前記コンテキストラベルを作成するようにさらに構成される、Ｃ９に記載の装置。
［Ｃ１３］
前記少なくとも１つのプロセッサは、前記コンテキストラベルに少なくとも部分的に基づいて前記確からしい領域のセットを生成するようにさらに構成される、Ｃ９に記載の装置。
［Ｃ１４］
前記少なくとも１つのプロセッサは、
別のコンテキストラベルを識別することと、
前記別の識別されたコンテキストラベルに少なくとも部分的に基づいて前記画像中の関心オブジェクトを検出する確からしい領域の別のセットを選択することと
をさらに行うように構成される、Ｃ９に記載の装置。
［Ｃ１５］
前記少なくとも１つのプロセッサは、関心オブジェクトが存在するかどうかを前記確からしい領域の各々に関して決定するようにニューラルネットワークを訓練するようにさらに構成される、Ｃ９に記載の装置。
［Ｃ１６］
前記少なくとも１つのプロセッサは、前記コンテキストラベルにしたがって前記確からしい領域の各々を分類するようにニューラルネットワークを訓練するようにさらに構成される、Ｃ９に記載の装置。
［Ｃ１７］
非一時的なプログラムコードを記録した、オブジェクト検出のための非一時的なコンピュータ可読媒体であって、前記プログラムコードは、
画像全体のコンテキストラベルを識別するためのプログラムコードと、
識別されたコンテキストラベルに少なくとも部分的に基づいて前記画像中の関心オブジェクトを検出するための確からしい領域のセットを選択するためのプログラムコードと  を備える、非一時的なコンピュータ可読媒体。
［Ｃ１８］
前記確からしい領域のセットを正確にするようにニューラルネットワークを訓練するためのプログラムコードをさらに備える、Ｃ１７に記載のコンピュータ可読媒体。
［Ｃ１９］
ユーザ入力に少なくとも部分的に基づいて前記コンテキストラベルを作成するためのプログラムコードをさらに備える、Ｃ１７に記載のコンピュータ可読媒体。
［Ｃ２０］
教師なし学習に少なくとも部分的に基づいて前記コンテキストラベルを作成するためのプログラムコードをさらに備える、Ｃ１７に記載のコンピュータ可読媒体。
［Ｃ２１］
前記コンテキストラベルに少なくとも部分的に基づいて前記確からしい領域のセットを生成するためのプログラムコードをさらに備える、Ｃ１７に記載のコンピュータ可読媒体。
［Ｃ２２］
別のコンテキストラベルを識別するためのプログラムコードと、
前記別の識別されたコンテキストラベルに少なくとも部分的に基づいて前記画像中の関心オブジェクトを検出する確からしい領域の別のセットを選択するためのプログラムコードと
をさら備える、Ｃ１７に記載のコンピュータ可読媒体。
［Ｃ２３］
関心オブジェクトが存在するかどうかを前記確からしい領域の各々に関して決定するようにニューラルネットワークを訓練するためのプログラムコードをさらに備える、Ｃ１７に記載のコンピュータ可読媒体。
［Ｃ２４］
前記コンテキストラベルにしたがって前記確からしい領域の各々を分類するようにニューラルネットワークを訓練するためのプログラムコードをさらに備える、Ｃ１７に記載のコンピュータ可読媒体。
［Ｃ２５］
ワイヤレス通信のための装置であって、
画像全体のコンテキストラベルを識別するための手段と、
識別されたコンテキストラベルに少なくとも部分的に基づいて前記画像中の関心オブジェクトを検出するための確からしい領域のセットを選択するための手段と
を備える、装置。
［Ｃ２６］
前記確からしい領域のセットを正確にするようにニューラルネットワークを訓練するための手段をさらに備える、Ｃ２５に記載の装置。
［Ｃ２７］
教師なし学習に少なくとも部分的に基づいて前記コンテキストラベルを作成するための手段をさらに備える、Ｃ２５に記載の装置。
［Ｃ２８］
別のコンテキストラベルを識別するための手段と、
前記別の識別されたコンテキストラベルに少なくとも部分的に基づいて前記画像中の関心オブジェクトを検出する確からしい領域の別のセットを選択するための手段と
をさらに備える、Ｃ２５に記載の装置。
【図１】
0006743124.tif 000003
【図２】
0006743124.tif 000004
【図３Ａ】
0006743124.tif 000005
【図３Ｂ】
0006743124.tif 000006
【図４】
0006743124.tif 000007
【図５】
0006743124.tif 000008
【図６】
0006743124.tif 000009
【図７】
0006743124.tif 000010
【図８】
0006743124.tif 000011
【図９】
0006743124.tif 000012