赞
踩
传感器方案: 5 Lidar(64线束)和5高分辨率针孔相机。限制了LiDAR数据范围,并且每个激光脉冲有两个回波(双回波)。相机图像是通过卷帘快门扫描捕获的,其中确切的扫描模式可能因场景而异, 所有相机图像都将进行降采样并从原始图像中裁剪出来
数据量和场景: Motion数据集有100000段总计超过200000000帧的数据,但是好像只有激光雷达采集的数据和对应的地图还原结果, 标签为Vehicles, Pedestrians, Cyclists三类(使用VPN)
(1) 数据集文件格式为tfrecord, 是tensorflow的一种格式
(2) 一个trrecord包含199帧数据, 是连续时间段的数据帧, 采样频率10Hz, 近似有20s数据
(3) 一帧中包含了车上所有传感器的数据以及相应的label
(4) 一个tfrecord包含多条scenario, scenario是一条数据的最小单元,
(5) 数据格式包含在scenario中, 使用scenario.proto进行描述
(6) scenario代表一个场景, 也就是一段时间内的交通信息,包括自车和其它的交通参与者,以及交通灯在20s内的轨迹和状态,同时还包括了道路信息
(7) scenario每个场景包含9秒91帧数据, 其中历史10帧, 当前1帧, 未来80帧, 在轨迹预测或其他任务中一般使用1s历史数据预测8s未来数据; 也可以根据实验用途从20s数据中自己切分数据
waymo motion数据的结构如图:
接下来我们详细介绍scenario.proto和map.proto地图格式
一个场景中的特征主要分为三个部分
Scenario结构
message Scenario { reserved 9; // 场景ID optional string scenario_id = 5; // 时间戳数组.与追踪目标tracks和红绿灯状态数组大小相等 repeated double timestamps_seconds = 1; // 当前时间在时间戳数组中的index, 在此之前的为历史数据,在此之后的为预测数据 optional int32 current_time_index = 10; // scenario内所有追踪目标; tracks[i].states[j]表示第i个目标在j时刻的状态 repeated Track tracks = 2; // scenario的动态地图状态, 这里主要指交通灯信息; 和时间戳数组大小相等, dynamic_map_states[i]表示i时刻的交通灯信息 repeated DynamicMapState dynamic_map_states = 7; // scenario的静态地图特征, 如lane/road/crosswalk/driveway等静态地图 repeated MapFeature map_features = 8; // 自车在目标tracks里的索引 optional int32 sdc_track_index = 6; // 与自车有交互行为的目标ID列表; 这些ID对应tracks里的id repeated int32 objects_of_interest = 4; // 需要预测的目标列表,这只是建议train的目标,不是包含所有目标 repeated RequiredPrediction tracks_to_predict = 11; // 每个时间步的lidar数据列表; 包含当前时间步之前的lidar数据, 即timestamps_seconds[i] where i <= current_time_index; 不是所有版本中均有此字段 repeated CompressedFrameLaserData compressed_frame_laser_data = 12; }
数据结构:Track
message Track { enum ObjectType { TYPE_UNSET = 0; // This is an invalid state that indicates an error. TYPE_VEHICLE = 1; TYPE_PEDESTRIAN = 2; TYPE_CYCLIST = 3; TYPE_OTHER = 4; } // 被追踪的目标ID, 非负 optional int32 id = 1; // 目标类型 optional ObjectType object_type = 2; // 目标states,包括位置速度信息等 repeated ObjectState states = 3; }
数据结构:ObjectState
message ObjectState { // Coordinates of the center of the object bounding box. optional double center_x = 2; optional double center_y = 3; optional double center_z = 4; // The dimensions of the bounding box in meters. optional float length = 5; optional float width = 6; optional float height = 7; // 目标朝向, 取值[-pi, pi] optional float heading = 8; // 速度m/s,和目标朝向heading可能有差异 optional float velocity_x = 9; optional float velocity_y = 10; // state状态数据是否有效, False表示数据无效或丢失 optional bool valid = 11; }
数据结构:DynamicMapState
message DynamicMapState {
// 在该时间步能观察到的所有红绿灯列表
repeated TrafficSignalLaneState lane_states = 1;
}
数据结构:TrafficSignalLaneState
message TrafficSignalLaneState {
// 被该交通灯控制的lane id
optional int64 lane = 1;
enum State {
LANE_STATE_UNKNOWN = 0;
// 箭头交通灯信号
LANE_STATE_ARROW_STOP = 1
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。