【论文解读】伪装物体检测 Camouflaged Object Detection

news2024/12/23 11:10:24

文章目录

    • 伪装物体检测 Camouflaged Object Detection
      • SINet v1
        • RF模块:
        • PDC模块:
      • SINet v2
        • 特征提取
        • Texture Enhanced Module 纹理增强模块
        • Neighbor Connection Decoder 邻居连接解码器
        • Group-Reversal Attention 组反转注意力
      • 总结

伪装物体检测 Camouflaged Object Detection

SINet 有两个版本

SINet-v1发表在CVPR2020

论文地址:Camouflaged_Object_Detection_CVPR_2020

代码地址:SINet-v1代码

SINet-v2发表在2021年 IEEE TPAMI上

论文地址:Concealed Object Detection

代码地址:SINet-V2

v1版本相较于v2版本,对网络结构有些变化
论文翻译:https://zpf1900.blog.csdn.net/article/details/127429430

v1网络结构:

在这里插入图片描述

v2网络结构:

在这里插入图片描述

SINet v1

SINet主要的贡献是制作了COD10K这个数据集,另外算是挖了伪装物体识别这个坑。

SINet v1在网络结构上并无太大的创新,结构主要是仿照CPD框架

建议看v1结构之前先去看这篇文章:

  • Cascaded Partial Decoder for Fast and Accurate Salient Object Detection

这篇文章是2019年CVPR的关于显著目标检测的文章

这篇文章主要是提出了一种新的级联部分解码器(CPD)框架,用于快速准确地检测显著目标。

SINet中使用的RF模块、SA模块、PDC模块都是抄的CPD框架中的模块

以及SINetv1使用的的双分支结构也是抄的CPD的双分支结构

基本结构都一样 只不过没有舍弃低级特征而已

关于CPD框架可以看另一篇博客:PDC模块、F模块、SA模块这里面都有讲解

https://zpf1900.blog.csdn.net/article/details/127429430

整个网络大结构也是仿照CPD的结构,双分支

虽然作者将其分为两块,并且起名字叫搜索模块(SM)和识别模块(IM),但是其实就是CPD的那个双分支结构

所以,起名字是一种艺术

主干网络用ResNet50,五个卷积块的特征都不舍去

第一个分支将五个卷积块的特征经过RF模块后,使用PDC融合一下

第二个分支将第三模块的特征图送入SA,然后与第四、第五卷积块的特征图一起经过RF模块再送入PDC得到增强的图

两个分支使用交叉熵损失函数联合训练

具体的网络细节,我在CPD那篇博客里面都有写,这里就不解释了。CPD讲解

另外,CPD那篇文章里面作者没有为自己使用的模块画具体的网络图

SINet倒是画了两个图

RF模块:

在这里插入图片描述

PDC模块:

在这里插入图片描述

SINet v2

v2与v1最大的差别是注意力那块,v2使用了组反转注意力。

特征提取

还是使用ResNet50,但是与v1不同的是,这里只要后三个阶段的特征,低级特征舍去(还是借鉴的CPD框架的处理)

Texture Enhanced Module 纹理增强模块

三个阶段提取的特征都经过一个TEM,这个就是v1里面的RF模块,只不过换了个名字,代码都没变

Neighbor Connection Decoder 邻居连接解码器

这个就是v1里面的PDC模块,换了个名字而已。不做解释了

得到 C 6 C_6 C6

Group-Reversal Attention 组反转注意力

这个组反转注意力,目的是为了擦除已经识别到的物体来让网络后续去关注其他区域的信息。

在这里插入图片描述

就是拿得到的这个粗略图 C 6 C_6 C6 ,先取反,把这个记作 y y y

然后将主干网络提取到的特征 p 1 5 p^5_1 p15,记作 x x x

整个过程就是,将x按通道划分为几个组,然后将y插入进去,再卷积融合。

例如: p 1 5 p^5_1 p15就是 x x x,输入是32通道,一共进行三次GRA,第一次就分为一组,也就是直接等于x,32通道,加上一个取反后的 C 6 C_6 C6,也就是 y y y,得到33通道,经过一个3x3的卷积,变回32通道,再ReLU一下,就得到了新的 x x x,而y呢,把这个新的 x x x,卷积一下,通道压缩到1维,就是我们新的 y y y,我们也叫注意力分数。

然后那我们新的x和y,进行第二次GRA,这次输入x是32通道,分为4组,也就是每组8通道,我们在每一组后面都插入一个y,也就是每组都变成了9通道,然后再一起送入卷积,变回32通道,记作新的x,同样的,压缩通道后得到注意力分数,记作新的y。

然后第三次GRA,我们分为32组,也就是一个通道一组,然后每个通道都加一个y,也就是64通道,同样的,卷积变回32通道,压缩通道得到注意力分数。最后得到的这个y就是图中的 r 4 5 r^5_4 r45。再把 C 6 C_6 C6加上,再经过一个上采样恢复大小,就得到了我们的 C 5 C_5 C5

C 4 C_4 C4 C 3 C_3 C3也是同理。

整个过程其实就是, C 6 C_6 C6是我们已经发现的目标,然后先在图中把 C 6 C_6 C6消除了,然后经让网络再去搜寻目标,经过三轮搜寻之后,再把 C 6 C_6 C6补上。相当于完善了除 C 6 C_6 C6以外的细节。

然后把此过程在主干网络的三个阶段得到的特征图上都来一遍,相当于在各个阶段补充细节。

最终得到输出图,整个网络结构就是这样。

GRA模块作者画了个图,如下:

在这里插入图片描述

总结

本文的主要贡献是提出了伪装目标检测这个系统性的研究任务。

制作了COD10K数据集。

提出了SINet用于检测伪装目标。

SINetv1创新性不多,基本上是借鉴下面这篇文章的网络设计做的

  • Cascaded Partial Decoder for Fast and Accurate Salient Object Detection

SINetv2将v1的结构改了,将注意力模块换做组反转注意力模块。作者说受下面这几个论文启发

  • Pranet: Parallel reverse attention network for polyp segmentation,2020
  • Object region mining with adversarial erasing: A simple classification to semantic segmentation approach,2017
  • Reverse attention for salient object detection,2018

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

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

相关文章

计算机毕业设计之java+javaweb的烯烃厂压力管道管理平台

项目介绍 系统权限按管理员和用户这两类涉及用户划分。 (a) 管理员;管理员使用本系统涉到的功能主要有:主页、个人中心、通知公告管理、用户管理、管道信息管理、单位信息管理、管道统计信息管理等功能。 (b) 用户登录进入系统可以对主页、个人中心、通…

2022高频经典前端面试题(html+css+js上篇,含答案)

博主经历过多轮面试,因此想将自己的面试经验以及答题技巧,分享给即将面试找前端工作的同学。 2022高频经典前端面试题分为上中下三篇,分别会有html,css,js,es6,vue,ts,nodejs,以及hr面和反问面试官几个维度去进行,完整的还原面试场…

在 Linux 中使用 tcp 转储命令来分析网络

前言 Tcpdump是用于分析网络和查找相关网络问题的出色工具。它会在数据包经过时捕获数据包,并向您显示网络上正在发生的事情和传入情况。该命令的输出显示在 STDOUT 上,也可以存储在文件中。 感谢开发人员,他们将Tcpdump保留为开源项目。它…

LinkedIn最好工具-领英精灵有哪些批量加好友方法?

领英工具-领英精灵有哪些批量加好友方法 使用领英的人都会使用领英精灵,因为领英精灵是目前本土做得最好的领英工具,具有很多强大的功能。特别是拓展人脉方面,提供了很多批量加好友的方法。刚使用的新手可能不知道如何操作,下面就…

施耐德电气“创新开放日”走进中国软件研发中心 以软件与创新驱动产业“双转型”

来源 | 施耐德电气 2022年10月27日,施耐德电气在位于北京亦庄的中国软件研发中心举办“创新开放日”,充分展示其在中国深化研发的战略布局。当天,施耐德电气展示了该中心成立一周年以来的创新研发成果,并与合作伙伴共话软件发展趋…

【jsdoc-to-markdown】一步步实现js文件的文档生成

文章目录导读开发环境安装Vs code插件:Doxygen Documentation Generator效果优势jsdoc-to-markdown的使用了解 jsdocjsdoc-to-markdown安装创建测试文件example.jsjsdoc-to-markdown使用jsdoc-to-markdown踩坑!!!参考资料导读 这个…

【C++】一文带你吃透string的模拟实现 (万字详解)

🌈欢迎来到C专栏~~ 模拟实现string (꒪ꇴ꒪(꒪ꇴ꒪ )🐣,我是Scort🎓🌍博客主页:张小姐的猫~江湖背景快上车🚘,握好方向盘跟我有一起打天下嘞!送给自己的一句鸡汤🤔&#…

生态流量智能终端机 水电站生态流量多媒体智能终端-视频叠加、数据采集、远程传输

平升电子生态流量智能终端机 水电站生态流量多媒体智能终端是一款集人机交互、视频叠加、4G路由、数据采集、逻辑运算与远程传输功能于一体的多媒体智能终端设备。 此款产品为水电站生态流量监测项目的专用产品,便于监管单位及时掌握水电站的流量下泄情况&#xff…

【Django框架】——19 Django视图 01 路由配置

文章目录一、视图介绍二、路由配置1. 配置URLconf2.编辑项目中urls.py(根路由)3.创建应用中 urls.py (子路路由)4.路由文件urls.py5.API讲解一、视图介绍 视图就是应⽤用中views.py⽂文件中的函数 视图的第⼀个参数必须为HttpRequest对象,还…

计算多张图片的移位距离

( A, B )---25*30*2---( 1, 0 )( 0, 1 ) 做一个二分类的网络分类A和B,让A和B的训练集中都有多张图片,用一种平均值的办法把多张图片等效成两张图片,统计两张图片的移位距离,并比较移位距离和迭代次数的关系。 设AB训练集都只有两…

Python编程 赋值,逻辑,位运算符

作者简介:一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.赋值运算符 1.基本赋值运算符 2.注意 二.逻辑运算符 1.逻辑运算符使…

【LeetCode】No.70. Climbing Stairs -- Java Version

题目链接:https://leetcode.com/problems/climbing-stairs/ 1. 题目介绍(Climbing Stairs) You are climbing a staircase. It takes n steps to reach the top. 【Translate】: 你正在爬楼梯,爬到山顶要走n步。 Each…

最受欢迎的职业榜单!医生还是程序员?

最受欢迎的男友职业排行榜终于更新了,医生荣归榜首成为了第一名。 出人意外的是,公务员竟然只排名第六。 榜单上可以看出程序员也霸榜,占据了排行前三的位置。 程序员相对于医生有什么样的优势呢? 首先是逻辑分析能力。 虽然医生…

CMSC5707-高级人工智能之自编码器Auto-encoders

这章讲述模型框架和概念的时间较多,好像并没有涉及过多的运算,重在一些概念的理解。 Traditional Autoencoder 传统的自编码器常用来进行图像去噪的任务,需要了解其模型架构和流程。 自编码器由两部分组成:从Noisy Input到Z称为…

【附源码】计算机毕业设计java学生社团管理系统设计与实现

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

Python Flask教程学习02

书接上文Python Flask教程学习01 文章目录Flask 教程Flask 会话Flask 消息闪现Flask 文件上传Flask 扩展/寻找扩展Flask 教程 Flask 会话 与Cookie不同,Session(会话)数据存储在服务器上。会话是客户端登录到服务器并注销服务器的时间间隔。…

jmap:java内存映像工具【详细】

目录jmap概述:jmap 命令格式jmap -heap mid-histo[:live] midjmap -finalizerinfo midjamp -dump:[live,] formatb,filejmap概述: jmap命令用于生成堆转储快照j。jmap的作用不仅仅是为了获取dump文件,它还可以查询finalize执行对垒、java堆和…

【转】推送消息推送机制

原文链接:推送消息&推送机制 - 知乎 消息推送(push)用一句话解释就是:服务端向客户端发送了一条消息,我们在通知栏、锁屏通知、微信消息等等之类的都是消息推送。 1/推送类型有哪些? 消息推送根据业…

2017年某高校848数据结构真题复习

数据是对客观事物的符号表示 元素之间的关系不同,通常由四类基本结构————集合,线性结构,树形结构,图状结构 算法的五个特性——出入确可穷 1个或多个输出0个或多个输入确定性可行性有穷性求下列程序段的时间复杂度 for(i1…

html制作一个酷炫的记事本(源码)

文章目录1.记事本风格和灵感1.1 设计灵感1.2 整体风格2.代码展示1.1 酷炫的记事本效果图1.2 主代码源码下载html制作一个酷炫的记事本(源码) 平时上班总有很多事要弄,到了下班以为都弄好了,结果缺忘记了几个。于是整了一个便签记事…