SINetv2:Concealed Object Detection——论文简述

2024-03-11 20:30

本文主要是介绍SINetv2:Concealed Object Detection——论文简述,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、简介

目标检测可以分为三个类别:通用目标检测(语义分割、全景分割)、突出目标检测和伪装目标检测。

与上一篇文章一样,同样是伪装目标检测,但是取得了更好的效果。

数据集采用COD10k,每张图片采用六种标注:属性(如下表所示)、类别(super-&sub-class)、bounding boxes、object
annotation、instance annotation 和 edge annotation。
在这里插入图片描述
较v1增加了neighbor connection decoder(NCD) 和 group-reversal attention (GRA)。

本论文完成的是目标层面的检测,而不是实例分割。

二、模型

在这里插入图片描述
模型分为两个部分:搜索和确认。

2.1 搜索阶段

2.1.1 特征抽取

backbone是res2net50。

2.1.2 Texture Enhanced Module (TEM)

在这里插入图片描述
对应代码中的 Receptive Field Block,其中标准的 (2i - 1) x (2i - 1) 大小的卷积操作可以分为 1 x (2i - 1) 和 (2i - 1) x 1 大小的两个连续卷积操作,从而在不减小表征能力的前提下提高推理速度。

2.1.3 Neighbor Connection Decoder (NCD)

低层级的特征由于更大的空间分辨率,会消耗更多的计算资源,但是表现不佳,本论文采用最后三层特征,而不是将所有特征金字塔送入 NCD 中。

NCD 解决的问题是如何保持同一层内语义的一致性,以及如何在各层之间架起上下文的桥梁。

对送入 NCD 的三层特征再做一次处理,对应如下代码中的 xi_1(i = 1, 2, 3),然后再是 NCD 操作。
在这里插入图片描述

    def forward(self, x1, x2, x3):x1_1 = x1  # f5x2_1 = self.conv_upsample1(self.upsample(x1)) * x2  # f4x3_1 = self.conv_upsample2(self.upsample(x2_1)) * self.conv_upsample3(self.upsample(x2)) * x3  # f3x2_2 = torch.cat((x2_1, self.conv_upsample4(self.upsample(x1_1))), 1)x2_2 = self.conv_concat2(x2_2)x3_2 = torch.cat((x3_1, self.conv_upsample5(self.upsample(x2_2))), 1)x3_2 = self.conv_concat3(x3_2)x = self.conv4(x3_2)x = self.conv5(x)return x

2.2 确认阶段

如下代码注释所示,标注了该模型示意图的确认阶段的节点。

# Neighbourhood Connected DecoderS_g = self.NCD(x4_rfb, x3_rfb, x2_rfb)  # C6S_g_pred = F.interpolate(S_g, scale_factor=8, mode='bilinear')    # Sup-1 (bs, 1, 44, 44) -> (bs, 1, 352, 352)# ---- reverse stage 5 ----guidance_g = F.interpolate(S_g, scale_factor=0.25, mode='bilinear')  # r1,5ra4_feat = self.RS5(x4_rfb, guidance_g)  # r4,5S_5 = ra4_feat + guidance_g   # C5S_5_pred = F.interpolate(S_5, scale_factor=32, mode='bilinear')  # Sup-2 (bs, 1, 11, 11) -> (bs, 1, 352, 352)# ---- reverse stage 4 ----guidance_5 = F.interpolate(S_5, scale_factor=2, mode='bilinear')  # r1,4ra3_feat = self.RS4(x3_rfb, guidance_5)  # r4,4S_4 = ra3_feat + guidance_5  # C4S_4_pred = F.interpolate(S_4, scale_factor=16, mode='bilinear')  # Sup-3 (bs, 1, 22, 22) -> (bs, 1, 352, 352)# ---- reverse stage 3 ----guidance_4 = F.interpolate(S_4, scale_factor=2, mode='bilinear')  # r1,3ra2_feat = self.RS3(x2_rfb, guidance_4)  # r4,3S_3 = ra2_feat + guidance_4  # C3S_3_pred = F.interpolate(S_3, scale_factor=8, mode='bilinear')   # Sup-4 (bs, 1, 44, 44) -> (bs, 1, 352, 352)
2.2.1 Reverse Guidance

在这里插入图片描述
在这里插入图片描述

2.2.2 Group-Reversal Attention (GRA)

就是两个 chunk 和 cat 操作。
在这里插入图片描述

这篇关于SINetv2:Concealed Object Detection——论文简述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java中Object类的常用方法小结

《Java中Object类的常用方法小结》JavaObject类是所有类的父类,位于java.lang包中,本文为大家整理了一些Object类的常用方法,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. public boolean equals(Object obj)2. public int ha

深入探讨Java 中的 Object 类详解(一切类的根基)

《深入探讨Java中的Object类详解(一切类的根基)》本文详细介绍了Java中的Object类,作为所有类的根类,其重要性不言而喻,文章涵盖了Object类的主要方法,如toString()... 目录1. Object 类的基本概念1.1 Object 类的定义2. Object 类的主要方法3. O

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?id=KS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已

OmniGlue论文详解(特征匹配)

OmniGlue论文详解(特征匹配) 摘要1. 引言2. 相关工作2.1. 广义局部特征匹配2.2. 稀疏可学习匹配2.3. 半稠密可学习匹配2.4. 与其他图像表示匹配 3. OmniGlue3.1. 模型概述3.2. OmniGlue 细节3.2.1. 特征提取3.2.2. 利用DINOv2构建图形。3.2.3. 信息传播与新的指导3.2.4. 匹配层和损失函数3.2.5. 与Super

BERT 论文逐段精读【论文精读】

BERT: 近 3 年 NLP 最火 CV: 大数据集上的训练好的 NN 模型,提升 CV 任务的性能 —— ImageNet 的 CNN 模型 NLP: BERT 简化了 NLP 任务的训练,提升了 NLP 任务的性能 BERT 如何站在巨人的肩膀上的?使用了哪些 NLP 已有的技术和思想?哪些是 BERT 的创新? 1标题 + 作者 BERT: Pre-trainin

【Python报错已解决】AttributeError: ‘list‘ object has no attribute ‘text‘

🎬 鸽芷咕:个人主页  🔥 个人专栏: 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 前言一、问题描述1.1 报错示例1.2 报错分析1.3 解决思路 二、解决方法2.1 方法一:检查属性名2.2 步骤二:访问列表元素的属性 三、其他解决方法四、总结 前言 在Python编程中,属性错误(At

[论文笔记]LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

引言 今天带来第一篇量化论文LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale笔记。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 大语言模型已被广泛采用,但推理时需要大量的GPU内存。我们开发了一种Int8矩阵乘法的过程,用于Transformer中的前馈和注意力投影层,这可以将推理所需