CN113468362B - 一种基于外包K-means的加密图像检索系统及方法 - Google Patents
一种基于外包K-means的加密图像检索系统及方法 Download PDFInfo
- Publication number
- CN113468362B CN113468362B CN202110737094.0A CN202110737094A CN113468362B CN 113468362 B CN113468362 B CN 113468362B CN 202110737094 A CN202110737094 A CN 202110737094A CN 113468362 B CN113468362 B CN 113468362B
- Authority
- CN
- China
- Prior art keywords
- image
- feature vector
- data
- encrypted
- data owner
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000012946 outsourcing Methods 0.000 title abstract description 8
- 239000013598 vector Substances 0.000 claims abstract description 184
- 239000000284 extract Substances 0.000 claims abstract description 11
- CIWBSHSKHKDKBQ-JLAZNSOCSA-N Ascorbic acid Chemical compound OC[C@H](O)[C@H]1OC(=O)C(O)=C1O CIWBSHSKHKDKBQ-JLAZNSOCSA-N 0.000 claims description 162
- ZZZCUOFIHGPKAK-UHFFFAOYSA-N D-erythro-ascorbic acid Natural products OCC1OC(=O)C(O)=C1O ZZZCUOFIHGPKAK-UHFFFAOYSA-N 0.000 claims description 81
- 229930003268 Vitamin C Natural products 0.000 claims description 81
- 235000019154 vitamin C Nutrition 0.000 claims description 81
- 239000011718 vitamin C Substances 0.000 claims description 81
- 238000003064 k means clustering Methods 0.000 claims description 10
- 238000013475 authorization Methods 0.000 claims description 5
- 230000003993 interaction Effects 0.000 claims description 2
- 239000011159 matrix material Substances 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种基于外包K‑means的加密图像检索系统及方法,属于图像检索技术领域。涉及数据拥有者、云服务器和数据访问者三类实体:数据拥有者对原始图像提取特征向量并对原始图像及其特征向量进行加密,将加密后的图像数据上传云服务器;对图像检索结果进行解密,并将解密得到的原始图像发送给数据访问者。云服务器存储加密后的图像数据,并与数据拥有者进行交互构建安全索引树,且利用检索令牌和安全索引树来执行图像相似性的检索,并把检索结果返回给数据访问者。数据访问者对待检索图像进行查询时,使用待检索图像构建检索令牌并发送给云服务器,收到云服务器发送的图像检索结果后,发送给数据拥有者并接收数据拥有者返回的原始图像。
Description
技术领域
本发明属于图像检索技术领域,具体涉及一种基于外包K-means的加密图像检索系统及方法。
背景技术
随着移动设备的出现和互联网的普及,出现了许多多媒体数据的应用程序,产生了大量的多媒体数据,其中图像数据需要大量的处理操作。由于许多移动终端受限于有限的资源,如电池寿命、RAM存储、计算能力等,客户端可能没有足够的能力来处理大量图像的操作,比如存储和检索。为了解决这一问题,人们经常选择将存储和检索工作外包给云服务器来执行。但图像中蕴含着丰富的敏感信息(例如人脸、位置和敏感事件),将图像外包到云服务器意味着图像数据不受人们的控制,这对人们的隐私造成了巨大的威胁。
为了缓解隐私问题,越来越多的用户倾向于在外包给云服务器之前对图像进行加密。图像内容信息对云服务器来说是保密的。然而,当图像加密之后在加密数据库上进行图像的检索会存在一些障碍,而且图像经过加密之后上传给云服务器会损失图像的可用性,图像检索的精确度和检索效率也会大大地降低。
目前针对加密图像检索的研究方案,对于加密之后的图像大多是采用余弦距离和欧氏距离来计算图像的相似性,这种方法计算代价比较高,检索效率比较低,图像检索的准确性也无法保证。为了提高图像检索准确度和检索效率,本发明采用了基于汉明距离来计算图像相似性的加密方法,该方法可以达到与明文相当的检索精度,且减少了计算代价。
为了更进一步地解决图像检索效率低的问题,本发明欲采用K-means聚类算法来构建索引树,但目前研究的针对K-means聚类的图像检索方案,大多是将K-means聚类算法交由数据拥有者来执行,而且传统的K-means算法需要大量计算和大量通信代价,如果数据拥有者是资源受限的用户,显然不适用。与此同时,如果将构建索引相关的图像数据外包给云服务器,数据隐私的安全性也无法保证。
发明内容
本发明为了解决上述问题,提供了一种基于外包K-means的加密图像检索方法,该方法将数据进行加密之后再外包给云服务器,由云服务器执行K-means聚类的大量计算,可以实现密文图像的近似检索,既能解决图像检索效率低的问题又可以解决移动终端设备资源受限的问题,并且在保证数据安全的前提下,达到与明文相当的检索效率。
本发明的技术方案是:
一种基于外包K-means的加密图像检索系统,其特征在于,该系统包括三种类型的实体:数据拥有者、云服务器和数据访问者;
所述数据拥有者,是原始图像数据的所有者,负责对其所拥有的每一幅原始图像提取特征向量,然后对每一幅原始图像及其特征向量进行加密,得到加密后的图像数据;将加密后的图像数据上传到云服务器;对数据访问者发送的图像检索结果进行解密,并将通过解密得到的对应的原始图像发送给数据访问者;
所述云服务器,用于存储加密后的图像数据,并与数据拥有者进行交互构建安全索引树;利用检索令牌和安全索引树来执行图像相似性的检索,并把检索结果返回给数据访问者;
所述数据访问者,对待检索图像进行查询,数据拥有者也可以作为数据访问者;对待检索图像进行查询时,使用待检索图像来构建检索令牌并将其发送给云服务器;接收云服务器发送的图像检索结果并将其发送给数据拥有者;接收数据拥有者发送的与待检索图像相似的原始图像。
一种利用所述的基于外包K-means的加密图像检索系统进行基于外包K-means的加密图像检索方法,包括如下步骤:
步骤1:数据拥有者对其所拥有的每一幅图像提取特征向量,利用提取的特征向量来描述图像的局部特征;
步骤2:数据拥有者对每一幅原始图像及其特征向量进行加密,得到加密图像及对应的加密特征向量,将所有的加密图像及其各自对应的加密特征向量上传给云服务器;
步骤3:数据拥有者对加密特征向量进行编号,并为每个加密特征向量构建相应的结构Ti=(IDi,VCi,Cj),数据拥有者将集合T={T1,T2,...,Tn}上传给云服务器;其中,IDi表示加密特征向量VCi的编号;Cj表示第j个加密图像;Ti表示第i个特征向量对应的结构,i=1,...,n,j=1,...,m,其中m为数据拥有者拥有的原始图像总数,n为从m张原始图像中提取出的特征向量总数;
步骤4:根据加密特征向量的编号和结构,利用K-means算法通过数据拥有者和云服务器的交互构建安全索引树;
步骤5:数据访问者对输入的待检索图像提取特征向量,通过对该特征向量进行加密构建检索令牌Tq并将其发送给云服务器;
步骤6:云服务器利用检索令牌和安全索引树执行图像的相似性检索操作,得到一系列与待检索图像相似的图像,并将这些相似图像添加到相似图像集合中,再将该相似图像集合返回给数据访问者;
步骤7:数据访问者将其收到的相似图像集合发送给数据拥有者;
步骤8:数据拥有者对接收到的相似图像集合进行解密,恢复出对应的原始图像集合并将其发送给数据访问者。
进一步地,根据所述的基于外包K-means的加密图像检索方法,数据拥有者利用SIFT算法对其所拥有的每一幅图像提取特征向量。
进一步地,根据所述的基于外包K-means的加密图像检索方法,数据拥有者对原始图像进行加密的方法为:数据拥有者首先通过调用Crypto++函数库中的AutoSeededRandomPool算法来随机生成长度为128bit的对称密钥SK,然后数据拥有者调用AES算法输入对称密钥SK,对每一幅原始图像进行加密。
进一步地,根据所述的基于外包K-means的加密图像检索方法,所述步骤4包括如下步骤:
步骤4-1:数据拥有者设定所需的聚类个数K,并生成每个聚类中心的初始特征向量;
步骤4-2:对各聚类中心的特征向量进行加密,并将加密后的聚类中心特征向量集合VCt′发送给云服务器;所述VCt′={VCt1,VCt2,...,VCtK},其中VCt1,VCt2,...,VCtK表示为各聚类中心的特征向量Vt1,Vt2,...,VtK加密后的密文,K为数据拥有者设定的聚类个数;
步骤4-3:云服务器利用K-means算法构建安全索引树结构,包括如下步骤:
步骤4-3-1:云服务器执行K-means聚类算法,通过计算步骤2得到的每个加密特征向量VCi到聚类中心特征向量集合VCt′中每个聚类中心的汉明距离,找到VCi距离集合VCt′里最近的特征向量(即聚类中心),然后将该特征向量VCi添加到与其距离最近的聚类中心所对应的类中,这样就将所有步骤2得到的所述加密特征向量划分到K个类里;
步骤4-3-2:云服务器将每个类里各特征向量所对应的编号返回给数据拥有者;
步骤4-3-3:数据拥有者接收到每个类里所包含的各特征向量所对应的编号,并根据结构Ti=(IDi,VCi,Cj)找到编号对应的特征向量,重新计算各聚类中心的特征向量,取每个类中所包含的特征向量的均值作为该类的聚类中心的特征向量,这样对K个聚类中心的特征向量集合Vt进行更新,
步骤4-3-4:将新计算的聚类中心特征向量与上一次得到的聚类中心特征向量进行对比,如果不同,转至步骤4-2,按照步骤4-2的方法,数据拥有者对新计算的各聚类中心的特征向量进行加密并将重新计算的加密后的聚类中心特征向量集合Vt发送给云服务器;
步骤4-3-5:按照步骤4-3-1至步骤4-3-4的方法,重复执行步骤4-3-1至步骤4-3-4,直至各聚类中心的特征向量不再发生变化,不再发生变化的各聚类中心的特征向量将作为安全索引树当前层的非叶子节点;
步骤4-3-6:对每一个非叶子节点,如果所属非叶子节点类里的特征向量的个数大于K,则重复执行步骤4-3-1至步骤4-3-5,不断地进行迭代划分直至每个类里的特征向量的个数少于K,不足以被划分成新的K个类,当前类中的每个特征向量将作为叶子节点连接到非叶子节点。
进一步地,根据所述的基于外包K-means的加密图像检索方法,利用安全模哈希算法对所述特征向量进行加密。
进一步地,根据所述的基于外包K-means的加密图像检索方法,所述云服务器利用检索令牌和安全索引树执行图像的相似性检索的方法为:云服务器计算检索令牌Tq与安全索引树ITree上每一层的所有节点的汉明距离,找到当前层中与检索令牌最为相似的节点,来作为下一层的入口节点,直至找到叶子节点为止,然后通过加密特征向量的结构将叶子节点特征向量所对应的加密图像添加到相似图像集合中。
进一步地,根据所述的基于外包K-means的加密图像检索方法,所述数据拥有者对接收的相似图像集合进行解密的方法为:首先数据拥有者需要查看数据访问者是否存在于预设的授权表中,若是,则数据拥有者使用对称密钥对相似图像集合进行解密,解密出原始图像发送给数据访问者,反之则拒绝。
本发明具有如下有益效果:本发明方法可以解决现有基于K-means的图像检索方法不适用于资源受限的移动终端设备的问题和图像检索效率低的问题。(1)利用K-means算法来构建索引树,提高了图像检索的效率。(2)将聚类算法K-means进行外包交给云服务器来执行,在保证数据隐私的前提下,减少了资源受限设备的计算负担。(3)采用了安全模哈希算法(Secure Modular Hashing,SMH)对特征向量进行加密,使得在密文上图像的检索效率与明文上图像的检索效率相当。(4)使用了汉明距离来计算图像的相似性,与其他的相似性算法(比如:欧氏距离、余弦距离)相比计算时间更少,检索效率更高。
附图说明
图1为本实施方式基于外包K-means的加密图像检索系统的框架示意图;
图2为本实施方式基于外包K-means的加密图像检索方法的流程示意图;
图3为本实施方式中对原始图像进行加密的流程示意图;
图4为本实施方式中根据待检索图像进行相似性检索的流程示意图。
具体实施方式
为了便于理解本申请,下面将参照相关附图对本申请进行更全面的描述。附图中给出了本申请的较佳实施方式。但是,本申请可以以许多不同的形式来实现,并不限于本文所描述的实施方式。
图1是本发明的基于外包K-means的加密图像检索系统的框架示意图,所述基于外包K-means的加密图像检索系统包括三种类型的实体:数据拥有者、云服务器和数据访问者。
所述数据拥有者,是原始图像数据的所有者,如图1所示,数据拥有者首先会对每一幅原始图像提取特征向量,然后对每一幅原始图像及其特征向量进行加密,得到加密后的图像数据;将加密后的图像数据上传到云服务器;对从数据访问者接收的图像检索结果进行解密,并将解密之后得到的对应的原始图像发送给数据访问者。
所述云服务器,用于存储加密后的图像数据,并与数据拥有者进行交互构建安全索引树;利用检索令牌和安全索引树来执行图像相似性的检索,并把检索结果返回给数据访问者。
所述数据访问者,对待检索图像进行查询,数据拥有者也可以作为数据访问者;对待检索图像进行查询时,使用待检索图像来构建检索令牌,并将检索令牌发送给云服务器;接收云服务器发送的图像检索结果并将其发送给数据拥有者;接收数据拥有者发送的与待检索图像对应的原始图像。
图2是本实施方式的基于外包K-means加密图像检索方法的流程图,所述基于外包K-means加密图像检索方法包括如下步骤:
步骤1:数据拥有者对其所拥有的m张原始图像提取每一幅图像的特征向量,利用提取到的特征向量来描述图像的局部特征。
在优选实施例中,提取图像的特征向量之前,数据拥有者首先对其所拥有的m张原始图像分别进行预处理,包括图像的增强与分割、统一图像格式、统一图像规格,得到所需的标准规范的图像。
完成图像的预处理后,数据拥有者再通过调用SIFT算法来提取每一幅原始图像的特征向量,m张图像一共提取出n个特征向量,即V=(V1,V2,V3,...,Vn);
在通过调用SIFT算法得到每一幅原始图像的特征向量的过程中,首先需要输入所有原始图像来构建高斯尺度空间,并对高斯尺度空间中每两个相邻的图像作差,得到高斯差分尺度空间。然后在高斯差分尺度空间中将每个像素点和周围26个相邻的像素点进行比对找到潜在的特征极值点,并对特征极值点的方向赋值,生成128维的特征向量。生成的特征向量具有旋转不变性和尺度不变性。
步骤2:数据拥有者对每一幅原始图像及其特征向量进行加密,得到加密图像及对应的加密特征向量,将所有的加密图像及其各自对应的加密特征向量上传给云服务器;
步骤2-1:数据拥有者对每一幅原始图像进行加密;
在优选实施例中,首先数据拥有者通过调用Crypto++函数库中的AutoSeededRandomPool算法来随机生成长度为128bit的对称密钥SK。然后数据拥有者调用AES算法输入对称密钥SK,对每一幅原始图像进行加密,加密之后的图像密文集合为C={C1,C2,...,Cm};
在优选实施例中,原始图像的具体加密过程如图3所示,包括如下步骤:
1)首先,将原始图像以字节为单位的方式进行分块处理,从图像的左上角到右下角顺序地将图像按照4×4矩阵大小进行分块,如果不能划分4×4矩阵的整数倍个分块,则将不能满足4×4矩阵大小的分块的右下方的行列进行补零;
2)利用对称密钥SK对每一个4×4的矩阵都进行加密,并将加密的结果重新存入原分块;
3)将这些加密之后的分块按照顺序连接起来,作为原始图像的密文。
步骤2-2:数据拥有者对原始图像的特征向量进行加密,得到加密特征向量;
在优选实施例中,数据拥有者采用安全模哈希算法(Secure Modular Hashing,SMH)对每一幅原始图像的特征向量进行加密。具体是,假设图像特征向量Vi作为RL空间中的一点,数据拥有者调用random()算法生成一个服从高斯分布的L×J的矩阵M和一个长度为J的随机字符串S。根据公式(1)利用矩阵M和随机字符串S来计算生成了一个从RL空间到(Z/k)J空间的随机映射VCi,从而实现对特征向量的加密,加密后得到的特征向量VCi是由0和1构成。
上式中,表示为向下取整;L表示特征向量Vi的维数i=1,...,n;RL表示L维的实数空间;J表示矩阵的列数,矩阵M的每一列表示为一个/>表示为向量/>的转置,j=1,...,J;/>服从正态分布,满足/>IN表示单位矩阵,δ表示方差;字符串S中的每一位表示为Uj服从均匀分布,满足Uj~unif(0,k),k=2,j=1,...,J;Z/k表示为整数集合{0,1,...,k-1};(Z/k)J表示为J维的整数空间。
步骤3:数据拥有者对加密之后的特征向量进行编号,生成唯一标识每个加密特征向量的ID,并为每一个加密后的特征向量构建相应的结构Ti=(IDi,VCi,Cj),数据拥有者和云服务器之间建立Socket通信,数据拥有者将集合T={T1,T2,...,Tn}上传给云服务器;
其中,IDi表示加密后的特征向量VCi的编号;VCi表示加密后的特征向量;Cj表示第j个加密图像;Ti表示第i个特征向量构建的结构,i=1,...,n,j=1,...,m;
步骤4:利用K-means算法,通过数据拥有者和云服务器构建安全索引树;
步骤4-1:数据拥有者生成若干个所需聚类中心的初值;
在优选实施例中,数据拥有者首先设定K-means算法的聚类个数为K,并随机选定K个特征向量作为聚类中心的初值即聚类中心的初始特征向量。
步骤4-2:对各聚类中心的特征向量进行加密;
在优选实施例中,数据拥有者调用安全模哈希算法对各聚类中心的特征向量进行加密得到VCt′={VCt1,VCt2,...,VCtK},并将加密后的聚类中心特征向量集合VCt′发送给云服务器,其中VCt1,VCt2,...,VCtK表示为各聚类中心的特征向量Vt1,Vt2,...,VtK加密后的密文。
步骤4-3:云服务器利用K-means算法构建安全索引树结构;
本发明利用K-means算法构建安全索引树ITree来提高检索的效率,由于构建安全索引树ITree的计算代价比较高,因此数据拥有者将大部分的计算任务交由云服务器来执行,不仅减少了数据拥有者的计算代价而且提高了检索效率。
在优选实施例中,采用的K-means聚类算法与传统的K-means算法不同,传统的K-means算法通常利用欧氏距离来进行图像的相似性计算,而优选实施例中采用的是利用汉明距离来计算图像的相似性,不仅减少了聚类所需的计算量还减少了图像检索所需的时间,提高了检索的效率。
在优选实施例中,云服务器利用K-means算法构建安全索引树结构包括如下步骤:
步骤4-3-1:云服务器执行K-means聚类算法将所有加密后的特征向量划分到K个类;
在优选实施例中,云服务器通过计算每个特征向量VCi到集合VCt′中每个聚类中心的汉明距离,找到集合VCt′里距离VCi最近的聚类中心,然后将该特征向量VCi添加到与其距离最近的聚类中心对应的类中。具体方法为,根据公式(2)云服务器计算VCi到任意两个不同的聚类中心的汉明距离的差,即特征向量VCi到特征向量为VCti的聚类中心的汉明距离与VCi到特征向量为VCtj的聚类中心的汉明距离的差值comp,如果comp大于零则表示VCi到特征向量为VCtj的聚类中心更近,与VCtj更为相似,否则VCi到特征向量为VCti的聚类中心更近,与VCti更为相似。
comp=do_hamming_distance(VCi,VCti)-do_hamming_distance(VCi,VCtj) (2)
上式中,do_hamming_distance表示为计算两个特征向量之间汉明距离的函数。
步骤4-3-2:云服务器将所有的特征向量划分到K类之后,云服务器将每个类里特征向量的ID集合,记为ID={IDt1,IDt2,...IDtK},表示为返回给数据拥有者。
步骤4-3-3:数据拥有者将根据接收到的云服务器返回的每个类里特征向量的ID集合,重新计算K个聚类中心的特征向量集合Vt,记为Vt={Vt1,Vt2,Vt3,...,VtK},其中表示为每个类中所包含的特征向量的均值。
其中,VCti表示为第i个加密后的聚类中心特征向量,1≤i≤K;其中ID表示为特征向量对应编号的集合;其中IDti表示为第i个聚类中心VCti所包含的特征向量对应编号的集合;其中VCj表示为特征向量Vj加密后的结果;其中IDj表示为第j个特征向量对应的编号;其中VCti表示为第i个聚类中心所包含特征向量的集合;其中Vt表示为重新计算的聚类中心特征向量集合;其中Vt1,Vt2,Vt3,...,VtK表示为新的聚类中心特征向量;其中|VCti|表示为聚类中心VCti中所包含的特征向量的个数。
步骤4-3-4:将新计算的聚类中心特征向量与上一次得到的聚类中心特征向量进行对比,如果不同,转至步骤4-2,按照步骤4-2的方法,数据拥有者对新计算的聚类中心特征向量集合Vt进行加密并发送给云服务器。
步骤4-3-5:重复执行步骤4-3-1至步骤4-3-4,直至聚类中心特征向量不再发生变化,不再发生变化的聚类中心特征向量将作为安全索引树当前层的非叶子节点。
步骤4-3-6:对每一个非叶子节点,如果所属非叶子节点类里的特征向量的个数大于K,将重复执行步骤4-3-1至步骤4-3-5,不断地进行迭代划分直至每个类里的特征向量的个数少于K,不足以被划分成新的K个类。如果所属非叶子节点类里的特征向量的个数少于K,则不再进行划分,当前类中的每个特征向量将作为叶子节点连接到非叶子节点(即当前类的聚类中心特征向量,即父节点)。
为了加快图像检索的过程,数据拥有者将根据图像的特征向量为所有图像构建安全索引树。构建安全索引树的过程如算法1所示;
在优选实施例中,基于K-means聚类的具体过程见算法1。
该算法通过调用基于汉明距离进行划分的K-means聚类算法将所有特征向量划分到不同的类中。具体来说,调用ChildrenGen({Vi}1≤i≤n,T)算法递归地将特征向量划分为T类,直到没有类里特征向量的数目超过T个。根据算法1的输出可以看出,每幅图像的特征向量Vi与安全索引树的一个叶子节点相关联。此外,来自同一类的与特征向量相关联的叶子节点将连接到同一个非叶子节点,即父节点。本实施例生成的安全索引树ITree结构如图4所示,从图4可以看出图像的特征向量全部位于叶子节点,每个叶子节点关联着一张加密图像。
步骤5:根据输入的待检索图像,数据访问者构建检索令牌Tq并将其发送给云服务器,构建检索令牌的具体过程包括如下步骤:
步骤5-1:数据访问者按照步骤1的方法对待检索图像提取出待检索图像的特征向量Vq=(Vq1,Vq2,...VqL),其中L表示为特征向量的维数;Vq1,Vq2,...VqL表示为特征向量的元素;
步骤5-2:利用公式(3)所示的安全模哈希算法对待检索图像的特征向量Vq进行加密得到Qq,并将Qq作为待图像检索的检索令牌Tq,发送给云服务器;
上式中表示为向下取整,k的值取2,M表示为L×J的矩阵,S表示为长度为J的字符串。
步骤6:云服务器接收到数据访问者发送的检索令牌Tq之后,利用检索令牌和安全索引树执行图像的相似性检索,相似性检索的具体过程为:
步骤6-1:云服务器计算检索令牌Tq与安全索引树ITree上每一层的所有节点的汉明距离,找到当前层中与检索令牌最为相似的节点,来作为下一层的入口节点,直至找到叶子节点为止,然后通过结构Ti=(IDi,VCi,Cj)将叶子节点特征向量所对应的加密图像添加到相似图像集合Cset(Ci)中。在优选实施例中,通过公式(4)比较安全索引树ITree任意两个节点向量VCti,VCtj和检索令牌Tq的汉明距离的差值,来判断与检索令牌向量Tq最为相似的节点,在比较过程中,云服务器能够直接使用它们的密文不需要进行解密。
comp=do_hamming_distance(Tq,VCti)-do_hamming_distance(Tq,VCtj) (4)
其中,VCti,VCtj,1≤i≤n,1≤j≤n表示为安全索引树上的两个非叶子节点向量;Tq表示为检索图像的特征向量(检索令牌)。
步骤6-2:云服务器将相似图像集合Cset(Ci)返回给数据访问者。
步骤6图像查询的具体过程见算法2。
步骤7:数据访问者和数据拥有者两者之间建立Socket通信,数据访问者将得到的相似图像集合Cset(Ci)发送给数据拥有者。
步骤8:数据拥有者对接收的相似图像集合Cset(Ci)进行解密。
首先数据拥有者需要查看数据访问者是否存在于预设的授权表中,若是,则数据拥有者使用对称密钥对相似图像集合Cset(Ci)进行解密,解密出原始图像发送给数据访问者。具体是,数据拥有者根据数据访问者的身份UID查看授权表,如果数据访问者的身份UID存在于授权表中,则说明数据访问者有权限获得相应的图像,则利用自己的对称密钥SK通过AES算法对相似图像集合Cset(Ci)进行解密,恢复出对应的原始图像集合I={I1,I2,...Im}并将其发送给数据访问者,反之则拒绝。
应当理解的是,本领域技术人员在本发明技术构思的启发下,在不脱离本发明内容的基础上,可以根据上述说明做出各种改进或变换,这仍落在本发明的保护范围之内。
Claims (5)
1.一种基于外包K-means的加密图像检索方法,该方法通过基于外包K-means的加密图像检索系统实现,该系统包括三种类型的实体:数据拥有者、云服务器和数据访问者;
所述数据拥有者,是原始图像数据的所有者,负责对其所拥有的每一幅原始图像提取特征向量,然后对每一幅原始图像及其特征向量进行加密,得到加密后的图像数据;将加密后的图像数据上传到云服务器;对数据访问者发送的图像检索结果进行解密,并将通过解密得到的对应的原始图像发送给数据访问者;
所述云服务器,用于存储加密后的图像数据,并与数据拥有者进行交互构建安全索引树;利用检索令牌和安全索引树来执行图像相似性的检索,并把检索结果返回给数据访问者;
所述数据访问者,对待检索图像进行查询;对待检索图像进行查询时,使用待检索图像来构建检索令牌并将其发送给云服务器;接收云服务器发送的图像检索结果并将其发送给数据拥有者;接收数据拥有者发送的与待检索图像相似的原始图像;
其特征在于,该方法包括如下步骤:
步骤1:数据拥有者对其所拥有的每一幅图像提取特征向量,利用提取的特征向量来描述图像的局部特征;
步骤2:数据拥有者对每一幅原始图像及其特征向量进行加密,得到加密图像及对应的加密特征向量,将所有的加密图像及其各自对应的加密特征向量上传给云服务器;
数据拥有者对原始图像进行加密的方法为:数据拥有者首先通过调用Crypto++函数库中的AutoSeededRandomPool算法来随机生成长度为128bit的对称密钥SK,然后数据拥有者调用AES算法输入对称密钥SK,对每一幅原始图像进行加密;
步骤3:数据拥有者对加密特征向量进行编号,并为每个加密特征向量构建相应的结构Ti=(IDi,VCi,Cj),数据拥有者将集合T={T1,T2,...,Tn}上传给云服务器;其中,IDi表示加密特征向量VCi的编号;Cj表示第j个加密图像;Ti表示第i个特征向量对应的结构,i=1,...,n,j=1,...,m,其中m为数据拥有者拥有的原始图像总数,n为从m张原始图像中提取出的特征向量总数;
步骤4:根据加密特征向量的编号和结构,利用K-means算法通过数据拥有者和云服务器的交互构建安全索引树;
步骤5:数据访问者对输入的待检索图像提取特征向量,通过对该特征向量进行加密构建检索令牌Tq并将其发送给云服务器;
步骤6:云服务器利用检索令牌和安全索引树执行图像的相似性检索操作,得到一系列与待检索图像相似的图像,并将这些相似图像添加到相似图像集合中,再将该相似图像集合返回给数据访问者;
所述云服务器利用检索令牌和安全索引树执行图像的相似性检索的方法为:云服务器计算检索令牌Tq与安全索引树ITree上每一层的所有节点的汉明距离,找到当前层中与检索令牌最为相似的节点,来作为下一层的入口节点,直至找到叶子节点为止,然后通过加密特征向量的结构将叶子节点特征向量所对应的加密图像添加到相似图像集合中;
步骤7:数据访问者将其收到的相似图像集合发送给数据拥有者;
步骤8:数据拥有者对接收到的相似图像集合进行解密,恢复出对应的原始图像集合并将其发送给数据访问者。
2.根据权利要求1所述的基于外包K-means的加密图像检索方法,其特征在于,数据拥有者利用SIFT算法对其所拥有的每一幅图像提取特征向量。
3.根据权利要求1所述的基于外包K-means的加密图像检索方法,其特征在于,所述步骤4包括如下步骤:
步骤4-1:数据拥有者设定所需的聚类个数K,并生成每个聚类中心的初始特征向量;
步骤4-2:对各聚类中心的特征向量进行加密,并将加密后的聚类中心特征向量集合VCt′发送给云服务器;所述VCt′={VCt1,VCt2,...,VCtK},其中VCt1,VCt2,...,VCtK表示为各聚类中心的特征向量Vt1,Vt2,...,VtK加密后的密文,K为数据拥有者设定的聚类个数;
步骤4-3:云服务器利用K-means算法构建安全索引树结构,包括如下步骤:
步骤4-3-1:云服务器执行K-means聚类算法,通过计算步骤2得到的每个加密特征向量VCi到聚类中心特征向量集合VCt′中每个聚类中心的汉明距离,找到VCi距离集合VCt′里最近的特征向量,然后将该特征向量VCi添加到与其距离最近的聚类中心对应的类中,这样就将所有步骤2得到的所述加密特征向量划分到K个类里;
步骤4-3-2:云服务器将每个类里各特征向量的编号返回给数据拥有者;
步骤4-3-3:数据拥有者接收到每个类里所包含的各特征向量所对应的编号,并根据结构Ti=(IDi,VCi,Cj)找到编号对应的特征向量,重新计算各聚类中心的特征向量,取每个类中所包含的特征向量的均值作为该类的聚类中心的特征向量,这样对K个聚类中心的特征向量集合Vt进行更新,
步骤4-3-4:将新计算的聚类中心特征向量与上一次得到的聚类中心特征向量进行对比,如果不同,转至步骤4-2,按照步骤4-2的方法,数据拥有者对新计算的各聚类中心的特征向量进行加密并将重新计算的加密后的聚类中心特征向量集合Vt发送给云服务器;
步骤4-3-5:按照步骤4-3-1至步骤4-3-4的方法,重复执行步骤4-3-1至步骤4-3-4,直至各聚类中心的特征向量不再发生变化,不再发生变化的各聚类中心的特征向量将作为安全索引树当前层的非叶子节点;
步骤4-3-6:对每一个非叶子节点,如果所属非叶子节点类里的特征向量的个数大于K,则重复执行步骤4-3-1至步骤4-3-5,不断地进行迭代划分直至每个类里的特征向量的个数少于K,不足以被划分成新的K个类,当前类中的每个特征向量将作为叶子节点连接到非叶子节点。
4.根据权利要求1或3所述的基于外包K-means的加密图像检索方法,其特征在于,利用安全模哈希算法对所述特征向量进行加密。
5.根据权利要求1所述的基于外包K-means的加密图像检索方法,其特征在于,所述数据拥有者对接收的相似图像集合进行解密的方法为:首先数据拥有者需要查看数据访问者是否存在于预设的授权表中,若是,则数据拥有者使用对称密钥对相似图像集合进行解密,解密出原始图像发送给数据访问者,反之则拒绝。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110737094.0A CN113468362B (zh) | 2021-06-30 | 2021-06-30 | 一种基于外包K-means的加密图像检索系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110737094.0A CN113468362B (zh) | 2021-06-30 | 2021-06-30 | 一种基于外包K-means的加密图像检索系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113468362A CN113468362A (zh) | 2021-10-01 |
CN113468362B true CN113468362B (zh) | 2023-12-22 |
Family
ID=77876517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110737094.0A Active CN113468362B (zh) | 2021-06-30 | 2021-06-30 | 一种基于外包K-means的加密图像检索系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113468362B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750327A (zh) * | 2012-05-30 | 2012-10-24 | 合肥工业大学 | 流形表面上基于测地距离的K-means聚类多样化检索方法 |
CN106875325A (zh) * | 2017-02-14 | 2017-06-20 | 四川理工学院 | 一种可搜索图像加密算法 |
CN107315812A (zh) * | 2017-06-28 | 2017-11-03 | 武汉大学 | 一种云环境下基于词袋模型的图像安全检索方法 |
CN107480163A (zh) * | 2017-06-19 | 2017-12-15 | 西安电子科技大学 | 一种云环境下支持隐私保护的高效密文图像检索方法 |
CN111651779A (zh) * | 2020-05-29 | 2020-09-11 | 广西师范大学 | 一种在区块链中进行加密图像检索的隐私保护方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8396870B2 (en) * | 2009-06-25 | 2013-03-12 | University Of Tennessee Research Foundation | Method and apparatus for predicting object properties and events using similarity-based information retrieval and modeling |
-
2021
- 2021-06-30 CN CN202110737094.0A patent/CN113468362B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750327A (zh) * | 2012-05-30 | 2012-10-24 | 合肥工业大学 | 流形表面上基于测地距离的K-means聚类多样化检索方法 |
CN106875325A (zh) * | 2017-02-14 | 2017-06-20 | 四川理工学院 | 一种可搜索图像加密算法 |
CN107480163A (zh) * | 2017-06-19 | 2017-12-15 | 西安电子科技大学 | 一种云环境下支持隐私保护的高效密文图像检索方法 |
CN107315812A (zh) * | 2017-06-28 | 2017-11-03 | 武汉大学 | 一种云环境下基于词袋模型的图像安全检索方法 |
CN111651779A (zh) * | 2020-05-29 | 2020-09-11 | 广西师范大学 | 一种在区块链中进行加密图像检索的隐私保护方法 |
Non-Patent Citations (2)
Title |
---|
A content based image retrieval using k-means algorithm;Abduljawad A.Amory等;《Seventh international conference on digital information management》;第1-2页 * |
融合人工蜂群和混沌映射的混合视频水印算法;朱圣烽 等;《图学学报》;第39卷(第1期);第9页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113468362A (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107480163B (zh) | 一种云环境下支持隐私保护的高效密文图像检索方法 | |
JP6180177B2 (ja) | プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム | |
CN108494768B (zh) | 一种支持访问控制的密文搜索方法及系统 | |
US10554385B2 (en) | Method for providing encrypted data in a database and method for searching on encrypted data | |
WO2018184407A1 (zh) | 一种具有隐私保护的K-means聚类方法及系统 | |
US9438412B2 (en) | Computer-implemented system and method for multi-party data function computing using discriminative dimensionality-reducing mappings | |
CN111026788B (zh) | 一种混合云中基于同态加密的多关键词密文排序检索方法 | |
Liu et al. | Intelligent and secure content-based image retrieval for mobile users | |
CN108959567B (zh) | 一种云环境下适用于大规模图像的安全检索方法 | |
Yao et al. | Privacy-preserving search over encrypted personal health record in multi-source cloud | |
CN112332979B (zh) | 云计算环境中的密文搜索方法及系统、设备 | |
Yiu et al. | Outsourcing search services on private spatial data | |
CN110866135A (zh) | 一种基于响应长度隐藏的k-NN图像检索方法及系统 | |
CN115310125A (zh) | 一种加密数据检索系统、方法、计算机设备及存储介质 | |
CN108011713B (zh) | 一种云存储中基于同态加密的密文检索方法 | |
CN114142996A (zh) | 一种基于sm9密码算法的可搜索加密方法 | |
CN106874379B (zh) | 一种面向密文云存储的多维区间检索方法与系统 | |
CN109409111B (zh) | 一种面向加密图像的模糊搜索方法 | |
CN117194516A (zh) | 一种智慧医疗中面向关键字的隐私保护相似性查询方法 | |
CN113468362B (zh) | 一种基于外包K-means的加密图像检索系统及方法 | |
CN111552988A (zh) | 基于蒙特卡罗抽样的前向安全k近邻检索方法及系统 | |
CN113904823B (zh) | 常数级授权计算复杂度的属性基可搜索加密方法及系统 | |
CN115021993A (zh) | 一种可验证的公钥可搜索加密系统及方法 | |
Gao et al. | Secure approximate nearest neighbor search over encrypted data | |
Zheng et al. | An Efficient and Privacy-Preserving $ k $-NN Query Scheme for eHealthcare Data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |