(57)【要約】      （修正有）【課題】畳み込みニューラルネットワークから派生するモデルを用いて生成される画像の全体的な表現形式に基づいて、クエリー画像内で対象の位置特定を行うシステムおよび方法を提供する。【解決手段】注釈付き画像およびクエリー画像の表現形式は、それぞれニューラルネットワークの完全接続層に先行するモデルの層により出力される活性化関数に基づいて生成される。クエリー画像の表現形式と注釈付き画像の各表現形式との類似度を計算して、最も高い計算類似度を有する注釈付き画像の部分集合を特定する。注釈付き画像の部分集合のうちの少なくとも１つからクエリー画像に対象の位置情報を転送し、転送される対象の位置情報に基づく情報を出力する。【選択図】図２
2017062781.tif 000002
【特許請求の範囲】
【請求項１】
クエリー画像内で対象の位置特定を行うための方法であって、
一連の注釈付き画像の各画像に関して、訓練されたニューラルネットワークの一部から派生したモデルの層により出力される活性化関数に基づいて、注釈付き画像の表現形式を提供するステップであって、前記注釈付き画像がそれぞれ対象の位置情報の注釈を付けられるステップと、
クエリー画像に関して、前記モデルの前記層により出力される活性化関数に基づいて、クエリー画像の表現形式を生成するステップと、
前記注釈付き画像の部分集合を特定するステップであって、前記ステップには、前記クエリー画像の表現形式と前記注釈付き画像の各表現形式との類似度を計算することが含まれる、ステップと、
注釈付き画像の前記部分集合のうちの少なくとも１つから前記クエリー画像に対象の位置情報を転送するステップと、
転送される対象の位置情報に基づく情報を出力するステップと
を含み、
クエリー画像の表現形式を生成する前記ステップ、前記注釈付き画像の部分集合を特定する前記ステップ、対象の位置情報を転送する前記ステップ、および前記情報を出力する前記ステップのうちの少なくとも１つは、プロセッサで行われる、方法。
【請求項２】
前記層が、前記モデル内の少なくとも３枚の畳み込み層により先行される、請求項１に記載の方法。
【請求項３】
前記モデルの前記層が、最大プーリング層である、請求項１に記載の方法。
【請求項４】
前記最大プーリング層が、前記訓練されたニューラルネットワークの第１の完全接続層の直前の最大プーリング層である、請求項３に記載の方法。
【請求項５】
前記クエリー画像の表現形式と前記注釈付き画像の各表現形式との前記類似度が、前記表現形式間のコサイン類似度として計算される、請求項１に記載の方法。
【請求項６】
コンピュータ上で実行されると、前記コンピュータが請求項１に記載の方法を行う命令を格納する非一時的な記録媒体を含むコンピュータプログラム製品。
【請求項７】
請求項１の方法を行うための命令を格納するメモリと、前記命令を実行するために前記メモリと通信するプロセッサと、を含むシステム。
【請求項８】
クエリー画像内で対象の位置特定を行うシステムであって、
訓練されたニューラルネットワークから派生したモデルを格納するメモリであって、前記モデルが、その前の畳み込み層の出力活性化関数、または、最初の畳み込み層の場合には、画像を入力として受け取る一連の畳み込み層を含む、メモリと、
前記クエリー画像に関する前記畳み込み層のうちの選択層の前記活性化関数に基づいて、クエリー画像の表現形式と、それぞれが対象の位置情報の注釈を付けられた前記注釈付き画像に関するモデルの選択層により出力される活性化関数に基づいて、一連の注釈付き画像のそれぞれの画像に関する注釈付き画像の表現形式と、を生成する表現形式生成器と、
各表現形式間の類似度に基づいて、前記一連の注釈付き画像の中から類似する画像の部分集合を検索する検索コンポーネントと、
注釈付き画像の前記部分集合のうちの少なくとも１つから前記クエリー画像に前記対象の位置情報を転送する分割コンポーネントと、
転送される対象の位置情報に基づく情報を出力する出力コンポーネントと、
前記表現形式生成器、前記検索コンポーネント、前記分割コンポーネント、および前記出力コンポーネントを実施するプロセッサと
を含むシステム。
【請求項９】
前記画像の表現形式を新しい特徴空間に投影するための距離計量を共同で学習し、逆伝播により、前記モデルの前記畳み込み層の重みを適用する距離計量学習コンポーネントをさらに含む請求項８に記載のシステム。
【請求項１０】
クエリー画像内で対象の位置特定を行うための方法であって、
事前に訓練されたニューラルネットワークに新しい層を加えて、それぞれの前の層の出力上でそれぞれが動作する一連の畳み込み層を含むモデルを生成するステップであって、前記新しい層が、前記畳み込み層の最後の層の後に配置される、ステップと、
前記新しい層と前記モデルの前記畳み込み層の重みを、逆伝播により、更新するステップと、
一連の注釈付き画像のそれぞれの画像に関して、前記モデルの新しい層により出力される活性化関数に基づいて、注釈付き画像の表現形式を生成するステップであって、前記注釈付き画像がそれぞれ対象の位置情報の注釈を付けられる、ステップと、
クエリー画像に関して、前記モデルの新しい層により出力される活性化関数に基づいて、クエリー画像の表現形式を生成するステップと、
前記注釈付き画像の部分集合を特定するステップであって、前記ステップには、前記クエリー画像の表現形式と前記注釈付き画像の各表現形式との類似度を計算することが含まれる、ステップと、
注釈付き画像の前記部分集合のうちの少なくとも１つから前記クエリー画像に対象の位置情報を転送するステップと、
転送される対象の位置情報に基づく情報を出力するステップと
を含み、
重みを更新する前記ステップ、前記画像の表現形式を生成する前記ステップ、前記注釈付き画像の部分集合を特定する前記ステップ、対象の位置情報を転送する前記ステップ、および前記情報を出力する前記ステップのうちの少なくとも１つはプロセッサで行われる
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
例示的な実施形態は、対象の位置特定に関し、画像内で重要な対象を検知するためのシステムおよび方法の特定の用途を見出す。
【背景技術】
【０００２】
対象の位置特定により、画像のサムネイリング、小スクリーンでの製品識別、分類、および情報抽出などの様々なタスクが見出される。サムネイリングを用いて、画像のある領域に焦点を当てる画像の「サムネイル」を生成する。画像全体のサイズを小さくするだけでなく、サムネイルが重要な対象を示すと、より多くの情報が提供される。製品識別は、例えば、スクリーンのサイズのせいで、スクリーンの小さい部分を占める対象が見づらくなるスマートフォンでは有用である。きめ細かい分類は、難しく多くのクラスを有する視覚タスクであり、「入門レベル」のクラスの画像を特定の下位クラスに割り当てることが目標である（例えば、２００種類の鳥または１２０種類の犬の品種を分類するために）。一般に、最初に重要な対象を検知することにより、分類に良い影響を与える。
【０００３】
対象の位置特定では、入力画像に対象（１つ以上の）が含まれ、対象をぴったりと包含する長方形などの各対象の位置に関する情報を出力することが目的である。場合によっては、一つの重要な対象を特定することが望まれる。「重要な対象」の定義は、いくつかの例により規定することができる。例えば、画像の訓練データセットに、本当の対象位置に対応する注釈を設けることができる。
【０００４】
画像内の重要な対象を検知するための効率的な１つの方法として類似度に基づくアプローチを用いる方法が、Ｊ．Ａ．Ｒｏｄｒｉｇｕｅｚ−Ｓｅｒｒａｎｏ，ｅｔ  ａｌによる「Ｐｒｅｄｉｃｔｉｎｇ  ａｎ  ｏｂｊｅｃｔ  ｌｏｃａｔｉｏｎ  ｕｓｉｎｇ  ａ  ｇｌｏｂａｌ  ｉｍａｇｅ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ」（ＩＣＣＶ、２０１３年  １７２９〜１７３６頁）（以後本明細書ではＲｏｄｒｉｇｕｅｚ−Ｓｅｒｒａｎｏ  ２０１３と呼ぶ）、ならびに米国特許公開公報第２０１４／００５６５２０号明細書、および米国特許公開公報第２０１３／０１８２９０９号明細書に記載されている。この方法は（本明細書ではデータ駆動型検知（ＤＤＤ）と呼ぶ）、単一の空間変化する特徴ベクトルを用いて、各画像を符号化し、注釈付き訓練セットへの「クエリー」として検知動作を表す。新しい画像を考慮すると、この方法では、まず訓練セット内の全ての画像に対する類似度を計算し、次いで、最も類似度の高い画像（「周辺画像」）を選択する。クエリー画像内の対象位置を示す長方形の出力を、周辺の長方形の簡単な関数として、計算する。この方法は、画像検索タスクとして検知動作を表し、素早い画像検索の実装形態を使用するため、いくつかの対象を検知するタスクとして効率的である。その他の方法として、例えば、米国特許公開公報第２０１４／０２７０３５０号明細書に記載される通り確率マップに基づく方法もある。
【０００５】
ＤＤＤによる方法の成功は、以下の要因に依存する：
【０００６】
１．局所化された表現形式：類似度に基づく位置特定、同じ位置内の２つの対象（同じクラスであるが容姿は若干異なる）を表す２つの特徴ベクトルは、非常に類似しているはずである。したがって、特徴の符号化は対象の位置に対して敏感でなければならない。このことは、特徴はその容姿を符号化しなければならないが、位置の変更に対しては堅牢な画像分類などのその他のコンピュータ視覚タスクと対照的である。ＤＤＤでは、著しく局所化した中間レベルの特徴として見ることができる密集した空間ピラミッドまたは確率マップを用いるフィッシャーベクトルを用いることにより、位置情報の符号化を実現する。
【０００７】
２．監視または意味論的表現形式：ＤＤＤは、標準的な特徴（フィッシャーベクトルなど）を用いることで良好な結果を得られるが、表現形式がいくつかの監視付き学習を行って、中間レベルの属性を通したタスク関連の情報または意味を加えることにより改善される。ＤＤＤの一変更形態では、「ｌｅａｒｎｉｎｇ  ｔｏ  ｒａｎｋ」のアプローチを適用することにより監視が行われ、距離計量学習アルゴリズムによりデータの投影が見出され、これにより検索精度が向上する。別の変更形態では、訓練セットで区別して学習された、局所化された前景／後景の分類子を出力することにより、中間レベルの特徴が構築される。後者は非常に局所化された属性として解釈することができる。
【０００８】
３．圧縮：ＤＤＤは検知動作を検索の問題として表現するので、素早い検索を確実にするためには、特徴ベクトルを圧縮することが有用である。ＤＤＤでは２つの変更形態が提案される。距離計量学習の場合、低いランクの距離計量学習アルゴリズムが用いられ、これにより投影された（低い次元の）部分空間での作業が可能となる。確率マップを用いた場合、既にコンパクトな表現形式である（例えば、２５００次元が最大であり、これは、標準のフィッシャーベクトルよりも数桁小さい）。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
Ｆｅｌｚｅｎｓｚｗａｌｂによる「Ｏｂｊｅｃｔ  Ｄｅｔｅｃｔｉｏｎ  ｗｉｔｈ  Ｄｉｓｃｒｉｍｉｎａｔｉｖｅｌｙ  Ｔｒａｉｎｅｄ  Ｐａｒｔ  Ｂａｓｅｄ  Ｍｏｄｅｌｓ」（ＴＰＡＭＩ、３２（９）、１６２７〜１６４５頁、２０１０年）のＤＰＭ方法などの方法に比べて、ＤＤＤシステムは、非常に良好なパフォーマンスを提供するが、コンパクトな表現形式も提供する一方で、画像のグローバルな表現形式を生成する際、空間情報を効果的に考慮する、対象の位置特定の方法を提供することが有用である。
【課題を解決するための手段】
【００１０】
例示的な実施形態の一態様に従うと、クエリー画像内で対象の位置特定を行うための方法が提供される。注釈付きの画像には、それぞれ対象の位置情報の注釈が付けられる。注釈付き画像の表現形式が提供される、すなわち、注釈付き画像の集合がそれぞれ提供される。この表現形式は、訓練されたニューラルネットワークの一部から派生したモデルの選択層により出力される活性化関数に基づく。クエリー画像に関して、モデルの選択層により出力される活性化関数に基づいて、クエリー画像の表現形式も同様に生成される。注釈付き画像の部分集合を特定する。クエリー画像の表現形式と各注釈付き画像の表現形式との類似度を計算し、その計算された類似度に基づいて、注釈付き画像の部分集合を選択することにより、注釈付き画像の部分集合を特定する。次いで、注釈付き画像の部分集合のうちの少なくとも１つからクエリー画像に対象の位置情報を転送する。転送した対象の位置情報に基づく情報を出力する。
【００１１】
クエリー画像の表現形式の生成、注釈付き画像の部分集合の特定、対象の位置情報の転送、および情報の出力のうちの少なくとも１つはプロセッサで行われる。
【００１２】
例示的な実施形態の別の態様に従うと、クエリー画像内で対象の位置特定を行うためのシステムは、訓練されたニューラルネットワークから派生するモデルを格納するメモリを含む。このモデルは、一連の畳み込み層を含み、この一連の畳み込み層が、その前の畳み込み層の活性化関数（あるいは、畳み込み層の最初の層の場合には、画像）の出力を入力として受け取る。表現形式生成器が、クエリー画像に関する畳み込み層の選択層の活性化関数に基づいて、クエリー画像の表現形式を生成する。この表現形式生成器はまた、注釈付き画像に関するモデルの選択層により出力される活性化関数に基づいて、一連の注釈付き画像の各画像に関する注釈付き画像の表現形式も同様に生成する。注釈付き画像には、それぞれ対象の位置情報の注釈が付けられる。検索コンポーネントが、注釈付き画像の各表現形式とクエリー画像との類似度に基づいて、一連の注釈付き画像の中から類似する画像の部分集合を検索する。分割コンポーネントが、注釈付き画像の部分集合のうちの少なくとも１つからクエリー画像に対象の位置情報を転送する。出力コンポーネントが、転送される対象の位置情報に基づく情報を出力する。プロセッサが、表現形式生成器、検索コンポーネント、分割コンポーネント、および出力コンポーネントを実行する。
【００１３】
例示的な実施形態の別の態様に従うと、クエリー画像内で対象の位置特定を行うための方法が提供され、この方法には、事前に訓練されたニューラルネットワークに新しい層を加えてモデルを生成するステップが含まれる。このモデルは、一連の畳み込み層を含み、これらの畳み込み層はそれぞれ、その前の層の出力層上で動作する。一連の畳み込み層の最後の層の後に新しい層が配置される。新しい層の重みが更新され、モデルの畳み込み層の重みも、逆伝播により更新される。一連の注釈付き画像の各画像に関して、モデルの新しい層により出力される活性化関数に基づいて、注釈付き画像の表現形式を生成する。注釈付き画像にはそれぞれ、対象の位置情報の注釈が付けられる。クエリー画像に関して、モデルの新しい層により出力される活性化関数に基づいて、クエリー画像の表現形式を生成する。クエリー画像の表現形式と注釈付き画像の各表現形式との類似度を計算することにより、注釈付き画像の部分集合を特定する。注釈付き画像の部分集合のうちの少なくとも１つからの対象の位置情報をクエリー画像に転送し、転送された対象の位置情報に基づく情報を出力する。
【００１４】
重みの更新、画像の表現形式の生成、注釈付き画像の部分集合の特定、対象の位置情報の転送、および情報の出力のうちの少なくとも１つは、プロセッサを用いて行われ得る。
【図面の簡単な説明】
【００１５】
【図１】図１は、例示的な実施形態の一態様に従った、対象の位置特定を行うためのシステムの機能ブロック図である。
【図２】図２は、例示的な実施形態の別の態様に従った、対象の位置を特定する方法を示すフローチャート図である。
【図３】図３は、実施形態の一態様に従った、畳み込みニューラルネットワークを示す図である。
【図４】図４は、例示的な実施形態の別の態様に従った、畳み込みニューラルネットワークから派生したモデルを示す図ある。
【図５】図５は、類似度に基づいた分割を示す図である。
【発明を実施するための形態】
【００１６】
例示的な実施形態の態様は、類似度に基づいたアプローチを用いて、重要な対象のデータ駆動型検知（ＤＤＤ）を画像内で行うためのシステムおよび方法に関する。例示的な実施形態では、画像の表現形式は、ベクトルなどの実数値化したテンソルに基づき、最大プーリング層などの訓練された深層畳み込みニューラルネットワーク（ＣＮＮ）の一部から派生したモデルの層から出力される活性化関数を含む。このＣＮＮは、画像分類タスク用に事前に訓練されており、したがって、ＤＤＤタスクに関する特徴抽出器として使用される。このＣＮＮから派生した特徴には、フィッシャー特徴およびＤＤＤに関する確率マップに対する改善が見られる。
【００１７】
図１には、クエリー画像１２内で対象の位置特定を行うための、例示的なコンピュータにより実装されるシステム１０が示されている。このシステムは、メモリ１４とプロセッサ１８を含み、このメモリ１４は、図２を参照して説明する方法を行うためのソフトウェア命令１６を格納し、プロセッサ１８は、このメモリと通信して命令を実行する。このシステムは、図示されているコンピュータ２０などの、１つ以上のコンピュータ装置に駐在可能である。１つ以上の入出力装置（Ｉ／Ｏ）２２、２４により、このシステム１０は、ローカル・エリア・ネットワーク、またはインターネットなどのワイド・エリア・ネットワークなどの有線接続または無線接続２８を介して、図示されている画像取り込み装置２６などの外部装置と通信可能となる。システムのハードウェア構成要素１４、１８、２２、２４は、データ／制御バス３０を介して通信する。
【００１８】
入力クエリー画像１２を考慮すると、このシステムは、クエリー画像内の重要な対象の位置３４などの情報３２、および／またはクエリー画像から抽出される情報３６を出力する。図１に示されるシステムでは、画像１２は車両の取り込み画像で、位置３４は、例えば、長方形の形状の境界ボックスであり、その中には、この画像のナンバープレートが含まれていると予測される。この場合、境界ボックス３４から抽出される情報３６は、車両の登録番号などのテキスト情報でよい。
【００１９】
このシステムは、Ｎ個の注釈付き画像３８にアクセスし、データセット４０を形成しており、このデータセットは、メモリ１４またはシステムがアクセス可能な遠隔メモリに格納することができる。このＮは、少なくとも１０、少なくとも１００、少なくとも１０００、または、少なくとも１０，０００以上などの任意の数字でよい。データセット４０内の注釈付き画像３８はそれぞれ、境界ボックス（クエリー画像用に生成される境界ボックス３４と同様の）などの情報で注釈を付けられるが、このケースでは、対象のクラス内の重要な対象の本当の位置を特定する。これらの注釈付けは、手動で行われる。例えば、ナンバープレートの場合、注釈付き画像は、各ナンバープレートをぴったりと囲む境界ボックスを規定する座標の形態の異なる種類の車両の画像（カメラ２６と同じカメラ、あるいは同様のカメラにより取り込まれた）でよい。
【００２０】
このシステム１０は、畳み込みニューラルネットワーク（ＣＮＮ）４３から派生したモデル４２を含み、このモデルはローカルメモリまたは遠隔メモリ内に格納される。画像を既定の視覚クラスに分類するために、このＣＮＮ４３は、画像のラベル付き訓練セット（図示せず）を用いて事前に訓練されている。この訓練セット用の訓練画像は、ＩｍａｇｅＮｅｔ（商標）などの大きなデータセットから取得され、システム１０により行われる特定の対象の位置特定タスク専用である必要はない。
【００２１】
命令１６には、表現形式生成器４４が含まれ、この表現形式生成器が、訓練されたＣＮＮモデル４２を用いて、クエリー画像１２のコンパクトな表現形式４６を生成する。表現形式４８も同様にデータセット画像３８から生成される。随意的に、距離計量学習コンポーネント５０は、距離計量学習アルゴリズムを用いて、表現形式４６、４８を特徴空間（例えば、低い次元空間のうちの１つ）に投影するための距離計量５２を学習し、この特徴空間では出力された注釈３４はより正確となる。ある実施形態では、距離計量学習コンポーネント５０は、共同で、画像の表現形式４６、４８を新しい特徴空間に投影するための距離計量を学習し、モデル４２の畳み込み層の重みを、逆伝播により、適用することができる。
【００２２】
随意的に投影された画像１２の画像表現形式４６と画像３８の画像表現形式４８との類似度を計算することにより、検索コンポーネント５４は、類似するデータセットの画像の集合５６を検索する。分割コンポーネント５８は、検索された類似するデータセットの画像の集合５６のいくつか、または全ての境界ボックスの注釈をクエリー画像１２に転送して境界ボックス３４を計算する。情報抽出コンポーネント６０は、境界ボックス３４に囲まれた画像の領域１２から情報３６を随意的に抽出する。この抽出された情報には、ナンバープレートの数字、すなわち、文字や数字の集合などの有限アルファベットから引用された文字列が含まれ得る。この情報は、例えば、光学文字認識（ＯＣＲ）を用いて認識することができる。
【００２３】
例示されている抽出情報３６は、ナンバープレートの番号であるが、その他の種類の情報も考えられる。例えば、情報抽出コンポーネント６０は、分類子を含むことができ、この分類子により、鳥、動物、自動車といった位置を特定される対象が、規定のクラスの集合のうちの１つに分類される、または、いくつかの、または全てのクラスへの確率論的な割り当てが出力される。別の実施形態では、情報３６は、単純に画像１２から切り取られたものであり、それには、境界ボックス内の領域、または境界ボックスから抽出されたその他の情報が含まれる。情報３２は、出力コンポーネント６２により出力される。
【００２４】
コンピュータシステム１０には、デスクトップコンピュータ、ラップトップコンピュータ、パームトップコンピュータ、携帯情報端末（ＰＤＡ）、サーバコンピュータ、携帯電話、タブレットコンピュータ、携帯無線呼出し器、カメラ２６と一体型の、あるいはカメラ２６に関連するコンピュータ装置、それらの組み合わせ、または、例示的な方法を行う命令を実行可能なその他のコンピュータ装置などの１つ以上のコンピュータ装置２０が含まれ得る。
【００２５】
メモリ１４は、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、磁気ディスクまたは磁気テープ、光ディスク、フラッシュメモリ、またはホログラフィックメモリなどの任意の種類の非一時的コンピュータ可読媒体を示し得る。実施形態によっては、メモリ１４には、ランダム・アクセス・メモリとリード・オンリ・メモリの組み合わせも含まれる。いくつかの実施形態では、プロセッサ１８とメモリ１４を単一のチップで組み合わせることも可能である。このメモリ１４には、例示的な方法を実行するための命令、および処理するデータ４６、４８、５６、３４、３６が格納される。
【００２６】
ネットワーク・インターフェース２２、２４は、変調器／復調器（ＭＯＤＥＭ）、ルータ、ケーブル、および／または、イーサネット（登録商標）ポートを含むことができ、これらのインターフェースにより、コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）もしくはワイド・エリア・ネットワーク（ＷＡＮ）、またはインターネットなどのコンピュータ・ネットワークを介して、外部の装置と通信することができる。
【００２７】
デジタルプロセッサ装置１８は、シングルコアプロセッサ、デュアルコアプロセッサ（または、一般的には、マルチコアプロセッサにより）、デジタルプロセッサ、および協働する数値演算コプロセッサー、デジタル制御装置などにより、様々に具現化することができる。デジタルプロセッサ１８は、命令１６を実行することに加えて、コンピュータ２０の動作を制御することもできる。
【００２８】
本明細書で使用される用語「ソフトウェア」は、ソフトウェアの意図するタスクを行うためのコンピュータまたはその他のデジタルシステムを構成するために、コンピュータまたはその他のデジタルシステムにより実行可能な命令の集合すなわち集まりを包含することを意図される。本明細書で使用される用語「ソフトウェア」は、ＲＡＭ、ハードディスク、光ディスクなどの記憶媒体に格納される、そのような命令を包含することを意図され、ＲＯＭなどに格納されるソフトウェアである、いわゆる「ファームウェア」を包含することも意図される。そのようなソフトウェアは、様々な方法で構成可能であり、ライブラリ、遠隔サーバなどに格納されるインターネットベースのプログラム、ソースコード、解釈コード、オブジェクトコード、直接実行可能なコードなどとして構成されるソフトウェアコンポーネントを含むことができる。そのソフトウェアが、システムレベルのコードを起動させて、あるいはサーバまたはその他の場所に駐在するその他のソフトウェアを呼び出して、特定の機能を実行することができることも考えられる。
【００２９】
図１は、コンピュータシステム１０に組み込まれるコンポーネントの一部だけを示す、高いレベルの機能ブロック図であることは理解されよう。プログラマブルコンピュータの構成および動作は周知であるため、その説明は省略する。
【００３０】
図２には、例示的なシステムで実行される対象の位置を特定する方法が示されている。この方法はＳ１００で開始される。
【００３１】
Ｓ１０２で、ニューラルネットワークのモデル４２を提供する。例えば、画像の表現形式４６、４８を生成するのに必要のないＣＮＮ層を取り除くことで訓練されたＣＮＮを適用することにより、事前に訓練されたニューラルネットワーク４３を、モデル４２として直接使うことができる、あるいは、モデルを生成することができる。いくつかの実施形態では、クラスでラベル付けされた訓練画像の集合を用いてニューラルネットワークのパラメータを端末どうしで学習させることにより、ＣＮＮ４３を訓練する／訓練しておくことができる。
【００３２】
Ｓ１０４で、注釈付き画像３８の集合４０を提供する。各注釈付き画像３８には、目標対象の位置を特定する境界ボックスで注釈が付けられる。
【００３３】
Ｓ１０６で、ニューラルネットワークのモデル４２を用いて、各注釈付き画像３８の表現形式４８を生成する。これらの表現形式は、メモリ１４に格納可能である。最後に完全接続したオリジナルのＣＮＮ４３の層（または複数の層）以外のモデル４２の層の出力層の表現形式４８が派生される。表現形式を生成するために用いられる層は、畳み込み層（例えば、最大プーリングの後の層）、またはオリジナルのＣＮＮ４３内ではない追加の層でよい。
【００３４】
Ｓ１０８で、クエリー画像１２を受け取り、画素次元を注釈付き画像３８の画素次元と同じ次元まで小さくする前処理を施すことができる。
【００３５】
Ｓ１１０で、モデルの選択層を出力するとき、クエリー画像１２をニューラルネットワークのモデル４２に入力して、それを使用してクエリー画像の表現形式４６を、注釈付き画像と同様に生成する。
【００３６】
Ｓ１１２で、クエリー画像の表現形式４６とデータセット画像の表現形式４８（随意的には、新しい特徴空間に投影された）との類似度を計算して、１つ以上の同様の注釈付き画像（複数可）の部分集合５６、すなわち、最も類似する表現形式（新しい特徴空間内の）を有する注釈付画像を特定する。
【００３７】
Ｓ１１４で、データセット５６内の注釈付き画像（複数可）の境界ボックスの注釈を用いて、クエリー画像に関する境界ボックスの注釈３４を計算する。
【００３８】
Ｓ１１６で、境界ボックス３４内に含まれるクエリー画像１２の領域から情報３６を抽出することができる。
【００３９】
Ｓ１１８で、クエリー画像１２の領域から抽出された注釈付のクエリー画像１２、および／または情報３６を出力する。
【００４０】
Ｓ１２０で、この方法は終了する。
【００４１】
この方法のいくつかの実施形態では、距離計量５２（マトリクスなど）は、Ｓ１２２において注釈付の訓練画像の集合で学習される。これには、距離計量を共同で学習すること、および、モデル４２の畳み込み層の重みを、逆伝播により、適用することが含まれ得る。注釈付き画像およびクエリー画像を新しい特徴空間に埋め込む前ならいつでも距離計量の学習を実行することができる。
【００４２】
図２に示される方法は、コンピュータで実行されるコンピュータプログラム製品において実行可能である。コンピュータプログラム製品には、ディスク、ハードドライブなどの非一時的なコンピュータ可読記録媒体が含まれ得、この記録媒体には、制御プログラムが記録（格納）されている。非一時的コンピュータ可読媒体の一般的な形態には、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、またはその他の全ての磁気記憶媒体、ＣＤ−ＲＯＭ、ＤＶＤ、またはその他の全ての光媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、またはその他のメモリチップまたはカートリッジ、または、コンピュータが読取って使用可能なその他の全ての非一時的媒体が含まれ得る。コンピュータプログラム製品は、コンピュータ２０と一体型（例えば、ＲＡＭの内部ハードドライブ）でよい、あるいはコンピュータ２０から分離されてもよい（例えば、コンピュータ２０に動作可能に接続する外付けハードドライブの形態で）、あるいは分離されてローカル・エリア・ネットワーク（ＬＡＮ）またはインターネットなどのデジタルデータネットワークを介してアクセス可能でもよい（例えば、安価な独立したディスクの冗長アレイ（ＲＡＩＤ）またはデジタルネットワークを介してコンピュータ２０により間接的にアクセスされるその他のネットワークサーバの記憶装置として）。
【００４３】
あるいは、この方法は、電波通信中あるいは赤外線データ通信中に生成される搬送可能な搬送波などの一時的な媒体で実施可能であり、制御プログラムが、音響波または光波などの伝送媒体を用いてデータ信号として具体化される。
【００４４】
例示的な方法は、１つ以上の汎用コンピュータ、専用コンピュータ（複数可）、プログラマブルマイクロプロセッサまたはマイクロ制御装置および周辺集積回路要素、ＡＳＩＣまたはその他の集積回路、デジタル信号プロセッサ、離散要素回路などのハードウェアに組み込まれた電子回路または論理回路、ＰＬＤ、ＰＬＡ、ＦＰＧＡ、グラフィカルカードＣＰＵ（ＧＰＵ）、またはＰＡＬなどのプログラマブル論理装置で実施可能である。一般に、図２に示されるフローチャートを実施可能な有限状態機械を実施可能な全ての装置を用いて、この方法を実施することができる。この方法のステップは、全てコンピュータで実施可能であるが、いくつかの実施形態では、これらの１つ以上のステップは、少なくとも部分的に手動で実行可能であるということは理解されよう。この方法のステップは、全ての図示されている順序通りに行われる必要はなく、図示されているよりも少ないステップ、多くのステップ、あるいは異なるステップでも実行可能であることは理解されよう。
【００４５】
次にこのシステムおよび方法をさらに詳細に説明する。
【００４６】
画像
画像１２、３８は、ＪＰＥＧ、ＧＩＦ、ＪＢＩＧ、ＢＭＰ、ＴＩＦＦなどの便利なファイル形式、または画像用に用いられるその他の一般的なファイル形式でシステム１０により受信され得、これらのファイル形式は、随意的に、処理する前にその他の好適なフォーマットに変換可能である。入力されたクエリー画像１２は、処理中、メモリ１４の中に格納することができる。画像１２、３８は、ワークステーション、データベース、ディスクなどの記憶装置、カメラなどの画像取り込み装置などの全ての好適な画像供給源２６から入力可能である。一般に、各入力デジタル画像には、その画像を形成する画素のアレイに関する画像データが含まれる。
【００４７】
画像１２、３８は、写真またはビデオフレームなどの個々の画像でよい。ＣＮＮのモデルに入力される画像の画像データは、画像内の画素ごとに、Ｌ＊ａ＊ｂ＊またはＲＧＢなどの色分解の集合ごとにグレースケール値などの着色剤値を含むことができる、あるいは、様々な色を表示可能なその他の色空間で表すことができる。一般に、「グレースケール」とは、任意の単一色チャネルの光学濃度値のことを指し、Ｌ＊ａ＊ｂ＊、ＲＧＢ、ＹＣｂＣｒなどで表される。この例示的な実施形態は、白黒（単色）画像でも実施可能である。
【００４８】
畳み込みニューラルネットワーク
図３に示される通り、モデル４２として使用するために適用された例示的な深層畳み込みニューラルネットワーク４３は、ニューロンおよび共有する重みの特別な空間配列を有するニューラルネットワークを特別に実現させたものである。そのようなＣＮＮは、例えば、Ａ．Ｋｒｉｚｈｅｖｓｋｙ，ｅｔ  ａｌによる「Ｉｍａｇｅｎｅｔ  ｃｌａｓｓｉｆｉｃａｔｉｏｎ  ｗｉｔｈ  ｄｅｅｐ  ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋｓ」（ＮＩＰＳ、２０１２年、１０９７〜１０５頁）、およびＫ．Ｓｉｍｏｎｙａｎ，ｅｔ  ａｌによる「Ｖｅｒｙ  Ｄｅｅｐ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｔｗｏｒｋｓ  ｆｏｒ  Ｌａｒｇｅ−Ｓｃａｌｅ  Ｉｍａｇｅ  Ｒｅｃｏｇｎｉｔｉｏｎ」（ａｒｘｉｖ、２０１４年、１４０９、１５５６、以後本明細書では、Ｓｉｍｏｎｙａｎ  ２０１４年と呼ぶ）に記載されるＡｌｅｘｎｅｔネットワークに記載されている。この種類の事前に訓練されたＣＮＮは、オンラインで、例えば、Ｓｉｍｏｎｙａｎ  ２０１４に基づくＶｉｓｕａｌ  Ｇｅｏｍｅｔｒｙ  Ｇｒｏｕｐのホームページから取得可能である（ｗｗｗ．ｒｏｂｏｔｓ．ｏｘ．ａｃ．ｕｋ／〜ｖｇｇ／ｒｅｓｅａｒｃｈ／ｖｅｒｙ＿ｄｅｅｐ／を参照）。
【００４９】
簡潔に説明すると、このＣＮＮ４３は、畳み込み層７０、７２、７４、７６、７８（Ｃ１〜Ｃ５で示される）の集合、および完全接続層８０、８２、８４（ＦＣ６〜ＦＣ８で示される）の集合（一般には３個）を含む。図３には、Ａｌｅｘｎｅｔネットワークにおける５枚の畳み込み層と３枚の完全接続層が示されているが、これらの層の数はこれには限定されないが、一般に、それぞれ少なくとも１枚、または２枚であることは理解されよう。例えば、Ｓｉｍｏｎｙａｎ  ２０１４のＶＧＧ１６ネットワークでは、５つのグループに分けられた１３枚の畳み込み層が用いられる。各畳み込み層は、空間的に配列された複数のニューロンを「チャネル」内に含み、その構成は以下の通りである。：チャネルの各ニューロンが、その下の層の全てのチャネルのニューロンの空間領域（影響を受ける空間領域は「受容野」として知られている）に接続する。これらの接続の重みの値は、全てのニューロンにより共有される（ニューロンの応答は畳み込みとして解釈され得る）。各畳み込み層７０、７２、７４、７６、７８は、基本的には３Ｄフィルタの積層である４Ｄテンソルの重みでパラメータ化される。各完全接続層８０、８２、８４は、各重みマトリクスでパラメータ化される。
【００５０】
非線形関数（正規化線形関数すなわちＲｅＬＵなどの）は、所与の畳み込み層により出力されるニューロンの応答（活性化マップの集合）に適用可能である。ＲｅＬＵは、各応答を形成する活性化マップ内の全ての負の値に「０」の値を割り当てることができる。
【００５１】
最大プーリング層８６、８８、９０（ＰＯＯＬ１、ＰＯＯＬ２、およびＰＯＯＬ５で示される）は、いくつかの、または全ての畳み込み層の後に配置され先行する畳み込み層の出力層上で機能する。図示されている実施形態では、これらの最大プーリング層は、畳み込み層７０、７２、および７８に順次続く。最大プーリング層は、各受容野に関する最大値を計算する層であり、畳み込みは行わない。例示的な実施形態では、各最大プーリング層は、数画素のウィンドウを出力活性化マップの１つ以上に渡って幅と高さに段階的に動かし（いくつかのケースでは、これらのウィンドウは重複する）、各ウィンドウの画素にそのウィンドウ内の画素の最大値を割り当てる。例示的な実施形態では、このウィンドウは、４×４の画素のサイズであり、これらのウィンドウが重複するよう、ステップサイズ（または「スライド」）は１つまたは２つの画素である。これらの一連の活性化マップｘ１、ｘ２、ｘ３およびｘ４は、各畳み込み層７０、７２、７４、７６により出力され、次に（ＲＥＬＵおよび、存在する場合、各最大プーリング層８６、８８により処理される）、したがって、それぞれ次の畳み込み層７２、７４、７６、７８を順次通過する。最後の畳み込み層７８の出力（最大プーリング層９０を通過後）は、出力活性化マップの横列を連結させることによりベクトルｘ５に変換され、これを平坦化と呼ぶ。
【００５２】
従来のコンピュータの視覚タスクを用いる場合、このＣＮＮ４３は、標準サイズの画像の（Ｒ、Ｇ、Ｂ）画素値を入力として受け取る。第１の層７０、７２、７４、７６、７８は、いくつかの畳み込み層を連鎖させたものであり、ときには最大プーリング層８６、８８、９０がその後に続く。この例示的なモデルは、３枚の最大プーリング層を含むが、モデル内には、１枚、２枚、４枚、５枚の最大プーリング層など、これより多い枚数の、あるいは少ない枚数の最大プーリング層が含まれ得る。最後の完全接続層８０、８２、８４は、基本的には完全接続の多層構造のパーセプトロンである。これらの層の最初の層８０は、先行する最大プーリング層９０の全てのニューロンに接続する。ニューラルネットワークの標準出力９２は、そのタスクのソフトマックス符号化であり、１０００クラスの分類問題に関して、その出力は、クラスごとに予測を構築する１０００個のニューロンを有する。
【００５３】
しかし、例示的なニューラルネットワークのモデル４２では、いくつかの、または全ての完全接続層８０、８２、８４は使用されず（すなわち、これらはＣＮＮ４３を訓練するためのみに使用される）、これらの完全接続層を訓練されたＣＮＮから取り除いて、モデル４２を生成することができる。
【００５４】
例示的な実施形態では、訓練されたＣＮＮモデル４２は、ＤＤＤタスクに特にふさわしい方法で、特徴抽出器として使用される。最後の完全接続層８４の活性化関数を用いるのと反対に、分類の場合、第３の畳み込み層７４、第４の畳み込み層７６、第５の畳み込み層７８などの畳み込み層のうちの１枚などの完全接続層に先行する層の活性化関数９６を用いて、各画像１２、３８の表現形式４６、４８を生成する。一例を挙げると、最後の（第５の）畳み込み層７８に続く、最後の最大プーリング層９０の出力９６（ｘ５で示される）から画像の表現形式が生成される。したがって、この場合、入力画像１２（および類似する画像３８）は、全ての５枚の畳み込み層と３枚の最大プーリング層により処理される。従来のＣＮＮでは、最大プーリング層９０の出力が連結されてベクトルを形成する。活性化関数のベクトル９６は、少なくとも１０００個の要素、または少なくとも１０，０００個の要素を有し得、いくつかの実施形態では、最大１０００，０００個の要素、または最大５０，０００個の要素を有し得る。別の実施形態では、最大プーリングの前の畳み込み層７８の出力を用いて、連結させることにより、画像の表現形式を生成する。局所化され、意味を有し、圧縮された画像に関する情報を含む場合、このような表現形式は有用である。
【００５５】
局所化：Ｓｉｍｏｎｙａｎ  ２０１４などのＣＮＮのアーキテクチャでは、畳み込み層内の特定のニューロンの応答は、非常に特定された画像の領域の画素に依存するのみである。
【００５６】
意味論：ＣＮＮで学習される重みは、下部層内の低いレベルの基本要素（例えば、エッジ）から上部層（例えば、対象の一部）内の意味概念までの視覚概念の階層構造を表すフィルタを有する畳み込み層に対応する傾向がある。Ｍ．Ｄ．Ｚｅｉｌｅｒ，ｅｔ  ａｌによる「Ｖｉｓｕａｌｉｚｉｎｇ  ａｎｄ  ｕｎｄｅｒｓｔａｎｄｉｎｇ  ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｎｅｔｗｏｒｋｓ」（ＥＣＣＶ、２０１４年  ８１８〜８３３頁）、およびＹｏｓｉｎｓｋｉ，ｅｔ  ａｌによる「Ｈｏｗ  ｔｒａｎｓｆｅｒａｂｌｅ  ａｒｅ  ｆｅａｔｕｒｅｓ  ｉｎ  ｄｅｅｐ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋｓ？」ＮＩＰＳ、２０１４年３３２０〜３３２８頁）参照。
【００５７】
圧縮：最大プーリングの動作により、ニューロンの数は、以下の実験で使用されるＶＧＧ１６ネットワーク（Ｓｉｍｏｎｙａｎ  ２０１４）の場合は、４個まで減るため（最大プーリングのウィンドウは、２画素ストライドする、２×２ウィンドウである）、このプーリングを圧縮として解釈することができ、したがって、参照符号９０で示されるＰＯＯＬ５などの最大プーリング層の活性化関数９６は、（意味論的な）圧縮された表現形式を表す。ＰＯＯＬ５とは通常５番目の最大プーリング層を表す名称であり、順番の最後には、より大きな数字の畳み込み層が使用される。Ｓｉｍｏｎｙａｎ  ２０１４のネットワークでは、これは１３番目の畳み込み層に続く最大プーリング層である（Ｓｉｍｏｎｙａｎ  ２０１４の表１の縦列Ｄを参照）。
【００５８】
最後の最大プーリング層の出力活性化関数のベクトル９６は、随意的には、正規化、および／または学習された距離計量５２を有する新しい特徴空間への埋め込みの後のＤＤＤタスクに関して特に有用な表現形式である。
【００５９】
別の実施形態では、図４に示されているニューラルネットワークのモデル４２は、明示されている場合を除き、図３のモデルと同じである。具体的には、畳み込み層の後に付加的な層９８が加えられ、この層が出力活性化関数を新しい特徴空間にマッピングするための距離計量５２の役割を果たす。新しい層９８（訓練前のＣＮＮ４３には存在しない）に関する重みのマトリクスは、従来のニューラルネットワーク４３内の畳み込み層の重みの学習と同じように損失の導関数の逆伝播により学習される。
【００６０】
次に、ＣＮＮのモデル４２の出力活性化関数を用いる３つの方法を説明する。最初の２つの方法では、図３に示されるモデルを使用し、第３の方法では、図４に示されるモデルを使用する。各方法では、クエリー画像の表現形式４６と注釈付き画像の表現形式４８との類似度がＳ１１２で計算され、次いで、図５で図示される通り、最高位の注釈付き画像５６の境界ボックスの注釈１０２を用いて（Ｓ１１４で）クエリー画像１２に関する境界ボックス３４を計算する。
【００６１】
１．基本的な方法
一実施形態では、最後の最大プーリング層９０などのニューラルネットワークのモデル４２の層の出力９６が、ＤＤＤに関する特徴として直接使用される、すなわち、ベクトル９６は、随意的にはｌ２正規化の後の各画像の表現形式４６、４８として使用される。図３を参照して上記に記載されるニューラルネットワークのモデル４２を考慮すると、Ｓ１０６で、固定された画素次元のＲＧＢ画像Ｉｉをネットワークに入力し、ｔｉ＝ｐ５（Ｉｉ）すなわちＰＯＯＬ５層の全ての出力値を含む実数値化したベクトル９６を計算することにより、注釈セット４０
【００６２】
【数１】
2017062781.tif 000003
【００６３】
のＮ個の画像３８をそれぞれ符号化する。出力値をｌ２正規化すると都合がよい（すなわち、
【００６４】
【数２】
2017062781.tif 000004
【００６５】
など）。この場合、画像１２と、画像３８の特徴ベクトルとのドット積は、コサイン類似度と等しい。次いでＳ１１０で、クエリー画像１２（Ｑで示される）に関して、同様にｑ＝ｐ５（Ｑ）を計算し、ｌ２正規化を行う。ユークリッド距離などの正規化を必要としない別の類似度測定を使用する場合、正規化は省略可能であることは理解されよう。
【００６６】
Ｒｏｄｒｉｇｕｅｚ−Ｓｅｒｒａｎｏ  ２０１３ならびに米国特許公開公報第２０１４／００５６５２０号明細書および第２０１３／０１８２９０９号明細書に記載される通り、Ｓ１１２で類似度を計算することができる。具体的には、全ての類似度ｓ（ｑ，ｔｉ）＝ｑＴｔｉ（Ｔは転置行列）を計算して、順序π（１）…π（Ｎ）を取得する（なお、π（ｉ）は、ランキングの後の位置ｉで終了する要素の指数を表す）。クエリー画像１２に関する長方形Ｒ（ｑ）の出力は、関数Ｆとして計算することができる。最高位の注釈付き画像３８の部分集合Ｌの長方形の総計（Ｒπ（ｌ）の重みの合計などの）：
【００６７】
【数３】
2017062781.tif 000005
【００６８】
なお、各重みＷｌは、計算される類似度の関数でよく（例えば、Ｗｌ：ｓ（ｑ、ｔπ（ｉ）））、Ｒπ（ｌ）は、部分集合Ｌのｌ番目の画像のグランドトルースの長方形である。
【００６９】
これは、基本的に上位Ｌ個の長方形の重みの平均を計算している。下記の例では、この方法（距離計量学習を行わなくても）が、画像のデータセットで行う従来のＤＤＤ方法よりも優れていることが示されている。
【００７０】
以後の説明では、用語「最適化」、「最小化」および同様の用語は、当業者がこれらの用語を理解するよう広く解釈される。例えば、これらの用語は、絶対グローバル最適値、絶対グローバル最小値などに限定されて解釈されないものとする。例えば、関数の最小化は、絶対最小値に達する前の停止基準で動作を終了させる反復最小化アルゴリズムを用いることができる。最適値や最小値を、局所的最適値や局所的最小値とすることも考えられる。
【００７１】
２．距離計量学習の方法
本実施形態では、距離計量学習アルゴリズム５０および注釈付き訓練画像（画像３８と類似する）の集合を用いて、投影マトリクスＵの形態の距離計量５２の最適値を学習することにより、向上した形態の類似度の関数ｓ（ｑ，ｔｉ）＝ｑＴＵＴＵｔｉ（なお、ｑは、クエリー画像の表現形式であり、ｔｉは、注釈付き画像の表現形式のうちの１つである）を取得する。Ｒｏｄｒｉｇｕｅｚ−Ｓｅｒｒａｎｏ  ２０１３には、そのようなアルゴリズム、および、下記の一般的な形態の損失関数を、例えば、確率的勾配降下法（ＳＧＤ）を用いて最小化することによりＵを見つける実装形態が記載されている。
【００７２】
【数４】
2017062781.tif 000006
【００７３】
この学習では、第１の注釈付き画像ｔと、残り２つの他の注釈付き画像ｔ＋およびｔ−の３つの注釈付き画像を利用する。なお、画像ｔ＋の境界ボックスＲ＋と、画像ｔの境界ボックスＲとの重複スコアΨ（Ｒ，Ｒ＋）は、画像ｔ−の境界ボックスＲ−と画像ｔの境界ボックスＲとの重複スコアΨ（Ｒ、Ｒ−）より大きい。３つの注釈付き画像ごとに、学習コンポーネント５０は、（ｔ，ｔ−）と（ｔ，ｔ＋）の対に関してＫＷを計算する。なお、ＫＷ（ｔ，ｔ−）＝ｔＴＵＴＵｔ−でありＫＷ（ｔ，ｔ＋）＝ｔＴＵＴＵｔ＋である。Ｕは、学習された距離計量５２であり（なおｔ、ｔ＋およびｔ−は、随意的には３つの訓練画像の正規化された表現形式９６である）、Δは１などの定数である。重複スコアΨは、２つの境界ボックスが結合する領域により分割される交差点の領域として計算可能である。２つの画像の表現形式の重み類似度ＫＷ（ｑ，ｔ）に関して、組（ｔ，ｔ＋）−Δに関する場合よりも組（ｔ，ｔ−）に関する場合のほうが高くなると、マトリクスＵの重みは更新される。これにより、より高い境界ボックス重複度を有する注釈付き画像が、新しい特徴空間において、より類似しているだろうと予測できるマトリクスが作成される。
【００７４】
距離計量学習では、同じ重み、または、例えば、ガウス分布からランダムに取り出した重みなどの一連の重みで、マトリクス５２を初期化することができる。マトリクスにベクトルの入力を乗算することにより生成される出力ベクトルが、入力ベクトルより少ない次元を有することができるよう、このマトリクスは、ある次元では、入力ベクトル９６と同じ数の次元を有することができ、別の次元では、異なる数（例えば少ない数）の次元を有することができる。しかし、同等サイズ以上の出力ベクトルも考えられる。
【００７５】
投影マトリクスＷの学習のさらなる詳細に関しては、上記の米国特許公開公報第２０１３／０１８２９０９号明細書も参照のこと。
【００７６】
距離計量５２を学習した後（図２のＳ１２２）、この方法は、方法１と同じように進むが、Ｓ１１２では、類似度の関数ｓ（ｑ，ｔｉ）＝ｑＴＵＴＵｔｉを用いる。随意的に、全ての注釈付き画像３８に関して、テスト時間に関数Ｕｔｉを事前に計算し、メモリに格納することができ、これは単純にｑＴＵＴで乗算するだけである。これには２つの利点がある。：量Ｕｑ、および量Ｕｔｉに対してｌ２正規化を行うことができ、Ｕを用いてデータセット画像が保存される空間の次元の数を制御することができ、したがって、これは明示的な次元縮小として使用可能である。
【００７７】
３．ＣＮＮ端末間学習
ＰＯＯＬ５の特徴９６（固定されたＣＮＮアーキテクチャを用いて計算される）投影を学習する代わりに、図４に示されている通り、この投影をＰＯＯＬ５層９０の後の付加的な隠れた層９８と解釈することができる。この実施形態では、そのようなＣＮＮモデル４２の全てのパラメータ（すなわち、投影層９８の重み、および前の畳み込み層７０、７２、７４、７６、７８の全ての重み）を、例えば、逆伝播を通して学習する。層９８は、最大プーリング層９０からベクトルを取得するマトリクス（距離計量Ｕ類似する）であり、ベクトルにマトリクスを乗算することにより新しい特徴空間内の画像の表現形式を出力する。
【００７８】
分類損失ではなくＥｑ．２と類似するランキング損失を用いて、事前に訓練されたネットワーク（ＳｉｍｏｎｙａｎのＶＧＧ１６アーキテクチャを有するネットワークなどの）の一部のパラメータを更新することとこれは同じである。完全接続層が省略されるため、ランキング損失は、残りの畳み込み層を通して、逆伝播する。
【００７９】
ＤＤＤタスクを最適化するモデル４２を学習するために、訓練されたＣＮＮ（完全接続層が取り除かれた状態で）を学習して、ランキング損失を最適化することができる。
【００８０】
【数５】
2017062781.tif 000007
【００８１】
なお、各ｐ、ｐ＋、およびｐ−はそれぞれ、モデル４２を訓練するために使用される、一連の注釈付き訓練画像（画像３８と同じまたは同様の）のうちの１つに関するＣＮＮ（すなわち、層９８の活性化関数）の各出力を示す。次いで、層９８、７８、７６、７４、７２、７０の各層を順番（すなわち、画像を処理する順番と逆の方向）に通過する逆伝播によりＳＧＤ学習を行い、出力変数に対するランキング損失１０４の導関数（勾配）は下記の通りである。
【００８２】
【数６】
2017062781.tif 000008
【００８３】
【数７】
2017062781.tif 000009
【００８４】
【数８】
2017062781.tif 000010
【００８５】
損失１０４のベクトルを層９８の重みで乗算し、損失の導関数を計算し、新しい損失を用いてＣ５の重み、次いでＣ４の重みなどを従来のやり方で更新することにより、損失のこれらの導関数のベクトルは、モデルを通して逆伝播する。残りの逆伝播等式はその損失とは関係なく、ネットワークアーキテクチャを考慮すると全てのタスクで同じままである。Ｃａｆｆｅ（Ｙ．Ｊｉａ，Ｙ，ｅｔ  ａｌによる「Ｃａｆｆｅ：Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ｆａｓｔ  Ｆｅａｔｕｒｅ  Ｅｍｂｅｄｄｉｎｇ」（ａｒＸｉｖ  ｐｒｅｐｒｉｎｔ  ａｒＸｉｖ：１４０８．５０９３、２０１４年）などのソフトウェアライブラリにより、損失関数の全ての入力およびアーキテクチャに関する逆伝播を用いる「ブラックボックス」のＳＧＤ学習が提案される。損失関数に関して、ユーザは、訓練画像のミニバッチおよび導関数の損失を評価する関数をコード化する。上記の損失関数および導関数は、サイズ１のミニバッチに対応するが、より大きな値に容易に拡張可能である。層９８のパラメータを学習するための学習アルゴリズムは、Ｈｏｆｆｅｒ，  ｅｔ  ａｌ．による「Ｄｅｅｐ  ｍｅｔｒｉｃ  ｌｅａｒｎｉｎｇ  ｕｓｉｎｇ  Ｔｒｉｐｌｅｔ  ｎｅｔｗｏｒｋ」（ａｒＸｉｖ：１４１２．６６２２、２０１４年）で用いられる学習アルゴリズムと類似し得る。しかし、その他の、３つの要素を用いる学習の方法も考えられる。
【００８６】
そのような学習を行うために、方法２の距離計量学習で使用されるデータセットなどのΨ（Ｒ，Ｒ’）の値を有する注釈付き訓練画像のデータセットが提供される。しかし、そのようなデータセットのサイズは、通常、初期のＣＮＮ学習で使用されるデータセットより小さいため、最初から学習するのでなく、事前に訓練されたＣＮＮのパラメータを更新するほうが単純に有利である。したがって、事前に訓練されたＣＮＮ４３を用いてモデル４２を初期化し、新しいデータで更新を何度も繰り返す。
【００８７】
このように、この方法では、少ない量のデータを有する別のデータセット（検索データセット）上にＣＮＮ４３を保持することで、その他のタスク（ＤＤＤ）用の１つのデータセット（一般には、ＩｍａｇｅＮｅｔ（登録商標））上で１つのタスク（分類）用に訓練されたＣＮＮ４３を活用する。
【００８８】
上記に記載した通り（図２のＳ１２４）、ネットワーク４３が適用された後、この方法は、例えば、Ｓ１１２の類似度のドット積を用いて、方法１と同じように進む。
【００８９】
例示的なシステムおよび方法により、画像のサムネイリング、小さいスクリーン上での製品識別、分類、および情報抽出などの様々な対象検知タスクの用途が見出される。特定の用途の例として、電子料金収受、速度違反の取り締まり、および路外駐車の管理としての用途に使用するために画像内でナンバープレートを検知することが挙げられる。より精度の良いシステムを用いてこれらのタスクを行うことは、これらの用途に関して有用である。
【００９０】
以下の実施例により、注釈付き画像データセット上でこの方法の適用性を説明するが、これらの例により、例示的な実施形態の範囲を限定する意図はない。
【実施例】
【００９１】
Ｌｅｅｄｓ  Ｓｐｏｒｔｓ  Ｐｏｓｅ  Ｅｘｔｅｎｄｅｄ訓練データセット上でＤＤＤタスクを評価した。Ｊｏｈｎｓｏｎ，  ｅｔ  ａｌ．による「Ｃｌｕｓｔｅｒｅｄ  ｐｏｓｅ  ａｎｄ  ｎｏｎｌｉｎｅａｒ  ａｐｐｅａｒａｎｃｅ  ｍｏｄｅｌｓ  ｆｏｒ  ｈｕｍａｎ  ｐｏｓｅ  ｅｓｔｉｍａｔｉｏｎ」（Ｐｒｏｃ．２１ｓｔ  Ｂｒｉｔｉｓｈ  Ｍａｃｈｉｎｅ  Ｖｉｓｉｏｎ  Ｃｏｎｆｅｒｅｎｃｅ、２０１０年（ＢＭＶＣ２０１０））参照。この画像データセットは、ｗｗｗ．ｃｏｍｐ．ｌｅｅｄｓ．ａｃ．ｕｋ／ｍａｔ４ｓａｊ／ｌｓｐｅｔ．ｈｔｍｌで取得可能である。比較するためＲｏｄｒｉｇｕｅｚ−Ｓｅｒｒａｎｏ  ２０１３と同じ実験条件を使用した。これは目立つ人物の検出タスクである（被写体が難しい「スポーツの」ポーズをとる）。このデータセットには、「パルクール」、「体操」、および「陸上競技」のタグに関してＦｌｉｃｋｒ検索から集められ、評価が難しいと見なされるポーズからなる１０，０００個の画像が含まれる。各画像には、Ａｍａｚｏｎ  Ｍｅｃｈａｎｉｃａｌ  Ｔｕｒｋから集められ、ゆえに高い精度を保証することができない対応注釈が付けられている。これらの画像は、注釈付き人物が長さで約１５０画素になるよう縮尺されている。各画像は、最大１４個までの目に見える継ぎ目の位置で注釈を付けられている。Ｍｅｃｈａｎｉｃａｌ  Ｔｕｒｋの作業者には、人物中心の視点から左右の継ぎ目をラベル付けするよう依頼している。
【００９２】
これらの実験では、オックスフォード大学のＶｉｓｕａｌ  Ｇｅｏｍｅｔｒｙ  ＧｒｏｕｐによりＩＬＳＶＲＣ２０１２  （２０１２年Ｉｍａｇｅｎｅｔリリース）データセット（Ｓｉｍｏｎｙａｎ  ２０１４、表１、ｃｏｌ．Ｄ、およびＶｉｓｕａｌ  Ｇｅｏｍｅｔｒｙ  Ｇｒｏｕｐのホームページを参照）上で事前に訓練されたＶＧＧ１６ネットワークが使用された。入力画像は、２２４×２２４のＲＧＢ画像である。このＣＮＮは、重みを有する１６枚の層を含み、表１に示される通り最初の１３枚は畳み込み層で、残りの３枚は完全接続層である。
【００９３】
【表１】
2017062781.tif 000011
【００９４】
畳み込み層に関して、最初の数字はフィルタサイズを表し、２番目の数はフィルタの数を表す。例えば、畳み込み層の３−５１２は、サイズ３×３の５１２個のフィルタを意味する。畳み込み層のストライドは、いつでも１である。最大プーリングは全て２のストライドを有するサイズ２×２の層であり、全ての畳み込み層の後にはＲｅＬＵが存在する。
【００９５】
最後の完全接続層の出力は、１０００ｗａｙ  ｓｏｆｔｍａｘに供給され、この関数により１０００クラスのラベルに渡る分布が作られる。このネットワークは、多項ロジスティック回帰の対象を最大にするために訓練されており、これは、予測分布の下の正確なラベルの対数確率の訓練ケースに渡る平均を最大にすることと同じである。反応正規化層は、第１の畳み込み層と第２の畳み込み層の後に続く。最大プーリング層は、両方の反応正規化層および第５の畳み込み層に続く。全ての畳み込み層および完全接続層の出力にＲｅＬＵ非線形関数を適用する。
【００９６】
ＥＬＳＰセットの各画像をＣＮＮに入力し（完全接続層を取り除いた後）、ＰＯＯＬ５層の活性化関数を特徴として抽出する（ｌ２正規化を行う）。
【００９７】
第１の完全接続層（ＦＣ６）から抽出された特徴も評価する。この層は、ＰＯＯＬ５層よりも多くの意味を有し圧縮されているが、ＰＯＯＬ５のニューロンの全ての（局所化された）活性化関数からの入力を受け取るため局所的ではない。局所化された情報がＤＤＤタスクに関して有用であることがこれにより証明される。
【００９８】
これらの結果を以下の２つの方法と比較した。
【００９９】
１．距離計量学習を伴うＦｉｓｈｅｒベクトル（〜３２Ｋ次元）を用いるＲｏｄｒｉｇｕｅｚ−Ｓｅｒｒａｎｏ  ２０１３のＤＤＤの方法
【０１００】
２．局所的なＳＩＦＴと色の特徴から計算された確率マップ、および距離計量学習を用いるＤＤＤの方法（米国特許公開公報第２０１４／０２７０３５０号に記載されている方法と類似する）
【０１０１】
精度の結果を表２に示す。精度は、正確さに関して測定されている。検索される長方形が０．５より大きなグランドトルースを有する結合部上の交差点を有する画像のパーセンテージを測定する。
【０１０２】
【表２】
2017062781.tif 000012
【０１０３】
ＣＮＮの完全接続層８０（ＦＣ６）からの特徴は、対象の位置特定タスク用のこのデータセット上で比較的に良好な性能を発揮することが分かった。しかし、参照符号９０で示されるＰＯＯＬ５によりＦＣ６よりも良好な結果が得られ、これらの特徴により、「局所的な」情報をもたらしていることが示されている。距離計量学習をＰＯＯＬ５の特徴（方法２）と組み合わせると、その結果は素晴らしく（７５．９％）、２つの基本的な方法（フィッシャーベクトルと確率マップ）のほぼ２倍のスコアとなった。
【図１】
2017062781.tif 000013
【図２】
2017062781.tif 000014
【図３】
2017062781.tif 000015
【図４】
2017062781.tif 000016
【図５】
2017062781.tif 000017