【深度学习 video detect】Towards High Performance Video Object Detection for Mobiles

文章目录

  • 摘要
  • Introduction
  • Revisiting Video Object Detection Baseline
    • Practice for Mobiles
  • Model Architecture for Mobiles
    • Light Flow

摘要

尽管在桌面GPU上取得了视频目标检测的最近成功,但其架构对于移动设备来说仍然过于沉重。目前尚不清楚在非常有限的计算资源下,稀疏特征传播和多帧特征聚合的关键原则是否适用。在本文中,我们提出了一种适用于移动设备的轻量级视频目标检测网络架构。我们在稀疏关键帧上应用了轻量级图像目标检测器。设计了一个非常小的网络,名为Light Flow,用于在帧之间建立对应关系。我们还设计了一个流引导的GRU模块,以有效地聚合关键帧上的特征。

对于非关键帧,进行了稀疏特征传播。整个网络可以端到端地进行训练。所提出的系统在移动设备上(例如华为Mate 8)以25.6 fps的速度在ImageNet VID验证集上实现了60.2%的mAP分数。

在这里插入图片描述

Introduction

近年来,利用深度神经网络进行目标检测取得了显著的进展[1]。一般趋势是构建更深、更复杂的目标检测网络[2,3,4,5,6,7,8,9,10,11],以达到更高的准确性。然而,这些提高准确性的进展未必能使网络在尺寸和速度方面更加高效。在许多实际应用中,如机器人、自动驾驶汽车、增强现实和移动手机等,目标检测任务需要在计算资源有限的平台上实时执行。

最近,越来越多的人开始关注构建非常小、低延迟的模型,以便轻松适应移动和嵌入式视觉应用的设计要求,例如SqueezeNet [12]、MobileNet [13] 和ShuffleNet [14]。这些结构是通用的,但并非专门为目标检测任务设计。为此,已经探索了一些适用于静态图像目标检测的小型深度神经网络架构,如YOLO [15]、YOLOv2 [11]、Tiny YOLO [16] 和Tiny SSD [17]。然而,直接将这些检测器应用于视频面临新的挑战。首先,在所有视频帧上应用深度网络会带来无法承受的计算成本。其次,识别准确度会受到视频中很少在静止图像中观察到的恶化外观的影响,如运动模糊、视频散焦、罕见的姿势等。

为了解决这些问题,当前的最佳实践[19,20,21]利用了时间信息来加速和提高视频的检测准确性。一方面,在[19,21]中使用稀疏特征传播来节省大部分帧上昂贵的特征计算。在这些帧上的特征从稀疏的关键帧传播而来。另一方面,在[20,21]中进行了多帧特征聚合,以提高特征质量和检测准确性。

基于这两个原则,最新的工作[21]在桌面GPU上实现了很好的速度-准确性权衡。然而,该架构对于移动设备来说并不友好。例如,作为特征传播和聚合的关键和共同组成部分,流估计在移动设备上的实时计算需求仍然远远不够。具有长期依赖性的聚合也受到移动设备有限运行时内存的限制。

本文描述了一种适用于移动设备的轻量级视频目标检测网络架构。它主要基于两个原则——在大多数非关键帧上传播特征,同时在稀疏的关键帧上计算和聚合特征。然而,我们需要仔细重新设计这两个结构,以考虑速度、尺寸和准确性。在所有帧上,我们提出了Light Flow,一个非常小的深度神经网络,用于估计特征流,可在移动设备上立即使用。在稀疏关键帧上,我们提出了基于流引导的门控循环单元(GRU)特征聚合,这是在内存有限的平台上的有效聚合。此外,我们还利用了轻量级图像目标检测器来在关键帧上计算特征,其中使用了先进而高效的技术,如深度可分离卷积 [22] 和Light-Head R-CNN [23]。

所提出的技术统一为一个端到端的学习系统。全面的实验表明,该模型稳步推进了性能(速度-准确性权衡)的界限,朝着在移动设备上实现高性能的视频目标检测前进。例如,我们在移动设备上(例如华为Mate 8)以25.6帧每秒的速度,在ImageNet VID验证集上实现了60.2%的mAP分数。它比先前在快速目标检测方面的最佳努力速度快一个数量级,并且准确性相当(见图1)。据我们所知,我们首次在移动设备上实现了具有合理准确性的实时视频目标检测。

Revisiting Video Object Detection Baseline

在静态图像中的目标检测在近年来利用深度卷积神经网络(CNN)取得了显著的进展[1]。最先进的检测器共享相似的网络架构,包括两个概念步骤。第一个步骤是特征网络,它通过一个完全卷积的主干网络[24,25,26,27,28,29,30,13,14]从输入图像I中提取一组卷积特征图F,表示为Nf eat(I) = F。第二个步骤是检测网络,它通过在特征图F上执行区域分类和边界框回归,使用多分支子网络生成检测结果y,可以是针对稀疏物体提案[2,3,4,5,6,7,8,9]或密集滑动窗口[10,15,11,31],即Ndet(F) = y。

它是随机初始化并与Nf eat一起进行训练。

将这些检测器直接应用于视频目标检测面临两个方面的挑战。就速度而言,将单一图像检测器应用于所有视频帧并不高效,因为主干网络Nf eat通常较深且较慢。

就准确性而言,检测准确性会受到视频中很少在静态图像中观察到的恶化外观的影响,如运动模糊、视频散焦、罕见的姿势。

目前的最佳实践[19,20,21]通过稀疏特征传播和多帧特征聚合分别利用时间信息来解决速度和准确性问题。

稀疏特征传播 由于连续帧之间的内容之间存在很强的关联性,不必在大多数帧上进行详尽的特征提取计算。深度特征流[19]提供了一种高效的方法,它仅在稀疏的关键帧(例如每10帧)上计算昂贵的特征网络,并将关键帧特征图传播到大多数非关键帧,从而实现了5倍的速度提升,但准确性略微降低。

在推断过程中,任何非关键帧i上的特征图都是通过从其前面的关键帧k传播而来的,即:

在这里插入图片描述
多帧特征聚合 为了提高检测准确性,流导引特征聚合(FGFA)[20]从附近的帧中聚合特征图,这些特征图通过估计的光流进行了很好的对齐。

在帧i上的聚合特征图 ˆFi 是通过加权平均附近帧的特征图得到的,其表达式为:
在这里插入图片描述
在这里插入图片描述
为了避免在所有帧上进行密集的聚合,[21] 提出了稀疏递归特征聚合,仅在稀疏的关键帧上操作。这种方法保留了聚合的特征质量,同时降低了计算成本。

具体而言,在连续的两个关键帧 k 和 k0 上,帧 k0 上的聚合特征被计算为:

在这里插入图片描述

Practice for Mobiles

由于稀疏特征传播和多帧特征聚合这两个原则在桌面GPU上产生了最佳实践,以实现高性能(速度和准确性的权衡)的视频目标检测[21]。然而,在移动设备上的计算能力和运行时内存非常有限,因此需要探索适用于移动设备的原则。

  • 特征提取和聚合仅在稀疏的关键帧上操作,而在大多数非关键帧上执行轻量级特征传播。
  • 流估计是特征传播和聚合的关键。然而,在[19、20、21]中使用的流网络Nf low在移动实时处理方面仍然远远不够。具体而言,FlowNet [32] 在相同的输入分辨率下是MobileNet [13] 的11.8倍FLOPs。即使在[19]中使用的最小的FlowNet Inception也多了1.6倍的FLOPs。因此,需要更加轻量级的Nf low。
  • 特征聚合应该在根据光流对齐的特征图上进行操作。否则,由于大目标运动引起的位移会导致聚合严重错误。聚合中的长期依赖也是受欢迎的,因为可以融合更多的时间信息以获得更好的特征质量。
  • 单张图像检测器的主干网络应尽可能小,因为我们需要它来计算稀疏关键帧上的特征。

Model Architecture for Mobiles

基于上述原则,我们设计了一个更小的移动视频目标检测网络架构。推理管道如图2所示。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

接下来,我们将介绍两种专门为移动设备设计的新技术,包括Light Flow,一种更有效的移动设备流量网络,以及一种基于流导向GRU的特征聚合,用于更好地建模长期依赖关系,从而获得更好的质量和准确性。

Light Flow

FlowNet [32]最初是为像素级光流估计而提出的。它设计为编码-解码模式,后面是多分辨率光流预测器。两个输入的RGB帧被连接在一起形成一个6通道的输入。在编码器中,通过一系列卷积层,输入被转换成在空间维度上缩小到输入大小的1/64的特征图束。在解码器中,特征图被馈送到多个反卷积层,以实现高分辨率的光流预测。在每个反卷积层之后,特征图与编码器中的最后特征图连接在一起,它们具有相同的空间分辨率和上采样的粗糙光流预测。每个解码器中连接的特征图后面跟随多个光流预测器。对每个预测器应用损失函数,但在推断过程中仅使用最精细的预测。

为了极大地加速流网络Nf low,我们提出了Light Flow,它是一个基于FlowNet [32]进行若干有意设计的轻量级流网络。它在准确性方面只会带来轻微的降低(端点误差增加了15%),但在理论上速度提高了近65倍(见表2)。
在编码器部分,卷积始终是计算的瓶颈。受MobileNet [13]的启发,我们将所有的卷积替换为3×3的深度可分离卷积[22](每个3×3的深度可分离卷积后面跟着一个1×1的点卷积)。与标准的3×3卷积相比,3×3深度可分离卷积的计算成本减少了8~9倍,而准确性略有降低[13]。

在解码器部分,每个反卷积操作都被最近邻上采样和随后的深度可分离卷积所取代。[33]用最近邻上采样代替了反卷积,然后是标准卷积,以解决反卷积引起的棋盘状伪影。相比之下,我们借鉴了这个想法,进一步将标准卷积替换为深度可分离卷积,以减少计算成本。

最后,我们采用了一种简单有效的方式来考虑多分辨率的预测。这受到了FCN [34]的启发,FCN在明确的求和方式下融合了多分辨率的语义分割预测作为最终预测。

与[32]不同,我们在推断过程中不仅使用最精细的光流预测作为最终预测。相反,多分辨率的预测被上采样到与最精细预测相同的空间分辨率,然后求平均作为最终预测。此外,在训练期间,仅对平均光流预测应用单个损失函数,而不是在每个预测之后应用多个损失函数。这种方法可以将端点误差减少近10%。

Light Flow的网络架构和实现在表1中进行了说明。每个卷积操作之后都跟随批量归一化[35]和Leaky ReLU非线性变换[36],斜率固定为0.1。与[32,37]类似,Light Flow在Flying Chairs数据集上进行了预训练。在训练Light Flow时,使用Adam [38]作为优化方法,权重衰减为0.00004。在4个GPU上进行了70k次迭代,每个GPU持有64个图像对。

采用了热身学习率策略,首先训练学习率为0.001的模型进行10k次迭代。然后使用学习率为0.01进行20k次迭代,并在每10k次迭代后将学习率除以2。

在将Light Flow应用于我们的方法时,为了进一步提速,进行了两个修改。首先,与[19,20,21]一样,Light Flow应用于输入分辨率为特征网络的一半,并且输出步幅为4的图像。由于特征网络的输出步幅为16,流场被下采样以匹配特征图的分辨率。其次,由于Light Flow非常小,计算量与检测网络Ndet相当,因此在检测网络的中间特征图上应用稀疏特征传播(参见第3.3节,RPN [5]中的256维特征图和Light-Head R-CNN [23]中的490维特征图),以进一步减少非关键帧的计算量。

后面略

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/73050.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

福利!百度Workshop实战课,即刻搭建AI原生应用!| IDCF

你是否希望掌握大模型开发的秘诀?你是否渴望得到实践操作的机会?如果你的心中充满热情和期待,那么,WAVE SUMMIT 2023特别设置的Workshop将会是你的知识启航站! 本次Workshop专注于AI开发与大模型应用,邀请…

【Docker】个人镜像文件Dockerfile制作详解

前言 洁洁的个人主页 我就问你有没有发挥! 知行合一,志存高远。 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是…

分布式链路追踪概述

分布式链路追踪概述 文章目录 分布式链路追踪概述1.分布式链路追踪概述1.1.什么是 Tracing1.2.为什么需要Distributed Tracing 2.Google Dapper2.1.Dapper的分布式跟踪2.1.1.跟踪树和span2.1.2.Annotation2.1.3.采样率 3.OpenTracing3.1.发展历史3.2.数据模型 4.java探针技术-j…

不同版本Idea部署Maven和Tomcat教学

目录 一、2019版Idea 1.1. Maven配置 1.2. Tomcat配置 二、2023版Idea 2.1 Maven配置 2.2. Tomcat配置 一、2019版Idea 1.1. Maven配置 在这篇 http://t.csdn.cn/oetKq 我已经详细讲述了Maven的下载安装及配置,本篇就直接开始实操 : 1. 首先进入设置搜索Mave…

每天一道leetcode:115. 不同的子序列(动态规划困难)

今日份题目: 给你两个字符串 s 和 t ,统计并返回在 s 的 子序列 中 t 出现的个数。 题目数据保证答案符合 32 位带符号整数范围。 示例1 输入:s "rabbbit", t "rabbit" 输出:3 解释: 如下所…

竞赛项目 深度学习验证码识别 - 机器视觉 python opencv

文章目录 0 前言1 项目简介2 验证码识别步骤2.1 灰度处理&二值化2.2 去除边框2.3 图像降噪2.4 字符切割2.5 识别 3 基于tensorflow的验证码识别3.1 数据集3.2 基于tf的神经网络训练代码 4 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 &#x…

vue3中用watch监听响应式数据的注意点

如果你在vue3中使用reactive()方法创建响应式数据,然后又用torefs()方法将响应式数据解构成单一的ref响应式数据。 此时,如果你想用watch监听解构出来单一的响应式数据,watch不起作用。 此时,你需要用watch监听之前的reactive()…

【金融量化】对企业进行估值的方法有哪些?

估值的方法有哪些? 如何对企业进行估值?有2个方法估算。 1 绝对估值法 它是一种定价模型,用于计算企业的内在价值。 比如说你可以根据公司近N年的现金流情况。借此去预测未来N年的现金流情况。所有的现金流数据都可以在年报上查询到。最后…

《TCP IP网络编程》第十六章

第 16 章 关于 I/O 流分离的其他内容 16.1 分离 I/O 流 「分离 I/O 流」是一种常用表达。有 I/O 工具可区分二者,无论采用哪种方法,都可以认为是分离了 I/O 流。 2次 I/O 流分离: 第一种是第 10 章的「TCP I/O 过程」分离。通 shutdown(soc…

【electron】electron安装过慢和打包报错:Unable to load file:

文章目录 一、安装过慢问题:二、打包报错:Unable to load file: 一、安装过慢问题: 一直处于安装过程 【解决】 #修改npm的配置文件 npm config edit#添加配置 electron_mirrorhttps://cdn.npm.taobao.org/dist/electron/二、打包报错:Unable to load…

在 Windows 上安装 OpenCV – C++ / Python

在这篇博文中,我们将在 Windows 上安装适用于 C 和 Python 的 OpenCV。 C 安装是在自定义安装 exe 文件的帮助下完成的。而Python的安装是通过Anaconda完成的。 在 Windows 上安装 OpenCV – C / Python(opencv官方Wndows上安装openCV- C/ Pthon 的链接…

SpringBoot复习:(43)如何以war包的形式运行SpringBoot程序

一、.pom.xml配置packging为war <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven…

Unity3D高级编程:主程手记学习1

第一章 软件架构 Untiy 分层设计 分层后再分治

zabbix监控mysql数据库、nginx、Tomcat

文章目录 一.zabbix监控mysql数据库1.环境规划2.zabbix-server安装部署&#xff08;192.168.198.17&#xff09;3.zabbix-mysql安装部署&#xff08;192.168.198.15&#xff09;3.1 部署 zabbix 客户端3.2 服务端验证 zabbix-agent2 的连通性&#xff08;192.168.198.17&#x…

人文景区有必要做VR云游吗?如何满足游客出行需求?

VR云游在旅游行业中的应用正在快速增长&#xff0c;为游客带来沉浸式体验的同时&#xff0c;也为文旅景区提供了新的营销方式。很多人说VR全景展示是虚假的&#xff0c;比不上真实的景区触感&#xff0c;人文景区真的有必要做VR云游吗&#xff1f;我的答案是很有必要。 如果你认…

python如何开发一个电商进销存管理系统?

让我们来看一下题主的需求&#xff1a; 管理公司的淘宝天猫平台&#xff0c;后端仓库&#xff0c;采购进行数据同步。其中最主要的还是要对接淘宝API &#xff0c;实现实时订单的通知&#xff0c;同步淘宝订单&#xff0c;管理买家信息&#xff0c;发货&#xff0c;财务统计等…

C语言三子棋小游戏--数组的应用

注&#xff1a;在最后面&#xff0c;完整源码会以两种形式展现。在讲解时&#xff0c;以三个源文件的形式。 前言&#xff1a;三子棋&#xff0c;顾名思义&#xff0c;就是三个子连在一起就可以胜出。在本节我们要介绍的三子棋模式是这样子的&#xff1a;在键盘输入坐标&#x…

清华团队领衔打造,首个AI agent系统性基准测试网站问世AgentBench.com.cn

AI 智能体,或自主智能代理,不仅是诸如贾维斯等科幻电影中的人类超级助手,也一直是现实世界中 AI 领域的研究热点。尤其是以 GPT-4 为代表的 AI 大模型的出现,将 AI 智能体的概念推向了科技的最前沿。 在此前爆火的斯坦福“虚拟小镇”中,25 个 AI 智能体在虚拟小镇自由生长…

数据请求与导入mysql数据库

端口数据获取与文件保存 文件存入数据库 系统&#xff1a;Ubuntu 工具&#xff1a;Postman&#xff0c;MySql Workbench 端口数据获取与文件保存 打开postman接口测试工具 选择请求方式输入请求地址选择请求参数设置请求参数的格式输入请求参数发送请求 请求成功 选择浏览…

2023年许战海咨询《竞争之王CEO年度辅导工程》火热招募中

今天产业迭代速度不断加剧,人类知识更迭周期大大压缩到2年以内,企业遭遇更多挑战:如增长乏力、品牌老化、竞争压力大、竞争方向不明确、产品同质化、利润越来越低、团队执行难等。《竞争之王CEO年度辅导工程》应运而生,旨在手把手辅导企业家及高管团队如何制定战略和落地战略&a…