Video Representation Learning Using Discriminative Pooling 阅读

本文探讨了在某些问题中时序不重要的情况下,如何改进现有的池化方法使其更具辨别力。文中提到通过修改损失函数为铰链损失,并怀疑当前提出的SVM池化方法是否适用于复杂背景或动态场景。

It enables MIL into the hinge loss.

他们觉得有些问题,时序不那么重要,pooling本身也不够discriminative,但是可以改进。怎么改,改loss

I suspect if the proposed SVM pooling methods work for complex backgrounds, say, dynamic scenes. 

### NetVLAD 算法概述 NetVLAD 是一种基于深度学习的场景识别算法,最初由 Arandjelović 等人在 2016 年提出。它是一种改进版的 VLAD (Vector of Locally Aggregated Descriptors),旨在通过卷积神经网络(CNN)提取特征并对其进行编码[^1]。 #### 原理 NetVLAD 的核心在于设计了一个特殊的网络层——NetVLAD 层,用于替代传统 VLAD 方法中的手动特征处理过程。具体来说,NetVLAD 将 CNN 提取的局部特征映射到多个聚类中心,并计算这些特征相对于各自最近邻聚类中心的距离和方向偏差。这种操作使得原始高维特征被压缩成一个固定长度的描述符,同时保留了丰富的空间信息。 为了支持端到端训练,研究者还开发了针对 NetVLAD 层的反向传播算法,允许整个网络从头至尾联合优化。此外,论文提出了基于三元组损失函数(Triplet Loss)的学习策略,即使面对含噪声标签的数据集也能有效提升模型性能。 #### 实现细节 以下是 NetVLAD 的主要实现步骤: 1. **输入准备**: 使用预训练好的 CNN 模型(如 VGG 或 ResNet),获取图片的最后一层卷积输出作为初始特征图。 2. **特征量化**: 对上述特征图执行降采样操作后送入 NetVLAD 层。此过程中会定义 K 个可学习的聚类中心 {c_k} 和对应的权重矩阵 W_a, W_b 来完成软分配任务。 3. **残差累积**: 计算每个局部特征与其最接近聚类中心之间的差异向量,并按类别累加形成最终全局表示 v ∈ R^(d×K) ,其中 d 表示原特征维度大小而 K 则代表簇的数量设置值。 4. **标准化处理**: 最终得到的结果需经过 L2 正则化以及幂次变换等后续调整措施以增强鲁棒性和泛化能力。 下面是一个简单的 PyTorch 实现片段展示如何构建自定义模块 `NetVLAD`: ```python import torch.nn as nn import torch class NetVLAD(nn.Module): def __init__(self, num_clusters=64, dim=128): super(NetVLAD, self).__init__() self.num_clusters = num_clusters self.dim = dim # 可学习参数初始化部分省略... def forward(self, x): N, C, H, W = x.shape flattend_x = x.view(N,C,-1).permute(0,2,1) soft_assignments = F.softmax(torch.matmul(flattend_x,self.cluster_weights)+self.bias,dim=-1) residual = flattend_x.unsqueeze(-1)-(soft_assignments.unsqueeze(-2)*self.centroids) cluster_res = residual.sum(dim=1) vlad = cluster_res.permute(0,2,1).contiguous().view(N,-1) return F.normalize(vlad,p=2,dim=1) ``` #### 应用领域 由于具备强大的表达能力和高效的存储需求特性,NetVLAD 已广泛应用于多种计算机视觉任务之中,包括但不限于地方重定位(place recognition), 图像检索(image retrieval), 视频摘要(video summarization)等领域。例如 Patch-NetVLAD 方法即是在原有基础上进一步提升了大规模地理环境下的位置辨识精度;而在 NeXtVLAD 中,则探索出了更加紧凑且高效的时间序列建模方式以便应对海量多媒体数据分析挑战][^[^23]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值