《Fast User-Guided Video Object Segmentation by Interaction-and-Propagation Networks》论文笔记

本文介绍一种新型互动视频目标分割算法,结合交互式与分割子网络,实现精准目标分割。算法在DAVIS2018数据集上表现优异,速度与精度超越传统方法。通过多轮训练策略和用户交互信息模拟,提升分割效果。
部署运行你感兴趣的模型镜像

参考代码:暂无

1. 概述

导读:这篇文章提出了一种交互式的视频目标分割算法,方法由两个网络组建部分构成:交互式子网络(interaction)和分割子网络(propagation)。交互子网络用于将用户提供的交互信息(涂鸦、bounding box等)转化为前景目标;分割子网络将分割的目标mask在原帧与邻近帧之间传递,实现目标分割。而这两个子网络是组合进行训练的,防止了单独进行训练带来的不稳定情况。此外,在网络改进的基础上还提出了一种multi-round的训练方法,就是在多次训练round中添加交互信息,指导达到想要的效果,也是为实际中多次交互分割进行模拟,期待达到更好的性能。这篇文章的方法在DAVIS 2018数据集上速度与精度方面均超越了先前的分割方法。

文章算法的运行过程(往复地)见下图1所示:
在这里插入图片描述

2. 方法设计

这篇文章的算法是基于ResNet-50的编解码结构网络,输入部分使用了RoI Align操作使得网络可以更加关注有效区域,给出的网络结构见下图(a)(b)图所示:
在这里插入图片描述
对于其中的decoder模块其结构为:
在这里插入图片描述
在实际的运算过程中,训练的时序会前后颠倒,也就是进行往复训练,其中会使用用户的交互信息进行修正。这也是文章指出的使用可信赖的视觉信息来生成效果更好的结果,而这一部分可信赖的信息就是来自于交互子网络部分,文章指出其是通过Feature Aggregation Module进行融合的,从而将交互信息引入到目标分割网络中去。

对于多类分割的情况,文章会首先预测出每个类的分割结果,之后再将这些结果经过soft aggregation融合起来得到最后结果。

2.1 网络细节

交互子网络
交互子网络的输入有6个channel,除了输入的RGB RoI之外还有另外3个通道:前一round的mask输出概率图(其中的值介于0到1之间)、2份代表正负样本区域的二值标注图,从而得到对应的输入数据 X i ∈ R 6 ∗ H ∗ w X_i\in R^{6*H*w} XiR6Hw,其中对于第一round(由于没有对应的mask),因而这里的输入概率图中的所有像素全部被置位0.5。最后,得到的输出结果为 Y i ^ ∈ R H ∗ W \hat{Y_i}\in R^{H*W} Yi^RHW

分割子网络
这一部分的分割子网络与交互子网络输入类似,不错这里由6个channel变为了5个channel,除了RGBchannel多出来的为:前一帧的分割mask与前一轮的分割mask,则输入为 X p ∈ R 5 ∗ H ∗ W X_p\in R^{5*H*W} XpR5HW

Feature Aggregation Module
为了有效利用用户交互的信息,文章针对应的设计了这个模块,它是将交互网络编码器的输出当做是clue或者成为reference,其结构见下图所示:
在这里插入图片描述
在上面的结构中分割子网路与交互子网络的特征经过池化、全连接等操作之后可到一个在每个channel上2维的特征,之后经过softmax保证2维度上的值相加为1,之后使用这两维度的值作为权值将之前输入的两个特征做channel-wise的加权和,之后再送入到decoder中去。

Region of Interest
在分割算法中对于小目标与过大的目标处理起来是有难度的,但是知道图像中的RoI的位置这样就好办很多了。在这篇文章中使用了3个clue:用户的交互信息、前一round的mask输出、前一帧的mask输出,从而就可以得到一个box的RoI,之后将其经过双线性插值得到 256 ∗ 256 256*256 256256的图像送入encoder中。反向映射也参考这部分工作。

2.2 网络训练与数据合成

训练策略
为了更好适应用户在测试过程中多次进行交互,并且对这些交互进行反馈,文章在训练的过程中人为地去模拟了这个过程提出了multi-round的训练策略,在这个策略中将分割与交互子网络联合训练,其运算流程示意图见下图所示:
在这里插入图片描述
用户交互信息的合成
对于用户的交互信息这里选用的是涂鸦的形式,是首先抽取目标区域,之后提取这个区域的骨架作为用户的交互信息,之后按照训练的round进行单独处理:

  • 1)first round:使用前景区域作为交互信息的采样区域;
  • 2)other round:使用与GT mask相比较得到的错误正负区域做为采样区域;

3. 实验结果

DAVIS 2018:
在这里插入图片描述
消融实验:
在这里插入图片描述

您可能感兴趣的与本文相关的镜像

HunyuanVideo-Foley

HunyuanVideo-Foley

语音合成

HunyuanVideo-Foley是由腾讯混元2025年8月28日宣布开源端到端视频音效生成模型,用户只需输入视频和文字,就能为视频匹配电影级音效

在测试时医学图像分割任务中,使用 CLIP 引导的 SAM(Segment Anything Model)适配方法是一种新兴且具有潜力的技术,尤其适用于跨域泛化(Test-Time Domain Generalization, TT-DG)场景。该方法的核心思想是通过 CLIP 的多模态嵌入能力,引导 SAM 在测试阶段动态调整其分割策略,以适应未见过的图像域,从而提升模型在未知数据上的泛化能力。 ### 方法概述 CLIP(Contrastive Language-Image Pre-training)模型通过大规模图文对进行预训练,能够将图像和文本映射到一个共享的语义空间中。在医学图像分割任务中,CLIP 可用于提取图像的全局语义特征,并结合 SAM 的强大分割能力实现更精确的分割。 具体来说,CLIP 提供的文本编码可以作为先验知识引导 SAM 的掩码生成过程。例如,在医学图像中,可以使用描述性文本(如“肺部肿瘤”)来引导 SAM 更准确地识别目标区域。此外,CLIP 的图像编码器也可以用于提取图像的高层语义信息,从而辅助 SAM 在不同域之间进行自适应调整。 ### 实现步骤 1. **预处理与特征提取**:使用 CLIP 的图像编码器对输入医学图像进行编码,获取其在共享语义空间中的表示。 2. **文本引导掩码生成**:通过输入描述目标区域的文本提示(prompt),CLIP 将其编码并与图像编码进行对齐,从而引导 SAM 生成特定区域的掩码。 3. **测试时自适应**:在测试阶段,利用 CLIP 提取的语义特征对 SAM 进行微调或参数调整,使其适应新的图像域(如不同医院、设备或患者群体)[^1]。 ### 优势与挑战 该方法的优势在于能够利用 CLIP 的强大多模态对齐能力,提升 SAM 在跨域医学图像分割中的性能。此外,文本提示机制为用户提供了一种灵活的交互方式,使得模型可以根据具体任务需求进行调整。 然而,也存在一些挑战。例如,如何选择合适的文本提示以获得最佳分割效果,以及如何在没有目标域标注数据的情况下进行有效的测试时自适应,仍然是需要进一步研究的问题。 ### 示例代码 以下是一个简化的代码示例,展示如何结合 CLIP 和 SAM 进行文本引导的医学图像分割: ```python import torch from clip import clip from segment_anything import sam_model_registry, SamAutomaticMaskGenerator # 加载预训练的 CLIP 模型 clip_model, preprocess = clip.load("ViT-B/32", device="cuda") # 加载 SAM 模型 sam = sam_model_registry["vit_b"](checkpoint="sam_vit_b_01ec64.pth") sam.to(device="cuda") # 定义文本提示 text_prompt = "lung tumor" text_input = clip.tokenize([text_prompt]).cuda() # 提取文本嵌入 with torch.no_grad(): text_features = clip_model.encode_text(text_input) # 加载并预处理图像 image = preprocess(Image.open("medical_image.png")).unsqueeze(0).cuda() # 提取图像特征 with torch.no_grad(): image_features = clip_model.encode_image(image) # 计算图像与文本的相似度 similarity = (image_features @ text_features.T).softmax(dim=-1) # 使用 SAM 生成掩码 mask_generator = SamAutomaticMaskGenerator(sam) masks = mask_generator.generate(image) # 根据相似度选择最相关的掩码 best_mask = masks[torch.argmax(similarity)] # 显示分割结果 plt.imshow(best_mask['segmentation']) plt.show() ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值