冠军方案之 X光限制品监测

freeopen [机器学习] #top1

冠军:YuanXu

任务说明

包裹X光限制品监测作为日常包裹物流行业及安防行业的重要环节,承担着防止易燃易爆等危险品进入货运渠道,管理刀具等特殊货运物品,监测毒品等国家重点违禁品偷运等工作。随着线上购物的普及和快速发展,线上物流包裹数量已经远超人工可以处理的范围,给物流包裹监管带来了巨大挑战。

针对给出的限制品种类,利用X光图像及标注数据,研究开发高效的计算机视觉算法,监测图像是否包含危险品及其大致位置。通过自动化监测包裹携带品算法,降低漏检风险及误报率,提升危险品管理效率。

限制品包括:铁壳打火机、黑钉打火机、刀具、电池电容以及剪刀五类(类别id依次从1到5)。

评估指标

问题分析

比赛任务是经典的图像语义分割(semantic-segmentation)的问题,简单说就是要在像素级别将前景类别标识出来。研究kaggle上的几个图像语义分割的比赛,发现Unet和Mask-RCNN的成绩最好。

因为时间原因,最后选择 Unet。因为Unet能直接输出与图像1: 1的mask,且超参数少,属于端到端网络。

模型设计

采用经典Unet模型。

涨分点

数据增强

快速训练

训练速度直接决定了开发的迭代速度和实验的总次数。

在训练的初期使用比较小的图像作为输入,然后再使用较大的图像作为输入。这个过程就像人学习一样,先从简单的、粗略的开始学起,然后在学习复杂的、精细的,这样最后网络收敛会更快、更好。具体为先训练128p的图像,再在原模型上训练256p的图像。

融合策略

因为数据集比较小,即使使用了各种数据增强技术,训练使用以rsenet154作为encoder这样大网络,选取一个snapshot作为最终模型的参数还是会有过拟合的风险,选取多个snapshot使用参数均值的方法对模型参数进行融合可以提高模型的泛化能力。

但是传统的方法是对一个模型进行多次训练来取得多个snapshot,这会需要很多的计算时间。根据不同评价标准选择融合的候选参数的方法,也就是选择最小验证loss,最大mIoU,和最小训练loss的三个模型参数进行融合。

半监督学习

使用已训练的模型在测试数据上的结果作为训练数据,来达到增加数据集、进而提高模型精度的方法。

测试增强

在推理时,通过对图像的旋转和翻转,并对结果取平均也能提高精度。但是这样推理测试的速度慢了8倍,考虑到数据中有很多图片没有危险品,而测试增强对于这些图片没有改进,所以避免对这些图片多次测试可大幅提高测试速度。代码改动也很少。

总结


评论区🔗

你可以在这里快速开始评论,如果 name 填写为 email 时,当有回复时,会收到邮件提醒( 注:邮件提醒功能还在制作中 ).


回应区🔗

你有对这篇文章写回应吗? 你可以在这里提交你的文章网址或者推特链接(文章或推特内容需要包含这篇文章的地址,点击这里了解 Webmention):

回应内容会被 webmention.io 机器人收集,另一位机器人会在24小时内把回应展示到这里, 也欢迎通过 邮件 Twitter DM 和我讨论。

Back to top