【论文阅读笔记】Frequency Perception Network for Camouflaged Object Detection

news2024/10/7 18:22:04

1.论文介绍

Frequency Perception Network for Camouflaged Object Detection
基于频率感知网络的视频目标检测
2023年 ACM MM
Paper Code

2.摘要

隐蔽目标检测(COD)的目的是准确地检测隐藏在周围环境中的目标。然而,现有的COD方法主要定位在RGB域中的图像对象,其性能尚未得到充分利用,在许多具有挑战性的场景。考虑到频域中被感知对象和背景的特征更具区分性,提出了一种基于频域语义层次的可学习、可分离的频率感知机制。我们的整个网络采用两阶段模型,包括频率引导的粗定位阶段细节保留的精定位阶段。利用主干提取的多层次特征,设计了一种基于八度卷积的灵活频率感知模块,用于粗定位。然后,设计校正融合模块,通过先验引导校正跨层特征通道关联,逐步融合高层特征,最后将其与浅层特征联合收割机相结合,实现对被遮挡物体的细节校正。

Keywords:频率感知,先验校正,隐藏目标检测

3.Introduction

在自然界中,动物使用伪装来融入周围环境,以避免被捕食者发现。隐藏对象检测(COD)任务旨在允许计算机自动识别与背景融合的这些隐藏对象。然而,COD的任务是非常具有挑战性的,由于低对比度之间的对象和背景的属性。此外,图像对象可能具有多种外观,包括形状、大小和纹理,这进一步增加了检测的难度。

然而,当前的解决方案仍然在具有挑战性的情况下挣扎,例如多个隐藏的对象,不确定或模糊的对象边界以及遮挡。一般来说,这些方法主要是在RGB颜色域中设计模块来检测遮挡对象,通过寻找纹理等信息不一致的区域(称为突破点)来完成遮挡对象的初始定位。然而,物品本身的隐蔽性和混乱性使这一过程非常困难。在图像频域分析中,频域中的高频和低频分量信息更有针对性地描述了图像的细节和轮廓特征,可以用来提高初始定位的精度。受此启发,本文提出了一个频率感知网络(FPNet),它采用两阶段的搜索和识别策略来检测隐藏的对象,充分利用RGB和频率线索。

一方面,频率导引粗定位阶段的主要目的是利用频域特征寻找被定位目标位置的突破点。我们首先采用Transformer骨干提取输入RGB图像的多级特征。随后,为了实现频域特征的提取,我们引入了频率感知模块,将颜色特征分解为高频和低频分量。其中,高频特征描述纹理特征或快速变化的部分,而低频特征可以勾勒出图像的整体轮廓。考虑到纹理和轮廓对图像目标定位的重要性,我们将它们融合为一个完整的频域信息表示。此外,还采用邻居交互机制来联合收割机组合不同级别的频率感知特征,从而实现对隐藏对象的粗检测和定位。另一方面,细节保留精细定位阶段集中于渐进的先验引导校正和跨层融合,从而产生最终的精细图像对象掩模。具体而言,我们设计了校正融合模块,通过整合先验引导校正和跨层特征通道关联,实现跨层高层特征交互。最后,进一步引入浅层高分辨率特征来细化和修改图像对象的边界,并生成最终的COD结果。

4.网络详解

在这里插入图片描述

本文提出了一种用于隐藏对象检测的频率感知网络(FPNet),如图所示,包括特征提取骨干,频率引导粗定位阶段和细节保留精细定位阶段。

给定一个输入图像 I ∈ R H × W × 3 I ∈ R^{H×W×3} IRH×W×3 ,采用金字塔视觉Transformer(PVT)作为backbone编码器来生成不同级别的特征,表示为 X i , i ∈ 1 , 2 , 3 , 4 X_i ,i∈{1,2,3,4} Xi,i1,2,3,4。第一级特征映射图 X 1 X_1 X1包括关于被映射对象的丰富的详细信息,而更深层特征( X 2 X_2 X2, X 3 X_3 X3, X 4 X_4 X4)包含更高级语义信息。在频率引导粗定位阶段,首先使用频率感知模块(FPM)对高层特征进行频域特征提取,然后采用邻域连接解码器进行特征融合解码,得到粗COD图 𝑆1。然后,在细节保持精细定位阶段,在粗COD图的指导下,将高层特征嵌入到校正融合模块(CFM)以逐步实现跨层的先验引导校正和融合。 最后,使用带有空间注意机制(SAM)的感受野块(RFB)进行低级高分辨率特征优化,并与CFM模块输出相结合,得到最终的COD结果𝑆𝑜𝑢𝑡𝑝𝑢𝑡。

频率引导粗定位
在这里插入图片描述

八度卷积可以学习将图像划分为频域中的低频和高频分量。 低频特征对应于具有温和强度变换的像素点,例如通常代表对象的主要部分的大色块。 另一方面,高频成分是指亮度变化剧烈的像素,例如图像中物体的边缘。 由此提出了一种频率感知模块,自动将特征分离为高频和低频部分,然后形成伪装物体的频域特征表示,详细过程如上图所示。

具体来说,采用八度卷积以端到端的方式自动感知高频和低频信息,从而实现伪装目标检测的在线学习。八度卷积可以有效避免DCT带来的块效应,并利用GPU计算速度的优势。 此外,它可以轻松插入任意网络。 八度卷积输出 Y i = { Y i H , Y i L } Y_i = \{Y^H_i,Y^L_i\} Yi={YiH,YiL} 的详细过程可以描述如下:
在这里插入图片描述
其中𝐹(𝑋;𝑊)表示与可学习参数𝑊的卷积,pool(𝑋,𝑘)是内核大小为𝑘×𝑘的平均池化操作,Upsample(𝑋,𝑠)是一个上采样操作通过最近插值计算 𝑠 的因子。

考虑到高频纹理属性和低频轮廓属性对于伪装目标定位都很重要,我们将它们融合为频域信息的完整表示:
在这里插入图片描述
其中Resize表示将特征调整到固定尺寸,⊕是按元素相加。 然后,如上上图中顶部区域(三个FPM上方的部分)所示,采用邻居连接解码器(NCD)来逐步整合顶部三层的频域特征,充分利用通过邻居层连接的跨层语义上下文关系可以表示为:
在这里插入图片描述
其中 ⊗ 是逐元素乘法,ℊ ↑ (𝑥) 表示上采样和 3 × 3 卷积,cat() 表示串联和 3 × 3 卷积,𝑓′ 2 是 NCD 的输出。 在这个阶段之后,我们使用简单的卷积来获得粗略掩模𝑆1,它揭示了伪装对象的初始位置。

保留细节的精细定位
利用频域特征来实现伪装物体的粗定位,更像是寻找和定位突破点的过程,结果的完整性和准确性还不够。 为此,提出了一种保留细节的精细定位机制,该机制不仅通过先验校正和通道关联实现高级特征的渐进融合,而且还考虑高分辨率特征来细化伪装对象的边界,如上上图所示。

为了实现上述目标,首先设计了一个校正融合模块(CFM),它有效地融合相邻层特征和粗伪装掩模以产生精细输出。 该模块包括三个输入:当前层和上一层特征𝑋𝑖和𝑋𝑖+1,以及粗掩模𝑆𝑔 = {𝑆1,𝑆2}。 此外,首先将输入特征通道的数量减少到64个,表示为𝐹𝑖和𝐹𝑖+1,这有助于提高计算效率,同时仍然保留检测的相关信息。 如下图所示,CFM 由两部分组成。 为了充分利用现有的先验引导图𝑆𝑔,纯化了前一层的特征,并选择与伪装特征最相关的特征来以参与后续的跨层交互。从数学上讲,特征图𝐹𝑖+1首先与粗掩模𝑆𝑔相乘以获得输出特征𝑓′𝑖+1:
在这里插入图片描述
其中 ⊙ 表示逐元素乘法,Upsample 是上采样操作。 这种预先引导的校正在难以从周围环境中辨别物体的情况下特别有用。

为了实现更充分的跨层特征交互,并将前一层的高层信息有效地传递到当前层,设计了通道级关联建模。 通过对𝐹𝑖和𝑓′𝑖+1上的每个像素点进行内积来进行通道注意力,从而计算同一像素的通道维度上不同特征图之间的相似度。 为了进一步降低计算复杂度,还采用了 3 × 3 卷积来创建瓶颈结构,从而压缩输出通道的数量。 这个过程可以描述为:
在这里插入图片描述
其中 ⊗ 是矩阵乘法。 然后,通过对特征 𝐴 使用两个 3 × 3 卷积运算来学习两个权重图 𝛼 和 𝛽。 它们进一步以调制的方式用于校正当前层𝐹𝑖的特征。 这样,通过残差处理就可以生成最终的跨层融合特征:
在这里插入图片描述
除了上述对高层特征的先验校正和通道关联建模外,还充分利用第一层的高分辨率信息来补充详细信息。 具体来说,在第一层特征(𝑋1)上使用感受野块(RFB)模块和空间注意模块来扩大感受野并突出特征的重要空间信息,然后融合 与 CFM 模块的输出 (𝑓𝑜𝑢𝑡 2 ) 一起生成最终的预测图:
在这里插入图片描述
其中𝑅𝐹𝐵和𝑆𝐴𝑀分别是感受野模块和空间注意模块。 𝐵𝑐𝑜𝑛𝑣 表示 3 × 3 卷积层以及批量归一化和 ReLU。
在这里插入图片描述
损失函数
在三个COD图(即𝑆𝑆2和𝑆𝑜𝑢𝑡𝑝𝑢𝑡)上计算加权二元交叉熵损失(L𝜔𝐵𝐶𝐸)和IoU损失(L𝜔𝐼𝑜𝑈)以形成我们的最终损失函数:
在这里插入图片描述

其中 L* = L𝜔 𝐵𝐶𝐸 + L𝜔 𝐼𝑜𝑈, * = {1, 2, 𝑜𝑢𝑡𝑝𝑢𝑡},
L1 表示粗预测图之间的损失𝑆1 和真实值,L2 表示预测图 𝑆2 的损失 在第一个 CFM 之后,L𝑜𝑢𝑡𝑝𝑢𝑡 表示最终预测图 𝑆𝑜𝑢𝑡𝑝𝑢𝑡 与真值之间的损失。

5.实验结果

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

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

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

相关文章

UI-Diffuser——使用生成式扩散模型的UI原型设计算法解析

概述。 移动UI是影响参与度的一个重要因素,例如用户对应用的熟悉程度和使用的便利性。如果你有一个类似的应用程序,你可能会选择一个具有现代、好看的设计的应用程序,而不是一个旧的设计。然而,要从头开始研究什么样的UI最适合应…

数据的表示和运算试题

01.若十进制数为137.5,则其八进制数为(). A.89.8 B.211.4 C.211.5 D.1011111.101 02.一个16位无符号二进制数的表示范围是()。 A. 0~65536 B.0~65535 c. -32768~32767 D.-32768~32768 03.下列说法有误的是( ). A.任何二进制整数都可以用十进…

若依框架详细使用教程

目录 若依简介 若依使用 搭建后端 搭建前端 若依的使用 若依简介 RuoYi 若依官方网站 |后台管理系统|权限管理系统|快速开发框架|企业管理系统|开源框架|微服务框架|前后端分离框架|开源后台系统|RuoYi|RuoYi-Vue|RuoYi-Cloud|RuoYi框架|RuoYi开源|RuoYi视频|若依视频|Ruo…

golang判断通道chan是否关闭的2种方式

chan通道在go语言的办法编程中使用频繁,我们可以通过以下2种方式来判断channel通道是否已经关闭,1是使用 for range循环,另外是通过 for循环中if 简短语句的 逗号 ok 模式来判断。 示例代码如下: //方式1 通过for range形式判断…

ZooKeeper知识点总结及分布式锁实现

最初接触ZooKeeper是之前的一个公司的微服务项目中,涉及到Dubbo和ZooKeeper,ZooKeeper作为微服务的注册和配置中心。好了,开始介绍ZooKeeper了。 目录 1.ZooKeeper的基本概念 2.ZooKeeper的节点(ZNode) 3. ZooKeep…

基于MSOGI的交叉对消谐波信号提取网络MATLAB仿真

微❤关注“电气仔推送”获得资料(专享优惠) 模型简介: 此模型利用二阶广义积分器(SOGI)对基波电流和相应次的谐波电流进行取 ,具体是通过多个基于二阶广义积分器的正交信号发生器 ( S&#xf…

基于Vue Router和element-ui的LayOut

一、展示 二、代码 app.vue <template><div id"app"><el-container style"border: 1px solid #eee; height: 100vh"><el-aside v-bind:width"asideWidth" style"background-color: rgb(48, 65, 86);"><…

【数据结构】这样学习串的朴素模式匹配算法,简直不要太容易……

串的朴素模式匹配算法 导读一、串的模式匹配1.1 模式匹配是什么&#xff1f;1.2 为什么要有模式匹配算法&#xff1f; 二、朴素模式匹配算法2.1 算法底层逻辑2.2 算法实现2.2.1 过程解析2.2.2 思路分析2.2.3 思路总结2.2.4 代码编写数据类型函数的三要素函数主体 2.2.5 代码测试…

【Linux 系统】多线程(线程控制、线程互斥与同步、互斥量与条件变量)-- 详解

一、线程概念 线程是进程的一个执行分支&#xff0c;是在进程内部运行的一个执行流。下面将从是什么、为什么、怎么办三个角度来解释线程。 1、什么是线程 上面是一张用户级页表&#xff0c;我们都知道可执行程序在磁盘中无非就是代码或数据&#xff0c;更准确点表述&#xff0…

python从0开始学习

目录 前言 1、print函数 2、input函数 3、保留字和标识符 总结 前言 本篇文章我们开辟一个新的学习模块&#xff1a;python。python是一个十分简洁实用的编程语言&#xff0c;我们将从0开始学习python 1、print函数 print(*args, sep , end\n, fileNone, flushFalse) pytho…

高手的黑箱:AI时代学习、思考与创作

课程目录 01 不要错过这个时代的巨大红利&#xff0c;AI时代竞争力养成指南.mp4 02 解密高手的黑箱——那些创作高手不告诉你的事.mp4 03 创作&#xff1a;人生发展中最重要的事.mp4 04 创作中最重要的事&#xff08;1&#xff09;&#xff1a;对过程的掌控力.mp4 05 创作…

FIFO Generate IP核使用——FIFO写操作详解及Status Flags页配置

本文介绍了FIFO的写操作及Status Flags页的配置信息。 1 FIFO 写入操作 当FIFO的写入使能&#xff08;write enable&#xff09;被置位&#xff0c;并且FIFO未满时&#xff0c;数据会从输入总线&#xff08;din&#xff09;被添加到FIFO中&#xff0c;并且写入确认&#xff0…

Spring - 8 ( 10000 字 Spring 入门级教程 )

一&#xff1a; MyBatis 1.1 引入 MyBatis 我们学习 MySQL 数据库时&#xff0c;已经学习了 JDBC 来操作数据库, 但是 JDBC 操作太复杂了. 我们先来回顾⼀下 JDBC 的操作流程: 创建数据库连接池 DataSource通过 DataSource 获取数据库连接 Connection编写要执行带 ? 占位符…

【LLM 论文】CREA-ICL:利用跨语言检索来增强小语种的 ICL 能力

论文&#xff1a;From Classification to Generation: Insights into Crosslingual Retrieval Augmented ICL ⭐⭐⭐⭐ NeurIPS 2023, arXiv:2311.06595 文章目录 论文速读总结 论文速读 有很多外国语言因为其语言复杂性、标记数据集的缺乏以及数据重复等问题&#xff0c;LLM …

【讲解下如何解决一些常见的 Composer 错误】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

【二等奖水平论文】2024五一数学建模C题22页保奖论文+22页matlab和13页python完整建模代码、可视图表+分解结果等(后续会更新)

一定要点击文末的卡片&#xff0c;那是资料获取的入口&#xff01; 点击链接加入群聊【2024五一数学建模】&#xff1a;http://qm.qq.com/cgi-bin/qm/qr?_wv1027&khoTDlhAS5N_Ffp-vucfG5WjeeJFxsWbz&authKey7oCSHS25VqSLauZ2PpiewRQ9D9PklaCxVS5X6i%2BAkDrey992f0t15…

前端高频算法

分析算法排序&#xff1a; 时间复杂度: 一个算法执行所耗费的时间。 空间复杂度: 运行完一个程序所需内存的大小。 执行效率、内存消耗、稳定性 三方面入手。 1. 排序 1.1 冒泡排序 冒泡的过程只涉及相邻数据的交换操作&#xff0c;所以它的空间复杂度为 O(1)。 为了保证…

Deep learning Part Five RNN--24.4.29

接着上期&#xff0c;CBOW模型无法解决文章内容过长的单词预测的&#xff0c;那该如何解决呢&#xff1f; 除此之外&#xff0c;根据图中5-5的左图所示&#xff0c;在CBOW模型的中间层求单词向量的和&#xff0c;这时就会出现另一个问题的&#xff0c;那就是上下文的单词的顺序…

【JVM】class文件格式,JVM加载class文件流程,JVM运行时内存区域,对象分配内存流程

这篇文章本来只是想讲一下class文件格式&#xff0c;讲着讲着越讲越多。JVM这一块吧&#xff0c;知识比较散比较多&#xff0c;如果深研究下去如死扣《深入理解Java虚拟机》&#xff0c;这本书很深很细&#xff0c;全记住是不可能的&#xff0c;其实也没必要。趁这个机会直接把…

附录6-4 黑马优购项目-分类和购物车

目录 1 分类 1.1 接口 1.2 窗口限制 1.3 选中状态样式判断 1.4 点击左侧时右侧会到顶点 1.5 源码 2 购物车 2.1 store 2.2 tabBar徽标 2.3 滑动删除 2.4 结算 2.4.1 结算前登录 2.4.2 结算功能 2.5 触发组件事件 2.6 源码 1 分类 分类最上部是…