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

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

学堂在线 - 精品在线课程学习平台 (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.hqwc.cn/news/462828.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习笔记】决策树

决策树 文章目录 决策树1 决策树学习基础2 经典决策树算法3 过拟合问题 1 决策树学习基础 适用决策树学习的经典目标问题 带有非数值特征的分类问题离散特征没有相似度概念特征无序 例子: SkyTempHumidWindWaterForecastEnjoySunnyWarmNormalStrongWarmSameYesSunny…

免费软件推荐-开源免费批量离线图文识别(OCR)

近期要批量处理图片转电子化,为了解决这个世纪难题,试了很多软件(华为手机自带OCR识别、 PandaOCR、天若OCR、Free OCR)等软件,还是选择了这一款,方便简单 一、什么是OCR? 光学字符识别(Opt…

YOLOv8改进 | 检测头篇 | 独创RFAHead检测头超分辨率重构检测头(适用Pose、分割、目标检测)

一、本文介绍 本文给大家带来的改进机制是RFAHead,该检测头为我独家全网首发,本文主要利用将空间注意力机制与卷积操作相结合的卷积RFAConv来优化检测头,其核心在于优化卷积核的工作方式,特别是在处理感受野内的空间特征时。RFAConv主要的优点就是增加模型的特征提取能力,…

解析ajax原理是什么(如何实现)

文章目录 一、是什么二、实现过程创建XMLHttpRequest对象与服务器建立连接给服务端发送数据绑定onreadystatechange事件 三、封装 一、是什么 AJAX全称(Async Javascript and XML) 即异步的JavaScript 和XML,是一种创建交互式网页应用的网页开发技术,可…

postman 文档、导出json脚本 导出响应数据 response ,showdoc导入postman json脚本 导出为文档word或markdown

保存、补全尽可能多的数据、描述 保存响应数据 Response:(如果导出接口数据,会同步导出响应数据) 请求接口后,点击下方 Save as Example 可以保存响应数据到本地(会在左侧接口下新增一个e.g. 文件用来保…

018 Linux

文章目录 操作系统定义分类Linux系统构成 Linux文件系统Linux常用命令基础操作命令文件操作压缩解压权限管理显示展示命令其他命令 vi编译器操作使用 添加用户基本概念用户管理命令 ubuntu软件安装ssh服务终端启动Python服务 操作系统 定义 操作系统是管理计算机硬件与软件资…

[收藏] 数据结构知识全览

以下是数据结构技术主要知识的总结: 1. 基本数据结构 - 数组:固定大小的连续内存空间存储元素,支持随机访问。 - 链表:由节点组成的线性结构,每个节点包含数据和指向下一个节点的指针。 - 栈:后进先出&…

ClickHouse--01--简介

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1. ClickHouse 简介1.1 大数据处理场景1.2 什么是 ClickHouse1.3 OLAP 场景的特征 2. ClickHouse 特性2.1 完备的 DBMS 功能2.2 列式存储行式存储: 在数据写入和修改…

外包干了6个月,技术退步明显了...

先说一下自己的情况,大专生,19年通过校招进入湖南某软件公司,干了接近4年的功能测试,今年8月份,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

物联网数据隐私保护技术

在物联网(IoT)的世界中,无数的设备通过互联网连接在一起,不断地收集、传输和处理数据。这些数据有助于提高生产效率、优化用户体验并创造新的服务模式。然而,随着数据量的剧增,数据隐私保护成为了一个不能忽…

【PyQt】08 - 编辑Tab顺序

文章目录 前言一、Tab顺序二、编辑Tab顺序总结 前言 介绍了什么是Tab顺序,以及如何修改Tab顺序。 一、Tab顺序 当你的界面设计好之后,在输入栏按住Tab按键,他会按照你摆放的顺序一次转跳 二、编辑Tab顺序 方法一 然后鼠标左击就可以改变…

苹果macbook电脑删除数据恢复该怎么做?Mac电脑误删文件的恢复方法

苹果电脑删除数据恢复该怎么做?Mac电脑误删文件的恢复方法 如何在Mac上恢复误删除的文件?在日常使用Mac电脑时,无论是工作还是娱乐,我们都会创建和处理大量的文件。然而,有时候可能会不小心删除一些重要的文件&#x…