自动驾驶数据集 - kitti 和 NuScene
最编程
2024-03-20 14:46:30
...
自动驾驶数据集
1.Kitti数据集
数据集用于评测立体图像(stereo),光流(optical flow),视觉测距(visual odometry),3D物体检测(object detection)和3D跟踪(tracking)
数据集构建过程:
1.kitti数据集采集车硬件和采集方案
摄像机和激光雷达通过硬件同步实现时间同步
2.标定文件解析: 相机calib.txt
3.数据预处理-标注文档
4.目标检测数据集标注格式
5.数据集汇总以及可视化
6.算法应用数据集
2.nuScenes
地点: 数据采集主要在波士顿和新加坡进行,
设备:用于采集的车辆装备了1个旋转雷达(spinning LIDAR)
,5个远程雷达传感器(long range RADAR sensor)
和6个相机(camera
6个相机、1个激光雷达、5个毫米波雷达、以及GPS和IMU
数据集构成
场景,
每个场景都是一段20s视频拆帧之后的照片集。
但同时标注也比较分散,划分了很多的数据表,每个表存为一个json文件
sensor.json
token channel modality
保存所有传感器的数据表,包含一些简单的传感器类
calibrated_sensor.json
相机的标定信息,包括了外参和内参
ego_pose.json
scene.json
850段场景视频,每个场景20s
车会在一个scene中持续走一段时间然后获取数据,而在这一段时间内,会每隔0.5秒对此时的scene进行标注,此时的这个scene就叫sample
sample里面肯定包含很多目标,这些目标就是sample_annotation。
车的传感器一直都是运作的,而这个时间点的传感器获取的数据就是sample_data
map.json
category.json
(1)token: 唯一标识;(2)name:物体类别名称 ;(3)description :类别详细描述。
物体类别一共有23类,涵盖了行人、汽车、楼房、动物
attribute.json
token name description
属性一共有8种
visibility.json
instance.json
sample.json
an annotated keyframe of a scene at a given timestamp
sample_annonation.json
sample_data.json
image_annotations.json
lidarseg
log
数据说明
场景
bag-鲁-002 --山东青岛--高速--白天晴天--bag_01, 持续时间30秒,标注的数据量
bag-苏-002 --江苏苏州--城区--夜间雨天
bag-浙-002 --浙江宁波--停车场--白天雨天
bag-徽-002 --安徽芜湖--
综合-数据采集--数据预处理--标注文档-标注平台-标注结果 设计数据产品
Waymo Open Data
Abstract
整个数据集包含1150个场景,每个场景时长为20秒,且LiDAR和Camera是经过同步和标定处理过的
五个LiDAR和五个高分辨率针孔相机完成。 限制了LiDAR数据范围,并且每个激光脉冲有两个回波(双回波)
Waymo Open数据集包含1150个场景,每个场景由以10Hz(即每秒10帧,因此每个场景200帧)捕获的20秒数据组成。数据集中的每个数据帧包括来自LiDAR设备的3D点云、
来自五个相机(位于前、左前、右前、左侧面和右侧面)的图像,
以及分别在LiDAR点云和相机图像中标注的GT 3D和2D边界框
motion数据集下载下来的文件为tfrecord格式
一个tfrecord文件中包含20s的连续驾驶画面,具有199帧数据,是连续时间段的数据帧,一帧中包含了车上所有传感器的数据以及相应的label
Scenario代表一个场景,也就是一段时间内的交通情况,包括自动驾驶车自身,其它的交通参与者(车辆、行人),
以及交通灯在20s内的轨迹和状态,同时还包括了道路信息
scenario.proto文件
参考
自动驾驶开发者说 | 数据集 | 如何使用KITTI数据? https://zhuanlan.zhihu.com/p/430490776
https://www.nuscenes.org/nuscenes#data-format
推荐阅读
-
位、字节、WORD、DWORD 的区别和联系 - Unicode 和 ANSI 的区别就像输入法中 "全宽 "和 "半宽 "的区别一样。 由于不同的 ANSI 编码有不同的标准(不同的字符集),对于给定的多字节字符串,我们必须知道它使用的是哪种字符集,才能知道它包含哪些 "字符"。对于 UNICODE 字符串来说,无论环境如何,它所代表的 "字符 "内容始终是相同的。Unicode 有一个统一的标准,定义了世界上大多数字符的编码,因此拉丁文、数字、简体中文、繁体中文和日文都可以存储在一个编码中。统一码是一个统一的标准,定义了世界上大多数字符的编码。 比特(Bit)和字节(Byte)的区别:例如USB2.0 标准接口的传输速率为 480Mbps,有一些人误认为是每秒 480 兆比特,同样网络带宽为 2MB,就容易误认为是每秒 2 兆比特。其实,480Mbps 应该是 480 兆比特/秒或 480 兆字节/秒,它等于 "60 兆字节/秒";同样,2MB,应该是 256 兆字节/秒。 Bit 和 Byte 译为 "比特",都是数据计量单位,比特="位 "或 "比特"。 Byte = 字节,即 1byte = 8bits,两者的换算关系为 1:8。 Mbps = mega bits per second(兆位/秒)是速率单位,因此 2M 带宽应为 2 兆位/秒,即 2MBps。MB = 兆字节(Megabytes,兆字节)是单位量,1MB/S(兆字节/秒)= 8MBPS(兆字节/秒)。 通常所说的硬盘容量是指 40GB、80GB、100GB,其中的 B 是指 Byte 也称为 "字节"。 1 KB=1024 字节 1 MB=1024 KB=1024*1024 字节 1 GB=1024 MB=1024*1024*1024 字节 例如,以前所谓的 56KB MODEM 转换过来的 56KBps 除以 8 就是 7Kbyte,所以真正从网上下载文件存在硬盘上的速度也是每秒 7Kbyte;也就是说,用 B 表示传输速度一般指 Bit;用 B 表示容量一般指 Byte。比特、字节、WORD、DWORD 的本质。
-
有关深度学习图像数据集的关键问题和注意事项
-
在 Python 中查看数据的维数 python 查看数据集的维数和大小
-
正负偏差变量 即 d2+、d2- 分别表示决策值中超出和未达到目标值的部分。而 di+、di- 均大于 0 刚性约束和目标约束(柔性目标约束有偏差) 在多目标规划中,>=/<= 在刚性约束中保持不变。当需要将约束条件转换为柔性约束条件时,需要将 >=/<= 更改为 =(因为已经有 d2+、d2- 用来表示正负偏差),并附加上 (+dii-di+) 注意这里是 +di、-di+!之所以是 +di,-di+,是因为需要将目标还原为最接近的原始刚性约束条件 优先级因素和权重因素 对多个目标进行优先排序和优先排序 目标规划的目标函数 是所有偏差变量的加权和。值得注意的是,这个加权和都取最小值。而 di+ 和 dii- 并不一定要出现在每个不同的需求层次中。具体分析需要具体问题具体分析 下面是一个例子: 题目中说设备 B 既要求充分利用,又要求尽可能不加班,那么列出的时间计量表达式即为:min z = P3 (d3- + d3 +) 使用 + 而不是 -d3 + 的原因是:正负偏差不可能同时存在,必须有 di+di=0 (因为判定值不可能同时大于目标值和小于目标值),而前面是 min,所以只要取 + 并让 di+ 和 dii- 都为正值即可。因此,得出以下规则: 最后,给出示例和相应的解法: 问题:某企业生产 A 和 B 两种产品,需要使用 A、B、C 三种设备。下表显示了与工时和设备使用限制有关的产品利润率。问该企业应如何组织生产以实现下列目标? (1) 力争利润目标不低于 1 500 美元; (2) 考虑到市场需求,A、B 两种产品的生产比例应尽量保持在 1:2; (3)设备 A 是贵重设备,严禁超时使用; (4)设备 C 可以适当加班,但要控制;设备 B 要求充分利用,但尽量不加班。 从重要性来看,设备 B 的重要性是设备 C 的三倍。 建立相应的目标规划模型并求解。 解:设企业生产 A、B 两种产品的件数分别为 x1、x2,并建立相应的目标计划模型: 以下为顺序求解法,利用 LINGO 求解: 1 级目标: 模型。 设置。 variable/1..2/:x;! s_con_num/1...4/:g,dplus,dminus;!所需软约束数量(g=dplus=dminus 数量)及相关参数; s_con(s_con_num);! s_con(s_con_num,variable):c;!软约束系数; 结束集 数据。 g=1500 0 16 15. c=200 300 2 -1 4 0 0 5; 结束数据 min=dminus(1);!第一个目标函数;!对应于 min=z 的第一小部分;! 2*x(1)+2*x(2)<12;!硬约束 @for(s_con_num(i):@sum(variable(j):c(i,j)*x(j))+dminus(i)-dplus(i)=g(i)); !使用设置完成的数据构建软约束表达式; ! !软约束表达式 @for(variable:@gin(x)); !将变量约束为整数; ! 结束 此时,第一级目标的最优值为 0,第一级偏差为 0: 第二级目标: !求 dminus(1)=0,然后求解第二级目标。 模型。 设置。 变量/1..2/:x;!设置:变量/1..2/:x; ! s_con_num/1...4/:g,dplus,dminus;!软约束数量及相关参数; s_con(s_con_num(s_con_num));! s_con(s_con_num,variable):c;! 软约束系数; s_con(s_con_num,variable):c;! 结束集 数据。 g=1500 0 16 15; c=200 300 2 -1 4 0 0 5; 结束数据 min=dminus(2)+dplus(2);!第二个目标函数 2*x(1)+2*x(2)<12;!硬约束 @for(s_con_num(i):@sum(variable(j):c(i,j)*x(j))+dminus(i)-dplus(i)=g(i)); ! 软约束表达式;! dminus(1)=0; !第一个目标结果 @for(variable:@gin(x)); ! 结束 此时,第二个目标的最优值为 0,偏差为 0: 第三目标 !求 dminus(2)=0,然后求解第三个目标。 模型。 设置。 变量/1..2/:x;!设置:变量/1..2/:x; ! s_con_num/1...4/:g,dplus,dminus;!软约束数量及相关参数; s_con(s_con_num(s_con_num));! s_con(s_con_num,variable):c;! 软约束系数; s_con(s_con_num,variable):c;! 结束集 数据。 g=1500 0 16 15; c=200 300 2 -1 4 0 0 5; 结束数据 min=3*dminus(3)+3*dplus(3)+dminus(4);!第三个目标函数。 2*x(1)+2*x(2)<12;!硬约束 @for(s_con_num(i):@sum(variable(j):c(i,j)*x(j))+dminus(i)-dplus(i)=g(i)); ! 软约束表达式;! dminus(1)=0; !第一个目标约束条件; ! dminus(2)+dplus(2)=0; !第二个目标约束条件 @for(variable:@gin(x));! 结束 最终结果为 x1=2,x2=4,dplus(1)=100,最优利润为
-
开源 UnitEval - 为人工智能辅助编程和代码模型微调评估构建高质量数据集
-
终于鼓起勇气给论文作者发邮件,索要数据集和代码
-
目标检测 - 食品和饮料数据集
-
数据共享|全球 30 米分辨率森林覆盖和变化数据集
-
立体视觉:合成数据集的解析和工具
-
NBT|45 单细胞轨迹推断方法、110 个实际数据集和 229 个合成数据集的比较