目标检测模型
YOLO
YOLO1
预先定义候选区(固定)
49 * 2 候选区
速度快/很粗糙
YOLO2
- Batch Normalization(批量正则化)
- High Resolution Classifier(高分辨率分类器)
- Convolutional With Anchor Boxes(带Anchor Boxes的卷积)
- Dimension Clusters(维度聚类)
- New Network(新的网络
Darknet-19
模型的mAP值没有显著提升,但计算量减少了 - Batch Normalization(批量正则化)
- Direct location Prediction(直接定位预测)
- 细粒度特征(Fine-Grained Features)
- 多尺度训练(Multi-Scale Training)
完全卷积网络,没有全连接层,可以接收大小变化的图像
YOLO3
改进:
1、新网络结构:Darknet-19的基础上引入了残差块,并进一步加深了网络,改进后的网络有53个卷积层,取名为Darknet-53
2、用逻辑回归替代softmax作为分类器;
3、融合FPN(特征金字塔网络),实现多尺度检测。
4、多尺度预测
YOLO4
主要改进
-
输入端
1、Mosaic数据增强:随机缩放,随机裁剪,随机排布的方式进行拼接
模型更获得更多相关或不相关的上下文信息,学习到更加鲁棒的特征
2、自对抗训练(SAT,Self Adversarial Trainning)
3、CmBN(交叉小批量归一化):BN策略可以缓解梯度消失、过拟合,增加模型稳定性
CmBN是CBN的修改版,CBN在第t时刻,也会考虑前3个时刻的统计量进行汇合 -
Backbone
1、CSPDarknet53 :csp2、Mish激活函数:f(x) = x*tanh(log(1+e^x)),更适合于深度模型
3、Dropblock策略:Dropblock是一种针对卷积层的正则化方法
在特征图上通过dropout一部分相邻的区域,使得模型学习别的部位的特征,从而表现出更好的泛化能力 -
Neck
1、SPP模块:使用k={1x1, 5 x 5, 9 x 9, 13 x 13}最大池化操作,再将不同尺度的特征图进行Concat融合2、FPN + PAN:
FPN指特征金字塔:其思想是将高层次卷积得到的较小特征图进行上采样,和低层次较大的特征图进行特征融合(自顶向下),这样做的优点是将高层次较强的语义特征传递下来PANet(Path Aggregation Network,路径聚合网络):FPN的后面添加一个自底向上的特征金字塔,将低层次强定位特征传递上来(自底向上),从而形成对FPN的补充
-
Head
1、CIOU_lossGIOU_loss:在IOU的基础上,解决了边界框不重合的问题
DIOU_loss:在IOU和GIOU的基础上,考虑了边界框中心点距离的信息
CLOU_Loss: 在DIOU的基础上,考虑边界框宽高比的尺度信
CIOU_loss在定义预测box、真实box损失值时,考虑了重叠面积大小、中心点距离、长宽比例,定位更加精确
2、DIOU_NMS
NMS主要用于预测框的筛选,YOLOv4使用DIOU来进行NMS(即选择DIOU最大的值)
R-CNN
R-CNN
mAP平均准确率均值
每个类别求平均准确率--》再求均值
端对端:同一个模型出入,同一个模型产生最终输出
解决问题:
两阶段方式检测目标物体
采用的方法:
通过SS算法产生2K左右候选区
分别对这些候选区域进行卷积,得到候选区域特征图
将特征图送入后面的分类/回归模型
Fast R-CNN
采用的方法
通过SS算法产生2K左右候选区
对整个图像进行卷积,得到整个图像特征图
通过ROI pooling映射算法,取出候选区的特征图,送入后面的分类/回归模型
ROI pooling:候选区大小不一,通过ROI pooling统一大小,方便后面定义权重
Faster R-CNN
RPN网络
Region Proposal Network(区域提议网络)
专门用来从特征图生成候选区域的网络
Anchors
(锚点)指由一组矩阵,每个矩阵对应不同的检测尺度大小
9个矩形共有三种形状,即1:1, 1:2, 2:1,即进行多尺度检测。
Bounding box regression
物体识别完成后,通过一种方式对外围框进行调整,使得和目标物体更加接近
采用的方法
主要改善了候选区域产生方式,利用RPN网络
从特征图(而不是原图)上产生候选区域
引入了Anchor Box检测技术,提高检测精度