来源:极市平台
本文共3400字,建议阅读5分钟鉴于显著性目标和伪装目标研究的相似性,本文作者将显著性目标与伪装目标合在一起进行研究,文章重点是特征提取网络与特征融合技术,主要介绍了三种方法EGNet,PFANet和SINet。

在自然界中许多生物都具有“伪装”的本领,变色龙能够根据周遭的环境来调整自身颜色以达到其“伪装”的目的;狮子将身体“伪装”在草丛之中而伺机等待猎物的靠近;蝴蝶躺在与自身颜色相近的树干上一动不动以躲过天敌的伤害。生物学家将这类伪装方式称为背景匹配,即动物为避免被识别,会尝试改变其自身颜色以“完美”地融入周围环境。

如今,随着CV领域在深度学习方向上的发展,学者们把目光投向了目标检测这一领域。与通用目标检测以及显著性目标检测不一样,通用目标检测与显著性目标检测中目标与背景均有较为明显的差异性,这种差异通常情况下通过人眼也能较容易地分辨出来。但伪装目标检测中伪装目标与背景之间存在高度的相似性,因此关于伪装目标的检测显得更具挑战性。

在我看来,伪装目标的检测与通用目标检测有所区别,但和显著性目标检测有点类似,更多的是做语义分割,但不同于语义分割,伪装目标里的分割时一个二分类的问题(即前景和背景的分割)显著性目标检测把输入图像分为显著物体和背景,伪装目标是分割为伪装目标和背景。鉴于显著性目标和伪装目标研究的相似性,于是我将显著性目标与伪装目标合在一起进行研究。特征提取网络与特征融合技术是我研究的重点。

关于伪装目标研究可应用的领域十分广阔,除了其学术价值外,伪装物体检测还有助于推动诸如军事上伪装隐蔽目标的搜索探测、医学领域上病情的判断以及农业遥感中蝗虫的入侵等等。

目前,由于缺乏规模足够大的数据集,伪装物体检测的研究还不够深入,所以目前所有的研究都是基于由南开大学团队为COD任务专门构建出的COD10K数据集。

本次涉及三个方法,前两个是针对显著性目标检测所提出的,分别是EGNet和PFANet;而后面的是专门针对于伪装目标检测提出的SINet。

首先对EGNet进行介绍,EGNet,也称为边缘引导网络,顾名思义,我们知道他在保护边缘信息上做了功夫,整个方法可以分为三个步骤,第一步是提取边缘特征(PSFEM),第二步是将局部的边缘信息和全局的位置信息聚合(NLSEM),最后一步则是将特征进行平衡,得到我们想要的最后的特征(O2OGM)。

下面我们来详细看一下各个结构,首先是PSFEM。EGNet采用的结构是U-net的结构,将六个特征层,依次进行卷积的操作,然后再经过一个卷积层。从Conv3-3、Conv4-3、Conv5-3、Conv6-3四条路径分别提取目标不同层次的特征信息。其中从骨架最后一层的Conv6-3提取的特征卷积后与边缘信息结合用于O2OGM模块;Conv3-3、Conv4-3、Conv5-3、Conv6-3之间都一个从深层到上一浅层的连接(从Conv6-3开始,Conv3-3结束),用来丰富特征信息。

然后是NLSEM模块,采用骨架中的Conv-2-2提取目标的边缘特征。不使用Conv1-2是因为其太接近输入层(噪声多)并且其感受野较小,不使用Conv3-3及更深的层提取边缘特征是因为他们所得到的feature map包含的边缘信息较少,他们更多包含的是语义信息。

最后是O2OGM模块,将Conv6-3提取的显著性目标特征信息与Conv2-2提取的边缘特征结合后的特征分别与Conv3-3、Conv4-3、Conv5-3、Conv6-3每层提取的显著性目标特征进行融合,即图中FF模块的操作。FF操作很简单,就是将高层特征上采样然后进行拼接的操作,就可以达到融合的效果。

PFANet的结构相对简单,采用VGG网络作为特征提取网络,然后将前两层特征称为低层特征,后三层特征称为高层特征,对他们采用了不同的方式进行特征增强,以增强检测效果。

首先是对于高层特征,先是采用了一个CPFE来增大感受野,然后再接一个通道注意力模块,即完成了对高层特征的特征增强(这里的这个CPFE,其实就是ASPP)。

然后再对经过了CPFE后的高层特征使用通道注意力(CA)。

以上即是高层特征的增强方法,而对于低层特征,处理得则更为简单,只需要使用空间注意力模块(SA),即可完成。

整个PFANet的网络结构很清晰,如下图所示。

介绍完EGNet和PFANet两种方法以后,就剩下SINet了。SINet的思路来自于19年的一篇CVPR的文章《.Cascaded partial decoder for fast and accurate salient object detection》。这篇文章里提出了CPD的这样一个结构,具体的可以取搜索一下这篇论文,详细了解一下。

接下来我将介绍一个用于伪装目标检测的网络SINet。假设你是一头饥肠辘辘的雄狮,此刻你扫视着周围,视线突然里出现了两匹斑马,他们就是你今天的猎物,美食。确定好了目标之后,那么就开始你的猎杀时刻。所以整个过程是你先扫视周围,我们称之为搜索,然后,就是确认目标,开始猎杀,我们称之为确认。我们的SINet就是这样的一个结构,他分为搜索和确认两个模块,前者用于搜索伪装目标,后者用于精确定位去检测他。

我们现在就具体来看看我们的SINet到底是怎么一回事。首先,我们都知道低层特征有着较多的空间细节,而我们的高层特征,却有着较多的语义信息。所以低层的特征我们可以用来构建目标区域,而高层特征我们则可以用来进行目标定位。我们将这样一张图片,经过一个ResNet的特征提取器。按照我们刚才的说法,于是我们将前两层称为低层特征,最后两层称之为高层特征,而第三层我们称之为中层特征。那么有了这样的五层特征图,东西已经给我们了?我们该怎么去利用好这些东西呢?

首先是我们的搜索模块,通过特征提取,我们得到了这么一些特征,我们希望能够从这些特征中搜索到我们想要的东西。那我们想要的是什么呢?自然就是我们的伪装线索了。所以我们需要对我们的特征们做一些增强的处理,来帮助我们完成搜索的这样一个任务。而我们用到的方法就是RF。我们来看一下具体是怎么样实现的。首先我们把整个模块分为5个分支,这五个分支都进行了1×1的卷积降维,我们都知道,空洞卷积的提出,其目的就是为了增大感受野,所以我们对第一个分支进行空洞数为3的空洞卷积,对第二个分支进行空洞数为5的空洞卷积,对第3个分支进行空洞数为7的空洞卷积,然后将前四个分支的特征图拼接起来,这时候,我们再采用一个1×1卷积降维的操作,与第五个分支进行相加的操作,最后输出增强后的特征图。

这个RF的结构来自于ECCV2018的一篇论文《 Receptive field block net for accurate and fast object detection》,其作用就是帮助我们获得足够的感受野。

我们用RF对感受野增大来进行搜索,那么搜索过后,我们得到了增强后的候选特征。我们要从候选特征得到我们最后要的伪装目标的检测结果,这里我们用到的方法是PDC模块(即是部分解码组件)。

具体操作是这样的,所以接下来就应该是对它们进行处理了逐元素相乘方式来减少相邻特征之间的差距。我们把RF增强后的特征图作为输入,输入到网络里面。首先对低层的进行一个上采样,然后进行3×3的卷积操作(这里面包含了卷积层,BN层还有Relu层),然后与更高一层的特征图进行乘法的这样一个操作,我们为什么使用逐元素相乘呢?因为逐元素相乘方式能减少相邻特征之间的差距。然后我们再与输入的低层特征进行拼接。

我们前面提到了,我们利用增强后的特征通过PDC得到了我们想要得到的检测结果,但这样的一个结果足够精细吗?其实,这样得到的检测结果是比较粗略的。这是为什么呢?这是因为我们的特征之间并不是有和伪装检测不相关的特征?对于这样的多余的特征,我们要消灭掉。我们将前面得到的检测图称之为  ,而我们要得到精细的结果图  ,就得使用我们的注意力机制了。这里我们引入了搜索注意力,具体是怎么实现的呢?大家想一想我们前面把特征分成了低层特征、高层特征还有中层特征。我们平时一般都叫低层特征和高层特征,很少有提到中层特征的。其实我们这里这样叫,是有打算的,我们认为中层特征他既不像低层特征那么浅显,也不像高层特征那样抽象,所以我们对他进行一个卷积操作(但是我们的卷积核用的是高斯核函数方差取32,核的尺寸我们取为4,我们学过数字图像处理,都知道这样的一个操作能起到一个滤波的作用,我们的不相关特征能被过滤掉)但是有同学就会问了,那你这样一过滤,有用的特征不也过滤掉了吗?基于这样的考虑,我们把过滤后的特征图与刚才的这个  再来做一个函数,什么函数呢?就是一个最大化函数,这样我们不就能来突出伪装图  初始的伪装区域了吗?

SINet整体的框架如图所示:

讲了这么多,我们最后来看看实验的效果,通过对这三篇文章的复现,我得到了下面的这样一些结果。

可以看出,在精度指标的评价方面,SINet相比于其他两种方法都有很大提升,而PFANet模型结构虽然很简单,但他的效果也是最差的。

下面我们再看看可视化的效果:

编辑:王菁

校对:林亦霖

AI伪装目标检测:让变色龙现出原形!相关推荐

  1. 【文献翻译】Concealed Object Detection(伪装目标检测)

    文章目录 Concealed Object Detection Abstract 1 Introduction 1.1 Contributions 2 Related Work 3 COD10K 数据 ...

  2. 伪装目标检测与分割研究进展

    摘要 伪装检测作为一个新兴研究方向,其目标是将隐藏在图像背景中的目标对象快速准确地检测出来,可应用于物种保护和军事监测等领域,具有较高的应用价值.介绍伪装目标检测的基本概念,并按照伪装检测算法所采用的 ...

  3. AI 快车道目标检测专场, PaddlePaddle “深度干货”

    从图像分类到3D姿势识别,计算机视觉领域涉及的技术应用非常广泛,而在工业应用领域最广泛,场景最丰富的就是目标检测技术.图像的分类.定位.分割等应用都离不开目标检测的前置动作.面部检测.人流统计.图像搜 ...

  4. Ai关于目标检测类算法比赛的经验总结

    内容来源于 宅码,作者Ai. 附一张作者签名--艾宏峰! 导读: 本文为作者自己参加的三个目标检测类算法比赛的经验总结,分为五个部分:数据研究和准备.参数调节.模型验证以及模型融合,作者还给出了一些关 ...

  5. 关于AI视觉——目标检测与物体分类(基于FZ5C)

    首先引入一个概念: 边缘计算:是指 在靠近物或数据源头的一侧,采用网络.计算.存储.应用核心能力为一体的开放平台,就近提供最近端服务.边缘计算处于物理实体和工业连接之间,或处于物理实体的顶端. 文章目 ...

  6. [AI开发]目标检测之素材标注

    算力和数据是影响深度学习应用效果的两个关键因素,在算力满足条件的情况下,为了到达更好的效果,我们需要将海量.高质量的素材数据喂给神经网络,训练出高精度的网络模型.吴恩达在深度学习公开课中提到,在算力满 ...

  7. ads-b无源定位,伪装目标检测笔记

    ADS-B是什么? ADS-B系统即广播式自动相关监视系统,由多地面站和机载站构成,以网状.多点对多点方式完成数据双向通信.是以GNSS为基础的新型航行系统,具有很强的覆盖能力,更新 率更高,精确度更 ...

  8. 伪装目标检测(Camouflage Object Detection)常用数据集

    COD-10K 项目页面:http://dpfan.net/Camouflage/ 数据集:https://drive.google.com/file/d/1vRYAie0JcNStcSwagmCq5 ...

  9. 伪装目标检测(Camouflage Object Detection)部分经典论文汇总

    本文不保证时效性覆盖性 CVPR [link] [code] [ZoomNet] [22] Zoom in and Out: A Mixed-Scale Triplet Network for Cam ...

最新文章

  1. AI新方向:对抗攻击
  2. 使用GLSL实现雾化的效果
  3. undefined reference to 'pthread_create'问题解决
  4. Windows核心编程 第四章 进程(中)
  5. mac iTunes启动失败,声称iTunes文件夹被锁定
  6. 解题报告——蓝桥 试题 基础练习 矩阵乘法——27行代码AC
  7. CF1444C-Team-Building【可撤销并查集】
  8. 谷歌核心算法大更新,如何趋利避害对电商网站排名影响?
  9. 计算机原理中阶符是指,计算机原理复习题1
  10. Fiddler抓包工具入门:软件测试员必知的抓取https协议的方法
  11. 计算机打印机共享失败,局域网共享打印机连接失败怎么办
  12. C语言及程序设计基础 课程主页
  13. 568A/568B接法
  14. Noi 十连测 Zbox loves meizi
  15. 无人驾驶一 协方差矩阵的几何意义
  16. Linux通过系统函数设置系统时间
  17. 一起来探索从双击程序到开始运行期间计算机经历了哪些过程
  18. 点云公开数据集:S3DIS
  19. 转:数据可视化之美:经典案例与实践解析
  20. 你和真努力还差这几点

热门文章

  1. 用python画太阳系_用 Python 动态模拟太阳系运转
  2. 《oracle大型数据库系统在AIX/unix上的实战详解》集中讨论42:在AIX环境下安装Oracle11gR1 文平...
  3. Android自定义View:ViewGroup(三)
  4. mysql 插入表情符号 '\xF0\x9F\x8D\xB0/...' 报错的解决方法
  5. Python基础-第二天
  6. 熟练Linux ,先从这 26 个命令开始吧
  7. GDB 命令参考手册
  8. 总结一下“网络连接受限制”无法上网的解决办法
  9. 网络抖动多少ms算正常_男性身高175,体重多少算正常?对照公式算一下,你达标了吗?...
  10. 一份用动画演示操作系统的各个过程的资料