2017-基于学习的目标检测及应用

小笔记

1.现有的各类目标检测框架存在的共有局限和瓶颈:

a,小目标的感知和检测;b,精度和速度难以兼得;c,设计和开发适合资源受限平台的轻量化算法和和研究深度模型的压缩技术日益成为焦点。

2.目标检测的发展值得关注:

a,检测性能的优化,包括精度的提升和效率的增长,尤其在小目标检测这个子问题上需要突破瓶颈;b,模型规模的压缩。

3.Related works

2016年,W.Liu等人提出了另一个检测框架SSD,SSD融合了YOLO的回归思想和RPN的锚点定位思想,在保持实时性的同时将检测精度提高到了与Faster RCNN相当的水平。

2017年,TY.LIN等人提出了特征金字塔网络(Feature Pyramid Network,FPN),该网络使用不同分辨率的特征图感知不同大小的物体,并通过连续上采样和跨层融合机制使输出特征兼具底层视觉信息和高层语义信息,FPN在MS COCO上的单模型mAP可以达到36.2%,具有空前的性能优势。

2016年,FN.landola等人提出了参数量极少的“挤压网络(SqueezeNet),该网络通过削减卷积通道数和广泛使用小规模卷积核,在保持和AlexNet性能相当的同时大幅缩减了参数规模。同年,S.Han等人提出了深度压缩(Deep Compression)算法:使用权值剪枝、量化和哈夫曼编码等方法将AlexNet压缩了35倍而模型的性能基本保持不变。

4.Roi pooling层的过程就是为了将proposal抠出来的过程,然后resize到统一的大小。Roi pooling层的操作如下:

1、根据输入的image,将Roi映射到feature map对应的位置;
2、将映射后的区域划分为相同大小的sections(sections数量和输出的维度相同);
3、对每个section进行max pooling操作。

5.R-FCN主要创新包括两个方而:

一是提出了位置敏感的候选区域池化算法,通过人工引入位置信息给模型参数一个强烈的先验约束,从而提升网络对目标位置的敏感度;
二是明显减少了需要遍历每个候选区域的末端检测器参数量,使得网络的绝大部分都直接处理整幅图像,从而加快了检测速度。

本文目的:

在现有的基于深度学习的物体检测模型基础上进行局部改进和调整,在网络结构和算法流程中提出并实现一些更适应小目标检测的方法和手段。同时,初步探究轻量级目标检测模型的设计搭建和检测模型的压缩算法。

本文主要内容:

  1. 实现(Mask RCNN中的)候选区域匹配池化算法,并推广到R-FCN框架中,提出位置敏感的候选区域匹配池化算法;
  2. 以SqueezeNet分类网络和Faster RCNN检测框架为基础,搭建小规模检测网络,并使用权值聚类等方法实现进一步的模型压缩;
  3. 设计了一种包含反卷积上采样和跨层特征融合的Faster RCNN检测算法,获得了小物体检测性能上的提升;随后尝试复现FPN。

算法实现细节

候选区域匹配池化算法:用于解决ROI Pooling进行两次量化而产生误差这一问题,该算法不对候选区域边界以及单元边界作量化,而是固定4个坐标位置,用双线性内插的方法计算这四个位置的值。
上采样的实现:采用一个额外编写的专门实现双线性插值的上采样层;取消FPN原文中的head6,搭建了一个四路的特征金字塔网络;末端检测器参数共享方式,并行使用4个共享参数的末端检测器在网络训练时很难有效收敛,因此本文搭建的特征金字塔网络显式的使用同一个末端检测结构。但是实验结果不收敛,为什么呢?

问题:

1.候选区域匹配池化算法只适用于两级网络优化?
2.如何搭建小规模检测网络,如果我搭建了,如何使用权值聚类,奇异值分解,剪枝,蒸馏?
3.反卷积上采样和跨层特征融合的SSD就是SSD+FPN?

展望:

1.可以尝试将本文提出的区域匹配思想进一步推广到单级检测网络;
2.可以采用MobileNet,ShuffleNet等模型与单级检测网络结合,并利用低秩分解、剪枝、编码操作等压缩手段,获得更满意的参数缩减效果;
3.特征金字塔是一种思想,原论文中发表的网络只是将这种思想应用到了faster RCNN检测框架流程中。而每个阶梯的检测结构并不受限于文中所述的候选区域推荐加末端检测器这一固定流程,许多其他的两级检测算法甚至单级检测算法都可以被应用到特征金字塔网络中。

=小网络设计摘抄=

如何将SqueezeNet网络迁移到Faster R-CNN检测框架中呢?
1.RPN的嵌入位置。 “如果RPN过于靠后,末端检测器结构会过于简单,不利于精确识别和拟合包围框坐标;反之如果过于靠前,基础网络深度不够,会影响RPN初定位的可靠性,同时增加末端检测器的计算开销。本实验发现,将RPN放在Fire9之前、Pool8池化层之后,可以获得较好且稳定的检测性能。”

2.末端检测器的设计。 “Faster R-CNN末端检测器包含两个任务,因此采用共享参数的多任务损失设计:分类采用Softmax负对数交叉熵损失函数,要求输入特征为一个C维向量,C表示类别数;包围框回归采用SmoothL1损失函数,要求输入特征为一个4xC维的向量。针对这两种损失函数,需要在网络末端设计相应的特征提取器。”

“由于SqueezeNet取消了全连接层,转而采用卷积加全局池化的方式进行末端特征提取,这种设计的主要目的是控制参数量并且保持特征的空间属性。沿袭这一思路,我们首先想到保持分类分支的结构不变,同时采用类似的卷积+池化的方式添加包围框回归分支。然而实验发现这种末端检测器虽然参数规模小,但检测性能很差。”

“基于这种情况,本文考虑在末端提取器的设计上采用全连接结构:保持网络其他部分不变,仅将分类和包围框回归末端提取器的卷积层和全连接池化层取消,代之以全连接层。实验结果表明,改进后网络性能获得明显提升,但与此同时,参数规模也随之增长了五倍之多。”

“输入到全连接层提取器的特征(即fire9的扩张模块)通道数为512,是整个SqueezeNet网络中规模最大的卷积层,这是造成改进后网络参数急剧增长的首要原因。基于以上分析,本文尝试在Fire9之后加入额外的1x1卷积层对特征进行降维、再将降维后的特征输入到分类和包围框回归的提取器中。实验发现,在通道数从128-32过程中,通道数的减少反而使检测效果更好,这说明原来的末端检测器在结构上是存在较大冗余的。实验发现,在通道数为16的降维卷积层前面增加一个通道数为32的卷积层,可以使检测性能和方案4持平的同时将模型大小压缩至9.1M;如果以通道数为16,大小为3x3的卷积核进行降维,可以让map提高至0.533,参数规模为11M。”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值