OpenLane-V2数据集

本文详细介绍了OpenLane-V2数据集的结构,包括来自nuScenes和Argoverse的数据源,其包含多视角图像、内外参、真值如车道中心线、信号灯和道路标志等。OpenLane-V2的真值结构展示了不同传感器的数据组织,以及用于训练和验证的车道线标注方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、简介

真值时间戳=前视摄像头时间戳

数据集来源:nuScenes 、Argoverse

数据集结构:

图像:各视角图像、内外参

真值:车道中心线、车道线、空中元素(信号灯,道路标志)、ego pose

 OpenDataLab 引领AI大模型时代的开放数据平台

OpenLane-V2/data/README.md at master · OpenDriveLab/OpenLane-V2 · GitHub

二、OpenLane-V2真值结构:

{"version":"OpenLaneV2_V1.0",   ##string类型
 "segment_id":"00000",          ##string类型
 "meta_data":{"source":"ArgoverseV2","source_id":""},
 "timestamp":cam_front_center_timestamp,    ##float类型,18位
 "sensor":{"ring_front_center":{"image_path":"",  ##string类型,相对路径“train/00000/image/ring_front_center/315967376899927209.jpg”
                                "extrinsic":{"rotation":[],     ##3x3矩阵,区别于nuscenes数据集(四元数1x4)
                                             "translation":[]   ##1x3
                                            },  ##sensor2ego
                                "intrinsic":{"K":[],   ##3x3
                                             "distortion":[]  ##1x3
                                            } 
                                },  ##三个参数
            "ring_front_left":{},
            "ring_front_right":{},
            "ring_rear_left":{},
            "ring_rear_right":{},
            "ring_side_left":{},
            "ring_side_right":{}},  ##7个视角
  "pose":{"rotation":[],  ##3x3矩阵,ego pose
          "translation":[]  ##1x3矩阵
         },
  "annotation":{}  ##真值
  }

其中真值annotation分两种:

(1)一种为只包含了车道中心线:

{"lane_centerline":[{"id":"",
                     "points":[],  ##nx3,3D坐标
                     "is_intersection_or_connector":True,confidence?
                     },...],
 "traffic_element":[{"id":"",
                     "category":1, ##int类型
                     "attribute":0,  ##int类型
                     "points":[]  ##2x2
                     },...],
 "topology_lclc":[],  ##40x40[n,n]
 "topology_lcte":[],  ##40x2[n,k]
}

(2)另一种为Map Element Bucket:包含了车道中心线以及中心线左右的车道线以及其他属性Map Element Bucket--替代OpenLane-V2真值结构中annotation对应的值

{
    'lane_segment': [                       (i lane segments in the current frame)
        {   
            'id':                           <int> -- unique ID in the current frame
            'centerline':                   <float> [n, 3] -- 3D coordiate
            'left_laneline':                <float> [n, 3] -- 3D coordiate
            'left_laneline_type':           <int> -- type of the left laneline
                                                0: 'none',
                                                1: 'solid',
                                                2: 'dash',
            'right_laneline':               <float> [n, 3] -- 3D coordiate
            'right_laneline_type':          <int> -- type of the right laneline
            'is_intersection_or_connector': <bool> -- whether the lane segment is in a intersection or connector
            'confidence':                   <float> -- confidence, only for prediction
        },
        ...
    ],
    'traffic_element': [                    (j traffic elements in the current frame)
        {   
            'id':                           <int> -- unique ID in the current frame
            'category':                     <int> -- traffic element category
                                                1: 'traffic_light',
                                                2: 'road_sign',
            'attribute':                    <int> -- attribute of traffic element
                                                0:  'unknown',
                                                1:  'red',
                                                2:  'green',
                                                3:  'yellow',
                                                4:  'go_straight',
                                                5:  'turn_left',
                                                6:  'turn_right',
                                                7:  'no_left_turn',
                                                8:  'no_right_turn',
                                                9:  'u_turn',
                                                10: 'no_u_turn',
                                                11: 'slight_left',
                                                12: 'slight_right',
            'points':                       <float> [2, 2] -- top-left and bottom-right corners of the 2D bounding box
            'confidence':                   <float> -- confidence, only for prediction
        },
        ...
    ],
    'area': [                               (k areas in the current frame)
        {   
            'id':                           <int> -- unique ID in the current frame
            'category':                     <int> -- area category
                                                1: 'pedestrian_crossing',
                                                2: 'road_boundary',
            'points':                       <float> [n, 3] -- 3D coordiate
            'confidence':                   <float> -- confidence, only for prediction
        },
        ...
    ],
    'topology_lsls':                        <float> [n, n] -- adjacent matrix among lane segments
    'topology_lste':                        <float> [n, k] -- adjacent matrix between lane segments and traffic elements
}

这两种表达中的3D点均为ego坐标系下的点:The data are in the ego coordinate system, where the ego is at (0, 0), with x-forward and y-left,其中ego坐标系中x向前,y向左。question about creating my own dataset · Issue #100 · OpenDriveLab/OpenLane-V2 · GitHub

 (3)交通元素枚举:

{"category"'":{1: 'traffic_light',
            2: 'road_sign'},
"attribute":{0:  'unknown',
             1:  'red',
             2:  'green',
             3:  'yellow',
             4:  'go_straight',
             5:  'turn_left',
             6:  'turn_right',
             7:  'no_left_turn',
             8:  'no_right_turn',
             9:  'u_turn',
             10: 'no_u_turn',
             11: 'slight_left',
             12: 'slight_right'}
}

三、相关路径

(1)评定数据格式:

https://github.com/OpenDriveLab/OpenLane-V2/blob/master/docs/submission.md

 (2)数据集下载:

https://github.com/OpenDriveLab/OpenLane-V2/blob/master/data/README.md

(3)Devkit使用:

  • Centerline:

OpenLane-V2/tutorials/Centerline.ipynb at master · OpenDriveLab/OpenLane-V2 · GitHub

  • LaneSegment:

OpenLane-V2/tutorials/LaneSegment.ipynb at master · OpenDriveLab/OpenLane-V2 · GitHub

(4)生成pickle文件

OpenLane-V2/data/OpenLane-V2/preprocess.py at master · OpenDriveLab/OpenLane-V2 · GitHub

四、验证

from openlanev2.lanesegment.evaluation.evaluate import evaluate
res = evaluate(ground_truth='./data_dict_sample_train_ls.pkl',
                   predictions='./submission.pkl')

submission中车道线点集必须为numpy格式,否则会报错: AttributeError: 'list' object has no attribute 'ndim'。计算精度时会做判断。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值