目标检测之前只用过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 网络结构:
提出来Fast R-CNN 解决
Rol Pooling
Rol Pooling 不足:
Rol Align
BBox Head
BBox Head Loss
Faster R-CNN 效果
两阶段检测进阶模型
FPN目标检测实现方法:
Cascade R-CNN的IoU分析
Cascade R-CNN 网络结构
两阶段检测进阶模型Libra R-CNN
移动端模型优化策略
移动端模型优化:微调FPN结构
YOLO算法
性价比之选:YOLO系列模型
YOLO(v1)
原理:
YOLOv2
YOLOV3
YOLOv3
YOLOv3网络结构
从锚框到预测框
预测流程
检测流程:
损失函数:
YOLOv3检测流程
计算预测框
AnchorFree算法
CornerNet核心思想:
Heatmaps解决如何找到corner的问题:Reduce penalty + Corner Pooling
Corner pooling 算法:
Embeddings解决如何组合corner的问题:
CornerNet 网络结构:
CornerNet 检测效果:
CornetNet-进化版
CornetNet Squeeze - 优化方法
CornerNet-Squeeze-dcn-mixup-cosine是基于原版CornerNet-Squeeze优化效果最好的模型,在ResNet的骨干网络基础上增加mixup预处理和使用cosine_decay的学习策略
CornerNet- 算法总结:
FCOS基于中心的Anchor Free检测算法
FCOS 全卷积网络 -网络结构
FCOS算法总结:
CenterNet -基于中心的Anchor Free 检测算法
CenterNet-核心思想:
CenterNet 预测目标中心点的位置
CenterNet 预测不同任务中的不同属性
CenterNet算法总结:
TTFNet 改进方案;
TTFNet网络结构
1.讨论并验证了batch size 和真值框产生的编码信息的关联
2.提出通过高斯核产生中心点定位和尺寸回归监督信息的新方法
3.在保持高性能的同时,极大的降低了检测器训练时间
4. 模型结构有利于开展搜索实验
Anchor Free系列算法小结
Anchor Free算法参考文献:
模型训练中,遇到一些比较困难的坑,经常boom, 最后ppyolo模型,但相信ppyolo在特定情况下训练的效果应该比较不错,日后有机会使用时深度研究下细节使用,及其参数调试