【论文阅读】DQnet: Cross-Model Detail Querying for Camouflaged Object Detection

DQnet: Cross-Model Detail Querying for Camouflaged Object Detection

DQnet:伪装目标检测中的跨模型细节查询

论文地址:https://arxiv.org/abs/2212.08296

这篇文章提出了一个交叉模型框架(CNN-Transformer并行)来检测伪装目标

出发点还是:CNN局部感知,感受野受限 ,Transformer全局信息丰富但细节信息不足。希望结合二者优势

这个思路目前做的挺多的,不算是很新颖,很多图像分割方向的都有这样做的

最主要的创新还是作者提出了一个 Relation-Based Querying (RBQ) module

下面详细解释下:

整体框架如图所示,这个图画的不是很清楚

整体框架分为两个分支左边是ViT,也就是Transformer分支,右边的ResNet,也就是CNN分支

关于Transformer和CNN的优缺点,作者给出的说法是:

Transformer将图像块投影到向量中,导致局部细节的丢失。同时Transformer编码器能够获得准确的全局感知信息。

CNN中卷积核在具有重叠的特征图上滑动,这保留了细粒度的局部细节,但缺乏获得连续语义的能力。

将这两者结合在一起,使得特征提取器不仅可以继承全局信息,还可以弥补ViT的缺陷(缺乏空间归纳偏置)

所以关键问题就是如何结合CNN和Transformer的特征

作者说他们设计了一种多尺度细节查询机制(multi-scale detail querying mechanism),以交互的方式消除这两种特征之间的不一致。

在这里插入图片描述

具体做法就是,首先讲ResNet提取的特征与Transformer做对齐,就是图中右侧的Alignment

具体地说,特征图首先需要通过最大池化下采样来将空间尺度与ViT patch embeddings对齐。然后使用1x1卷积来完成通道维度对齐,然后使用LayerNorm层来正则化特征。

对齐之后的特征送入RBQ模块,从RBQ出来的特征,再用同样的方法去与ResNet对齐, 再送入ResNet下一层继续运算

这里注意一个问题

ViT的大小是不变的,ResNet则是金字塔结构的(也就是每一层尺寸不一),所以确定在哪个位置进行对齐是一个重要的问题。

本文所提出的对齐机制是在ResNet四个阶段每个阶段的开始。

下面说下RBQ Relation-Based Querying.

作者说,传统方法,直接使用逐元素相加来融合对齐的特征。然而他们认为,在COD场景中,低级细节和高级语义的直接融合可能会导致细粒度的细节很容易被周围的上下文信息淹没的现象。

所以他们采用的方法是:通过计算两种特征的逐像素关系并将基于关系的结果添加到原始融合中,来弥合跨模型的语义差距。

如何计算关系呢,作者说他们使用基window-based cross attention来推理空间相邻元素之间的逐像素关系。

具体来说就是ResNet的特征记作Y,ViT的特征记作Z。然后Q由Z产生,K和V由Y产生

下面这个图画的很清楚,得到的QKV就做正常的多头自注意力就好了,然后每一层的输出是由这一层的ViT特征+ResNet特征+RBQ的结果得到的。做法还是蛮简单的。

在这里插入图片描述

最后说下loss

主要还是用的wBCE Loss和wIoU

作者加了个SAL Significance Aware Loss

感觉说的不是很清楚,贴个图看下吧。
在这里插入图片描述

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

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

相关文章

【自启动配置】Ubuntu 设置开机自启动脚本

Ubuntu 开机运行的脚本和当前操作系统运行的级别有关,OS 的运行级别大概分为七个 目录 1、查看 OS 运行级别 2、创建自启动脚本 3、添加软链接 1、查看 OS 运行级别 输入命令 runlevel 查看当前系统运行级别。当前系统的运行级别为 5 2、创建自启动脚本 在 /et…

实训笔记7.19

实训笔记7.19 7.19一、座右铭二、Hadoop的HDFS分布式文件存储系统的相关原理性内容2.1 HDFS上传数据的流程2.2 HDFS下载数据的流程2.3 HDFS中NameNode和SecondaryNameNode工作机制(涉及到HDFS的元数据管理操作)2.4 HDFS中NameNode和DataNode的工作机制&a…

easyui tabs切换

easyui tabs切换之前提醒保存修改的信息 当存在多个tabs,相互切换时提醒保存修改的信息&#xff1a; 这里用的鼠标mousedown事件 var tabs $(#tabsId).tabs().tabs(tabs);for(var item0; item<tabs.length; item){tabs[item].panel(options).tab.unbind().bind(mousedow…

小程序自定义步骤条实现

效果展示&#xff1a; 支持背景颜色自定义 <view class"hl_steps"><view class"hl_steps_item" wx:for"{{steps}}" wx:key"id"><view class"hl_steps_item_circle_out" style"background-color: {{col…

【SpringCloud Alibaba】(二)微服务环境搭建

1. 项目流程搭建 整个项目主要分为 用户微服务、商品微服务和订单微服务&#xff0c;整个过程模拟的是用户下单扣减库存的操作。这里&#xff0c;为了简化整个流程&#xff0c;将商品的库存信息保存到了商品数据表&#xff0c;同时&#xff0c;使用商品微服务来扣减库存。小伙…

「苹果安卓」手机搜狗输入法怎么调整字体大小及键盘高度?

手机搜狗输入法怎么调整字体大小及键盘高度&#xff1f; 1、在手机上准备输入文字&#xff0c;调起使用的搜狗输入法手机键盘&#xff1b; 2、点击搜狗输入法键盘左侧的图标&#xff0c;进入更多功能管理&#xff1b; 3、在搜狗输入法更多功能管理内找到定制工具栏&#xff0c…

[数据结构 -- C语言] 二叉树(BinaryTree)

目录 1、树的概念及结构 1.1 树的概念 1.2 树的相关概念&#xff08;很重要&#xff09; 1.3 树的表示 2、二叉树的概念及结构 2.1 概念 2.2 特殊二叉树 2.3 二叉树的性质&#xff08;很重要&#xff09; 2.4 练习题 2.5 二叉树的存储结构 2.5.1 顺序存储 2.5.2 链…

Jenkins报警机制的配置与Linux的使用总结

先在钉钉中添加一个机器人 在Configure System中找到机器人选项&#xff0c;并且复制webhook到网络钩子&#xff0c;然后添加机器人的编号、名称和关键词&#xff0c;然后点击测试&#xff0c;如果显示测试成功则表示配置成功&#xff0c;最后保存 再到配置中勾选顶顶机器人的定…

【CMU15-445 FALL 2022】Project #1 - Buffer Pool

About 实验官网 Project #1 - Buffer Pool在线评测网站 gradescope Lab Task #1 - Extendible Hash Table 详见——【CMU15-445 FALL 2022】Project #1 - Extendable Hashing 如果链接失效&#xff0c;请查看当前平台我之前发布的文章。 Task #2 - LRU-K Replacement Polic…

YOLOv5基础知识

定位和检测: 定位是找到检测图像中带有一个给定标签的单个目标 检测是找到图像中带有给定标签的所有目标 图像分割和目标检测的区别&#xff1a; 图像分割即为检测出物体的完整轮廓&#xff0c;而目标检测则是检测出对应的目标。&#xff08;使用框框把物体框出来&#xff…

常见JVM参数配置和GC性能优化

常见的JVM参数配置 垃圾回收统计信息 -XX:PrintGC 打印GC简要信息 -XX:PrintGCDetails打印GC的详细信息 -XX:PrintGCTimeStamps打印CG发生的时间戳 -Xloggc:log/gc.log 指定GC log的位置&#xff0c;以文件输出 -XX:PrintHeapAtGC 每一次GC前和GC后&#xff0c;都打印堆信…

SAP客制化区域菜单和IMG配置清单

1. 自定义区域菜单 事务代码 SE43&#xff0c;操作如下 添加菜单对象 展示效果 输入区域菜单名称并回车&#xff0c;效果如下 2. 自定义IMG配置 事务代码 SIMGH IMG structure 示例-事务代码入口 示例-表格维护入口 示例-自定义代码控制对象 需要创建dummy表并设置表维护 页面设…

React、Vue框架如何实现组件更新,原理是什么?

引言 React 和 Vue 都是当今最流行的前端框架,它们都实现了组件化开发模式。为了优化性能,两者都采用了虚拟DOM技术。当组件状态发生改变时,它们会使用虚拟DOM进行局部渲染比对,只更新必要的DOM节点,从而避免重新渲染整个组件树。本文将从React和Vue的组件更新原理入手,剖析两…

Progressive Dual-Branch Network for Low-Light Image Enhancement 论文阅读笔记

这是22年中科院2区期刊的一篇有监督暗图增强的论文 网络结构如下图所示&#xff1a; ARM模块如下图所示&#xff1a; CAB模块如下图所示&#xff1a; LKA模块其实就是放进去了一些大卷积核&#xff1a; AFB模块如下图所示&#xff1a; 这些网络结构没什么特别的&#xf…

分布式光伏监控系统运维系统实时查看数据分布式光伏电站监控管理

光伏电站是一种利用太阳能发电的设施&#xff0c;随着人们对可再生能源的需求不断增加&#xff0c;光伏电站的建设也越来越普遍。但是&#xff0c;光伏电站的运营和管理需要高质量的监控系统来确保其正常运行。本文将介绍光伏电站监控系统的组成及其原理。 详细软件具体需求可…

冒泡排序与快速排序(交换排序)

目录 前言 一、冒泡排序 1.基本思想 2.冒泡排序&#xff1a; 3.代码实现&#xff1a; 二、快速排序 1. 概念&#xff1a; 2.三种实现&#xff1a; 3.代码实现&#xff1a; 4.优化: 前言 所谓交换&#xff0c;就是根据序列中两个记录键值的比较结果来对换这两个记录在序…

【二等奖方案】基于人工智能的漏洞数据分类赛题「道可道,非常道」团队解题思路

2022 CCF BDCI 大赛 数字安全公开赛「基于人工智能的漏洞数据分类」赛题二等奖团队「道可道&#xff0c;非常道」战队获奖方案&#xff0c;赛题地址&#xff1a; http://go.datafountain.cn/s57 团队简介 本团队具有丰富的比赛和项目经验。在AI大赛上多次拿到Top成绩&#xf…

FFMPEG源码之过滤器

功能介绍 FFmpeg的过滤器是用于对音视频流进行处理和转换的模块。它可以对输入流进行各种操作&#xff0c;如调整大小、调节亮度、对比度、裁剪、旋转等。 操作步骤 实现对某个视频的放大操作的详细步骤如下&#xff1a; 配置和初始化FFmpeg&#xff1a;在开始编写代码之前…

线性表之链表

1、链表概述 链表是一种物理存储结构上非连续、非顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 顺序表的存储位置可以用一个简单直观的公式表示&#xff0c;它可以随机存取表中任意一个元素&#xff0c;但插入和删除需要移动大量元素。链式…

深入理解 PostgreSQL 的架构和内部工作原理

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…