Learning Long-term Visual Dynamics with Region Proposal Interaction Networks
Learning Long-term Visual Dynamics with Region Proposal Interaction Networks
2021-04-08 16:24:36
Paper: ICLR2021
Code: https://github.com/HaozhiQi/RPIN
Project: https://haozhi.io/RPIN/
Youtube: https://www.youtube.com/watch?v=Fk5oPOcXIc0
1. Region Proposal Interaction Networks:
如上图所示,本文将 N帧视频和对应的物体矩形框作为输入,然后输出的是未来 T个时刻的矩形框及其掩模 Mask。对于每一帧,作者利用 CNN 来提取其特征,然后采用 RoIPooling 提取物体的特征。这些特征然后被输入到 CIN 模块中,即 Convolutional Interaction Networks 来进行物体的交互推理,然后用于预测未来的物体矩形框位置及其掩模。整个框架可以做到 E2E 训练。
1.1. Object-Centric Representation:
作者这里用的是 houglass network来提取图像特征。相对比其他 CNN 骨干网络,该模型可以得到较大的感受野,然后用 ROI POOLING 操作,得到物体级别的特征图,维度为 h*w*d。
1.2. Convolutional Interaction Networks:
作者在这里首先介绍了前人基于 MLP 的交互网络,然后提出利用 convolutional 的方式来替换 MLP 的方法。大致思路如下所示:
该网络将多个时刻的 m 个物体作为输入,然后进行 object reasoning fO 以及 relational raasoning fR。物体特征的更新就采用上述方式进行。此处,fA 是用于计算 fO, fR 结果的有效性。fZ 用于组合原始的状态和推理效果。最终,fP 在一个或者多个之前的物体状态上进行未来状态的预测。在 IN 中,所用到的网络结构都是 FC layers。
作者在这个工作中,将这个 MLP 改为 Convolutional 的方式,这样就可以充分利用空间信息来进行未来状态的推理。具体来说:
其中,* 代表卷积操作,[, ] 是 concatenate 操作,W 代表卷积核大小为 3*3 的可学习权重。在每一个卷积操作后,作者添加了 ReLU 激活函数。
1.3. Learning Region Proposal Interaction Network (RPIN):
作者提出的模型可以直接预测未来的 BBox 以及每一个物体的 mask。这个 mask 是可选择的。给定编码后的特征,作者利用两层简单地 MLP decoder 来预测矩形框的坐标和 mask。
矩形框解码器:将折叠后的物体特征图作为输入,首先将其映射为 d 维的向量,然后输出一个 4-d 的坐标;分别代表矩形框的中心点以及宽高;
掩模解码器:拥有和矩形框解码器相似的结构,但是输出的是 21*21 的维度,对应了空间大小为 21*21 的二值掩模。
作者这里利用 L2 损失函数来计算 BBox 之间的差异,用交叉熵损失函数来计算掩模的损失,总的来说,损失函数的计算可以总结为:
2. Experimental Results:
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· 一个基于 .NET 开源免费的异地组网和内网穿透工具
· 《HelloGitHub》第 108 期
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单
2018-04-08 Something on Deep Learning
2017-04-08 The frequent used operation in Linux system
2016-04-08 add new dataLayer to caffe, separateLabelLayer.cpp separateLabelLayer.hpp caffe.proto (code backUp)
2016-04-08 image data layer back_up 2016.04.08