(57)【特許請求の範囲】
【請求項１】
画像処理システムであって、
複数のベンチマーク画像のそれぞれのベンチマーク特徴ベクトルを示すデータを記憶するメモリと、
第１の画像の第１の特徴ベクトルと、第２の画像の第２の特徴ベクトルとを示すデータを受容する入力インターフェースであって、前記ベンチマーク画像は前記第１の画像及び前記第２の画像を含まない、入力インターフェースと、
前記ベンチマーク特徴ベクトルを前記第１の特徴ベクトルと分離する第１の超平面と、前記ベンチマーク特徴ベクトルを前記第２の特徴ベクトルと分離する第２の超平面とを用いて、前記第１の画像と前記第２の画像との間の類似度値を求めるプロセッサであって、前記プロセッサは、
前記第１の超平面に対する第１の法線ベクトルを、前記第１の特徴ベクトルと、前記ベンチマーク特徴ベクトルの平均との間の差として求め、
前記第１の超平面のオフセットを、前記ベンチマーク特徴ベクトルと前記第１の法線ベクトルとの内積の最大値と、前記第１の特徴ベクトルと前記第１の法線ベクトルとの内積との平均として求め、
前記類似度値を、前記第１の超平面に対する前記第２の特徴ベクトルの符号付き距離と、前記第２の超平面に対する前記第１の特徴ベクトルの符号付き距離との和の関数として求める、
ように構成される、プロセッサと、
前記類似度値を出力する出力インターフェースと、
を備える、システム。
【請求項２】
前記プロセッサは、
前記第２の超平面に対する第２の法線ベクトルを、前記第２の特徴ベクトルと、前記ベンチマーク特徴ベクトルの平均との間の差として求め、
前記第２の超平面のオフセットを、前記ベンチマーク特徴ベクトルと前記第２の法線ベクトルとの内積の最大値と、前記第２の特徴ベクトルと前記第２の法線ベクトルとの内積との平均として求め、
前記第２の特徴ベクトルからの前記オフセットにおいて前記第２の法線ベクトルと交差する前記第２の超平面を求める、
ように更に構成される、請求項１に記載のシステム。
【請求項３】
前記第２の超平面は、線形サポートベクトルマシン（ＳＶＭ）ソルバーを用いて予め求められる、請求項１に記載のシステム。
【請求項４】
前記入力インターフェースは、前記第１の画像のセットの前記第１の特徴ベクトルのセットと、前記第２の画像のセットの前記第２の特徴ベクトルのセットとを示すデータを受容し、前記ベンチマーク画像は、前記第１の画像のセット及び前記第２の画像のセットを含まず、前記プロセッサは、
前記第１の超平面に対する前記第１の法線ベクトルを、前記第１の特徴ベクトルのセットの平均と、前記ベンチマーク特徴ベクトルの平均との間の差として求め、
前記第１の超平面の前記オフセットを、前記ベンチマーク特徴ベクトルと前記第１の法線ベクトルとの内積の最大値と、前記第１の特徴ベクトルのセットからの特徴ベクトルと前記第１の法線ベクトルとの内積の最小値との平均として求め、
前記第２の超平面に対する第２の法線ベクトルを、前記第２の特徴ベクトルのセットの平均と、前記ベンチマーク特徴ベクトルの平均との間の差として求め、
前記第２の超平面のオフセットを、前記ベンチマーク特徴ベクトルと前記第２の法線ベクトルとの内積の最大値と、前記第２の特徴ベクトルのセットからの特徴ベクトルと前記第２の法線ベクトルとの内積の最小値との平均として求める、請求項１に記載のシステム。
【請求項５】
前記プロセッサは、ニューラルネットワークを用いて前記第１の画像を処理し、前記第１の特徴ベクトルを生成する、請求項１に記載のシステム。
【請求項６】
前記プロセッサは、前記ニューラルネットワークを用いて前記第２の画像を処理し、前記第２の特徴ベクトルを生成する、請求項５に記載のシステム。
【請求項７】
前記プロセッサは、前記ニューラルネットワークを用いて前記ベンチマーク画像を処理し、前記ベンチマーク特徴ベクトルを生成する、請求項６に記載のシステム。
【請求項８】
前記第１の画像、前記第２の画像及び前記ベンチマーク画像は、顔の画像であり、それによって、前記システムは顔認識システムとなる、請求項１に記載のシステム。
【請求項９】
前記類似度値に基づいて動作するデバイスであって、前記類似度値の結果に基づいて前記デバイスへのアクセスが可能になるデバイス、
を更に備える、請求項１に記載のシステム。
【請求項１０】
画像処理方法であって、前記方法は、複数のベンチマーク画像のそれぞれのベンチマーク特徴ベクトルを示すデータを記憶するメモリに結合されたプロセッサを用い、前記プロセッサは、前記方法を実施する記憶された命令と結合され、前記命令は、前記プロセッサによって実行されると、
第１の画像のセットの第１の特徴ベクトルのセットと、第２の画像のセットの第２の特徴ベクトルのセットとを示すデータを受容することであって、前記ベンチマーク画像は、前記第１の画像のセット及び前記第２の画像のセットを含まないことと、
前記ベンチマーク特徴ベクトルを前記第１の特徴ベクトルのセットと分離する第１の超平面と、前記ベンチマーク特徴ベクトルを前記第２の特徴ベクトルのセットと分離する第２の超平面とを比較して、前記第１の画像のセットと前記第２の画像のセットとの間の類似度値を生成することであって、前記比較は、
前記第１の超平面に対する第１の法線ベクトルを、前記第１の特徴ベクトルのセットの平均と、前記ベンチマーク特徴ベクトルの平均との間の差として求めることと、
前記第１の超平面のオフセットを、前記ベンチマーク特徴ベクトルと前記第１の法線ベクトルとの内積の最大値と、前記第１の特徴ベクトルのセットからの特徴ベクトルと前記第１の法線ベクトルとの内積の最小値との平均として求めることと、
前記類似度値を、前記第１の超平面に対する前記第２の特徴ベクトルのセットにおける全ての特徴ベクトルの符号付き平均距離の関数として求めることと、
を含むことと、
前記類似度値を出力することと、
を含む前記方法の少なくともいくつかのステップを実行する、方法。
【請求項１１】
前記第１の画像のセットは、１つの画像のみを含む、請求項１０に記載の方法。
【請求項１２】
前記第２の超平面に対する第２の法線ベクトルを、前記第２の特徴ベクトルのセットの平均と、前記ベンチマーク特徴ベクトルの平均との間の差として求めることと、
前記第２の超平面のオフセットを、前記ベンチマーク特徴ベクトルと前記第２の法線ベクトルとの内積の最大値と、前記第２の特徴ベクトルのセットからの特徴ベクトルと前記第２の法線ベクトルとの内積の最小値との平均として求めることと、
を更に含む、請求項１０に記載の方法。
【請求項１３】
前記第２の画像のセットは、１つの画像のみを含む、請求項１２に記載の方法。
【請求項１４】
前記ベンチマーク特徴ベクトル、前記第１の特徴ベクトルのセット、及び前記第２の特徴ベクトルのセットはニューラルネットワークによって生成される、請求項１０に記載の方法。
【請求項１５】
方法を実行するためにプロセッサによって実行可能なプログラムが具現化された非一時的コンピュータ可読記憶媒体であって、前記方法は、
第１の画像のセットの第１の特徴ベクトルのセットと、第２の画像のセットの第２の特徴ベクトルのセットと、複数のベンチマーク画像のそれぞれのベンチマーク特徴ベクトルとを示すデータを受容することであって、前記ベンチマーク画像は、前記第１の画像のセット及び前記第２の画像のセットを含まないことと、
前記ベンチマーク特徴ベクトルを前記第１の特徴ベクトルのセットと分離する第１の超平面と、前記ベンチマーク特徴ベクトルを前記第２の特徴ベクトルのセットと分離する第２の超平面とを比較して、前記第１の画像のセットと前記第２の画像のセットとの間の類似度値を生成することと、
前記類似度値を出力することと、
を含み、前記比較することは、
前記第１の超平面に対する第１の法線ベクトルを、前記第１の特徴ベクトルのセットの平均と、前記ベンチマーク特徴ベクトルの平均との間の差として求めることと、
前記第１の超平面のオフセットを、前記ベンチマーク特徴ベクトルと前記第１の法線ベクトルとの内積の最大値と、前記第１の特徴ベクトルのセットからの特徴ベクトルと前記第１の法線ベクトルとの内積の最小値との平均として求めることと、
前記類似度値を、前記第１の超平面に対する前記第２の特徴ベクトルのセットにおける全ての特徴ベクトルの符号付き平均距離の関数として求めることと、
を含む、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的には、コンピュータビジョンに関し、より詳細には、画像の類似度を求めることに関する。
【背景技術】
【０００２】
カメラ監視及び顔認識等の多くのコンピュータビジョンアプリケーションにおいて、異なる複数の画像に表されている人物又は他の物体が同じであるか否かを判断することが必要である。当該技術分野では、これは、比較のために選択される画像が全身画像であるとき、人物再同定として知られ、又は比較のために選択される画像が顔の画像であるとき、顔認識として知られる。そのために、人物再同定及び／又は顔認識システムは、デジタル画像から人物を、又はビデオソースからビデオフレームを、同定又は検証することが可能なコンピュータプリケーションである。これを行う１つの方法は、２人の人物の身体又は顔の２つの画像から計算された、選択された画像特徴を比較することによるものである。
【０００３】
画像は、人物の身体の全て又は一部分を含む静止画像のクロップ領域又はビデオ内のフレームのクロップ領域とすることができる。人物がビデオカメラによって追跡される監視及び他のアプリケーションでは、異なる追跡対象（tracks）が同じ人物のものであるか否かを判断する問題が必然的に生じる。追跡対象は、異なる時点からのものである場合もあるし、同じビデオカメラからのものである場合もあるし、又は２つの異なるビデオカメラからのものである場合もある。この問題は、２つのクロップ画像領域を比較し、領域が同じ人物を表すか否かを判断することによって解決することができる。
【０００４】
近年、様々な困難な試験セットにおける実用的な精度を達成する顔認識のための深層畳み込みニューラルネットワーク（ＣＮＮ）アーキテクチャが台頭した。このアーキテクチャは、クロップされた顔画像を入力としてとり、ＶＧＧ又はＲｅｓＮｅｔ等の強力なベースラインＣＮＮを用いて特徴ベクトルを計算し、その後、長さＣのベクトルを出力する全結合層が続く。ここで、Ｃは、トレーニングセットにおける一意のアイデンティティの数である。ネットワークは、入力顔画像のための正しいアイデンティティの出力ベクトルとワンホット符号化との間のソフトマックス損失を最小限にするようにトレーニングされる。換言すれば、ＣＮＮは、まず、顔のアイデンティティを表す特有の特徴ベクトルを計算することによって、入力された顔のアイデンティティを直接予測することを学習する。トレーニング後、各トレーニングアイデンティティの確率を与える、最終的な全結合層は破棄される。なぜなら、トレーニングアイデンティティは、試験中に遭遇するアイデンティティと同じでないためである。代わりに、最終的な全結合層の前の層の出力がアイデンティティ固有特徴ベクトルとして用いられる。２つの試験顔画像のための特徴ベクトルは、単にＬ２距離（又はコサイン類似度）を用いることによってＬ２正規化され、比較される。
【０００５】
この基本的なアーキテクチャにより達成される良好な結果にかかわらず、ネットワークがトレーニングされる方式と、ネットワークが試験中に用いられる方式との間に根本的な不一致がある。その目的で、いくつかの方法は、トレーニングのために異なる損失関数を用いることによってこの不一致に対処する。例えば、１つの代替的な損失関数は、非特許文献１によって記載されているトリプレット損失である。トリプレット損失は、「アンカー」顔、並びにアンカーのアイデンティティの正の例示的画像及び負の例示的画像を入力例としてとり、アンカーと正の特徴ベクトルとの間の距離から、アンカーと負の特徴ベクトルとの間の距離を減算したものを最小にすることを試みる。この損失に伴う１つの難題は、トレーニングのための顔画像の３つ組の数が非常に大きくなり、或る種のハードネガティブマイニングが必要とされることである。
【０００６】
コントラスティブ損失（contrastive loss）として知られる別の損失関数は、僅かに異なる損失関数を用いて、トリプレット損失と類似の効果を有する。中心損失として知られる別の損失関数は、顔の特徴ベクトルと、そのクラス（特定の人物についての顔画像のセット）の平均特徴ベクトルとの間の距離を最小にすることを試みる。中心損失とソフトマックス損失とを加えたものを用いると、コンパクトであり、他のアイデンティティと分離可能な、人物ごとの特徴ベクトルのクラスタが得られる傾向にある。
【０００７】
３つの他の関連損失関数、すなわち、（角度ソフトマックスのための）Ａソフトマックス、大マージンソフトマックス及びＬ２制約付きソフトマックスが、特定のアイデンティティの特徴ベクトルが互いの付近にクラスタリングすることを促すように標準ソフトマックス損失関数を変更する。これらの様々な損失関数の全てが利点及び不利点を有する。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】F. Schroff, D. Kalenichenko及びJ. Philbin、Facenet: A unified embedding for face recognition and clustering. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 815-823, 2015
【発明の概要】
【発明が解決しようとする課題】
【０００９】
いくつかの実施形態の目的は、画像比較に適したシステム及び方法を提供することである。いくつかの実施形態の別の目的は、ニューラルネットワークの支援により実施することができるそのような方法を提供することである。いくつかの実施形態の別の目的は、ニューラルネットワークが損失関数を用いてどのようにトレーニングされるかと、そのニューラルネットワークが試験中にどのように用いられるかとのオンライン／オフライン不一致に対処することである。
【課題を解決するための手段】
【００１０】
いくつかの実施形態は、画像を直接的及び／又は間接的に比較することができるという認識に基づく。例えば、２つの画像の直接的比較は、これらの２つの画像の特徴ベクトル間の距離、例えばＬ２距離を求めることによって行うことができる。しかしながら、いくつかの用途では、そのような直接的な比較は望ましくない。その一方で、２つの画像は、これらの画像を共通ベンチマークに対して比較することによって間接的に比較することができる。ベンチマークが正しく求められる場合において、ベンチマーク比較結果が類似しているとき、２つの画像も類似している。
【００１１】
いくつかの実施形態は、画像比較及び／又は顔認識の分野において、ニューラルネットワークをトレーニングするために使用される損失関数を変更することに加えて、又はその代わりに、特徴ベクトルを比較するのに用いられる距離関数を変更することによってオンライン／オフラインの不一致に対処することができるという認識に基づく。特に、いくつかの実施形態は、特徴ベクトルがＬ２距離を用いて比較される試験中、同じ顔のペアの特徴ベクトルが特徴空間において近いのに対し、異なる顔のペアの特徴ベクトルがより遠く離れていることが仮定されるという洞察に基づく。しかしながら、この特性は、ニューラルネットワークのトレーニング中に最適化されていない。対照的に、ニューラルネットワークのトレーニング中に最適化されている特性は、特定の人物の特徴ベクトルが、全ての他の人物の特徴ベクトルから線形に分離可能であることである。このため、２つの画像の特徴ベクトルの直接的な比較は準最適である可能性がある。
【００１２】
例えば、トレーニング中、最終的な出力ユニットＯｉについて、Ｏｉに接続されたネットワークの最後の全結合層の重みは、人物ｉの画像の特徴ベクトルを１にマッピングし、全ての他の人物の画像の特徴ベクトルを−１にマッピングしようとする線形関数を学習する。これは、最後の全結合層の重みが、人物ｉの画像と全ての他の人物の画像との間の分離超平面を定義することを意味する。これはまた、ネットワークによって学習される特徴ベクトルが、特定のアイデンティティの画像の特徴ベクトルが全ての他の人物の特徴ベクトルから線形に分離可能であるという特性を有することも暗に意味する。これらの特徴ベクトルは、特定のアイデンティティのための特徴ベクトルが全て共に近くにあるという特性を必ずしも有する必要はない。しかしながら、２つの特徴ベクトル間で通例用いられる類似度関数は、同じ人物の２つの画像から得られた２つの特徴ベクトルが、小さなＬ２距離を有するはずである（すなわち、共に近くにあるはずである）ことを意味する負のＬ２距離である。しかしながら、これが目的でニューラルネットワークがトレーニングされているわけではない。顔画像の各クラスを全ての他のクラスから線形に分離可能にすることは、クラスの全ての特徴ベクトルが小さなＬ２距離を有することを暗に意味するものではない。
【００１３】
そのため、オンライン／オフライン不一致の問題に対する１つの解決策は、１つの画像の特徴ベクトルを全ての他の画像の特徴ベクトルと分離する超平面に対する距離に従って特徴ベクトルを比較することである。超平面比較は、比較のための画像のうちの任意のものと異なるベンチマーク画像のセットの特徴ベクトルを用いて、ベンチマーク画像と、比較のための入力画像との間の超平面を計算し、比較する。次に、入力画像特徴ベクトルからのこれらの超平面に対するマージンの和を、Ｌ２距離の代わりに用いることができる。この解決策は、トレーニング損失に従う。このため、トレーニング中に用いられているのと同じ距離を用いる顔の画像を表す特徴ベクトルを比較する方法が必要とされている。
【００１４】
しかしながら、超平面類似度の利点は精度であるのに対し、主な欠点はスピードである。超平面を推定する１つの方法は、線形サポートベクトルマシン（ＳＶＭ）ソルバーを用いることであるが、これはＬ２距離を用いるよりもはるかに低速である。この欠点に対処するために、ＳＶＭ最適化を伴わない分離超平面を計算する方法が必要である。
【００１５】
いくつかの実施形態は、正の特徴ベクトル及び負の特徴ベクトルの多くの分散について、負の特徴ベクトルの平均から正の特徴ベクトルの平均を指し示すベクトルが、分離超平面に対し概ね垂直であるという洞察に基づく。したがって、分離超平面の法線は、正の平均特徴ベクトルと負の平均特徴ベクトルとの間の差により概算することができる。そのようにして、いくつかの実施形態は、入力画像の特徴ベクトルとベンチマーク画像のセットとの間の超平面を求める代わりに、入力画像の特徴ベクトルと、ベンチマーク画像の特徴ベクトルの平均との間の超平面又は少なくとも超平面に対する法線を求める。
【００１６】
分離超平面の法線が求められると、超平面は、入力画像の特徴ベクトルをベンチマーク特徴ベクトルから最も良好に分離する、法線に沿った位置を示すオフセットによって定義することができる。そのために、１つの実施形態は、オフセットを、入力画像の特徴ベクトルと法線ベクトルとの内積と、ベンチマーク画像の特徴ベクトルと法線ベクトルとの内積のうちの１つとの間に入るものとして求める。例えば、超平面のオフセットは、ベンチマーク画像の各特徴ベクトルと法線ベクトルとの内積を計算することによって求めることができる。次に、オフセットは、最大ベンチマーク内積と、入力画像の特徴ベクトルと法線ベクトルとの内積とのアベレージに設定される。
【００１７】
したがって、１つの実施形態は、試験画像の特徴ベクトルを示すデータを記憶するメモリと、第１の画像の第１の特徴ベクトルと、第２の画像の第２の特徴ベクトルとを示すデータを受容する入力インターフェースであって、試験画像は第１の画像及び第２の画像を含まない、入力インターフェースと、試験画像の特徴ベクトルを第１の特徴ベクトルと分離する第１の超平面と、試験画像の特徴ベクトルを第２の特徴ベクトルと分離する第２の超平面とを比較して、第１の画像と第２の画像との間の類似度値を生成するプロセッサと、類似度値をレンダリングする出力インターフェースとを備える、画像比較のためのシステムを開示する。
【００１８】
この実施形態において、プロセッサは、第１の超平面に対する第１の法線ベクトルを、第１の特徴ベクトルと、試験画像の特徴ベクトルの平均との間の差として求め、第１の超平面のオフセットを、ベンチマーク画像の特徴ベクトルと、第１の法線ベクトルとの最大内積と、第１の特徴ベクトルと第１の法線ベクトルとの内積とのアベレージによって定義されるスカラーとして求め、類似度値を、第１の超平面に対する第２の特徴ベクトルの符号付き距離の関数として求めるように構成される。
【００１９】
いくつかの実施態様では、第２の超平面は、第１の超平面を求めるのと類似した方式で求められる。例えば、いくつかの実施態様では、プロセッサは、第２の超平面に対する第２の法線ベクトルを、第２の特徴ベクトルと、試験画像の特徴ベクトルの平均との間の差として求め、第２の超平面のオフセットを、ベンチマーク画像の特徴ベクトルと、第２の法線ベクトルとの最大内積と、第２の特徴ベクトルと第２の法線ベクトルとの内積とのアベレージによって定義されるスカラーとして求め、類似度値を、第２の超平面に対する第１の特徴ベクトルの符号付き距離の関数として求めるように更に構成される。
【００２０】
代替的に、第２の超平面は、例えば線形サポートベクトルマシン（ＳＶＭ）ソルバーを用いて予め決定することができる。さらに又は代替的に、いくつかの実施態様では、プロセッサは、類似度値を、第１の超平面に対する第２の特徴ベクトルの符号付き距離と、第２の超平面に対する第１の特徴ベクトルの符号付き距離との和として求める。
【００２１】
いくつかの実施態様では、プロセッサは、ニューラルネットワークを用いて、第１の画像の特徴、第２の画像の特徴及び／又は負の画像の特徴を生成する。そのような方式において、ニューラルネットワークのトレーニングと使用との間のオンライン／オフライン不一致が、画像比較の効率性を犠牲にすることなく低減される。ニューラルネットワークは、超平面比較と組み合わせて、特徴決定及び特徴比較の合同の精度に基づいて正確な結果を提供する。
【００２２】
したがって、１つの実施形態は、画像処理システムであって、ベンチマーク画像のベンチマーク特徴ベクトルを示すデータを記憶するメモリと、第１の画像の第１の特徴ベクトルと、第２の画像の第２の特徴ベクトルとを示すデータを受容する入力インターフェースであって、ベンチマーク画像は第１の画像及び第２の画像を含まない、入力インターフェースと、ベンチマーク特徴ベクトルを第１の特徴ベクトルと分離する第１の超平面と、ベンチマーク特徴ベクトルを第２の特徴ベクトルと分離する第２の超平面とを用いて、第１の画像と第２の画像との間の類似度値を求めるプロセッサであって、プロセッサは、第１の超平面に対する第１の法線ベクトルを、第１の特徴ベクトルと、ベンチマーク特徴ベクトルの平均との間の差として求め、第１の超平面のオフセットを、ベンチマーク特徴ベクトルと、第１の法線ベクトルとの最大内積と、第１の特徴ベクトルと第１の法線ベクトルとの内積とのアベレージとして求め、類似度値を、第１の超平面に対する第２の特徴ベクトルの符号付き距離と、第２の超平面に対する第１の特徴ベクトルの符号付き距離との和の関数として求めるように構成される、プロセッサと、類似度値をレンダリングする出力インターフェースとを備える、システムを開示する。
【００２３】
別の実施形態は、画像処理方法であって、方法は、ベンチマーク画像のベンチマーク特徴ベクトルを示すデータを記憶するメモリに結合されたプロセッサを用い、プロセッサは、方法を実施する記憶された命令と結合され、命令は、プロセッサによって実行されると、方法の少なくともいくつかのステップを実行する、方法を開示する。方法は、第１の画像のセットの第１の特徴ベクトルのセットと、第２の画像のセットの第２の特徴ベクトルのセットとを示すデータを受容することであって、ベンチマーク画像は、第１の画像のセット及び第２の画像のセットを含まないことと、ベンチマーク特徴ベクトルを第１の特徴ベクトルのセットと分離する第１の超平面と、ベンチマーク特徴ベクトルを第２の特徴ベクトルのセットと分離する第２の超平面とを比較して、第１の画像のセットと第２の画像のセットとの間の類似度値を生成することであって、比較は、第１の超平面に対する第１の法線ベクトルを、第１の特徴ベクトルのセットの平均と、ベンチマーク特徴ベクトルの平均との間の差として求めることと、第１の超平面のオフセットを、ベンチマーク特徴ベクトルと、第１の法線ベクトルとの最大内積と、第１の特徴ベクトルのセットからの特徴ベクトルと第１の法線ベクトルとの最小内積とのアベレージとして求めることと、類似度値を、第１の超平面に対する第２の特徴ベクトルのセットにおける全ての特徴ベクトルの符号付きアベレージ距離の関数として求めることとを含むことと、類似度値をレンダリングすることとを含む。
【００２４】
更に別の実施形態は、方法を実行するためにプロセッサによって実行可能なプログラムが具現化された非一時的コンピュータ可読記憶媒体を開示する。方法は、第１の画像のセットの第１の特徴ベクトルのセットと、第２の画像のセットの第２の特徴ベクトルのセットと、ベンチマーク画像のベンチマーク特徴ベクトルとを示すデータを受容することであって、ベンチマーク画像は、第１の画像のセット及び第２の画像のセットを含まないことと、ベンチマーク特徴ベクトルを第１の特徴ベクトルのセットと分離する第１の超平面と、ベンチマーク特徴ベクトルを第２の特徴ベクトルのセットと分離する第２の超平面とを比較して、第１の画像のセットと第２の画像のセットとの間の類似度値を生成することと、類似度値をレンダリングすることとを含む。比較することは、第１の超平面に対する第１の法線ベクトルを、第１の特徴ベクトルのセットの平均と、ベンチマーク特徴ベクトルの平均との間の差として求めることと、第１の超平面のオフセットを、ベンチマーク特徴ベクトルと、第１の法線ベクトルとの最大内積と、第１の特徴ベクトルのセットからの特徴ベクトルと第１の法線ベクトルとの最小内積とのアベレージとして求めることと、類似度値を、第１の超平面に対する第２の特徴ベクトルのセットにおける全ての特徴ベクトルの符号付きアベレージ距離の関数として求めることとを含む。
【図面の簡単な説明】
【００２５】
【図１】いくつかの実施形態による、間接的な画像比較のための画像処理システムのブロック図である。
【図２】いくつかの実施形態によって用いられる直接的及び間接的な画像比較の概略図である。
【図３】いくつかの実施形態による、或る特徴ベクトルをベンチマーク画像の特徴ベクトルと分離するために画像の特徴空間を分割する超平面の概略図である。
【図４】１つの実施形態による、第１の画像の間接的な画像比較のために第１の超平面を決定する方法のフローチャートである。
【図５】いくつかの実施形態に基づく、２つの画像の類似度を求めることの概略図である。
【図６】１つの実施形態による、類似度尺度を決定する方法のフローチャートである。
【図７】１つの実施形態による、複数の特徴ベクトルを用いて表される画像のセットのための超平面を求めることの概略図である。
【図８】いくつかの実施形態によって特徴ベクトルを生成するために用いられる例示的なニューラルネットワークを表す図である。
【図９】いくつかの実施形態による、画像処理及びコンピュータビジョンアプリケーションのために構成された例示的なシステムのブロック図である。
【発明を実施するための形態】
【００２６】
図１は、いくつかの実施形態による、間接的な画像比較のための画像処理システム１００のブロック図を示す。画像処理システム１００は、記憶された命令を実行するように構成されたプロセッサ１０２と、このプロセッサによって実行可能な命令を記憶するメモリ１０４とを備える。プロセッサ１０２は、シングルコアプロセッサ、マルチコアプロセッサ、コンピューティングクラスター、又は任意の数の他の構成体とすることができる。メモリ１０４は、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、フラッシュメモリ、又は他の任意の適したメモリシステムを含むことができる。プロセッサ１０２は、バス１０６を通じて１つ以上の入力デバイス及び出力デバイスに接続される。
【００２７】
これらの命令は、共通ベンチマークに対し画像の特徴ベクトルを比較することに基づく間接的な画像比較のための方法を実施する。様々な実施形態において、間接的な画像比較は、比較された画像の類似度を示す類似度値を生成する。例えば、１つの実施形態では、画像は顔又は全身のクロップ画像であり、それによって、システムは顔認識システム及び／又は人物再同定システムになる。
【００２８】
画像処理システム１００は、共通ベンチマークに対し画像を比較することに基づく間接的な画像比較を行うように構成される。このために、画像処理システム１００はまた、ベンチマーク画像の特徴ベクトルを示すベンチマークデータ１３１を記憶するように適合されたストレージデバイス１０８と、比較される画像の特徴を抽出する特徴抽出器１３３と、ベンチマークデータ１３１との画像の類似度又は非類似度を求めることによって画像を間接的に比較する画像間接比較器とを備えることができる。ストレージデバイス１０８は、ハードドライブ、光学ドライブ、サムドライブ、ドライブアレイ、又はその任意の組み合わせを用いて実施することができる。
【００２９】
画像処理システム１００内のヒューマンマシンインターフェース１１０は、システムをキーボード１１１及びポインティングデバイス１１２に接続することができ、ポインティングデバイス１１２は、とりわけ、マウス、トラックボール、タッチパッド、ジョイスティック、ポインティングスティック、スタイラス、又はタッチスクリーンを含むことができる。画像処理システム１００は、画像処理システム１００をディスプレイデバイス１５０に接続するように適合されたディスプレイインターフェース１４０にバス１０６を通じてリンクすることができる。ディスプレイデバイス１５０は、とりわけ、コンピュータモニタ、カメラ、テレビ、プロジェクタ、又はモバイルデバイスを含むことができる。
【００３０】
画像処理システム１００は、当該システムを撮像デバイス１３０に接続するように適合された撮像インターフェース１２８にも接続することができる。１つの実施形態では、比較のための画像は撮像デバイスから受信される。撮像デバイス１３０は、カメラ、コンピュータ、スキャナ、モバイルデバイス、ウェブカメラ、又はそれらの任意の組み合わせを含むことができる。
【００３１】
ネットワークインターフェースコントローラ１６０は、画像処理システム１００を、バス１０６を通じてネットワーク１９０に接続するように適合される。ネットワーク１９０を通じて、特徴ベクトル及び撮像入力文書のうちの１つ又はそれらの組み合わせを含む画像１９５をダウンロードし、記憶及び／又は更なる処理のためにコンピュータのストレージシステム１０８内に記憶することができる。
【００３２】
いくつかの実施形態では、画像処理システム１００は、画像処理システム１００を、画像比較結果に基づいて動作することができるアプリケーションデバイス１８５に接続するように適合されたアプリケーションインターフェース１８０に、バス１０６を通じて接続される。例えば、デバイス１８５は、顔認識結果に基づいてユーザーにそのデバイスへのアクセスを可能にする保護されたシステムである。
【００３３】
いくつかの実施形態は、画像を直接的及び／又は間接的に比較することができるという認識に基づく。例えば、２つの画像の直接的比較は、これらの２つの画像の特徴ベクトル間の距離、例えばＬ２距離を求めることによって行うことができる。本明細書において用いられるとき、特徴ベクトルとは、画像の様々な特性を表す数字の順序付けされたリストである。いくつかの実施形態では、特徴ベクトルは、特徴抽出器１３３によって決定される。特徴抽出器の例は、スケール普遍特徴変換（ＳＩＦＴ）及びニューラルネットワークを含む。しかしながら、いくつかの用途では、そのような直接的な比較は望ましくない。他方で、２つの画像は、これらの画像を共通ベンチマークに対して比較することによって間接的に比較することができる。ベンチマーク画像が正しく求められる場合において、ベンチマーク比較結果が類似しているとき、２つの画像も類似している。
【００３４】
図２は、いくつかの実施形態によって用いられる直接的及び間接的画像比較の概略図を示す。直接的比較２０１の間、第１の画像２１０は、第２の画像２２０と直接的に比較される。例えば、直接的比較は、第１の画像及び第２の画像の特徴間の距離を求める（２１５）。距離が小さい場合、画像２１０及び画像２２０は類似しており、そうでない場合、画像２１０及び画像２２０は異なる。
【００３５】
間接的比較２０２中、第１の画像２１０及び第２の画像２２０は共通ベンチマークに対して比較される（２３０）。例えば、いくつかの実施形態では、ベンチマークデータ１３１は、第１の画像及び第２の画像を含まない画像の特徴ベクトルを示すデータである。これらの画像は、本明細書においてベンチマーク画像と呼ばれ、それらの特徴ベクトルは、ベンチマーク特徴ベクトルと呼ばれる。例えば、ベンチマークデータ１３１はベンチマーク画像を含むことができ、これらのベンチマーク画像のベンチマーク特徴ベクトルは、システム１００の動作中に抽出される。さらに又は代替的に、ベンチマークデータ１３１は、事前に予め決定されたベンチマーク特徴ベクトルを記憶することができる。
【００３６】
共通ベンチマークに対するそのような比較の結果、ベンチマーク特徴ベクトルを第１の画像２１０の特徴ベクトルと分離する第１の超平面２４０、及びベンチマーク特徴ベクトルを第２の画像２２０の特徴ベクトルと分離する第２の超平面２５０が得られる。幾何学では、超平面は、その周囲の空間よりも１次元少ない部分空間である。空間が３次元である場合、その超平面は２次元平面であるのに対し、空間が２次元である場合、その超平面は１次元の線である。この場合、空間の次元数は特徴ベクトルの次元数によって定義される。例えば、ｎ次元特徴空間の超平面は、次元ｎ−１を有するフラットサブセット（flat subset）である。超平面は、その性質により、空間を２つの半空間に分離する。そのようにして、第１の画像と第２の画像との間の類似度を、それらの超平面の類似度に基づいて間接的に求めることができる。
【００３７】
例えば、次に、第１の画像及び／又は第２の画像の特徴ベクトルからのこれらの超平面に対するマージンの和を、Ｌ２距離の代わりに用いることができる。システム１００は、スタンドアロンの間接的な画像比較、又は直接的画像比較及び間接的画像比較の双方を行って結果の品質を改善することができることに留意されたい。例えば、いくつかの実施形態は、第１の画像と第２の画像との間の類似度を、第１の超平面に対する第２の画像の特徴ベクトルの符号付き距離の関数として決定する。例えば、いくつかの実施態様では、類似度メトリックは、第１の超平面に対する第２の画像の特徴ベクトルの符号付き距離と、第２の超平面に対する第１の画像の特徴ベクトルの符号付き距離との和として求められる。
【００３８】
しかしながら、超平面類似度の利点は精度であるのに対し、主な欠点はスピードである。超平面を推定する１つの方法は、線形サポートベクトルマシン（ＳＶＭ）ソルバーを用いることであるが、これはＬ２距離を用いるよりもはるかに低速である。この欠点に対処するために、ＳＶＭ最適化を伴わない分離超平面を計算する方法が必要である。
【００３９】
いくつかの実施形態は、正の特徴ベクトル及び負の特徴ベクトルの多くの分散について、負の特徴ベクトルの平均から正の特徴ベクトルの平均を指し示すベクトルが、分離超平面に対し概ね垂直であるという洞察に基づく。したがって、分離超平面の法線は、正の平均特徴ベクトルと負の平均特徴ベクトルとの間の差により概算することができる。
【００４０】
図３は、いくつかの実施形態による、或る特徴ベクトル３１０をベンチマーク画像の特徴ベクトル３３０と分離するために画像の特徴空間３００を分割する超平面３６０の概略図を示す。実施形態は、法線ベクトル３５０及びオフセットスカラー３８０が超平面を定義するという認識に基づく。超平面は、法線ベクトルとの内積からオフセットを減算したものが０である特徴ベクトルとして定義される。いくつかの実施形態は、法線ベクトル３５０を、特徴ベクトル３１０と、ベンチマーク画像の特徴ベクトル３３０の平均３４０との間の差として求める。本明細書において用いられるとき、平均とは、ベンチマーク画像の特徴ベクトルの和を特徴ベクトル数で除算したものである。そのようにして、法線ベクトルは、ＳＶＭソルバーの使用を通じて求めるのと比較して非常に迅速に求めることができる。
【００４１】
実施形態は、特徴ベクトル３１０と法線ベクトル３５０との内積と、ベンチマーク特徴ベクトル３３０の各々と法線ベクトル３５０との最大内積とのアベレージとしてオフセットスカラー３８０を求める。法線ベクトル３５０は、ベンチマーク特徴ベクトルの平均３４０から入力画像の特徴ベクトル３１０へのベクトルとして選択される。なぜなら、法線ベクトル３５０と入力画像の特徴ベクトル３１０及び類似の特徴ベクトルとの内積は、一般的に、法線ベクトル３５０とベンチマーク特徴ベクトル３３０との内積よりも大きな値を有するためである。入力画像の特徴ベクトル３１０が「正の」特徴ベクトルとみなされ、ベンチマーク画像の特徴ベクトル３３０が負の特徴ベクトルとみなされる場合、オフセット３８０は、正の特徴ベクトルの場合の最も小さな内積と、負の特徴ベクトルの場合の最も大きな内積との中間に位置するように選択される。
【００４２】
図４は、１つの実施形態による、第１の画像２１０の間接的な画像比較のために第１の超平面を決定する方法４００のフローチャートを示す。本方法は、第１の画像２１０を取得し（４１０）、第１の画像の特徴を抽出して（４２０）、特徴ベクトル４２５を生成する。例えば、本方法は、撮像デバイス１３０から、及び／又はネットワーク１９０を通じて第１の画像を受信することができる。例えば、本方法は、特徴抽出器１３３を用いて第１の特徴ベクトルを決定することができる。特徴抽出器によって用いられる技法の例は、畳み込みニューラルネットワークを含むニューラルネットワーク、及びローカルバイナリパターン又はハールライク（Haar-like）特徴等のハンドクラフト画像特徴を含む。
【００４３】
本方法は、第１の超平面に対する第１の法線ベクトル４３５を、第１の特徴ベクトルと、ベンチマーク特徴ベクトルの平均４２７との間の差として求める。平均４２７は、事前に予め計算することもできるし、ベンチマーク特徴ベクトルの要素のアベレージをとることによってリアルタイムで求めることもできる。本方法は、第１の超平面のオフセット４４５を、ベンチマーク特徴ベクトルと第１の法線ベクトルとの最大内積と、第１の特徴ベクトルと第１の法線ベクトルとの内積とのアベレージとして求める。オフセットは、超平面に最も近いベンチマーク特徴ベクトル間の距離、及び第１の特徴ベクトルと超平面との間の距離を最大にするように選択される。そのような方式で、第１の法線ベクトル４３５及びオフセット４４５は第１の超平面２４０を定義する。
【００４４】
いくつかの実施形態では、第２の超平面２５０は、線形サポートベクトルマシン（ＳＶＭ）ソルバーを用いて予め求められる。さらに又は代替的に、第２の超平面２５０は、方法４００の原理を用いて求めることができる。
【００４５】
図５は、いくつかの実施形態に基づく、２つの画像の類似度を求めることの概略図を示す。例えば、いくつかの実施形態は、類似度値を、第１の超平面５０１に対する第２の特徴ベクトル５２０の符号付き距離５７０と、第２の超平面５０２に対する第１の特徴ベクトル５１０の符号付き距離５６０との和の関数として求める。例えば、超平面に対する特徴ベクトルの符号付き距離は、特徴ベクトルと、超平面の法線との内積から、超平面のオフセットを減算したものとして計算される。この距離は、特徴ベクトルが超平面の正の側にあるとき、正であり、超平面の負の側（トレーニング特徴ベクトルの平均を含む側）では負である。
【００４６】
図６は、１つの実施形態による類似度尺度を求める方法のフローチャートを示す。本方法は、第１の超平面に対する第２の特徴ベクトルの符号付き距離を求め（６１０）、第２の超平面に対する第１の特徴ベクトルの符号付き距離を求める（６２０）。本方法は、これらの符号付き距離を合算し（６３０）、第１の超平面に対する第２の特徴ベクトルの符号付き距離と、第２の超平面に対する第１の特徴ベクトルの符号付き距離との和の関数を、第１の画像及び第２の画像の類似度を示す類似度値としてレンダリングする（６４０）。
【００４７】
図７は、１つの実施形態による、複数の特徴ベクトルを用いて表される画像のセットのための超平面を求めることの概略図を示す。人物が同定されているいくつかの事例では、その人物の複数の画像が入手可能である場合がある。例えば、人物の複数の画像が、人物のビデオシーケンスのフレームから得られる場合がある。そのような事例では、超平面を用いた類似度の計算は、精度を改善するために、人物の全ての利用可能な画像を一度に利用することができる。これには、上記で説明した、２人の人物の単一の画像を比較する方法の簡単な変形が必要となる。人物の複数の特徴ベクトル７２０をベンチマーク特徴ベクトル７３０と分離する超平面を計算するために、人物の特徴ベクトル７２０の平均特徴ベクトル７１０及びベンチマーク特徴ベクトル７３０の平均特徴ベクトル７４０が計算される。超平面の法線７５０が、人物の平均特徴ベクトル７１０からベンチマーク特徴ベクトルの平均特徴ベクトル７４０を減算した差として計算される。超平面のオフセット７８０は、全ての人物の特徴ベクトル７２０と超平面の法線７５０との最小内積と、全てのベンチマーク特徴ベクトル７３０と超平面の法線７５０との最大内積とのアベレージとして計算される。
【００４８】
第１の画像のセットを第２の画像のセットと比較するために、２つの超平面が計算される。第１の画像のセットの特徴ベクトルをベンチマーク特徴ベクトルと分離する第１の超平面は、上記で説明したように計算される。第２の画像のセットの特徴ベクトルをベンチマーク特徴ベクトルと分離する第２の超平面も、上記で説明したように計算される。次に、第１の画像のセットと第２のセットとの間の符号付き距離が、第２の超平面に対する第１の画像のセットの特徴ベクトルの符号付きアベレージ距離と、第１の超平面に対する第２の画像のセットの特徴ベクトルの符号付きアベレージ距離とを加算したものとして計算される。超平面に対する特徴ベクトルの符号付き距離は、特徴ベクトルと、超平面の法線との内積から超平面のオフセットを減算したものとして計算される。上記の例において、第１の画像のセット及び／又は第２の画像のセットは、単一の画像のみを含み、すなわち、第１の画像のセットのサイズ及び／又は第２の画像のセットのサイズは１に等しいことに留意されたい。
【００４９】
図８は、いくつかの実施形態によって特徴ベクトルを生成するために用いられる例示的なニューラルネットワークを表す図を示す。ネットワークは、１つ以上の画像を入力８１０としてとる入力層を含む。この後に、畳み込み層及びプーリング層のシーケンス８５０、８６０、８７０、８８０が続く。畳み込み層は、その畳み込み層への入力を、畳み込み行列のセットを用いて畳み込む。各畳み込み行列は、多くの場合特徴マップと呼ばれる異なる出力画像を計算するのに用いられる。畳み込み行列の要素は、トレーニング中に学習される。非線形関数（正規化線形関数又はシグモイド関数等）が多くの場合に特徴マップに適用され、新たな特徴マップが生成される。プーリング層は、そのプーリング層への入力をサブサンプリングし、より小さなサブサンプリングされた特徴マップを出力する。畳み込みニューラルネットワークは、任意の数の畳み込み層又はプーリング層を任意の順序で有することができる。畳み込みニューラルネットワークは、多くの場合（ただし常にではない）１つ以上の全結合層８９０、８９５で終了する。全結合層のパラメーターもトレーニング中に学習される。いくつかの実施形態では、畳み込みニューラルネットワークの最後から二番面の層は、多くの場合特徴ベクトル８３０と呼ばれる１次元ベクトルである。いくつかの実施形態では、トレーニング中、畳み込みニューラルネットワークの最後の層８４０は、入力画像が異なるトレーニングクラスの各々に属する確率を示す確率のベクトルである。確率のベクトルは、通常、特徴ベクトルの異なる線形結合として計算された数のベクトルのソフトマックス関数を計算することによって生成される。顔認識ネットワークをトレーニングするとき、トレーニングクラスは、顔画像のトレーニングセットにおける異なるアイデンティティのセットである。
【００５０】
いくつかの実施態様では、畳み込みニューラルネットワークは、ユーザーが定義した損失関数を最小にする確率的勾配降下アルゴリズムを用いてトレーニングされる。例えば、顔認識ネットワークについて、ユーザーが定義した損失関数は、ネットワークの出力確率と、トレーニング顔画像のグラウンドトゥルース確率との間のユークリッド距離とすることができる。
【００５１】
トレーニング中、最終的な出力ユニットＯｉ８４２について、Ｏｉ８４２に接続されたネットワークの最後の全結合層の重みは、人物ｉの画像の特徴ベクトルを１にマッピングし、全ての他の人物の画像の特徴ベクトルを−１にマッピングしようとする線形関数を学習する。これは、最後の全結合層の重みが、人物ｉの画像と全ての他の人物の画像との間の分離超平面を定義することを意味する。これはまた、ネットワークによって学習される特徴ベクトルが、特定のアイデンティティの画像の特徴ベクトルが全ての他の人物の特徴ベクトルから線形に分離可能であるという特性を有することも暗に意味する。これらの特徴ベクトルは、特定のアイデンティティのための特徴ベクトルが全て共に近くにあるという特性を必ずしも有する必要はない。しかしながら、試験中、２つの特徴ベクトル間で通例用いられる類似度関数は、同じ人物の２つの画像から得られた２つの特徴ベクトルが、小さなＬ２距離を有するはずである（すなわち、共に近くにあるはずである）ことを意味する負のＬ２距離である。しかしながら、これが目的でニューラルネットワークがトレーニングされているわけではない。顔画像の各クラスを全ての他のクラスから線形に分離可能にすることは、クラスの全ての特徴ベクトルが小さなＬ２距離を有することを暗に意味するものではない。そのために、人物画像の特徴ベクトルを、試験されていない他の人物の画像を表すベンチマーク特徴ベクトルのセットと分離する超平面に対する距離を測定することに基づいて、２人の人物の画像のセットの類似度を測定する新たな類似度関数を考案することが有利である。
【００５２】
図９は、いくつかの実施形態による、画像処理及びコンピュータビジョンアプリケーションのために構成された例示的なシステム９００のブロック図を示す。システム９００は、カメラ９１０、慣性測定ユニット（ＩＭＵ）９３０、プロセッサ９５０、メモリ９６０、送受信機９７０、及びディスプレイ／スクリーン９８０のうちの１つ又は組み合わせを備えることができる。これらは、接続９２０を通じて他の構成要素に動作的に結合することができる。接続９２０は、バス、ライン、ファイバー、リンク又はそれらの組み合わせを含むことができる。
【００５３】
送受信機９７０は、例えば、１つ以上のタイプの無線通信ネットワークを通じて１つ以上の信号を送信することを可能にする送信機と、１つ以上のタイプの無線通信ネットワークを通じて送信された１つ以上の信号を受信する受信機とを備えることができる。送受信機９７０は、様々な技術に基づいて無線ネットワークとの通信を可能にすることができる。これらの技術は、標準規格のＩＥＥＥ８０２．１１ファミリーに基づくことができるフェムトセル、Ｗｉ−Ｆｉネットワーク又は無線ローカルエリアネットワーク（ＷＬＡＮ）、標準規格のＩＥＥＥ８０２．１５ｘファミリーに基づくＢｌｕｅｔｏｏｔｈ（登録商標）、近距離場通信（ＮＦＣ）、ネットワーク等の無線パーソナルエリアネットワーク（ＷＰＡＮ）、及び／又はＬＴＥ、ＷｉＭＡＸ等の無線ワイドエリアネットワーク（ＷＷＡＮ）等であるが、これらに限定されるものではない。システム９００は、有線ネットワークを通じて通信するための１つ以上のポートを備えることもできる。
【００５４】
いくつかの実施形態では、システム９００は、ＣＣＤセンサ若しくはＣＭＯＳセンサ、レーザ及び／又はカメラ等の画像センサ９１０を備えることができる。この画像センサは、以下では「センサ９１０」と呼ばれる。例えば、センサ９１０は、光画像を電子画像又はデジタル画像に変換することができ、取得された画像をプロセッサ９５０に送信することができる。さらに又は代替的に、センサ９１０は、シーン内のターゲット物体から反射された光を検知し、捕捉された光の強度をプロセッサ９５０にサブミットすることができる。
【００５５】
例えば、センサ９１０は、「カラー情報」を提供するカラーカメラ又はグレースケールカメラを含むことができる。「カラー情報」という用語は、本明細書において用いられるとき、カラー情報及び／又はグレースケール情報を指す。一般に、カラー画像又はカラー情報は、本明細書において用いられるとき、１〜Ｎ個のチャネルを含むものとみなすことができる。ここで、Ｎは、画像を記憶するのに用いられている色空間に依存する或る整数である。例えば、ＲＧＢ画像は、３つのチャネルを含み、赤情報、青情報及び緑情報についてそれぞれ１つのチャネルを有する。
【００５６】
例えば、センサ９１０は、「深度情報」を提供する深度センサを含むことができる。深度情報は、深度センサを用いて様々な方法で取得することができる。「深度センサ」という用語は、深度情報を単独で及び／又は他のいくつかのカメラと併せて取得するのに用いることができる機能ユニットを指すのに用いられる。例えば、いくつかの実施形態では、深度センサ及び光カメラは、センサ９１０の一部分とすることができる。例えば、いくつかの実施形態では、センサ９１０はＲＧＢＤカメラを備える。このＲＧＢＤカメラは、カラー（ＲＧＢ）画像に加えて、深度センサが有効にされているときはピクセルごとの深度（Ｄ）情報を捕捉することができる。
【００５７】
別の例として、いくつかの実施形態では、センサ９１０は、３Ｄ飛行時間（３ＤＴＯＦ）カメラを含むことができる。３ＤＴＯＦカメラを用いた実施形態では、深度センサは、３ＤＴＯＦカメラに結合されたストロボライトの形態をとることができる。このストロボライトは、シーン内の物体を照明することができ、反射された光は、センサ９１０内のＣＣＤ／ＣＭＯＳセンサが捕捉することができる。深度情報は、光パルスが物体に進んでセンサに戻って来るまでに要する時間を測定することによって取得することができる。
【００５８】
更なる例として、深度センサは、センサ９１０に結合された光源の形態をとることができる。１つの実施形態では、この光源は、１つ以上の狭い光の帯を含むことができる構造化された光パターン又はテクスチャー付けされた光パターンをシーン内の物体に投射する。深度情報は、物体の表面形状によって引き起こされる投射パターンの幾何学的歪みを利用することによって取得される。１つの実施形態は、赤外線構造化光プロジェクタと、ＲＧＢカメラに位置合わせされた赤外線カメラとの組み合わせ等のステレオセンサから深度情報を求める。
【００５９】
いくつかの実施形態では、センサ９１０は立体カメラを備える。例えば、深度センサは、２つ以上のカメラを用いてシーンの深度情報を取得することができる受動ステレオビジョンセンサの一部分を成すことができる。捕捉されたシーンにおける双方のカメラに共通の点のピクセル座標を、カメラ姿勢情報及び／又は三角測量技法とともに用いて、ピクセルごとの深度情報を取得することができる。
【００６０】
いくつかの実施形態では、システム９００は、デュアルフロントカメラ及び／又は前面カメラ及び背面カメラ等の複数のセンサ９１０に動作的に接続することができ、これらの複数のセンサは、様々なセンサを組み込むこともできる。いくつかの実施形態では、センサ９１０は、静止画像及びビデオ画像の双方を捕捉することができる。いくつかの実施形態では、センサ９１０は、例えば、３０フレーム毎秒（ｆｐｓ）で画像を捕捉することが可能なＲＧＢＤ又は立体ビデオカメラを備えることができる。１つの実施形態では、センサ９１０によって捕捉された画像は、生の未圧縮フォーマットとすることができ、処理及び／又はメモリ９６０への記憶の前に圧縮することができる。いくつかの実施形態では、画像圧縮は、プロセッサ９５０によって可逆圧縮技法又は非可逆圧縮技法を用いて実行することができる。
【００６１】
いくつかの実施形態では、プロセッサ９５０は、ＩＭＵ９３０から入力を受信することもできる。他の実施形態では、ＩＭＵ９３０は、３軸加速度計（複数の場合もある）、３軸ジャイロスコープ（複数の場合もある）、及び／又は磁気計（複数の場合もある）を備えることができる。ＩＭＵ９３０は、速度、方位、及び／又は他の位置関連情報をプロセッサ９５０に提供することができる。いくつかの実施形態では、ＩＭＵ９３０は、測定情報を、センサ９１０による各画像フレームの捕捉と同期して出力することができる。いくつかの実施形態では、ＩＭＵ９３０の出力は、プロセッサ９５０がセンサ測定値を融合し及び／又は融合された測定値を更に処理するのに部分的に用いられる。
【００６２】
また、システム９００は、カラー画像及び／又は深度画像等の画像をレンダリングするスクリーン又はディスプレイ９８０を備えることができる。いくつかの実施形態では、ディスプレイ９８０は、センサ９１０によって捕捉されたライブ画像、融合画像、例えば画像、拡張現実（ＡＲ）画像、グラフィカルユーザーインターフェース（ＧＵＩ）、及び他のプログラム出力を表示するのに用いることができる。いくつかの実施形態では、ディスプレイ９８０は、ユーザーが、仮想キーボード、アイコン、メニュー、又は他のＧＵＩ、ユーザージェスチャー及び／又はスタイラス及び他の筆記用具等の入力デバイスの或る組み合わせを介してデータを入力することを可能にするタッチスクリーンを備えることができ及び／又はこのようなタッチスクリーンとともに収容することができる。いくつかの実施形態では、ディスプレイ９８０は、液晶ディスプレイ（ＬＣＤ）又は有機ＬＥＤ（ＯＬＥＤ）ディスプレイ等の発光ダイオード（ＬＥＤ）ディスプレイを用いて実施することができる。他の実施形態では、ディスプレイ９８０は、ウェアラブルディスプレイとすることができる。
【００６３】
いくつかの実施形態では、融合の結果をディスプレイ９８０にレンダリングすることもできるし、システム９００の内部又は外部に存在することができる異なるアプリケーションにサブミットすることもできる。例えば、プロセッサ９５０上で実行されるコンピュータビジョン（ＣＶ）アプリケーション９５５は、コンピュータビジョンに基づく追跡、モデルベースの追跡、及び／又は同時の位置特定及びマッピング（ＳＬＡＭ：simultaneous localization and mapping）方法を実施及び実行することができる。
【００６４】
例示的なシステム９００は、図示した機能ブロックのうちの１つ以上の追加、組み合わせ、又は省略等によって、本開示と整合性を有するように様々な方法で変更することもできる。例えば、いくつかの構成では、システム９００は、ＩＭＵ９３０又は送受信機９７０を備えていない。さらに、いくつかの特定の例示の実施態様では、システム９００は、周辺光センサ、マイクロフォン、音響センサ、超音波センサ、レーザレンジファインダー等の様々な他のセンサ（図示せず）を備える。いくつかの実施形態では、システム９００のいくつかの部分は、１つ以上のチップセット等の形態をとる。
【００６５】
プロセッサ９５０は、ハードウェア、ファームウェア及びソフトウェアの組み合わせを用いて実現することができる。プロセッサ９５０は、センサ融合及び／又は融合した測定値を更に処理する方法に関連付けられる計算手順又はプロセスの少なくとも一部を実行するように構成可能な１つ以上の回路を表すことができる。プロセッサ９５０は、メモリ９６０から命令及び／又はデータを引き出す。プロセッサ９５０は、１つ以上の特定用途向け集積回路（ＡＳＩＣ）、中央及び／又はグラフィカル処理ユニット（ＣＰＵ及び／又はＧＰＵ）、デジタルシグナルプロセッサ（ＤＳＰ）、デジタル信号処理デバイス（ＤＳＰＤ）、プログラマブル論理デバイス（ＰＬＤ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、コントローラ、マイクロコントローラ、マイクロプロセッサ、埋め込みプロセッサコア、電子デバイス、本明細書において記述される機能を実行するように設計された他の電子ユニット、又はその組み合わせを用いて実現することができる。
【００６６】
メモリ９６０は、プロセッサ９５０の内部に、及び／又はプロセッサ９５０の外部に実装することができる。本明細書において使用されるときに、「メモリ」という用語は、任意のタイプの長期、短期、揮発性、不揮発性又は他のメモリを指しており、任意の特定のタイプのメモリ若しくはメモリの数、又はメモリが記憶される物理媒体のタイプに制限されるべきではない。いくつかの実施形態では、メモリ９６０は、センサ融合及び／又は１つ以上の画像処理を容易にし、ＳＬＡＭ、追跡、３Ｄ再構成、及びプロセッサ９５０においてＣＶ９５５によって実行される他のタスクを実行するプログラムコードを保持する。
【００６７】
例えば、メモリ９６０は、静止画像、深度情報、ビデオフレーム、プログラム結果、並びにＩＭＵ９３０及び他のセンサによって提供されるデータ等のセンサの測定値を記憶することができる。一般に、メモリ９６０は、任意のデータ記憶機構を表すことができる。メモリ９６０は、例えば、一次メモリ及び／又は二次メモリを含むことができる。一次メモリは、例えば、ランダムアクセスメモリ、リードオンリーメモリ等を含むことができる。図９においてプロセッサ９５０とは別であるように示されるが、一次メモリの全て若しくは一部をプロセッサ９５０内に設けることができるか、又はそうでなくても、プロセッサ９５０と同一の場所に配置し、及び／又はプロセッサ９５０に結合することができることは理解されたい。
【００６８】
二次メモリは、例えば、一次メモリと同じ、又は類似のタイプのメモリ、及び／又は例えば、フラッシュ／ＵＳＢメモリドライブ、メモリカードドライブ、ディスクドライブ、光ディスクドライブ、テープドライブ、ソリッドステートドライブ、ハイブリッドドライブ等の１つ以上のデータ記憶デバイス又はシステムを含むことができる。いくつかの特定の実施態様において、二次メモリは、取外し可能な媒体ドライブ（図示せず）内の非一時的コンピュータ可読媒体に動作的に収容可能であるか、又は別の方法で、動作的に構成可能とすることができる。いくつかの実施形態において、非一時的コンピュータ可読媒体は、メモリ９６０及び／又はプロセッサ９５０の一部を形成する。
【００６９】
いくつかの実施形態では、ＣＶ９５５は、様々なコンピュータビジョン方法を実施し、及び／又はセンサ９１０によって捕捉された画像を処理することができる。例えば、ＣＶ９５５は、センサ９１０によって捕捉された１つ以上の画像を処理して、捕捉された画像に関連付けられた深度情報を用いてモデル化された環境の再構成を行うように構成することができる。
【００７０】
奥行きデータに基づいて、再構成中、各ピクセルに３Ｄ座標を割り当てることができる。１つの実施形態において、プロセッサ９５０におけるＣＶ９５５は、単眼（単一のカメラ）仮想ＳＬＡＭシステムを用いて、カメラ９１０の正確でロバストな６ＤＯＦ追跡のためにＭＳの周囲の環境の粗いマップを構築することによって、カメラ９１０の位置を追跡する。単眼という用語は、単一の非立体カメラを用いて画像を捕捉すること、又は深度情報なしで捕捉された画像を指す。次に、他の再構成方法は、カメラ姿勢及びピクセルごとの深度情報を用いて、視認方向に沿って捕捉画像（複数の場合もある）を成形することができる。例えば、１つの実施形態では、プロセッサ９５０は、測定値の融合されたセットを用いてシーン内の物体を追跡するように構成される。
【００７１】
本発明の上記で説明した実施形態は、多数の方法のうちの任意のもので実施することができる。例えば、実施形態は、ハードウェア、ソフトウェア又はそれらの組み合わせを用いて実施することができる。ソフトウェアで実施される場合、ソフトウェアコードは、単一のコンピュータに設けられるのか又は複数のコンピュータ間に分散されるのかにかかわらず、任意の適したプロセッサ又はプロセッサの集合体において実行することができる。そのようなプロセッサは、１つ以上のプロセッサを集積回路部品に有する集積回路として実装することができる。ただし、プロセッサは、任意の適したフォーマットの回路類を用いて実装することができる。
【００７２】
また、本発明の実施形態は、例が提供された方法として実施することができる。この方法の一部として実行される動作は、任意の適切な方法で順序付けすることができる。したがって、動作が示したものと異なる順序で実行される実施形態を構築することができ、これには、例示の実施形態では一連の動作として示されたにもかかわらず、いくつかの動作を同時に実行することを含めることもできる。
【００７３】
請求項の要素を修飾する、特許請求の範囲における「第１」、「第２」等の序数の使用は、それ自体で、或る請求項の要素の別の請求項の要素に対する優先順位も、優位性も、順序も暗示するものでもなければ、方法の動作が実行される時間的な順序も暗示するものでもなく、請求項の要素を区別するために、単に、或る特定の名称を有する或る請求項の要素を、同じ（序数の用語の使用を除く）名称を有する別の要素と区別するラベルとして用いられているにすぎない。
【図１】
0006862584.tif 000002
【図２】
0006862584.tif 000003
【図３】
0006862584.tif 000004
【図４】
0006862584.tif 000005
【図５】
0006862584.tif 000006
【図６】
0006862584.tif 000007
【図７】
0006862584.tif 000008
【図８】
0006862584.tif 000009
【図９】
0006862584.tif 000010