目前,全球主流的自动驾驶测试数据集包括Cityscapes、Imagenet(ILSVRC)、COCO、PASCAL VOC、CIFAR、MNIST、KITTI、LFW等。
KITTI是由德国卡尔斯鲁厄理工学院和丰田芝加哥技术研究院于2012年联合创办,是目前国际上最大的自动驾驶场景下的计算机视觉算法评测数据集。
KITTI用于评测3D目标(机动车、非机动车、行人等)检测、3D 目标跟踪、道路分割等计算机视觉技术在车载环境下的性能。
KITTI包含市区、乡村和高速公路等场景采集的真实图像数据,每张图像中多达15辆车和30个行人,还有各种程度的遮挡。
1、Visual Odometry / SLAM Evaluation 2012 ——22GB
http://www.cvlibs.net/datasets/kitti/eval_odometry.php
修订:20200410
Camera: x = right, y = down, z = forward •
Velodyne: x = forward, y = left, z = up
GPS/IMU: x = forward, y = left, z = up
表示法:在下面,我们用小写字母( a)写标量,用bold lower-case 小写字母( a )写矢量,并使用粗体大写字母(A)写矩阵。
将点从坐标系a转换到坐标系b的3D刚体变换将用Tab表示,其中T表示“变换”。
时间戳记存储在timestamps.txt中,而每帧传感器读数在相应的数据子文件夹中提供。 timestamps.txt中的每一行都由以小时,分钟和秒为单位的日期和时间组成。
由于Velodyne激光扫描仪具有“旋转快门”,为此传感器提供了三个时间戳文件
一个用于laser旋转的开始位置(timestamps_start.txt),
一个用于laser旋转的结束位置(timestamps_end.txt),
在这段时间内,laser 朝前并触发camera相机(timestamps.txt)。
A.同步为了同步传感器,我们使用Velodyne 3D激光扫描仪的时间戳作为参考,并将每次旋转视为一帧。
我们在连续旋转的扫描仪底部安装了一个簧片触点,当面向前方时会触发相机。
这样可以最大程度地减少由动态物体引起的距离和图像观察差异。 不幸的是,GPS / IMU系统无法以这种方式同步。
取而代之的是,由于它提供了100 Hz的更新,因此我们针对特定帧收集了与激光扫描仪时间戳最接近的时间戳信息,从而导致GPS / IMU与相机/ Velodyne数据包之间的最差时间差为5 ms。
注意,提供所有时间戳,以便可以随时通过插值轻松获得定位信息。 所有时间戳都已使用系统时钟记录在我们的主机上。
B.摄像机校准为了对摄像机进行内在和外在校准,
我们使用[11]中提出的方法。
A. Geiger, F. Moosmann, O. Car, and B. Schuster, “A toolbox for automatic calibration of range and camera sensors using a single shot,” in ICRA, 2012.
请注意,所有相机中心均对齐,即它们位于同一x / y平面上。
这很重要,因为它使我们可以共同校正所有图像。
Here, i ∈{0,1,2,3} is the camera index, where 0 represents the left grayscale, 1 the right grayscale, 2 the left color and 3 the right color camera.
请注意,变量定义与OpenCV库兼容,
我们用来扭曲图像。
在处理同步和整流的数据集时,只有带有rect-下标的变量才是相关的。
请注意,由于枕形失真效应,图像已被裁剪,以使整流图像的尺寸小于原始尺寸1392×512像素。
a)图像:彩色和灰度图像均使用8位PNG文件进行无损压缩存储。 引擎盖和天空区域已被裁剪。 为了简化数据处理,我们还提供了经过整流的图像。 校正后图像的大小取决于校准参数,平均约为0.5 Mpx。 校正前的原始图像也可用。
校正后的(旋转)摄像机坐标中的3D点x =(x,y,z,1)T投影到第i个摄像机图像中的点y =(u,v,1)T的投影为
第i个投影矩阵。在此,bx(i)表示相对于参考摄像机0的基线(以米为单位)。
请注意,为了将参考相机坐标中的3D点x投影到第i个图像平面上的点y,
还必须考虑参考摄像机Rrect(0)的矫正旋转矩阵:
在这里,Rrect(0)通过添加第四行零行和列而被扩展为4×4矩阵,
并设置Rrect(0)(4,4)= 1。
b)OXTS(GPS / IMU):对于每一帧,我们在文本文件中存储30个不同的GPS / IMU值:地理坐标,包括高度,全球方向,速度,加速度,角速度,精度和卫星信息。
加速度和角速度都使用两个坐标系指定,
一个连接到车体(x,y,z)的位置,一个映射到该位置(f,l,u)的地球表面切线的位置。
我们不时遇到与OXTS设备的短暂通信中断(约1秒),为此我们对所有值进行线性插值并将最后3个条目设置为“ -1”以指示丢失的信息。 在dataformat.txt中提供了更多详细信息。 开发工具包中提供了转换实用程序。
相对于参考摄像机坐标系(摄像机0)
使用[11]初始化刚体变换
得到了套准的Velodyne激光雷达
接下来,我们优化了错误准则
基于50个手动选择的对应关系的欧几里得距离
以及针对KITTI双目基准测试中3个表现最佳的双目方法的视差误差的可靠度量[8]。
使用Metropolis-Hastings抽样进行了优化。
从Velodyne坐标到相机坐标的刚体转换givenin calib_velo_to_cam.txt:
相对于Velodyne激光雷达
套准GPS
首先用“∞”循环记录一个序列,并用ICP算法记录(未扭曲的)点云。
给定两条轨迹,该问题对应于可以使用标准工具解决的的hand-eye calibration problem 手眼校准问题[12]。
R. Horaud and F. Dornaika, “Hand-eye calibration,” IJRR, vol. 14, no. 3, pp. 195–210, 1995.
旋转矩阵Rvelo imu和平移矢量tvelo imu存储在calib_imu_to_velo.txt中。
IMU / GPS坐标中的3D点x被投影到第i张图像中的点y,如下所示:
c)Velodyne:为了提高效率,Velodyne扫描存储为浮点二进制文件,可使用提供的C ++或MATLAB代码轻松解析。
每个点都存储有其(x,y,z)坐标和一个附加的反射值(r)。
虽然每个扫描点的数量不是恒定的,但平均每个文件/帧的大小约为1.9 MB,相当于约120,000个3D点和反射值。 请注意,Velodyne激光扫描仪绕其垂直轴(逆时针)连续旋转,可以使用时间戳文件将其考虑在内
带C++ wrappers 的MATLAB演示代码,还有一个提供更多详细信息的readme.txt文件。
在运行脚本之前,
mex wrapper读取为’TrackletsMex.cpp,用于将Tracklet读取到MATLAB结构中,和单元格数组需要使用脚本make.m构建。
它包装了ctrack文件夹中的文件tracklets.h,该文件夹保存了tracklet对象以进行序列化。
在C ++环境中工作时,该文件也可以直接与之交互。
脚本run_demoTracklets.m演示了如何从XML文件读取3D边界框小轨迹。
并投影到摄像机的图像平面上。
在run_demoVelodyne.m中演示了3D Velodyne点云到图像平面的投影。 图示见图6。
脚本run_demoVehiclePath.m显示了如何使用GPS / IMU数据读取和显示3D车辆的轨迹。
它利用convertOxtsToPose()作为输入,将GPS / IMU测量值作为输入并输出车辆在欧几里得空间中的6D姿态。
对于此转换,我们使用Mercator projection
函数loadCalibrationCamToCam()可用于读取四个视频传感器的内部和外部校准参数。
可以使用loadCalibrationRigid()解析其他3D刚体转换。
除了原始数据外,我们的KITTI网站还为几种计算机视觉和机器人任务(如立体声,光学流,视觉里程表,SLAM,3D对象检测和3D对象跟踪)提供了评估基准。 有关基准和评估指标的详细信息,请读者参考
A. Geiger, P. Lenz, and R. Urtasun, “Are we ready for autonomous driving? The KITTI vision benchmark suite,” in CVPR, 2012.
Cityscapes是由奔驰与2015年推出的,提供无人驾驶环境下的图像分割数据集。用于评估视觉算法在城区场景语义理解方面的性能。
Cityscapes包含50个城市不同场景、不同背景、不同季节的街景,提供5000张精细标注的图像、20000张粗略标注的图像、30类标注物体。用PASCAL VOC标准的 intersection-over-union(IoU)得分来对算法性能进行评价。
Cityscapes是目前公认的自动驾驶领域内最具权威性和专业性的图像语义分割评测集之一,其关注真实场景下的城区道路环境理解,任务难度更高且更贴近于自动驾驶等热门需求。
ILSVRC也就是通常所说的Imagenet数据集,是美国斯坦福的计算机科学家李飞飞模拟人类的识别系统建立的。
它是目前深度学习图像领域应用较多的一个数据集,关于图像分类、定位、检测等研究工作大多基于此数据集展开。Imagenet数据集有1400多万幅图片,涵盖2万多个类别;其中有超过百万的图片有明确的类别标注和图像中物体位置的标注。
COCO(common objects Dataset)数据集,它由微软赞助,除了基本的图像的标注信息外,还有对图像的语义文本描述,COCO数据集的特点是开源,这使得它在近三来在图像分割语义理解领域取得了巨大的进展,Google的开源show and tell生成模型就是在此数据集上测试的。
PASCAL VOC是视觉对象的分类识别和检测的一个基准测试,提供了检测算法和学习性能的标准图像注释数据集和标准的评估系统。
虽然它在2012年后便不再举办,但其数据集图像质量好,标注完备,非常适合用来测试算法性能。
CIFAR(Canada Institude For Advanced Research)包括CIFAR 10和CIFAR 100两个数据集,它们被标记为8000万个微型图像数据集的子集。
这些数据集是由Vinod Nair、Alex Krizhevsky和Geoffrey Hinton收集的。CIFAR对于图像分类算法测试来说是一个非常不错的中小规模数据集。
MNIST(THE MNIST DATABASE of handwritten digits)号称深度学习领域的“Hello World!”,是一个手写的 数字数据集。当前主流深度学习框架几乎无一例外将MNIST数据集的处理作为介绍及入门第一教程。
它声称其规模和精确度超过了KITTI、百度的ApolloScape和Udacity自动驾驶汽车数据集等公共数据集。,是因为此次数据搜集使用了6个摄像头、1个激光雷达、 5个毫米波雷达、GPS及惯导系统,包括对于自动驾驶系统有挑战性的复杂道路、天气条件等。
https://www.nuscenes.org/
NuTonomy编辑了1000多个场景,其中包含140万幅图像、40万次激光雷达扫描(判断物体之间距离)和110万个三维边界框(用RGB相机、雷达和激光雷达组合检测的物体)。
使用两辆具有相同传感器布局的雷诺Zoe汽车在波士顿和新加坡开车,收集数据。有关传感器的位置,请参阅上图。传感器发布数据如下:
1x旋转激光雷达:
20Hz捕获频率
32个频道
360°水平视场,+ 10°至-30°垂直视场
80m-100m范围,可用返回70米,精度±2厘米
每秒高达~139百万点
5倍长距离雷达传感器:
用于77GHz
13Hz捕获频率
使用调频连续波在一个周期内独立测量距离和速度
距离最远250米
速度精度为±0.1 km / h
sa’n6x相机:
12Hz捕获频率
1 / 1.8英寸CMOS传感器,1600x1200分辨率
Bayer8格式,每像素1字节编码
1600x900 ROI从原始分辨率中裁剪,以减少处理和传输带宽
曝光时间限制为最大20 ms的自动曝光
图像被解压缩为BGR格式并压缩为JPEG
1.scene场景-汽车行程的20秒
2.sample-在特定时间戳记下场景的带注释的快照。
3.sample_data-从特定传感器收集的数据。
4.sample_annotation-我们感兴趣的对象的带注释实例。
5.instance-我们观察到的所有对象实例的枚举。
6.category-对象类别(例如车辆,人)的分类法。
7.attribute-实例的属性,在类别保持不变的情况下可以更改。
8.visibility-从6个不同的相机收集的所有图像中可见像素。
9.sensor-特定的传感器类型。
10.calibrated sensor -在特定车辆上校准的特定传感器的定义。
11.ego_pose-自我车辆在特定时间戳下摆姿势。
12.log-从中提取数据的日志信息。
13.map-从顶向下视图存储为二进制语义掩码的地图数据。
下载的数据的含义
samples - Sensor data for keyframes.关键帧的传感器数据。
sweeps - Sensor data for intermediate frames.中间帧的传感器数据。
maps - Folder for all map files: rasterized .png images and vectorized .json files.
v1.0-* - JSON tables that include all the meta data and annotations. Each split (trainval, test, mini) is provided in a separate folder.
Our map database consists of multiple layers. Where each layer is made up of records. Each record will have a token identifier.
地图数据包含多个语义层,每一个语义层组成了记录集合,记录集合有一个token ID。
Let us look more closely at the different map layers:
['polygon',
'line',
'node',
'drivable_area',
'road_segment',
'road_block',
'lane',
'ped_crossing',
'walkway',
'stop_line',
'carpark_area',
'road_divider',
'lane_divider',
'traffic_light']
将看到地图图层分为两种类型的图层。
1.geometric_layers在地图中定义几何实体:
2 non_geometric_layers表示地图中的物理实体physical entities in the map。
a. Node¶
地图数据库中最原始的几何记录。 这是唯一明确包含空间坐标的图层。
{‘token’: ‘fd8b8cb1-d457-4dc7-a999-c528feb6cac1’,
‘x’: 220.69979290704603,
‘y’: 922.5882595515009}
b. Line
定义一个或多个线的线序列,因此由两个或多个节点组成。
{‘token’: ‘19f89773-f466-4d21-a583-4a963e6fe042’,
‘node_tokens’: [‘ee2752d0-5fc9-495c-aa4b-fc24f703db1b’,
‘48b2f4ea-9781-4cf2-82ff-624267be98d6’,
‘9995a31d-089b-45f1-81ec-11925d17dbda’]}
c. Polygon
每个多边形记录都包含一个外部节点列表
sample_polygon['exterior_node_tokens'][:10]
['de837055-7009-42f2-80c7-cb224a9ce750',
'86ee21c3-4a35-4f0e-9286-57b4cde9a2df',
'ac4be197-c315-4233-98e0-d52007091090',
'3ae2328f-cf1d-4597-8cc6-c9ac9f28f3b5',
'3bb30867-05e0-4687-bd67-613ad5ad6476',
'507d041c-5a0a-439e-9fbe-e57556e02d93',
'19b5ae73-163a-47a7-b6f6-deea88d8d72f',
'c0eedac8-f7d0-44d1-becc-535183fbf496',
'9fe84337-f37d-4873-bd7b-be3922203a36',
'cb8ee715-d481-49d6-a6c7-c765afccdfd5']
['drivable_area',
'road_segment',
'road_block',
'lane',
'ped_crossing',
'walkway',
'stop_line',
'carpark_area',
'road_divider',
'lane_divider',
'traffic_light']
a. Drivable Area
可驾驶区域定义为汽车可以驾驶的区域,无需考虑驾驶方向或法律限制。
这是唯一的层可以由多个几何实体表示。
{'token': 'c3e28556-b711-4581-9970-b66166fb907d',
'polygon_tokens': ['fff7b0c9-1eaf-4988-afe3-e4e4607f85e3',
'd235013d-2a07-4181-9862-c666b49a79b4',
'0bbf311c-405d-433b-a097-7d9c292a9b87',
'b4dfb634-2721-42d9-aa5d-0f8ec9a2fa31',
'c4b4c925-6ddb-4e4b-a4ca-609e1ca626c2',
'a60970c7-86cd-4169-ae9a-b9b51e4ec950',
'1209379e-bc10-4d65-9fb1-0ee938032130']}
b. Road Segment道路分割
A segment of road on a drivable area可行驶区域上的路段.
It has an is_intersection flag
它具有is_intersection
标志,该标志指示特定的路段是否为十字路口。
It may or may not have an association with a drivable area record from its drivable_area_token field.
它可能与它的drivable_area_token字段相关联。
{'token': 'c11b37a4-bb92-4c54-8ac0-75afa7eb6b01',
'polygon_token': '1c5c6704-a63c-4d31-a197-ddf54bf0e3bb',
'is_intersection': True,
'drivable_area_token': 'c3e28556-b711-4581-9970-b66166fb907d',
'exterior_node_tokens': ['cf40c168-78a3-4e92-841e-53afd1421dff',
'120f0165-9a78-461e-8d01-6c40e4a1daed',
'dde4abe5-3b45-451c-a807-5221964bbf85',
'fd13d452-34fc-46ce-bdea-d1dc7e0eea45',
'6e1aa028-bd6f-4497-99b5-bff4d8be5bb6',
'3e418645-9141-4f0f-b55b-ad6dd30886b0',
'9745d563-f020-469d-869e-31329ce29d2a',
'f0e9d611-6409-43ea-a584-cecbd625c2d5',
'21ecdb76-4766-40b6-89a0-407942980c4f',
'0ee2e32a-2619-4809-9fb7-6d5157ba7fce',
'7941a2b7-a574-4026-8bda-8e45f4fc820d',
'7fee10d9-db36-4965-8bc0-375aef1c758b',
'aa6f17dc-a481-4f77-af25-d975c0a9a67a',
'a49f0333-7088-4ff2-b47f-fc7cd26ea185'],
'holes': []
}
As observed, for all non geometric objects
except drivable_area
, we provide a shortcut to its nodes
.
除drivable_area
以外的所有非几何对象
,提供了指向节点
。
如果渲染此路段,我们可以看到它确实是一个交叉点:
c. Road Block
一条道路的几个车道有相同的交通方向。
在一个Block内,车道数是一致的。
每个Block都有一个from_edge_line_token和to_edge_line_token来指示其交通方向。
{'token': '002d8233-c9bf-4a9b-9d53-be86cd6cf73f',
'polygon_token': '29fc4c78-75ae-4777-adab-f33d93591661',
'from_edge_line_token': 'b0d2163e-732b-4be6-b6f7-2add8b4c7e8f',
'to_edge_line_token': '7ce97362-1133-4c19-a73c-5cfa8f0d64f0',
'road_segment_token': '85a06614-958c-461f-bc11-6cadd68efa7d',
'exterior_node_tokens': ['46cf43f6-30ea-437e-83b3-42af3ce2783b',
'aca16135-79a1-4acd-a68f-3918c38d54be',
'ce31539b-d8c8-45a0-94df-3ac3a585225b',
'26704699-79a6-4d4c-8ca2-d65ffb3ac11b',
'2d0168af-7952-416d-8aff-7512130fb73d',
'e3fa777d-d87a-45f9-bd41-5364e3bb9dd2',
'bedec7db-1f55-4639-9826-ab8639ee250b',
'05243627-6e25-472d-af1f-aca0ff30b00c'],
'holes': []}
d. Lanes
Lanes are parts of the road where vehicles drive in a single direction.
车道是车辆在单个方向上行驶的道路部分。
{'token': 'a4d847f6-a86f-4261-aa71-1703ebacb9d7',
'polygon_token': '44e3bd22-71ee-40c4-99ba-1deaa3d708f1',
'lane_type': 'CAR',
'from_edge_line_token': '09e16919-92b5-4c51-815c-7eb974c436f3',
'to_edge_line_token': '5940a848-bb2b-4461-a1ce-75449c13027c',
'left_lane_divider_segments': [{'node_token': '412efe45-d46c-4068-87c5-f48d03500e96',
'segment_type': 'DOUBLE_DASHED_WHITE'},
{'node_token': 'f2033cb1-11a1-40f2-a40d-be561bdabba2',
'segment_type': 'DOUBLE_DASHED_WHITE'}],
'right_lane_divider_segments': [{'node_token': 'a2addcd9-2194-4d7f-925b-bbcb052cc17e',
'segment_type': 'DOUBLE_DASHED_WHITE'},
{'node_token': 'e572fcb6-bfa7-4166-a2af-86c47e354d5e',
'segment_type': 'DOUBLE_DASHED_WHITE'}],
'exterior_node_tokens': ['a2addcd9-2194-4d7f-925b-bbcb052cc17e',
'e572fcb6-bfa7-4166-a2af-86c47e354d5e',
'f2033cb1-11a1-40f2-a40d-be561bdabba2',
'412efe45-d46c-4068-87c5-f48d03500e96'],
'holes': [],
'left_lane_divider_segment_nodes': [{'token': '412efe45-d46c-4068-87c5-f48d03500e96',
'x': 203.67512955623954,
'y': 1197.3540106419273},
{'token': 'f2033cb1-11a1-40f2-a40d-be561bdabba2',
'x': 233.9395532705508,
'y': 1184.287688392046}],
'right_lane_divider_segment_nodes': [{'token': 'a2addcd9-2194-4d7f-925b-bbcb052cc17e',
'x': 202.48485660713,
'y': 1194.1229460115894},
{'token': 'e572fcb6-bfa7-4166-a2af-86c47e354d5e',
'x': 232.837857251253,
'y': 1181.5758846271376}]}
除了标记和几何表示之外,车道还具有几个字段:
e. Pedestrian Crossing 人行横道(斑马线)
人行横道(斑马线)是行人可以合法过马路的区域,通常以白色标记突出显示。
每个人行横道记录必须在路段上。
它具有road_segment_token字段,
表示与之关联的road_segment记录。
{'token': '027c4ccd-56c9-4980-9949-1d42bb36f23c',
'polygon_token': '62138b18-6dd1-4c1e-8f11-7a2c8d5783c8',
'road_segment_token': 'af7744d2-6dfe-4b9f-ab9a-58cc155f3f08',
'exterior_node_tokens': ['58cf4a19-d28e-44b1-b4c0-bc217e50da1e',
'0e3fda05-0936-4cbb-acbd-fc582750b3d3',
'6a0f7286-8e6d-4fb5-b874-c830f090a05a',
'0f45b051-0f14-469d-bde3-e8975b4d67cb'],
'holes': []}
F。 走道
人行道或人行道是通常靠近道路的区域,
在此区域,行人受到保护,免受道路上车辆的侵害。
{'token': '00a01743-8d10-41ca-849e-ef6a32bee77d',
'polygon_token': '17ff2a4b-a5c2-41d2-abf5-4a8aa07cb30f',
'exterior_node_tokens': ['e7aa76d5-8368-4749-900d-dd2cbb4971e6',
'c7187b86-fdb8-4eec-ba71-0f2c6ee0b57b',
'8bd36561-55ef-4ff6-ab55-583dc59f2b73',
'47db713d-fc9f-49bd-b5ba-6d89123f6357',
'442e2766-733f-4147-b1cf-4238de3b93e1',
'5a831f39-0352-4fcf-ab76-e696c9d5e651',
'ac7839a1-73ef-4f39-80f0-e32ee2d816ae',
'4434e104-1317-4bcd-bddf-ac0abb4e158c',
'1cc537c7-1b78-443a-8513-8894cb807c8a',
'85cff4b3-a56b-45e5-8e6b-880a73860696',
'9344380b-375f-480f-9877-aa75e21b7acd',
'6c5a6416-ab0c-4221-842a-bc5aa97da61b',
'60e66d85-c5c1-4d27-8d67-d5ce28c2dac1',
'68c442df-c38f-482e-b863-10afae9c69ce',
'519240d4-5c8c-45e6-8d85-5ec78eac43bf',
'f12f278c-e0ca-4c18-ab14-d6b259885687',
'95e6e737-310d-4a9a-99aa-02dc4365ff19',
'f69e2a9d-f43b-4a3d-834b-bc0de489caf5'],
'holes': []}
G。 停止线
物理世界的停止线,
尽管名称暗示它应该具有线形几何图形,但实际上,它的物理图形表达是自我车辆必须停下来的区域。
{'token': '00904b8f-3166-47b8-9cbb-30062caec0eb',
'polygon_token': '90102f73-9921-4d2a-8e07-148503868957',
'stop_line_type': 'TURN_STOP',
'ped_crossing_tokens': ['96748923-eabf-4142-8458-92ff580e997f'],
'traffic_light_tokens': [],
'road_block_token': '',
'exterior_node_tokens': ['a3e110de-2443-406f-bf54-ef9b4dc46939',
'e5d038c8-f964-4ae2-b498-9952496c801f',
'bbec1377-0e20-4888-9f79-2a1aa50b3b88',
'37a078fa-2804-412e-b8b9-682fe21ad8be',
'50597561-e04f-4ea1-894a-cfd2c212aef0',
'b05b2d23-3a12-493d-9d8d-e57f4f8ddc60'],
'holes': [],
'cue': [{'token': '96748923-eabf-4142-8458-92ff580e997f',
'polygon_token': 'f8a39c38-1d04-4dc0-9e35-f63966e56250',
'road_segment_token': '6ea9d0a6-65e7-4038-ae50-4fb89a4c296d',
'exterior_node_tokens': ['7931be00-b6a7-437d-9335-e4314dbe47b4',
'1f6f7c4a-27a2-4a18-96bd-fe597546440f',
'a28f6633-a23e-44f6-8355-0c06df42005e',
'235431b5-9f71-452d-a3b2-bdeaaa44aa41'],
'holes': []}]}
它具有几个属性:
stop_line_type
,停止线的类型,它表示自我车辆停止的原因stop_line_type
为PED_CROSSING
,是ped_crossing_tokens关联信息stop_line_type
为TRAFFIC_LIGHT
,是traffic_light_tokens关联信息road_block_token
表示与road_block的关联信息,默认情况下可以为空。cues
字段包含此记录为何为stop_line的原因。 由于多种原因,一个区域可能是停靠线:
PED_CROSSING
或TURN_STOP
的stop_line_type的提示是ped_crossing记录。TRAFFIC_LIGHT
的stop_line_type的提示”是traffic_light记录。"STOP_SIGN" or "YIELD"
.不是stop_line_type的提示的停止信号h. Carpark Area¶
A car park or parking lot area.停车区
{'token': '0a711883-2477-4eb5-aef8-cc9ad3e3158a',
'polygon_token': 'eca315c8-cfb7-4759-a91a-d148d08ef2eb',
'orientation': 2.5073506567369885,
'road_block_token': '2b60cc1b-0882-4ef3-8207-f7cb3561aff9',
'exterior_node_tokens': ['0043375d-b853-4149-94a5-3ca6c984e3d8',
'5aa572e1-1848-4739-bbd8-f5934fb3e1ea',
'5419cf3e-9e02-4683-adae-fe0dcd948644',
'ba9efc27-c461-402f-a172-e451e92ef7c8'],
'holes': []}
它具有几个属性:
i. Road Divider(不同行车区域,例如双向车道)
A divider that separates one road block from another.道路区域分割线
{'token': '00bbfc65-0b44-4b4c-b517-6d87dc02529c',
'line_token': '98c91318-5854-41ac-9210-001b57b8185f',
'road_segment_token': 'b1ed2f76-bfcd-4b0c-b367-7a20cf707b95',
'node_tokens': ['4e2605d4-b9f4-41f9-a03c-032c8d4a3c24',
'1cbbdda6-5ee6-4b4d-8bcc-30af18094978']}
road_segment_token saves the association information to a road_segment.
j. Lane Divider
A lane divider comes between lanes that point in the same traffic direction.在指向相同交通方向的车道之间有一个车道分隔线。
{'token': '00569b72-a7dc-4cdf-9bf3-7f3583c6dbae',
'line_token': '9ac741dc-20b5-44f3-9f0a-41e371a722ee',
'lane_divider_segments': [{'node_token': '57d546eb-682c-4540-871c-2e8d6a67f2de',
'segment_type': 'DOUBLE_DASHED_WHITE'},
{'node_token': 'fef2c634-7096-4b48-bf87-6575d2a67b56',
'segment_type': 'DOUBLE_DASHED_WHITE'},
{'node_token': '153990f1-b0da-4243-a065-e4a99d29e180',
'segment_type': 'DOUBLE_DASHED_WHITE'},
{'node_token': '8ad3000f-c1e9-4eda-8bf1-c5f64a879c54',
'segment_type': 'NIL'}],
'node_tokens': ['57d546eb-682c-4540-871c-2e8d6a67f2de',
'fef2c634-7096-4b48-bf87-6575d2a67b56',
'153990f1-b0da-4243-a065-e4a99d29e180',
'8ad3000f-c1e9-4eda-8bf1-c5f64a879c54']}
The lane_divider_segments field consist of different nodes and their respective segment_types which denotes their physical appearance
lane_divider_segments字段由不同的节点及其各自的segment_type组成,
是物理的外观属性
k. Traffic Light
A physical world’s traffic light.
{'token': '00590fed-3542-4c20-9927-f822134be5fc',
'line_token': '5bffb006-bce8-44a4-a466-5580f1d748fd',
'traffic_light_type': 'VERTICAL',
'from_road_block_token': '71c79c48-819c-4b17-ad28-2a9e82ba1596',
'items': [{'color': 'RED',
'shape': 'CIRCLE',
'rel_pos': {'tx': 0.0,
'ty': 0.0,
'tz': 0.632,
'rx': 0.0,
'ry': 0.0,
'rz': 0.0},
'to_road_block_tokens': []},
{'color': 'YELLOW',
'shape': 'CIRCLE',
'rel_pos': {'tx': 0.0,
'ty': 0.0,
'tz': 0.381,
'rx': 0.0,
'ry': 0.0,
'rz': 0.0},
'to_road_block_tokens': []},
{'color': 'GREEN',
'shape': 'CIRCLE',
'rel_pos': {'tx': 0.0,
'ty': 0.0,
'tz': 0.13,
'rx': 0.0,
'ry': 0.0,
'rz': 0.0},
'to_road_block_tokens': []},
{'color': 'GREEN',
'shape': 'RIGHT',
'rel_pos': {'tx': 0.0,
'ty': -0.26,
'tz': 0.13,
'rx': 0.0,
'ry': 0.0,
'rz': 0.0},
'to_road_block_tokens': ['bd26d490-8822-469b-ae60-74f6c0c9e1cb']}],
'pose': {'tx': 369.2207339994191,
'ty': 1129.3945093980494,
'tz': 2.4,
'rx': 0.0,
'ry': 0.0,
'rz': -0.6004778487510373},
'node_tokens': ['8e483ef5-75e5-417a-bc78-fa7750297fb1',
'78a4b686-3207-48fa-ae2a-d5f875e0ee37']}
它具有几个属性:
1.traffic_light_type表示交通信号灯是水平方向还是垂直方向。
2.from_road_block_tokens表示交通灯从哪个道路引导。
3.items
是该交通信号灯的灯泡属性(‘color’: ‘RED’, ‘shape’: ‘CIRCLE’, ‘rel_pos’,to_road_block_tokens)。
4.pose表示交通信号灯的姿势。
Let’s examine the items
field
[{'color': 'RED',
'shape': 'CIRCLE',
'rel_pos': {'tx': 0.0,
'ty': 0.0,
'tz': 0.632,
'rx': 0.0,
'ry': 0.0,
'rz': 0.0},
'to_road_block_tokens': []},
{'color': 'YELLOW',
'shape': 'CIRCLE',
'rel_pos': {'tx': 0.0,
'ty': 0.0,
'tz': 0.381,
'rx': 0.0,
'ry': 0.0,
'rz': 0.0},
'to_road_block_tokens': []},
{'color': 'GREEN',
'shape': 'CIRCLE',
'rel_pos': {'tx': 0.0,
'ty': 0.0,
'tz': 0.13,
'rx': 0.0,
'ry': 0.0,
'rz': 0.0},
'to_road_block_tokens': []},
{'color': 'GREEN',
'shape': 'RIGHT',
'rel_pos': {'tx': 0.0,
'ty': -0.26,
'tz': 0.13,
'rx': 0.0,
'ry': 0.0,
'rz': 0.0},
'to_road_block_tokens': ['bd26d490-8822-469b-ae60-74f6c0c9e1cb']}]
如上所述,项目字段中的每个条目都是一个交通灯。 它具有颜色信息
,形状信息
,rel_pos(即相对位置
)和to_road_block_tokens(表示交通信号灯正在引导至哪个路
)。
从技术上讲,这些平台主要分为两类:
第一类是基于合成的数据,对环境、感知及车辆进行模拟,这里的感知大多数是图像层面的感知,这类模拟器主要用于感知、规划算法的初步开发上,Carla、AirSim、Udacity self-driving car simulator就属于这类;
第二类是基于真实数据的回放,这里的真实数据包括图像、lidar、radar等各种传感器的数据,这类模拟器主要用于测试无人驾驶中信息融合算法以及车辆不同部件的性能,Apollo和Autoware就属于这类。
参考:https://shenxiaohai.me/2018/02/20/autonomous-platforms/
。。
。。
项目地址:Welcome to Udacity’s Self-Driving Car Simulator
https://github.com/udacity/self-driving-car-sim
相关教程:Unity Simulator User Instructions
https://github.com/udacity/self-driving-car-sim#unity-simulator-user-instructions
。。
。。
2019-2020自动驾驶仿真产业链研究报告(上)MathWorks R2019b 版的 Automated Driving Toolbox 增加了 3D 仿真支持,实现 Simulink 模型与 Unreal Engine 中的摄像头、激光雷达或雷达传感器模型的集成仿真,可快速分割从激光雷达获取的 3D 点云数据。
2019年7月,Apollo平台迎来5.0版升级,新增车辆动力学模型。Apollo5.0将传统的车辆动力学建模方式升级到基于机器学习的Apollo动力学模型。 传统的建模方式在模型的复杂度、模型的精准度、模型的可迁移性、可扩展性等维度上都具有很多局限性。而基于机器学习的Apollo动力学模型具备模型复杂度高,模型精细度高等特点,据百度称与传统方式建模结果相对比在误差上能够减少80%。
仿真系统最先进的模拟方法是使用游戏引擎来创建驾驶场景。不过,由游戏引擎渲染得到的CG(计算机图像)和实景拍摄图在丰富性和真实性上还有差距,导致通过CG图像训练的自动驾驶算法在实景上效果下降。由美国马里兰大学与百度研究院以及香港大学合作开发的AADS系统,不仅能大大降低仿真系统的测试成本,还在真实性和扩展性方面实现了质的飞跃。
二、综合仿真平台及公司研究
2.1 仿真平台介绍
2.1.1 仿真平台的典型组成
2.1.2 传统仿真企业和IT企业在仿真平台的竞争
2.2 ANSYS
2.2.1 ANSYS公司简介
2.2.2 ANSYS收购OPTIS
2.2.3 ANSYS通过跨行业收购完善仿真行业产业链
2.2.4 ANSYS收购公司的背景
2.2.5 ANSYS 持续加大运营及研发投入
2.2.6 ANSYS 自动驾驶解决方案及产品
2.2.7 ANSYS收购OPTIS的意义
2.2.8 ANSYS 2019 R3
2.2.9 ANSYS SCADE
2.2.10 ANSYS 合作伙伴生态
2.2.11 ANSYS 合作动态
2.3 西门子
2.3.1 西门子的自动驾驶仿真布局
2.3.2 主要产品简介
2.3.3 西门子收购TASS
2.3.4 PreScan的功能特色
2.3.5 PreScan 的自动驾驶仿真应用
2.3.6 PreScan运行过程
2.3.7 PreScan支持的传感器类型和部分场景
2.3.8Prescan支持的外部工具和软件
2.3.9Prescan支持的场景来源
2.4 NVIDIA 仿真平台
2.4.1 NVIDIA Drive Constellation
2.4.2 NVIDIA Drive Constellation的特性
2.4.3 Drive Constellation与目标车辆的数据交互
2.4.4 DRIVE Constellation与DRIVE Sim
2.4.5 NVIDIA 仿真平台构成
2.4.6 广泛的合作伙伴网络
2.5 Gazebo
2.5.1 开源仿真平台Gazebo
2.5.2 Gazebo功能和使用
2.5.3 Gazebo的几大优点
2.6 Carla
2.6.1 Carla简介
2.6.2 Carla的不同场景搭建
2.6.3 Carla最新版本
2.6.4 Carla的功能亮点
2.7 中汽中心
2.7.1 中汽中心
2.7.2 中汽中心仿真平台
2.7.3 中汽中心场景平台
2.7.4 中汽中心与IPG共建驾驶场景仿真联合实验室
2.8 中国汽研
2.8.1 中国汽研布局仿真测试全平台工具链
2.8.2 i-Collector
2.8.3 i-Transfomer和i-Creator
2.8.4 ADAS HIL集成与测试服务
2.8.5 搭建自动驾驶仿真数据众包&测试服务云平台
2.9 百度Apollo分布式仿真平台
2.9.1 Apollo仿真平台
2.9.2 Apollo仿真引擎
2.9.3 ApolloScape
2.9.4 Apollo控制在环仿真
2.9.5 Apollo 车辆动力学模型仿真
2.9.6 AADS系统
2.9.7 AADS拥有的两大优势
2.9.8 Apollo仿真平台合作
2.10 腾讯TAD Sim
2.10.1 腾讯的自动驾驶布局
2.10.2 TAD Sim仿真平台
2.10.3 腾讯TAD Sim仿真平台的特点
2.10.4 TAD Sim仿真平台的高保真场景
2.10.5 TAD Sim仿真平台传感器仿真
2.10.6 对复杂路况的仿真
2.10.7 云加速仿真,车路协同仿真,三维城市重建
2.10.8 TAD Sim仿真平台的应用
2.11 Panosim
2.11.1 PanoSim 公司简介
2.11.2 主要产品
2.11.3主要客户
2.11.4 PanoSim基于物理模型和数值仿真
2.11.5 PanoSim 界面和功能
2.11.6 用PanoSim创建仿真实验的流程
2.11.7 PanoSim 3.0-新增雷达模型和GPS物理模型
2.11.8 PanoSim 3.0-V2X和真值传感器功能升级
2.11.9 PanoSim3.0 优化Simulink模型
2.12 AirSim
2.12.1 开源仿真模拟平台-AirSim
2.12.2 AirSim on Unity
2.12.3 AirSim仿真模拟器的特性
2.13 51World
2.13.1 51WORLD简介
2.13.2 51Sim-One
2.13.3 内置车辆动力学系统
2.13.4 51Sim-One的应用
2.13.5 自动驾驶仿真合作伙伴
2.13.6 51WORLD地球克隆计划
…
三、车辆动力学仿真研究
3.1 车辆动力学仿真简介
3.2 MATLAB/Simulink
3.2.1 Mathworks和Simulink简介
3.2.2 产品包
3.2.3 基于Simulink 的 AEB与FCW系统
3.2.4 ADST
3.2.5 Simulink 的各种模型
3.2.6 Driving Scenario Designer
3.2.7 Vehicle Dynamics Blockset
3.2.8 Vehicle Dynamics Blockset的主要模块
3.2.9 用于闭环仿真测试的案例
3.2.10 在Voyage的应用案例
3.2.11 最新特性