説明

入力画像シーケンスを安全に処理する方法及びシステム

方法は、入力画像シーケンスを安全に処理する。入力画像シーケンスがクライアントにおいて取得される。各入力画像中の画素は置換πに従ってランダムに置換されて、各入力画像について置換画像が生成される。各置換画像はサーバに転送され、サーバは置換画像から背景画像を保持する。サーバにおいて、各置換画像は背景画像と結合されて、各置換画像について対応する置換された動き画像が生成される。各置換された動き画像はクライアントに転送され、各置換された動き画像中の画素は逆置換π−1に従って並べ換えられて、各入力画像について対応する動き画像が回復される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、包括的にはコンピュータビジョンに関し、特に画像及びビデオの安全なマルチパーティ処理に関する。
【背景技術】
【0002】
全世界的な通信ネットワークが利用可能になったことで、一部のデータ処理業務をいくつかの理由で外部の企業に「外注」することが一般的に行われるようになった。例えば、処理をより低コストで行うことができるか、又は外部の企業がより良い計算資源又はより良い技術を有する。
【0003】
データ処理を外注する際の問題の1つとして、他の企業による機密情報の不正使用がある。例えば、外部の企業に、監視ビデオ、又は機密スキャン文書の中身を知られることなく、それらのビデオ又は文書を多数処理してもらうことが望ましい。別の用途として、限られた電力資源及び計算資源を有する携帯電話によって取得した画像の複雑な分析を行うことが望ましい。
【0004】
このような用途に対して、従来の暗号技術はデータを、輸送中にのみ保護し、別の企業による処理中には保護しない。ゼロ知識技法に頼ることはできる。しかし、ゼロ知識技法は計算集約的であることが知られている。このような技法を画像及びビデオストリーム等の大きなデータセットに適用することは、複雑度の低いデバイスにとって非実用的である。例えば、1枚の高解像度画像は数百万バイトを含み、ビデオの場合、画像は、30フレーム毎秒以上のレートで生じ得る。
【0005】
ゼロ知識又は安全なマルチパーティ計算は、Yao著「How to generate and exchange secrets」(Proceedings of the 27th IEEE Symposium on Foundations of Computer Science, pp. 162-167, 1986)に初めて、特定の問題について記載された。後に、ゼロ知識技法は他の問題に拡張された(Goldreich他著「How to play any mental game - a completeness theorem for protocols with honest majority」(19th ACM Symposium on the Theory of Computing, pp 218-229, 1987))。しかし、それらの理論的構成概念は、実用に供するには依然として要求の高すぎるものであった。
【0006】
それ以後、多くの安全化(secured)方法が記載されてきた(Chang他著「Oblivious Polynomial Evaluation and Oblivious Neural Learning」(Advances in Cryptology, Asiacrypt '01, Lecture Notes in Computer Science Vol. 2248, pages 369-384, 2001)、Clifton他著「Tools for Privacy Preserving Distributed Data Mining」(SIGKDD Explorations, 4(2):28-34, 2002)、Koller他著「Protected Interactive 3D Graphics Via Remote Rendering」(SIGGRAPH 2004)、Lindell他著「Privacy preserving data mining」(Advances in Cryptology - Crypto 2000, LNCS 1880, 2000)、Naor他著「Oblivious Polynomial Evaluation」(Proc. of the 31st Symp. on Theory of Computer Science (STOC), pp. 245-254, May 1, 999)、及びDu他著「Privacy-preserving cooperative scientific computations」(4th IEEE Computer Security Foundations Workshop, pp. 273-282, June 11, 2001))。問題の完全な論考(treatment)は、Goldreichの参考書「Foundations of Cryptography」(Cambridge University Press, 1998)に見出すことができる。
【0007】
安全なマルチパーティ計算は多くの場合、正確さ、安全性、及びオーバーヘッドについて分析される。正確さは、安全なプロセスが理想解にどこまで近づくかを測定する。安全性は、マルチパーティのやりとりから得ることのできる情報量を測定する。オーバーヘッドは複雑度及び効率の測度である。
【発明の開示】
【発明が解決しようとする課題】
【0008】
クライアントコンピュータによって取得された画像及びビデオの、サーバコンピュータを用いた安全な処理を提供することが望ましい。さらに、クライアントコンピュータにおいて必要とされる計算資源を最小限に抑えることが望ましい。
【課題を解決するための手段】
【0009】
[発明の開示]
[発明の概要]
本発明は、クライアントコンピュータによって生成された画像及びビデオの中身をサーバコンピュータのプロセスに明かすことなく、それらの画像を処理するシステム及び方法を提供する。さらに、サーバコンピュータの処理技法をクライアントコンピュータに対して安全に保つことが望ましい。
【0010】
本発明は、ビジョン問題の解決にゼロ知識技法を適用する。すなわち、コンピュータビジョン処理は、処理される画像に対して「ブラインド(盲目的)」である。したがって、画像に対して操作を行う方法は、画像の内容又は処理結果を何も知ることがない。本方法は、監視ビデオの安全な処理、例えば背景モデリング、物体検出、及び顔認識を行うために用いることができる。
【0011】
特に、本発明は、入力画像シーケンスを安全に処理する方法を提供する。入力画像シーケンスがクライアントにおいて取得される。各入力画像中の画素は置換πに従ってランダムに置換されて、各入力画像について置換画像が生成される。各置換画像はサーバに転送され、サーバは置換画像から背景画像を保持する。サーバにおいて、各置換画像は背景画像と結合されて、各置換画像について対応する置換された動き画像が生成される。各置換された動き画像はクライアントに転送され、各置換された動き画像中の画素は逆置換π−1に従って並べ換えられて、各入力画像について対応する動き画像が回復される。
【発明を実施するための最良の形態】
【0012】
システムの概要
図1Aに示すように、画像を安全に処理するシステム100が例示的なセキュリティ用途に関して説明される。システム100において、クライアントコンピュータ(クライアント)10がネットワーク30を介してサーバコンピュータ(サーバ)20に接続される。利点として、クライアント10は、限られた処理資源及び電力資源を有することができる(例えば、ラップトップ、低コストセンサ、又は携帯電話)。
【0013】
クライアントは、画像シーケンス201、すなわち「秘密」ビデオを取得する。画像201は、プロセス200、300、及び400を用いて処理される。これらのプロセスは共同して、実線によって示されるようにクライアントコンピュータ上で部分的に、また破線によって示されるようにサーバコンピュータ上で部分的に操作を行う。これはマルチパーティ処理として知られる。これらのプロセスは、画像201の内容がサーバに明かされず、且つサーバプロセス及びデータ21がクライアントに明かされないように動作する。
【0014】
クライアントは、マルチパーティ処理の結果を用いて、画像201中の「秘密」物体を検出することができる。同時に、クライアントは、サーバによって部分的に行われるプロセス200、300、及び400の「秘密」部分、並びにサーバによって保持される秘密データ構造21を知ることを防止される。
【0015】
この処理は、基礎にある画像の内容が、サーバにおいて画像に対して操作を行うプロセスに明かされないため安全である。したがって、入力画像201は、単純なクライアントコンピュータによって取得されることができ、その一方で、安全な処理が、より高度なサーバコンピュータによって行われる。処理結果はサーバには無意味である。クライアントのみが「秘密」処理結果を回復することができる。したがって、本発明は、「ブラインドな」コンピュータビジョン処理を提供する。
【0016】
図1Bに示すように、方法101は、3つの基本プロセス200、300、及び400を含む。第1に、ビデオ201、すなわち画像の時間シーケンスを処理し、動き画像209を求める200。動き画像はビデオ中の移動成分のみを含む。移動成分は「前景」としても知られ、残りの成分は静止「背景」モデルと呼ばれる。第2に、動き画像をさらに処理して、連結した前景成分309をラベリングする300ことができる。第3に、連結成分を処理して、物体409を検出する400ことができる。プロセス200、300、及び400への入力画像は異なり得ることに留意すべきである。すなわち、各プロセスは、いかなる以前の処理又は後続の処理にも関係なく行うことができる。例えば、物体検出は、任意のタイプの入力画像に対して行うことができる。
【0017】
この方法は全体として、小さいデータセットほど処理が複雑度を増すデータ削減又は「トリアージ」と考えることもできる。ビデオ中の全画素の全強度範囲に対して操作を行う最初のステップ200は非常に単純且つ高速である。中間のステップ300は、少しより複雑ではあるものの、大抵は、遥かに小さなデータセットである2進値すなわち0と1を格納する小さなタイルセットに対して操作を行う。最後のステップは、より複雑な操作を用いるが、元の画像内容のごく小部分のみを扱えばよい。したがって、本発明は、非常に大きなデータセットに対して非常に単純な技法を適用して、処理する必要があるデータ量を劇的に低減し、その一方でトリアージ中に、より複雑な処置を非常に小さなデータセットのために残しておく。
【0018】
ブラインドな動き画像
図2Aは、「秘密」ビデオの例示的な入力画像201を示す。この例示的なビデオは、一群の歩行者99のいる街頭シーンのものである。
【0019】
図2Bは、動き画像209を求める200ステップを示す。ビデオ201の入力画像を、クライアントコンピュータ10に接続されたカメラによって取得することができる。1つの利点として、クライアントコンピュータは、限られた処理資源を有することができる、例えば、クライアントは携帯電話に組み込まれる。
【0020】
シーケンス中の各入力画像I中の画素をクライアントコンピュータによって、置換πを用いて擬似ランダムに空間的に置換して210、置換画像I’202を、I’=πIとなるように生成する。擬似ランダムとは、どの以前の値からも次の値を求めることができないが、乱数発生器は、おそらくはそのシード値を知っているため、必要であれば常にランダムな値の特定のシーケンスを再構成することができることを意味する。明らかに、置換画像中の画素の空間分布はランダムであり、元の入力画像は逆置換π−1を用いて、I=π−1I’となるように並べ換えることによって回復することができる。
【0021】
任意で、置換画像202をより大きなランダム画像203に埋め込んで、組み込み画像204を生成することができる。より大きなランダム画像203中の画素もまた、置換画像202の強度ヒストグラムがより大きなランダム画像の強度ヒストグラムと異なるように、擬似ランダムに生成する。さらに、ランダム画像中の画素の一部の強度値をランダムに変化させて、組み込み画像204中に「偽物の」動きを生成することができる。組み込まれる置換画像202のロケーション、サイズ及び向きもまた、入力画像ごとにランダムに変化させることができる。
【0022】
組み込み画像204を、背景/前景モデリングアプリケーション230にアクセスできるサーバコンピュータ20に転送する221。これは、任意の従来のモデリングアプリケーション、又はサーバしか知らない独自のプロセスとすることができる。1つの利点として、サーバは、クライアントコンピュータよりも大幅に多い処理資源を有する。転送は、ネットワーク30、又は携帯用記憶媒体等の他の手段を介して行うことができる。
【0023】
サーバ20におけるアプリケーション230は、現在の背景画像B206を保持する。この背景画像は、各入力画像又は以前に処理された置換画像のセットから更新することができる。例えば、背景画像は、最後のN枚の入力画像、例えばN=10の平均を用いる。移動平均を用いることによって、シーンにおける急激な変化の影響又は他の短期的な影響を最小限に抑える。次に、結合すること、例えば現在の背景画像206から組み込み画像204を減算することによって、置換された動き画像M’205を生成する。特定の入力画素と背景画素の間の差が或る所定の閾値Θよりも大きい場合、その入力画素を動き画素とみなし、相応にラベリングする。したがって、置換された動き画像205は次のように表される。
【0024】
【数1】

【0025】
置換された動き画像M’205をクライアントコンピュータに転送する231。クライアントコンピュータは、必要に応じて組み込み部分を抽出する。次に、M=π(M’)に従って空間的な置換を元に戻すことによって抽出部分の画素を元の順序に並べ換え、移動成分299に関連する成分のみを有する動き画像M209を得る(図2Cを参照)。
【0026】
背景及び動き画像は、格納されるデータ量を大幅に低減するために2値画像又は「マスク」画像とすることができることに留意すべきである。すなわち、動き画像中の或る画素は、移動していると見なされれば「1」であり、そうでなければ「0」である。「動き」画素の一部は雑音により誤っている可能性があることにも留意されたい。これらのアーティファクトを後述のように除去する。
【0027】
正確さ
このプロセスは、画素ベースの背景減算が画素の空間的な順序に依存しないため、正確である。したがって、画素の順序を空間的に置換してもプロセスに影響はない。さらに、偽物の動き画素を組み込み画像に加えても、置換画像202中の偽物の画素と関心画素の間には相互作用がないため、プロセスに影響はない。
【0028】
安全性
このプロセスは部分的に安全である。サーバは、入力画像201の内容を何も知ることができない。可能な置換数は多すぎて求められない。例えば、入力画像201がn個の画素を有し、組み込み画像がc=2倍の大きさである場合、可能な置換数は
【0029】
【数2】

【0030】
となり、nは高解像度カメラの場合に100万以上であり得る。
【0031】
アプリケーション230を「知る」には、クライアントは、各画素の各入力及び出力を観察する必要がある。すなわち、クライアントは、クライアントとサーバの間のデータフローを分析する。しかしこれは、データセットのサイズにより非実用的になり得る。このプロセスは、サーバにおいて「秘密」データを一切必要としない。
【0032】
複雑度及び効率
クライアントの複雑度及び通信オーバーヘッドは、入力画像のサイズにおいて線形である。所定のランダム順に従った画素の置換は問題にならない。並べ換えも同様に単純である。アプリケーション230の複雑度は置換に影響を受けない。
【0033】
上記のプロセスは、本発明によるブラインドなコンピュータビジョンの特性のいくつかを示す。このプロセスは、従来のビジョン方法を画像に適用し、その一方で、画像の内容をサーバから隠す。サーバは、画像の正確な内容を判断することができないが、置換画像から何らかを知ることができる。例えば、画像のヒストグラムにより、画像が日中又は夜間のどちらに取得された可能性が高いかを判定することができる。サーバはまた、動き画素の数を計数して、画像中にどれだけ動きが存在するかを判断することができる。
【0034】
この問題は、クライアントが置換画像を大きなランダム画像に組み込めば簡単に克服することができる。こうすることにより、サーバは、画像ヒストグラムから何も推測することができない。また、クライアントがランダム画素の一部をオンにして偽物の動き画素を生成する場合、サーバは、検出された動き画素が本物であるか偽物であるかさえ知ることができない。
【0035】
サーバは、画素間の相関関係を経時的に観察して、それらの近接性を知るか、又は本物の動き画素と偽物の動き画素を区別することができることに留意すべきである。しかしクライアントは、偽物の動き画素を、本物の動き画素と同じ分布を有するように生成することができる。
【0036】
このプロトコルの単純さは主に、各画素を個別に扱うことができ、よって空間的な順序は重要でないという事実によるものである。
【0037】
次に、画像中の領域に対して操作を行う連結成分ラベリング等の安全なビジョンプロセスを説明する。
【0038】
ブラインドな成分ラベリング
物体検出、物体追跡、又は物体及びパターン認識といった実際の用途において、動き画像209は、雑音及び誤った動き画素299を除去し(図2Cを参照)、単一の移動物体に関連する可能性が高い隣接画素を「連結」するためにさらなる処理を必要とする場合がある。入力画像は、任意の動き画像とすることができることに留意すべきである。
【0039】
しかし、さらなる処理は、画素の空間的な順序に依存し得る。実際には、雑音が誤った動き画素を生じる恐れがあるため、動き画像209をきれいにする(clean)必要がある。残念ながら、置換は画像中の画素の空間的配置を破壊してしまい、連結成分が正しく機能しなくなってしまうため、入力画像中の画素を単純に置換することはもうできない。
【0040】
フル画像に対して操作を行う拡張プロセスをまず説明し、次にタイルに対して操作を行う複雑度の低いプロセスを説明する。拡張プロセスは、入力画像をランダム画像の和集合に分割することによって機能する。ランダム画像は、いくつかの偽物のランダム画像とともにサーバに送られる。この場合、数十枚又は数百枚のランダム画像を用いて安全性を保証することができる。複雑度は、入力画像をタイルに分割することによって劇的に低減することができ、各タイルは個別の「画像」として扱われる。タイルがランダム順で送られる場合、サーバは、入力画像を復元するために二重の問題に直面する。
【0041】
フル画像プロトコル
フル画像プロトコルは、入力画像をランダム画像の和集合として表現し、これらのランダム画像をランダム2値画像の大きな集合とともにサーバに送る。
【0042】
サーバは、各画像に対して個別に連結成分ラベリングを行い、その結果をクライアントに送る。次に、クライアントは、それらの結果を結合して、ラベリングされた連結成分、すなわち可能な物体の最終結果を得る。
【0043】
2値入力画像はI、例えば画像209であり、連結成分を有するラベリングされた画像309はI’、すなわち、連結成分ラベリングを行った後の画像Iである。複数のラベリングされた画像H,...,Hがあり、各画像中の成分のラベルが例えば1から開始する場合、ラベリングされた画像のセットはHバー,...,Hバーによって示され、各連結成分はm枚の画像すべてについて一意のラベルを有する。最後に、I(q)は画像Iの画素位置qにおける値である。
【0044】
フル画像を用いたブラインドな連結成分ラベリング
図3Eに示すように、サーバは、入力画像I209を有するとともに、連結成分ラベリングプロセス300を有する。このプロセスの出力は、ラベリングされた連結成分画像Iバーである。サーバは、入力画像Iについて何ら知ることはない。
【0045】
初めに、クライアントは、m枚のランダム画像H,...,Hを次のように生成する370。
【0046】
【数3】

【0047】
クライアントは、r>m枚のランダム画像U,...,U371をサーバに送り、秘密のj,...,jの画像についてUji=Hであり、さらなる画像は偽物の画像である。
【0048】
サーバは、画像Uごとに連結成分ラベリングを求め375、ラベリングした画像U’,...,U’376をクライアントに送る。
【0049】
クライアントは、画像H’,...,H’を全てのラベリングされた画像にわたって固有のラベルでグローバルに再ラベリングし380、これらの画像をH’バー,...,H’バーによって示す。画素qごとに、I(q)=1となるように、H’バー(q),...,H’バー(q)が各画像の異なるラベルを表すものとする。次にクライアントは、グローバルラベリングされた画像から同値リスト{H’バー(Nbr(q))}を生成し、ここでNbr(q)は各画素qの4つ又は8つの近傍画素のリストである。画素は、それらが動き画素であり、且つ互いに直に隣接する場合にのみ連結される。
【0050】
サーバは、同値ラベルリスト381をスキャンし、同値類を判断し385、全てのラベルから同値類の代表値へのマッピング386を返す。
【0051】
クライアントは、サーバから返されたマッピングに応じて各画像H’バーを再ラベリングし390、全ての画素qについてIバー(q)=max({H’バー(q)}という最終結果を求め、それにより連結成分の最終画像309を形成する。
【0052】
正確さ
このプロトコルは、各画像Hがサーバプロセスによって正確にラベリングされるため、正確である。さらに、I=∪i=1であるため、各画像Hは入力画像Iの動き又は「オン」画素の一部のみを含み、よって、元画像Iでは連結していない2つの領域を連結してしまうかもしれない偽の「オン」画素は付加されないことになる。
【0053】
元画像I中の各連結成分は、複数のランダム画像Hにわたるいくつかの成分に分けることができるため、同一成分が複数のラベルを有し得る。しかし、全ての同値類について1つの代表値を計算する最終的なクライアントによる再ラベリングステップが、これに対処する。再ラベリングはまた、全てのランダム画像における全ての動き画素に対してラベルが1つしかないか、又は全くないことを保証する。
【0054】
安全性
このプロトコルは、クライアントがサーバに複数の2値画像Uを送り、そのうちサブセットHのみが入力画像を形成するため、安全である。適切なr及びmについて、可能性の数
【0055】
【数4】

【0056】
は、求めるにはとても大きすぎる可能性がある。第2段階において、クライアントは、同値リストのリスト381を送る。クライアントは成分を既に再ラベリングしているため、サーバは新たなラベルを元画像と関連付けることができず、クライアントは安全化される。サーバは、安全化する必要があるいかなるプライベートデータも格納する必要がない。
【0057】
複雑度及び効率
複雑度は、rに従って線形である。ランダム画像ごとに、サーバは連結成分ラベリングを行う。クライアントは、和集合をIとするm枚のランダム画像と、付加的なr−m枚の偽物のランダム画像とを生成する。
【0058】
上記プロセスは、
【0059】
【数5】

【0060】
が大きければ安全である。例えば、r=128であり、m=64である場合、
【0061】
【数6】

【0062】
の可能性を確認しなければならない。
【0063】
タイルを用いたブラインドな連結成分ラベリング
この場合、図3A〜図3Cに示すように、クライアントは各動き画像209を、重なり合う本物の画素タイルのセットT311に分割する310。明確にするために、タイルは一定の縮尺で示されていない。例えば、タイルは3×3画素であり、上下左右で1画素ずつ重なり合う。他のタイルサイズ及び重なりを用いることもできることに留意すべきである。しかし、タイルを大きくするほど、内容を判断し易くなる。さらに、クライアントは任意で、偽物の画素タイルT321を生成する320ことができる。
【0064】
本物のタイル311及び偽物のタイル321は、擬似ランダム順でサーバに転送される。サーバは、各タイル中の、他の動き画素に「連結」した動き画素をローカルラベリングする330。或る画素は、少なくとも1つの他の動き画素に隣接している場合に連結していると言える。例えば、特定のタイル内で連結している第1の画素群の各画素にはラベルGが付され、同一タイル内の第2の連結画素群の各画素にはラベルGが付され、以下同様にラベリングされる。タイルごとに、ラベルはGから再び開始する。すなわち、別のタイル内の第1の群及び第2の群もG及びGとラベリングされる。したがって、ラベル331は各タイルに対してローカルに一意である。
【0065】
図3Cに3×3タイルについて示すように、動き画素(点描模様)301は、最高8つの隣接する動き画素を有し得る。なお、サーバは、タイルの一部が偽物であることも、タイルがランダムに空間的に順序付けされていることも知らない。単一の未連結画素及び非動き画素はラベリングされない。サーバは、動き画素の連結性を求める従来の又は独自のプロセスを用いることができる。
【0066】
ラベリングされたタイル331はクライアントに転送される。クライアントは、偽物のタイルを廃棄し、連結画素がローカルラベリングされた動き画像を再構成する。クライアントは、「境界」画素をグローバルに一意のラベルにより再ラベリングする。これらの一意のラベルは擬似ランダムに生成することもできる。境界画素は、タイルの4つ又は8つの外側画素である。1画素分の重なりにより、境界画素は、サーバによって決定されるグローバルラベルが同じであるか又は異なる2つの隣接タイルに現れる可能性がある。
【0067】
実際、図3Aに示すように、タイル内の角の画素301は、最大4つの異なるラベルをサーバによって割り当てられる可能性がある。クライアントは、サーバによって2つの異なるラベルを付された隣接タイルの2つの境界画素が実際には同一画素であるかを判定することができ、よって一意のグローバルラベルと関連付けることができる。再ラベリング340により、一意のローカルラベル対のリスト341[L(b),L(b)],...,[Lk−1(b),L(b)]が生成される。
【0068】
クライアントは、リスト341をサーバに、さらに別の擬似ランダム順で転送する。サーバは、従来の又は独自の分類技法を用いて、それらの対を同値類351に分類する350。サーバは、独自の一意のラベルを各同値類351に割り当てる。
【0069】
ラベリングされた同値類351はクライアントに転送される。クライアントは、これらのラベルを用いて、画素を連結画素の各セットについて一意のグローバルラベルにより再ラベリングし360、連結成分309を形成する(図3Dを参照)。
【0070】
正確さ
このプロセスは、各タイルがサーバによって正確にローカルラベリングされるため、正確である。複数のタイルにわたって分散している連結画素は、タイル間に重なりがあるため、クライアントによって正確に融合される。同値類の判定350により、各連結画素群に一意のラベルが割り当てられることが保証される。
【0071】
安全性
このプロセスは、p個の本物のタイル及びm個の偽物のタイルについて、異なる可能性の数が
【0072】
【数7】

【0073】
と非常に大きいため安全である。320×240の画像の値mは約20,000タイルである。100個の偽物のタイルを加える場合、置換される可能性の数は約O(21400)である。サーバが本物のタイルを検出できたとしても、多くの異なる画像のタイルヒストグラムが同じように見えるため、タイルの正確な空間的順序は分からないままである。タイル311、321のランダムな順序付けに対する対341のランダムな順序付けもまた、サーバが内容を分析することを極めて困難にする。
【0074】
複雑度及び効率
ここでもまた、クライアントにおけるプロセスの複雑度は画像のサイズに対して線形である。画像をタイルに変換することは簡単である。
【0075】
ブラインドな物体検出
最後のプロセス400は物体検出である。物体検出は、図4Aに示すように、スライド窓405を用いてラスタスキャン順に連結成分の画像309をスキャンする。スライド窓の各ロケーションにおいて、スライド窓の内容が物体を含むか否かの判定が行われる。
【0076】
ニューラルネットワーク、サポートベクトルマシン、又はアダブースト等の多くの分類器を、加法モデル、又はカーネル関数の和、例えばラジアル基底関数、多項式関数、又はシグモイド関数として表現することができる。これらの関数は、前処理訓練段階中に求められる窓のドット積及びいくつかの原型パターンに対して操作を行う。
【0077】
ゼロ知識法と機械学習技法の間には、ゼロ知識法が隠そうとするものであり、その一方で機械学習技法が推測しようとするものであるという点で自然な張力がある。本発明による方法では、クライアントは、サーバを用いて訓練画像をクライアントのためにラベリングし、後にそれらの訓練画像を用いて自身の分類器を訓練できるようにする。
【0078】
以下では、クライアントは入力画像I401を有し、サーバは、畳み込みカーネルαf(xy)の形態の弱分類器(weak classifier)を有し、ここで、xは窓の内容であり、yは弱分類器であり、fは非線形関数であり、αは係数である。したがって、畳み込み演算を画像Iに適用し、次にその結果を分類器に渡す方法を説明すれば十分である。
【0079】
弱分類は、画像を何らかのフィルタと畳み込み、次にその結果を何らかの非線形関数に通した結果に基づく。例えば、本明細書中に参照により援用されるP. Viola及びM. Jones著「Rapid Object Detection using a Boosted Cascade of Simple Features」(IEEE Conference on Computer Vision and Pattern Recognition, Hawaii, 2001)に記載されるように矩形フィルタを用いる。画像位置ごとに、スライド窓と矩形フィルタとのドット積を求める。畳み込み演算の結果を、アダブースト、又はサポートベクトルマシンにおけるカーネル関数、又はニューラルネットワークにおけるシグモイド関数等の非線形関数に通す。
【0080】
要約すると、弱分類器は3つの構成要素、すなわち、ガウス関数、シグモイド関数等であり得る非線形関数f()、重み(アルファ)及び畳み込みカーネルyを有する。画像をまず畳み込みカーネルyと畳み込み、その結果を畳み込み画像として格納する。畳み込み画像中の各画素は、カーネルyを、その画素を中心とする窓と畳み込んだ結果を含む。畳み込み画像中の画素を非線形関数f()に通し、アルファを乗算する。
【0081】
ゼロ知識プロトコルは多くの場合、暗号化ベースのプロトコルと、代数ベースのプロトコルとに分類することができる。暗号化ベースのプロトコルでは、参加者(parties)は、公開−私有鍵暗号化等の標準的な技法を用いてデータを暗号化するため、他者(other parties)には情報が利用できない。これには、回避すべき高い計算コスト及び通信コストが伴う。
【0082】
別法として、計算は速いが一部の情報を明かしてしまうかもしれない代数プロトコルを用いることができる。代数方法は、部分空間において操作を行うことによってベクトルを隠す。例えば、一方の参加者がベクトルx∈R400を有する場合、プロトコルを行った後で、他方の参加者には、xが元の400次元空間のうち一部の低次元部分空間、例えば10次元部分空間にあることが分かる。
【0083】
ブラインドな物体検出プロセス400の1つの実施の形態では、クライアントの安全性のみが維持される。このプロトコルの変形は、クライアントがサーバを使用して、入力画像Iに対して従来の畳み込み、例えばエッジ検出又はローパスフィルタを、その画像の内容をサーバに明かさずに行う必要がある用途において有用であり得る。このプロセスを拡張して、後述のようにサーバの安全性も保護することができる。
【0084】
ブラインドな畳み込み
図4Bに示すように、クライアントは、物体を検出すべき入力画像I401、例えば連結成分を有する画像309を有する。サーバは畳み込みカーネルyを有する。この畳み込みカーネルyを入力画像に適用して、物体に関連する画素がマーキングされた畳み込み画像I’を生成する。
【0085】
より詳細には、クライアントは、m枚のランダム画像H,...,H411及び係数ベクトルa=[a,...,a]412を生成し410、入力画像I401がI=∪i=1となるようにする。
【0086】
ランダム画像Hは、元画像Iを含む部分空間を形成する。例えば、m=10である場合、元画像Iとは異なる9枚の画像を取得する。例えば、これらの9枚の画像はランダムな自然シーン又は街頭シーンである。9枚の画像及び元画像は、特に画像Iを含む部分空間を形成する。各画像Hは、これらの画像の一次結合となるように設定される。こうすることで、各画像Hは、全てのH画像の一次結合として表されているにもかかわらず無意味な画像に見える。
【0087】
クライアントはランダム画像411をサーバに送る。
【0088】
サーバは、m枚の畳み込みランダム画像H’421を、{H’=π(H*y}となるように求め420、ここで、*は畳み込み演算子であり、πは第1のランダム画素置換である。サーバは、m枚の畳み込み画像{H’}421をクライアントに送る。ここで、演算子*は画像H内の全ての窓を畳み込みカーネルyと畳み込む。これはH’=H*yとして表すことができ、ここで、yは例えばガウシアンカーネルであり、*は畳み込み演算子である。
【0089】
クライアントは、置換画像I’402を、I’=π(Σi=1αH’)となるように求め430、ここでπは第2のランダム画素置換である。クライアントは置換画像I’402をサーバに送る。
【0090】
サーバは、テスト画像Iバー403を、Iバー=αf(I’)となるように求める440。
【0091】
サーバは、テスト画像中に画素qが存在しIバー(q)>0である場合に「真」(+1)441をクライアントに返し、そうでない場合に「偽」(−1)442を返して、画像が物体を含むか否かを示す。
【0092】
クライアントは次に、存在する画素qをテストして450、入力画像中に物体409があるかどうかを判定することができる。
【0093】
正確さ
このプロトコルは、畳み込み画像の和が画像の和の畳み込みに等しいため、正確である。2つのランダム置換π及びπにより、いずれの参加者も入力から出力へのマッピングを有しないことが保証される。したがって、いずれの参加者も、他方の参加者の情報を解読するための制約セットを形成することができない。
【0094】
しかし、クライアントは優位である。入力画像I401が1つの白い画素以外すべて黒である場合、クライアントは画像H’421を分析して畳み込みカーネルyの値を知ることができる。この問題は、以下のプロトコルにより修正することができる。
【0095】
ブラインドでロケーションフリーな物体検出
このプロセスは、画像中に物体が現れるか否かを検出するが、その物体のロケーションは明かさない。このプロセスを拡張して、物体のロケーションも検出することができる。
【0096】
図4Cに示すように、クライアントは入力画像I501を有し、サーバは、αf(xy)の形態の弱分類器を有する。サーバは、入力画像中の物体を検出するが、その物体のロケーションは検出しない。サーバは画像Iについて何も知ることがない。
【0097】
クライアントは、m枚のランダム画像H,...,H511及び係数ベクトルa=[a,...,a]512を、I=Σi=1αとなるように生成する510。
【0098】
サーバは、p個のランダムベクトルg,...,g516及び第2の係数ベクトルb=[b,...,b]517を、y=Σj=1となるように生成する515。
【0099】
クライアントはランダム画像511をサーバに送る。
【0100】
サーバは、mp枚の畳み込み画像H’ij521を、{{H’ij=π(H*g)}となるように求め520、ここで、*は畳み込み演算子であり、πは第1のランダム画素置換である。畳み込み画像{{H’ij521はクライアントに送られる。
【0101】
クライアントは、置換画像I’502を、{I’=π(Σi=1αH’ij)}j=1となるように求め530、ここでπは第2のランダム画素置換である。クライアントは置換画像502をサーバに送る。
【0102】
クライアントは、中間画像I”=Σj=1I’及びテスト画像Iバー503を、Iバー=αf(I”)となるように求める540。
【0103】
サーバは、テスト画像中に画素qが存在し、Iバー(q)>0である場合に「真」(+1)541をクライアントに返し、そうでない場合に「偽」(−1)542を返す。
【0104】
クライアントは次に、存在する画素qをテストして550、入力画像中に物体509があるかどうかを判定することができる。
【0105】
正確さ
このプロトコルは、画像の和の畳み込みが畳み込み画像の和に等しいため、正確である。形式的には、I*y=I”であることを示すことができる。π及びπが恒等置換である場合、以下の導出式が成り立つ。
【0106】
【数8】

【0107】
なお、π及びπがランダム置換であっても、上記の導出には影響しない。したがって、このプロトコルは正確である。
【0108】
安全性
このプロトコルは安全であり、この安全性は、画像及び分類器がそれぞれ定義される部分空間の階数を定義するm及びpによって支配される。このプロセスは安全であることを証明することができる。
【0109】
サーバは、クライアントによって送られるm枚のランダム画像512が入力ランダム501。画像411の一次結合であることを知っている。mのサイズが大きくなるほど、クライアントの安全性が増す。
【0110】
ステップ530において、クライアントはp枚の画像502をクライアントに送る。クライアントが第2の置換πを用いない場合、サーバは画像I’及びH’ijを求めることができ、未知数は係数aのみとなり、これは最小二乗法で回復することができる。しかし、第2の置換πはサーバに、任意の所与のjについて、ランダムHij511画像及び置換画像I’中の画素からの正確なマッピングを選択することを強いる。これは、
【0111】
【数9】

【0112】
個の選択肢の中から1つを選択することに等しく、ここでnは画像中の画素数である。例えば、n=320*240=76800であり、m=20である場合、可能な選択は
【0113】
【数10】

【0114】
通りとなる。
【0115】
ステップ520において、クライアントはmp枚の畳み込み画像521をクライアントに送る。クライアントが画像Hを、白い画素を1つだけ有する黒い画像として設定する場合、クライアントは全てのjについてgの値を回復することができる。しかし、クライアントは係数bを知らないため、分類器yを回復することができない。
【0116】
ステップ540において、クライアントは真又は偽[+1,−1]のみをクライアントに返し、画像中に物体が存在するか否かを示す。したがって、クライアントはこのステップにおいて係数bを知り得ない。
【0117】
複雑度及び効率
このプロトコルは、それぞれ入力画像I501及び分類器yを表すために使用されるランダム画像の数及びベクトル数であるmpに従って線形である。
【0118】
このプロセスを拡張して、二分探索法を用いてこのプロセスを部分画像に繰り返し適用することによって、入力画像中の物体の位置を特定することができる。画像中に物体が検出される場合、画像を2分割又は4分割し、このプロセスを各部分画像に適用して物体の正確なロケーションを絞り込む。分割は必要に応じて繰り返すことができる。こうして、クライアントは、複数の偽物の画像をサーバに送ることができる。その場合、サーバは、検出された物体が本物なのか偽物なのかを判定することができない。
【0119】
[発明の効果]
本発明はゼロ知識技法を画像処理方法に応用する。問題領域の知識を利用することによって、本発明は、そうした処理を大幅に加速し、画像及びビデオに関わる安全なマルチパーティ計算の問題に対して実用的な解決策をもたらすことができる。
【0120】
ブラインドなコンピュータビジョン、特にブラインドな背景モデリング、ブラインドな連結成分ラベリング、及びブラインドな物体検出についていくつかのプロセスを説明する。様々なプロセスを組み合わせることにより、実用的なブラインドなコンピュータビジョンシステムが得られる可能性がある。
【0121】
本発明を好ましい実施の形態の例として説明してきたが、本発明の精神及び範囲内で様々な他の適応形態及び修正形態を実施してもよいことが理解される。したがって、添付の特許請求の範囲の目的は、本発明の真の精神及び範囲に入るそのような変形形態及び修正形態をすべて網羅することである。
【図面の簡単な説明】
【0122】
【図1A】本発明による、画像を安全に処理するシステムのブロック図である。
【図1B】本発明による、画像を安全に処理する方法のフロー図である。
【図2A】本発明による処理すべき画像である。
【図2B】本発明による、動き画像を生成するための安全な背景モデリングのフロー図である。
【図2C】本発明による動き画像である。
【図3A】重なり合うタイルに分割された動き画像である。
【図3B】本発明による、タイルを用いた安全な成分ラベリングのフロー図である。
【図3C】本発明による、動き画像の3×3タイルである。
【図3D】本発明による、連結成分を有する動き画像である。
【図3E】本発明による、フル画像を用いた安全な成分ラベリングのフロー図である。
【図4A】本発明による、スキャン窓を用いて安全に検出すべきオブジェクトを含む動き画像である。
【図4B】本発明による第1の物体検出方法のフロー図である。
【図4C】本発明による第2の物体検出方法のフロー図である。

【特許請求の範囲】
【請求項1】
入力画像シーケンスを安全に処理する方法であって、
クライアントにおいて、入力画像シーケンスを取得することであって、各入力画像は画素を含む、取得すること、
前記クライアントにおいて、各入力画像中の前記画素を置換πに従ってランダムに置換して、各入力画像について置換画像を生成すること、
各置換画像をサーバに転送すること、
前記サーバにおいて、前記置換画像から背景画像を保持すること、
前記サーバにおいて、各置換画像を前記背景画像と結合して、各置換画像について対応する置換された動き画像を生成すること、
各置換された動き画像を前記クライアントに転送すること、及び
前記クライアントにおいて、各置換された動き画像中の前記画素を逆置換π−1に従って並べ換えて、各入力画像について対応する動き画像を回復すること
を含む、入力画像シーケンスを安全に処理する方法。
【請求項2】
各入力画像について、該入力画像よりも大きなランダム画像を生成すること、及び
前記置換を行った後に、各入力画像を前記ランダム画像に組み込んで、前記置換画像を生成すること
をさらに含む、請求項1に記載の方法。
【請求項3】
前記置換は、各入力画像中の前記画素の擬似ランダムな空間的配置変えである、請求項1に記載の方法。
【請求項4】
前記置換画像の強度ヒストグラムは、前記より大きなランダム画像の強度ヒストグラムと異なる、請求項2に記載の方法。
【請求項5】
前記より大きなランダム画像中の前記画素の強度値はランダムに変更される、請求項2に記載の方法。
【請求項6】
前記組み込みのロケーションはランダムに変化する、請求項2に記載の方法。
【請求項7】
前記組み込みのサイズはランダムに変化する、請求項2に記載の方法。
【請求項8】
前記組み込みの向きはランダムに変化する、請求項2に記載の方法。
【請求項9】
前記保持することは、
以前に処理された置換画像のセットを平均して、前記背景画像を保持すること
をさらに含む、請求項1に記載の方法。
【請求項10】
前記結合は、前記置換画像から前記背景画像を減算して各画素について差を求める、請求項1に記載の方法。
【請求項11】
前記画素は、前記差が所定の閾値よりも大きい場合に動き画素としてラベリングされる、請求項11に記載の方法。
【請求項12】
前記動き画像及び前記背景画像は2値画像である、請求項1に記載の方法。
【請求項13】
前記動き画像から雑音を除去すること
をさらに含む、請求項1に記載の方法。
【請求項14】
入力画像シーケンスを安全に処理する方法であって、
各入力画像中の前記画素をランダムに置換して、各入力画像について置換画像を生成すること、
前記置換画像から背景画像を保持すること、
各置換画像を前記背景画像と結合して、各置換画像について対応する置換された動き画像を生成すること、及び
各置換された動き画像中の前記画素を並べ換えて、各入力画像について対応する動き画像を回復すること
を含む、入力画像シーケンスを安全に処理する方法。
【請求項15】
入力画像シーケンスを安全に処理するシステムであって、
入力画像シーケンスを取得するように構成されるクライアントであって、各入力画像は画素を含み、
該クライアントは、
各入力画像中の前記画素を置換πに従ってランダムに置換して、各入力画像について置換画像を生成する手段と、
置換された動き画像中の画素を逆置換π−1に従って並べ換えて、各入力画像について対応する動き画像を回復する手段と
をさらに備え、
前記置換画像から背景画像を保持するように構成されるサーバであって、
該サーバは、
各置換画像を前記背景画像と結合して、各置換画像について前記対応する置換された動き画像を生成する手段
をさらに備える、
入力画像シーケンスを安全に処理するシステム。

【図1A】
image rotate

【図1B】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図2C】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図3C】
image rotate

【図3D】
image rotate

【図3E】
image rotate

【図4A】
image rotate

【図4B】
image rotate

【図4C】
image rotate


【公表番号】特表2008−523641(P2008−523641A)
【公表日】平成20年7月3日(2008.7.3)
【国際特許分類】
【出願番号】特願2006−541529(P2006−541529)
【出願日】平成17年12月6日(2005.12.6)
【国際出願番号】PCT/JP2005/022722
【国際公開番号】WO2006/062220
【国際公開日】平成18年6月15日(2006.6.15)
【出願人】(000006013)三菱電機株式会社 (33,312)
【出願人】(506347078)
【出願人】(506347089)
【Fターム(参考)】