工业视觉中的目标检测——兼谈天池大赛优胜方案


目标检测是计算机视觉领域研究最火热的方向,这从计算机视觉顶会CVPR相关论文数量就能看得出来。

目标检测应用范围广泛,上至卫星遥感,下至自动驾驶,大到鲸鱼保护,小到生物细胞分析,都有其用武之地。

我们在论文中常见的MS COCO数据集,多以生活类自然场景中的目标为主,如下图:

做一个通用的目标检测器,当然很有意思,但在工业视觉领域有很多特定的目标,如果能解决好了,往往非常具有商业价值。

CV君有好几位朋友创业方向都选择了工业视觉,这个领域商业化模式清晰,足够垂直,国家也鼓励工业 4.0 。一套自动化的产品瑕疵(缺陷)检测系统,一年就可以帮工厂省几百万甚至上千万资金。

阿里天池平台曾经举办过大量的数据竞赛,让人印象深刻的计算机视觉比赛比如津南数字制造算法挑战赛【赛场二】X光图像的违禁物品检测分割,2018广东工业智造大数据创新大赛—智能算法赛铝型材表面瑕疵识别,和最近刚上线的百万奖金!天池发起广东工业制造创新大赛赛场一:布匹疵点智能识别,都与目标检测相关。

布匹疵点智能识别比赛图像示例

布匹疵点智能识别比赛目标标注

比赛嘛,当然是追求高精度,下面将结合一些最新的论文和天池上目标检测相关比赛的优胜方案,谈谈如何提高模型精度。

首先要推荐的是亚马逊李沐团队的论文及代码:

Bag of Freebies for Training Object Detection Neural Networks

https://arxiv.org/abs/1902.04103v1

https://github.com/dmlc/gluon-cv

作者们在文章主要公布了以下训练实用技巧:

1.视觉一致的Image Mixup(Visually Coherent Image Mixup for Object De- tection)

Image Mixup已经成功用于图像分类的样本增广,在很多比赛中也经常被冠军所用,做法非常简单,图像简单按照比例进行像素混合,如下图:

同样,将带有目标的两幅图像也可以像素混合,生成新的图像含有含有原来的目标,用在目标检测的Image Mixup示意如下:

2.分类头标签平滑(Classification Head Label Smoothing)

3.数据预处理(Data Pre-processing)

主要是随机几何变换和颜色扰动。

4.训练调度程序改造(Training Scheduler Revamping)

改进学习率的衰减方法,使用cosine schedule 代替step schedule取得了更好的结果,如下图:

5.同步批归一化(Synchronized Batch Normalization)

为了方便多GPU训练(如果你有多个GPU的话。。。)。

6.随机形状训练(Random shapes training for single-stage object detection networks)

通过组合以上目标检测训练技巧,训练Faster RCNN和YOLOv3之后,获得的精度增益,相同的算法最多竟有+4.0%AP的增长(COCO数据集)!

另外,研究往届比赛的优胜方案也能对我们有所启发。

冠军们使用什么框架?

商汤开源的mmdetection和Facebook开源的Detectron是被提及最多的目标检测框架,它们本身实现了大量state-of-the-art算法,而且用户众多,有问题也比较容易解决,是大家快速参与比赛的首选。

https://github.com/open-mmlab/mmdetection

https://github.com/facebookresearch/Detectron

选择哪一种目标检测算法?

这时候不能不提到 Cascade RCNN,曾经在多个比赛中斩获冠军。

Cascade R-CNN升级!目标检测制霸COCO,实例分割超越Mask R-CNN

目前也是COCO数据集上的最高分获得者。

但也不能完全迷信论文里的state-of-the-art,在铝型材表面瑕疵识别比赛中,冠军使用模型的基础结构是Faster RCNN(但是也做了大量改进)。

详见:

https://tianchi.aliyun.com/forum/postDetail?spm=5176.12586969.1002.3.743c4cb2ixWGxm&postId=38469

数据增广和模型融合是必不可少的!

所有的优胜团队都会提到数据增广,图像翻转、旋转、平移、颜色扰动等。

尤其是处理类别不平衡问题,有时候甚至成为比赛获胜的关键。

在目标检测领域还有一大难点是小目标的检测,这里强烈推荐大家参考论文:

Augmentation for small object detection

https://arxiv.org/abs/1902.07296

通过造数据的方式使得小目标类别在整体更均衡,可以有效改进算法效果。

模型融合也是非常关键的,大家可以从铝型材表面瑕疵识别冠军方案的这张图中看出来:

天池优胜方案链接:

https://tianchi.aliyun.com/competition/entrance/231703/forum

https://tianchi.aliyun.com/competition/entrance/231682/forum

鼓励大家去天池玩一下布匹疵点智能检测比赛,在实际问题中提高技术水平!


工业视觉交流群

(0)

相关推荐