掌桥专利:专业的专利平台
掌桥专利
首页

图像推理方法、装置、电子设备及计算机可读存储介质

文献发布时间:2023-06-19 19:28:50


图像推理方法、装置、电子设备及计算机可读存储介质

技术领域

本申请属于信息安全技术领域,尤其涉及一种图像推理方法、装置、电子设备及计算机可读存储介质。

背景技术

在图像识别应用中,例如图像比对,终端设备在采集完图像后,传统方法是将图像压缩后,将压缩后的图像传输到后台服务器进行比对,在此过程中有原始图像泄漏风险。

为保护用户隐私,不能传输原始的图像,且不能在图像识别相关算法的应用中,有反推图像的能力。因此,亟需一种图像推理方法,来对图像进行加密,避免信息泄露。

发明内容

本申请实施例提供一种图像推理方法、装置、电子设备及计算机可读存储介质,能够将原始图像的推理特征存储到两个设备端中,任何一方不具备全量推理特征,保障推理结果安全,避免原始图像泄露。

第一方面,本申请实施例提供一种图像推理方法,包括:

获取第一图像,所述第一图像存储在所述第一设备,第二图像存储在第二设备,所述第一图像根据原始图像的第一部分确定,所述第二图像根据所述原始图像的第二部分确定;

获取第一计算结果,所述第一计算结果由所述第一设备和所述第二设备利用秘密共享方式对第一图像和第二图像进行计算获得;

对所述第一计算结果进行明文计算,获得第二计算结果;

基于所述第二计算结果进行计算,获得第一推理特征,所述第一推理特征存储在所述第一设备。

第二方面,本申请实施例提供了一种图像处理装置,包括:

第一获取模块,用于获取第一图像,所述第一图像存储在所述第一设备,第二图像存储在第二设备,所述第一图像根据原始图像的第一部分确定,所述第二图像根据所述原始图像的第二部分确定;

第二获取模块,用于获取第一计算结果,所述第一计算结果由所述第一设备和所述第二设备利用秘密共享方式对第一图像和第二图像进行计算获得;

第三获取模块,用于对所述第一计算结果进行明文计算,获得第二计算结果;

第四获取模块,用于基于所述第二计算结果进行计算,获得第一推理特征,所述第一推理特征存储在所述第一设备。

第三方面,本申请实施例提供了一种电子设备,设备包括:处理器以及存储有计算机程序指令的存储器;

所述处理器执行所述计算机程序指令时实现如第一方面所述的方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如第一方面所述的方法。

第五方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行如第一方面所述的方法。

本申请实施例的图像推理方法、装置、电子设备及计算机可读存储介质,其中方法包括:获取第一图像,所述第一图像存储在所述第一设备,第二图像存储在第二设备,所述第一图像根据原始图像的第一部分确定,所述第二图像根据所述原始图像的第二部分确定;获取第一计算结果,所述第一计算结果由所述第一设备和所述第二设备利用秘密共享方式对第一图像和第二图像进行计算获得;对所述第一计算结果进行明文计算,获得第二计算结果;基于所述第二计算结果进行计算,获得第一推理特征,所述第一推理特征存储在所述第一设备。通过上述步骤,能够将原始图像的推理特征存储到两个设备端中,任何一方不具备全量推理特征,保障推理结果安全,避免原始图像泄露。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一个实施例提供的图像推理方法的一流程示意图;

图2a是本申请一个实施例提供的卷积层计算示意图;

图2b是本申请一个实施例提供的图像推理方法的另一流程示意图;

图2c是本申请一个实施例提供的推理特征维度示意图;

图3是本申请一个实施例提供的图像处理装置的结构示意图;

图4是本申请又一个实施例提供的电子设备的结构示意图。

具体实施方式

下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

为了解决现有技术问题,本申请实施例提供了一种图像推理方法、装置、电子设备、介质及产品。下面首先对本申请实施例所提供的图像推理方法进行介绍。

图1示出了本申请一个实施例提供的图像推理方法的流程示意图。如图1所示,本申请实施例提供的图像推理方法,应用于第一设备,包括如下步骤。

步骤101,获取第一图像,所述第一图像存储在所述第一设备,第二图像存储在第二设备,所述第一图像根据原始图像的第一部分确定,所述第二图像根据所述原始图像的第二部分确定。

秘密共享的思想是将秘密以适当的方式拆分,拆分后的每一个份额由不同的参与者管理,单个参与者无法恢复秘密信息,只有若干个参与者一同协作才能恢复秘密消息。秘密共享是一种将秘密分割存储的密码技术,目的是阻止秘密过于集中,以达到分散风险和容忍入侵的目的,是信息安全和数据保密中的重要手段。

在本步骤中,采用秘密共享的方式将原始图像进行拆分,以拆分成两部分,原始图像的第一部分和第二部分可以分别为左半图像和右半图像,或者上半图像和下半图像,也可以将原始图像分为两半,两半占原始图像的比例为3:7或4:6,在此不做限定。第一图像和第二图像的尺寸,均与原始图像相同,或者说,第一图像和第二图像的维度,均与原始图像的维度相同。

第一设备可以为客户端,第二设备可以为服务器端,或者,第二设备可以为客户端,第一设备可以为服务器端,在此不做限定。

步骤102,获取第一计算结果,所述第一计算结果由所述第一设备和所述第二设备利用秘密共享方式对第一图像和第二图像进行计算获得。

本步骤具体可以为: 根据秘密共享方式对所述第一图像进行计算,获得第一计算子结果;获取第二计算子结果,所述第二计算结果由所述第二设备采用秘密共享方式对所述第二图像进行计算获得。

由第一设备利用秘密共享方式对第一图像进行计算,获得第一计算子结果,由第二设备利用秘密共享方式对第二图像进行计算,获得第二计算子结果,第二设备将第二计算子结果发送给第一设备,在第二设备处汇总第一计算子结果和第二计算子结果。

第一设备在利用秘密共享方式对第一图像进行计算,获得第一计算子结果的步骤,具体可以为:将所述第一图像依次经过卷积层和激活层计算,获得所述第一计算结果;所述卷积层和所述激活层采用秘密共享方式计算。

卷积层涉及到乘法和加法运算,如图2a所示,利用秘密共享方式计算,假设卷积层输入的碎片分别为

对于激活层,本申请采用Relu激活函数,其明文计算方法为:

秘密共享计算方法如下:假设激活层的输入碎片分别为

对于输入的每一个元素

根据秘密共享比较大小算法,计算Relu(x) = max(x,0)。可以得到

步骤103,对所述第一计算结果进行明文计算,获得第二计算结果。

如图2b所示,在模型剩余层对第一计算结果进行明文计算,获得第二计算结果。

步骤104,基于所述第二计算结果进行计算,获得第一推理特征,所述第一推理特征存储在所述第一设备。同样地,第二设备基于所述第二计算结果进行计算,获得第二推理特征,第二推理特征存储在第二设备。

具体地,将所述第二计算结果与所述第一设备对应的第一权重矩阵相乘,获得第一推理特征,如图2b所示,第一设备在全连接层对第二计算结果进行计算,获得第一推理特征。同样地,第二设备将所述第二计算结果与所述第二设备对应的第二权重矩阵相乘,获得第二推理特征。

第一权重矩阵的维度根据全连接层的维度以及输出的所述第一推理特征的维度确定,第一权重矩阵和第二权重矩阵具有相同的维度。

例如,服务端S和客户端C保留部分权重信息,假设全连接层为4096维,最后输出图像特征为1024维,则客户端C与服务端S分别保留全部4096×1024权重矩阵部分信息,双方权重矩阵维度为4096×512。

如图2c所示,客户端C和服务端S分别拥有部分最后输出向量,即推理特征,假设最后输出向量为1024维,服务端S和客户端C各保留512维向量,例如Vector[0:511]为客户端C侧拥有,Vector[512:1024]为服务端S侧拥有。

本实施例中,获取第一图像,所述第一图像存储在所述第一设备,第二图像存储在第二设备,所述第一图像根据原始图像的第一部分确定,所述第二图像根据所述原始图像的第二部分确定;获取第一计算结果,所述第一计算结果由所述第一设备和所述第二设备利用秘密共享方式对第一图像和第二图像进行计算获得;对所述第一计算结果进行明文计算,获得第二计算结果;基于所述第二计算结果进行计算,获得第一推理特征,所述第一推理特征存储在所述第一设备。通过上述步骤,能够将原始图像的推理特征存储到两个设备端中,任何一方不具备全量推理特征,保障推理结果安全,避免原始图像泄露。

在本申请一种实施例中,在所述基于所述第二计算结果进行计算,获得第一推理特征之后,所述方法还包括:

获取第二推理特征,所述第二推理特征由所述第二设备基于所述第二计算结果进行计算获得;

根据所述第一推理特征和所述第二推理特征,确定目标推理特征。

具体地,客户端C和服务端S各自明文计算全连接层和512维向量相乘,最后输出向量秘密分享到对方,双方各自得到全量1024维向量的部分秘密分享信息,即目标推理特征。第一设备在获取到第一推理特征和第二推理特征之后,可将两个推理特征进行合并,例如,进行特征拼接,获得目标推理特征。

以下对本申请提供的图像推理方法进行如下说明。

图像识别神经网络多种,模型推理阶段,需要经过卷积层,激活层和池化层。对于这几层,可以采用秘密共享的方式进行计算,从而实现在原始图像分裂在两边的情况下,正确获得推理运算结果。具体步骤如下:

卷积层:

其中卷积层涉及到乘法和加法运算,如图2a所示。

利用秘密共享方式计算,假设卷积层输入的碎片分别为

对于激活层,本方案实现Relu激活函数,其明文计算方法为:

秘密共享计算方法如下:假设激活层的输入碎片分别为

对于输入的每一个元素

根据秘密共享比较大小算法,计算Relu(x) = max(x,0)。可以得到

对于池化层,本方案实现最大化池化(max pooling),即取小块内最大值输出,计算方法如下:

基于秘密共享的计算方法如下:

假设池化层的输入为

池化算法:

1.计算

2.计算

3.计算

在实现了上述神经网络卷基本运算之后,我们需要保护原始图像信息和最后推理向量,完整模型结构如图2b所示,其中:

模型前两层:

原始图像通过秘密分享到服务端S与客户端C;

模型前两层:卷积层-激活层,通过秘密共享方式计算,结果汇集到客户端C侧。

模型至全连接层:

秘密分享计算后,至全连接层在客户端C侧明文计算。

模型最后两层:

服务端S和客户端C保留部分权重信息,假设全连接层为4096维,最后输出图像特征为1024维,则客户端C与服务端S分别保留全部4096×1024权重矩阵部分信息,双方权重矩阵维度为4096×512;

客户端C和服务端S分别拥有部分最后输出向量,假设最后输出为1024维,服务端S和客户端C各保留512维向量,例如Vector[0:511]为客户端C侧拥有,Vector[512:1024]为服务端S侧拥有。

如图2c所示,客户端C和服务端S各自明文计算全连接层和512维向量相乘,最后输出向量秘密分享到对方,双方各自得到全量1024维向量的部分秘密分享信息。

与原始图像计算阶段:

由于原始图像信息为秘密分享形式存在,最终结果为秘密共享方式存在双方,可以通过秘密共享乘法和加法计算向量内积。

数据模型保存说明如下表1所示:

表1

上述方案具有如下有益效果:

在模型效果方面:

实现了基于秘密共享的卷积层,激活层和池化层。可以自由组合,灵活搭建各种完整的神经网络模型。

实现了与明文计算一致的效果,实现了效果无损的推理。

在安全性方面:

通过秘密分享技术将原始图像像素信息进行拆分,存储到两个可信环境内,并确保数据不可被串谋还原;

通过秘密共享方式,将原始图像保留在双方,保障了原始图像信息的安全,同时在模型的前若干层-卷积层和激活,采用秘密分享方式计算,输出结果为高度抽象信息,无法反推出原始数据形式,进一步保障原始图像信息安全。

最后结果以秘密共享方式存储到客户端C与服务端S两侧,任何一方不具备全量推理特征,保障推理结果安全。

图3示出了本申请实施例提供的图像处理装置的结构图。如图3所示,图像处理装置300包括:

第一获取模块301,用于获取第一图像,所述第一图像存储在所述第一设备,第二图像存储在第二设备,所述第一图像根据原始图像的第一部分确定,所述第二图像根据所述原始图像的第二部分确定;

第二获取模块302,用于获取第一计算结果,所述第一计算结果由所述第一设备和所述第二设备利用秘密共享方式对第一图像和第二图像进行计算获得;

第三获取模块303,用于对所述第一计算结果进行明文计算,获得第二计算结果;

第四获取模块304,用于基于所述第二计算结果进行计算,获得第一推理特征,所述第一推理特征存储在所述第一设备。

可选地,所述装置还包括:

第五获取模块,用于获取第二推理特征,所述第二推理特征由所述第二设备基于所述第二计算结果进行计算获得;

确定模块,用于根据所述第一推理特征和所述第二推理特征,确定目标推理特征。

可选地,所述第二获取模块302,包括:

第一获取子模块,用于根据秘密共享方式对所述第一图像进行计算,获得第一计算子结果;

第二获取子模块,用于获取第二计算子结果,所述第二计算结果由所述第二设备采用秘密共享方式对所述第二图像进行计算获得。

可选地,所述第四获取模块304,用于将所述第二计算结果与所述第一设备对应的第一权重矩阵相乘,获得第一推理特征。

可选地,所述第一权重矩阵的维度根据全连接层的维度以及输出的所述第一推理特征的维度确定。

可选地,所述第二获取模块302,用于将所述第一图像依次经过卷积层和激活层计算,获得所述第一计算结果;所述卷积层和所述激活层采用秘密共享方式计算。

本申请实施例提供的图像处理装置300能够实现前述图像推理方法实施例实现的各个过程,并达到相同的技术效果,为避免重复,这里不再赘述。

图4示出了本申请实施例提供的图像推理方法的硬件结构示意图。

在电子设备可以包括处理器601以及存储有计算机程序指令的存储器602。

具体地,上述处理器601可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit ,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。

存储器602可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器602可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器602可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器602可在综合网关容灾设备的内部或外部。在特定实施例中,存储器602是非易失性固态存储器。

存储器可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本公开的第一方面的方法所描述的操作。

处理器601通过读取并执行存储器602中存储的计算机程序指令,以实现上述实施例中的任意一种图像推理方法。

在一个示例中,电子设备还可包括通信接口603和总线610。其中,如图4所示,处理器601、存储器602、通信接口603通过总线610连接并完成相互间的通信。

通信接口603,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。

总线610包括硬件、软件或两者,将图像推理方法的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线610可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。

另外,结合上述实施例中的图像推理方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种图像推理方法。

需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。

以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。

上面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。

以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。

相关技术
  • 图像降噪方法、装置、电子设备及计算机可读存储介质
  • 图像处理方法和装置、电子设备、计算机可读存储介质
  • 图像处理方法、装置、电子设备及计算机可读存储介质
  • 图像处理方法和装置、电子设备、计算机可读存储介质
  • 图像处理方法和装置、电子设备、计算机可读存储介质
  • 推理方法、装置、电子设备及计算机可读存储介质
  • 基于知识图谱的机器推理方法、电子设备及计算机可读存储介质
技术分类

06120115928773