read怎么读
⼀阶⽬标检测(one-stageobjectdetection)整理归纳
本⽂不详细介绍各种神经⽹络的细节和具体流程,主要在于归纳其特点并加以⽐较,希望让⼤家对⼀阶⽬标检测的发展过程和改进⽅法有个⽐较清晰的认知。汤圆英文
⽬录
⼀阶⽬标检测和⼆阶⽬标检测的区别
⼆阶⽬标检测的整理概要请看我之前写的
frank是什么意思
⼀阶⽬标检测输⼊是原始图⽚,输出是⽬标检测框和分类
⼆阶⽬标检测输⼊是原始图⽚,中间步骤会选出候选框,最后再对候选框做分类和回归
从这个区别我们可以看出,⼀般来说,⼀阶⽬标检测的模型处理速度会⽐⼆阶的快很多,适合⼯业⽤,但是检测精度会略微低⼀点
常见模型
YOLO(You Only Look Once)系列:YOLO,YOLOv2 / YOLO9000,YOLOv3,YOLOv4,YOLOv5
SSD(Single-Shot Multibox Detector)
YOLO
论⽂:
详细解释可以看
放两张图
特点:
⽤单元格(grid)来代替⼆阶⽬标检测模型中的候选框(proposal)概念,直接在原图上分割成SxS个单元格,每个单元格负责检测中⼼在单元格内部的物体,⽽不是直接提取出候选框。每个单元格B个预测框,每个预测框都有参数(x, y, w, h)和置信度c,同时单元格还包含不同类别的置信度,所以每个单元格的维度是B*5+C。 C是类型数量。
YOLO采⽤的是全图信息来进⾏预测,对背景的误判率会⽐Faster RCNN⼩很多。
缺点:
每个单元格都只能预测⼀个物体,如果存在两个物体的中⼼点在同⼀个单元格,就会出现漏判。
对⼩物体的识别率很低。
Loss Function:
很有意思的损失函数设计
第⼀⾏是检测框中⼼偏移的loss
行李箱英文
第⼆⾏是检测框长宽误差的loss
第三⾏是检测框包含物体置信值的loss
第四⾏是检测框是背景的置信值的loss
第五⾏是检测框内物体分类的loss
SSD
我们先提SSD的原因是SSD(2016)在YOLO(2015)之后提出,早于YOLOv2。SSD相较于YOLO还是有⼀些创新点的。
论⽂:
详细解释请看
放⼀张图
特点:
采⽤了不同尺⼨的特征图进⾏检测,这样⼤尺⼨的特征图对⼩物体的检测⽐较友好,稍微改进了YOLO对⼩物体检测的缺陷(采⽤⽅法Pyramid feature hierarchy)。
采⽤了和Faster RCNN相同的想法,提出不同⽐例和⼤⼩的先验框(Prior Box,相当于Faster RCNN中的Anchor)可以进⼀步的提升回归速率以及检测框的准确性。
由于正样本相对于负样本来说数量较少,所以对负样本进⾏抽样,抽样时按照置信度误差(预测背景的置信度越⼩,误差越⼤)进⾏降序排列,选取误差的较⼤的top-k作为训练的负样本,以保证正负样本⽐例接近1:3。
缺点:
虽然⽐YOLO对⼩物体的检测略有提升,但是相对于Faster RCNN还是差距不⼩
YOLOv2 / YOLO9000
论⽂:
2222bi
详细解释请看
放图
这回我们把特点分成两部分来看
模型特点:
每层卷机和激活函数直接都加了batch normalization层,提升精度和速度。
⽤Darknet代替了YOLO的VGG作为Backbone,提⾼运⾏速率,同时提⾼输⼊分辨率,提升准确度。
借鉴Faster RCNN的想法,也采⽤Anchor,提⾼召回率。⽂章通过k-means聚类得出5个不同的anchor⽐较合适的结论。训练特点:
YOLO9000采⽤联合训练的⽅式,在COCO和ImageNet上同时训练,可以预测9000种类别的物体
每经过⼗次训练,都会改变输⼊图像⼤⼩,能更好的预测不同尺⼨的图⽚
YOLOv3
⼤佬发完YOLOv3同年便宣布推出CV界
论⽂:
详细解释请看
张京 翻译
放图
模型特点:(改进点不是⾮常多,但是效果不错)
使⽤了⼀个全卷积⽹络,没有池化层。⽤Darknet-53⽹络代替,速度快很多。
天津环球雅思借鉴ResNet,加⼊residual/shortcut层,实现残差⽹络,提⾼⽹络深度。
探骊得珠upsample层可以让⽹络在不同尺⼨的特征图上训练检测不同⼤⼩的物体,类似于SSD的思想。
YOLOv4
论⽂:
详细解释请看
结构特点:
⽤CSPDarknet53代替原有backbone
采⽤PANet的FPN
变心金刚使⽤Mish激活函数
永远不说再见英文
⽤CmBN代替BN(效果不明显)
改进SAM和PAN(不清楚SAM的看,不清楚PAN的看)
训练特点: