VLAD NETVLAD

VLAD:

先用sift对图像提取特征点并计算其描述子.对一张图像的n个d维的描述子进行聚类得到k个聚类中心,对每个类所包含的描述子减去聚类中心后求和得到一个向量,k个类别就得到k个d维向量,用这k个d维向量去表达一张图像

NETVLAD:

改进1: 用所有描述子对每一个聚类中心的差值求加权平均和.即对描述子到聚类中心的差值乘以一个权重再去求和.权重是所有描述子到聚类中心距离再做一个softmax得到的.

改进2: 引入卷积网络直接对一张图像提取这k个d维向量

网络: 一张图像经过卷积得到wxhxd的featuremap,用N表示wxh,然后网络分成两个分支,一个分支对N个d维向量计算出k个聚类中心.另一个分支去计算权重.计算完权重和聚类中心就可以减去聚类中心加权求和后得到一张图的kxd的向量表达.

计算N个描述子到K个聚类中心的权重,结果应该是Nxk的矩阵.计算权重的分支对wxhxd的fm用k个1x1卷积核卷积得wxh x k的fm,代表N个k维向量,每个k有N个向量,用每个k下的N个向量求softmax,得到描述子到每个聚类中心加权的权重.

总结:不再需要提取特征点即可得到一张图的向量表达,就没有特征点了.

参考:NetVLAD原理详解和推导-CSDN博客

NeXtVLAD:

对网络做了改进,加了残差连接和多尺度的网络结构(一层出来经过多个不同尺度的卷积核的结果再融合到一起)

参数量从netvlad的268MB降低到netxtvlad的 71MB

参考:NetVLAD系列代码串讲 - 知乎

用chatgpt总结一下:

本文讨论了图像特征提取和表达的相关技术,包括 SIFT、VLAD、NETVLAD 和 NeXtVLAD。关键要点包括:

  • VLAD:对图像的描述子进行聚类,得到聚类中心,然后对每个类所包含的描述子减去聚类中心后求和,用这 k 个 d 维向量去表达一张图像。

  • NETVLAD:对 VLAD 进行改进,用所有描述子对每一个聚类中心的差值求加权平均和,并引入卷积网络直接对一张图像提取这 k 个 d 维向量。

  • NeXtVLAD:对网络做了改进,加了残差连接和多尺度的网络结构,降低了参数量。

相关推荐
HyperAI超神经1 小时前
扰动实验+迁移学习,MIT团队推出IRIS,用「指纹」重建单细胞信号传导历史
人工智能·深度学习·机器学习·迁移学习
Rocky Ding*2 小时前
一文读懂MiniCPM5-2B:端侧 Agent 的突破,不是“小模型打赢大模型”,而是训练系统开始开源
论文阅读·人工智能·深度学习·机器学习·aigc·ai-native·minicpm5-2b
葫三生3 小时前
《论三生原理》神话学构想与“神话历史”理论、《古史中的神话》思路异同?
大数据·人工智能·科技·深度学习·算法
陈年老古董4 小时前
PyTorch食物图像分类实战:从数据集制作到CNN模型训练全流程详解
pytorch·深度学习·学习·机器学习·分类·cnn
2601_962301016 小时前
深入探索 TensorFlow 2.0:Python 中的强大深度学习框架
深度学习·分布式训练·keras·tensorflow2.0·eagerexecution
方方洛7 小时前
vllm教程-19-模型架构基础
人工智能·深度学习·llm
weixin_429630268 小时前
17.5 基于角加速度计与陀螺仪融合的深度学习辅助卡尔曼滤波低成本姿态估计
人工智能·深度学习
2601_962300819 小时前
用PyTorch Lightning简化空间分析:Python和机器学习的力量
python·深度学习·机器学习·空间分析·pytorchlightning
June bug9 小时前
【HCIA- AI(正课)】2.6.Transformer架构和Diffusion结构介绍
人工智能·深度学习·transformer
weixin_408266349 小时前
深度学习-nuscenes数据集关系
深度学习