基于深度学习的海量多媒体图像快速检索系统研究与实现
2024-07-23仲秋李子龙施俊宇郭海航
关键词:特征提取;特征向量;图像检索
中图分类号:TP18 文献标识码:A
文章编号:1009-3044(2024)18-0093-04
1 基于深度学习的海量多媒体图像快速检索系统研究背景
近年来网络信息行业高速发展,数字图片信息量急剧提升,如何高效率地从海量图像信息中找出自己想要的图像便成了一个重要的问题。在机器视觉的高速发展下,从之前简单的文字索引过渡到了基于内容的图像检索[1],研究各种高效算法也成了人们的热门话题。从图像检索的发展历程来看,图像检索主要经历了国内多家相关机构和高校与之相对应的图像文本检索(TBIR) 到图像内容检索(CBIR) 的两个阶段,并在图像内容检索的基础上向影像等领域的相关研究延伸。清华大学在国内863项高新技术研究课题中,针对利用图片颜色、纹理、形状等特征提取技术或样本图像检索等工具和方法,开展了“基于内容的网络图像检索”研究。浙江大学也在CBIR 这一领域开发了如Web Scope CBR等图像检索系统。中科院计算技术研究所还与北京图书馆联合对该领域的“多媒体信息检索系统”进行了研究。总而言之,CBIR在国内正在高速发展,越来越多的机构团体也都加入了研究行业。
2 基于深度学习的海量多媒体图像快速检索系统设计
2.1 颜色特征的图像检索
颜色直方图在机器视觉等多数图像检索系统中被广泛应用[2]。通过颜色直方图反映图片特征能从整体上快速找出颜色相似的图片。用户在UI界面选择“选择图片”按钮,在系统特征库构建完成后,再选择自己想要检索的图片,选择“颜色直方图”功能,系统开始预处理用户输入的图片(构建HSV色彩空间,计算色彩直方图)。然后,系统通过对预处理好的图片与相应特征资料库中的图片进行相似度比较(比较其卡方距离),对结果集合进行排序,再将相似度较高的前十幅图片返回给用户。
颜色矩能够特别有效地表现色彩特征,它不仅能表现色彩特征,而且易于通过色彩的一阶、二阶、三阶矩进行计算。用户在系统特征数据库构建结束后,在UI界面选择“选择图片”按钮,然后选择自己想要检索的图片,选择“HSV中心距”功能,系统开始对用户输入的图片进行预处理(构建HSV颜色空间,基于HSV 空间进行中心距法计算),求出分别对应H、S、V三个分量的低阶矩。然后在特征资料库中对预处理后的画面进行比对(比较其卡方距离),将比对后的结果进行排序,再返回相似度最高的前几张图片。
2.2 纹理特征的图像检索
灰度共生矩阵法是以两个位置的联合概率密度(包含角度和像素点的距离大小)来定义的计算图像的灰度图所得到的共生矩阵。它不仅反映亮度的分布特征,还反映了亮度变化的二阶统计特征,是图像纹理确定的基础。用户在系统特征数据库构建结束后,在UI 界面选择“选择图片”按钮,然后选择自己想要检索的图片,选择“纹理特征”功能。系统开始预处理用户输入的图片(通过设置的灰度值大小,将图片灰度降低),然后按角度构建灰度共生矩阵(常规为0°,90°,45°,135°) 和距离。由于其不能直接区分纹理特征,所以需要再构建部分统计量(对比度、熵、能量、逆方差)作为纹理特征衡量,并构建高维特征向量。随后,系统通过对预处理的图片与特征数据库中的图片的特征向量进行相似度比较(比较其卡方距离),对结果集合进行排序,并返回相似度较高的前十幅相似图片。
2.3 边缘特征的图像检索
Canny算子是图像边缘特征检索的重要算法[3],其不仅边缘点检测速度较快,而且检测结果也非常准确。通过Canny算子进行图像检索能够得到很好的效果。用户在系统特征数据库构建结束后,在UI界面选择“选择图片”按钮,然后选择自己想要检索的图片,选择“边缘特征”功能。系统开始对用户输入的图片进行预处理(通过高斯滤波对图像进行降噪处理,随后通过Canny算子求出图像的强度梯度,接着以非极大值抑制和双阈值法相结合求出最终的边缘特征),并描述出索引图像的特征向量。然后系统通过对预处理的图片与对应特征数据库中的图片的特征向量进行相似度比较(利用卡方距离),对结果集合进行排序,并返回相似度较高的前十幅相似图片。
2.4 SIFT 特征的图像检索
SIFT特征广泛应用于图像处理和计算机视觉领域[4]。它通过构建尺度空间来检测极值点,然后通过生成特征点的特征描述子,确定其主方向并生成对应特征向量。虽然传统方法通过欧式距离比对两幅图像的特征向量相似度,但这种方式较为烦琐。为提高效率,可以利用BoW(视觉词典)。用户在系统特征数据库构建结束后,在UI界面选择“选择图片”按钮,然后选择想要检索的图片,选择“SIFT特征”功能。系统开始预处理用户输入的图片(将图像灰度化,然后读取已经训练好的词袋模型,通过对数据库中所有图片特征描述子的Kmeans聚类形成词袋,描述索引图像的特征向量)。然后,系统通过对预处理的图片与特征数据库中的图片的特征向量进行相似度比较(计算其与图像特征库中的余弦相似度),对结果集合进行排序,并返回相似度较高的前十幅相似图片。
2.5 哈希算法的图像检索
通过哈希算法[5]对图像进行检索是一类较为高效的算法,其作用是对每一张图像生成其对应的“指纹”信息,然后通过比对指纹信息的相似度来进行图像相似度的对比。
均值哈希算法(AHash) :
均值哈希算法是一种运算速度较快但精确度较低的哈希算法。流程如下:
1) 用户在系统特征数据库构建结束后,在UI界面选择“选择图片”,然后选择自己想要检索的图片,接着选择“均值哈希”。
2) 系统开始对用户输入的图片进行预处理:将图像灰度化;缩放到8×8大小;计算图像的灰度平均值;将矩阵中的每一个像素值与平均值对比,较大者置为1,较小者置为0,生成二进制的指纹信息。
3) 系统将预处理后的图片和特征数据库中的图片特征进行相似度比较(通过计算其汉明距离)。
4) 对结果集进行排序,并返回相似度较高的前十张图片。
感知哈希算法(PHash) :
感知哈希算法在哈希算法中精确度相对较高,但运算速度相应较慢。流程如下:
1) 用户在系统特征数据库构建结束后,在UI界面选择“选择图片”,然后选择自己想要检索的图片,接着选择“感知哈希”。
2) 系统开始对用户输入的图片进行预处理:将图像灰度化;生成8×8的DCT(离散余弦变换)矩阵;计算矩阵的灰度平均值;将矩阵中的每一个像素值与平均值对比,较大者置为1,较小者置为0,生成二进制指纹信息。
3) 系统对预处理的图片与特征数据库中的图片特征向量做相似度比较(通过计算其汉明距离)。
4) 对结果集进行排序,并返回相似度较高的前十张图片。
差值哈希算法(DHash) :
差值哈希算法兼顾了运算速度和精确度。流程如下:
1) 用户在系统特征数据库构建结束后,在UI界面选择“选择图片”,然后选择自己想要检索的图片,接着选择“差值哈希”。
2) 系统开始对用户输入的图片进行预处理:将图像灰度化;缩放图片到9×8大小;将后位像素按行与前位像素值作比较,较大者置为1,较小者置为0,生成二进制指纹信息。
3) 系统将预处理后的图片和特征数据库中的图片特征进行相似度比较(通过计算汉明距离)。
4) 对结果集进行排序,并返回相似度最高的前若干张图片。
2.6 VGG16的图像检索
VGG网络在图像领域有着广泛的应用,能够很好地提取图像的有用特征。本次提取的是其最后一层的卷积特征。流程如下:
1) 用户在系统特征数据库构建结束后,在UI界面选择“选择图片”,然后选择自己想要检索的图片,接着选择“VGG-16”。
2) 系统开始对用户输入的图片进行预处理。
3) 系统通过对预处理的图片与特征数据库中的图片特征向量做相似度比较(通过计算余弦相似度)。
4) 对结果集进行排序,并返回相似度较高的前十张图片。
3 基于深度学习的海量多媒体图像快速检索系统的实现与分析
3.1 颜色特征检索分析
通过颜色特征索引的方法共有两种,一种为HSV 中心距,另一种为颜色直方图。两者均将图片从RGB 转化为HSV空间,虽然二者使用同样的颜色空间,但通过卡方距离来判定相似性时,其检索效率存在较大差异。颜色直方图法检索效率较低,而HSV中心距通过三个通道的低阶矩不仅更好地表现了图像的颜色特征,而且检索效率大大提升。图1、图2为检索结果。颜色直方图检索见图1,HSV检测见图2。
HSV 中心矩的运行时长为0.174077699999998秒。两种方式的差距还是非常直观和明显的。
3.2 纹理特征检索分析
灰度共生矩阵主要用于研究图像中灰度水平的空间依存关系(spacematrix) 。灰度共生矩阵是通过改变像素对的方向和距离来建立的,然后将统计量如能量、熵、惯性矩和相关量等作为纹理特征从这个矩阵中提取出来。最终在各个灰度级下的测试结果进行了比较。根据测试结果,当最大灰度级为32时,检索效果较好。实验结果如下:
最大灰度级为16时,见图3。
最大灰度级为32时,见图4。
最大灰度级为64时,见图5。
最大灰度级为128时,见图6。
可以发现,随着最大灰度级的增大,特征提取变得更加耗时。对比检索的准确性,当最大灰度值介于64至128时,检索的准确率并没有明显提升,并且会导致冗余的特征,极大地增加了计算时间。当灰度值为16时,检索效果又不太理想。综合考虑,设置灰度值为32时检索效果较好。
3.3 边缘特征检索分析
Canny是图像边缘检测的重要算法,其不仅在边缘点检测速度上较快,而且检测非常准确。通过预处理中的高斯滤波和非极大值抑制等操作,噪声点对Canny 算子的影响非常小。Canny算子的检索结果见图7。
3.4 SIFT 特征检索分析
SIFT(Scale-Invariant Feature Transform) 用于描述图像中的局部特征,具有尺度不变性,并且对图像大小和旋转具有鲁棒性。该算法通过三个主要流程实现特征匹配:提取关键要点、为形成描述符附加关键要点的详细信息、将特征要点进行比较并找出匹配对以建立景物间的对应关系。SIFT特征检索结果见图8。
经过测试发现,SIFT特征检索效果非常好,检索出的图片与被检索图片之间的相似度非常高。
3.5 哈希特征检索分析
基于哈希算法的图像检索方法,通过将高维度的特征内容映射到二值空间,生成代表图像的低维度哈希序列。这种方法在图像检索方面有以下好处:减少对内存的要求,提高检索速度,同时满足海量图片检索的需求。以下为测试结果。
Ahash检索结果见图9。
Phash检索,见图10。
Dhash检索,见图11。
Ahash运行时间为3.7496697902679443秒,Phash 运行时间为3.794567823410034秒,Dhash运行时间为6.925022602081299秒。经过测试发现,均值哈希在速度方面具有优势,但其检索效果并不理想。相比之下,感知哈希的检索效果较好,但速度较慢。而差值哈希则兼具了快速和良好的检索效果。
3.6 VGG-16检索分析
VGG16具有高效的检索效率。首先,通过使用3×3、步幅为1的滤镜构建卷积层,并设置Padding参数为SAME,然后使用步幅为2的2×2滤镜构建最大池化层。通过深层且不遗漏信息的卷积,实现对图像的处理。
通过检索结果可以发现,VGG-16的检索效果较优于前面的算法。VGG-16检索结果见图12。
4 结束语
在本次系统设计中,我们尝试了多种特征提取算法,包括颜色直方图、颜色矩、灰度共生矩阵、Canny算子、SIFT特征与词袋模型结合、三种哈希算法以及深度学习中的VGG-16模型。总体而言,这些算法都能实现图像检索,但其检索效果和速度存在较大差异。
面对如今各类优秀算法和神经网络模型的发展,我们需要深入理解图像特征提取的本质。只有深入理解传统数字图像特征提取的工作原理,才能更好地进行算法设计和模型搭建。