anchor free分支的几种论文简介
AlexNet是在2012年被发表的一个金典之作,并在当年取得了ImageNet最好成绩,也是在那年之后,更多的更深的神经网路被提出。网络一共8层(5层卷积层+3层全连接)
个人总结:
这篇论文就是一篇开篇之作,开启了卷积神经网络。
只不过网络中使用了较大的卷积核 3 ∗ 3 3*3 3∗3以及 5 ∗ 5 5*5 5∗5,导致参数很多,所以训练的时候很麻烦。
使用了LRN全称为Local Response Normalization,即局部响应归一化层,但是后来证明这个作用不大,所以后面的网络几乎没有再使用LRN的了。
参考自己写过的博客
个人总结:
创新点:
1.使用了更小的 3 ∗ 3 3*3 3∗3卷积核,和更深的网络。感受野。
2.在VGGNet的卷积结构中,引入 1 ∗ 1 1*1 1∗1的卷积核,在不影响输入输出维度的情况下,引入非线性变换,增加网络的表达能力,降低计算量。
3.全卷积层
4.就是训练的一些技巧,具体看博客就行了。
GooLeNet详细介绍
GoogLeNet分类结构(V1、V2)
Inception v1\v2\v3\v4创新点总结
个人总结:
创新点:
1.若想获得更高级特征以往考虑增加网络深度,而GooLeNet是增加网络宽度。
2.引入Inception模块,考虑多个卷积核的运算结果,获得输入图像的不同信息,获得更好的图像表征。Inception模块有很多版本,不断升级,目的都是让参数越来少。
3.为了阻止GooLeNet网络结构中间部分梯度消失过程,作者引入了两个辅助分类器,它们对其中两个Inception模块的输出执行softmax操作。然后在同样的标签上计算辅助损失。总损失即为辅助损失和真实损失的加权和。辅助损失仅用于训练而不用于预测过程。
低层的特征语义信息比较少,但是目标位置准确;高层的特征语义信息比较丰富,但是目标位置比较粗略。另外虽然也有些算法采用多尺度特征融合的方式,但是一般是采用融合后的特征做预测,而本文不一样的地方在于预测是在不同特征层独立进行的。
FPN网络算法解析,前因后果讲的很好
FPN: 一种高效的CNN特征提取方法,细节讲的很好
FPN解读:横向连接讲的清楚
个人总结:
创新点:
其实FPN就是小的特征图进行上采样变大,然后和大的特征图进行相加。这个相加是对应位置相加。其实yolov3中也用到上采样然后融合的思想,但是yolov3中是将上采样后的特征图和大的特征图进行拼接而不是对应相加。
比如上采样以后是 26 ∗ 26 ∗ 256 26*26*256 26∗26∗256,横向经过 1 ∗ 1 1*1 1∗1卷积以后也是 26 ∗ 26 ∗ 256 26*26*256 26∗26∗256,FPN是:对应位置相加求和,结果是 26 ∗ 26 ∗ 256 26*26*256 26∗26∗256。yolov3中是:直接拼接,也就是yolov3中认为是 25 ∗ 26 ∗ 512 25*26*512 25∗26∗512。
参考自己写的博客:ResNet
优点有3,博客中写的很清楚。
YOLOv1
YOLOv2
YOLOv3
理解yolov3的anchor、置信度和类别概率
yolov3损失函数
SSD
fast rcnn
faster rcnn
faster rcnn交替训练过程
Faster R-CNN的训练过程的理解
faster rcnn其实自己的博客写的并不是很清楚,笔记本上记录的清楚一些,还是看自己的笔记吧。
Mask R-CNN是ICCV 2017的best paper。Mask R-CNN是继承于Faster R-CNN (2016)的,Mask R-CNN只是在Faster R-CNN上面加了一个Mask Prediction Branch (Mask 预测分支),并且改良了ROI Pooling,提出了ROI Align。
回顾了rcnn系列的论文,并对mask rcnn进行了综述
通过具体例子说明ROI Pooling的缺点
介绍了ROI Align的具体计算方法
ROI Align中会用到双线性差值,介绍了双线性差值
对目标检测的结果分析的很好
Mask R-CNN论文的主要贡献总结的很好,最后面总结
个人总结:
在我看来这篇论文最主要的目的并不是提高目标检测,目标检测只是其中一部分,这个主要创新点在于不仅可以进行目标检测同时可以实例分割。
- 对于目标检测而言,最大的创新点在于使用了ROIalign来替代ROI Pooling。
- 另外,所添加的mask分支主要作用也是为了实例分割,Mask rcnn之所以在目标检测的时候也优于Faster R-CNN+ROIAlign,是因为多任务训练的提升,由于加入了mask分支,带来的loss改变,间接影响了主干网络的效果。
最后还要说明的是,训练Mask rcnn的时候作者用了8块GPU,所以实际上可能并不能实现。
Feature-Selective-Anchor-Free-Module-for-Single-Shot-Object-Detection
论文的翻译以及解析
论文简略的阅读笔记
基本思路
FSAF思路解释的还算明白
个人总结:
以往例如SSD,提出6组feature map 38 ∗ 38 , 19 ∗ 19 , 10 ∗ 10 , 5 ∗ 5 , 3 ∗ 3 , 1 ∗ 1 38*38,19*19,10*10,5*5,3*3,1*1 38∗38,19∗19,10∗10,5∗5,3∗3,1∗1每个feature map产生6个anchor,映射回原图,和原图中的gt计算iou,通过iou将gt匹配到最接近的anchor。
将gt匹配到最接近的anchor box并不是最优的做法,换句话说,将anchor 匹配到第n层才是最好的,然而被人工的分配到了第n+1层,那么让gt去回归就有些不合适了。为了让gt匹配到最佳的特征层,提出了FSAF模块。
训练的时候:定义了损失,损失最小的一层作为最佳的层,根据实例动态的调整选择的特征,选择出来对实例建模最佳的。
预测阶段:对anchor-free分之只解码得分最高的前1000个box;再将这些box和anchor-based分支得到的框进行融合。
介绍了几种非线性激活函数(英文):sidmoid ; tanh ; ReLU ; Leaky ReLU ; Parametric ReLU ; Swish ;
中文的翻译版在公众号:机器之心【入门 | 一文概览深度学习中的激活函数】
论文翻译
解释IOU基本思路
其他相关的检测器
论文的简单全面介绍
MobileNetv1:V1核心思想是采用 深度可分离卷积 操作。在相同的权值参数数量的情况下,相较标准卷积操作,可以减少数倍的计算量,从而达到提升网络运算速度的目的。
MobileNet v1具体实例简单的介绍
MobileNet v1计算量的计算,写的很清楚
V2 主要引入了两个改动:Linear Bottleneck 和 Inverted Residual Blocks。
MobileNet V2解读
MobileNet V2更为详细的解读
总结来看,mobilenet V3其实并没有惊艳的结构提出,最主要的还是应用了诸如SE、H-Swish等tricks,然后利用Google前面提出的NAS以及NetAdapt算法进行结构的自动搜索,提升了一定的精度,降低了一定的速度。可能本篇论文的重点更在于进一步展示一下网络自动结构搜索的有效性,这样对应了文中的标题:Searching for,毕竟这也是发展的一个势头。
论文的翻译以及解析都很好
上面的总结实际上写的很全面了,其实这篇论文讲述的是一个新的训练方式而已,并没有对网络改变多大,是基于FSAF提出的新的训练方式。所以需要先看懂FSAF,才能看懂这篇论文。