高德算法大赛季军战队经验分享:打造一个简单有效且易拓展的方案

高德地图联合阿里云天池平台举办的AMAP-TECH算法大赛已经落幕。本次大赛以“基于车载视频图像的动态路况分析”为赛题,赛题来源于高德真实的业务场景。路况信息不仅影响用户选择出行路线、出行方式、预估到达的时间,对于交通管理部门和城市规划部门也有重要的价值。

相关内容

  • 燃爆视频!高德地图首届算法大赛落幕 为未来创造更多可能!

  • 阿里巴巴高德地图AMAP-TECH算法大赛开赛!

  • 高德算法大赛亚军战队经验分享:将图像信息转化为多模态理解解题

 

来自15个国家和地区的880支战队经过数轮激烈角逐后,五强战队杀入决赛。我们将把五强战队的解题思路和方案分享给大家,来自于云港科技的时楠同学获得了季军,本次要分享的是他的技术方案。

高德算法大赛季军战队经验分享:打造一个简单有效且易拓展的方案_第1张图片

中科院自动化所研究员、模式识别国家重点实验室主任王亮为季军获奖者颁奖

核心任务

本次比赛的内容是通过车载视频图像对当前道路状况进行分类,道路状况初赛中有三类:畅通、缓行与拥堵。复赛中分为四类,增加了一类封闭。以复赛指标为例,采用的是加权F1指标。畅通、缓行、拥堵和封闭分别对应0.1,0.2,0.3,0.4的权重。

方案简介

本次比赛我们采用了一个efficientnet和convlstm结合的模型。通过efficientnet提取到的图像特征和convlstm提取的序列特征结合的方式做分类。

在本次比赛复赛中,对于封闭类给出了障碍物的bbox标注,这里我们将bbox标注转换成了mask标注,在生成序列特征的时候,添加了一个mask预测的分支来辅助模型生成更好的特征,使模型能关注到障碍物的特征。

另外,由于比赛数据存在着很严重的类别不均衡,所以我们参考了

Decoupling Representation and classifier for long-tailed recognition这篇论文的方法,用了一个两阶段训练的方法,有效缓解了类别不平衡的影响。

方案分享

赛题分析

本次比赛主办方提供的数据是一个3-5帧的图像序列,其中一幅图作为参考帧,需要我们识别参考帧的路况信息,路况信息总共分为4种类别(畅通、缓行、拥堵、封闭)。对于封闭类,其主要判断依据是前方道路是否存在障碍物。所以,为了更有效的帮助我们识别路况,主办方对封闭类中的障碍物做了bbox标注。本次比赛采用了加权f1 score的方法作为最后的评分方式。

 

高德算法大赛季军战队经验分享:打造一个简单有效且易拓展的方案_第2张图片

本次比赛的数据主要存在以下难点和问题:

 

高德算法大赛季军战队经验分享:打造一个简单有效且易拓展的方案_第3张图片

算法设计与创新

多帧信息融合

高德算法大赛季军战队经验分享:打造一个简单有效且易拓展的方案_第4张图片

利用参考帧和其相邻帧的图片信息,通过convlstm有效的提取其序列特征,最后将序列特征和参考帧特征结合从而更有效的识别路况信息。

bbox转mask

高德算法大赛季军战队经验分享:打造一个简单有效且易拓展的方案_第5张图片

将bbox标注转换成mask标注,同时为模型增加一个mask预测的分支,通过这个分支辅助模型让它的注意力能关注到障碍物上。

两阶段训练

高德算法大赛季军战队经验分享:打造一个简单有效且易拓展的方案_第6张图片

采用一个两阶段训练的方法,第一阶段按照正常随机采样的方式训练模型,第二阶段固定住efficientnet和convlstm的权重,采用re-weight的方式只训练后面的classifier,采用这种方式能更有效的缓解类别不平衡。

 

算法细节

高德算法大赛季军战队经验分享:打造一个简单有效且易拓展的方案_第7张图片

在a榜、b榜中我们采用了不同的序列输入长度,主要原因是我们怀疑b榜测试集的序列长度分布和a榜还有训练集是不一致的,而训练集中序列长度是存在一定的leak的,我们发现在训练集中封闭类大多数都是只有3帧的序列,而其他类大多都是大于3帧的,所以用整个序列长度训练的模型容易把这个leak信息学进去,造成当测试集的序列长度分布不一致时,模型效果会变得非常差,所以在b榜我们采用了参考帧和其相邻帧作为输入的方式,避免模型学习到leak。

另外,我们对convlstm的实现做了一个小修正,在原始lstm的实现里lstm内部存储的信息ct会经过一个tanh的激活和输出gate相乘作为最后的输出,对于图像,我们用了relu+group norm替换了tanh,但是在group norm计算时,由于要减去一个均值,所以会有一半特征的值是小于0的,然后使用relu就会把这部分特征丢弃掉,这是很不利于后面的mask预测的,所以我们最后在convlstm的实现时去掉了这里的激活函数

 

高德算法大赛季军战队经验分享:打造一个简单有效且易拓展的方案_第8张图片

在数据处理上我们主要采用了下面的几种数据增强,并且我们采用了在线数据增强的方式,同时对于同一序列的图片,我们会对其做相同的数据增强。

总结

高德算法大赛季军战队经验分享:打造一个简单有效且易拓展的方案_第9张图片

本次比赛我们采用一个efficientnet和convlstm结合的方案来有效判断路况信息,并且进一步通过一个mask预测分支和一个两阶段训练的方法去辅助模型,提升模型效果。总体上说,整个解决方案是简单有效的,并且我们的方法很容易迁移到一些用bbox标注辅助分类的问题和一些类别不平衡的分类问题上。

另外,模型也具备很好的拓展性,我们可以很容易的将一些额外的信息(道路等级、时间信息等)加入到模型中,实现端到端的学习。我们模型单模精度也是比较高的,在a榜我们用单模型取得了第一名,b榜我们不提交融合的模型,用单模也是可以进入top5的。

最后,感谢主办方提供的数据和这样的一个业务场景,我们也希望通过大家的努力能真正实现帮助更多人美好出行的愿景。

你可能感兴趣的:(算法,大数据,机器学习,人工智能,深度学习)