经典文献阅读之--FastFlowNet(轻量光流估计)

news2024/10/7 12:19:50

0. 简介

密集的光流估计在许多机器人视觉任务中起着关键作用。随着深度学习的到来,已经比传统方法以令人满意的精度预测了它。然而,当前的网络经常占用大量参数并且需要沉重的计算成本。这些缺点阻碍了在功率或内存受限的移动设备上的应用。为了应对这些挑战,在本文《FastFlowNet: A Lightweight Network for Fast Optical Flow Estimation》中,我们将深入研究设计有效的结构,以进行快速,准确的光流预测。我们提出的FastFlowNet通过以下创新以众所周知的从粗到细的方式工作。首先,采用了新的头部增强池金字塔(HEPP)特征提取器来增强高分辨率金字塔特征,同时减少参数。第二,我们介绍了一种新颖的中心密集膨胀相关(CDDC)层,用于构造紧凑的成本量,可以保持较大的搜索半径并减少计算负担。第三,将高效的混洗块解码器(SBD)植入每个金字塔级别,以使流量估计准确度略有下降。FastFlowNet仅包含1.37 M参数,并在Sintel分辨率图像上在NVIDIA GTX 1080 Ti和嵌入式Jetson TX2 GPU分别以90或5.7 fps的速度运行。目前来说,该轻量化网络基本可以应对低速的无人车系统。相应的代码已经在Github上完成了开源。同时在NVIDIA Developer Forums中也有人尝试着完成TensorRT的加速

在这里插入图片描述

1. 文章贡献

为了提高光流的准确估计速度,便于实际应用,本文提出了一种轻量级的快速网络,称为FastFlowNet。我们的模型基于广泛使用的由粗到细的残差结构,并从金字塔特征提取、成本体积构造和光流解码三个方面对其进行改进,覆盖了流量估计管道的所有组件。

  1. 首先,提出了一种头部增强池金字塔(HEPP)特征提取方法,该方法在较高层次使用卷积层,而在较低层次采用无参数池。

  2. 其次,最近的研究[13],[19]表明增大相关层的搜索半径可以提高流动精度。而代价体积的特征通道是搜索半径的平方,后续解码器网络的计算复杂度是搜索半径的4次方。在FastFlowNet中,我们保持搜索半径为4,就像在PWC-Net[13]中一样,以感知大型移动。不同的是,为了减少计算量,我们向下挖掘大残差区域的样本特征通道,并提出了一种新的中心密集膨胀相关(CDDC)层来构造紧凑的成本体积。

  3. 第三,我们观察到每个金字塔级的流解码器占整个网络的参数和计算的比例都比较大。为了进一步减少计算量,同时保持良好的性能,我们参照轻量级ShuffleNet[21]构建了一种新的shuffle block decoder (SBD)模块,以满足其低计算成本和高分类精度的要求。不同于shuffle lenet[21]作为骨干网,我们的SBD模块用于光流的回归,它只位于解码器网络的中间部分。

2. 具体算法

首先我们先来看一下本文的整体框架,给定两个时间相邻的输入图像 I 1 , I 2 ∈ R H × W × 3 I_1,I_2∈\mathbb{R}^{H×W ×3} I1,I2RH×W×3,我们提出的FastFlowNet利用由粗到细的残差结构来估计逐渐细化的光流 F l ∈ R H l × W l × 2 , l = 6 , 5 , … , 2 F_l∈\mathbb{R}^{H_l×W_l×2},l = 6,5,…,2 FlRHl×Wl×2,l=6,52。但对其进行了广泛的改进,通过适当降低参数和计算成本来加速推理。为此,我们首先将PWC-Net[13]中的双卷积特征金字塔替换为头部增强池化金字塔,以增强高分辨率金字塔特征,减小模型尺寸。在此基础上,提出了一种新的中心密集扩展相关层,在保持大搜索半径的前提下,构造了紧凑的成本体积。最后,在每个金字塔级别上使用新的洗牌块解码器来回归光流,计算成本显著降低。
在这里插入图片描述
模型的结构细节如表1所示
在这里插入图片描述

2.1 头部增强池金字塔

低分辨率下的大通道数导致大量的参数。此外,由于低水平的金字塔特征只负责估计粗流场,它可以重新适用于粗细结构。因此,我们将高层的特征金字塔与其他低层的池化金字塔相结合,得到如图2所示的两种强度。另一方面,高分辨率的金字塔特征在PWC-Net中相对较浅,因为每个金字塔层只包含两个包含 3 × 3 3×3 3×3核的卷积,其接受域较小。因此,我们在较高的层次上增加一个卷积,以少量额外的成本强化金字塔特征。通过平衡不同尺度之间的计算,我们提出了一个头增强池化金字塔特征提取器,如表i顶部所示。与FlowNetC、PWC-Net和LiteFlowNet一样,HEPP以2的比例因子生成了从 1 / 2 ^{1/2} 1/2分辨率(级别1)到 1 / 64 ^{1/64} 1/64分辨率(级别6)的6个金字塔级别。

2.2 中心密集扩张相关

现代光流架构的一个关键步骤是通过基于内积的相关层来计算特征对应关系[10]。 给定 l l l级的两个金字塔特征 f 1 l , f 2 l f^l_1,f^l_2 f1l,f2l,与许多粗到细的残差方法一样,我们首先采用基于双线性插值的warp扭曲操作[12],[11],根据 2 × 2× 2×上采样的先前时刻的光流场 u p 2 ( F l + 1 ) up_2(F^{l+1}) up2(Fl+1)对第二个特征 f 2 l f^l_2 f2l进行warp扭曲。 翘曲后的目标特征 f w a r p l f^l_{warp} fwarpl可以明显减少大运动引起的位移,这有助于缩小搜索区域,简化估计相对较小的剩余流量的任务。 最近的模型[13][14]通过在局部方形区域内将源特征与相应的翘曲目标特征相关联来构建成本量,可以表述为
在这里插入图片描述
其中 x x x d d d表示空间坐标和偏移坐标。 N N N是输入特征的长度。 R R R为搜索半径; ⋅ · 代表内积。

如图3a所示,许多流网络[13],[18],[15],[16]集合 r = 4 r = 4 r=4,由此产生的巨大计算负担阻碍了低功耗应用。减少计算成本的一个简单方法是减小r,如图3b中设置 r = 3 r = 3 r=3。它可以将体积特征的成本从81降低到49,但这种方法是以牺牲感知范围和准确性为代价的.
在这里插入图片描述
不同于ASPP使用并行atrous卷积来获取多尺度上下文信息,我们提出的CDDC在构建大半径成本体积时减少了计算量。在FastFlowNet中,它输出53个特征通道,与传统的r = 3设置具有相似的计算预算。我们的动机是残流分布更关注于小运动。实验结果表明,CDDC算法的性能优于单纯压缩算法。

…详情请参照古月居

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Apache 网页优化与防盗链

目录 一、Apache网页优化概述 二、gzip介绍 Apache的压缩模块 配置网页压缩功能 1.检查是否安装 mod_deflate 模块 2.编译安装 Apache 添加 mod_deflate 模块 3.配置 mod_deflate 模块启用 4.检查安装情况,启动服务 5.测试 mod_deflate 压缩是否生效 三. 网页缓…

ChatGPT 不算新技术革命,带不来什么新机会

有人说:一个人从1岁活到80岁很平凡,但如果从80岁倒着活,那么一半以上的人都可能不凡。 生活没有捷径,我们踩过的坑都成为了生活的经验,这些经验越早知道,你要走的弯路就会越少。

DM8:达梦数据库REDO日志损坏修复

DM8:达梦数据库REDO日志损坏修复环境介绍1 启动数据库报错 CODE-7232 查看原实例(5237)初始化参数3 初始化相同参数的新数据库启停新库4 使用 dmmdf 工具 查看帮助5 查看原库(5237)的 db_magic6 修改新库(5236) REDO 日志的 db_magic 值6.1 新库(5236) DAMENG01.log6.2 新库(52…

浙江美格机械股份有限公司董事长——刘国方

现实工作与理想中的方向大相径庭 怎样从工作经历中汲取养分,磨练自身? 学历不高,自身敲门砖不硬 该如何努力才能弥补自身的学历短板? 想为传统企业焕发新生机 该如何在传统行业中搭建新平台? 观看本期节目和我一起寻找答案&#…

burp插件jsEncrypter使用,爆破密码被自定义算法加密

暴力破解的时候,密码一般都是进行了加密 普通的base64、md5等编码,burp里面都有,如果是自定义的密码算法,我们该如何使用burp进行爆破呢? webapp,关于密码学的一个简单靶场 抓包,被加密了。假…

【WCH】基于Keil环境CH32F203 GPIO点灯实验

【WCH】基于Keil环境CH32F203 GPIO点灯实验📌相关篇《关于CH32F203程序下载方式说明》⚡注意编译器版本不要使用AC6版本。 ✨如果是首次入门使用,请先看上面的相关篇内容,了解其下载相关事宜后,再进来学习。 📑GPIO模式…

15个前端数据大屏展示图+源代码免费下载

https://download.csdn.net/download/wanghongpu9305/87658655?spm1001.2014.3001.5503 https://download.csdn.net/download/wanghongpu9305/87658730?spm1001.2014.3001.5503 https://download.csdn.net/download/wanghongpu9305/87684844?spm1001.2014.3001.5503 http…

windows Linux :python 脚本 下载日本葵花8号卫星数据L1级产品,自定义分辨率、时间

前言介绍 近期需要用到日本葵花8号卫星数据,用于相关研究,而通过官方提供的下载方法,难以针对性的下载所需要的数据类型,因此这里编写了一个针对葵花8号卫星L1级数据产品的脚本下载,主要实现两个功能:1、自…

为docker安装图形界面和配置远程桌面连接

由于远程桌面访问必须要打开端口3389,所以在启动docker中ubuntu系统的时候要首先将linux系统的3389端口映射出来 docker run -tid -p 3389:3389 --name ceshi --privilegedtrue ceshi /bin/bash 接下来进入到ubuntu中 docker exec -it ceshi /bin/bash 首先安装X…

查找 | 顺序查找、分块查找、二分查找、哈希查找 | 牛客刷题笔记

查找 就平均查找速度而言,下列几种查找速度从慢至快的关系是:顺序、分块、折半、哈希。 顺序查找的时间复杂度为o(n) 分块查找的时间复杂度为o(log2n)到o(n)之间 二分查找的时间复杂度为o(log2n) 哈希查找的时间复杂度为o(1) 用概率查找改进查找效率&am…

本周热门chatGPT之AutoGPT-AgentGPT,可以实现完全自主实现任务,附部署使用教程

AutoGPT 是一个实验性的开源应用程序,它由GPT-4驱动,但有别于ChatGPT的是,​ 这与ChatGPT的底层语言模型一致。 ​AutoGPT 的定位是将LLM的"思想"串联起来,自主地实现你设定的任何目标。 简单的说,你只用提出…

界面组件Telerik ASP.NET MVC使用指南 - 如何自定义网格过滤

Telerik UI for ASP. NET MVC拥有使用JavaScript和HTML5构建网站和移动应用所需的70UI部件,来满足开发者的各种需求,提供无语伦比的开发性能和用户体验。它主要是针对专业级的 ASP.NET开发,通过该产品的强大功能,开发者可以开发出…

消息队列面试题-RocketMQ

1.为什么要使用消息队列? 2.消息队列有什么优点和缺点? 3.如何解决重复消费? 幂等性: 概念:一次和多次请求某一个资源对于资源本身应该具有同样的结果(网络超时等问题除外)。也就是说&#xf…

前端项目-09-购物车-游客列表-变更选中状态-删除

目录 1-加入购物车成功 2-购物车成功页面跳转 3-游客身份获取购物车列表 4-动态渲染购物车列表 5-处理商品数量 6-删除购物车商品 6.1-删除购物车单个商品 6.2-删除全部选中商品 7-修改产品状态 7.1-修改单个产品的状态​编辑 7.2-修改多个产品的状态 1-加入购物车成功…

【2023】分享一份网友的Linux运维面试题

原只有问题,没有答案。答案是我整理的,如发现有什么问题可以在评论区留言告诉我!目录1.grep如何查找一个字符串如何忽略大小写2.kill -9和kill -15有什么区别3.简单描述一下TCP的建立和断开4.Linux服务在什么情况下CPU使用率会超过100%5.服务…

【机器学习(四)】基于KNN算法对鸢尾花类别进行分类预测

文章目录专栏导读1、KNN算法原理2、实战案例-对鸢尾花类别分类预测2.1确定特征和类别2.2对特征进行处理2.3对模型调参,选择最优参数2.4使用分类模型进行预测2.5评估模型,检验模型效果3、完整代码及结果专栏导读 ✍ 作者简介:i阿极&#xff0c…

nginx-代理多个服务

目录 1.主机多Ip 1.1单网卡多ip主机配置 1.2修改default.conf 1.3server1.conf 1.3server2.conf 1.4测试文件 1.4重启测试 2.主机多端口 2.1server1.conf 2.2server2.conf 3.多域名代理 3.1server1.conf 3.2server2.conf 1.主机多Ip 1.1单网卡多ip主机配置 # 查看…

echart图表渲染合并策略

目录 调用方式 notMerge 普通合并 规则 例子 替换合并 规则 例子 echarts渲染函数setOption 调用方式 chart.setOption(option, {notMerge: boolean;replaceMerge?: string | string[];lazyUpdate: boolean; }); notMerge false (默认) 如果…

【Unity URP】2种描边方案:模板测试和正面剔除

写在前面 风格化不像PBR,好像没有套路可言,,,简直是《怎么好看怎么来》的最大化实践了!感觉出的PBRNPR也是为了更好地利用PBR资产才诞生的这样一个渲染方案。(当然我的评价非常非常的片面,瞎说…

帆软FineReport学习篇(四)——父子格设置

帆软FineReport学习篇(四)——父子格设置 1.概念 子单元格设置父单元格后,子单元格随父单元格进行扩展 简易的说,子单元格根据父单元格分组显示2 对比示意图 2.1 左父格对比示意图 2.2 上父格对比示意图 3 制作分组报表 3.1 新建普通报表WorkBook2.cpt 3.1.1 点击文件➡点…