基于随机映射特征的密文图像检索方法研究

 2022-01-17 11:01

论文总字数:23812字

目 录

1.引言 1

1.1课题研究的背景和意义 1

1.2本课题的国内外的研究现状 1

1.3本文所做的主要工作 2

2.课题相关工具及技术介绍 3

2.1 MATLAB介绍 3

2.2 AES加密算法介绍 3

2.3 词袋模型(bag of words) 7

2.4 K-means聚类 8

2.5 激活函数 9

3.算法介绍 9

3.1 图像加密 10

3.1.1 AES加密图像 10

3.1.2 像素值替换加密算法 11

3.1.3 像素位置置乱加密 13

3.2 随机特征提取 14

3.2.1局部特征提取 14

3.2.2 词汇构成 15

3.2.3特征向量生成 15

4.实验 15

4.1 图像库 15

4.2 实验流程 16

4.3实验结果与分析 16

4.3.1 AES加密实验 16

4.3.2像素值映射加密实验 17

4.3.3像素位置置乱加密实验 18

5.结论与展望 19

参考文献 19

附录 算法各部分核心代码 21

致谢 25

1.引言

1.1课题研究的背景和意义

在当前社会,随着互联网的发展以及数码相机,图像扫描仪等图像捕获设备可用性的提高,图像的应用日益广泛,在我们的生活中处处可见,被各个领域的用户所使用。与此同时,数字图像的数量也在急剧增加,为了使用户能快速,高效,准确的搜索到所需要的图像信息,并能对数据库中的图像进行有序的组织和管理,图像检索技术应运而生。

图像检索一直是人们研究的热门话题。对图像检索技术的研究,主要经历了两个过程。人们首先使用的是基于文本技术(TBIR)。TBIR是通过关键字或描述手动注释数据库中的图像。[2]但它有着严重的缺陷。第一个缺点是通常必须手动输入最具描述性的注释。 随着图像库的图像数据逐渐增多,该方法实现变得愈发困难。 第二个缺点是大多数图像的内容非常丰富,并且有更多细节。 由于不同人对图像的理解不同,使得图像的注释各有不同,很难进行图像检索。 此外,文本注释是依赖语言的。随着大量图像的生成,TBIR的缺陷越来越明显,这也推动了CBIR技术的发展。CBIR技术是根据检索图片的特征和图像库中的图像特征进行比对,输出相似图片。目前,已经对CBIR技术进行广泛的研究并将其应用在其他的领域。

但是,由于图像数量不断增多,图像存储所需的空间比较大,在本地进行图像存储难度偏高并且图像检索拥有较高的时间和空间复杂度。随着云计算技术的发展,图像所有者逐渐将图像存储在云服务器上,并将大量的图像检索工作外包给云服务器进行处理。但是目前而言,云服务器并不能保证不会泄露存储在云端的数据信息,这样使得我们的信息的安全性无法得到保证。为了保护隐私,用户倾向于在传输到服务器之前加密多媒体数据。数据加密可有效的保护数据隐私,但与此同时,也会使得现有的明文信息检索技术无法直接使用。

为了用户将加密的图像数据传输到云服务器而不妨碍图像信息检索。本文提出了一种检索方法:提取随机映射特征进行图像检索方法,该方法可以在加密图像中使用,在保护了图像信息的同时实现了图像检索。使用这种方案时,加密的图像特征也可以用来描述图像,检索时利用提取到的加密图像特征也可以得到一定的检索效果。

1.2本课题的国内外的研究现状

基于内容的图像检索(CBIR)在20世纪90年代初期被引入。[3]随着人们对图像的需求日益增多,推动了对CBIR技术研究的发展。云计算的兴起,使得人们想要将CBIR技术外包给云服务器来实现。在云服务器并不可信的条件下,为了在加密的多媒体数据库中提供隐私保护和有效的检索服务,开发图像检索技术变得非常有必要。

云计算的兴起,同时促进发展了密文检索技术研究。加密文本检索的研究开始于21世纪初,发展至今已获得了较为丰富的研究成果。相对于加密文本检索,密文图像检索的研究起步较晚,其功能和性能都有待于进一步完善和提高。卢等人于2009年提出了加密的图像数据库上的第一个隐私保护CBIR方案。 该方案利用视觉单词组来表示图像,图像之间的相似性通过视觉单词集之间的Jaccard距离来度量,最小哈希算法和保序加密被用来保护视觉单词。同年,卢等还分析了三种支持相似度计算的图像特征加密算法,其中位平面随机化和随机一元编码支持加密域中海明距离的计算。随机投影支持加密域中L1距离的近似计算。Ferreira等提出了一个支持密文图像检索的图像加密算法。该算法将图像的颜色信息和纹理信息分开处理,纹理信息采用随机性加密算法(Probabilistic Encryption)进行加密,以保护图像内容;颜色信息采用确定性加密算法(Deterministic Encryption)进行加密,以支持基于加密颜色直方图的图像检索。

词袋模型,首先是用于文本中的词汇分类,在这里,文本是由单词组成的,单词之间没有关联,根据单词出现的次数来将不同的文本进行分类[7]。2004年Gabriella Csurka,Christopher R. Dance等人提出了一个新的图像分类方法,该方法利用了词袋模型[8]。在此基础上,有人提出了视觉词袋模型的概念,将词袋模型从文本领域移植到了图像领域。[9]视觉词袋(BoW)图像表示已被用于视频事件检测和大规模图像检索等。最近,已经证明,BoW图像表示是大规模图像和视频数据库检索任务中最有前途的方法之一。

1.3本文所做的主要工作

本文将词袋模型用于CBIR外包,提取随机映射特征进行检索。该方法用在加密域中;对加密的图像进行分块提取局部随机映射特征,然后将局部随机映射特征汇集在一起进行K-means聚类,得到视觉单词;最后对图像提取视觉单词直方图,并比较直方图间的曼哈顿距离,检索出相似图片。

下面是本论文主要完成的工作:

1)通过阅读相关文献,了解基于内容的图像检索流程和词袋模型,并且对一些图像加密算法有一定的认识,例如AES加密。

2)根据CBIR和词袋模型,确定本论文图像检索方法的具体流程,并且完成算法的实现。本文需要的算法有: AES图像加密,构建随机映射特征库,在特征库中聚类生成视觉单词,利用特征向量进行检索等。

3)实验。在MATLAB平台进行实验,对算法进行编写,得出检索精度。对检索精度结果进行分析,总结本课题研究的方法的不足和可行性以及可能提高可行性的办法。

本论文的内容结构安排如下:

第一章为绪论。该章主要介绍了图像检索技术的历史研究,本课题提出的原因,本课题相关内容的研究现状和本文所做的研究。

第二章为课题相关工具及技术介绍。该章对实验所需的平台MATLAB进行描述,并且介绍了研究所需的加密算法——AES加密算法和论文提出的检索方法所基于的框架——BOW,以及介绍了聚类算法k-means和激活函数。

第三章为算法介绍。详细的介绍了研究所需的加密方法,本课题所提出的检索方法的检索流程和流程中各步骤的具体实现过程。

第四章为实验结果与分析。该章重点是对本课题所提出的检索方案的可行性进行验证,编写代码进行图像检索实验,得出检索结果并对检索结果进行分析。

最后为结论与展望,对基于随机映射特征的密文图像检索所做的研究工作进行了总结,并通过对实验结果的分析总结本系统存在的不足以及今后的改进方向。

2.课题相关工具及技术介绍

本章首先对实验研究所基于的平台——MATLAB进行描述,接着对所提出的研究方法所需要的加密方法——AES进行介绍,其次对本课题的研究方法所基于的框架——词袋模型(BOW)进行介绍,然后对研究方法所使用的聚类方法——k-means聚类方法进行介绍,最后介绍一下为了改进精确度使用的激活函数。

2.1 MATLAB介绍

MATALB是由美国MathWorks公司推出的一种科学计算软件,常用于数学和计算机领域。其操作简单,功能庞大,可以进行数值图像处理并且提供许多矩阵处理函数。MATLAB中提供了大量的图像处理工具箱,可以用来进行图像处理,这些工具箱含有大量的图像处理函数,进行图像处理工作时使用这些函数,节省了大量代码编写的时间,避免重复的工作,达到事半功倍的效果。[10]一般,图像在MATLAB中是用矩阵进行表示的,图像处理基本上是进行矩阵运算,而MATLAB矩阵处理功能较强,所以使用MATLAB进行图像处理有较好的效果。

2.2 AES加密算法介绍

随着计算机计算能力的增强,原来作为数据加密算法标准的DES算法,由于密钥长度的原因不能很好的支持加密,人们开始寻找新的加密标准。1997年9月,美国国家标准与技术研究院(NIST)宣布新的高级加密标准来代替原来的DES,并公开征集高级加密标准的算法。2000年10月2日,NIST从15种候选算法,选出Rijndael算法作为高级加密标准,即AES加密算法。[11]目前,AES加密算法是世界范围内流行的对称加密算法。

高级加密标准(AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。AES把明文分组,每组长度相等,每次加密一组数据,直至加密完整个明文。在AES标准规范中,明文分组长度固定不变为128位,也就是说,每个分组为16个字节(每个字节8位)。但是密钥的长度可以有128位、192位或256位。[13]AES并不是仅仅加密一次,而是需要进行多轮加密,对于不同的密钥长度,加密轮数不同,如表1所示。实验的密钥是128位。加密过程需要进行10轮。

表1 AES加密轮数

AES

密钥长度(位)

分组长度(位)

加密轮数

AES-128

128

128

10

AES-192

192

128

12

AES-256

256

128

14

AES加密开始之前将128位的分组明文改写成4*4大小的字节矩阵,矩阵每个元素为一个字节,即8位,这个矩阵记为状态矩阵。将128位密钥改写成类似的矩阵,每一列记为一个字,得到密钥初始字节序列。密钥如图1所示[13]。

K1

K5

K9

K13

K2

K6

K10

K14

K3

K7

K11

K15

K4

K8

K12

K16

W[0]

W[1]

W[2]

W[3]

……

W[42]

W[43]

图1 密钥序列

本文实验中,AES加密需要进行10轮,加密的前9轮执行的步骤相同,每个步骤按顺序执行4个操作:字节代换、行位移、列混合和轮密钥加。最后一轮不必列混合。值得一提的是,在第一轮处理开始之前,需要将明文和初始密钥矩阵进行异或逻辑运算。

剩余内容已隐藏,请支付后下载全文,论文总字数:23812字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;