实现图像检索系统大概的步骤,需要用到哪方面的知识?
我对图像检索比较感兴趣,想将毕业设计定为这个,可是不知道怎么入手,大家觉得怎么做比较好呢,大概的步骤,需要用到哪方面的知识?
.zm-item-answer"}" data-init="{"params":
{"url_token": 25833727, "pagesize": 20, "offset": 0}, "nodename":
"QuestionAnswerListV2"}" style="border-bottom-width: 1px;
border-bottom-style: solid; border-bottom-color: rgb(238, 238,
238);">
赞同2反对,不会显示你的姓名
CBIR系统的构建主要包括:
1)定义图像描述符(图像特征提取)
这一阶段,需要决定描述图像的哪一方面。图像的可描述特征很多、包括颜色、形状、纹理、能量等,而颜色有分为很多种,如颜色直方图、颜色矩等。在这一阶段,我们选定要提取的颜色特征,根据应用的不同,选取的颜色特征可以是一种或多种。
2)索引化数据集(存储)
现在有了图像描述符,接着就是将这个图像描述符应用得到数据集中的每幅图像,提取这些图像的特征,将其存储起来(如CSV文件、RDBMS、Redis数据库中),这样后续步骤就能使用以便比较。
3)定义相似矩阵
很好,现在有了许多特征向量。但如何比较这些特征向量呢?比较常用的流行的相似性度量方式有:欧几里德距离、余弦距离、或卡方距离、巴氏距离、闵式距离、相关性等。但实际中取决于两点:①、数据集;②、提取的特征类型。
4)检索
上面步骤都完成了,剩下的就是根据输入的图片,从图像库中检索相似的图像并返回了。用户会向系统提交一幅需要搜索的图片(例如从上传窗口或通过移动App提交),而你的任务是:1、提取这幅图像的特征;2、使用相似度函数将这幅图像的特征与已经索引化的特征进行比较。这样,只需根据相似度函数的结果,返回相关的图像就可以了。
/kezunhai/article/details/46417041
同样是图像检索方向的研究生,马上研三,对于这个问题,想谈谈。
图像检索这块看似小众,实则商业需求还是比较大的,从面向需求方面来看,主要有面向类别的图像检索以及针对object
retrieval_r(也作duplicate search)。
关于面向类别的图像检索,举个例子,上传一张“老虎”的图片,面向类别的图片搜索需要找到的是那些包含老虎(不管老虎是哪个品种)的图片,并将它们排在搜索结果的最前面,来个具体的:
这类针对类别的图像检索,采用CNN卷积神经网络可以解决得相当不错,因为CNN具备很强的类别泛化能力。这一类搜索主要面向图像搜索引擎。
另一类是object retrieval_r(也作duplicate
search),这一类搜索主要是对上传的一幅图片,搜索出图片中包含有该物体的图片,举个例子:
上图中是上传的一幅某建筑的图片,后面是搜索到的包含该建筑物的图片。从技术上来说,主要用BoW词袋模型、VLAD以及Fisher向量,这一类描述子因为用的是SIFT,具有光照不变形以及一定的几何旋转不变性,所以这三类差不多是科研上做object
retrieval_r(也作duplicate
search)的主流方法(工业界不知道是不是采用的这些方法)。这一类搜索需求更广,应用空间更大,比如同款衣服(鞋子)的搜索、人脸搜索、重复样本去重等等。总之这一类应用,只要你想不到的,但它们确实很多公司有这方面的需求。
所以关于图像检索这块,个人觉得掌握了BoW、VLAD、FV以及CNN就差不多,特征融合如果也熟悉的话,更好。你学这些的时候,肯定会顺带了解了计算机视觉以及机器学习方面的很多东西。所以基础理论应该没什么问题。
再说编程语言以及数据结构方面的,这一块是笔试面试时一定会考到的东西。编程语言的话,差不多都是考C++,这个得多看多练,《C++
primer》和《剑指offfer》这两本书多拿出来看看,编程语言这东西,最终还是要落到实处,不会写代码的图像检索高手,都是花架子,因为很多东西,只有在自己去实现的时候,才会发现很多细节的东西需要注意,而这些东西,我们称之为经验。
写得比较凌乱,再次总结归纳一下:掌握图像检索的基础理论以及主流的检索模型,多多写写代码。
以上,就酱紫。
基于内容的图像检索技术( CBIR,contentbased
image retrieval) [1]( 如图1 所示) 指的是用于
搜索的对象本身就是一幅图像,或者是对于图像内
容的特征描述. CBIR 进行检索的方式是通过提取
图像底层特征,计算比较这些特征和搜索对象之间
的距离,来度量两个图片的相似程度. 人们通常提
取颜色( RGB,LAB 或HSV) 、纹理、GIST[2]、尺度不
变特性转换描述子[3] ( SIFT,scale-invariant feature
transform) 和F 方向梯度直方图特征[4]( HoG,histogram
of oriented gradients) 等手工设计的特征对图像
内容进行表示. 虽然CBIR 在过去的十几年中取得
了大量的科研成果并建立起了一些研究型或商用型
的图像检索系统,但大多数的图像检索性能还不能
满足人们的要求. 究其原因,主要是底层特征和高
最近,随着深度学习[6] 的发展,卷积神经网
络[7]( CNN,convolutional neural network) 在图像识
别领域取得了重要进展,如图像分类和物体检测.
特别是,Krizhevsky 等[8]提出的CNN 架构在ILSVRC
[9]( imagenet large scale visual recognition
challenge)
中取得了巨大突破( 在图像分类任务中,性能
比传统手工设计特征的架构提升了10%) . 随后,
Razavian 等[10]工作指出,通过在大规模图像库上预
训练得到的CNN 模型可以用来提取图像的视觉特
征( CNN visual features) ,并应用于各类图像识别任
务,如场景分类和多标签分类等. 虽然CNN 在图像
识别领域取得了长足进步,但基于CNN 视觉特征的
图像检索方面的工作还很少. 主要对比分析了传统
视觉特征和CNN 视觉特征在CBIR 中的性能表现,
并提出了一些值得深入研究的方向. 贡献主要包含
以下几个方面: