(57)【要約】  一連の未加工画像に対応する未加工画像データを受信すること、及び未加工画像データを処理装置のエンコーダにより処理してエンコードされたデータを生成することを含む方法が記載される。エンコーダは、脊椎動物の網膜の少なくとも１つの網膜細胞の入力／出力変換を実質的に模倣する入力／出力変換により特徴付けられる。方法は、エンコードされたデータに次元低減アルゴリズムを適用することにより、エンコードされたデータを処理して、次元が低減されたエンコードされたデータを生成することも含む。次元低減アルゴリズムは、エンコードされたデータに含まれる情報の量を圧縮するように構成されている。このような方法と共に使用可能な装置及びシステムも、記載される。【選択図】図１
2018514036.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
処理装置により、一連の未加工画像に対応する未加工画像データを受信することと、
前記未加工画像データを前記処理装置のエンコーダにより処理して、エンコードされたデータを生成することであって、前記エンコーダが、脊椎動物の網膜の少なくとも１つの網膜細胞の入力／出力変換を実質的に模倣する入力／出力変換により特徴付けられる、生成することと、
前記エンコードされたデータに次元低減アルゴリズムを適用することにより、前記エンコードされたデータを前記プロセッサにより処理して、次元低減されたエンコードされたデータを生成することであって、前記次元低減アルゴリズムが、前記エンコードされたデータ内に含まれる情報を圧縮するように構成されている、生成することと、を含む、方法。
【請求項２】
前記エンコードされたデータが、一連のエンコードされた網膜画像を含み、前記エンコードされたデータを処理することが、前記一連のエンコードされた網膜画像を処理して、前記エンコードされた網膜画像に基づいて特徴部シグネチャデータを生成することを含む、請求項１に記載の方法。
【請求項３】
前記特徴部シグネチャデータが、複数の網膜画像領域に関する情報を含む、請求項２に記載の方法。
【請求項４】
前記特徴部シグネチャデータが、前記複数の網膜画像領域のそれぞれに対応する動作データを含む、請求項３に記載の方法。
【請求項５】
前記運動データが、前記複数の網膜画像領域のそれぞれに対応する速度データを含む、請求項４に記載の方法。
【請求項６】
前記特徴部シグネチャデータが、前記複数の網膜画像領域のそれぞれに対応する光学フローデータを含む、請求項３に記載の方法。
【請求項７】
前記エンコードされたデータを処理することが、訓練されたアルゴリズムを前記エンコードされたデータに適用することを含む、請求項１に記載の方法。
【請求項８】
前記訓練されたアルゴリズムが、畳み込みニューラルネットワークを含む、請求項７に記載の方法。
【請求項９】
前記訓練されたアルゴリズムが、訓練データセットのエンコードされた訓練データで訓練され、前記エンコードされた訓練データが、脊椎動物の網膜の１つまたは複数の網膜細胞の入力／出力変換を実質的に模倣する入力／出力変換により特徴付けられる訓練エンコーダを使用してエンコードされた、請求項７に記載の方法。
【請求項１０】
前記訓練セットのエンコードされた訓練データが、仮想環境のエンコードされた画像を含み、前記未加工画像データが、現実環境の未加工画像を含む、請求項９に記載の方法。
【請求項１１】
前記訓練セットのエンコードされた訓練データが、第１の条件セットの下で取得された画像を含み、前記未加工画像データが、前記第１の条件セットとは異なる第２の条件セットの下で取得された未加工画像を含む、請求項９に記載の方法。
【請求項１２】
前記第１の条件セット及び前記第２の条件セットが、照明条件を含む、請求項１１に記載の方法。
【請求項１３】
マシンビジョンアルゴリズムを前記次元低減されたエンコードされたデータに適用することをさらに含む、請求項１に記載の方法。
【請求項１４】
前記エンコードされたデータを処理して次元低減されたエンコードされたデータを生成することが、前記未加工画像データを処理してエンコードされたデータを生成することの後に、かつ前記マシンビジョンアルゴリズムを前記次元低減されたエンコードされたデータに適用することの前に行われる、請求項１３に記載の方法。
【請求項１５】
前記未加工画像データを処理してエンコードされたデータを生成することが、前記未加工画像データと比較して次元が低減されたエンコードされたデータを生成することを含み、前記エンコードされたデータを処理して前記次元低減されたエンコードされたデータを生成することが、前記未加工画像データと比較してすでに次元が低減された前記エンコードされたデータを追加的に圧縮することを含む、請求項１に記載の方法。
【請求項１６】
前記エンコードされたデータに含まれる情報の量が、前記対応する未加工画像データと比較して少なくとも約二分の一に圧縮され、前記次元低減されたエンコードされたデータが、前記対応するエンコードされたデータと比較して少なくとも約二分の一に圧縮される、請求項１５に記載の方法。
【請求項１７】
前記エンコードされたデータに含まれる前記情報の量が、前記対応する未加工画像データと比較して少なくとも約十分の一に圧縮され、前記次元低減されたエンコードされたデータが、前記対応するエンコードされたデータと比較して少なくとも約十分の一に圧縮される、請求項１５に記載の方法。
【請求項１８】
装置であって、
未加工画像データを記憶するように構成された少なくとも１つのメモリ記憶装置と、
前記メモリに作動可能に連結された少なくとも１つのプロセッサであって、
一連の未加工画像に対応する未加工画像データを受信し、
脊椎動物の網膜の少なくとも１つの網膜細胞の入力／出力変換を実質的に模倣する入力／出力変換を使用して前記未加工画像データを処理してエンコードされたデータを生成し、
次元低減アルゴリズムを前記エンコードされたデータに適用することにより前記エンコードされたデータを処理して次元低減されたエンコードされたデータを生成するようにプログラムされた、少なくとも１つのプロセッサと、を備え、前記次元低減アルゴリズムが、前記エンコードされたデータに含まれる情報の量を圧縮するように構成された、装置。
【請求項１９】
前記少なくとも１つのプロセッサに作動可能に連結されたロボット装置であって、前記未加工画像データを生成するように構成された少なくとも１つの画像センサを備えた、ロボット装置、をさらに備えた、請求項１８に記載の装置。
【請求項２０】
コンピュータ実行可能な命令を有する非一時的なコンピュータ可読媒体であって、前記コンピュータ実行可能な命令が、計算装置により実行されると、
一連の未加工画像に対応する未加工画像データを受信することと、
脊椎動物の網膜の少なくとも１つの網膜細胞の入力／出力変換を実質的に模倣する入力／出力変換を使用して前記未加工画像データを処理してエンコードされたデータを生成することと、
次元低減アルゴリズムを前記エンコードされたデータに適用することにより前記エンコードされたデータを処理して次元低減されたエンコードされたデータを生成することと、を含む作業を前記計算装置に行わせ、前記次元低減アルゴリズムが、前記エンコードされたデータに含まれる情報の量を圧縮するように構成された、非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
関連出願の相互参照
本出願は、米国特許法第１１９条に基づき、２０１５年４月２０日に提出された米国仮特許出願第６２／１５０，０６８号の優先権を主張し、同出願の全ての内容は、参照により本明細書に組み込まれる。本出願は、米国仮出願第６１／５２７４９３号（２０１１年８月２５日出願）、同第６１／６５７４０６号（２０１２年６月８日出願）、同第６１／３０８，６８１号（２０１０年２月２６日出願）、同第６１／３５９，１８８号（２０１０年６月２８日出願）、同第６１／３７８，７９３号（２０１０年８月３１日出願）、同第６１／３８２，２８０号（２０１０年９月１３日出願）、同第１３／２３０，４８８号（２０１１年９月１２日出願）も参照により組み込む。本出願は、本明細書において「プロテーゼ出願」と呼ぶ国際特許出願第ＰＣＴ／ＵＳ２０１１／０２６５２６号（２０１１年２月２８日出願）及び同第ＰＣＴ／ＵＳ２０１１／０４９１８８号（２０１１年８月２５日出願）、本明細書において「マシンビジョン出願」と呼ぶ国際特許出願第ＰＣＴ／ＵＳ２０１２／０５２３４８号（２０１２年８月２４日出願）も参照により組み込む。上記出願のそれぞれの内容は、そのそれぞれの全体が参照により組み込まれる。
【０００２】
以下の説明は、読み手の理解を助けるために提供されている。提供する情報または引用文献のいずれも、先行技術であるとは認めない。マシンビジョン（またはコンピュータビジョン）とは、マシン（例えば、コンピュータ）が視覚情報を使用して、例えば画像から情報を抽出し、何らかのタスクを解決し、または広義もしくは狭義のいずれかの意味で情景を「理解する（ｕｎｄｅｒｓｔａｎｄ）」ことを可能にする技術を指す。一般に、マシンビジョンは、画像データからの情報の抽出に関する。画像データは、単一の画像、ビデオシーケンス、複数のカメラからの眺め、またはより高次元のデータ（例えば、医療スキャナの三次元画像）などの多数の形態をとり得る。視覚系の作業の抽象モデルに基づいてマシンビジョンのための画像データ予備処理スキームを構築するためのいくつかのアプローチが提案されているが、それらの有効性は限定的である。マシンビジョンがより効果的かつ実用的になるようにマシンビジョンを改善するための余地は大きい。
【発明の概要】
【０００３】
上述の概要は、単に例示的なものであり、いかなる点でも限定的であることを意図しない。上記の例示的な態様、実施形態、及び特徴に加えて、さらなる態様、実施形態、及び特徴が、以下の図面及び詳細な説明を参照することにより明らかになるであろう。
【０００４】
例示的なには、処理装置により一連の未加工画像に対応する未加工画像データを受信することと、未加工画像データを処理装置のエンコーダにより処理してエンコードされたデータを生成することとを含む方法が記載されている。エンコーダは、脊椎動物の網膜の少なくとも１つの網膜細胞の入力／出力変換を実質的に模倣する入力／出力変換により特徴付けられる。方法は、次元低減アルゴリズムをエンコードされたデータに適用することにより、プロセッサによりエンコードされたデータを処理して次元低減されたエンコードされたデータを生成することも含む。この後者の次元低減アルゴリズムは、エンコードされたデータに含まれる情報をさらに圧縮して、それをマシンビジョンアルゴリズムのために有用にするように構成されている。具体的には、このさらなる圧縮は、エンコードされたデータから特徴を、すなわちマシンビジョンにとって有用であるが元の未加工画像にはない特徴を、引き出すことを可能にする。
【０００５】
加えるに、一部の実装では、さらなる次元低減によりもたらされる特徴は、特徴シグネチャを生成するように組み立てられ得る。特徴シグネチャは、複数のエンコードされた画像領域に関する情報を含む。特徴シグネチャは、複数のエンコードされた画像領域を通じて、その構成要素の特徴より大きい（すなわち、より記述的な）情報を所持してもよい。例えば、一部の実施形態では、次元低減をエンコードされたデータに適用することにより引き出される特徴は、異なる照明条件及び環境により混乱されていない特定の種類の速度情報を含む、速度情報を含んでもよい。シグネチャ内の複数の領域は、人体の領域に対応する一組の領域であってもよい。この例における特徴シグネチャは、成分が個別領域内の速度（すなわち、エンコードされたデータを使用して測定された、個々の身体部分の動作に関連付けられた速度）であるベクトルを作成することにより生成され得る。なお、上記のように、未加工画像ではなくエンコードされたデータを使用することにより、照明条件または当該人物が運動している環境などの他の要因により混乱されることなしに各領域内の速度を計算することができる。シグネチャは足取り、熱の傾き、身体部分の相対的なサイズなどの人物の身体運動の多くの識別特徴を取り込むため、次いでこのベクトル、このシグネチャを使用して人物を特定し、すなわち人物を他人から区別することができる。同様に、複数の領域またはセクタは、オブジェクトの領域に対応し、人間または他の生物が非生物、すなわち剛性な存在から区別されることを可能にする。
【０００６】
一部の実装では、エンコードされたデータは、１つの、または一連のエンコードされた画像（しばしば一連の網膜画像もしくはエンコードされた網膜画像と呼ばれる）として表され、エンコードされたデータを処理することは、エンコードされた一連の網膜画像を処理して、特徴または特徴シグネチャを生成することを含む。上記のように、特徴シグネチャは、複数の網膜画像領域に関する情報を含んでもよい。
【０００７】
一部の実装では、エンコードされたデータを処理することは、訓練されたアルゴリズムをエンコードされたデータに適用することを含む。訓練されたアルゴリズムは、畳み込みニューラルネットワーク（ＣＮＮ）を含んでもよい。訓練されたアルゴリズムは、訓練データセットのエンコードされた訓練データで訓練されていてもよく、エンコードされた訓練データは、脊椎動物の網膜の１つまたは複数の網膜細胞の入力／出力変換を実質的に模倣する入力／出力変換により特徴付けられる訓練エンコーダを使用してエンコードされていてもよい。さらなる実装では、訓練セットのエンコードされた訓練データは、仮想環境のエンコードされた画像を含み、未加工画像データは、現実環境の未加工画像を含む。訓練セットのエンコードされた訓練データは、第１の条件セットの下で取得された画像を含んでもよく、未加工画像データは、第１の条件セットとは異なる第２の条件セットの下で取得された未加工画像を含んでもよい。第１の条件セットと第２の条件セットとは、異なる照明条件を含んでもよい。
【０００８】
別の実装では、方法は、マシンビジョンアルゴリズムを次元低減されたエンコードされたデータに適用することを含んでもよい。エンコードされたデータを処理して次元低減されたエンコードされたデータを生成することは、未加工画像データを処理してエンコードされたデータを生成することの後に、かつマシンビジョンアルゴリズムを次元低減されたエンコードされたデータに適用することの前に行われてもよい。未加工画像データを処理してエンコードされたデータを生成することは、未加工画像データと比較して次元が低減されたエンコードされたデータを生成することを含んでもよく、エンコードされたデータを処理して次元低減されたエンコードされたデータを生成することは、未加工画像データと比較してすでに次元が低減されたエンコードされたデータを追加的に圧縮することを含んでもよい。エンコードされたデータに含まれる情報の量は、対応する未加工画像データと比較して少なくとも約二分の一に圧縮されてもよく、次元低減されたエンコードされたデータは、対応するエンコードされたデータと比較して少なくとも約二分の一に圧縮されてもよい。エンコードされたデータに含まれる情報の量は、対応する未加工画像データと比較して少なくとも約十分の一に圧縮されてもよく、次元低減されたエンコードされたデータは、対応するエンコードされたデータと比較して少なくとも約十分の一に圧縮されてもよい。
【０００９】
別の実装では、装置は、未加工画像データを記憶するように構成された少なくとも１つのメモリ記憶装置と、このメモリに作動可能に連結された少なくとも１つのプロセッサとを含む。プロセッサは、一連の未加工画像に対応する未加工画像データを受信し、脊椎動物の網膜の少なくとも１つの網膜細胞の入力／出力変換を実質的に模倣する入力／出力変換を使用してこの未加工画像データを処理してエンコードされたデータを生成するようにプログラムされている。プロセッサは、エンコードされたデータに次元低減アルゴリズムを適用することにより、エンコードされたデータを処理して、次元低減されたエンコードされたデータを生成するようにさらにプログラムされている。次元低減アルゴリズムは、エンコードされたデータに含まれる情報の量を圧縮するように構成されていてもよい。装置は、少なくとも１つのプロセッサに作動可能に連結されたロボット装置であって、未加工画像データを生成するように構成された少なくとも１つの画像センサを備えた、ロボット装置、をさらに含んでもよい。
【００１０】
別の実装では、計算装置による実行時に、一連の未加工画像に対応する未加工画像データを受信することと、脊椎動物の網膜の少なくとも１つの網膜細胞の入力／出力変換を実質的に模倣する入力／出力変換を使用して未加工画像データを処理してエンコードされたデータを生成することと、次元低減アルゴリズムをエンコードされたデータに適用することによりエンコードされたデータを処理して次元低減されたエンコードされたデータを生成することと、を含む作業を計算装置に行わせるコンピュータ実行可能な命令を有する非一時的なコンピュータ可読媒体。次元低減アルゴリズムは、エンコードされたデータに含まれる情報の量を圧縮するように構成されている。
【００１１】
本開示の上記の特徴及び他の特徴は、添付図面と共に使用されると、以下の説明及び添付請求項からより十全に明らかになるであろう。これらの図面は本開示によるいくつかの実施形態のみを描いたものであり、したがって本開示の範囲を限定するとみなされるべきではないことを理解し、本開示を添付図面の使用を通じてさらに具体的に、かつ詳細に説明する。
【図面の簡単な説明】
【００１２】
【図１】例示的な実施形態によるマシンビジョンを有する装置のブロック図である。
【図２】例示的な実施形態によるエンコーダモジュールの作業を例示する流れ図である。
【図３Ａ】例示的な実施形態による例示的な網膜ナビゲータにより制御される現実世界の環境を通過するロボットの軌道を描く。
【図３Ｂ】例示的な実施形態による例示的な画素ナビゲータにより制御される現実世界の環境を通過するロボットの軌道を描く。
【図４】様々な例示的な実施形態による異なる環境を通る網膜ナビゲータ及び画素ナビゲータの結果のヒストグラムを描く。
【図５】例示的な実施形態による様々な照明条件を有する様々な環境において網膜ナビゲータ及び画素ナビゲータがどれだけ良好に働いたかを表すグラフを描く。
【図６Ａ−６Ｅ】例示的な実施形態による様々な照明条件を有する様々な環境網膜ナビゲータ及び画素ナビゲータによりなされた正しい決定のヒストグラムを描く。
【図７】例示的な実施形態によるビデオ内の人物認識の段階を描く。
【図８】例示的な実施形態によるエンコードされた画像（ここでは仮想網膜画像（ＶＲ）と呼ぶ）及び未加工画像データを使用して人物を認識する際の畳み込みニューラルネットワークの有効性のヒストグラムを描く。
【図９】例示的な実施形態による人物の顔の動作シグネチャを生成するための、エンコードされた画像（ここでは仮想網膜画像（ＶＲ）と呼ぶ）の例示的な使用を描く。
【図１０】例示的な実施形態によるマシンビジョン装置のブロック図を描く。
【発明を実施するための形態】
【００１３】
以下の詳細な説明では、本明細書の一部を形成する添付図面を参照する。図面において、類似の記号は、文脈上別段の解釈を必要としない限り、典型的に類似の構成要素を特定する。詳細な説明、図面、及び請求項に記載の例示的な実施形態は、限定的であることを意図しない。本明細書で提示する主題の趣旨または範囲から逸脱することなしに、他の実施形態を利用することができ、他の変更を行うことができる。本明細書に一般的に記載され、図面に例示されている本開示の態様は、広範な異なる構成において配置、代用、結合、及び設計することができ、その全てが明示的に企図され、本開示の一部をなすことが容易に理解されるであろう。
【００１４】
マシンビジョンは多数の用途を有し、生産ライン上を通り過ぎる物体を計数するために使用される産業システムなどの相対的に単純なタスクから、顔認識などのより複雑なタスク、及び知覚的タスク（例えば、ロボットに複雑な環境を通過させること）にまで及ぶ。マシンビジョンの用途の例の非限定的なリストとしては、プロセスを制御するためのシステム（例えば、産業ロボットまたは自律車両）、イベントを検出するためのシステム（例えば、映像監視または人々の計数のため）、情報を組織化するためのシステム（例えば、画像及び画像シーケンスのデータベースのインデックス作成のため）、物体または環境をモデル化するためのシステム（例えば、工業検査、医用画像解析、または地形モデル化）、ならびに相互作用のためのシステム（例えば、コンピュータ対人間の相互作用のための装置に対する入力として）が挙げられる。
【００１５】
一部の用途では、マシンビジョンは、高度に計算コストの高いタスクを伴うことがある。単一のカラーデジタル画像は、数百万以上の画素からなることがある。各画素は、色空間（例えば、よく知られたＲＧＢ色空間、ＹＣｂＣｒ空間、ＨＳＶ空間など）における画素の座標を定義する複数の（例えば、８または２４）ビット値などの関連付ける値を有し得る。ビデオストリームは、このような画像のシーケンスを、例えば、毎秒数百メガビット以上のビットレートに対応する毎秒数十フレームのフレームレートで含み得る。多くのマシンビジョン用途は、マシンビジョンが実用的であるために、このような画像またはビデオストリームの迅速な処理を必要とする（例えば、物体の動作を追跡し、それに反応するため、物体が組立ラインに沿って動く際に物体を特定または分類するため、ロボットが環境に対してリアルタイムに反応することを可能にするためなど）。
【００１６】
このような大量のデータをこのような時間的制約の下で処理することは、極めて困難であり得る。一部の実施形態では、未加工情報の量を低減させる技法が、画像データを処理するために使用される。このような実施形態では、技法は、手近なマシンビジョンタスクのために重要な画像データの特徴を保持（または強調さえ）することもできる。未加工データではなく、予備処理された画像データが、機械学習アルゴリズムを含むマシンビジョンシステムに入力されてもよく、それにより、以前は学習することが困難または不可能であった画像の特徴を機械学習アルゴリズムが学習することを可能にする。これは、システムの処理負担を低減し、学習を扱いやすくし、迅速な応答及び潜在的に改善された性能を可能にする。
【００１７】
脊椎動物の眼の網膜は、この種類の画像処理を提供する。つまり、脊椎動物の眼の網膜は、視覚刺激を取り込み、視覚刺激を脳により理解することができる形式に変換することができる。このシステム（数百万年の進化を経て開発された）は、哺乳類（特に猿及び人間）における高水準の複雑な視覚認識が証明するように、高度に効率的かつ効果的である。
【００１８】
脊椎動物の視覚システムの作業の抽象モデルに基づくマシンビジョンのための画像データ予備処理スキームを開発するための一部のアプローチは、網膜の実際の働きの大雑把な近似に基づいていてもよいが、これらは高度に効果的ではなかった。
【００１９】
視覚世界は、極めて複雑である。人間の脳は、絶えず視覚信号に襲われているが、にもかかわらず、視覚信号は、敏速に解析され、利用される。このような速度の１つの理由は、網膜により行われる寸法低減である。数百万年の進化は、網膜を強力な次元低減システムへと形作った。脊椎動物の視覚システムは、視覚入力を受け取り、必要なものを引き出し、残りを捨てる。もしこの次元低減が利用されれば、マシンビジョンの能力は、大いに増進されるであろう。
【００２０】
マシンビジョン出願で論じたように、我々は、この次元低減を行う網膜の入力／出力関係のモデルを開発した。これは、任意の複雑さの刺激（顔、風景、歩く人々など、マシンビジョン出願及びプロテーゼ出願を参照されたい）に一般化する点で、他の網膜モデルとは一線を画す。このモデルが行うことは、視覚世界に存在する情報の量を扱いやすい形態に圧潰（本明細書では圧縮とも呼ぶ）することである。圧潰された形態は、次いで、機械学習及びマシンビジョンアルゴリズム（両方とも当技術分野で公知であり、本開示に記載される）を含む他のアルゴリズムに対する入力として使用することができる。圧潰された形態は、アルゴリズムが、視覚環境を学習し、かつ通常の、未加工の高次元視覚入力に直接依拠する際に可能なよりも著しく効果的な方法でそれによってタスクを行うことを可能にする本開示において、我々は、ナビゲーション、顔認識、人物認識、物体認識、感情／表情認識、経済／地質／天候などのデータにおけるトレンド認識、疾患検出（例えば、ＭＲＩ画像、ＣＴスキャン画像、病理スライドなどの医用画像を使用しての）、及び動物または人間により上手に行われる他の認識／検出タスクを含む、様々なタスクへのこのアプローチの応用について記載する。
【００２１】
マシンビジョン出願では、我々は、それが特に難題である（空間及び時間の両方において処理を必要とする）という理由から、ナビゲーションタスクを含む応用においてこのアプローチの有効性を証明した。我々は、環境として、オープンソースのＰａｎｄａ  ３Ｄグラフィックスパッケージを使用して構築された仮想現実３Ｄ環境を使用した。使用した学習アルゴリズムは、「ディープラーニング」ファミリーのものであり、具体的には畳み込みニューラルネットワーク（ＣＮＮ）であった。我々は、ナビゲータが通常の未加工画像をその入力として使用した場合と、ナビゲータが網膜モデル（すなわち、エンコーダ）を通じてフィルタ処理された画像を使用した場合の、２つの条件の下でのナビゲータの性能を比較した。我々は、第１のものを「画素ナビゲータ」、第２のものを「網膜ナビゲータ」と呼ぶ。例えば国際出願第ＰＣＴ／ＵＳ２０１２／０５２３４８号（例えば、図１０及び１１を参照されたい）に示されるように、性能は、学習アルゴリズムが後者を使用したとき、すなわちアルゴリズムが視覚環境から重要な特徴を抽出したとき、大いに良好（何倍も良好）であり、また非常に重要なことに、学習が他の環境（農村、郊外、異なる照明条件など）に一般化されたが、これは、人工的システムにとって高度に問題のある点であった。
【００２２】
本開示において、我々は、一部の実施形態において以下の利点の一部または全部を呈する技法、すなわち、１）次元低減アプローチのパワーを現実世界の環境に翻訳し、２）生物学的発想によるものと人工的なものの両方の、さらなる次元低減方法を追加して顔認識、人物認識、物体認識、環状／表情認識、経済／地質／天候などのデータにおけるトレンド認識、及び動物または人間により上手に行われる他の認識／検出タスクのための新しいアルゴリズムを作成する技法、を説明した。
【００２３】
一態様では、一連の未加工画像に対応する未加工画像データを受信することと、未加工画像データをエンコーダで処理してエンコードされたデータを生成することであって、エンコーダが、脊椎動物の網膜の１つまたは複数の網膜細胞の入力／出力変換を実質的に模倣する入力／出力変換により特徴付けられる、生成することと、エンコードされたデータに含まれる情報の量を圧縮するように構成された次元低減アルゴリズムを適用することによりエンコードされたデータを処理して次元低減されたエンコードされたデータを生成することと、を含む方法が開示される。
【００２４】
様々な実装は、上記の装置、技法、及びそれらの要素のうちの任意のものを、単独で、または任意の好適な組み合わせでのいずれかにより、含んでもよい。
【００２５】
以下は、目的言語を教えるための方法及びシステムに関する様々な概念、ならびに該方法及びシステムの実装の、より詳細な説明である。記載する概念は任意の特定の様式の実装に限定されないため、上記で紹介し、下記でより詳細に論じる様々な概念は、多数の方法のうちの任意の方法で実装され得る。具体的な実装及び応用の例を、主として例示目的のために提供する。
【００２６】
一部の実施形態では、網膜により行われる作業のほぼ完全な複製を提供するエンコーダが使用されてもよい。上記で参照により組み込まれた様々な国際特許出願（以下、「プロテーゼ出願」）に詳細に記載されているように、このようなエンコーダは、高度に効果的な人工網膜を開発するために使用されてもよい。一部の実施形態では、エンコーダは、マシンビジョンに応用される。
【００２７】
予備処理工程（具体的には、次元低減工程または次元シフト）として使用される場合、エンコーダは、マシンビジョンアルゴリズムの性能を大いに向上させ得る。一部の実施形態では、エンコーダは、マシンビジョンアルゴリズムが広範な環境及び照明条件下で情報を効果的に抽出することを可能にし得る。既存のマシンビジョンアルゴリズムが部分的に効果的である場合、次元低減は、強力な向上剤として役立ち得る。エンコーダは、抽出が、より効果的に、より高速に、かつより効率的に遂行されることを可能にし得る（例えば、より高い性能につながる）。
【００２８】
エンコーダにより出力されたデータは、別の次元低減アルゴリズムを使用することにより、さらに処理されてもよい。さらなる処理は、マシンビジョンアルゴリズムの適用の前に（またはその一環として）行われてもよい。このさらなる次元低減アルゴリズムは、生物学的発想によるものであってもよく、部分的または全体的に人工的であってもよい。マシンビジョン出願で論じたように、エンコーダは、未加工画像を新しい表現に、例えば網膜によりエンコードされた画像に、変換する。これらの新しい表現は、未加工画像中に存在しなかった表現である。この表現は、さらなる次元低減処理のために有利に利用されてもよく、それにより元の未加工画像データのより効果的かつ効率的な処理を可能にする。それゆえに、さらなる次元低減アルゴリズムが、網膜によりエンコードされた画像（さらなる特徴またはその中に含まれる表現を含む）に適用されてもよい。網膜によりエンコードされた画像は、未加工画像とは根本的に異なり、したがってそれに対して行われた次元低減は、以前に生成されたことがなく、かつ次元低減プロセスを未加工画像に直接適用することによっては生成することができない、機械学習の特徴（またはパラメータ）をもたらすことに留意されたい（例えば、エンコーダは、時間と共に進化する新規なパターンを作製する。パターンは画像それ自体ではなく画像に対するニューロン反応により生成されるため、パターンを取り込むために選択されるパラメータは、未加工画像の特徴を取り込むために使用され得るパラメータとは異なる）。
【００２９】
一部の実施形態では、学習アルゴリズム（例えば、マシンビジョンアルゴリズム）は、網膜エンコーダ及び１つまたは複数のさらなる次元低減プロセスを使用して処理されたデータ（例えば、画像）で訓練されてもよい。例えば、本明細書で提供する実施例に記載するように、本発明者は、広範な応用において、このような処理されたデータセット（例えば、未加工画像データに対立するものとしての）で訓練されたアルゴリズムが、向上した性能を呈することを見出した。さらに、本発明者は、向上した性能が、高度に一般化可能であることを見出した。つまり、様々なアルゴリズムは、訓練画像に見出されるものとは著しく異なる条件（例えば、照明条件、環境カラーパレットなど）の下で生成された入力（例えば、画像）を提示された場合でさえ、良好に働く。一部の場合には、本発明者は、本明細書に記載の技法を使用して処理された仮想画像（例えば、環境の仮想レンダリングに基づいて生成された画像）で訓練されたアルゴリズムが、仮想訓練環境とは著しく異なる現実世界の環境を提示された場合でさえ、良好に働くことを見出した。
【００３０】
本明細書で提供する実施例に示すように、本明細書に記載の技法を使用して処理される訓練データセット（例えば、網膜エンコードを特色とし、１つまたは複数のさらなる次元低減プロセスがそれに続く）は、ナビゲーション、顔認識、物体識別用のマシンビジョンアルゴリズムなどを含む広範な学習アルゴリズムのための向上した訓練環境を提供することができる。
【００３１】
一部の実施形態は、プロテーゼ出願に詳細に記載した種類の網膜エンコードプロセスを用いてもよい。このような実施形態は、刺激を受け、刺激を一組のエンコーダにより一組の符号に変換する装置を含んでもよい。装置はまた、符号をインターフェースを使用して信号に変換してもよい。信号は、複数の網膜細胞を高精度トランスデューサにより活性化してもよい。複数の網膜細胞を活性化することは、同じ刺激に応答する哺乳類の網膜の網膜神経節細胞の時間依存性応答に実質的に類似した、広範な刺激に対する網膜神経節細胞応答をもたらし得る。このような装置内で使用され得るエンコーダは、マシンビジョン応用における使用のために画像データを処理するように適応されてもよく、人工網膜には必ずしも限定されない。
【００３２】
プロテーゼ出願に記載の人工網膜は、通常の網膜のように、画像プロセッサであってもよい。人工網膜は、受け取った刺激から不可欠な情報を抽出することができ、その情報を、脳が理解することができる活動電位のパターンへと再フォーマットすることができる。哺乳類の網膜により生成される活動電位のパターンは、網膜のコードまたは神経節細胞のコード内にある。人工網膜は、損傷または退化した網膜が通常またはほぼ通常の出力を生成することができるように、視覚刺激をこの同じコード、またはそれに近い代理物へと変換することができる。人工網膜は通常の網膜と同じコードまたはそれに近い代理物を使用するため、損傷または退化した網膜内の神経節細胞の発火パターンは、通常の神経節細胞の発火パターンと同じ（または実質的に類似）である。よって、このような補綴は、網膜が、視覚世界を表す通常の網膜の信号と同じもの（または実質的に類似）を脳に送ることを可能にすることができる。
【００３３】
プロテーゼ出願で論じたように、エンコーダは、網膜細胞のための入力／出力モデルを使用することができる。入力／出力モデルは、様々な刺激、例えば、白色雑音（ＷＮ）及び自然情景（ＮＳ）の両方の映画に対する哺乳類の網膜細胞の入力／出力応答の研究から得たデータを使用して生成することができる。一部の実施形態では、エンコーダは、複数のパラメータにより特徴付けられる時間空間変換を含む線形非線形カスケードモデルに基づいてもよい。このようなパラメータは、哺乳類の網膜を使用した実験を通じて得られたデータに基づいて最適化することができる。パラメータの使用は、広範な刺激に対する哺乳類の細胞の応答を細かに模倣する人工的プロセスをもたらし得る。結果として、顔、風景、歩く人々、遊ぶ子どもたちなどの自然な画像（静的な、または空間時間的に変化する）に対する入力／出力関係を取り込むモデルが得られ得る。このモデルは、白色雑音刺激またはガウス統計を有する刺激に対する入力／出力関係も取り込むことができる。
【００３４】
一部の実施形態は、実験を通じて得られたデータを活用することができる。それゆえに、生成されたエンコーダは、網膜の根本的な処理スキームについての詳細な抽象的理解を必要とすることなく、網膜処理を正確にシミュレートすることができる。例えば、霊長類及び人間における網膜処理は、パターン認識タスク（例えば、顔認識）に有用な視覚刺激中の特徴を強調する一方、他の特徴（例えば、冗長な情報または雑音）を脱強調または除去して脳内の効率的な処理を可能にすると考えられる。これまでのところ、永劫にわたる自然淘汰の結果として発達した処理スキームの詳細についての完全な抽象的理解は存在しない。それでも、このような抽象的理解の不在にもかかわらず、本明細書に記載の装置及び技法は、網膜応答を正確に模倣することにより、この処理の恩恵を得ることができる。
【００３５】
言い換えれば、本明細書に記載の様々な実施形態では、モデルまたはモジュールは、データ駆動型であってもよい。モデルまたはモジュールは、網膜の入力／出力関係のデータ駆動型モデルであってもよく、現実的な画像の予備処理を提供する。モデルまたはモジュールは、下流のマシンビジョンアルゴリズムに対して、予備処理された信号を出力してもよい。予備処理工程は、生物学的網膜と同じ（または実質的に類似の）種類の、かつ同じ（または実質的に類似の）規模の、次元低減を達成することができる。よって、このようなモデルまたはモジュールは、哺乳類の網膜と同じ利点を提供し得る。
【００３６】
様々な実施形態では、網膜処理は、所与の用途のために重要な特徴を保持しながら、未加工画像データからの総情報量を低減するように作動する。総情報量の低減は、哺乳類の網膜が効率性を達成する方法に類似の方法で効率的であってもよい。このようなプロセスを、本明細書において、「次元低減」または「生物学的次元低減（ＢＤＲ）」と呼ぶ。例えば、一部の実施形態では、網膜によりエンコードされたデータ中の総情報量が低減されるものの、マシンビジョンアルゴリズムは、網膜によりエンコードされたデータがマシンビジョンアルゴリズムが未加工画像データを受信した場合よりも低減されるとき、より良好な性能を呈し得る。より良好な性能は、本質的には、網膜により受け取られた最も重要な情報をマシンビジョンアルゴリズムに提供し、マシンビジョンアルゴリズムの具体的なタスクにとってそれほど重要ではない一部の情報を低減または廃棄することの結果である。
【００３７】
様々な実施形態では、網膜によりエンコードされたデータは、少なくとも１．５、少なくとも２、少なくとも３、少なくとも４、または少なくとも５分の一に、またはそれ以上、例えば１〜１００の範囲内もしくはその任意の部分範囲内の係数により未加工視覚データ（例えば、網膜により受け取られた）が圧縮された形態であってもよい。圧縮は、エンコーダによりもたらされる次元低減に対応し得る。例えば、一部の実施形態では、網膜エンコーダのビットレートは、定量化されてもよく、エンコーダにより刺激として使用される未加工画像データのエントロピー（同じく単位時間あたりのビット数で測定される）に比較されてもよく、この比率は、圧縮比率を決定するために使用されてもよい。例えば、プロテーゼ出願に記載の一部の場合では、４．９ビット／秒の未加工入力データのビットレートと比較して、２．１３ビット／秒のビットレートを有するエンコーダが記載されている。よって、エンコーダによりもたらされるデータ圧縮は、この例ではほぼ７倍であった。
【００３８】
本明細書に記載のように、一部の実施形態は、さらなる次元低減アルゴリズム（生物学的発想によるもの、人工的なもの、またはそれらの組み合わせ）をエンコードされたデータに適用することを含んでもよい。様々な実施形態では、次元低減された網膜によりエンコードされたデータは、少なくとも１．５、少なくとも２、少なくとも３、少なくとも４、または少なくとも５以上、例えば１〜１００の範囲内もしくはその任意の部分範囲内の係数によりさらに圧縮されてもよい。一部の実施形態では、この圧縮は、エンコードされたデータの更なる処理によりもたらされる次元低減に対応する。例えば、一部の実施形態では、加工後のエンコードされたデータのビットレートは、定量化されてもよく、エンコーダの予備処理出力のビットレートに比較されてもよく、この比率は、圧縮比率を決定するために使用されてもよい。
【００３９】
図１は、例示的な実施形態によるマシンビジョンを有する装置１００のブロック図である。代替的な実施形態では、装置１００は、さらなる要素、より少ない要素、または異なる要素を有してもよい。さらに、図１中の矢印の使用は、要素の順序に関して限定的であることを意図しない。装置１００は、カメラ１０５、エンコーダ１１０、マシンビジョンモジュール１１５、及びシステム１２０を含む。一部の実施形態では、システム１２０は、少なくとも部分的にマシンビジョンモジュールにより制御されてもよい。カメラ１０５は、視覚刺激を受け取り、それをデジタル画像データに変換する。一部の実施形態では、デジタル画像データは、デジタル画像のストリームであってもよい。このデジタル画像データは、本明細書において「未加工」画像データと呼ぶことがある。未加工画像データは、網膜エンコーダによる処理前の任意の画像データを含み得る。
【００４０】
一部の実施形態では、エンコーダ１１０は、画像データを受信してもよく、１つまたは複数の網膜エンコーダを使用して画像データを処理する。一部の実施形態では、網膜エンコーダは、本明細書で、及び／またはプロテーゼ出願で記載した種類のものであってもよい。エンコーダ１１０は、受信した画像データを、哺乳類の網膜により出力されるフォーマットと同じ（または実質的に類似した）フォーマットに変換することができる。エンコードされた網膜画像データと呼ぶエンコーダ１１０の出力は、次元低減モジュール１１２に渡される。次元低減モジュール１１２は、エンコーダ１１０からの出力を処理して、エンコーダ１１０により行われたいかなる次元低減も超えるさらなる次元低減を提供する。例えば、次元低減モジュール１１２は、エンコードされた網膜画像のストリームをエンコーダ１１０から受信し、次元低減されたエンコードされたデータを生成してもよい。言い換えれば、エンコーダ１１０は、未加工画像からの情報をエンコードすることにより、エンコードされた網膜画像データを作製する。次元低減モジュール１１２は、エンコードされた網膜画像データからの特徴を様々なマシンビジョンタスクのために使用する。次元低減モジュール１１２は、エンコードされた網膜画像データにより表される特徴のサブセットのみを必要に応じて特定のマシンビジョンタスクのために使用し、特定のマシンビジョンタスクにとって不要な特徴を無視する。
【００４１】
次元低減モジュール１１２の出力は、マシンビジョンモジュール１１５に渡される。マシンビジョンモジュール１１５は、当技術分野で公知の、かつ／または本明細書に記載の１つまたは複数のマシンビジョン技法を使用することにより、データを処理することができる。マシンビジョンモジュール１１５は、任意の好適な目的のために使用することができる出力を生成することができる。図１に示すように、マシンビジョンモジュール１１５の出力は、１つまたは複数のシステム１２０に送信されてもよい。一部の実施形態では、システム１２０は、ロボットシステムであってもよい。一部の実施形態では、画像処理及び／または制御は、リアルタイムで、またはほぼリアルタイムで行われてもよい。
【００４２】
図１に示すシステムは、例示的であることのみを意図しており、様々な他の種類のマシンビジョンシステムが使用されてもよい。例えば、一部の実施形態では、制御されるシステム１２０は、含まれなくてもよい。例えば、マシンビジョンモジュール１１５の出力は、制御のために直接使用されるのではなく、さらなる処理のために記憶されてもよい。一部の実施形態では、カメラ１０５は、記憶された画像データのソースにより置き換えられてもよい。例えば、カメラ１０５は、デジタルビデオを記憶する記憶装置により置き換えられてもよい。一部の実施形態では、様々なプロセッサ、コントローラ、ユーザー制御、入力装置または出力装置などのさらなる要素が、装置１００内に含まれてもよい。
【００４３】
一部の実施形態では、次元低減されたエンコードされたデータはまた、特徴シグネチャを生成するように組み立てられてもよい。特徴シグネチャは、複数のエンコードされた網膜画像領域またはセクタに関する情報を含む。特徴シグネチャは、複数の画像領域を通じて、その構成要素の特徴より大きく、かつより記述的な情報を所持してもよい。一部の実装では、特徴シグネチャは、エンコードされたデータ中の他の特徴のなかでもとりわけ、横方向の動作、横方向の動作の速度、縦方向の動作、縦方向の動作の速度、密度、オンオフ比率などの、エンコードされたデータから抽出される相対的に単純な特徴を使用して、例えば人々、顔、及び物体の識別または分類を可能にしてもよい。成分が個々の領域内の特徴の値（例えば、エンコードされたデータを使用して測定された各領域内の横方向の動作の速度）であるベクトルが作成されてもよい。次いで、このベクトル、すなわちこのシグネチャを使用して、マシンビジョンタスクを行ってもよい。例えば、顔認識の場合、シグネチャ内の領域（ベクトルの成分）は、顔内の領域（例えば、左眉を覆う領域、左目を覆う領域など）に対応する。特徴が例えば横方向の動作の速度（すなわち、横方向速度）であれば、ベクトルは、眉及び目の相対運動などの、個々の顔のいくつかの識別特徴を捕捉する。このようなベクトルを使用して、顔及び顔により生成される表情を区別してもよい。さらなる詳細を以下で提供し、例示的な実施形態（図７〜９）を「実施例２−視覚タスク」で説明する。同様に、複数の領域またはセクタは、身体の領域（例えば、頭部、上腕、前腕など）に対応してもよい。特徴が、この場合も、横方向の動作の速度であれば、ベクトルは、足取り、頭の傾き、身体部分の相対的なサイズなどの、人物の身体のいくつかの識別特徴を補足してもよい。このようなベクトルを使用して、人々を区別してもよい。この場合も、さらなる詳細を以下で、「実施例２−視覚タスク」における図７〜９の詳細な説明において提供する。同様に、複数の領域はまた、人間または他の生物を非生物、例えば剛性な存在から区別することを可能にする物体の領域に対応してもよい。複数の領域はまた、シグネチャが大域的性質、例えばオプティカルフローを捕捉するように、移動する情景の領域に対応してもよい。エンコードされたデータは一連の画像（エンコードされたデータの映画）を含んでもよいため、シグネチャは、図中に示すような時系列データのベクトルであってもよいことに留意されたい。
【００４４】
様々な実施形態では、カメラ１０５は、視覚刺激をデジタル形態（例えば、デジタル画像のストリーム）に変換することができる任意の装置であってもよい。様々な実施形態は、電荷結合素子（ＣＣＤ）に基づくカメラ１０５；相補型金属酸化膜半導体（ＣＭＯＳ）センサ、薄膜トランジスタ（ＴＦＴ）、またはフォトダイオードアレイなどの能動画素センサ（ＡＰＳ）；及びそれらの組み合わせ、を含んでもよい。
【００４５】
カメラ１０５により生成されたデジタル画像のそれぞれは、少なくとも０．０１メガピクセル、少なくとも０．１メガピクセル、少なくとも１メガピクセル、または少なくとも２メガピクセル以上、例えば０．０１〜１０００メガピクセルの範囲内もしくはその任意の部分範囲内を含んでもよい。デジタル画像のストリームは、少なくとも１０Ｈｚ、少なくとも５０Ｈｚ、または少なくとも１００Ｈｚ以上、例えば１〜１０００Ｈｚの範囲内もしくはその任意の部分範囲内のフレームレート（例えば、１秒あたりの画像フレーム数）により特徴付けられてもよい。デジタル画像は、カラー、グレースケール、白黒、または他の好適な種類の画像であってもよい。
【００４６】
一部の実施形態では、カメラ１０５は、電荷結合素子（ＣＣＤ）に基づいてもよい。一実施形態では、カメラ１０５は、Ｐｏｉｎｔ  ＧｒｅｙブランドのＦｉｒｅｆｌｙ  ＭＶモデルの画像取込装置（８ビット／画素の７５２ｘ４８０画素の画像を毎秒６０フレーム取り込むことができる）であってもよい。別の実施形態では、カメラ１０５は、ｅ−ｃｏｎ  Ｓｙｓｔｅｍｓブランドのｅ−ＣＡＭ５０  ＯＭＡＰ  ＧＳＴＩＸモデルの画像取込装置であってもよい。カメラ１０５は、８ビット／画素の１２８０ｘ７２０画素の画像を毎秒３０フレーム取り込むことができる、ＯｍｎｉＶｉｓｉｏｎブランドのＯＶ５６４２モデルのカメラモジュールを組み込んでもよい。
【００４７】
一部の実施形態では、画像は、装置１００が望ましからざる遅延時間なしに作動することを可能にするために十分な速度で、カメラ１０５により取得され、エンコーダ１１０に送信されてもよい。一部の実施形態では、カメラ１０５とエンコーダ１１０との間に高帯域接続が設けられてもよい。例えば、カメラ１０５とエンコーダ１１０との間で２０ＭＢ／秒超のデータ転送が、ユニバーサルシリアルバス（ＵＳＢ）２．０インターフェースを使用して達成されてもよい。他の実施形態では、Ｔｅｘａｓ  ＩｎｓｔｒｕｍｅｎｔｓブランドのＯＭＡＰ  ３５３０モデルのプロセッサのカメラ画像信号プロセッサ内に組み込まれたパラレルインターフェースなどの、パラレルインターフェースが、カメラ１０５とエンコーダ１１０との間で使用されてもよい。様々な実施形態では、有線接続または無線接続を含む他の好適な接続が使用されてもよい。カメラ１０５は、米国電気電子学会（ＩＥＥＥ）規格１３９４、ＵＳＢ  ２．０、ＵＳＢ  ３．０、ＵＳＢ  ３．１などのシリアルインターフェース；パラレルインターフェース；米国テレビジョン委員会（ＮＴＳＣ）規格もしくは位相反転線（ＰＡＬ）規格などのアナログインターフェース；または無線インターフェース、を含むがそれらには限定されない高速データ転送可能な任意の接続を使用してエンコーダ１１０とインターフェース接続されてもよい。一部の実施形態では、カメラ１０５は、エンコーダ１１０と同じ回路基板上に組み込まれてもよい。
【００４８】
エンコーダ１１０は、例えば、画像をコードに変換して網膜回路の作業を模倣するエンコーダを実装することを含む、本明細書に記載の技法を使用して、画像ストリームを処理することができる。つまり、エンコーダ１１０は、画像を受信し、同じ画像を与えられた哺乳類の網膜により出力されるデータストリームと同じ（または実質的に類似の）データストリームを出力することができる。エンコーダにより実装される変換を、一連の入力画像に適用して、エンコードされた出力を生成してもよい。例えば、エンコードされた出力は、画像が哺乳類の網膜により受け取られた場合に生成されたであろう、網膜細胞の発火速度に類似した形式の値であってもよい。一部の実施形態では、エンコーダ１１０の出力はまた、例えば網膜細胞の起動電位を模倣する情報であってもよい。起動電位は、網膜モデルの線形成分の出力（入力画像の線形フィルタによる畳み込みの出力）であってもよい。エンコーダ１１０のエンコードされる出力は、哺乳類の網膜細胞が同じ入力画像により刺激された場合に哺乳類の網膜細胞により生成されるであろうスパイクまたはパルスのパルス列であってもよい。
【００４９】
一部の実施形態では、異なるエンコーダ１１０の組を使用して、哺乳類の網膜による処理を模倣してもよい。哺乳類の網膜内には異なる種類の網膜出力細胞が存在し、様々なエンコーダ１１０を使用して、異なる種類の哺乳類の網膜出力細胞を複製してもよい。差異は、特定の細胞種類（例えば、「オン」細胞もしくは「オフ」細胞）または網膜上の細胞位置（例えば、中心網膜内の「オン」細胞及び網膜の周辺部の「オフ」細胞）に対応してもよい。装置１００が２つ以上のエンコーダ１１０を有する実施形態では、エンコーダ１１０は、独立してか、少なくとも１つまたは複数の連結機構を通じてかのいずれかで、並行して作動することができる。
【００５０】
図２は、例示的な実施形態によるエンコーダモジュール１１０の作業を例示する流れ図である。代替的な実施形態では、より少ない作業、さらなる作業、及び／または異なる作業が行われてもよい。また、流れ図の使用は、行われる作業の順序に関して限定的であることを意図しない。作業２０５では、エンコーダモジュール１１０は、１つまたは複数の画像を受信することができる。一部の実施形態では、１つまたは複数の画像は、カメラ１０５（または何らかの他の好適なソース）から受信されてもよい。作業２１０では、１つまたは複数の画像を予備処理することができる。例えば、１つまたは複数の画像のコントラスト及び／または彩度をスケール変更するように、１つまたは複数の画像に雑音フィルタを適用するように、１つまたは複数の画像をトリミングするようになど、１つまたは複数の画像を予備処理することができる。一部の実施形態では、作業２１０は、行われなくてもよい。
【００５１】
作業２１５では、１つまたは複数の画像をエンコードすることができる。１つまたは複数の画像は、哺乳類の網膜細胞の画像に対する応答を模倣するような方法で処理されてもよい。例えば、一実施形態では、画像フィールド内の様々な位置について、１つまたは複数の画像を入力することができ、１つまたは複数の画像が哺乳類の網膜により処理される場合に哺乳類の網膜細胞（または細胞群）により生成されるであろう発火速度に対応する時間依存値を出力することができる。ある実施形態では、発火速度の出力は、以下のようにフォーマットされる。すなわち、所与の時間ｔについて、出力は、位置（ｘ，ｙ）の要素が位置（ｘ，ｙ）の網膜細胞の発火速度に対応するビットマトリクスである。
【００５２】
一部の実施形態では、作業２１５は、発火速度以外の指標を使用して哺乳類の網膜細胞の応答を模倣する情報を生成することを含んでもよい。例えば、エンコーダの出力は、細胞の活性状態、細胞内電位、上記の起動電位などに対応してもよい。
【００５３】
作業２２０では、作業２１５からのエンコードされた情報を使用して、１つまたは複数のエンコードされた網膜画像を生成することができる。一部の実施形態では、エンコードされた網膜画像は、マシンビジョンモジュール１１５による処理のために好適であってもよい。例えば、エンコードされた情報が発火速度のマトリクスとして出力される場合、上記のように、エンコードされた網膜画像中の各画素の彩度がマトリクス内の対応する要素の発火速度値により決定される、発火速度の網膜画像が生成されてもよい（例については、図３を参照されたい）。線形関係、非線形関係、多項式関係、対数関係などを含む、発火速度と画素彩度との間の任意の好適な関係が使用され得る。作業２２０は、ルックアップテーブルの使用を含む任意の好適な技法を使用して画素彩度を発火速度に変換することを含んでもよい。一部の実施形態では、発火速度は、エンコードされた網膜画像において、彩度以外の画像特性を使用して表されてもよい。例えば、エンコードされた網膜画像がカラー画像である実施形態では、各画素の色空間座標は、発火速度に対応してもよい。
【００５４】
作業２２５では、エンコードされた網膜画像は、１つまたは複数のエンコードされた網膜画像を処理して次元低減されたエンコードされたデータを生成することを含み得る、さらなる次元低減処理を受ける。次元低減されたエンコードされたデータは、上記で論じたように、かつ以下の図７〜９の説明においてさらに詳細に論じるように、特徴部シグネチャデータを生成するように組み立てられてもよい。
【００５５】
スケール変更、フィルタ処理、トリミング、平滑化などを含むさらなる処理も、エンコードされた網膜画像に適用されてもよい。
【００５６】
作業２３０では、１つまたは複数の網膜画像をマシンビジョンモジュール１１５に出力することができる。１つまたは複数の網膜画像は、有線または無線であり得る任意の好適な方法を使用して出力することができる。一部の実施形態では、網膜画像は、哺乳類の網膜が網膜画像を出力する方法に似たように出力することができる。
【実施例】
【００５７】
実施例１−ナビゲーションプロセッサ
【００５８】
マシンビジョン出願は、仮想現実環境内で効果的であるナビゲータを記載している。しかしながら、本開示のある例によれば、ナビゲータは、現実世界の環境内でも効果的であり得る。それゆえに、本開示の様々な実施形態は、複数の環境及び複数の応用において使用され得る。
【００５９】
例えば、Ｔｕｒｔｌｅｂｏｔと呼ばれる走行ロボットを使用することができる。Ｔｕｒｔｌｅｂｏｔは、ロボット工学開発及び試験のために設計されたオープンソースの個人向けロボットである。Ｔｕｒｔｌｅｂｏｔは、ハードウェア機構及び通信機構を促進し、ロボット上のセンサ及びハードウェア構成要素からのデータを単一のソフトウェアフレームワークにまとめあげる、Ｒｏｂｏｔ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（ＲＯＳ）上で稼働する。ロボットは、Ｙｕｊｉｎ  Ｒｏｂｏｔ社製のｉＣｌｅｂｏ  Ｋｏｂｕｋｉと呼ばれる三輪式円形移動性基部と、カメラを含むＭｉｃｒｏｓｏｆｔ社のＫｉｎｅｃｔセンサと、ロボットのより良好なセンサ入力及び状態推定のための工場較正済みのオンボードジャイロとを含む。ラップトップが、ロボット上にオンボードで配置され、全てのセンサデータを即座に処理してオンラインかつリアルタイムで意思決定を行う。ラップトップは、Ｌｉｎｕｘ（登録商標）オペレーティングシステム（Ｕｂｕｎｔｕ）及びその１層下のＲＯＳを稼働させて、ラップトップ上で全てのロボットデータを制御及び処理する。
【００６０】
このような例は、しかしながら、本開示の１つの具体的な実装に過ぎない。他の実施形態は、さらなる要素、より少ない要素、または異なる要素を含んでもよい。例えば、ある汎用の実施形態は、移動性要素と、視覚感知要素（例えば、カメラ）と、視覚感知要素からデータを受信し、移動性要素に命令を提供するように構成された処理要素とを含んでもよい。
【００６１】
１つの試験条件では、Ｋｉｎｅｃｔの三次元カメラシステムは無視され、二次元カラーカメラのみが使用された。それゆえに、装置のソフトウェアによりなされた意思決定は、二次元画像に基づいていた。装置のソフトウェアは、カメラから入力画像を受信するように構成されていた。入力画像は、装置により７つの領域に分割された。ソフトウェアは、各領域の速度と、各領域が１２個のカテゴリーのうちのいずれに収まるかとを判定した。次いで、ソフトウェアは、最低速度を有する領域を選択し、最低速度の領域の方向に進むように装置を方向付けた。
【００６２】
上記のプロセスは、装置が、ほとんどまたは全く衝突なしに環境を通過することを可能にする。実施例１では、類似のフロントエンドソフトウェアが、マシンビジョン出願に記載の仮想ナビゲーションタスクにおいて使用されたように使用された。つまり、仮想ナビゲータが仮想世界において速度を判定することを可能にした類似の訓練セットを使用して、実施例１の現実環境における速度を判定した。実施例１では、ソフトウェアに対する変更には、スピード判定後の工程に対する改変と、限定された現実世界の空間における装置の形状のフレームワークに関係するナビゲーション規則の小さな変更とが含まれていた。具体的には、ソフトウェアは、意思決定の間の時間中の全てのフレームペアについてデータを蓄積することにより前方に移動するか、それとも向きを変えるかを決定し（例えば、１秒の期間にわたって２９個のフレームペア）、７つの領域のうちのいずれが全てのフレームペアにわたって最も遅い速度を有するかを判定した。
【００６３】
つまり、装置は、向きを変えるか、それとも前方に進み続けるかの意思決定を１秒に１回行った。各秒に、カメラは、２９個の画像を取り込んだ。各画像は、７つの領域に分割された。各領域の速度は、直近に取り込まれた画像の領域を、以前に取り込まれた画像の対応する領域と比較することにより判定される。次いで、装置は、１２個のカテゴリーのうちのいずれに各領域の速度が属するか判定する（例えば、Ａが最低速度であり、Ｌが最高速度である、Ａ〜Ｌ）。装置は、各領域に対応する速度カテゴリーを勘定し、最後の意思決定以来、７つの領域のうちのいずれが最低カテゴリーにおいて最多得点を有するか判定した。例えば、領域１〜７及びカテゴリーＡ〜Ｌについて、左端の領域１が１得点をカテゴリーＡにおいて、残りの得点をカテゴリーＢ〜Ｌにおいて有し、他のいずれの領域もカテゴリーＡにおいて得点を有さない場合、装置は、領域１の方向に向きを変えることを決定する。別の例では、左端の領域１が２得点をカテゴリーＢにおいて、残りの得点をカテゴリーＣ〜Ｌにおいて有し、右端の領域７が１得点をカテゴリーＢにおいて、残りの得点をカテゴリーＣ〜Ｌにおいて有する場合、装置は、領域１に向かうことを決定する。最後の意思決定以来の全てのフレームペアを平均化することにより、より安定した意思決定が行われる。
【００６４】
図３Ａ及び３Ｂは、例示的な実施形態による現実世界の環境を通過する実施例１の装置の性能を示す。図３Ａは、「網膜ナビゲータ」を使用した装置の性能を示す。図３Ｂは、「画素ナビゲータ」を使用した装置の性能を示す。装置の周囲寸法は、図中の円の直径により表わされている。図３Ａ及び３Ｂに示すように、装置の周囲寸法は、相対的に大きく、装置は、壁及び障害物との衝突を回避するために巧みに動かなければならず、Ｘは、椅子を表し、黒の四角は、紙くずかごを表す。両方の場合に、ロボットは、毎秒０．４メートル（ｍ／ｓ）で前進した。
【００６５】
図３Ａは、装置が「網膜ナビゲータ」により制御されたときの装置の軌道を示す。網膜ナビゲータは、網膜モデルを通じてフィルタ処理された映画（例えば、次元低減された視覚世界）からその視覚環境内における速度を学習した、マシンビジョン出願に記載のナビゲータであってもよい。次元低減された網膜モデルは、上記の図１及び２に関して記載したプロセスと整合したモデルであってもよい。
【００６６】
図３Ｂは、装置が「画素ナビゲータ」により制御されたときの装置の軌道を示す。画素ナビゲータは、フィルタ処理されていない映画（例えば、網膜モデルにより次元低減されていない映画）からその視覚環境内における速度を学習した、マシンビジョン出願に記載のナビゲータであってもよい。両方の場合に（図３Ａ及び３Ｂに示す）、ナビゲータは、Ｐａｎｄａ−３の仮想環境内で訓練された。他の実施形態では、異なる仮想環境を使用して、ナビゲータを訓練してもよい。
【００６７】
図３Ａに示すように、装置が網膜ナビゲータにより制御されたとき、装置は、壁または障害物にぶつかることなしに現実環境内の障害物を通って巧みに動いた。対照的に、図３Ｂに示すように、装置が画素ナビゲータにより制御されたとき、装置は、壁及び障害物に衝突した。どの場合にも、装置は、コースをうまく通り抜けることができなかった。
【００６８】
図３Ａ及び３Ｂに示す例の異なるバージョンでは、装置は、上記の網膜ナビゲータを使用した。次いで、装置を、見通しのよい部屋内で、立っている人物に向かう経路上で始動させた。装置が立っている人物に接近すると、装置は、現在の軌道上では衝突が発生するであろうことを検出し、立っている人物を回避するために向きを変えた。人物が装置の軌道内へと移動すると、装置は、人物と衝突することを回避するために再び向きを変えた。このプロセスは数回繰り返され、毎回、装置は、人物と衝突することを回避するために向きを変えた。
【００６９】
別の例は、上記で説明したソフトウェアを有するデバイスを含む。１つのバージョンでは、網膜ナビゲータを使用し、図１及び２に関して上記で論じたように入力画像をフィルタ処理した。別のバージョンでは、画素ナビゲータを使用し、入力画像のフィルタ処理は行われなかった。各ナビゲータを、同じ画像を使用して訓練した。次いで、各ナビゲータを、ナビゲータを訓練するために使用した環境とは異なる様々な仮想環境で稼働させた。例えば、訓練中に使用した仮想環境は、農村環境の複製であった。次いで、各ナビゲータは、農村仮想環境内に配置され、ナビゲータは、同様に働き、環境じゅうを良好に通過し、めったに障害物に衝突しなかった。網膜ナビゲータは、約９５％の割合で障害物コースをうまく通り抜けた一方、画素ナビゲータは、約９０％で障害物コースをうまく通り抜けた。
【００７０】
しかしながら、ナビゲータが異なる照明条件を有する異なる環境内に再訓練なしに配置されると、異なるナビゲータは、異なるように働いた。網膜ナビゲータは、相対的にまっすぐな軌道を有し、めったに障害物に衝突せず、農村環境内のナビゲータと同様の性能を有していた。しかしながら、画素ナビゲータは、乱れた軌道（外見上乱雑な）を有し、しばしば障害物に衝突した。３つの異なる環境において、網膜ナビゲータは、約９０％〜９５％の割合で障害物コースをうまく通り抜けた。しかしながら、画素ナビゲータは、約０％〜２５％の割合で障害物コースをうまく通り抜けた。
【００７１】
図４は、網膜ナビゲータ及び画素ナビゲータの異なる環境を通じた結果のヒストグラムを示す。図４の左側の図は、最低速度領域の正しい決定がどのように判定されるかを例示する。上記のように、各画像は、７つの領域に分割され、各領域は、画像の垂直細片である。図４の左側の図中に示す例では、中間領域が、最低速度の運動を有する領域である。よって、例えば、中間領域の右側の第２の領域が最低速度領域であるとナビゲータが判定すると、その判定は、図４の右側のグラフ上で＋２のスコアを受け取る。それゆえに、このような状況下では、ナビゲータは、まっすぐ進んでいくべきときに右手方向に向くように動くであろう。
【００７２】
図４の左端のグラフは、農村環境（訓練環境に類似）において画素ナビゲータ（上部）及び網膜ナビゲータ（下部）によりなされた正しい意思決定のヒストグラムを示す。示すように、網膜ナビゲータは、画素ナビゲータより多くの正しい意思決定（０のスコアを有する意思決定）、及びより少ない間違った意思決定（０とは異なる意思決定）を行った。ただし、図４の右側のグラフと比較すると、網膜ナビゲータと画素ナビゲータは同様に働いた。図４の右手側のグラフは、農村環境とは異なる３つの環境において農村環境とは異なる照明条件で画素ナビゲータ（上部）及び網膜ナビゲータ（下部）によりなされた正しい意思決定の数を例示するヒストグラムを示す。図４に示すように、網膜ナビゲータは、異なる環境内に配置されたとき、農村環境内に配置されたときと類似した数の正しい意思決定を行った。しかしながら、画素ナビゲータは、農村環境内で犯したよりも多くの、かつより大きな間違いを異なる環境内で犯した。それゆえに、上記で図１及び２に関して説明した網膜画像処理は、画像処理なしに装置の性能を大いに改善した。
【００７３】
図５は、例示的な実施形態による網膜ナビゲータ及び画素ナビゲータが様々な照明条件を有する様々な環境内でどれほどうまく働いたかを表すグラフを示す。図５の左端のグラフは、画素ナビゲータ（左の棒）及び網膜ナビゲータ（右の棒）が両ナビゲータが訓練された照明条件を有する農村環境内の障害物コースを上首尾に通り抜けたときの割合を示す。図中に示すように、両ナビゲータは、９０％超の割合でコースをうまく通り抜けた。様々な他のグラフは、画素ナビゲータ（左の棒）及び網膜ナビゲータ（右の棒）が、様々な照明条件（すなわち、太陽が位置Ａ〜Ｆにあり、太陽の位置が左から３０°、４０°、５０°、９０°（真上）、１５０°、及び１６０°であった）の下で、様々な環境（訓練物体のある農村、新規な物体のある農村、郊外、及び行楽地）を上首尾に通り抜けたときの割合を示す。グラフに示すように、画素ナビゲータは、めったにコースの終わりまでうまく通り抜けることができなかった。実際、画素ナビゲータによる最良の性能は、４０％をわずかに超える割合であり、それは異なる障害物を有する試験農村環境を使用したときであった。他の環境では、画素ナビゲータは、良くなかった。しかしながら、網膜ナビゲータは、全ての環境で、かつ全ての照明条件で、９０％超の割合でコースを上首尾に通り抜けた。
【００７４】
図４に示すグラフと同様に、図６Ａ〜６Ｅのグラフは、網膜ナビゲータ及び画素ナビゲータの様々な照明条件を有する様々な環境を通じた結果のヒストグラムを示す。図６Ａは、訓練環境と同じ照明条件を有する農村環境において画素ナビゲータ（上部）及び網膜ナビゲータ（下部）によりなされた正しい意思決定のヒストグラムを示す。図６Ｂ〜６Ｅは、様々な照明条件を有する様々な環境において画素ナビゲータ及び網膜ナビゲータによりなされた正しい意思決定のヒストグラムを示す。様々なヒストグラムに示すように、訓練環境とは異なる環境において、画素ナビゲータは、網膜ナビゲータよりも多くの、かつより大きな間違い（非ゼロスコア）を犯した。
【００７５】
要するに、図３Ａ、３Ｂ、４、５、及び６Ａ〜６Ｅは、網膜の次元低減（または本出願では、エンコーダ）は、機械学習アルゴリズムがナビゲーションなどの視覚タスクに普遍的に有用であり得る特徴を学習することを可能にし得ることを示す。結果は、１つの訓練セットで学習した特徴は、ナビゲータが、現実世界の環境を含む多くの環境において非常に効果的に空間を巧みに動くことを可能にしたことを示す。
【００７６】
網膜の次元低減またはエンコーダは、機械学習アルゴリズムが、顔認識、人物認識、物体認識、感情／表情認識、経済／地質／天候などのデータにおけるトレンド認識、疾患検出（例えば、ＭＲＩ画像、ＣＴスキャン画像、病理スライドなどの医用画像を使用しての）、及び動物または人間により上手に行われる他の認識／検出タスクなどの、他のタスクに普遍的に有用であるように思われる特徴を学習することも可能にし得る。明瞭性のために、エンコーダは、最初の次元低減を行い、次いで、１つまたは複数のさらなる次元低減工程が、特徴を引き出すための別個の工程として、または機械学習プロセス内に組み込まれる工程として、のいずれかとして、次いで行われる（エンコードされたデータに対して）。一部の実施形態では、所与の特徴または特徴の組は、エンコードされた画像内の複数の領域から組み立てられ得る。組み立てられた特徴は、特徴シグネチャを生成し得る。上記のように、かつ様々な図にわたって示すように、特徴シグネチャは、顔、物体、感情などを識別することができる。
【００７７】
実施例２−視覚タスク
【００７８】
上記のように、マシンビジョン出願に記載の方法は、機械学習アルゴリズムが視覚世界の特徴を効率的に、かつ一般化された方法で学習することを可能にする。このような方法は、視覚入力の次元数を低減することにより（例えば、網膜エンコードを使用して）、これを達成する。機械学習アルゴリズム（例えば、畳み込みニューラルネットワーク、またはＣＮＮ）がパラメータ空間を検索する（例えば、ＣＮＮ内で重みを見つける）とき、局所的な解決策（例えば、パラメータ空間内の極小値の結果としての）に陥るのではなく一般的な解決策を見出すように、本出願は、１つまたは複数のさらなる次元低減プロセスをエンコードされたデータに適用することに焦点を当てる。
【００７９】
例えば、様々な実施形態では、所与の訓練データセットのための解決策は、変換（または計算もしくはマッピング）をとらえた一組の重みであり得る。次元低減された訓練セットは、アルゴリズムが、複数の問題に一般化される解決策を見つけることを可能にし得る。つまり、訓練されたアルゴリズムは、視覚情報の様々なソースから有用な情報を抽出する（またはタスクを行う）ことができる。アルゴリズムは、単一の試料からの画像セット（例えば、訓練セット）を提示されるとき、及び試料以外の画像セット（例えば、異なる照明条件下での異なる環境からの画像セットなど）を提示されるとき、良好に働き得る。
【００８０】
例えば、仮想ナビゲータの場合、視覚入力は、仮想網膜とも呼ばれるエンコーダを通された。次いで、エンコードされたデータは、７つの領域に分割され、各領域は、ＣＮＮ内に渡された。次いで、ＣＮＮは、各領域内の特徴、平均速度を抽出するように訓練された。各領域の速度は、１２個のカテゴリーのうちの１つとして分類された。ＣＮＮは、Ｐａｎｄａ  ３Ｄ仮想環境から直接確認され得るその出力と真の速度との間の誤差を最小化することにより、速度を判定するように訓練された。この訓練の結果としてＣＮＮ内に現れた重みは、一般的であり、全く新しい環境における速度の正確な推定値を有していた（例えば、エンコーダ及びさらなる次元低減工程により同じ方法で次元低減された全く新しい視覚入力）。
【００８１】
一部の場合には、上記の実施例１に記載のように、このような訓練の結果は、仮想訓練環境とは著しく異なる現実世界の環境（例えば、全く異なる物体及び照明条件など）の画像を含む異なる環境に適用されるように一般化され得る。
【００８２】
様々な実施形態では、上記の原理を使用して、マシンビジョンのためのツールを提供してもよい。
【００８３】
一部の実施形態では、エンコーダにより提供される次元低減は、出発点であってもよく、他の次元低減（生物学的発想によるものか、またはそれ以外）がそれと組み合わせられてもよい。
【００８４】
横方向または縦方向の動作、速度、平均発火速度、フリッカレートを含むエンコードされたデータの次元低減は、この方法で使用され得る例である。これらの特徴は、人々、物体、データなどを取り込むために潜在的に貴重である。よって、様々な実施形態では、次元低減方法を使用すること（エンコーダにより未加工画像の第１の次元低減、次いでエンコードされたデータに対するさらなる次元低減により特徴を抽出し、特徴シグネチャを生成する）は、ナビゲーション、人物認識、顔認識、物体認識、感情／表情認識、経済／地質／天候などのデータにおけるトレンド認識、疾患検出（例えば、ＭＲＩ画像、ＣＴスキャン画像、病理スライドなどの医用画像を使用しての）、ならびに動物または人間により上手に行われる他の認識及び／または／検出及び／または分類タスクなどの、多数の機械視覚タスクが行われることを可能にし得る。
【００８５】
図７は、例示的な実施形態によるビデオ内の人物認識の段階を例示する。一実施形態では、領域またはセクタ速度は、人物認識のためのツールとして使用され得る。例示的な実施形態では、３，５００個の歩く人々の訓練ビデオセットを、上記のように仮想網膜（ＶＲ）とも呼ばれるエンコーダにより予備処理した。エンコーダの出力をビデオに逆変換し、グリッドに分割し（図７に示すように）、ＣＮＮ内に入力した。ＣＮＮは、上述のように、各グリッド領域について速度推定値を作製した。
【００８６】
図７の速度シグネチャは、速度成分を有するベクトルを含む。図７の例では、人物の身体を４８ｘＮの成分を有するベクトルに変換した。４８は、グリッド内の領域数であり、Ｎは、速度が測定されたフレームペアの数であった。様々な実施形態では、他の好適な数のグリッド要素及びペアまたはフレームが使用され得る。
【００８７】
一部の実施形態では、速度シグネチャを使用して個人を認識することができる。図８は、エンコードされたデータ（仮想網膜データ）を使用して、かつ未加工画像データを使用して人物を認識するための、ＣＮＮの有効性のヒストグラムを示す。速度シグネチャ間のユークリッド（例えば、二次元）距離を使用すると、ビデオクリップ内の個人を別のクリップ内の同じ個人に正しくマッチングすることが可能である。このようなマッチングは、「人物認識」であり得る。
【００８８】
図８は、１１人の異なる人々を含む３，５００個のビデオクリップの速度シグネチャを使用した人物認識の例の結果を示す。速度シグネチャは、歩く人々の全身であった。速度シグネチャは、ＣＮＮにより評価され、ＣＮＮには、速度シグネチャに基づいて人物を識別するタスクが課された。各試験につき、３，５００個のクリップの基準クリップを選択し、ＣＮＮが、基準クリップの速度シグネチャを他の３，４９９個のクリップの速度シグネチャと比較した。基準クリップの速度シグネチャに最も似ていた他の３，４９９個のクリップのうちの速度シグネチャが、ＣＮＮにより選択された。次いで、選択されたクリップを基準クリップと比較し、選択されたクリップと基準クリップとが同じ歩行者を含んでいるか判定した。図８は、１１人の人々のそれぞれにとって正しいパーセントを示す。各人につき、エンコードされたデータ（仮想網膜により生成されたデータ）を使用する正しいパーセントが、左手の棒として示され、未加工画像データを使用する正しいパーセントが、右手の棒として示される。仮想網膜を使用して、ＣＮＮは、基準クリップを約９０％の割合で同じ人物を含むクリップに正しくマッチングさせた。しかしながら、図８に示すように、未加工画像データが使用されたとき、ＣＮＮは、はるかに低い成功率を有していた。
【００８９】
身体、物体、顔、生き生きしたデータ（天候地図、経済データなど）は、可動部を有し、その運動を活用して時間及び空間の両方における運動を取り込み得る。図７は、歩行者の全身画像を使用する例を示す。図９は、仮想網膜を使用して人物の顔の動作シグネチャを作成する例を示す。グリッドのサイズは、グリッド内の各領域が主に１つの方向への運動を有するように選択され得る。例えば、全身画像（図７中のものなど）については、上腕は１つの方向に動き得、前腕は別の方向などに動き得る。顔画像の場合、眉は１つの方向に動き得、下唇は別の方向などに動き得る。主に単一方向への運動を取り込むグリッドサイズを選択することにより、ＣＮＮは、各領域内の速度を容易に取り込み得る。身体部分または顔部分は時間において動くため、動作の方向は、暗黙に速度シグネチャ内に取り込まれる。（例えば、上腕は、他の身体部分に対して特定の方向に動き、これは、ベクトル成分に含まれている）。よって、人物の物理的なあり方に関する多くのことが、このようなシグネチャ内に含まれ得る。構成部分の運動の方向、構成部分の相対運動、及び物理的な、（典型的に）固体の物体に関する、グリッドの１領域から別の領域への時間及び空間における動作の自然な流れ。よって、このようなシグネチャを使用することは、識別に必要とされる情報が、比較的少数のパラメータ（例えば、速度シグネチャを構成するパラメータ）により取り込まれることを可能にする。
【００９０】
様々な実施形態では、このようなアプローチは、いくつかの形態で実装され得る。例えば、様々な領域の速度は、ＣＮＮを使用して抽出され得る。他の実施形態では、サポートベクターマシンなどの他の学習ネットワークが使用され得る。さらに他の実施形態では、光学フローアルゴリズムなどの他の固定的な方法（例えば、ファレンバッハアルゴリズム）が使用され得る。様々な実施形態では、グリッド領域の数、グリッド領域のサイズ及び形状、ビデオクリップ内のフレーム数、速度を推定するためのフレーム数、推定された速度の数などの様々なパラメータが改変され得る。速度シグネチャを比較するために使用される指標も、改変され得る。上記で論じた一部の例では、ユークリッド距離が測定された。しかしながら、ユークリッド距離を測定することに対する一部の代替案としては、ディープラーニング分類器、ベイズ分類器、支持ベクトルマシン、ルベーグ空間（Ｌp）距離、マハラノビス距離などにより決定される距離が挙げられる。
【００９１】
図１０は、例示的な実施形態によるマシンビジョン装置１０００のブロック図である。代替的な実施形態では、さらなる要素、より少ない要素、または異なる要素が使用され得る。マシンビジョン装置１０００は、プロセッサ１００５、メモリ１０１０、送受信器１０１５、画像取込装置１０２０、動力源１０２５、ユーザーインターフェース１０３０、及び位置デバイス１０３５を含み得る。
【００９２】
一部の実施形態では、マシンビジョン装置１０００は、プロセッサ１００５を含み得る。プロセッサ１００５は、本明細書に記載の１つまたは複数の作業を遂行し、かつ／または遂行させるように構成され得る。プロセッサ１００５は、当業者に公知の命令を実行し得る。命令は、特別目的コンピュータ、論理回路、またはハードウェア回路により遂行され得る。よって、プロセッサ１００５は、ハードウェア、ファームウェア、ソフトウェア、またはこれらの方法の任意の組み合わせにおいて実装され得る。「実行」という用語は、アプリケーションを稼働させ、または命令により求められる動作を遂行するプロセスである。命令は、１つまたは複数のプログラミング言語、スクリプト言語、アセンブリ言語などを使用して書かれ得る。プロセッサ１００５が命令を実行するとは、その命令により求められる作業を行うことを意味する。プロセッサ１００５は、メモリ１０１０、送受信器１０１５、画像取込装置１０３０、動力源１０２５、ユーザーインターフェース１０３０などと作動可能に連結して情報を受信、送信、及び処理し、マシンビジョン装置１０００の作業を制御する。プロセッサ１００５は、読み取り専用メモリ（ＲＯＭ）装置などの永続的メモリ装置から一組の命令を検索し、その命令を実行可能形式で一般に何らかの形態のランダムアクセスメモリ（ＲＡＭ）である一時的メモリ装置にコピーし得る。マシンビジョン装置１０００は、同じまたは異なる処理技術を使用する複数のプロセッサを含み得る。例示的な実施形態では、命令は、メモリ１０１０内に記憶され得る。
【００９３】
一部の実施形態では、マシンビジョン装置１０００は、メモリ１０１０を含み得る。メモリ１０１０は、当業者に公知なように情報がプロセッサ１００５によりアクセスされ得る電子保持場所または情報のための記憶装置であり得る。メモリ１０１０は、磁気記憶装置（例えば、ハードディスク、フロッピーディスク、磁気ストリップなど）、光学ディスク（例えば、コンパクトディスク（ＣＤ）、デジタル汎用ディスク（ＤＶＤ）など）、スマートカード、フラッシュメモリ装置などの、任意の種類のランダムアクセスメモリ（ＲＡＭ）、任意の種類の読み取り専用メモリ（ＲＯＭ）、任意の種類のフラッシュメモリなどを含み得るが、これらには限定されない。マシンビジョン装置１０００は、同じまたは異なるメモリ媒体技術を使用する１つまたは複数のコンピュータ可読媒体を有し得る。マシンビジョン装置１０００は、ＣＤ、ＤＶＤ、フラッシュメモリカードなどのメモリ媒体の装填を支持する１つまたは複数の駆動装置を有し得る。一部の実施形態では、メモリ１０１０は、ビデオを記憶するために使用され得る。それゆえに、一部の実施形態では、メモリ１０１０は、画像取込装置１０２０の代わりにビデオをマシンビジョン装置１０００に提供するために使用され得る。
【００９４】
一部の実施形態では、マシンビジョン装置１０００は、送受信器１０１５を含んでもよい。送受信器１０１５は、情報を受信及び／または送信するように構成することができる。一部の実施形態では、送受信器１０１５は、イーサネット（登録商標）接続、１つまたは複数のツイストペア線、光ファイバケーブルなどの有線接続を介して情報を通信することができる。一部の実施形態では、送受信器１０１５は、マイクロ波、赤外線、無線、スペクトル拡散技術、衛星を使用した無線接続を介して情報を通信することができる。送受信器１０１５は、セルラーネットワーク、ローカルエリアネットワーク、ワイドアーネットワーク、インターネットなどを使用して別の装置と通信するように構成することができる。一部の実施形態では、マシンビジョン装置１０００の１つまたは複数の要素が、有線または無線通信を介して通信する。
【００９５】
一部の実施形態では、マシンビジョン装置１０００は、画像取込装置１０２０を含んでもよい。他の実施形態では、画像取込装置１０２０は、独立した装置であってもよく、マシンビジョン装置１０００内に組み込まれていなくてもよい。画像取込装置１０２０は、現実世界の画像を取り込むように構成されてもよい。一部の実施形態では、画像取込装置１０２０は、二次元画像を取り込むことができる。他の実施形態では、画像取込装置１０２０は、三次元画像を取り込むことができる。画像取込装置１０２０は、静止画カメラ、ビデオカメラなどであってもよい。画像取込装置１０２０は、カラー画像、白黒画像、フィルタ処理された画像（例えば、セピア色フィルタ、カラーフィルタ、ぼかしフィルタなど）、１つまたは複数のレンズを通じて取り込まれた画像（例えば、拡大レンズ、広角レンズなど）などを取り込むように構成されてもよい。一部の実施形態では、画像取込装置１０２０（及び／またはプロセッサ１００５）は、色、コントラスト、輝度、ホワイトスケール、彩度、シャープネスなどの１つまたは複数の画像設定または画像特徴を改変することができる。
【００９６】
一部の実施形態では、マシンビジョン装置１０００は、動力源１０２５を含んでもよい。動力源１０２５は、電力をマシンビジョン装置１０００の１つまたは複数の要素に提供するように構成されてもよい。一部の実施形態では、動力源１０２５は、利用可能な線間電圧（例えば、米国では１２０ボルト、交流６０ヘルツ）などの交流電源を含んでもよい。動力源１０２５は、電力を、１．５ボルト、８ボルト、１２ボルト、２４ボルトなどの、マシンビジョン装置１０００の１つまたは複数の要素により使用可能な動力に変換するための１つまたは複数の変圧器、整流器などを含んでもよい。動力源１０２５は、１つまたは複数のバッテリーを含んでもよい。
【００９７】
一部の実施形態では、マシンビジョン装置１０００は、ユーザーインターフェース１０３０を含んでもよい。ユーザーインターフェース１０３０は、ユーザーから情報を受信し、かつ／またはユーザーに情報を提供するように構成されてもよい。ユーザーインターフェース１０３０は、当技術分野で公知の任意のユーザーインターフェースであってよい。ユーザーインターフェース１０３０は、当業者に公知な、マシンビジョン装置１０００内への入力のためのユーザー入力及び／またはマシン命令を受信するためのインターフェースであってもよい。ユーザーインターフェース１０３０は、ユーザーなどの外部ソースがマシンビジョン装置１０００内に情報を入力することを可能にするために、キーボード、スタイラス及び／またはタッチスクリーン、マウス、トラックボール、キーパッド、マイクロホン、音声認識、動作認識、ディスク駆動装置、遠隔コントローラ、入力ポート、１つまたは複数のボタン、文字盤、ジョイスティックなどを含むがこれらには限定されない様々な入力技術を使用してもよい。ユーザーインターフェース１０３０は、メニューを誘導し、選択肢を調節し、設定を調節し、表示器を調節するなどのために使用され得る。
【００９８】
ユーザーインターフェース１０３０は、マシンビジョン装置１０００からの情報を外部システム、ユーザー、またはメモリに提示するためのインターフェースを提供するように構成されてもよい。例えば、ユーザーインターフェース１０３０は、表示器、印刷機、スピーカー、警告／表示灯、ネットワークインターフェース、ディスク駆動装置、コンピュータメモリ装置などのためのインターフェースを含んでもよい。ユーザーインターフェース１０３０としては、カラー表示器、陰極線管（ＣＲＴ）、液晶表示器（ＬＣＤ）、プラズマ液晶表示器、有機発光ダイオード（ＯＬＥＤ）表示器などが挙げられる。
【００９９】
一部の実施形態では、位置デバイス１０３５は、位置、例えばマシンビジョン装置１０００の位置を特定するために使用されてもよい。一部の実施形態では、位置デバイス１０３５は、全地球測位サービス（ＧＰＳ）装置、ジャイロスコープなどを含んでもよい。例えば、マシンビジョン装置１０００は、移動性機械（例えば、ロボット、自動車など）を含み、目的地に到達するための命令を受信してもよい。マシンビジョン装置１０００は、位置デバイス１０３５を使用して、目的地及び／またはマシンビジョン装置１０００が現在位置づけられている位置を特定してもよい。マシンビジョン装置１０００は、位置デバイス１０３５を使用して、目的地に誘導してもよい。
【０１００】
上述のように、マシンビジョン装置１０００は、スタンドアローンユニットであってもよく、または別のシステム内に組み込まれてもよい。例えば、マシンビジョン装置１０００は、コースを誘導する移動性機械と共に使用されてもよい。
【０１０１】
上記の例はナビゲーション、顔認識、及び人物認識を扱っているものの、本明細書に記載の技法は、物体認識、感情／表情認識、経済／地質／天候などのデータにおけるトレンド認識、疾患検出（例えば、ＭＲＩ画像、ＣＴスキャン画像、病理スライドなどの医用画像を使用しての）、及び動物または人間により上手に行われる他の認識／検出タスクを含む、様々な用途のために使用され得ることが理解されるべきである。
【０１０２】
本明細書に記載の技法は、任意の種類の画像データを処理するために使用されてもよい。例えば、画像データは、可視光に応答して生成されてもよいが、赤外波長、紫外波長、または電磁スペクトルの他の波長などの他の種類の電磁波により生成されてもよい。一部の実施形態では、画像データは、人工的または仮想の画像データ（例えば、仮想環境のモデルに基づいて生成された）であってもよい。一部の実施形態では、人工的な画像データは、例えば、医用画像データ（磁気共鳴画像データ、コンピュータ断層撮影データ）、地震イメージングデータ、ＬＩＤＡＲデータ、金融データなどを含む任意の種類の好適なデータの視覚化に関連してもよい。
【０１０３】
様々な実施形態では、画像データは、単一の画像であっても、または複数の画像であってもよい。なお、画像は、静的であってもよく、または空間時間的に変化してもよい。図などの単純な形状が使用されても、または自然情景などの比較的複雑な刺激が使用されてもよい。なお、画像は、グレースケール、カラー、またはグレーとカラーの組み合わせであってもよい。
【０１０４】
上述の実施形態の様々な実装は、一連の未加工画像に対応する未加工画像データを受信することと、未加工画像データをエンコーダで処理してエンコードされたデータを生成することであって、エンコーダが、脊椎動物の網膜の１つまたは複数の網膜細胞の入力／出力変換を実質的に模倣する入力／出力変換により特徴付けられる、生成することと、エンコードされたデータに含まれる情報の量を圧縮するように構成された次元低減アルゴリズムを適用することによりエンコードされたデータを処理して次元低減されたエンコードされたデータを生成することと、を含む方法を伴う。エンコードされたデータは、一連の網膜画像を含んでもよい。エンコードされたデータを処理する工程は、一連の網膜画像を処理して、網膜画像に基づく特徴部シグネチャデータを生成することを含んでもよい。特徴部シグネチャデータは、複数の網膜画像領域に関する情報を含んでもよい。特徴部シグネチャデータは、複数の網膜画像領域のそれぞれに対応する動作データを含んでもよい。動作データは、複数の網膜画像領域のそれぞれに対応する速度データを含んでもよい。特徴部シグネチャデータは、複数の網膜画像領域のそれぞれに対応する光学フローデータを含んでもよい。エンコードされたデータを処理する工程は、訓練されたアルゴリズムをエンコードされたデータに適用することを含んでもよい。訓練されたアルゴリズムは、畳み込みニューラルネットワーク（ＣＮＮ）を含んでもよい。
【０１０５】
訓練されたアルゴリズムは、訓練データセットのエンコードされた訓練データで訓練されていてもよく、エンコードされた訓練データは、脊椎動物の網膜の１つまたは複数の網膜細胞の入力／出力変換を実質的に模倣する入力／出力変換により特徴付けられる訓練エンコーダを使用してエンコードされていてもよい。訓練セットのエンコードされた訓練データは、仮想環境のエンコードされた画像を含んでもよく、未加工画像データは、現実環境の未加工画像を含んでもよい。訓練セットのエンコードされた訓練データは、第１の条件セットの下で取得された画像を含んでもよく、未加工画像データは、第１の条件セットとは異なる第２の条件セットの下で取得された未加工画像を含んでもよい。第１の条件セットと第２の条件セットとは、照明条件を含んでもよい。
【０１０６】
方法は、マシンビジョンアルゴリズムを次元低減されたエンコードされたデータに適用することをさらに含んでもよい。マシンビジョンアルゴリズムは、物体認識アルゴリズム、画像分類アルゴリズム、顔認識アルゴリズム、光学式文字認識アルゴリズム、内容ベースの画像検索アルゴリズム、姿勢推定アルゴリズム、動作分析アルゴリズム、エゴ動作判定アルゴリズム、運動追跡アルゴリズム、光学フロー判定アルゴリズム、情景再構築アルゴリズム、３Ｄ体積認識アルゴリズム、及びナビゲーションアルゴリズムからなるリストから選択する少なくとも１つを含んでもよい。
【０１０７】
マシンビジョンアルゴリズムは、エンコーダまたは次元低減アルゴリズムを使用して処理されていない対応する一組の未加工画像に適用されるときよりも、次元低減されたエンコードされたデータに適用されるとき、より良好な性能を呈する。マシンビジョンアルゴリズムは、次元低減アルゴリズムのみを使用して処理された対応する一組の処理された未加工画像に適用されるときよりも、次元低減されたエンコードされたデータに適用されるとき、より良好な性能を呈する。マシンビジョンアルゴリズムは、次元低減アルゴリズムを使用して処理されていない対応する一組のエンコードされた画像に適用されるときよりも、次元低減されたエンコードされたデータに適用されるとき、より良好な性能を呈する。マシンビジョンアルゴリズムは、一連の画像内の人物の検出または識別のためのアルゴリズムを含み、マシンビジョンアルゴリズムは、エンコーダまたは次元低減アルゴリズムを使用して処理されていない対応する一組のデータに適用されるときよりも、人々を含む画像に基づいて次元低減されたエンコードされたデータに適用されるとき、より良好な検出精度または識別精度を呈する。
【０１０８】
上記の方法のある実装では、エンコードされたデータに含まれる情報の量は、対応する未加工画像データと比較して少なくとも約二分の一に圧縮されてもよく、次元低減されたエンコードされたデータは、対応するエンコードされたデータと比較して少なくとも約二分の一に圧縮されてもよい。エンコードされたデータに含まれる情報の量は、対応する未加工画像データと比較して少なくとも約五分の一に圧縮されてもよく、次元低減されたエンコードされたデータは、対応するエンコードされたデータと比較して少なくとも約五分の一に圧縮されてもよい。エンコードされたデータに含まれる情報の量は、対応する未加工画像データと比較して少なくとも約十分の一に圧縮されてもよく、次元低減されたエンコードされたデータは、対応するエンコードされたデータと比較して少なくとも約十分の一に圧縮されてもよい。
【０１０９】
上記の方法のある実装では、脊椎動物は、鼠及び猿からなるリストから選択される少なくとも１つを含み得る。網膜細胞は、神経節細胞を含んでもよい。網膜細胞は、１つまたは複数の部類の細胞を含んでもよく、該部類の細胞のうちの２つは、ＯＮ細胞及びＯＦＦ細胞を含んでもよい。エンコーダは、空間時間的に変化する画像を含む自然情景画像を含む入力の範囲にわたって、脊椎動物の網膜の１つまたは複数の網膜細胞の入力／出力変換を実質的に模倣する入力／出力変換により特徴付けられ得る。
【０１１０】
別の実装では、装置は、未加工画像データを記憶するように構成された少なくとも１つのメモリ記憶装置と、このメモリに作動可能に連結され、前段のいずれかの方法を実行するようにプログラムされた少なくとも１つのプロセッサと、を含む。装置は、少なくとも１つのプロセッサに作動可能に連結された少なくとも１つのロボット装置であって、未加工画像データを生成するように構成された少なくとも１つの画像センサを含んでもよい、ロボット装置、をさらに含んでもよい。別の実装は、上記の方法のうちのいずれかの工程を実装するためのコンピュータ実行可能な命令を有する非一時的なコンピュータ可読媒体を含む。
【０１１１】
本明細書で使用される場合、「光（ｌｉｇｈｔ）」という用語及び関連する用語（例えば、「光学（ｏｐｔｉｃａｌ）」、「視覚（ｖｉｓｕａｌ）」）は、例えば紫外線及び赤外線を含む可視スペクトル内及び可視スペクトル外の両方の電磁波を含むと理解されるべきである。
【０１１２】
様々な本発明の実施形態が本明細書に記載及び例示されているものの、当業者は、本明細書に記載の機能を行うための、ならびに／または本明細書に記載の結果及び／もしくは１つもしくは複数の利点を得るための、様々な他の手段及び／または構造を容易に想到するであろう。そのような変形例及び／または改変のそれぞれは、本明細書に記載の本発明の実施形態の範囲内にあるとみなされる。より一般的に言うと、当業者は、本明細書に記載の全てのパラメータ、寸法、材料、及び構成は、例示的であることを意図すること、ならびに実際のパラメータ、寸法、材料、及び／または構成は、本発明の教示が使用される具体的な応用（複数可）によって決まるであろうことを容易に理解するであろう。当業者は、本明細書に記載の具体的な本発明の実施形態の多数の等価物を認識するであろう、または日常的な実験を超えるものを使用することなしに確認することができるであろう。したがって、上記の実施形態は例としてのみ提示されていること、ならびに添付の請求項及びそれらの等価物の範囲内にあることが理解されるべきである。本発明の実施形態は、具体的に記載され請求されているのとは別様に実施され得る。本開示の本発明の実施形態は、本明細書に記載のそれぞれの個々の特徴、システム、物品、材料、キット、及び／または方法に関する。加えるに、このような特徴、システム、物品、材料、キット、及び／または方法の２つ以上の任意の組み合わせは、このような特徴、システム、物品、材料、キット、及び／または方法が相互に矛盾しない限り、本開示の本発明の範囲内に含まれる。
【０１１３】
上記の実施形態は、多数の方法のうちの任意のものにより実施され得る。例えば、実施形態は、ハードウェア、ソフトウェア、またはそれらの組み合わせを使用して実装され得る。ソフトウェアで実装される場合、単一のコンピュータ内に設けられるか、または複数のコンピュータ間で分散されるかにかかわらず、ソフトウェアコードは、任意の好適なプロセッサまたはプロセッサの集合上で実行され得る。
【０１１４】
また、コンピュータは、１つまたは複数の入力装置及び出力装置を有してもよい。これらの装置は、とりわけユーザーインターフェースを提示するために使用され得る。ユーザーインターフェースを提供するために使用され得る出力装置の例としては、出力の視覚的提示のための印刷機または表示器スクリーン、及び出力の可聴式提示のためのスピーカーまたは他の音響発生装置が挙げられる。ユーザーインターフェースとして使用され得る入力装置の例としては、キーボード、ならびにマウス、タッチパッド、及びデジタイジングタブレットなどのポインティングデバイスが挙げられる。別の例として、コンピュータは、入力情報を音声認識を通じて、または他の可聴式フォーマットで受信してもよい。
【０１１５】
このようなコンピュータは、ローカルエリアネットワーク、もしくはエンタープライズネットワークなどのワイドエリアネットワーク、及びインテリジェントネットワーク（ＩＮ）、またはインターネットを含む１つまたは複数のネットワークにより任意の好適な形態に相互接続されてもよい。このようなネットワークは、任意の好適な技術に基づいていてもよく、任意の好適なプロトコルに従って作動してもよく、無線ネットワーク、有線ネットワーク、または光ファイバネットワークを含んでもよい。
【０１１６】
本明細書に記載の機能のうちの少なくとも一部分を実装するために用いられるコンピュータは、メモリ、１つまたは複数の処理ユニット（本明細書では単純に「プロセッサ」とも呼ぶ）、１つまたは複数の通信インターフェース、１つまたは複数の表示器ユニット、及び１つまたは複数のユーザー入力装置を備えてもよい。メモリは、任意のコンピュータ可読媒体を含んでもよく、本明細書に記載の様々な機能を実装するためのコンピュータ命令（本明細書では「プロセッサ実行可能な命令」とも呼ぶ）を記憶してもよい。処理ユニット（複数可）は、命令を実行するために使用することができる。通信インターフェース（複数可）は、有線ネットワークもしくは無線ネットワーク、バス、または他の通信手段に連結されてもよく、したがって、コンピュータが他の装置に対する通信を送信し、かつ／または他の装置からの通信を受信することを可能にしてもよい。表示器ユニット（複数可）は、例えば、ユーザーが命令の実行に関連して様々な情報を閲覧することを可能にするように提供されてもよい。ユーザー入力装置（複数可）は、例えば、ユーザーが手動の調節を行い、選択を行い、データまたは様々な他の情報を入力し、かつ／または命令の実行中に様々な様式のうちの任意のものにおいてプロセッサと相互作用することができるように提供されてもよい。
【０１１７】
本明細書に概説した様々な方法またはプロセスは、様々なオペレーティングシステムまたはプラットフォームを用いる１つまたは複数のプロセッサ上で実行可能なソフトウェアとしてコード化されてもよい。なお、このようなソフトウェアは、いくつかの好適なプログラミング言語及び／またはスクリプト作成ツールのうちの任意のものを使用して書かれてもよく、実行可能なマシン言語コードまたはフレームワークもしくは仮想マシン上で実行される中間コードとしてコンパイルされてもよい。
【０１１８】
この点に関して、様々な本発明の概念は、１つまたは複数のコンピュータまたは他のプロセッサ上で実行されると、上述の本発明の様々な実施形態を実装する方法を行う１つまたは複数のプログラムがエンコーダされたコンピュータ可読記憶媒体（または複数のコンピュータ可読記憶媒体）（例えば、コンピュータメモリ、１つまたは複数のフロッピーディスク、コンパクトディスク、光学ディスク、磁気テープ、フラッシュメモリ、フィールドプログラマブルゲートアレイもしくは他の半導体装置内の回路構成、または他の非一時的媒体もしくは有形なコンピュータ記憶媒体）として具現化されてもよい。コンピュータ可読媒体（複数可）は、上に記憶されたプログラム（複数可）が、上述の本発明の様々な態様を実装するように１つもしくは複数の異なるコンピュータまたは他のプロセッサにロードされ得るように、輸送可能であってもよい。
【０１１９】
「プログラム」または「ソフトウェア」という用語は、本明細書では、上述の実施形態の様々な態様を実装するためのコンピュータまたは他のプロセッサをプログラムするために用いることができる任意の種類のコンピュータコードまたは一組のコンピュータ実行可能な命令を指す汎用の意味で使用されている。なお、一態様によれば、実行されるとき本発明の方法を行う１つまたは複数のコンピュータプログラムは、単一のコンピュータまたはプロセッサ上に存在する必要はなく、本発明の様々な態様を実施するようにモジュール形式でいくつかの異なるコンピュータまたはプロセッサ間に分散されていてもよいことが理解されるべきである。
【０１２０】
コンピュータ実行可能な命令は、１つもしくは複数のコンピュータまたは他の装置により実行されるプログラムモジュールなどの多数の形式において存在してもよい。一般に、プログラムモジュールは、特定のタスクを行うか、または特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。典型的に、プログラムモジュールの機能は、様々な実施形態において所望のように組み合わせまたは分散することができる。
【０１２１】
また、データ構造は、任意の好適な形態のコンピュータ可読媒体内に記憶されてもよい。例示の簡単化のために、データ構造は、データ構造内の位置を通じて関係付けられたフィールドを有するように示されてもよい。このような関係は、同様に、フィールドの記憶部にフィールド間の関係を伝達するコンピュータ可読媒体内の位置を割り当てることにより達成されてもよい。しかしながら、データ構造のフィールド内の情報間の関係を確立するために、ポインター、タグ、またはデータ要素間の関係を確立する他の機構の使用を通じて含む、任意の好適な機構が使用されてもよい。
【０１２２】
また、様々な本発明の概念は、１つまたは複数の方法として具現化されてもよく、その例が、提供されている。方法の一環として行われる行為は、任意の好適な方法で順序付けられてもよい。それゆえに、例示された順序とは異なる順序で行為が行われる実施形態が構築されてもよく、実施形態は、例示的な実施形態では逐次的行為として示されているものの、一部の行為を同時に行うことを含んでもよい。
【０１２３】
本明細書で定義及び使用される場合、全ての定義は、辞書の定義、参照により組み込まれた文書内の定義、及び／または定義される用語の通常の意味に有線するものとして理解されるべきである。
【０１２４】
不定冠詞「ａ」及び「ａｎ」は、本明細書において本明細書中及び本請求項中で使用されるとき、明示的な反対の指示がない限り、「少なくとも１つ（ａｔ  ｌｅａｓｔ  ｏｎｅ）」を意味すると理解されるべきである。
【０１２５】
「及び／または（ａｎｄ／ｏｒ）」という文言は、本明細書において本明細書中及び本請求項中で使用されるとき、そのように結合された要素のうちの「いずれか、または両方（ｅｉｔｈｅｒ  ｏｒ  ｂｏｔｈ）」、すなわち一部の場合には連結的に存在し、他の場合には選言的に存在する要素を意味するものとして理解されるべきである。「及び／または（ａｎｄ／ｏｒ）」により列挙された複数の要素は、同じやり方で、すなわち、そのように結合された要素のうちの「１つまたは複数」と解釈されるべきである。「及び／または（ａｎｄ／ｏｒ）」節により具体的に特定されている要素以外の他の要素が、具体的に特定されている要素に関係があるか無関係であるかにかかわらず、任意追加的に存在してもよい。よって、非限定的な例として、「Ａ及び／またはＢ（Ａ  ａｎｄ／ｏｒ  Ｂ）」への言及は、「を備える（ｃｏｍｐｒｉｓｉｎｇ）」などのオープンエンドな文言と共に使用されるとき、一実施形態ではＡのみに（任意追加的にＢ以外の要素を含む）、別の実施形態ではＢのみに（任意追加的にＡ以外の要素を含む）、さらに別の実施形態ではＡとＢの両方に（任意追加的に他の要素を含む）、などと言及し得る。
【０１２６】
本明細書において本明細書中及び本請求項中で使用されるとき、「または（ｏｒ）」は、上記で定義した「及び／または（ａｎｄ／ｏｒ）」と同じ意味を有すると理解されるべきである。例えば、リスト内の項目を分けるとき、「または（ｏｒ）」または「及び／または（ａｎｄ／ｏｒ）」は、包括的であるとして、すなわち、少なくとも１つを含むだけでなく、いくつかの要素または要素のリストのうちの２つ以上ならびに任意追加的にリストに載っていないさらなる項目を含むとして、解釈されるべきである。「ただ１つの（ｏｎｌｙ  ｏｎｅ  ｏｆ）」もしくは「きっかり１つの（ｅｘａｃｔｌｙ  ｏｎｅ  ｏｆ）」、または請求項内で使用される場合の「からなる（ｃｏｎｓｉｓｔｉｎｇ  ｏｆ）」などの、明示的に反対を指示する用語のみが、いくつかの要素または要素のリストのうちのきっかり１つの要素を含むことを指す。一般に、本明細書中で使用される「または（ｏｒ）」という用語は、「いずれか（ｅｉｔｈｅｒ）」、「１つの（ｏｎｅ  ｏｆ）」、「ただ１つの（ｏｎｌｙ  ｏｎｅ  ｏｆ）」、または「きっかり１つの（ｅｘａｃｔｌｙ  ｏｎｅ  ｏｆ）」などの排他性の用語が前置されているとき、排他的選択肢（すなわち、「一方または他方、ただし両方ではない」）を表すとしてのみ解釈されるものとする。「から本質的になる（Ｃｏｎｓｉｓｔｉｎｇ  ｅｓｓｅｎｔｉａｌｌｙ  ｏｆ）」は、請求項内で使用されるとき、特許法の分野で使用される通常の意味を有するものとする。
【０１２７】
本明細書において本明細書中及び本請求項中で使用されるとき、１つまたは複数の要素のリストへの言及における「少なくとも１つ（ａｔ  ｌｅａｓｔ  ｏｎｅ）」という文言は、要素のリスト内に具体的に列挙された各要素の少なくとも１つを必ずしも含むわけではなく、要素のリスト内の任意の要素の組み合わせを排除しない、要素のリスト内の任意の１つまたは複数の要素から選択された少なくとも１つの要素を意味すると理解されるべきである。この定義は、「少なくとも１つ（ａｔ  ｌｅａｓｔ  ｏｎｅ）」という文言が言及する要素のリスト内に具体的に特定されている要素以外の要素が、具体的に特定されている要素に関係があるか無関係であるかにかかわらず、任意追加的に存在してもよいことも認める。よって、非限定的な例として、「Ａ及びＢの少なくとも１つ（ａｔ  ｌｅａｓｔ  ｏｎｅ  ｏｆ  Ａ  ａｎｄ  Ｂ）」（または等価的に「ＡまたはＢの少なくとも１つ（ａｔ  ｌｅａｓｔ  ｏｎｅ  ｏｆ  Ａ  ｏｒ  Ｂ）」、または等価的に「Ａ及び／またはＢの少なくとも１つ（ａｔ  ｌｅａｓｔ  ｏｎｅ  ｏｆ  Ａ  ａｎｄ／ｏｒ  Ｂ）」）は、一実施形態では少なくとも１つの、任意追加的に２つ以上の、Ａを指し、Ｂは存在せず（かつ任意追加的にＢ以外の要素を含む）；別の実施形態では少なくとも１つの、任意追加的に２つ以上の、Ｂを指し、Ａは存在せず（かつ任意追加的にＡ以外の要素を含む）；さらに別の実施形態では少なくとも１つの、任意追加的に２つ以上の、Ａと、少なくとも１つの、任意追加的に２つ以上の、Ｂとを指し（かつ任意追加的に他の要素を含む）；などを指し得る。
【０１２８】
請求項において、ならびに上記の明細書において、「備える（ｃｏｍｐｒｉｓｉｎｇ）」、「含む（ｉｎｃｌｕｄｉｎｇ）」、「所持する（ｃａｒｒｙｉｎｇ）」、「有する（ｈａｖｉｎｇ）」、「含有する（ｃｏｎｔａｉｎｉｎｇ）」、「伴う（ｉｎｖｏｌｖｉｎｇ）」、「保持する（ｈｏｌｄｉｎｇ）」、「から構成される（ｃｏｍｐｏｓｅｄ  ｏｆ）」などの全ての移行文言は、オープンエンドであるとして、すなわち、含むがそれには限定されないことを意味するとして理解されるべきである。米国特許庁の特許審査便覧第２１１１．０３節に規定されるように、「からなる（ｃｏｎｓｉｓｔｉｎｇ  ｏｆ）」及び「から本質的になる（ｃｏｎｓｉｓｔｉｎｇ  ｅｓｓｅｎｔｉａｌｌｙ  ｏｆ）」という移行文言のみが、それぞれクローズまたは準クローズな移行文言であるものとする
【０１２９】
本明細書における実質的にいずれの複数形及び／または単数形の用語の使用に関しても、当業者は、文脈及び／または用途に適切なように複数形から単数形へ、かつ／または単数形から複数形へ翻訳することができる。様々な単数形／複数形の置換は、本明細書において明瞭性のために明示的に述べられることがある。
【０１３０】
一般に、本明細書及びとりわけ添付請求項（例えば、添付請求項の本文）において使用される用語は、一般に「オープン」な用語として意図されている（例えば、「含む（ｉｎｃｌｕｄｉｎｇ）」という用語は、「含むがそれには限定されない（ｉｎｃｌｕｄｉｎｇ  ｂｕｔ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」として解釈されるべきであり、「有する（ｈａｖｉｎｇ）」という用語は、「少なくとも有する（ｈａｖｉｎｇ  ａｔ  ｌｅａｓｔ）」として解釈されるべきであり、「含む（ｉｎｃｌｕｄｅｓ）」という用語は、「含むがそれには限定されない（ｉｎｃｌｕｄｅｓ  ｂｕｔ  ｉｓ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」として解釈されるべきであるなど）ことが当業者により理解されるであろう。特定の数の導入された請求項記載項目が意図される場合、そのような意図は、請求項内に明示的に記載されることになり、そのような記載がなければそのような意図は存在しないことが当業者によりさらに理解されるであろう。例えば、理解の助けとして、以下の添付請求項は、請求項記載項目を導入するための「少なくとも１つ（ａｔ  ｌｅａｓｔ  ｏｎｅ）」及び「１つまたは複数（ｏｎｅ  ｏｒ  ｍｏｒｅ）」という導入文言の使用を含むことがある。しかしながら、このような文言の使用は、同じ請求項が「１つまたは複数（ｏｎｅ  ｏｒ  ｍｏｒｅ）」または「少なくとも１つ（ａｔ  ｌｅａｓｔ  ｏｎｅ）」という導入文言及び「ａ」または「ａｎ」などの不定冠詞を含むときでさえ、不定冠詞「ａ」または「ａｎ」による請求項記載項目の導入が、そのような導入された請求項記載項目を含む任意の特定の請求項を、そのような記載項目を１つのみ含む発明に限定することを含意すると解釈されるべきではない（例えば、「ａ」及び／または「ａｎ」は、典型的に「少なくとも１つ（ａｔ  ｌｅａｓｔ  ｏｎｅ）」または「１つまたは複数（ｏｎｅ  ｏｒ  ｍｏｒｅ）」を意味すると解釈されるべきである）。同じことは、請求項記載項目を導入するために使用される定冠詞の使用についても当てはまる。加えるに、たとえ特定の数の導入された請求項記載項目が明示的に記載されている場合でさえ、当業者は、そのような記載が、典型的に少なくとも記載された数を意味すると解釈されるべきであることを認識するであろう（例えば、他の修飾語句のない「２つの記載項目（ｔｗｏ  ｒｅｃｉｔａｔｉｏｎｓ）」という最低限の記載は、典型的に少なくとも２つの記載項目または２つ以上の記載項目を意味する）。さらに、「Ａ、Ｂ、及びＣなどのうちの少なくとも１つ（ａｔ  ｌｅａｓｔ  ｏｎｅ  ｏｆ  Ａ，  Ｂ，  ａｎｄ  Ｃ，  ｅｔｃ．）」に類似の慣習が使用される場合、一般に、このような構文は、当業者が慣習を理解するであろう意味で意図される（例えば、「Ａ、Ｂ、及びＣのうちの少なくとも１つを有するシステム（ａ  ｓｙｓｔｅｍ  ｈａｖｉｎｇ  ａｔ  ｌｅａｓｔ  ｏｎｅ  ｏｆ  Ａ，  Ｂ，  ａｎｄ  Ｃ）」は、Ａのみ、Ｂのみ、Ｃのみ、Ａ及びＢを共に、Ａ及びＣを共に、Ｂ及びＣを共に、ならびに／またはＡ、Ｂ、及びＣを共に、有するシステムを含むがそれらには限定されないであろうなど）。「Ａ、Ｂ、またはＣなどのうちの少なくとも１つ（ａｔ  ｌｅａｓｔ  ｏｎｅ  ｏｆ  Ａ，  Ｂ，  ａｎｄ  Ｃ，  ��ｔｃ．）」に類似の慣習が使用される場合、一般に、このような構文は、当業者が慣習を理解するであろう意味で意図される（例えば、「Ａ、Ｂ、またはＣのうちの少なくとも１つを有するシステム（ａ  ｓｙｓｔｅｍ  ｈａｖｉｎｇ  ａｔ  ｌｅａｓｔ  ｏｎｅ  ｏｆ  Ａ，  Ｂ，  ｏｒ  Ｃ）」は、Ａのみ、Ｂのみ、Ｃのみ、Ａ及びＢを共に、Ａ及びＣを共に、Ｂ及びＣを共に、ならびに／またはＡ、Ｂ、及びＣを共に、有するシステムを含むがそれらには限定されないであろうなど）。明細書内、請求項内、または図面内のいずれであるかにかかわらず、２つ以上の代替的な用語を提示する事実上いずれの選言的な語及び／または文言も、当該用語のうちの１つ、当該用語のうちのいずれか、または当該用語の両方を含む可能性を企図すると理解されるべきであることが当業者によりさらに理解されるであろう。例えば、「ＡまたはＢ（Ａ  ｏｒ  Ｂ）」という文言は、「Ａ」または「Ｂ」または「Ａ及びＢ（Ａ  ａｎｄ  Ｂ）」の可能性を含むと理解されるであろう。さらに、別段の注記がない限り、「おおよそ（ａｐｐｒｏｘｉｍａｔｅ）」、「約（ａｂｏｕｔ）」、「前後（ａｒｏｕｎｄ）」などの語の使用は、＋／−１０パーセントを意味する。
【０１３１】
上記の例示的な実施形態の記載は、例示及び説明の目的のために提示されたものである。記載は、網羅的であること、または開示された厳密な形態に限定することを意図せず、改変及び変形は、上記の教示に照らして可能であるか、または開示された実施形態の実施から獲得され得る。本発明の範囲は、本明細書に添付の請求項及びそれらの等価物により画定されることを意図する。
【図１】
2018514036.tif 000003
【図２】
2018514036.tif 000004
【図３Ａ】
2018514036.tif 000005
【図３Ｂ】
2018514036.tif 000006
【図４】
2018514036.tif 000007
【図５】
2018514036.tif 000008
【図６Ａ】
2018514036.tif 000009
【図６Ｂ】
2018514036.tif 000010
【図６Ｃ】
2018514036.tif 000011
【図６Ｄ】
2018514036.tif 000012
【図６Ｅ】
2018514036.tif 000013
【図７】
2018514036.tif 000014
【図８】
2018514036.tif 000015
【図９】
2018514036.tif 000016
【図１０】
2018514036.tif 000017
【国際調査報告】
2018514036.tif 000018