[VSOD] UFO: A Unified Transformer Framework for CoS, CoSD, VSOD

2023-10-29 08:40

本文主要是介绍[VSOD] UFO: A Unified Transformer Framework for CoS, CoSD, VSOD,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

A Unified Transformer Framework for Group-based Segmentation: Co-Segmentation, Co-Saliency Detection and Video Salient Object Detection

https://github.com/suyukun666/UFO

https://arxiv.org/abs/2203.04708

Introduction

co-segmentation (CoS) 协同分割:从包含共同对象(往往也称为前景)的图像组中分割出共同对象

co-saliency detection (CoSD)  :与CoS类似,但是CoSD旨在模拟人类视觉系统,从而找出视觉上最显著的区域

video salient object detection (VSOD)

传统:

Geodesic saliency using background priors ECCV2012

Saliency-aware video object segmentation 2017

Video salient object detection via robust seeds extraction and multi-graphs manifold propagation  2019

Improving video saliency detection via localized estimation and spatiotemporal refinement 2018

3D卷积:

Learning spatiotemporal features with 3d convolutional networks 2015

Making a case for 3d convolutions for object segmentation in videos 2020

光流:

Full-duplex strategy for video object segmentation 2021

Video salient object detection via robust seeds extraction and multi-graphs manifold propagation  2019

Semisupervised video salient object detection using pseudo-labels 2019

注意力:

Shifting more attention to video salient object detection 2019

Pyramid constrained self-attention network for fast video salient object detection 2020

Method

本文提出了一个联合框架UFO,可以统一上述三种任务

Architecture

encoder:VGG16,得到多尺度特征

最后两层后面接transformer block:

matching the co-objects similarities, producing the enhanced co-attention maps

intra-MLP & co-category semantic guidance:结合decoder中的特征,增强co-object 区域

co-category embedding response α 通过相乘应用到decoder中的特征上

intra self-masks β 则是加到decoder中的特征上

transformer block

以F4后接的transformer block为例,首先将F4(B*N*C*h*w)reshape成一系列tokens(B*C*P),然后是输入到transformer block中。

图4展示了transformer block学到的信息,第一行是输入图像,第二行是在输入transformer block之前的特征图,第三行是经过transformer block之后的特征,可以看到经过transformer block之后,目标区域变得更加清晰。

第四行是选中的patch对应的注意力图,包括香蕉的尾端和企鹅的头部。

可以看到transformer block可以在不同的位置像素上进行长期依赖关系的建模。

Intra-MLP

Transformer block关注的是图像之间的相关性,intra-MLP关注的是单张图像内部的目标区域。

encoder顶层的特征图可以被看成是不同的patches。

考虑到每个patch的信息不仅与相邻的patch相关,距离较远的patch之间可能也有相似的特征,因此我们结合了非局部的语义信息来增强目标特征。

首先将F4 (B*N*C*h*w)reshape成F4-(B*N*C*Q),然后构建一个矩阵M(B*N*Q*Q)来表示单张图像中每个patch之间的相似度。利用L2-distance来衡量任意两个patch之间的关系。

M的对角线元素设置为-∞,避免自己与自己匹配。

对于每一个query patch,我们在矩阵上使用KNN来匹配出对应的目标,然后输出一个tensor(Q*K)表示top-K语义相关的patches,从而得到F4 ~ (B*N*C*Q*K)。

然后利用MLP和MAX( element-wise maximum)操作来得到更新后的特征Z(B*N*C*Q)。

这一步的目的是将目标特征与其top-K特征的特征信息相结合,并通过感知机进行学习。

最后reshape Z并进行sigmoid来得到self-masks β。

co-category semantic guidance

将F4输入进一个卷积层和一个GAP层,生成一个向量α。

FC层对embedding  α进行分类,来得到co-category labels y~。

然后将co-category embedding response α 和 self-masks β 作为 learned scale  modulation parameters(通过使用丰富的语义感知线索来排除co-object区域中的干扰物)和 bias parameters(通过赋予空间感知信息来补充和突出目标目标)作用到decoder上。

解码器利用跳跃连接结构来融合来自编码器的低分辨率层特征。

损失函数

类别损失(语义信息):交叉熵

Weighted Binary Cross-Entropy (WBCE) loss(像素级别的分割):

IoU loss(评估分割的精度):

损失函数:

数据集:

four CoS benchmarks (PASCAL, iCoseg, Internet and MSRC)

three CoSD benchmarks (Cosal2015, CoSOD3k, and CocA)

four VSOD benchmarks (DAVIS16, FBMS, ViSal and SegV2)

评估指标:

object co-segmentation:Precision (P) and Jaccard index (J )

co-saliency detection and video salient object detection:

mean absolute error MAE, F-measure Fβ, E-measure Em, and S-measure Sm

消融实验

CoS (PASCAL-VOC and iCoseg) datasets

表5:

transformer不仅能够更好地建模长距离依赖性,而且在速度上取得了最好的性能。

实验

co-segmentation

co-saliency detection

video salient object detection

这篇关于[VSOD] UFO: A Unified Transformer Framework for CoS, CoSD, VSOD的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/299523

相关文章

Spring Framework系统框架

序号表示的是学习顺序 IoC(控制反转)/DI(依赖注入): ioc:思想上是控制反转,spring提供了一个容器,称为IOC容器,用它来充当IOC思想中的外部。 我的理解就是spring把这些对象集中管理,放在容器中,这个容器就叫Ioc这些对象统称为Bean 用对象的时候不用new,直接外部提供(bean) 当外部的对象有关系的时候,IOC给它俩绑好(DI) DI和IO

UML- 统一建模语言(Unified Modeling Language)创建项目的序列图及类图

陈科肇 ============= 1.主要模型 在UML系统开发中有三个主要的模型: 功能模型:从用户的角度展示系统的功能,包括用例图。 对象模型:采用对象、属性、操作、关联等概念展示系统的结构和基础,包括类图、对象图、包图。 动态模型:展现系统的内部行为。 包括序列图、活动图、状态图。 因为要创建个人空间项目并不是一个很大的项目,我这里只须关注两种图的创建就可以了,而在开始创建UML图

Transformer从零详细解读

Transformer从零详细解读 一、从全局角度概况Transformer ​ 我们把TRM想象为一个黑盒,我们的任务是一个翻译任务,那么我们的输入是中文的“我爱你”,输入经过TRM得到的结果为英文的“I LOVE YOU” ​ 接下来我们对TRM进行细化,我们将TRM分为两个部分,分别为Encoders(编码器)和Decoders(解码器) ​ 在此基础上我们再进一步细化TRM的

LLM模型:代码讲解Transformer运行原理

视频讲解、获取源码:LLM模型:代码讲解Transformer运行原理(1)_哔哩哔哩_bilibili 1 训练保存模型文件 2 模型推理 3 推理代码 import torchimport tiktokenfrom wutenglan_model import WutenglanModelimport pyttsx3# 设置设备为CUDA(如果可用),否则使用CPU#

逐行讲解Transformer的代码实现和原理讲解:计算交叉熵损失

LLM模型:Transformer代码实现和原理讲解:前馈神经网络_哔哩哔哩_bilibili 1 计算交叉熵目的 计算 loss = F.cross_entropy(input=linear_predictions_reshaped, target=targets_reshaped) 的目的是为了评估模型预测结果与实际标签之间的差距,并提供一个量化指标,用于指导模型的训练过程。具体来说,交叉

深度学习每周学习总结N9:transformer复现

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制 目录 多头注意力机制前馈传播位置编码编码层解码层Transformer模型构建使用示例 本文为TR3学习打卡,为了保证记录顺序我这里写为N9 总结: 之前有学习过文本预处理的环节,对文本处理的主要方式有以下三种: 1:词袋模型(one-hot编码) 2:TF-I

RNN发展(RNN/LSTM/GRU/GNMT/transformer/RWKV)

RNN到GRU参考: https://blog.csdn.net/weixin_36378508/article/details/115101779 tRANSFORMERS参考: seq2seq到attention到transformer理解 GNMT 2016年9月 谷歌,基于神经网络的翻译系统(GNMT),并宣称GNMT在多个主要语言对的翻译中将翻译误差降低了55%-85%以上, G

ModuleNotFoundError: No module named ‘diffusers.models.dual_transformer_2d‘解决方法

Python应用运行报错,部分错误信息如下: Traceback (most recent call last): File “\pipelines_ootd\unet_vton_2d_blocks.py”, line 29, in from diffusers.models.dual_transformer_2d import DualTransformer2DModel ModuleNotF

用最简单的话来解释大模型中的Transformer架构

开篇 我个人的观点是要想系统而又透彻地理解 Transformer,至少要遵循下面这样一个思路(步骤): 理解NLP基础 在探讨Transformers之前,了解自然语言处理(NLP)的一些基本知识至关重要。NLP使计算机能够理解和生成自然语言,文本的表征是其核心任务之一。传统的语言模型往往依赖于递归神经网络(RNN)处理序列数据,但RNN在长序列中表现较差。为了解决这一问题,必须引入先

【大规模语言模型:从理论到实践】Transformer中PositionalEncoder详解

书籍链接:大规模语言模型:从理论到实践 第15页位置表示层代码详解 1. 构造函数 __init__() def __init__(self, d_model, max_seq_len=80):super().__init__()self.d_model = d_model # 嵌入的维度(embedding dimension) d_model: 表示输入词向量的维度。max_se