目标检测之前只用过yolo算法,训练的不是很好,没有系统的学习,经过百度训练营的系统基础的学习,对目标检测概念及其算法有了深入的了解,不过短期内不再进行CV的研究,回归NLP,因此对现阶段的目标检测进行总结,感谢百度提供的训练营,及其百度讲师和班主任芮芮
算法近20年发展:https://arxiv.org/abs/1905.05055
RCNN 算法:
两阶段RCNN:区域选择+检测(分类+定位)
Fast-RCNN :
1. 引入RoI Pooling操作,解决重复特征提取问题
2. 将分类和回归损失统一在同一个框架中
3. 通过SS(Selective search)提取候选框,速度慢,不是端到端
Faster-RCNN
1. 通过RPN(Region proposal network)学校候选区域
2. 提高了精度,速度快
Anchor(锚框):
1. 预先设定好比例的一组候选框集合
2. 滑动窗口提取
Anchor Based Methods:
1. 使用Anchor提取候选目标框
2. 在特征图上的每一个点,对Anchor进行分类和回归
Anchor-Based方法:两阶段:
1. 先使用anchor回归候选目标框,划分前景和背景
2. 使用后悬目标框进一步回归和分类,输出最终目标框和对应的类别
R-CNN : RCNN、Fast-RCNN、FasterRCNN
FPN:CascadeRCNN 、LibraRCNN
FPN、CascadeRCNN
Anchor-Based方法:一阶段:
直接对anchor 回归和分类最终目标框的类别
算法:YOLOv2,YOLOv3
SSD、RetinaNet
Anchor 缺点:
手工设计 1. 设置多少个?设置多大?2.长宽比如何设置
数量多 1.如何解决正负样本不均衡问题
超参数
AnchorFree方法:
不再使用预先设定的anchor,通常通过预测目标中心或者角点,对目标进行检测
基于多关键点联合表达的方法:
1. CornerNet/CornerNet-lite
2. CenterNet:Keypoint Triplets for Object Detection
3. RepPoints
基于中心区域预测的方法:
1. FCOS
2. CenterNet:Objects as Points
https://github.com/rafaelpadilla/Object-Detection-Metrics
NMS:非极大值抑制,Non-Maximum Suppression
R-CNN:
R-CNN 网络结构: