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

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.mzph.cn/bicheng/6016.shtml

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

相关文章

信息系统项目管理师0083:项目管理的重要性(6项目管理概论—6.2项目基本要素—6.2.2项目管理的重要性)

点击查看专栏目录 文章目录 6.2.2项目管理的重要性 6.2.2项目管理的重要性 项目管理就是将知识、技能、工具与技术应用于项目活动,以满足项目的要求。通过合理地应用并整合特定的项目管理过程,项目管理使组织能够有效并高效地开展项目。 有效的项目管理能…

Rust个人学习之Rust操作Mysql数据库

Rust 使用 mysql 的 crate 进行 mysql 的连接操作,特进行记录。 写在前面 如果想使用 mysql 需要在 CargoToml 文件中增加 mysql 的引用 [dependencies] chrono "0.4" mysql "*"连接数据库 数据库信息如下: 字段数据数据库地…

可靠的智能组网系统有哪些?

天联是一种可靠的智能组网解决方案,在现今复杂网络环境下具备明显的优势。本文将介绍天联组网以及其所带来的诸多优势。 天联组网的优势 天联组网具有以下优势,使其成为一种可靠的智能组网方案: 无网络限制:天联组网能够解决复杂…

Tire 字典树、前缀树

字典树(又称单词查找树或Trie树)是一种树形结构,它是哈希树的变种,通常用于统计、排序和保存大量的字符串(但不仅限于字符串)。字典树在搜索引擎系统中常用于文本词频统计。它的主要优点在于能够利用字符串…

每日一题(力扣213):打家劫舍2--dp+分治

与打家劫舍1不同的是它最后一个和第一个会相邻,事实上,从结果思考,最后只会有三种:1 第一家不被抢 最后一家被抢 2 第一家被抢 最后一家不被抢 3 第一和最后一家都不被抢 。那么,根据打家劫舍1中的算法 我们能算出在i…

excel办公系列-图表元素及其作用

Excel图表元素及其作用 Excel图表由各种元素组成,每个元素都有其特定的作用,可以帮助我们更清晰地传达数据信息。下面将介绍Excel图表中常见的一些元素及其作用,并附上相关截图。 原始数据 月份 网站访问量 (万次) 销售额 (万…

FIFO Generate IP核使用——Data Counts页详解

在Vivado IDE中,当看到一个用于设置数据计数选项的选项卡时,需要注意的是,尽管某些选项值可能因为当前的配置而显示为灰色(即不可选或已禁用),但IDE中显示的有效范围值实际上是你可以选择的真实值。即使某些…

opencv t函数

在OpenCV中&#xff0c;t函数通常用于转置矩阵&#xff08;Transpose&#xff09;。这意味着矩阵的行和列互换位置。 在C中&#xff0c;使用OpenCV库进行矩阵转置的代码如下所示&#xff1a; #include <opencv2/opencv.hpp> #include <iostream>int main() {// 创…

《十二》Qt各种对话框之FileDialog文件对话框及QMessageBox 消息对话框

QFileDialog 对话框 选择打开一个文件 若要打开一个文件&#xff0c;可调用静态函数 QFileDialog::getOpenFileName()&#xff0c;“打开一个文件”按钮的响应代码如下&#xff1a; void Dialog::on_btnOpen_clicked() { //选择单个文件QString curPathQDir::currentPath()…

基于React实现B站评论区

今天继续来学习一下React&#xff0c;使用React实现B站评论区&#xff0c;如下图&#xff1a; 在使用React开发类似B站评论区的功能时&#xff0c;我们需要考虑以下几个关键点来构建一个基本的评论系统&#xff1a; 1. 设计组件结构 首先&#xff0c;设计组件结构是关键。至少…

Unity Animation--动画剪辑

Unity Animation--动画剪辑 动画剪辑 动画剪辑是Unity动画系统的核心元素之一。Unity支持从外部来源导入动画&#xff0c;并提供创建动画剪辑的能力使用“动画”窗口在编辑器中从头开始。 外部来源的动画 从外部来源导入的动画剪辑可能包括&#xff1a; 人形动画 运动捕捉…

Python中关于子类约束的开发规范

Python中关于子类约束的开发规范 我们知道&#xff0c;在java和C#中有一种接口的类型&#xff0c;用来约束实现该接口的类&#xff0c;必须要定义接口中指定的方法 而在python中&#xff0c;我们可以基于父类子类异常来仿照着实现这个功能 class Base:def func():raise NotI…

css---浮动知识点精炼汇总

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 浮动简单理解与介绍 这是我们普通的页面标签效果。 每个标签从上到下依次排列。 浮动顾名思义就是让这个标签飞翔起来。 他飞起来后&#xff0c;后面的标签来到他的位置上。 而浮动的标签就会显示在标签的上面。…

设计模式之MVC模式

在编程江湖闯荡多年&#xff0c;我手中打磨过的设计模式多如繁星&#xff0c;但论及经典与实用&#xff0c; MVC&#xff08;Model-View-Controller&#xff09;模式 绝对是个中翘楚&#xff01;它不仅是Web应用的骨架&#xff0c;更是软件架构的智慧结晶。今天&#xff0c;咱们…

头歌:Spark案例剖析 - 谷歌网页排名引擎PageRank实战

第1关:海量数据导入:SparkSQL大数据导入处理 任务描述 工欲善其事必先利其器,大数据分析中最重要的是熟练掌握数据导入工具的使用方法。Spark SQL是Spark自带的数据库,本关你将应用Spark SQL的数据导入工具实现文本数据的导入。其中,graphx-wiki-vertices.txt文件中含有网…

010_redhat安装zookeeper

目录 1.环境准备2.下载上传zookeeper安装包1)[官网下载zookeeper-3.6.4安装包](https://archive.apache.org/dist/zookeeper/zookeeper-3.6.4/apache-zookeeper-3.6.4-bin.tar.gz)2)创建soft文件夹 3.解压4.配置启动1、配置zoo.cfg2、启动zookeeper 小结 1.环境准备 准备一台l…

如何创建一个 Django 应用并连接到数据库

简介 Django 是一个用 Python 编写的免费开源的 Web 框架。这个工具支持可扩展性、可重用性和快速开发。 在本教程中&#xff0c;您将学习如何为一个博客网站建立与 MySQL 数据库的初始基础。这将涉及使用 django-admin 创建博客 Web 应用程序的骨架结构&#xff0c;创建 MyS…

LeetCode-网络延迟时间(Dijkstra算法)

每日一题 今天刷到一道有关的图的题&#xff0c;需要求单源最短路径&#xff0c;因此使用Dijkstra算法。 题目要求 有 n 个网络节点&#xff0c;标记为 1 到 n。 给你一个列表 times&#xff0c;表示信号经过 有向 边的传递时间。 times[i] (ui, vi, wi)&#xff0c;其中 …

wordpress外贸独立站建站10要10不要

创建一个成功的WordPress外贸独立站需要注意很多因素。以下是zhanyes根据多年建站经验总结的wordpress外贸独立站建站的10个建议和10个避免的事项&#xff0c;以帮助您建立一个高质量的外贸网站&#xff1a; 10个要&#xff1a; 1. 要选择合适的域名&#xff1a;确保您的域名…

element-ui的bug记录

1.先隐藏元素再显示元素时&#xff0c;导致校验不生效的做法 <el-form-itemlabel"时间长度"prop"timeLength"v-show"form.majorFlag":rules"[{ required: form.majorFlag ? true : false, message: 时间长度不能为空, trigger: blur }…