1 南溪学习的目标检测模型——DETR
南溪最赞赏的目标检测模型是DETR,
论文名称:End-to-End Object Detection with Transformers
1.2 decoder的必要性——实现共识
2 数据集——COCO数据集
COCO数据集下载地址:https://cocodataset.org/#download
2.1 COCO数据集的介绍
可以参考我的博文——《南溪的目标检测学习笔记》——COCO数据集的学习笔记
3 模型实现速查表
- 预处理
- 回归任务的编码——encoding
- batch-size
- 主干网络
- loss函数
- 后处理
3 模型设计
3.1 预处理(norm)
我们选择的预处理操作是:特征归一化和数值归一化;(参考的是Deformable-DETR的实现)
3.2 回归任务的编码——encoding
接下来,需要对回归的坐标值进行编码;
3.3 batch-size的设置——(至少是2,越大越好)
(对于batch-size来说,网上资料的推荐值是batch_size=32,
这里我看到有两篇文献都是这样说的:
有三AI:
极市平台-皮特潘:
然而,由于GPU的显存限制,我们目前无法使用32的batch-size)
这里我使用的batch_size=4;
3.4 主干网络的设计
关于backbone的设计可以参考我的博文《南溪的目标检测学习笔记》——主干网络设计的学习笔记
3.2 优化器选择——SGD or Adam
其中,Scaled-YOLOv4使用的SGD算法,
(这里使用SGD算法的原因,我是参考的PP-YOLO的论文:
Under larger batch size setting, the entire network is trained with stochastic gradient descent (SGD) for 250K iterations with the initial learning rate being 0.01 and a minibatch of 192 images distributed on 8 GPUs.
于是,我们可以使用下面的选择:
在batch_size >= 8时,使用SGD;
在batch_size < 8时,使用Adam。
3.3 后处理方法——“最常见的是NMS”
关于常见的后处理方法,可以参考我的博文,《南溪的目标检测学习笔记》——后处理方法的学习笔记