比赛正好是我期末考后参加的,没想到得了奖。感谢极市在青岛的招待,下面给大家介绍一下我在本次竞赛当中的一些模型选取和数据处理等思考和解决问题的方法,希望可以帮助到大家~

1、赛题分析

1.1先来看下赛题的官方描述。

1)目标描述 (了解应用场景)

算法报警的业务逻辑:利用开关,控制识别到占道经营,违规晾晒的行为,触发报警。

识别场景:街道

识别对象:
1)悬挂式的衣服/被子等物品(小目标例如一条毛巾、一个梳子、一条鱼不识别,当数量大于5时,可以识别)
2)占道行为摊位

环境要求:白天,或光线充足

算法准确率:85%

2) 数据描述

标注方式:2D 框标注

标签:
固定摆摊fixed_stall:街道、人行道周边的地面摊位,确认在摆摊
遮阳伞sunshade:遮阳伞、临时贩卖小棚
晾晒物:drying_object

其实就是把占道的各种行为识别出来,保证道路畅通。

1.2 进行探索性数据分析(EDA)

看看大致的数据分布制定训练策略,决定使用模型,对以后调参也有帮助。

1) 探索性数据分析(EDA)--数据集信息

数据量够大了,为了保证训练速度跟推理速度,选择轻量级模型yolo系列,这也是工业上应用比较广泛的模型。其中我使用的YOLOv5s网络体积最小,速度最快。我确实更喜欢小模型,训练起来更容易。因为有性能分,模型融合、测试时增强(TTA)就不考虑了。

2)探索性数据分析(EDA) —  标签数量

标签数量差距大,类别不均衡,是长尾分布。因此我考虑两个策略:数据增强用Mosaic数据增强 + 损失函数用Focal loss。

这也是应对数据不均衡比较常规的想法,而且都很有效。

3)探索性数据分析(EDA)--标注框

标注框绝对大小:

标注框相对大小:

可以发现Anchor的特点有:小目标为主,偶尔有大目标,我通过聚类确定anchor大小。

1.3 得出总体思路图

内容中包含的图片若涉及版权问题,请及时与我们联系删除