[算法竞赛]目标检测常用技巧总结
以数智重庆.全球产业赋能创新大赛 为例,目标检测的几种常见的做题技巧如下:
- 针对数据集进行数据提升
a. 需要对数据进行了解,比如有哪些分类,每个分类下各有什么特点,每个分类下的图片尺寸是怎样的,分布是怎样的(长尾分布,类别不均衡)。
b. 数据出现了什么样的问题,应该怎么去解决这些问题。(多样性,长尾分布、小目标)
c. 使用Pseudo Label提高长尾分布较严重类别 - 针对算法模型的改进
a. baseline:如果为精度,针对精度要求较高的目标检测任务则应当考虑到Cascade RCNN+Resnet50/101+FPN+DCN;如果为精度和模型大小,则考虑mobilenet-ssd和resnet50-yolo3,训练epochs为12到36最佳。
b. 使用DCN和SEnet模块提升模型的鲁棒性。
c. 使用Small Feed Duck(增加小目标的采样率)和random crop等方法提高小目标检出率,额外设置ratio=1的anchor,增加小目标正样本的匹配率。
d. Libra-RCNN,在样本层次,特征层次,目标层次上做均衡。
e. 多尺度训练 - 针对数据以及模型共同调参
a. RPN IOU(0.7, 0.3) -> IOU(0.6, 0.2), RCNN阶段:IOU(0.7, 0.6, 0.5) -> IOU(0.6, 0.5, 0.4)
b. 调整anchor的大小尺寸,anchor_size=6, anchor_ratio=(0.1, 0.5, 1, 2, 5)
框架选择:
- mmdetection