当前位置: 首页 > article >正文

【深度学习】:滴滴出行-交通场景目标检测

清华大学驭风计划课程链接 

学堂在线 - 精品在线课程学习平台 (xuetangx.com)

代码和报告均为本人自己实现(实验满分),只展示主要任务实验结果,如果需要详细的实验报告或者代码可以私聊博主,接实验技术指导1对1

有任何疑问或者问题,也欢迎私信博主,大家可以相互讨论交流哟~~

案例5:滴滴出行-交通场景目标检测 

相关知识点:目标检测、开源框架的配置和使用(mmdetection, mmcv) 

1 任务和数据简介

      本次案例将使用深度学习技术来完成城市交通场景下的目标检测任务,案例所使用的数据集由滴滴出行提供,基于D2-City大规模行车记录视频数据集[1],经过视频抽帧等预处理步骤得到。数据集共包含12,000张图像,每张图像的大小为1080×1920或720×1280,已划分为训练集(10,000张)、验证集(1,000张)、测试集(1,000张),其中训练集和验证集提供了检测标签,测试集仅提供图像,用于提交后测试模型效果。本数据集共包含12个待检测的物体类别,包括小汽车、公交车、自行车、行人等,具体定义及示例如图1所示。本任务的目标是在给定的交通场景图像中,尽可能完整、准确地检测出所有要求的物体,检测结果示例如图2所示。关于数据的更多细节可参考D2-City文献[1].

      为了方便使用,数据集的标注信息已被预处理成MS-COCO格式,MS-COCO是通用物体检测领域最常用的数据集,如需深入理解数据集格式,请自行学习:MS-COCO数据集官网[2]、MS-COCO数据集文献[3]、MS-COCO标注格式[4]. 模型的评估指标也使用MS-COCO常用指标mAP(mean average precision),请自行学习其定义及计算方式(无需自己实现):mAP定义[5],mAP计算方式[6][7]。

参考程序及使用说明

      本次案例提供了完整、可供运行的参考程序,选取了带FPN[8]结构的Faster R-CNN[9]模型,基于MMDetection物体检测框架[10]实现,各程序简介如下:

lfaster_rcnn_r50_fpn_1x_didi.py为模型配置文件,安装MMDetection后置于mmdetection/configs/faster_rcnn路径下;

ldidi_detection.py为数据集配置文件,置于mmdetection/configs/_base_/datasets路径下,并将data_root变量修改为数据集所在路径;

ltest.json为测试数据集文件信息,置于mmdetection/[数据集所在路径]/dataset_release路径下,在测试集上做推理时会用到;

ldidi_demo.ipynb用于可视化模型的检测结果。

参考程序的使用步骤及说明:

l自行安装MMDetection最新版(v3.2.0)及其全部依赖库,包括PyTorch等(MMDetection GitHub: [10],安装指南: [11]);学习必要的使用说明:MMDetection文档[12] (请务必仔细阅读Getting Started章节);

3实验结果

1,使用 Faster R-CNN 原始代码跑通,得到结果如下

在模型在一般条件下的性能,使用 Average Precision (AP) @[ IoU=0.50:0.95 |
area=all | maxDets=100 ] ,它是在多个 IoU 阈值范围内综合考虑了所有目标大小
的性能。在这种情况下,数值为 0.331 ,我觉得这个数值更具有平均代表性。

2,尝试其他检测算法

在这一部分我选择了 CascadeR-NN 检测算法进行尝试,训练结果如下
从图中可以看出 mMAP 6 项中有 4 项都比使用检测算法 Faster R-CNN 要高,
造成这样的原因 我认为是 Cascade R-CNN Faster R-CNN 的扩展,它引入了
级联式的检测器,通过级联式的策略来进一步提高检测精度。 Cascade R-CNN
常在需要更高精度的任务中表现出色

3,尝试其他网络结构的检测算法

这一部分我选择的 base model 里面的 ssd300.py ,里面使用了 VGG16 网络结构
并且是单阶段检测器,单阶段检测器通常比双阶段(如 Faster R-CNN )更快,因
为它们在单个前向传递中执行检测和定位,实际训练结果如下。

4,在优化器和学习率上进行调整尝试提升效果

这一部分我使用了 Adam 优化器和 0.0001 的学习率用 CascadeR-NN 检测算法进
行训练,训练结果如下

http://www.kler.cn/a/233089.html

相关文章:

  • day12:版本控制器
  • ctfshow-web入门-反序列化(web271-web278)
  • React 守卫路由
  • 【Unity】Game Framework框架学习使用
  • 男同事36岁,听说被裁拿了12万。今天看到他退了群,但下午领导就反悔了,让他回来,还要把12万补偿退回来
  • Web 搜索引擎优化
  • Unity3d Shader篇(五)— Phong片元高光反射着色器
  • University Program VWF仿真步骤__全加器
  • 开发JSP应用程序
  • FastJson、Jackson使用AOP切面进行日志打印异常
  • NBA2K24 陈盈骏面补
  • Mysql报错处理
  • 个人搜集的gstreamer学习链接
  • 《动手学深度学习(PyTorch版)》笔记8.2
  • kettle--文本文件输出有空格解决方案
  • 264. 丑数 II
  • flutter使用qr_code_scanner扫描二维码
  • 嵌入式学习Day17 linux高级编程 -- 输入输出
  • 边缘计算中的能源效率与运维成本
  • XML介绍和基本语法
  • 深入理解Python爬虫的四大组件之Logger(记录器)
  • 用bootstrap结合jQuery实现简单的模态对话框
  • Java图形化界面编程—— LayoutManager布局管理器笔记
  • Flink cdc debug调试动态变更表结构
  • 同步復位和異步復位二者各自的優缺點
  • Android 粒子喷泉动效