阅读YOLOX:Making Still Image Object Detectors Great at Video Object Detection

论文提出了一种新的视频目标检测方法YOLOV,它在YOLOX的基础上设计了特征融合器,通过Transformer结构强化特征表示。为了避免余弦相似度的限制,采用了平均池化操作过滤低置信度值。在ImageNetVID数据集上,YOLOV实现了超过40FPS的帧率和85.5%的AP50精度,兼顾实时性和准确性。
摘要由CSDN通过智能技术生成

论文链接:https://arxiv.org/abs/2208.09686

论文代码:https://github.com/YuHengsss/YOLOV

背景

视频目标检测可以认为是目标检测的进化版本,不同于目标检测仅利用当前帧的特征信息来定位物体,视频目标检测可利用前后帧的时空关联信息,作为一种信息补偿,来加强当前帧的特征,由此提高检测效果。基于此优势,视频目标检测引起了研究者的关注,目前主流的视频目标检测主要依赖于双阶段目标检测的框架,因为此框架能利用RPN网络显示捕获目标大致的特征候选区域(proposals),基于此特征候选区域,能高效关联前后帧物体的特征区域,进而做到信息的迁移和复用,能较好的使用与各自视觉任务,比如语义分割和视频目标追踪,因此在视频目标检测领域取得了不错的精度。但是受二阶段目标检测框架本身的限制,即需要花费大量时间在生成和处理proposals,导致实时性方面远不足一阶段检测器,很难满足一些高实时性项目。因此,本文的贡献在于设计出一个网络结构,将两种框架的优势进行整合,在视频目标检测任务上,既做到高时效性又做到高精确性。

贡献点

  1. 在一阶段检测器(yolox)上设计出一种高效且简单的特征融合器,去指导特征融合的方向,进而加强当前帧的特征表示
  2. 为了进一步减轻余弦相似度生成的注意力系数对前后帧特征融合的限制,在特征融合前,引入了类似的平均池化操作,用于过滤低置信的余弦相似值,减轻异常值比如较高或者较低值对特征融合的影响。
  3. 用单一的2080Ti,在imageNet VID 视频数据集上取得了40+FPS, 85.5% AP50的精度。

具体描述

本文主要利用了transformer能高效建模序列中不同token间的关联性,关联度较高的给与高权重,反之亦然,利用生成的权重对进行加权求和,使得该token能利用全局信息来更新自身特征。这点刚好符合视频追踪的关键,即如何利用之前帧的时空特征来加强当前帧的特征。本文的做法如下

                                                                     结构图

特征选择器

本文所选取的一阶段检测器为YOLOX,YOLOX是双分支结构,即分类分支和回归分支,在最终的

输出结果上,会生成大量的低置信度的候选区域,然后对这些候选区域依据分类分支上的置信度得分进行排序,选择前k个置信度较高的候选区域,接下来对选择出的k个候选区域进行NMS,最终将会获得\alpha个质量较高的获选区域。本文并没有将该\alpha个获选区域在分类分支上进行特征融合,因为特征融合器的初始化参数是随机的,若是直接加载在分类分支上,利用梯度回传进行参数更新,会破坏原始的YOLOX的权重信息,这样会导致训练不稳。因此本文冻结了YOLOX的backbone和head,只微调特征投影层,也就是YOLOX整体权重在训练期间不发生变化,同时本文在YOLOX的neck处插入一个视频目标分类分支,用于产生送入特征融合器的特征。

特征融合模块

特征融合模块所需的输入来自于特征选择器从f个帧所挑选出的高质量的\alpha个获选区域,即\mathcal{ F } = \left \{ C_{1},C_{2}......C_{f};R_{1},R_{2}.....R_{f} \right \},其中C_{i} \in \mathbb{R} ^{d_{p}\times a} = \left [ c_{i}^{1},c_{i}^{2},......c_{i}^{a} \right ]R_{i} \in \mathbb{R} ^{d_{p}\times a} = \left [ r_{i}^{1},r_{i}^{2},......r_{i}^{a} \right ]分别表示了第i帧分类分支和回归分支的输出结果,其中d_{p}每个候选区域的特征维度,接下来对\mathcal{ F } 进行处理,生成满足transformer结构的输入形式,即Q_{c}\in \mathbb{R} ^{fa\times d} = LP(\left [ C_{1},C_{2},....C_{f} \right ]^{T})  和 Q_{R}\in \mathbb{R} ^{fa\times d} = LP(\left [ R_{1},R_{2},....R_{f} \right ]^{T}),其中LP

表示的是线性投影层,将d_{p}维度变为d,同时结构图中的K_{c}K_{r}V_{c}也通过类似的方式产生,代码中所表示的为将LP(\left [ R_{1},R_{2},....R_{f} \right ]^{T})中的线性投影层输出channel设置为3d,最后在channel上经过split,即可生成Q_{R}\in \mathbb{R} ^{fa\times d}K_{R}\in \mathbb{R} ^{fa\times d}V_{R}\in \mathbb{R} ^{fa\times d},其中V_{c}K_{c}类似。然后在Q_{c}Q_{r}上计算不同候选区域的余弦相似值,A_{c} = {Q_{c}K_{c}^{T}}/\sqrt{d}A_{r} = {Q_{r}K_{r}^{T}}/\sqrt{d}, 若是单纯的利用transformer结构计算出的A_{c}A_{r},论文中说会引发同质性问题,也就是若前一帧检测效果不佳,会将结果反应到当前帧上,这对于当前帧的检测效果会产生不利影响,因此本文维持了原始目标检测(YOLOX)的检测结果,在每次计算完A_{c}A_{r}后,会和初始的检测结果进行点乘,这样我理解的好处为利用最初的检测结果对当前计算的相似值进行重构,使得模型即使在当前帧之前遇上检测效果不佳的情况,也能利用最初始的检测效果进行微调,降低该不利影响,具体做法如下:

P\in \mathbb{R} ^{2\times fa} = \left \{ {P_{1},P_{1},.....P_{f}} \right \} ,其中P_{i}包含了分类分支和回归分支的得分,然后对P重复fa次,形成S_{r} \in \mathbb{R} ^{fa\times fa}S_{c} \in \mathbb{R} ^{fa\times fa}.最终产生的分类和回归的注意力权重系数为

SA_{c}(C) = softmax(S_{c}\circ A_{c})V_{c}

SA_{R}(C) = softmax(S_{r}\circ A_{r})V_{c}

其中\circ表示的是点乘,论文实验展示,对自注意权重经过上述更改会产生更优的结果,其中论文表明将上述SA_{c}(C)SA_{R}(C)V_{c}进行concat,类似于残差结构,这样会保留原始的特征信息,降低特征在传递过程中出现的耗损。

SA(\mathcal{F})=concat(SA_{c}(C)+SA_{r}(C),V_{c})

平均池化操作

在最后生成的分类和回归注意力系数上,引入了softmax,这会抑制低注意力权重的贡献,而扩大高注意力权重,限制了特征的多样性。基于此,本文提出了均值池化,首先计算不同特征间的相似程度N(V_{c})N(V_{c})^{T},然后基于此相似值过滤出低于\tau的值,在此基础上执行均值化操作,通过此操作会过滤低置信度值,同时均分余下的值,避免某些高置信度值带偏模型优化方向,限制了特征的多样性。

 实验结果

和不同视频检测模型的精度和速度对比

 

注:

如理解不到的地方,请多加指正,谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值