RAFT: Recurrent All-Pairs Field Transforms for Optical Flow用于光流估计的循环全对场变换

背景:

1.光流估计是一个长期存在的计算机视觉问题,对于理解视频内容至关重要。

2.光流估计面临的挑战包括快速移动的物体、遮挡、运动模糊和无纹理表面。

3.传统方法通常将光流估计视为一个手工优化问题,但这些方法在处理各种特殊情况时存在困难。

4.深度学习方法提供了一种替代方案,可以直接预测光流,避免了复杂的优化问题。

创新点:

高分辨率处理:

RAFT是第一个跳出coarse-to-fine(从粗糙到精细)框架的光流匹配算法,它在高分辨率下处理并保持单个固定的光流场,避免低分辨率下预测错误导致后续无法恢复的问题,并且不会损失小物体大位移的信息。

从粗糙到精细:

在光流估计时从低分辨率(粗糙)逐步到高分辨率(精细)进行匹配。

主要思想:先在图像的粗糙版本中获得一个大致的光流估计,然后逐层细化,逐步增加分辨率,使得最终的高分辨率估计能够保留更多的细节和精度。

循环更新算子:

RAFT的更新算子是循环的、轻量级的,并且共享权重。传统方法通常在迭代之间不共享权重,限制了迭代次数。RAFT的更新算子由一个卷积GRU组成,在4D多尺度相关体上进行查找,允许网络进行更多的迭代而不发散。

全对相关性体积:

RAFT引入了全对(all-pairs)相关性体积的概念,通过计算所有像素对之间的相似度来构建4D相关性体积,用迭代方式估计光流。

RAFT架构:

编码器:

特征编码器(Feature Encoder):

从两个输入图像(L1和L2)中为每一帧图像中的每个像素提取特征,特征被用来计算像素之间的相似性。

目的:

提取的特征用于构建4D相关性体积,比较L1和L2中所有像素对之间的视觉相似性,为光流估计提供基础。

构成:

6个残差块,2个\frac{1}{2}分辨率、2个\frac{1}{4}分辨率、2个\frac{1}{8}分辨率

归一化方法:

使用实例归一化,对每个样本独立进行,有助于在特征提取时保持样本间的独立性。

输出:

\frac{1}{8}分辨率,D=256

g\theta :\mathbb{R}^{H*W*3} \mapsto \mathbb{R}^{\frac{H}{8}*\frac{W}{8}*D}

上下文编码器(Context Encoder):

仅从第一输入图像(L1)中提取特征,提取整个图像的上下文特征。

目的:

提取的特征用于提供额外的上下文信息,帮助网络更好地理解场景内容,辅助光流的估计和细化。

构成:

6个残差块,2个\frac{1}{2}分辨率、2个\frac{1}{4}分辨率、2个\frac{1}{8}分辨率

归一化方法:

使用批归一化,基于小批量数据的统计信息,有助于在训练过程中稳定学习过程。

相关性层

相关性层构建了一个4D的相关性体积,包含了所有像素对之间的相关性信息。通过计算输入图像特征之间的内积,可以构建出一个高维的相关性体积,捕捉图像中所有像素对之间的视觉相似性。

过程:

对 g\theta (I_{1})\in\mathbb{R}^{H*W*D} 和 g\theta (I_{2})\in\mathbb{R}^{H*W*D} 做点积

C代表互相关操作,从二维变成四维

Transformer基于点积表示相关性:点积后得到的值越大,表示相关性越强

互相关金字塔(Correlation Pyramid):

原因:

在光流估计中,物体的位移可能很大。

特征金字塔允许RAFT在不同尺度上捕捉这些大位移,从而提高算法的鲁棒性。

构建:

通过在互相关体积的最后两个维度上应用不同大小的池化核(平均池化或最大池化)来实现。通常,这包括四个层级\left \{ C^{1},C^{2},C^{3},C^{4}\right \},池化核大小分别为1、2、4和8。

维度:

每个层级C_{k}的维度为 H*W*\frac{H}{2^{k}}*\frac{H}{2^{k}},其中k从1到4,金字塔的每一层都提供了不同分辨率下的相关性信息。

信息融合:

在更新光流估计时,RAFT会从金字塔的每一层中检索特征,并将其融合到一起,以利用大位移和小位移的信息。

Lookup模块:

利用当前的光流估计来确定每个像素在相关性体积中的位置,并从这些位置检索特征,特征随后被用来更新光流估计,模拟了在传统光流优化方法中的搜索步骤,但是在这里是通过神经网络的方式实现的。

光流的当前估计:\left ( f^{1},f^{2} \right )

I_{1}映射每一个像素:x=(u,v)

I_{2}I_{1}估计关联的对应像素:x{'}=(u+f^{1}(u),v+f^{2}(v))

局部网格:
目的:

提供一个参考上下文的邻域信息,在代价体积中提取当前位置光流向量附近的邻域信息,提供局部上下文来辅助光流估计,而并非直接减少像素间的所有内积运算。

定义:

一个半径 r内的邻域范围,通常使用L1距离(即曼哈顿距离)来衡量

局部网格N\left ( x {}'\right ),该网格包含了x{}'周围的像素 

 特征检索:

在Lookup模块中,局部网格用于从互相关金字塔的不同层级检索特征。对于金字塔的每一层C^{k},使用网格N(\frac{x'}{2^{k}})_{r}来索引特征,其中 \frac{x'}{2^{k}}表示在金字塔第k层的对应位置。

高分辨率图像的高效计算方法:

预计算所有对的相关性:复杂度为O(N^{2})N为像素数量

基于迭代的计算:O(NM)N为像素数量,M为迭代次数

更新操作符:

使用当前的光流估计来查找相关性体积中的值,并迭代更新光流场。

初始化:

f_{0}=0

每次迭代产生应用于估计的更新方向\Delta f

下一次:f_{k+1}=\Delta f+f_{k+1}

输入:

当前光流估计:当前光流场的初始估计值或上一次迭代的更新结果

代价体积的局部上下文:从 lookup 模块获取的邻域代价值

特征金字塔特征:来自图像的初始特征金字塔 

卷积操作:

在每次迭代中对光流估计进行细化调整

GRU单元:

更新操作符的核心是基于GRU的门控激活单元,其中全连接层被卷积层替换。

 可分离ConvGRU:

用1x5和5x1的卷积替换3x3卷积,以增加感受野而不显著增加模型大小。

估计残差

在每次迭代中输出一个\Delta f(残差),\Delta f表示当前光流估计进一步调整的偏移量,用来逐步逼近真实的光流值。 

迭代更新

每次迭代的光流估计都会加上更新操作符输出的残差,得到一个新的光流估计值。

f_{k+1}=\Delta f+f_{k}

该值被再次输入到更新操作符中,进入下一次迭代,过程可重复多次,逐步提高光流估计的精度。

流程:

Update Block的工作流程:

1.输入特征融合:

Context:

从上下文编码器中提取的特征,提供了图像的全局上下文信息。

平均分为两份:

①用于生成代价体积

②用于作为光流估计的参考上下文

Corr:

进行4D 体积运算的结果,通过全对特征匹配来生成代价体积(cost volume),计算特征图之间的相似度,即特征的互相关(correlation),来评估每个像素点在目标图像中对应的可能位置。 

Flow:

来自前一次迭代的光流估计,或者初始的光流场(通常初始化为0)。

2.特征处理:

corrflow 合并:

利用上下文和估计信息:网络在每次迭代中将图像的匹配信息(corr)与当前的光流估计(flow)结合,将新的匹配信息和先前的估计值一起考虑,从而提高模型的精度。

光流迭代更新:光流估计不仅依赖于代价体积中的匹配信息,还依赖于当前的光流场(flow)来进行更新。合并这两者有助于通过迭代优化光流场,逐步逼近真实的光流。

得到一个inp

flowcorr 以及 context 合并后输入到 ConvGRU:

inp+net

使每次迭代中的光流估计在考虑上下文信息和匹配信息的基础上进行更新。通过ConvGRU的门控机制来实现的,能在时间步之间保持信息并帮助在空间上聚合光流的更新。

3.门控循环单元(GRU):

①综合特征图被送入基于GRU的门控激活单元,该单元包含更新门和重置门:

更新门 z_{t}:决定多少过去的信息需要被保留。

重置门r_{t}:决定多少外部信息需要被引入。

候选隐藏状态 \widetilde{h_{t}}​:结合当前输入和过去的隐藏状态。

新的隐藏状态 h_{t}​:结合更新门和重置门的输出,更新隐藏状态。

②这些门控机制允许网络动态地调整信息流,从而逐步优化光流估计。

4.更新预测

ConvGRU 会输出两个重要的量:

光流更新量(2维)

\left ( u,v \right )表示向量,初始为“0”

使用预测的光流更新\Delta f更新当前的光流场:f_{k+1}=\Delta f+f_{k}

其中f_{k} 是当前迭代的光流估计,f_{k+1}是下一迭代的光流估计。

运动特征(128维)

对匹配信息和上下文信息的卷积操作,得到与当前像素运动状态相关的特征,通常是128维的向量,包含图像中各个点的位移信息和图像匹配的上下文信息,在空间上表示每个像素的运动状态。

5.上采样

由于光流场的输出分辨率较低(通常是输入图像的1/8),需要将其上采样到与输入图像相同的分辨率。

RAFT使用一个学习到的上采样模块,通过预测一个掩码并执行softmax操作,将低分辨率光流场与高分辨率特征结合,得到最终的高分辨率光流场。

结论:

效果:

贡献: 

RAFT是一个端到端可训练的模型,使用大量轻量级、循环的更新操作符,在单一声望下工作。

优点:

RAFT在多个数据集上实现了最先进的准确性,具有强大的跨数据集泛化能力,并且在推理时间、参数数量和训练迭代方面都很高效。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大数据面试题--kafka夺命连环问(后10问)

目录 16、kafka是如何做到高效读写? 17、Kafka集群中数据的存储是按照什么方式存储的? 18、kafka中是如何快速定位到一个offset的。 19、简述kafka中的数据清理策略。 20、消费者组和分区数之间的关系是怎样的? 21、kafka如何知道哪个消…

【Android、IOS、Flutter、鸿蒙、ReactNative 】约束布局

Android XML 约束布局 参考 TextView居中 TextView 垂直居中并且靠右 TextView 宽高设置百分比 宽和高的比例 app:layout_constraintDimensionRatio"h,2:1" 表示子视图的宽高比为2:1,其中 h表示保持宽度不变,高度自动调整。 最大宽度 设…

【机器学习】平均绝对误差(MAE:Mean Absolute Error)

平均绝对误差 (Mean Absolute Error, MAE) 是一种衡量预测值与实际值之间平均差异的统计指标。它在机器学习、统计学等领域中广泛应用,用于评估模型的预测精度。与均方误差 (MSE) 或均方误差根 (RMSE) 不同,MAE 使用误差的绝对值,因此它在处理…

【Qt】在 Qt Creator 中使用图片资源方法(含素材网站推荐)

先准备图片资源 推荐一个好用的图标素材网站,有很多免费资源。 Ic, fluent, animal, dog, filled icon - Free download 其他辅助工具,类似 AI 抠图去背景,实测效果还行,但是非免费。 美图秀秀-在线一键抠图,无需P…

Dial-insight:利用高质量特定领域数据微调大型语言模型防止灾难性遗忘

摘要 大型语言模型(LLM)的性能很大程度上依赖于底层数据的质量,特别是在专业领域。在针对特定领域应用微调LLM时,一个常见的挑战是模型泛化能力的潜在下降。为了解决这些问题,我们提出了一种两阶段方法来构建提示词&a…

品融电商:新形势下电商平台如何助力品牌长期经营

品融电商:新形势下电商平台如何助力品牌长期经营 在过去几年中,随着内容电商的兴起,一批新兴品牌通过精准的内容种草和互动营销迅速打开市场,实现了从“0到1”的品牌起步阶段。比如,新品牌SIINSIIN通过小红书等内容电商…

Springboot整合Prometheus+grafana实现系统监控

前言 Prometheus是一个开源的服务监控系统和时序数据库,它提供了强大的功能和灵活的架构,是目前主流的监控和管理应用系统的工具。 而Grafana是一个开源的数据可视化工具,与Prometheus集成,就可以可视化地监控系统的各个指标。 …

运行WHTools批量启动游戏房间工具提示要安装.Net Framework3.5解决

确认电脑能正常上网 点击下载并安装此功能,开始安装.Net Framework 3.5 安装成功 成功启动WHTools

怎么监控员工电脑?分享5个监控员工电脑的绝佳方法(立竿见影!建议收藏!)

怎么监控员工电脑? 在企业管理中,缺乏行之有效的监控时,便会滋生一些不当行为便,如偷偷浏览与工作无关的网站、泄露公司机密信息、甚至进行非法操作等。 为了有效管理员工电脑,确保企业信息安全,学会合理合…

监控录音如何消除杂音?降低录音噪音的五个技巧

在日常生活和工作中,监控录音的清晰度对信息获取极为重要。然而,录音过程中常会遇到各种杂音干扰,这些干扰可能来自环境噪音、设备故障等多种因素。为了提高录音质量,采取有效的杂音消除技术是必不可少的。监控录音如何消除杂音&a…

红日靶机(七)笔记

VulnStack-红日靶机七 概述 在 VulnStack7 是由 5 台目标机器组成的三层网络环境,分别为 DMZ 区、第二层网络、第三层网络。涉及到的知识点也是有很多,redis未授权的利用、laravel的历史漏洞、docker逃逸、隧道、代理的搭建、通达OA系统的历史漏洞、ms…

沃飞长空郭亮博士荣获中国航空航天月桂奖

11月11日晚,第十六届中国航空航天月桂奖颁奖典礼在珠海成功举办。本届月桂奖共有29个为中国航空航天事业做出突出贡献的团体与个人获奖,其中,沃飞长空CEO兼首席科学家郭亮博士因其在低空经济领域的突出贡献荣膺第十六届中国航空航天月桂奖“风…

WordPress 2024主题实例镜像

目录 隐藏 1 WordPress 2024主题实例镜像启用的插件 2 WordPress 2024主题实例镜像截图 WordPress 2024主题实例镜像启用的插件 WordPress 2024主题实例镜像启用了2024主题,配置了: Akismet 反垃圾评论插件 Admin Notices Manager仪表盘通知隐藏…

Nginx中实现流量控制(限制给定时间内HTTP请求的数量)示例

场景 流量控制 流量限制 (rate-limiting),可以用来限制用户在给定时间内HTTP请求的数量。 流量限制可以用作安全目的,比如可以减慢暴力密码破解的速率, 更常见的情况是该功能被用来保护上游应用服务器不被同时太多用户请求所压垮。 流量…

探索 JNI - Rust 与 Java 互调实战

真正的救赎,并非厮杀后的胜利,而是能在苦难之中,找到生的力量和内心的安宁。 ——加缪Albert Camus 一、Rust Java ? Java 和 Rust 是两种现代编程语言,各自具有独特的优势,适用于不同的应用场景。 1、…

使用HTML、CSS和JavaScript创建动态圣诞树

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 ✨特色专栏&#xff1a…

3DTiles之i3dm介绍

3DTiles之i3dm介绍 3D Tiles 是一种用于高效存储和传输三维城市、建筑、地形、点云等空间数据的开放标准格式。i3dm(Intel 3D Model)是 3D Tiles 中用于表示三维模型(如建筑物或其他对象)的一个子格式。i3dm 格式的出现&#xff…

重新认识HTTPS

一. 什么是 HTTPS HTTP 由于是明文传输,所谓的明文,就是说客户端与服务端通信的信息都是肉眼可见的,随意使用一个抓包工具都可以截获通信的内容。 所以安全上存在以下三个风险: 窃听风险,比如通信链路上可以获取通信…

pycharm快速更换虚拟环境

目录 1. 选择Conda 虚拟环境2. 创建环境3. 直接选择现有虚拟环境 1. 选择Conda 虚拟环境 2. 创建环境 3. 直接选择现有虚拟环境

AI生活之我用AI处理Excel表格

AI生活之我用AI处理Excel表格 场景再现AI提问词AI代码运行调试结果心得感受 场景再现 因学习需要,整理了某个题库,方便自己刷题使用。 已将每套题打上了制定标签,得到一个Excel表格。截图如下: 需求是:一共35套题&…