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

news2024/11/20 2:42:41

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单片机学习笔记---DS1302时钟

上一节我们讲了DS1302的工作原理,这一节我们开始代码演示。 新创建一个工程写上框架 我们需要LCD1602进行显示,所以我们要将LCD1602调试工具那一节的LCD1602的模块化代码给添加进来 然后我们开始创建一个DS1302.c和DS1302.h 根据原理图,为了…

【Web】Spring rce CVE-2022-22965漏洞复现学习笔记

目录 原理概览 漏洞简述 Tomcat AccessLogValve 和 access_log 例题: 原理概览 spring框架在传参的时候会与对应实体类自动参数绑定,通过“.”还可以访问对应实体类的引用类型变量。使用getClass方法,通过反射机制最终获取tomcat的日志配置成员属性…

FOC--有感--clion

配置CLion用于STM32开发【优雅の嵌入式开发】 - 知乎 TIM1_CH3N是TIM1_CH3的互补输出通道。TIM1是一个高级定时器,具有互补输出功能。TIM1_CHx是PWM的主通道,而TIM1_CHxN则是PWM的互补输出通道。 开漏输出和推挽输出: 输出电平能力: 推挽输…

HiveSQL——共同使用ip的用户检测问题【自关联问题】

注:参考文章: SQL 之共同使用ip用户检测问题【自关联问题】-HQL面试题48【拼多多面试题】_hive sql 自关联-CSDN博客文章浏览阅读810次。0 问题描述create table log( uid char(10), ip char(15), time timestamp);insert into log valuesinsert into l…

2.6日学习打卡----初学RabbitMQ(一)

2.6日学习打卡 初识RabbitMQ、 一. MQ 消息队列 MQ全称Message Queue(消息队列),是在消息的传输过程中保 存消息的容器。多用于系统之间的异步通信。 同步通信相当于两个人当面对话,你一言我一语。必须及时回复 异步通信相当于通…

猫头虎分享:2024龙年IT行业热门技术大全

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

Python爬虫之文件存储#5

爬虫专栏:http://t.csdnimg.cn/WfCSx 文件存储形式多种多样,比如可以保存成 TXT 纯文本形式,也可以保存为 JSON 格式、CSV 格式等,本节就来了解一下文本文件的存储方式。 TXT 文本存储 将数据保存到 TXT 文本的操作非常简单&am…

Maui blazor ios 按设备类型设置是否启用safeArea

需求&#xff0c;新做了个app&#xff0c; 使用的是maui blazor技术&#xff0c;里面用了渐变背景&#xff0c;在默认启用SafeArea情况下&#xff0c;底部背景很突兀 由于现版本maui在SafeArea有点bug&#xff0c;官方教程的<ContentPage SafeAreafalse不生效&#xff0c;于…

【web前端开发】HTML及CSS简单页面布局练习

案例一 网页课程 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-wi…

二阶系统的迹-行列式平面方法(trace-determinant methods for 2nd order system)

让我们再次考虑二阶线性系统 d Y d t A Y \frac{d\mathbf{Y}}{dt}A\mathbf{Y} dtdY​AY 我们已经知道&#xff0c;分析这种二阶系统。最主要的是注意它的特征值情形。 &#xff08;此处没有重根的情形&#xff0c;所有是partial&#xff09; 而特征值&#xff0c;也就是系…

Java异常的处理 try-catch-finally

目录 什么是异常通过if-else处理异常用if-else堵漏洞的缺点 try-catch例第一种处理第二种处理第三种处理第四种处理 try-catch-finally例 System.exit(0);//终止当前的虚拟机执行 什么是异常 Exception&#xff1a;在程序的运行过程中&#xff0c;发生了不正常的现象&#xff0…

探索未来:集成存储器计算(IMC)与深度神经网络(DNN)的机遇与挑战

开篇部分&#xff1a;人工智能、深度神经网络与内存计算的交汇 在当今数字化时代&#xff0c;人工智能&#xff08;AI&#xff09;已经成为科技领域的一股强大力量&#xff0c;而深度神经网络&#xff08;DNN&#xff09;则是AI的核心引擎之一。DNN是一种模仿人类神经系统运作…

【Java八股面试系列】并发编程-并发关键字,线程池

目录 并发关键字 Synchronized synchronized最主要的三种使用方式&#xff1a; 具体使用&#xff1a;双重校验锁单例模式 synchronized 底层实现原理&#xff1f; synchronized锁的优化 偏向锁 轻量级锁 重量级锁 Mark Word 与 Monitor 之间的关系 总结 偏向锁、轻量…

2024年【高压电工】报名考试及高压电工操作证考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年高压电工报名考试为正在备考高压电工操作证的学员准备的理论考试专题&#xff0c;每个月更新的高压电工操作证考试祝您顺利通过高压电工考试。 1、【单选题】 高压电动机发生单相接地故障时,只要接地电流大于()…

苹果mac电脑如何优化系统?保持不卡顿呢

再强悍的性能和优秀的操作系统&#xff0c;但长时间使用后&#xff0c;有时也会出现卡顿的情况。为了让你的苹果电脑保持高效运行&#xff0c;我们将深入探讨导致电脑卡顿的原因&#xff0c;并提供苹果电脑如何优化系统的解决方案&#xff0c;帮助你优化系统。 过多的启动项 …

第十七篇【传奇开心果系列】Python的OpenCV库技术点案例示例:自适应阈值二值化处理图像提取文字

传奇开心果短博文系列 系列短博文目录Python的OpenCV库技术点案例示例系列短博文目录前言一、自适应阈值二值化处理图像提取文字轮廓的初步示例代码:二、扩展思路介绍三、调整自适应阈值二值化的参数示例代码四、对二值化图像进行形态学操作示例代码五、使用轮廓特征进行筛选示…

C++ 中的模型预测控制(01/2)

目录 一、说明二、MPC原理说明三、分解算法的来源并显示关键特征&#xff0c;四、C 实现说明五、平衡 Q 和 R六、资源下载地址 一、说明 以下文章介绍了应用模型预测控制器的简单控制系统方法。本文讨论了这种控制的基本机制&#xff0c;该机制适用于各种工程领域。 MPC 涉及对…

书生·浦语大模型第三课作业

基础作业&#xff1a; 复现课程知识库助手搭建过程 (截图) 进阶作业&#xff1a; 选择一个垂直领域&#xff0c;收集该领域的专业资料构建专业知识库&#xff0c;并搭建专业问答助手&#xff0c;并在 OpenXLab 上成功部署&#xff08;截图&#xff0c;并提供应用地址&#x…

【QT+QGIS跨平台编译】之三十一:【FreeXL+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、FreeXL介绍二、文件下载三、文件分析四、pro文件五、编译实践一、FreeXL介绍 【FreeXL跨平台编译】:Windows环境下编译成果(支撑QGIS跨平台编译,以及二次研发) 【FreeXL跨平台编译】:Linux环境下编译成果(支撑QGIS跨平台编译,以及二次研发) 【FreeXL跨平台…

如何在Sprint中管理UI测试?

作为iOS团队&#xff0c;我们编写3种类型的UI测试。如果你问这些是什么&#xff1b;快照、冒烟和回归测试。那么这些测试到底是什么&#xff1f;让我们稍微谈谈这些。 快照测试快照测试是检查UI中的某些内容是否损坏的测试。 首先&#xff0c;它将所需的视图图像保存在某处&am…