comma2k19数据集使用

news/2024/11/25 17:29:07/

1.数据集介绍

comma2k19是由comma.ai发布的自动驾驶数据集, 是加利福尼亚280高速公路上超过33小时通勤的数据集。 它将加利福尼亚州圣何塞和旧金山之间20公里的高速公路上行驶时记录的数据分为2019段,每段1分钟。 comma2k19是一个完全可重现且可扩展的数据集。 数据采用comma EONs收集,其传感器类似于任何现代智能手机,包括道路相机,手机GPS,温度计和9轴IMU。 此外,EON还使用comma grey panda捕获原始GNSS测量值和汽车发送的所有CAN数据。

这里还引入了Laika,一个开源的GNSS处理库。为了计算定位,来自数据集的原始测量值用Laika处理,然后输入卡尔曼滤波器或其他估计位置的优化器。Laika产生的位置比用来收集原始数据的全球导航卫星系统模块(如 u-blox M8)精确40%。该数据集还包括记录相机的全局参考系中的pose(位置+方向)估计。这些姿态是用一个紧密耦合的惯性导航系统/全球导航卫星系统/视觉优化器计算的,该优化器依赖于Laika处理的数据。comma2k19非常适合开发和验证与商用传感器配合使用的紧密耦合的全球导航卫星系统算法和测绘算法。

项目github地址:https://github.com/commaai/comma2k19

2.下载数据集

事先提醒:因为该项目的某些文件命名中包含“|”,而在windows的文件系统中这是不允许的,所以为避免这个问题,最好在ubuntu系统上下载这个数据集。
数据集有95GB这么大,将以10GB为一个数据包进行下载,链接戳此下载地址
提示:跳转时请关闭代理否则会显示遇到审计规则拒绝访问。
在这里插入图片描述
须用bittorrent下载,ubuntu用默认的工具下载即可,之后就是漫长的等待。

3.数据集结构

目录结构

数据被分成10块,每一块大约200分钟的车程。数据集1-2块使用的车型是RAV4,其余的是civic。RAV4的dongle_id是b0c9d2329ad1606b, civic的dongle_id是99c94dc769b5d96e。

Dataset_chunk_n
|
+-- route_id (dongle_id|start_time)|+-- segment_number|+-- preview.png (first frame video)+-- raw_log.bz2 (raw capnp log, can be read with openpilot-tools: logreader)+-- video.hevc (video file, can be read with openpilot-tools: framereader)+-- processed_log/ (processed logs as numpy arrays, see format for details)+-- global_pos/ (global poses of camera as numpy arrays, see format for details)

日志格式

processed_log文件夹中的每个日志类型都包含2个numpy数组,分别是使用系统设备引导时间的时间戳数组(以秒为单位)和值数组。

processed_log
|
+--IMU ([forward, right, down])
|  |
|  +--acceleration: (m^2/s)
|  +--gyro_uncalibrated (rad/s)
|  +--gyro_bias: android gyro bias estimate (rad/s)
|  +--gyro: with android bias correction (rad/s)
|  +--magnetic_uncalibrated: (T)
|  +--magnetic: with android calibration(T)
|
+--CAN data:
|  |
|  +--car_speed (m/s)
|  +--steering_angle (deg)
|  +--wheel_speeds: [front_left, front_right, rear_left, rear_right] (m/s)
|  +--radar: [forward distance (m),
|  |          left distance (m),
|  |          relative speed (m/s),
|  |          nan,
|  |          nan,
|  |          address,
|  |          new_track (bool)]
|  +--raw CAN: This not stored as a value array but as three seperate arrays [src, address, data]
|
+--GNSS|+--live_gnss_qcom: [latitude (deg),|                   longitude (deg),|                   speed (m/s),|                   utc_timestamp (s),|                   altitude (m),|                   bearing (deg)]+--live_gnss_ublox: [latitude (deg),|                    longitude (deg),|                    speed (m/s),|                    utc_timestamp (s),|                    altitude (m),|                    bearing (deg)]|+--raw_gnss_qcom: every row represents a measurement|                 of 1 sattelite at 1 epoch can easily|                 be manipulated with laika.|                 [prn (nmea_id, see laika),|                  week of gps_time of reception (gps_week),|                  time pf week of gps_time of reception (s),|                  nan,|                  pseudorange (m),|                  pseudorange_std (m),|                  pseudorange_rate (m/s),|                  pseudorange_rate_std (m/s)]+--raw_gnss_ublox: every row represents a measurementof 1 sattelite at 1 epoch can easilybe manipulated with laika.[prn (nmea_id, see laika),week of gps_time of reception (gps_week),time pf week of gps_time of reception (s),GLONASS channel number (-7..6) nan if not GLONASS,pseudorange (m),pseudorange_std (m),pseudorange_rate (m/s),pseudorange_rate_std (m/s)]

raw表示未经处理,live表示可以直接使用。所有的日志都是由raw_log.bz2用openpilot(是项目的一个子模块)读取处理出来的。

pose格式

除了原始传感器数据之外,日志还包含由Mesh3D计算的全局姿态(位置+方向)最佳估计值,Mesh 3D是Comma.ai的内部后处理基础设施,依赖于Laika处理的数据。它们是用一个紧密耦合的全球导航卫星系统/惯性导航系统/视觉优化器计算的,其中原始的全球导航卫星系统测量值和ORB特征被输入到一个多状态约束卡尔曼滤波器中, 得出的相机的姿态(位置)和对应视频的每帧的时间戳如下:

  frame_times: timestamps of video frames in boot time (s)frame_gps_times: timestamps of video frames in gps_time: ([gps week (weeks), time-of-week (s)])frame_positions: global positions in ECEF of camera(m)frame_velocities: global velocity in ECEF of camera (m/s)frame_orientations: global orientations as quaternion needed torotate from ECEF  frame to local camera framedefined as [forward, right, down] (hamilton quaternion!!!!)

comma2k19中的全局位置以米为单位在ECEF中给出,并且方向被给出为从ECEF旋转到本地框架所需的四元数。其中根据NED[North, East, Down]惯例,本地框架被定义为[向前、向右、向下]。

4.配置项目

现在我们要将项目代码拷贝过来。
先复制项目地址
在这里插入图片描述
你想要放置的地方打开终端,输入git命令,如果没有安装git的需要安装一下,安装教程。
此处会遇到第一个坑,直接终端执行命令git clone [url]会发现openpilot文件夹下是空的。这是因为openpilot它在原项目中的图标带了一个白色箭头,类似于引用,用普通的clone命令将其拷贝下来。
因此在终端运行命令git clone --recurse-submodules [url]来递归下载所有引用子模块。

  • windows系统用户注意:
    如果你最终是要在windows系统下做实验,那么你需要把下载好的数据集解压到windows的文件系统中,因为我是装的双系统,所以在ubuntu的文件系统中可以访问到windows的文件系统。终端运行python3 utils/unzip_msft_fs.py <dataset dir> <goal dir>去将文件解压到windows文件系统,其中<dataset dir>是你在unbuntu下下载压缩数据集的文件夹,<goal dir>是你的目标文件夹,这个命令需要执行很长时间,它会并行解压所有的压缩包并将“|”以下划线“_”代替,请保证目标文件夹磁盘有足够的空间并耐心等待。

5.代码示例

项目提供了example数据片段用于实验,notebooks中也有许多示例代码。
在这里插入图片描述
ipynb的文件可以在anaconda的jupyter上打开浏览。
在这里插入图片描述

  • processed_readers: 读取数据并绘图的示例
  • position_benchmarks: 运行定位基准的示例,定位基准用于评估定位质量
  • raw_readers: 使用OpenPilot tools的示例
  • 与GNSS原始数据相关的示例请访问Laika

所有代码只在python 2.7和3.6上测试,但我用python 3.7也没问题。
首先运行pip install -r requirements.txt去安装一些包,其中你会遇到一个错误
在这里插入图片描述
这是由于安装pycurl失败
进入下载地址https://www.lfd.uci.edu/~gohlke/pythonlibs/
安装ctrl+f搜索pycurl,下载对应的版本的pycurl
在这里插入图片描述
cp36意思是CPython version 3.6.,win_amd64意思是64位的windows操作系统,按照你自己的配置选择对应的安装包下载。
然后到本地切换到pycurl的下载位置,运行pip3 install [pycurl]安装。在这里插入图片描述
之后你可以在pycharm上打开该项目文件夹,注意一定要添加openpilotnotebooksPYTHONPATH中。
添加方式:file->setting->interpreter
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样在import组件的时候就会去这些路径下查找了。
做完上述准备工作后我们就可以运行一下utils下的代码了,注意在代码中把文件名中的“|”改成“_”,且注意当前工作位置。


http://www.ppmy.cn/news/322438.html

相关文章

拯救2K屏手机!修改屏幕分辨率省电教程

安卓的硬件大战已经白热化&#xff0c;然而硬件大战的战果是否真的有利于用户&#xff0c;还真的难说。例如&#xff0c;很多旗舰手机都已经将屏幕分辨率堆到了2K&#xff08;2560x1440&#xff09;级别&#xff0c;这听上去比1080p&#xff08;1920x1080&#xff09;高大上不少…

NBA2K18手游显示无法连接服务器,nba2k18手游交易被拒绝 | 手游网游页游攻略大全...

发布时间&#xff1a;2016-04-22 诛仙手游有哪几种交易方法?诛仙手游交易方法介绍 诛仙手游怎么交易的呢?有哪些交易方法呢?下面就和小编一起去看看吧. 交易方法: 1.在摆摊界面可以购买其他玩家上架出售各类商品,您也可以出售商品给其他玩家. 2.摆摊中交易 ... 标签&#xf…

nba2k14mod android,NBA2K14 最完整的07-08赛季大补

名单特点: 真实阵容 真实轮换 真实薪金 完美的倾向、技能、热区、能力 超多球员有自己当时的面补(小斯 奥胖 纳什 科比 博士 詹姆斯 基里连科 等) 完美动作(就连酱油球员也拥有最像自己的动作) 真实教练 真实体型(例如当年安东尼沃克和奥胖的身体) 真实战术(太阳炮轰 湖人三角等…

Android nba2k14 mod,NBA 2K14 真实化合集游戏MOD

NBA 2K14 真实化合集游戏MOD 补丁下载&#xff1a; 点我下载3DM《NBA2K14》真实化合集MOD 使用方法&#xff1a; MOD使用方法&#xff1a;将解压后的所有.iff文件复制并粘贴替换到游戏目录下覆盖即可&#xff01; (切记&#xff01;覆盖文件前一定要养成备份游戏原文件或整个游…

迅雷手机版苹果版_免费下载迅雷 iOS 版

迅雷无疑是最好用的下载器,一直深受用户喜爱。不过早在 2016 年就被苹果应用商店下架了,目前迅雷官网下载是限名额的,我们今天就分享给大家可供随时下载的迅雷 iOS 版。 在迅雷首页搜索框直接输入想要下载的资源,比如美剧“行尸走肉” ( 不要直接点击前往,搜索框会给出几个…

android手机播放pc音乐播放器,最强手机音乐播放器?Foobar2K安卓版体验

说到最强大的PC音乐播放器,相信很多朋友,特别是HiFi发烧友,会把选票投给Foobar2000。的确,在PC平台上,Foobar2000的优势非常巨大。例如它能够自由定制界面,虽然原生界面很简陋,但换皮肤后,华丽得你压根就不会看得出这是同一个软件。又例如它的功能非常强大,DSP处理、库…

android21是多少版本,安卓2k21手机版下载,安卓2k21正版下载官网手机版 v88.0.1-手游汇...

安卓2k21手机版是一款篮球比赛模拟休闲游戏&#xff0c;这里拥有着丰富的篮球明星等着玩家们来使用&#xff0c;你将会在游戏中组建一支属于自己的篮球队&#xff0c;这里拥有着各种明星阵容等着你来选择&#xff0c;趣味性十足的竞技比赛&#xff0c;去雇佣更多的球星为你效力…

2K20安卓修改器服务器到期,nba2k20手机版修改器

游戏简介 软吧提供nba2k20手机版修改器下载&#xff0c;nba2k20手机版修改器是一个经过修改的版本&#xff0c;在这里您可以无条件使用游戏或&#xff0c;感受突破性的画面以及游戏操作方式&#xff0c;进行自定义篮球操作和运动&#xff0c;在手机上也可以体验全场5V5的激情篮…