局部特征与图像检索

2024-08-22 11:38
文章标签 图像 检索 特征 局部

本文主要是介绍局部特征与图像检索,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Exploiting Local Features from Deep Networks for Image Retrieval 阅读笔记

摘要

这篇⽂章发表在CVPR 2015 workshop上,是来⾃于马⾥兰⼤学帕克学院Joe Yue-Hei Ng等⼈的⼯作。近期的很多研究⼯作表明,相⽐于全相连层的输出,卷积层的特征图谱(feature map)更适⽤于实例搜索。本篇⽂章介绍了如何将卷积层的特征图谱转化为“局部特征”,并使⽤VLAD将其编码为图像特征。另外,作者还进⾏了⼀系列的相关试验去观察不同卷积层的特征图谱对实例搜索准确率的影响。(摘自深度学习大讲坛)

两个问题

1、默认的,CNN一般用于分类任务,使用最后一层(或者说高层)的特征作为分类依据,主要原因是高层捕获了更多语义特征(整体特征),但是实例的局部特征(比如说纹理,颜色等)没有很好的保留。对于图像检索而言就有这样的问题:同一类别的两个外观不同的实例不能被区分。
这里写图片描述
2、一般的我们都会假设测试时输入图片和训练时的图片大小相同。但是每个卷积层的特征会一定程度地随输入图片尺度的不同而变化。

具体想法

1、卷积网络
实验是基于GoogLenet和OxfordNet(VGG-16),使用ImageNet上预训练的权值。CNN在这里的作用只是为了提取特征,且这里需要验证输入图片尺寸对卷积特征的影响,因此不需要全连接层。GoogLenet本就是全卷积网络,而Oxford需要将最后的全连接层去掉。
2、提取特征
输入图片 I ,首先缩放成n×n,进行前向传播,第 l 层的特征图Ml的维度为 nl×nl×dl 。为了简单表示,令 nls=nl×nl 。在特征图 Ml 的每个位置 (i,j) 1i,jnl ,可以获得 dl 维的特征向量 fli,jRdl 。这样第 l 层可以获得nls个特征向量,表示为 Fl={fl1,1,fl1,2,...,flnl,nl}Rdl×nls
3、VLAD编码
这里写图片描述
通过VLAD编码将第 l 层的卷积特征Fl转化成 dl×k 维的特征向量 vl (k为k-means聚类中心的数目,实验中k为100)。但是这样得到的VLAD描述子维度和相关性依然很高,因此需要进一步使用PCA降维(实验中降为128维)和白化操作(解相关)。

实验结果

这里写图片描述
1、不同卷积层特征对检索结果的影响:
可以看到,mAP先随着层深度的增加而提升,达到顶峰,在更高的层中,mAP又开始下降,说明了并不是越高层的特征对图像检索而言越好,反而是中间偏上层达到最佳效果。这也说明了图像检索与图像分类的不同之处!图像检索需要局部特征(低层特征),在如今网络结构越来越深的情况下,尤其需要注意,太高层的特征丢失了很多实例特征。
2、输入图片的尺寸对检索结果的影响:
根据前人的经验,应用多尺度(Multi-Scale)显著提高检索效果(如:MOP-CNN)。这里使用了两个尺度:scale1( n×n ),scale2( 2n×2n )。
实验结果表明,对于高分辨率图片,高层特征依然可以保留局部特征,直观上可以理解为是感受野的原因。同样一个局部细节,高分辨率图片需要更大的感受野来提取特征。

Correspondence visualization

这部分我是参考《Do Convnets Learn Correspondence?》这篇论文来理解的,通过特征非参数化重构图片。具体做法是将第 l 层的特征图Ml中每个特征向量 fli,jRdl 与原始图像块关联起来,图像块位于感受野的中央,大小为感受野的步长。
对于AlexNet(具体怎么算参考感受野的计算):
这里写图片描述
将原始图片中每个图像块用数据库中k近邻(图像块对应的特征向量得到的k近邻)的图像块像素的平均值进行替换。

这篇关于局部特征与图像检索的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1096169

相关文章

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

AI基础 L9 Local Search II 局部搜索

Local Beam search 对于当前的所有k个状态,生成它们的所有可能后继状态。 检查生成的后继状态中是否有任何状态是解决方案。 如果所有后继状态都不是解决方案,则从所有后继状态中选择k个最佳状态。 当达到预设的迭代次数或满足某个终止条件时,算法停止。 — Choose k successors randomly, biased towards good ones — Close

OmniGlue论文详解(特征匹配)

OmniGlue论文详解(特征匹配) 摘要1. 引言2. 相关工作2.1. 广义局部特征匹配2.2. 稀疏可学习匹配2.3. 半稠密可学习匹配2.4. 与其他图像表示匹配 3. OmniGlue3.1. 模型概述3.2. OmniGlue 细节3.2.1. 特征提取3.2.2. 利用DINOv2构建图形。3.2.3. 信息传播与新的指导3.2.4. 匹配层和损失函数3.2.5. 与Super

Verybot之OpenCV应用一:安装与图像采集测试

在Verybot上安装OpenCV是很简单的,只需要执行:         sudo apt-get update         sudo apt-get install libopencv-dev         sudo apt-get install python-opencv         下面就对安装好的OpenCV进行一下测试,编写一个通过USB摄像头采

《计算机视觉工程师养成计划》 ·数字图像处理·数字图像处理特征·概述~

1 定义         从哲学角度看:特征是从事物当中抽象出来用于区别其他类别事物的属性集合,图像特征则是从图像中抽取出来用于区别其他类别图像的属性集合。         从获取方式看:图像特征是通过对图像进行测量或借助算法计算得到的一组表达特性集合的向量。 2 认识         有些特征是视觉直观感受到的自然特征,例如亮度、边缘轮廓、纹理、色彩等。         有些特征需要通

【python计算机视觉编程——7.图像搜索】

python计算机视觉编程——7.图像搜索 7.图像搜索7.1 基于内容的图像检索(CBIR)从文本挖掘中获取灵感——矢量空间模型(BOW表示模型)7.2 视觉单词**思想****特征提取**: 创建词汇7.3 图像索引7.3.1 建立数据库7.3.2 添加图像 7.4 在数据库中搜索图像7.4.1 利用索引获取获选图像7.4.2 用一幅图像进行查询7.4.3 确定对比基准并绘制结果 7.

【python计算机视觉编程——8.图像内容分类】

python计算机视觉编程——8.图像内容分类 8.图像内容分类8.1 K邻近分类法(KNN)8.1.1 一个简单的二维示例8.1.2 用稠密SIFT作为图像特征8.1.3 图像分类:手势识别 8.2贝叶斯分类器用PCA降维 8.3 支持向量机8.3.2 再论手势识别 8.4 光学字符识别8.4.2 选取特征8.4.3 多类支持向量机8.4.4 提取单元格并识别字符8.4.5 图像校正

HalconDotNet中的图像特征与提取详解

文章目录 简介一、边缘特征提取二、角点特征提取三、区域特征提取四、纹理特征提取五、形状特征提取 简介   图像特征提取是图像处理中的一个重要步骤,用于从图像中提取有意义的特征,以便进行进一步的分析和处理。HalconDotNet提供了多种图像特征提取方法,每种方法都有其特定的应用场景和优缺点。 一、边缘特征提取   边缘特征提取是图像处理中最基本的特征提取方法之一,通过检

超越IP-Adapter!阿里提出UniPortrait,可通过文本定制生成高保真的单人或多人图像。

阿里提出UniPortrait,能根据用户提供的文本描述,快速生成既忠实于原图又能灵活调整的个性化人像,用户甚至可以通过简单的句子来描述多个不同的人物,而不需要一一指定每个人的位置。这种设计大大简化了用户的操作,提升了个性化生成的效率和效果。 UniPortrait以统一的方式定制单 ID 和多 ID 图像,提供高保真身份保存、广泛的面部可编辑性、自由格式的文本描述,并且无需预先确定的布局。

Winfrom中解决图像、文字模糊的方法

1.添加清单 2.将清单中的下面内容取消注释