热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

FGFA(FlowGuidedFeatureAggregationforVideoObjectDetection)论文详读

摘要现有的视频目标检测方法都是利用box-level的时间信息进行检测,没有进行端到端的训练(从而会消耗大量内存进行存储)。本文提出一个flow-guided特征聚

摘要

现有的视频目标检测方法都是利用box-level的时间信息进行检测,没有进行端到端的训练(从而会消耗大量内存进行存储)。本文提出一个flow-guided特征聚合的方法,是一个端到端的学习框架——根据特征时间信息的一致性进行检测。随着动作路径聚合相邻的特征,从而对每帧的特征进行增强,同时提高了视频检测的准确率,且对快速移动的物体有较好的检测效果。

Introduce

在这里插入图片描述
因为视频中出现的动态模糊、稀奇古怪的姿势、视频虚焦、部分遮挡等原因,导致在图像检测领域效果较好的检测方法在视频目标检测时表现并不理想。除此之外,视频对同一对象具有丰富的信息,通常在一个短暂的时间点对同一个物体有多个快照。

根据时间信息进行视频目标检测的方法——首先在单帧内使用检测器,然后在后续的步骤中通过时间信息把这些检测边界框进行组合,这一特有步骤依赖现成的运动估计,如光流、手动描绘的边界框关联关系,如对象跟踪,一般情况下,这种方法得到的单帧检测框效果一般且不能提高整体的检测质量(即便可以提升性能,也是启发式的后处理的效果,而不是有原则的学习的效果,这不是端到端的训练),这类方法被称为 box-level 方法。

因为同一个对象在不同帧之间一般是无法进行空间对齐的,使用普通的特征聚合方法可能会对性能表现有所损害。本文提出的方法是根据时间信息聚合相邻帧的特征从而提升每帧的特征,属于feature level方法。
在这里插入图片描述

FGFA步骤如下:

  1. 首先对单独的帧提取特征,生成每帧单独的特征图;

  2. 为了增强参考帧的特征,使用光流网络估计参考帧和其相邻帧之间的动作;

  3. 相邻帧的特征图根据动作流扭曲到参考帧;

  4. 参考帧的特征图和它本身的特征图使用一个自适应的权重网络进行聚合;

  5. 聚合特征图被输入到检测网络产生对参考帧的检测结果。

步骤中包含的特征提取、flow估计、特征聚合和检测都被端到端的训练。该方法提升了每帧的特征,产生了高质量的边界框,边界框可以使用box-level 方法进一步细化,本方法结合box-level方法效果可以获得更大程度的提升。

FGFA方法可以有效利用快速移动物体不同快照中丰富的信息,从而产生较好的效果。

其他的视频目标检测方法


  1. T-CNN( T-cnn: Tubelets with convolutional neural networks for object detection from videos):通过预计算光流预测相邻帧中的边界框,然后对高置信度的边界框应用跟踪算法从而生成tubelets(一个目标移动的大致路径),根据tubelets分类对tubelets上的边框进行打分。
  2. Seq-NMS(Seq-nms for video object detection):根据连续帧中高置信度的边界框生成一个序列,序列中的边界框按平均置信度被重新打分,序列外的其他边界框被抑制。
  3. MCMOT( Multi-class multi-object tracking using changing point detection):制定了一个后处理作为多目标跟踪问题,一系列的手绘规则(检测器置信度、颜色动作线索、前向后向可视化、changing point检测)被用来确定那个边界框是被跟踪的对象,并进一步优化跟踪结果。

以上的方法都是多步方法,后续步骤依赖之前步骤的结果,且后续步骤不能改正之前步骤产生的错误。

通过利用视频中的冗余信息来加速视频检测,发现这只会对准确率有极小的影响,这表明了flow sub-network和recognition sub-network联合训练的可能性。

另一个相关的方面——通过复合连续帧丰富的外观信息来增强特征的代表性,从而提升了视频的准确率。遵循深度特征流的设计,可以在帧之间实现特征的扭曲(原话是follow the design of deep feature flow to enable feature warping across frame,具体的方法没看太懂)。

特征聚合的方法被广泛的使用,然而卷积核的大小限制了模型对快速移动物体的检测——增大卷积核的大小导致参数数量的增加,从而带来过拟合、计算开销、内存开销等问题。FGFA方法是基于flow guided对特征进行聚合,可以适应对象任何类型的动作。

视觉跟踪技术:当追踪一个新的目标时,通过组合预训练的CNN网络中的共享层和一个二元分类层形成一个新的网络,且该网络在训练时实时更新的。视频跟踪技术不同于目标检测,它只需要确定该目标的初始位置所在帧,不需要预测类别。

Flow Guided Featured Aggregation

在单帧中进行检测常会生成不稳定的结果,甚至是失败的结果,如下图,由于运动模糊导致cat类别再参考帧中表现不佳,但是把相邻的t-10和t+10的特征传播到t时的参考帧后,会对参考帧的特征进行增强,从而可以成功检测。
在这里插入图片描述

特征传播和增强的两个必要模块:1.动作引导空间扭曲模块——通过帧和扭曲的特征图估计动作;2.特征增强模块——显示如何融合多个帧的特征。

FGFA模型设计

参考帧Ii,相邻帧Ij,使用Mi→j = F(Ii, Ij)来估计流(其中F是FLowNet)。

把相邻帧的特征图通过扭曲融合到参考帧:

在这里插入图片描述

其中w(·)是二元扭曲方程。

由相邻帧的特征图和自己特征图融合得到的新特征图显示了对象实例的很多信息:不同的照明、视点、姿势、非刚性变形等,为了聚合这些特征,使用不同空间位置的不同权重,从而使所有的特征通道共享相同的空间权重,聚合特征为:

在这里插入图片描述

其中Wj→i是权重图,k是要聚合相邻帧的范围。

然后把聚合特征传入子检测网络来获得最终结果:

在这里插入图片描述

对不同的空间位置,需要调整权重的大小,如对于空间位置p,若扭曲特征fj→i(p)非常接近特征fj(p),则该点要分配一个大的权重,相反则分配一个小的权重,这里使用cosine 相似度来衡量从参考帧提取的特征和扭曲特征之间的相似度,且不直接使用Ndet获取的卷积特征,而是再使用一个小的全卷积网络来特化fi和fi→j,把特化功能嵌入子网络,以检测相似性。

在这里插入图片描述

其中fe为小型卷积网络,被定义成为相似性方法而嵌入特征。

权重的估计可以看作余弦相似性通过softmax操作的过程。

网络架构


  1. Flow Network:在图片上应用半分辨率且输出步长为4,因为feature network的输出步长为16,所以flow field的尺寸缩小一半来适应特征图。

  2. Feature Network:对原本为图像识别的算法——ResNet-50,ResNet-101,Aligned-Inception-ResNet,将其最后一个平均池化层和全连接层去除,保持卷积层不变,为了增加特征的分辨率,使用中 Semantic image segmentation with deep convolutional nets and fully connected crfs和Object detection via region-based fully convolutional networks的方法进行训练,最有效的步长由32改为16。为了保持接收域的尺寸,在最后一个block扩张卷积层的尺寸,最后使用一个随机初始化的3×3的卷积层把特征的维度减到1024。

  3. Embedding Network:该网络有1×1×512、3×3×512、1×1×2048的卷积层各一个,且三层卷积都是随机初始化。

  4. Detection Network:使用R-FCN和DFF进行处理。对1024维的特征图使用RPN子网络和R-FCN的子网络进行处理,它们分别连接前512维和后512维的特征。RPN使用9个锚点(3个尺寸和3个长宽比),每个图像产生300个候选区域。R-FCN中的敏感分数图为7×7组。


FGFA结合box-level方法

因为FGFA方法主要是为了增强特征和提升识别的准确率,所以结合box-level方法,把box-level方法作为后处理可以对输出边框的准确率有很大的提升。

缺陷

因为就像前文说是FGFA是针对增强特征和识别准确率而设计的,所以速度较慢,使用光流网络进行修改可能会提升其速度,使用更多的标记数据也可能提升其速度。


推荐阅读
  • 在前文探讨了Spring如何为特定的bean选择合适的通知器后,本文将进一步深入分析Spring AOP框架中代理对象的生成机制。具体而言,我们将详细解析如何通过代理技术将通知器(Advisor)中包含的通知(Advice)应用到目标bean上,以实现切面编程的核心功能。 ... [详细]
  • 在使用 Qt 进行 YUV420 图像渲染时,由于 Qt 本身不支持直接绘制 YUV 数据,因此需要借助 QOpenGLWidget 和 OpenGL 技术来实现。通过继承 QOpenGLWidget 类并重写其绘图方法,可以利用 GPU 的高效渲染能力,实现高质量的 YUV420 图像显示。此外,这种方法还能显著提高图像处理的性能和流畅性。 ... [详细]
  • REST与RPC:选择哪种API架构风格?
    在探讨REST与RPC这两种API架构风格的选择时,本文首先介绍了RPC(远程过程调用)的概念。RPC允许客户端通过网络调用远程服务器上的函数或方法,从而实现分布式系统的功能调用。相比之下,REST(Representational State Transfer)则基于资源的交互模型,通过HTTP协议进行数据传输和操作。本文将详细分析两种架构风格的特点、适用场景及其优缺点,帮助开发者根据具体需求做出合适的选择。 ... [详细]
  • 在拉斯维加斯举行的Interop 2011大会上,Bitcurrent的Alistair Croll发表了一场主题为“如何以云计算的视角进行思考”的演讲。该演讲深入探讨了传统IT思维与云计算思维之间的差异,并提出了在云计算环境下应具备的新思维方式。Croll强调了灵活性、可扩展性和成本效益等关键要素,以及如何通过这些要素来优化企业IT架构和运营。 ... [详细]
  • 能够感知你情绪状态的智能机器人即将问世 | 科技前沿观察
    本周科技前沿报道了多项重要进展,包括美国多所高校在机器人技术和自动驾驶领域的最新研究成果,以及硅谷大型企业在智能硬件和深度学习技术上的突破性进展。特别值得一提的是,一款能够感知用户情绪状态的智能机器人即将问世,为未来的人机交互带来了全新的可能性。 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
  • 本文深入解析了WCF Binding模型中的绑定元素,详细介绍了信道、信道管理器、信道监听器和信道工厂的概念与作用。从对象创建的角度来看,信道管理器负责信道的生成。具体而言,客户端的信道通过信道工厂进行实例化,而服务端则通过信道监听器来接收请求。文章还探讨了这些组件之间的交互机制及其在WCF通信中的重要性。 ... [详细]
  • Python 伦理黑客技术:深入探讨后门攻击(第三部分)
    在《Python 伦理黑客技术:深入探讨后门攻击(第三部分)》中,作者详细分析了后门攻击中的Socket问题。由于TCP协议基于流,难以确定消息批次的结束点,这给后门攻击的实现带来了挑战。为了解决这一问题,文章提出了一系列有效的技术方案,包括使用特定的分隔符和长度前缀,以确保数据包的准确传输和解析。这些方法不仅提高了攻击的隐蔽性和可靠性,还为安全研究人员提供了宝贵的参考。 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • 在本文中,我们将详细介绍如何构建一个用于自动回复消息的XML类。当微信服务器接收到用户消息时,该类将生成相应的自动回复消息。以下是具体的代码实现:```phpclass We_Xml { // 代码内容}```通过这个类,开发者可以轻松地处理各种消息类型,并实现高效的自动回复功能。我们将深入探讨类的各个方法和属性,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 当使用 `new` 表达式(即通过 `new` 动态创建对象)时,会发生两件事:首先,内存被分配用于存储新对象;其次,该对象的构造函数被调用以初始化对象。为了确保资源管理的一致性和避免内存泄漏,建议在使用 `new` 和 `delete` 时保持形式一致。例如,如果使用 `new[]` 分配数组,则应使用 `delete[]` 来释放内存;同样,如果使用 `new` 分配单个对象,则应使用 `delete` 来释放内存。这种一致性有助于防止常见的编程错误,提高代码的健壮性和可维护性。 ... [详细]
  • 本文探讨了在任务完成后将其转换为最终状态时的异常处理机制。通过分析 `TaskCompletionSource` 的使用场景,详细阐述了其在异步编程中的重要作用,并提供了具体的实现方法和注意事项,帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 线程能否先以安全方式获取对象,再进行非安全发布? ... [详细]
  • 在多年使用Java 8进行新应用开发和现有应用迁移的过程中,我总结了一些非常实用的技术技巧。虽然我不赞同“最佳实践”这一术语,因为它可能暗示了通用的解决方案,但这些技巧在实际项目中确实能够显著提升开发效率和代码质量。本文将深入解析并探讨这四大高级技巧的具体应用,帮助开发者更好地利用Java 8的强大功能。 ... [详细]
  • 如何在C#中配置组合框的背景颜色? ... [详细]
author-avatar
bin的心情日记_873
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有