使用LIRe来实现基于多特征描述符的图像检索系统

摘要 - 因为没有完美的特征描述符可以适合描述任何图像,本文提出组合不同的特征描述符来做基于内容的图像检索和使用LIRe实现图像检索系统。实验表明使用多特征描述符同时可以保持具有稳定精度的检索系统。
关键词:LIRe; 不同的特征描述符;基于内容的图像检索;

1.引言

随着技术的快速发展,数字图像采集和存储设备价格的下降,人们获得越来越多的图像。为了从大图像基准找到一个图像,我们需要一个快速和准确的图像检索方法。目前,至今实现图像检索技术可以分为两种类型,一种是基于关键字的和另一种是基于内容的。

基于关键字的图像检索需要提前人工标签图像,然后用户可以搜索基于关键字的图像。如果图像的数量变大,这种方法将花费太多的时间和能源。更重要的是,不同的人会为同一图像给予不同的标签,所以精度不能确保。最近随着网页抓取技术的发展,出现了自动标签方法。当Web爬虫程序捕获图像时,捕获图像附近的文本并使用它他们作为图像的标签。 更多流行的图像检索引擎使用这种方法。

基于内容的图像检索不同于基于关键字,它不需要提前标记每个图像。用户可以直接向检索系统提交查询图像然后系统将比较查询图像与数据库中的每个图像并根据内容的相似性返回结果。在进行比较之前,每个图像需要提取特征描述符,结果是一个特征向量,所以比较
每个图像变成比较每个特征向量。但是,图像的内容太复杂,所以没有一种特征描述符可以适合描述任何的图片。

因为没有一个完美的特征描述符适合任何图片,本文提出结合不同特征描述符进行基于内容的图像检索和使用LIRe(Lucene图像检索)[1]实现图像检索系统。详细信息为如下

2.LIRE

LIRe是一个开源的Java库并用于开发基于内容的图像检索应用。 LIRe提供两种类型的API,一种用于提取图像特征描述符,另一个用于搜索基于内容的图像。

A. LIRe组成

LIRe包含两个开源Java项目。一是Caliph&Emir,另一个是Lucene。

Caliph和Emir [2]用于提取MPEG-7图像的特征描述符。 LIRe已经扩展了基础的Caliph和Emir库。最新版本的LIRe可以提取以下特征描述符:

1)  RGB 和HSV 空间的颜色直方图;
2)  MPEG-7的颜色特征,括可缩放颜色描述符,颜色布局描述符和边缘直方图;
3)  Tamura纹理特征,包括粗糙度,对比度和方向;
4)  Gabor纹理特征
5)  颜色和边缘方向性描述符
6)  模糊颜色和纹理直方图
7)  自动颜色相关

Lucene [9]是Apache Jakarta的开源项目之一。 它是一个高性能和全功能的文本搜索引擎库。它提供了一个全文索引引擎,全文分析引擎和全文检索引擎。它适合几乎任何需要全文搜索的应用程序。

B. LIRe的原理

当使用LIRe开发图像检索系统时,第一步是提取数据库中每个的图像的特征描述符。通过Caliph&Emir的API,LIRe可以完成以上步骤并自动将结果更改为特征字符串。 获得特征字符串后,LIRe即可通过Lucene的API构建关于字符串的全文索引。

当用户提交查询图像时,检索系统也将其更改为特征字符串。然后系统进行基于全文本索引的全文检索,因此基于内容的图像检索成为全文检索。

3.基于不同特征的图像检索

因为没有完美的特征描述符可以描述任何图像,本文提出组合不同的特征描述符来做基于内容的图像检索。 我们选择由LIRe支持的6种特征描述符,有关详细信息,请看表1.每个字母代表一种特征描述符。

当基于内容搜索图像时,可以使用不同的特征描述符来对数据库中图像进行排序,在根据相似性的顺序从某个方面查询图像。 如何结合不同的特征描述符是我们图像检索系统的关键。这里我们在LIRe中使用Lucene的API。当做全文检索时,Lucene会根据查询条件的相似度给每一个返回记录一个分数。当使用特征描述符来处理图像检索时,我们可以看看这个得分作为评价数据库中的图像和查询图像之间的相似性。我们可以使用公式(1)结合所有不同的特征描述符的得分,并得到最终关于库中的每个图像的评价:

其中score(i)是图像i的最终分数,score(i,j)是使用该特征时由LIRe给出的分数描述符在表I中进行图像检索,j取值为{A,B,C,D,E,F}。

4.实验

A.实验数据

我们从Corel图像库中选择13类图像。对于每个类别,我们选择100幅图像。作为一个结果,使用1300张图像来比较效果的基于6特征描述符的图像检索基于单个特征描述符。这个图片文件的尺寸是384*256或者256*384。对于每个类别的名称和图像的样本,请看表II:

B.具体方法

对于每个图像,我们使用LIRe提取6种特征描述符,并构建6个独立的全文索引。然后为了比较不同的搜索结果图像,我们对不同类别的图像分别进行测试。对于每个类别,我们随机选择一个图像作为查询图像,并将其提交到检索系统。在接收到查询图像之后,首先,系统使用每种类型的特征索引来做基于内容的图像检索分离,并每一次返回60张最相似的图像。其次,系统对每个图像根据第三部分的方法的综合分数进行计数并再次返回60幅相似性图像。整个测试过程重复100次。每次我们将随机选择一个图像在查询图像和计数相同的类别精确度和回收后分别返回的结果。

精确度和召回率是图像检索系统效果评估的标准,以及他们计算方法请看式(2)和式(3):

通过比较平均精度和召回率基于每个特征描述符和6个特征描述符,我们可以得到结合6特征描述符可以保持检索系统具有稳定的精度。结果,请看表三和表四

C.实验分析

从表三和表四中,我们可以得到没有一个特征描述符是适合描述任何的图片。例如,当搜索图像时海滩,公共汽车和汽车,使用特征描述符A可以得到最好的精度和召回率,但当搜索沙漠时,特征D是一个不错的选择。

与使用单个特征描述符相比,无论您要搜索任何图像,结合6种特征描述符可以保持相对稳定的精度。例如,当搜索关于非洲,恐龙,大象,花和食物的图像时,结合6种特征描述符可以获得比仅使用一个特征描述符更好的结果。对于搜索关于海滩,汽车,马和山,结合6种特征描述符非常接近使用最好的结果单个特征描述符,并且差异在3%。最糟糕的结果是,当我们搜索有关公共汽车的图像时,比较最佳特征描述符A,差异为10%。表格五是关于精度和召回率的总结,见表三和表四(【】代表更好的结果比使用任何单个特征描述符()代表的其结果接近于使用单个特征的结果描述符)

五.总结

因为没有完美的特征描述符描述任何图像,并为了当检索不同图像时保持准确性的图像检索系统,本文提出结合不同的特征描述符进行基于内容的图像检索。实验表明,即使对于任何查询图像,同时使用多特征描述符也可以保持相对稳定的精度。

Reference:
http://kns.cnki.net/KCMS/detail/detail.aspx?dbcode=IPFD&dbname=IPFD9914&filename=SZZZ201208001534&uid=WEEvREcwSlJHSldRa1FhcEE0NXdnQllKSXYxbjFhd3FKZ2R6UVBwMTVpUT0=$9A4hF_YAuvQ5obgVAqNKPCYcEjKensW
4ggI8Fm4gTkoUKaID8j8gFw!!&v=MTM4MjJzY05qZlJkTEc0SDlQTXA0OUZaZTRNQ0JOS3VoZGhuajk4VG5qcXF4ZEVlTU9VS3
JpZlp1RnZGeWpzVTc3TkpW

使用LIRe来实现基于多特征描述符的图像检索系统相关推荐

  1. 从特征描述符到深度学习:计算机视觉发展20年

    转自:http://cs2.swfc.edu.cn/~zyl/ 赵毅力的视觉研究博客 从特征描述符到深度学习:计算机视觉发展20年 Author: Tomasz Malisiewicz 翻译:赵毅力( ...

  2. HTMD | 从PDB文件获取3D特征描述符

    KDEEP是使用深度学习(CNN)进行亲和力预测的预测器. 关于这篇文章,我发现了一个新的名为HTMD(高通分子动力学)的python库. 我真的不擅长从头算或MD计算等计算领域. 因此,我无法评估该 ...

  3. 计算机视觉大型攻略 —— 特征与匹配(3)特征描述符

    接上一篇文章.这篇写特征描述符.特征匹配算法在确定角点后,还需要使用描述符来描述这些角点. 本文参考书籍:Computer Vision: Algorithms and Applications, R ...

  4. 【计算机视觉】基于FREAK特征描述子的分析、仿真与思考

    这段日子研究了很多的特征点检测与匹配,基本把Harris.Fast.SIFT.SURF.ORB.Censure.Brief.Brisk等各类特征检测子与描述子的论文和原理都大致了解了一遍,并进行了仿真 ...

  5. BEBLID:增强的高效局部图像特征描述符

    (本文转载自:当SLAM遇见小王同学) 在前不久发布的OpenCV4.5中更新了很多新特性: 从4.5版本开始,OpenCV将正式使用Apache2协议,从而避免专利算法带来的潜在纠纷 SIFT专利到 ...

  6. 线特征作为视觉描述:用于视觉定位的上下文感知线特征描述符

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨paopaoslam 来源丨泡泡机器人SLAM 标题: Line as a Visual Sen ...

  7. 基于颜色布局描述符(CLD)图像特征提取算法使用Python实现简单的人脸检测功能并使用PyQt5构建简单的功能界面(数字图像处理课程实验)

    文章目录 一.环境准备 二.数据集准备 三.项目结构 四.完整参考代码 imgCode/testUI3.py imgCode/test2.py 五.运行结果 测试一: 测试二 六.参考链接 一.环境准 ...

  8. 【表情识别】基于Gabor特征实现微表情识别系统含Matlab源码

    1 简介 表情识别的研究目标是让计算机能够自动识别出人的表情信息,从而更进一步地增强人机交互的友好性及智能性.但是由于人脸表情识别涉及图像处理,计算机视觉,应用数学等学科的融合,正是由于这种多学科交叉 ...

  9. SIFT四部曲之——构建关键点特征描述符

    最近没空写最后一部分的内容,先把代码放上来 % SIFT 算法的最后一步是特征向量生成orient_bin_spacing = pi/4; orient_angles = [-pi:orient_bi ...

最新文章

  1. xp大容量u盘补丁_Win XP系统下载与安装(U盘)
  2. Codeforces Round #563 (Div. 2)/CF1174
  3. 使用docker toolbox 在windows上搭建统一环境
  4. 设计模式--状态(State)模式
  5. Spark1.x和2.x如何读取和写入csv文件
  6. 设计模式 ( 十七 ):Observer 观察者模式 -- 行为型
  7. mysql 主键外键sql_SQL外键VS主键说明了MySQL语法示例
  8. 最小路径问题_Dijkstra
  9. cdr添加节点快捷键_cdr怎么添加节点 在CDR X8怎么给曲线添加节点图文教程
  10. Selenium使用之——键盘操作方法
  11. e-Learning e-learning 创造竞争优势
  12. 计算机连接小米usb驱动,win7系统安装小米usb驱动的操作方法
  13. win easypanel安装php,windows下kangle虚拟主机-kangleeasypanel安装图文教程以及心得
  14. 基于昇腾AI异构计算架构CANN的通用目标检测与识别一站式方案初体验
  15. LintCode 两个数组的交集
  16. 【英语阅读】纽约时报 | 你妈注定让你抓狂
  17. RK3288 OTG切换为Host模式
  18. 10009---59条令人捧腹但真实的程序员编程语录
  19. 崔岩的笔记——动态时间规整算法(Dynamic Time Warping,DTW)
  20. 在Win 11下使用Visual Studio 2019和cygwin编译JBR(Java SDK 17)源码

热门文章

  1. VM虚拟机黑屏解决方法
  2. NeurIPS 2020 | MVGNN+:基于多视图图神经网络的分子性质预测
  3. execve, execlp, execvp, execle比较
  4. 创建Vue项目报错python.EXE -c import sys; print “%s.%s.%s“ % sys.version_info[:3]
  5. 关于2023年积分落户公示及落户办理有关工作的通告
  6. 利用tableau对一比分的球员数据进行可视化
  7. 基于fluxion 6.9 钓鱼wifi
  8. 飞思实验室,让无人智能科研更简单
  9. 电脑安装Easyconnect提示无法写入
  10. 设计公司的高端logo设计