首页 > 编程知识 正文

深度学习像分类算法,像分割算法深度学习资源免费

时间:2023-05-03 21:34:35 阅读:190951 作者:2070


文章目录 一、PANet简介二、整体结构分析2.1 自底向上的路径增强2.2 自适应特征层2.3 全连接融合层 三、性能表现3.1 在COCO上的测试效果3.2 在Cityscapes 和 MVD上的测试效果 四、总结

前言: 同图像识别、目标检测一样,实例分割也是最重要和最具挑战性的任务之一。它的目的是预测类标签和按像素排列的实例Mask,以定位图像中呈现的不同数量的实例。这项技术将广泛使用于自动驾驶汽车,机器人技术,视频监控等。

一、PANet简介

PANet发表于CVPR2018,是由香港大学、清华大学、腾讯优图实验室合力完成的,主要探究了促进信息在实例分割神经网络框架中流动的方式,具有启发意义。当前一些SOTA目标检测算法也引用了PANet的思想,比如风靡全网的YOLOv4。

在本文中,作者提出了路径聚合网络(PANet),目的是在基于推荐区域的实例分割框架中促进信息流的增长。具体来说,主要改进如下:

通过自底向上的路径增强特征在较低层中使用准确的定位信息来增强整个特征层次结构,从而缩短了较低层与最高特征之间的信息路径。提出了自适应特征层,该特征池链接了特征网格和所有特征级别,以使每个特征级别中的有用信息直接传播到以下层子网。创建一个为每个候选区域捕获不同视图的互补分支,以进一步改善Mask预测。

这些改进易于实现,会增加一些计算开销。在未经大批量训练的情况下,PANet在COCO 2017挑战实例分割任务中排名第一,在目标检测任务中排名第二,优于 COCO 2016 实例分割挑战赛冠军和 Mask R-CNN。同时,它在MVD和Cityscapes数据集上也是极具竞争力的SOTA算法。

代码开源地址: https://github.com/ShuLiu1993/PANet

这里是一段防爬虫文本,请读者忽略。 本文原创首发于 CSDN,作者【AI 菌】。
博客首页:https://blog.csdn.net/wjinjie
本文链接:https://ai-wx.blog.csdn.net/article/details/110168593
未经授权,禁止转载!恶意转载,后果自负!尊重原创,远离剽窃!

二、整体结构分析

作者认为经典的Mask R-CNN,从底层到最顶层的特征层路径太长,这增加了准确定位信息的难度。除此之外,每个建议区域都是基于从一个特征层级池化得到的特征网格而预测的,此分配是启发式的。由于其它层级的丢弃信息可能对于最终的预测还有用,这个流程还有进一步优化的空间。

受这些原理和问题的启发,作者提出了PANet,其网络结构如下图所示:

首先,为了缩短信息路径并使用低级中存在的精确定位信号增强特征金字塔,创建了自下而上的路径增强。其次,为了恢复每个建议区域和所有特征层级之间被破坏的信息,作者开发了自适应特征池化技术。这是一个简单的结构,可以将所有特征层级中的特征整合到每个建议区域中,避免了任意分配的结果。通过该操作,研究者创建了更简洁的路径。最后,为了捕捉每个建议区域的不同视野,使用较小的全连接层来增强Mask预测,这些层具有与Mask R-CNN最初使用的FCN互补的特性。通过将这两种视角的预测融合在一起,信息多样性就会增加,从而可以生产出质量更好的Mask。

PANet进行了路径扩充和聚合以提高性能。自下而上的路径得到了增强,以使低层信息更易于传播。同时设计了自适应特征池,以允许每个推荐区域访问各个级别的信息以进行预测。一条补充路径添加到了Mask预测分支。这种新的结构带来了不错的性能,它与FPN类似,这种改进与CNN结构无关。

2.1 自底向上的路径增强

根据一项有洞察力的观点:高层神经元对整个物体有强烈反应,而其他神经元更可能被局部纹理和图案激活,这表明增加自上而下的路径来传播语义上强的特征并增强所有特征是很有必要的。

如下图所示,作者构建了一条从底层到顶层的横向连接清晰的路径。在这些级别之间存在一个“快捷方式”(图中的绿色虚线),它由少于10层组成。相比之下,FPN中的CNN主干网络上提供了一条很长的路径(图中的红色虚线),从低层到最顶层都经过了100多个层。该结构通过传播对低层模式的强响应,进一步增强了整个特征层次结构的定位能力

Bottom-up Path Augmentation的引入主要是考虑网络浅层特征信息对于实例分割非常重要,这个也非常容易理解,毕竟浅层特征多是边缘形状等特征,而实例分割又是像素级别的分类。

那么为什么bottom-up path augmentation能保留更多的浅层特征呢?作者在上图中用红绿两个箭头进行解释:

红色虚线箭头表示在FPN算法中,因为要走自底向上的过程,浅层的特征传递到顶层要经过几十甚至一百多个网络层(在FPN中,对应Figure1中那4个蓝色矩形块从下到上分别是ResNet的res2、res3、res4和res5层的输出,层数大概在几十到一百多左右),显然经过这么多层的传递,浅层特征信息丢失会比较厉害。绿色虚线箭头表示作者添加一个bottom-up path augmentation,本身这个结构不到10层,这样浅层特征经过底下原来FPN的lateral connection连接到P2再从P2沿着bottom-up path augmentation传递到顶层,经过的层数就不到10层,能较好地保留浅层特征信息。

关于bottom-up path augmentation的具体设计参考下图:

这是一种比较常规的特征融合操作,比如 N i N_i Ni​经过卷积核尺寸为3x3,stride=2的卷积层,特征图尺寸缩减为原来的一半,然后和 P i + 1 P_{i+1} Pi+1​做 element-wise add,得到的结果再经过一个卷积核尺寸为3x3,stride=1的卷积层得到 N i + 1 N_{i+1} Ni+1​,特征图尺寸不变。

最后融合得到的特征层是N2、N3、N4、N5,其中N2和P2相同,这些特征层用于后续的预测框分类、回归和mask生成。

2.2 自适应特征层

在FPN中,根据推荐区域的大小将推荐区域分配给不同的特征级别。它将小的推荐区域分配给低特征级别,将大的推荐区域分配给较高特征级别。这样做尽管简单有效,但仍可能产生非最佳结果。例如,可以将具有10个像素差异的两个候选框分配给不同级别。实际上,这两个候选框非常相似。

如下图红色区域,为自适应特征层。首先,对于每个候选框,将它们映射到不同的特征级别,如下图(b)中的深灰色区域所示。继 Mask R-CNN 之后,ROI Align 用于合并每个级别的特征栅格。然后,使用融合操作(逐元素的最大值或总和)融合来自不同级别的特征栅格。


我们知道在Faster R-CNN系列的目标检测或分割算法中,RPN网络得到的ROI需要经过 ROI Pooling 或 ROI Align 提取ROI特征,这一步操作中每个ROI所基于的特征都是单层特征(FPN也是如此),比如ResNet网络中常用的res5的输出。而 Adaptive feature pooling 则是将单层特征也换成多层特征,也就是说每个ROI需要和多层特征(文中是4层)做ROI Align的操作,然后将得到的不同层的ROI特征融合在一起,这样每个ROI特征就融合了多层特征。具体内容可以看下图:

RPN网络得到的每个ROI都要分别和N2、N3、N4、N5层特征做ROIAlign操作,这样每个ROI就提取到4个不同的特征图,然后将4个不同的特征图融合在一起就得到最终的特征,后续的分类和回归都是基于最终的特征进行。

2.3 全连接融合层

全连接层或MLP广泛用于实例分割、Mask建议生成和Mask预测。Mask R-CNN的研究结果表明,FCN也可以预测实例的像素级别的Mask。

Mask预测结构轻简且易于实现,Mask分支在每个推荐区域的合并特征栅格上运行。

与FCN相比,FC层能产生不同的属性。FCN在局部像素的基础上对每个像素进行预测,并且在不同的空间位置共享参数。相反,FC层是位置敏感的,通过改变参数集可以实现不同空间位置的预测,因此它具有适应不同空间位置的能力。还使用整个推荐区域的全局信息在每个空间位置进行预测,对区分实例并识别属于同一目标的独立部分很有帮助。给定FC层和卷积层的属性互不相同,将这两种类型的层的预测融合在一起,可以获得更好的Mask预测。


因而提出Fully-connected Fusion的结构,它针对原有的分割支路(FCN)引入了一个前、背景二分类的全连接支路,通过融合这两条支路的输出得到更加精确的分割结果。具体内容可以看下图:


该结构由以下两部分构成:

主路是一个小的FCN,它由4个连续的卷积层和1个反卷积层组成。每个卷积层由256通道的3×3卷积核组成,并且反卷积层的上采样特征因子为2。该主路输出的是针对每个类别的二分类mask,因此输出的通道就是类别的数量,输出维度类似28x28xK,K表示类别数。支路是新建的从conv3层到fc层的短路径。有两个3×3卷积层,其中第二个将通道缩小到一半以减少计算开销。然后接一个全连接层,再经过reshape操作得到维度和上面支路相同的前背景mask,也就是说下面这条支路做的是前景和背景的二分类,因此输出维度类似文中说到的28x28x1。

最终,这两条支路的输出mask做融合得到最终的结果。因此可以看出这里增加了关于每个像素点的前背景分类支路,通过融合这部分特征得到更加精确的分割结果。

三、性能表现

作者分别在 COCO,Cityscapes 和 MVD 数据集上进行了测试,与一些最新的技术进行了比较。下图是PANet在三种数据集上的部分实例分割和目标检测的效果:

3.1 在COCO上的测试效果

在COCO数据集上,对 Mask R-CNN、Mask R-CNN + FPN 和 PANet 分别测试了实例分割和目标检测的性能。其对比数据如下:

下表是不同算法在COCO数据集上的实例分割性能对比数据:

通过该表数据不难得出:以ResNeXt-101为骨干网络的PANet 实例分割 精度最好,对于不同尺寸目标的分割效果均好于其他SOTA算法。

下表是不同算法在COCO数据集上的目标检测性能对比数据:

通过该表数据不难得出:以ResNeXt-101为骨干网络的PANet 目标检测 精度也是最好的,对于不同尺寸目标的分割效果均好于其他SOTA算法。

3.2 在Cityscapes 和 MVD上的测试效果

在Cityscapes 和 MVD数据集上,测试其对比数据如下:

首先是在Cityscapes验证集和验证集上的一个测试结果。可以看出在Cityscapes数据集上,PANet的性能明显优于其他的实例分割算法。

其次在MVD验证集和验证集上做了一个测试实验,实验结果如下:

分析表中数据可以看出:不管是在MVD验证集或验证集上,PANet的性能都优于其他算法;并且加入检测技巧的PANet测试评分更高。

四、总结

PANet 是在Mask R-CNN基础上改进后的一种新型实例分割框架 。该网络通过加速信息流和整合不同层级的特征,可以极大提高生成预测Mask的精度。经过实验验证,该方法在 COCO,Cityscapes 和 MVD 数据集上均获得了不错的实例分割效果。与此同时,在未经大批量训练的情况下,PANet在COCO 2017挑战实例分割任务中排名第一,在目标检测任务中排名第二,优于 COCO 2016 实例分割挑战赛冠军和 Mask R-CNN。

由于水平有限,博客中难免会有一些错误,有纰漏之处恳请各位大佬不吝赐教!

参考文章:
https://blog.csdn.net/u014380165/article/details/81273343
https://cloud.tencent.com/developer/article/1118457

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。