高德算法大赛冠军战队经验分享:端到端分类网络、多模型融合...

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

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


相关内容


来自15个国家和地区的880支战队经过数轮激烈角逐后,五强战队杀入决赛。最终,1996年出生的北京邮电大学博士三年级学生朱奕达带领的“会飞的猪”战队夺得冠军


我们将把五强战队的解题思路和方案分享给大家,本次要分享的是冠军战队的技术方案。


image.png

高德地图技术委员会主席聪云为获奖团队颁奖

赛题分析

本次大赛的赛题是通过车载摄像头拍摄的视频图像来对道路路况状态进行判断。评价指标为加权F1。初赛部分是一个三分类问题,包含拥挤,缓行,畅通三种道路路况。而到了复赛部分新增了封闭的道路路况。


赛题的难点在初赛部分中包括以下几点,前车遮挡视野内道路情况,从而影响对道路的判断;对向车道和路边车辆对行驶车道的影响;数据众包导致相机安装存在角度偏差,从而导致图像角度不一致。


复赛部分赛方进一步提高了难度,首先移除了GPS时间信息,此外封闭路况的增加使得图片中道路信息更加复杂,对模型的识别能力和鲁棒性有了更高的要求。


算法框架

首先,宏观介绍一下初赛与复赛的方案设计。


初赛:特征工程+LGB


分车道目标检测

初赛中使用的两种方案,第一种是基于分车道车辆目标检测结果进行特征工程后使用LGB模型分类,我们的目标检测使用的是Faster RCNN模型。


初赛时,确定了数据集之后,我们在数据处理部分做了两部分的工作,在初赛的是目标检测部分,针对前方车辆遮挡,对向车道和周边停车路况的难点,我们提出分车道车辆目标检测的思路,将道路车辆分成5个类别进行标注,分别是:当前车辆前方行驶车道车辆,同向行驶车道左侧车辆,同向行驶车道右侧车辆,对向车道行驶车辆,街边侧向停车车辆。通过这样的标注对当前道路环境的车辆进行细致区分,后续将通过目标检测结果提取不同车道的车辆信息特征。


image.pngimage.gif


我们基于目标检测模型结果提取了60维特征,其中包含GPS时间特征,key_frame中不同行驶车道车辆数目,面积,距离等特征,不同帧之间的检测框动态特征比如车辆相似度匹配,数目,面积变化等特征。下式为检测框中心点计算方式:

image.pngimage.gif

下式为距离计算公式:

image.pngimage.gif

对于动态特征,我们还分车道人为设计了两个加权算式:

image.gifimage.png

box数量与时间间隔关系:数量增加(变化率为正)分数降低,数量减少(变化率为负)分数增加

image.gifimage.png

box大小变化与时间间隔关系:大小增加(变化率为正)分数降低,大小减少(变化率为负)分数增加。


最后,在LGB分类模型中引入Focal Loss损失函数处理样本不平衡问题,这个方案在初赛A榜中取得了第6名的成绩。

image.pngimage.gif

在切换到初赛B榜时,GPS时间特征出现了和A榜特征分布不一致的问题,这使得很多团队都翻车了,我们一开始考虑到这个问题时,下图为我们利用violin对A/B榜的GPS特征与目标检测框特征的分布对比。

image.png

image.gif

同时,也训练了只利用车辆相关特征的LGB模型,这个模型在B榜上的分数为0.6108。我们可以看到基于目标检测和特征工程的方案在A/B榜上差距很大。


DenseNet

我们当初在设计解决方案时,考虑到道路情况不止和车辆信息有关,还和道路及场景相关,考虑到基于分车道目标检测模型只对图像中的车道信息进行提取,而忽略了图片中的其他场景细节。并且目标检测模型本身存在一些误差,将目标检测结果特征再训练一个LGB模型可能会对误差进行传递,我们将思路转移到基于端到端分类模型的方案,我们的想法是训练一个考虑图片中全局信息的序列检测模型。

image.png

image.gif

我们的图片输入窗口大小是3,采用基于DenseNet121先对每张图片提取全局特征后,将图片特征按照时间顺序输入到GRU模型中得到最后的分类结果,在初赛中B榜上我们并没有使用数据增强的方法,最后取得了第一名的成绩0.6614。


复赛

我们团队的方案亮点在以下几点:

  • 端到端分类网络;
  • 滑动窗口+数据扩充;
  • 数据增强;
  • 多模型融合。


数据分析与预处理

首先,我们先将构建线下训练集和验证集,构建合理的验证集更容易使我们在线下对模型进行完善。赛方给出的数据中包含一些重复采样的视频序列(如:id:1540 与 1761),因此我们使用Hash编码对重复的图片进行检测,过滤掉重复的图片序列

image.png

image.gif

我们发现大部分重复的序列都是封闭类型的图片,而封闭类型本身在F1评价指标中占据很大的权重。如果不对这些重复采样的视频序列去重,很容易使得线下存在数据泄露导致线上线下分数差距很大。我们将去重的数据按照4:1的比例在线下构建交叉训练的数据集。


数据扩充与增强

赛题方在给出的复赛训练数据中不同类别的图像序列存在数据不均衡的问题,缓行只有100多个序列,而封闭路段有2000多个序列。针对类别数量的差异性,我们对缓行和拥堵类别做了数据扩充。因为我们是对序列建模,每个序列的原始观测包含3到5张图片,我们按照采样顺序选择3张图片作为之后模型的输入。这样的选择可以带来的好处:


  1. 我们对齐了模型的输入,保证了每个样本都是可用的。

  2. 在缺少了GPS时间信息后,我们并不知道每两帧图片之间的时间差,从5张图片中随机选择3张能够最大限度丰富道路随时间变化的情况。

image.pngimage.gif


直接将原始序列图片输入到模型中,很容易过拟合。为了提高数据的多样性,在复赛时我们上了数据增强的方法,首先要说明的是因为我们的图像是从视频序列采样得到的,所以在对同一个序列中的图片,我们对每一帧图像都做了相同的数据变化,保证序列图片所处的相对环境是一致的。这样的话在使用序列模型时,使其输入更符合实际情况。

image.pngimage.gif

  • 针对相机安装存在角度偏差的问题,我们使用了平移,尺度加旋转变换的数据增强方法。


  • 考虑到视频在采集时包含了一天中的不同时间节点,光照强度和天气条件也对我们的图片造成了较大的影响, 我们加入了对比度,亮度和颜色增强的方法尽可能贴合实际数据。


  • 从赛方给的数据中我们发现图片的清晰度和质量在不同序列之间存在差异,为此我们引入了运动模糊,中值滤波,高斯滤波,高斯模糊等方法进行数据增强。


  • 此外图像中还存在一些脱敏信息,比如马赛克或者黑色条,我们也引入了一些cutof操作,减少模型对图像特定部分的依赖。


image.pngimage.gif


算法设计:时空特征提取

在复赛中,赛题发生了变化,新增了封闭这个类别后,基于特征的方案中需要根据障碍物标注进一步提高目标检测模型的鲁棒性,而实际障碍物标注数据质量并不高,在当时尝试建模后发现效果并不如意。


为了减少误差的传递并考虑图片中更多的信息,我们将优化目标放在了端到端序列检测模型上,提取了不同frame的特征后,我们使用特征融合模块挖掘图片序列之间的时序特征关系。


在特征融合模块中我们仍然使用双向GRU模型挖掘时间序列特征。首先将backbone替换成resnest101和SE_ResNext,在空间特征挖掘中,使用了位置注意力模块和通道注意力模块的双注意力网络。通道注意力模块校准序列图片中的特征图通道之间的关系,位置注意力模块对特征图中不同position进行关系强度的计算,从而挖掘序列图片中的局部关系变化和全局关系变化。


对于端到端序列分类模型,我们采用了之前所说的数据增强和样本扩充的方法后进行5折交叉验证的训练。最后选择了5个模型进行基于概率的融合。我们的方案最后在B榜上得到了第二名的成绩0.7237,比第一名低了万分之9个点。


模型落地与展望

在实际场景下,不仅仅有图片序列信息,还有道路等级数据,GPS时间,POI点等信息,我们的模型具备较强的扩展性,可以将这些路网和时间信息通过embedding等方式处理成相应的特征融合到我们的模型中,更丰富的感知源丰富了我们的时空信息特征空间。


除此之外,我们可以不断优化障碍物和车辆目标检测模型识别精度,从而制定更多的约束规则进行前处理和后处理的规则约束。


image.pngimage.gif

在模型落地时,可以通过模型蒸馏、优化加速等方式将模型下放到边缘节点进行分布式计算。交通路况状态在局部区域是互相影响的,所以我们还可以根据路网信息对城市进行栅格化处理,将众包得到的数据分栅格进行管理,这样我们可以得到该路段信息的临近路况辅助修正模型结果。

image.gif

相关文章
|
27天前
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
102 1
|
1月前
|
监控 安全 BI
什么是零信任模型?如何实施以保证网络安全?
随着数字化转型,网络边界不断变化,组织需采用新的安全方法。零信任基于“永不信任,永远验证”原则,强调无论内外部,任何用户、设备或网络都不可信任。该模型包括微分段、多因素身份验证、单点登录、最小特权原则、持续监控和审核用户活动、监控设备等核心准则,以实现强大的网络安全态势。
130 2
|
1月前
|
机器学习/深度学习 Serverless 索引
分类网络中one-hot编码的作用
在分类任务中,使用神经网络时,通常需要将类别标签转换为一种合适的输入格式。这时候,one-hot编码(one-hot encoding)是一种常见且有效的方法。one-hot编码将类别标签表示为向量形式,其中只有一个元素为1,其他元素为0。
54 2
|
2月前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
135 2
|
2月前
|
运维 网络协议 算法
7 层 OSI 参考模型:详解网络通信的层次结构
7 层 OSI 参考模型:详解网络通信的层次结构
442 1
|
2月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
利用Python和TensorFlow构建简单神经网络进行图像分类
利用Python和TensorFlow构建简单神经网络进行图像分类
75 3
|
2月前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
2月前
|
机器学习/深度学习 人工智能 算法
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
车辆车型识别,使用Python作为主要编程语言,通过收集多种车辆车型图像数据集,然后基于TensorFlow搭建卷积网络算法模型,并对数据集进行训练,最后得到一个识别精度较高的模型文件。再基于Django搭建web网页端操作界面,实现用户上传一张车辆图片识别其类型。
110 0
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
|
3月前
|
机器学习/深度学习 Serverless 索引
分类网络中one-hot的作用
在分类任务中,使用神经网络时,通常需要将类别标签转换为一种合适的输入格式。这时候,one-hot编码(one-hot encoding)是一种常见且有效的方法。one-hot编码将类别标签表示为向量形式,其中只有一个元素为1,其他元素为0。
91 3
|
1月前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
71 17

热门文章

最新文章