安全处理输入图像的方法

文档序号:7949241阅读:118来源:国知局
专利名称:安全处理输入图像的方法
技术领域
本发明涉及计算机视觉,更具体地说,涉及图像和视频的安全多方处理。
背景技术
由于全球通信网络的可用性,出于多种原因,现在流行把一些数据处理任务“外包”给外部实体。例如,可以低成本完成处理,或者外部实体具有更好的计算资源或者更好的技术。
外包数据处理的一种顾虑是其它实体对机密信息的不当使用。例如,希望让外部实体处理大量的监视视频或者机密的扫描文档,而又不让外部实体知道视频或文档的内容。在另一种应用中,希望对电力资源和计算资源有限的蜂窝电话机获得的图像进行复杂分析。
对于这样的应用,常规的密码术只在传送中保护数据,而不在另一实体进行的处理中保护数据。可求助于零知识技术。但是,零知识技术被认为是计算密集的。对于复杂性低的设备来说,对大的数据集,比如图像和视频流应用这种技术是不切实际的。例如,一张高分辨率图像包括几百万字节,对于视频来说,图像可以每秒30帧或更高的速率出现。
Yao最先关于特定的问题在“How to generate and exchangesecrets”,Proceedings of the 27th IEEE Symposium on Foundations ofComputer Science,pp.162-167,1986中描述了零知识或者安全的多方计算。稍后,零知识技术被扩展到其它问题,Goldreich等,“How toplay any mental game-a completeness therorem for protocols withhonest majority”,19th ACM Symposium on the Theory ofComputing,pp218-229,1987。但是,这些理论构想仍然过分苛求,以致没有任何实用价值。
从那时起,记述了许多安全化方法,Chang等,“ObliviousPolynomial Evaluation and Oblivious Neural Learning”,Advances inCryptology,Asiacrypt′01,Lecture Notes in Computer ScienceVol.2248,369-384页,2001,Clifton等,“Tools for Privacy PreservingDistributed Data Mining”,SIGKDD Explorations,4(2)28-34,2002,Koller等,“Protected Interactive 3D Graphics Via RemoteRendering”,SIGGRAPH 2004,Lindell等,“Privacy preserving datamining”,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。在Goldreich的参考书“Foundations ofCryptography”(Cambridge University Press,1998)中可找到该问题的完全论述。
通常关于正确性、安全性和开销分析安全的多方计算。正确性测定安全处理多么逼近理想解。安全性测定可从多方交换获得的信息的数量。开销是复杂性和效率的量度。
希望利用服务器计算机提供客户机服务器获得的图像和视频的安全处理。此外,希望使在客户机计算机所需的计算资源降至最小。

发明内容
本发明提供一种处理客户机计算机产生的图像和视频,而不向服务器计算机的进程暴露图像的内容的系统和方法。此外,最好阻止客户机计算机了解服务器计算机的处理技术。
本发明应用零知识技术来解决视觉问题。即,计算机视觉处理看不见处理的图像。从而,处理图像的方法对图像的内容或者处理结果一无所知。该方法可被用于进行监视视频的安全处理,例如背景建模、对象检测和面貌识别。
特别地,本发明提供一种安全地处理输入图像的方法。在客户机中获得输入图像I。产生一组m个随机图像H1,...,Hm和系数向量a=[a1,...,am],以致输入图像I为I=Σi=1mαiHj.]]>该组随机图像被传送给包括一个弱分类器的服务器。在服务器中,确定一组m个卷积随机图像H′,以致{H1′=π1(H1*y)}i,1m,]]>其中*是卷积运算符,π1是第一随机像素置换。该组卷积图像被传送给客户机。在客户机中,确定一组m个置换图像I′,以致I′=π2(Σi=1mαiHi′),]]>其中π2是第二随机像素置换。该组置换图像被传送给服务器。在服务器中,确定一个以致I=αf(I′)的测试图像I,如果在测试图像中存在以致I(q)>0的像素q,那么向客户机返回‘真’信号,否则向客户机返回‘假’信号,以指示输入图像是否包含对象。


图1A是根据本发明的安全处理图像的系统的方框图;图1B是根据本发明的安全处理图像的方法的流程图;图2A是将按照本发明处理的图像;图2B是根据本发明的产生运动图像的安全背景模拟的流程图;图2C是根据本发明的运动图像;图3A是被分成重叠的拼贴的运动图像;图3B是根据本发明的利用拼贴的安全区块标记的流程图;图3C是根据本发明的运动图像的3×3拼贴;图3D是根据本发明的具有连通区块的运动图像;图3E是根据本发明的利用全图像的安全区块标记的流程图;图4A是根据本发明的包括将利用扫描窗口安全检测的对象的运动图像;图4B是根据本发明的第一对象检测方法的流程图;图4C是根据本发明的第二对象检测方法的流程图。
具体实施例方式
系统概述如图1A中所示,关于例证的安全应用说明安全处理图像的系统100。在系统100中,客户机计算机(客户机)10通过网络30与服务器计算机(服务器)20连接。有利的是,客户机10可具有有限的处理资源和电力资源,例如膝上型计算机、低成本传感器或者蜂窝电话机。
客户机获得一系列的图像201,即‘秘密’视频。利用进程200、300和400处理图像201。所述进程合作地部分在客户机计算机上工作,如实线所示,部分在服务器计算机上工作,如虚线所示。这被称为多方处理。所述进程按照这样的方式工作,以致图像201的内容不被泄露给服务器,服务器进程和数据21不被泄露给客户机。
客户机可使用多方处理的结果来检测图像201中的‘秘密’对象。同时,阻止客户机知道服务器部分执行的进程200、300和400的‘秘密’部分以及服务器保持的秘密数据结构21。
该处理是安全的,因为图像的基本内容不会被泄露给服务器中作用于所述图像的进程。从而,输入图像201可被简单的客户机计算机获得,而安全处理由更复杂的服务器计算机执行。处理结果对服务器没有意义。只有客户机能够恢复‘秘密的’处理结果。从而,本发明提供‘盲’计算机视觉处理。
如图1B中所示,方法101包括三个基本进程200、300和400。首先,视频201,即图像的时间序列被处理,以确定运动图像209(步骤200)。运动图像只包括视频中的移动区块(moving component)。移动区块有时被称为‘前景’,剩余的区块被称为固定的‘背景’模型。其次,运动图像可被进一步处理,从而标记连接的前景区块309(步骤300)。第三,连接的区块可被处理,从而检测对象409(步骤400)。应注意进程200、300和400的输入图像可不同。即,可独立于任何在先处理或者后续处理执行每个进程。例如,可对任何类型的输入图像执行对象检测。
这种方法整体也可被看作对较小一组数据的处理日益复杂的数据简化或‘筛余’(triage)。处理视频中的全部像素的全强度范围的初始步骤200极其简单和快速。中间步骤300(尽管稍许复杂)主要处理保存二进制值0和1的较小一组拼贴(tile),它是小得多的数据集。最后的步骤使用更复杂的操作,但是只需处理初始图像内容的很小部分。从而,本发明应用非常简单的技术来改变大的数据集,从而显著减少需要处理的数据的数量,同时在筛余期间为很小的数据集保留更复杂的处理。
盲运动图像图2A表示‘秘密’视频的例证输入图像201。例证视频是包括一群行人99在内的街道的视频。
图2B表示确定运动图像209(步骤200)的各个步骤。视频201的输入图像可由与客户机计算机10连接的照相机获得。作为一个优点,客户机计算机可具有有限的处理资源,例如客户机可被嵌入蜂窝电话机中。
客户机计算机利用置换π,按照伪随机方式空间置换序列中的每个输入图像I的像素(步骤210),产生置换图像I′202,以致I′=πI。伪随机意味着不能根据任何在先值确定下一值,相反多半通过知道随机数发生器的种子值,发生器总是能够重构特定序列的随机值(需要的话)。显然,置换图像中的像素的空间分布是随机的,通过利用逆置换π-1重新排序,以致I=π-1I′,初始的输入图像可被恢复。
可选地,置换图像202可被嵌入更大的随机图像203中,从而产生嵌入图像204。所述更大的随机图像203中的像素同样按照伪随机方式产生,以致置换图像202的强度直方图不同于所述更大的随机图像的强度直方图。另外,随机图像中的一些像素的强度值可被随意改变,从而在嵌入图像204中产生‘假’运动。也可对于每个输入图像随机改变嵌入的置换图像202的位置、大小和取向。
嵌入图像204被传送给服务器计算机20(步骤221),服务器计算机20可以使用背景/前景建模应用程序230。背景/前景建模应用程序230可以是任何常规的建模应用程序,或者是只有服务器知道的专有进程。有利的是,服务器具有明显比客户机计算机多的处理资源。所述传送可经由网络30,或者其它装置,例如便携式存储介质。
位于服务器20的应用程序230保持当前的背景图像B206。背景图像可更新自每个输入图像或者一组先前处理的置换图像。例如,背景图像使用最后的N个输入图像(例如,N=10)的平均。通过使用移动平均,场景中的突变的影响或者其它短期影响被最小化。随后,通过结合,例如从当前的背景图像206中减去嵌入图像204,产生置换的运动图像M′205。如果特定的输入像素与背景像素之间的差异大于某一预定阈值Θ,那么输入像素被认为是运动像素,并被相应地标记。从而,置换的运动图像205是M′=|I′-B|>Θ置换的运动图像M′205被传送给客户机计算机(步骤231)。客户机计算机提取嵌入的部分(如果需要的话)。随后,通过按照M=π1(M′)取消空间置换,按其初始顺序记录所提取部分中的像素,从而获得只有与移动区块299有关的区块的运动图像M209,见图2c。
应注意背景和运动图像可以是二值图像或者‘掩码’图像,从而大大减小所保存数据的数量。即,运动图像中的像素为‘1’,如果该像素被认为是移动的。否则为‘0’。另外应注意由于噪声的缘故,一些‘运动’像素可能是错误的。这些伪像如下所述被除去。
正确性由于基于像素的背景减除并不依赖于像素的空间顺序,因此该处理是正确的。从而,空间置换像素的顺序并不影响该处理。此外,在嵌入图像中增加假的运动像素并不影响该处理,因为在假像素和置换图像202中的所关心像素之间不存在任何交互作用。
安全性该处理是部分安全的。服务器不能知道输入图像201的内容。可能的置换的数目过大以至于不能确定。例如,如果输入图像201具有n个像素,并且嵌入图像大c=2倍,那么可能的置换的数目为cnn,]]>其中对于高分辨率照相机,n可以是一百万或者更大。
为了‘学习’应用程序230,客户机需要观察每个像素的每个输入和输出。即,客户机分析客户机和服务器之间的数据流。但是,数据集的大小可使所述分析不切实际。在服务器,该处理不需要任何‘秘密’数据。
复杂性和效率客户机的复杂性和通信开销与输入图像的大小成线性关系。按照预定的随机序列置换像素是微不足道的。重新排序同样是简单的。应用程序230的复杂性不受置换影响。
上面的处理表示了根据本发明的盲计算机视觉的一些性质。该处理对图像应用常规的视觉方法,同时向服务器隐藏图像的内容。虽然服务器不能确定图像的确切内容,不过服务器能够从置换图像获悉一些内容。例如,图像的直方图能够确定该图像可能是在白天或者晚上获得的。服务器还能够计数运动像素的数目,从而确定图像中存在多少个运动。
当客户机把置换图像嵌入大的随机图像中时,能够容易地克服该问题。这样服务器不能从图像直方图推测出任何内容。另外,如果客户机开启(turn on)一些随机像素,从而产生虚假的运动像素,那么服务器甚至不能知道检测到的运动像素是真实的还是虚假的。
应注意随着时间的过去,服务器能够观察像素之间的相关性,从而了解它们的接近性,或者区分真实的和虚假的运动像素。但是,客户机能够产生虚假的运动像素,从而具有和真实的运动像素相同的分布。
该协议的简单性主要归因于每个像素可被独立处理,从而空间顺序并不重要的事实。
下面说明处理图像中的多个区域的安全视觉处理,例如连通(connected)区块标记。
盲区块标记在诸如对象检测、对象跟踪或者对象和模式识别之类的实际应用中,运动图像209可能需要进一步的处理,以消除噪声和错误的运动像素299,参见图2C,以及‘连接’可能与单一移动对象相关的相邻像素。应注意输入图像可以是任意运动图像。
但是,进一步的处理可能依赖于像素的空间顺序。实际上,由于噪声会造成一些错误的运动像素,因此需要清洗运动图像209。不幸的是,再也不能简单地置换输入图像中的像素,因为置换会破坏图像中像素的空间排列,相连的区块将不再正确地起作用。
下面首先说明作用于全图像的扩张处理,随后说明作用于拼贴的复杂性降低的处理。扩张处理通过把输入图像分成随机图像的并集而起作用。随机图像连同一些虚假的随机图像一起被发送给服务器。这种情况下,数十或者数百个随机图像可被用于保证安全性。通过把输入图像分割成拼贴(每个拼贴被看作一个独立的‘图像’),能够显著降低复杂性。如果按照随机顺序发送拼贴,那么服务器面临恢复输入图像的双重问题。
全图像协议全图像协议把输入图像表示成随机图像的并集,并把随机图像连同一大批随机二值图像一起发送给服务器。
服务器对每个图像独立进行连通区块标记,并把结果发送给客户机。随后,客户机组合所述结果,从而获得所标记的连通区块的最终结果,即潜在对象。
二值输入图像是I,例如图像209,具有连通区块的标记图像309是I′,即,执行连通区块标记之后的图像I。在存在多个标记图像H1,...,Hm(其中每个图像中的区块的标记例如从1开始)的情况下,该组标记图像由H1,...,Hm表示,其中对于所有m个图像来说,每个连通区块具有唯一的标记。最后,I(q)是位于像素位置q的图像I的值。
利用全图像的盲连通区块标记如图3E中所示,服务器具有输入图像I209,服务器具有连通区块标记进程300。该进程的输出是标记的连通区块图像I。服务器对输入图像I一无所知。
首先,客户机产生m个随机图像H1,...,Hm(步骤370),以致I=∪i=1mHi]]>
客户机把r>m个随机图像U1,...,Ur371发送给服务器,其中对于秘密的j1,...,jm图像,Uji=Hi,其中附加的图像是虚假图像。
服务器确定每个图像U的连通区块标记(步骤375),并把标记的图像U1′,...,Ur′376发送给客户机。
客户机利用唯一标记在所有标记图像内全局地重新标记图像H1′,...,Hm′(步骤380),并用H1′,...,Hm′表示这些图像。对于以致I(q)=1的每个像素q,设H1′(q),...,Hm′(q)代表每个图像的不同标记。随后,客户机根据全局标记的图像产生一个等价列表{H′i(Nbr(q))}i,1m,其中Nbr(q)是每个像素q的四个或八个相邻像素的列表。只有当像素是运动像素,并且像素彼此紧邻时,像素才被连通。
服务器扫描等价标记列表381,确定等价类(步骤385),并返回从每个标记到等价类代表的映射386。
客户机按照服务器返回的映射重新标记每个图像H1′(步骤390),并确定最终结果对于每个像素q,I‾(q)=max({H‾i′(q)}i,1m),]]>它形成连通区块的最终图像309。
正确性由于每个图像Hi被服务器进程正确地标记,因此该协议是正确的。此外,由于I=∪i=1mHi,]]>每个图像Hi只包含输入图像I的部分的运动或‘on’像素,从而,不会增加可能连接原始图像I中未连通的两个区域的任何假的‘on’像素。
原始图像I中的每个连通区块可被分成多个随机图像Hi中的几个区块,从而,同一区块可具有多个标记。但是,最终的客户机重新标记步骤(该步骤计算每个等价类的单一代表)解决这个问题。重新标记还确保对于所有随机图像中的每个运动像素,只存在一个标记,或者一个标记也不存在。
安全性由于客户机向服务器发送其中只有子集H形成输入图像的多个二值图像U,因此该协议是安全的。对于适当的r和m,可能性的数目rm]]>会惊人地过大,以至于不能确定。在第二阶段中,客户机发送一系列的等价列表381。由于客户机已重新标记区块,因此服务器不能把新标记和原始图像联系起来,客户机受到保护。服务器不需要保存需要被保护的任何专用数据。
复杂性和效率复杂性与r成线性关系。对于每个随机图像,服务器执行连通区块标记。客户机产生其并集为I的m个随机图像,以及另外的r-m个假的随机图像。
如果rm]]>较大,那么上述处理是安全的。例如,如果r=128,并且m=64,那么要检查的可能性有12864≈2124.]]>利用拼贴的盲连通区块标记这种情况下,如图3A-C中所示,客户机把每个运动图像209划分成像素的一组重叠的真实拼贴Tg311(步骤310)。为了清楚起见,未按比例显示拼贴。例如,拼贴为3×3像素,在上下和左右方向重叠一个像素。应注意可以使用其它拼贴尺寸和重叠。但是,当使拼贴尺寸更大时,更易于确定内容。另外,客户机能够可选地产生像素的虚假拼贴Tf321(步骤320)。
真实拼贴311和虚假拼贴321按照伪随机顺序被传送给服务器。服务器本地标记每个拼贴中与其它运动像素‘连通的’运动像素(步骤330)。当像素与至少一个其它运动像素相邻时,认为该像素是连通的。例如,向在特定拼贴中被连通的第一组像素的每个像素给予标记G1,向在相同拼贴中的第二组连通像素中的每个像素给予标记G2,依次类推。对于每个拼贴,标记重新从G1开始。即,另一拼贴中的第一组和第二组也被标记G1和G2。从而,对于每个拼贴,标记331是本地唯一的。
如图3C中所示,对于一个3×3拼贴,运动像素(带点的运动像素)301最多可具有八个相邻运动像素。注意,服务器不知道一些拼贴是虚假的,也不知道拼贴的随机空间排序。单一的不连通像素和非运动像素未被标记。服务器可使用常规的或者专有进程来确定运动像素的连通性。
标记的拼贴331被传送给客户机。客户机丢弃虚假的拼贴,利用本地标记的连通像素重构运动图像。客户机用全局唯一的标记重新标记‘边缘’像素。所述唯一标记也可按照伪随机方式产生。边缘像素是拼贴上的四个或八个外部像素。由于重叠一个像素的缘故,一个边缘像素可出现在两个相邻的拼贴中,带有由服务器确定的相同或不同的全局标记。
事实上,如图3A中所示,拼贴中的角像素301可具有由服务器分配的多达四个的不同标记。客户机能够确定相邻拼贴上由服务器接收两个不同标记的两个边缘像素是否实际上是同一像素,于是能够与唯一的全局标记联系起来。重新标记(步骤340)产生多对唯一的本地标记[L1(bi),L2(bi)],...,[Lk-1(bi),Lk(bi)]的列表341。
客户机按照另一伪随机顺序把列表341传送给服务器。服务器利用常规的或者专有的分类技术,把所述多对分成等价类351(步骤350)。服务器把它自己的唯一标记分配给每个等价类351。
标记的等价类351被传送给客户机。客户机使用这些标记重新标记具有用于每组连通像素的唯一全局标记的像素(步骤360),这形成连通区块309,参见图3D。
正确性由于每个拼贴被服务器正确地本地标记,因此该处理是正确的。由于在拼贴之间存在重叠,因此分散在多个拼贴内的连通像素由客户机正确地合并。等价类确定步骤350确保每组连通像素被分配一个唯一的标记。
安全性对于p个真实拼贴和m个虚假拼贴来说,该处理是安全的,因为不同可能性的数目很大pmm.]]>320×240图像的值m约为20000个拼贴。如果增加100个虚假拼贴,那么置换可能性的数目约为O(21400)。即使服务器能够检测真实的拼贴,拼贴的正确空间顺序仍然未知,因为许多不同图像的拼贴直方图看起来是相同的。相对于拼贴311、321的随机排序的多对本地标记341的随机排序也使服务器极其难以分析内容。
复杂性和效率同样,在客户机的处理复杂性与图像的大小成线性关系。把图像转换成拼贴是简单的。
盲对象检测最后的进程400是对象检测。对象检测按照光栅扫描顺序,利用滑动窗口405扫描连通区块的图像309,如图4A中所示。在滑动窗口的每个位置,确定滑动窗口的内容是否包含对象。
许多分类器,比如神经网络支持向量机,或者AdaBoost可被表示成加法模型,或者核函数,例如径向基函数、多项式函数或S形函数的和。这些函数处理在预处理训练阶段中确定的窗口和一些原型模式的点积。
在零知识方法和机器学习技术之间存在自然张力,因为零知识方法试图隐藏,而机器学习方法尽力推断。在根据本发明的方法,客户机使用服务器为客户机标记训练图像,以致客户机稍后能够使用训练图像来训练它自己的分类器。
下面,客户机具有输入图像I401,服务器具有卷积核αf(xTy)形式的弱分类器,其中x是窗口的内容,y是弱分类器,f是非线性函数,α是系数。从而,足以说明如何对图像I应用卷积运算,以及随后如何把结果传给分类器。
弱分类建立在用某一滤波器卷积图像,随后通过某一非线性函数传递结果的结果之上。例如,如P.Viola和M.Jones,“Rapid ObjectDetection using a Boosted Cascade of Simple Features”(IEEEConference on Computer Vision and Pattern Recognition,Hawaii,2001)所述使用方波滤波器,该文献在此引为参考。对于每个图像位置,确定滑动窗口和方波滤波器之间的点积。卷积运算的结果通过非线性函数传递,比如AdaBoost,或者支持向量机中的核函数,或者神经网络中的S形函数。
总之,弱分类器具有三个构成要素非线性函数f(),它可以是高斯函数、S形函数等,加权(α)和卷积核y。首先用卷积核y卷积图像,结果被保存为卷积图像。卷积图像中的每个像素包含用以该像素为中心的窗口对卷积核y进行卷积的结果。使卷积图像中的像素通过非线性函数f()并乘以α。
零知识协议通常可被分类为基于加密的协议或者基于代数的协议。在基于加密的协议中,各方利用标准技术,比如公钥-私钥加密技术对数据加密,从而,其它各方不可得到任何信息。这是以要避免的高计算成本和高通信成本实现的。
另一方面,可以使用代数协议,代数协议计算更快,但是可能暴露一些信息。代数方法通过处理子空间来隐藏向量。例如,如果一方具有向量x∈R400,那么在执行该协议之后,另一方知道x位于初始的400维空间内的某一低维子空间,例如一个10维子空间中。
在盲对象检测进程400的一个实施例中,只保持客户机的安全性。这种协议的变形可用在客户机需要使用服务器对输入图像I进行常规卷积,例如边缘检测或者低通滤波,而不向服务器暴露图像的内容的应用中。该进程可被扩展以便还保护服务器的安全性,如下所述。
盲卷积如图4B中所示,客户机具有其中某一对象将被检测的输入图像I401,例如,具有连通区块的图像309。服务器具有卷积核y,卷积核y被应用于输入图像,从而产生具有与被标记对象关联的像素的卷积图像I′。
更详细地说,客户机产生m个随机图像H1,...,Hm411(步骤410),和系数向量a=[a1,...,am]412,以致输入图像I401为I=∪i=1mHj.]]>随机图像Hi形成包含原始图像I的子空间。例如,如果m=10,那么获得不同于原始图像I的9个图像。例如,这9个图像是任意自然或街道场景。这9个图像和原始图像形成包含图像I的子空间。每个图像Hi被设置成这些图像的线性组合。这样,每个图像Hi好像是无意义的图像,即使它被表述成所有Hi图像的线性组合。
客户机把随机图像411发送给服务器。
服务器确定m个卷积随机图像H′421(步骤420),以致{H1′=π1(H1*y}i,1m,]]>其中*是卷积运算符,π1是第一随机像素置换。服务器把m个卷积图像{Hi′}i,1m421发送给客户机。这里,运算符*用卷积核y卷积图像Hi中的每个窗口。这可被表述成H′=H*y,其中y是例如高斯核,*是卷积运算符。
客户机确定置换图像I′402(步骤430),以致I′=π2(Σi=1mαiHi′),]]>其中π2是第二随机像素置换。客户机把置换图像I′402发送给服务器。
服务器确定测试图像I403(步骤440),以致I=αf(I′)。
如果在测试图像中存在以致I(q)>0的像素q,那么服务器向客户机返回‘真’(+1)441,否则服务器返回‘假’(-1)442,以指示该图像是否包含对象。
客户机随后可测试存在的像素q(步骤450),以确定在输入图像中是否存在对象409。
正确性该协议是正确的,因为卷积图像之和等于图像之和的卷积。两个随机置换π1和π2保证任何一方都不具有从输入到输出的映射。从而,任何一方都不能形成对另一方的信息解密的一组约束条件。
但是,客户机有优势。如果输入图像I401是带有一个白像素的全黑图像,那么客户机能够分析图像H1′421,从而知道卷积核y的值。该问题可由下述协议解决。
无定位的盲对象检测该进程检测对象是否出现在图像中,但是不暴露对象的位置。也可扩展该进程来检测对象的位置。
如图4C中所示,客户机具有输入图像I501,服务器具有αf(xTy)形式的弱分类器。服务器检测输入图像中的对象,但是不检测该对象的位置。服务器对图像I一无所知。
客户机产生m个随机图像H1,...,Hm511和系数向量a=[a1,...,am]512(步骤510),以致I=Σi=1mαiHj.]]>服务器产生p个随机向量g1,...gp516和第二系数向量 517(步骤515),以致y=Σj=1pbjgj.]]>客户机把随机图像511发送给服务器。
服务器确定mp个卷积图像H′ij521(步骤520),以致{{H′ij=π1(Hi*gj)}j.1p}i.1m,]]>其中*是卷积运算符,π1是第一随机像素置换。卷积图像 521被发送给客户机。
客户机确定置换图像I′j502(步骤530),以致{I′j=π2(Σi=1mαiH′ij)}j=1p,]]>其中π2是第二随机像素置换。客户机把置换图像502发送给服务器。客户机确定中间图像I′′=Σj=1pbjI′j]]>(步骤540),和测试图像I503,以致I=αf(I″)。
如果在测试图像中存在一个以致I(q)>0的像素q,那么服务器向客户机返回‘真’(+1)541,否则服务器返回‘假’(-1)542。
客户机随后可测试存在的像素q(步骤550),以确定在输入图像中是否存在对象509。
正确性该协议是正确的,因为图像之和的卷积等于卷积图像之和。形式上,可以证明I*y=I″。如果π1和π2是恒等置换(identity permutation),那么下面的推导等式成立I*y=Σi=1maiHi*y---(1)]]>=Σi=1maiHi*Σj=1pbjgj---(2)]]>=Σi=1maiΣj=1pbjHi*gj---(3)]]>=Σi=1maiΣj=1pbjHij′---(4)]]>=Σj=1pbjΣi=1maiHij′---(5)]]>=Σj=1pbjIj′---(6)]]>=I″ (7)
注意即使π1和π2是随机置换,上述推导也不受影响。从而,该协议是正确的。
安全性服务器知道客户机发送的m个随机图像512是输入随机图像501与图像411的线性结合。增大m的大小可提高客户机的安全。
在步骤530,客户机把p个图像502发送给客户机。如果客户机不使用第二置换π2,那么服务器可确定图像I′j和H′ij,唯一未知的是系数ai,它可按照最小二乘法重新获得。但是,第二置换π2迫使服务器为任意指定j,从随机Hij511图像和置换图像I′j的像素中选择正确的映射。这等同于从nm]]>个选项中选择一个选项,其中n是图像中的像素的数目。例如,当n=320*240=76800,并且m=20时,存在7680020]]>种可能的选择。
在步骤520,客户机把mp个卷积图像521发送给客户机。如果客户机把图像H1设成只具有一个白色像素的黑色图像,随后客户机能够关于每个j重新获得gj的值。但是,客户机不知道系数bj,从而不能恢复分类器y。
在步骤540中,客户机只向客户机返回指示图像中是否存在对象的真或非假结果[+1,-1]。从而,在该步骤中,客户机不能知道系数bj。
复杂性和效率该协议分别与用于表示输入图像I501及分类器y的随机图像的数目和向量的数目mp成线性关系。
可扩展该进程,从而通过利用对分搜索(binary search),对子图像反复应用该进程,定位输入图像中的对象。如果在图像中检测到对象,那么把图像分成两半或者四象限,对每个子图像应用该进程,从而缩小对象的准确位置。可根据需要重复划分。这样,客户机能够把多个假图像发送给服务器。从而,服务器不能确定检测到的对象是真实的还是虚假的。
本发明的效果本发明把零知识技术应用于图像处理方法。通过利用特定域的知识,本发明能够大大加速图像处理,并且对涉及图像和视频的安全多方通信问题产生实际解决方案。
关于盲计算机视觉,尤其是盲背景模拟、盲连通区块标记和盲对象检测说明了许多进程。组合各种进程能够得到实际的盲计算机视觉系统。
虽然通过优选实施例的例子说明了本发明,不过在本发明的精神和范围内可做出各种其它适应和修改。于是,附加权利要求的目的是覆盖在本发明的精神和范围内的所有这种变化和修改。
权利要求
1.一种安全地处理输入图像的方法,包括在客户机中获得输入图像I;产生一组m个随机图像H1,...,Hm和系数向量α=[α1,...,αm],以致输入图像I为I=Σi=1mαiHj;]]>把该组随机图像传送给包括弱分类器的服务器;在服务器中,确定一组m个卷积随机图像H′,以致{H1′=π1(H1*y}i,1m,]]>其中*是卷积运算符,π1是第一随机像素置换;把该组卷积图像传送给客户机;在客户机中,确定一组m个置换图像I′,以致I′=π2(Σi=1mαIHi′),]]>其中π2是第二随机像素置换;把该组置换图像传送给服务器;在服务器中,确定一个以致I=αf(I′)的测试图像I;和如果在测试图像中存在以致I(q)>0的像素q,那么向客户机返回‘真’信号,否则向客户机返回‘假’信号,以指示输入图像是否包含对象。
2.一种安全地处理输入图像的方法,包括在客户机中获得输入图像I;在客户机中产生一组m个随机图像H1,...,Hm和系数向量α=[α1,...,αm],以致I=Σi=1mαiHj;]]>把该组随机图像传送给包括呈αf(xTy)形式的弱分类器的服务器,其中x是在每个随机图像上扫描的滑动窗口的内容,y是弱分类器,f是非线性函数,α是系数;在服务器中,产生p个随机向量g1,...gp和第二系数向量b=[b1,...,bp],以致y=Σj=1pbjgj.]]>在服务器中,确定一组mp个卷积图像Hij,以致{{Hij=π1(Hi*gj)}j,1p}i.1m,]]>其中*是卷积运算符,π1是第一随机像素置换;把该组卷积图像传送给客户机;在客户机中,确定置换图像I′j,以致{I′j=π2(Σi=1mαiH′ij)}j=1p,]]>其中π2是第二随机像素置换;把置换图像传送给服务器;在服务器中,确定中间图像I′′=Σj=1pbjI′j]]>和测试图像I503,以致I=αf(I″);如果在测试图像中存在一个以致I(q)>0的像素q,那么向客户机返回‘真’,否则向客户机返回‘假’,以指示输入图像是否包含对象。
全文摘要
一种安全地处理输入图像的方法。在客户机中获得输入图像I。产生一组m个随机图像H
文档编号H04N7/167GK101044759SQ20058003604
公开日2007年9月26日 申请日期2005年12月6日 优先权日2004年12月6日
发明者摩西·比特曼, 阿耶莱特·比特曼, 山姆尔·阿维丹 申请人:三菱电机株式会社, 摩西·比特曼, 阿耶莱特·比特曼
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1