[ADAS预研笔记]感知算法 - 引言及常用数据集

2023-12-06 16:50

本文主要是介绍[ADAS预研笔记]感知算法 - 引言及常用数据集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

CNN用于图像分类、目标检测、语义分割等方向;

RNN用于与时序相关的追踪等方向。

现代深度学习算法结构(引言)

在现代深度学习算法研究中, 通用的骨干网络(backbone)+特定任务头(head) 成为一种标准的设计模式。

背景:

  • 图像分类算法是其他计算机视觉子任务的基础,目标检测与语义分割都会将问题逐步简化为图像分类问题;
  • 因此图像分类的算法主体被迁移过来用作特征提取,称为骨干网络(backbone);
  • 原本的图像分类算法也重新进行了划分:全连接层之前的一系列卷积层+池化层即 backbone ,全连接层+softmax即图像分类的 head 。

详细的backbone与head介绍将在下文各类CNN介绍后展开。

常用数据集

模型训练依赖于已经打好标签的数据集作为loss计算的依据以及模型验证,目前主流的开放数据集有如下三类。

ImageNet与ILSVRC

ImageNet:ImageNet是一个超过15 million的图像数据集,大约有22,000类。

ILSVRC:全称ImageNet Large-Scale Visual Recognition Challenge,从2010年开始举办到2017年最后一届,使用ImageNet数据集的一个子集,总共有1000类;

ILSVRC是图像分类领域最具影响力的竞赛,诞生了绝大多数的图像分类算法。

算法研究中常用ILSVRC竞赛数据集来训练模型并验证模型效果,ILSVRC竞赛数据集面向图像分类+目标检测,其输入大小为224*224,深度为3。各年的ILSVRC竞赛所使用的数据集如下:

年份

图像分类数据集

目标检测数据集

2012

include

not include

2013

remain 2012

include

2014

remain 2012

more than 2013

2015

remain 2012

remain 2014

2016

remain 2012

remain 2014

2017

remain 2012

remain 2014

PASCAL VOC

PASCAL VOC挑战赛主要面向目标检测与语义分割,比赛于2012年停办,但研究者依然可以使用PASCAL VOC数据集训练模型并上传验证结果。

PASCAL VOC数据集输入大小为448*448,主要分为PASCAL VOC 2007和PASCAL VOC2012,两者相互独立;

PASCAL VOC 2007公开了训练集、验证集、测试集;

PASCAL VOC 2012仅公开了训练集、验证集,需提交到官方服务器来评估测试集结果。

训练集用作训练模型;验证集用作自我验证模型效果;测试集用作测试模型效果,不公开可以避免参赛者面向结果编程。

MS COCO

全称为Microsoft Common Objects in Context(MS COCO),面向目标检测、语义分割及其他方向

训练集的不同标注

我们在了解模型时,论文中经常可以看到各种训练集的标注,其含义如下:

  • 07+12:使用 VOC2007 的 train+val 和 VOC2012的 train+val 训练,然后使用 VOC2007的test测试;
  • 07++12:使用 VOC2007 的 train+val+test 和 VOC2012的 train+val训练,然后使用 VOC2012的test测试;
  • 07+12+COCO:先在 MS COCO 的 train+val 上预训练,再使用 VOC2007 的 train+val、 VOC2012的 train+val 微调训练,然后使用 VOC2007的test测试;
  • 07++12+COCO:先在 MS COCO 的 train+val 上预训练,再使用 VOC2007 的 train+val+test 、 VOC2012的 train+val 微调训练,然后使用 VOC2012的test测试。

其他语义分割数据集

Cityscapes:50个城市的城市场景语义理解数据集

Stanford Background Dataset:至少有一个前景物体的一组户外场景

Pascal Context:有400多类的室内和室外场景

CamVid:剑桥大学公开发布的城市道路场景的数据集

SUN RGB-D:普灵斯顿大学的 Vision & Robotics Group 公开的一个有关场景理解的数据集

自动驾驶相关数据集

驾驶数据集:

  • DriveSeg:MIT联合丰田公司在2020年6月份发布的,用于动态驾驶场景分割的MIT DriveSeg数据集,并提供完全开放的免费下载。

  • KITTI:目前最知名的自动驾驶数据集之一。

  • CityScapes:50个城市的城市场景语义理解数据集。

  • Mapillary:由瑞典马尔默的Mapillary AB开发,用来分享含有地理标记照片的服务。其创建者想要利用众包的方式来把整个世界(不仅是街道)以照片的形式存储。

  • D²-City:嘀嘀的一个大规模行车视频数据集。

  • ApolloScape:百度的自动驾驶数据集,该数据集包含147k张像素级语义标注图像。

  • Apollo Synthetic Dataset:百度的自动驾驶的合成数据集,场景使用Unity 3D引擎创建。

  • BDD-100k:Berkeley的大规模自动驾驶视频数据集,主要采集于美国城市的一天中的许多不同时间,天气条件和驾驶场景。

  • Oxford RobotCar:牛津大学的项目,数据是对牛津的一部分连续的道路进行了上百次数据采集,收集到了多种天气、行人和交通情况下的数据,也有建筑和道路施工时的数据,长达1000小时以上。

  • nuScenes:由Motional(前身为nuTonomy)团队开发的用于自动驾驶的共有大型数据集。数据集来源于波士顿和新加坡采集的1000个驾驶场景,每个场景选取了20秒长的视频,包括大约140万个图像、39万个激光雷达点云、140万个雷达扫描和4万个关键帧中的140万个对象边界框。

交通标志数据集:

  • KUL Belgium Traffic Sign Dataset:比利时的一个交通标志数据集。

  • German Traffic Sign:德国交通标注数据集。

  • STSD:超过20 000张带有20%标签的图像,包含3488个交通标志。

  • LISA:超过6610帧上的7855条标注。

  • Tsinghua-Tencent 100K:腾讯和清华合作的数据集,100000张图片,包含30000个交通标志实例。

这篇关于[ADAS预研笔记]感知算法 - 引言及常用数据集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/Kidwish_mini/article/details/131258166
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/462552

相关文章

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

java如何实现高并发场景下三级缓存的数据一致性

《java如何实现高并发场景下三级缓存的数据一致性》这篇文章主要为大家详细介绍了java如何实现高并发场景下三级缓存的数据一致性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 下面代码是一个使用Java和Redisson实现的三级缓存服务,主要功能包括:1.缓存结构:本地缓存:使

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

C#解析JSON数据全攻略指南

《C#解析JSON数据全攻略指南》这篇文章主要为大家详细介绍了使用C#解析JSON数据全攻略指南,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、为什么jsON是C#开发必修课?二、四步搞定网络JSON数据1. 获取数据 - HttpClient最佳实践2. 动态解析 - 快速

MySQL字符串常用函数详解

《MySQL字符串常用函数详解》本文给大家介绍MySQL字符串常用函数,本文结合实例代码给大家介绍的非常详细,对大家学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql字符串常用函数一、获取二、大小写转换三、拼接四、截取五、比较、反转、替换六、去空白、填充MySQL字符串常用函数一、

Java中Arrays类和Collections类常用方法示例详解

《Java中Arrays类和Collections类常用方法示例详解》本文总结了Java中Arrays和Collections类的常用方法,涵盖数组填充、排序、搜索、复制、列表转换等操作,帮助开发者高... 目录Arrays.fill()相关用法Arrays.toString()Arrays.sort()A

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Spring Boot中WebSocket常用使用方法详解

《SpringBoot中WebSocket常用使用方法详解》本文从WebSocket的基础概念出发,详细介绍了SpringBoot集成WebSocket的步骤,并重点讲解了常用的使用方法,包括简单消... 目录一、WebSocket基础概念1.1 什么是WebSocket1.2 WebSocket与HTTP