Brno Urban 数据集

简介

snesor

GitHub - Robotics-BUT/Brno-Urban-Dataset: Navigation and localisation dataset for self driving cars and autonomous robots

提供了来自四个WUXGA摄像机、两个3D激光雷达、惯性测量单元、红外相机

具有厘米级精度的差分RTK GNSS接收器的数据

350多公里的行驶记录,在捷克共和国布尔诺及其周边地区记录的城市数据集

多样化的环境——从高速公路到农村道路,从密集建筑区到树林,所有这些都在实际交通条件下记录。

使用热成像摄像头感知汽车前方的场景,这极大地增强了对脆弱道路使用者的认识以及在恶劣天气条件下对各种物体的一般检测能力。

大部分系统都使用GPS信号进行了精确的同步和时间戳标记,精度达到亚毫秒级。


图 1: 展示了用于记录Brno城市数据集中所有数据的Atlas感测框架的细节。图中显示了四个RGB摄像头、一个单独的热成像(IR)摄像头、两个Velodyne HDL-32E LiDAR、RTK GNSS接收器和中间框架的IMU单元​​。

RGB camera - 1920x1200px, optics: 8mm front (70deg FoV), 6mm lateral (90deg FoV)
Details

IR camera FLIR Tau 2- 640x512px, optics: 19mm (69deg FoV)
Details

LiDAR Velodyne HDL-32e
Details

IMU Xsens MTi-G-710
Details

GNSS Trimble 982BX
Details

LiDAR Livox Horizon (Winter Ext. only)
Details

FMCW Radar - mmWave AWR1642 (Winter Ext. only)
Details

YOLO detections (virtual sensor, Winter Ext. only)
Details

标定

GitHub - Robotics-BUT/Brno-Urban-Dataset-Calibrations: Calibration parameters for Brno Urban Dataset


                                   根据外参,绘制的各个坐标系的位置图

                               四个彩色相机的FOV

同步


图 2: 展示了ATLAS平台的时间同步和数据流图。图中包括GNSS网络开关、控制PC、两个LiDAR、四个RGB摄像头、时间同步单元、红外摄像头和GNSS接收器。显示了原始数据、GNSS信号、触发信号、时间戳和带时间戳的数据之间的流动​​。

数据


图 3: 是布尔诺数据集数据可视化的示例。前四行展示了RGB摄像头的图像,第五行展示了热成像(IR)摄像头的图像,底部展示了LiDAR数据的可视化​​。


表 I: 提供了一般同类数据集的概览,比较了不同数据集的摄像头、LiDAR和GNSS​​。


表 II: 给出了安装在ATLAS测量平台上的传感器的概览,包括传感器类型、详细信息、频率和输出数据​​。


表 III: 提供了数据集内容的统计数据,包括标签类别、标签、记录次数、距离和时长​​。


图 4: 展示了数据集记录期间行驶的道路的地图可视化。绿色表示RTK定位加航向,红色表示非RTK定位或缺少航向数据。布尔诺坐标:49.2002211N, 16.6078411E​​。

文件


图 5: 描述了一次记录的数据结构,包括每个传感器和公共数据的分隔文件夹​​。

RGB camera 
.mp4 video - file with h265 data encoding (can be extracted into separated image files)
timestamps.txt - <system timestamp, image seq. number, internal camera timestamp>

IR camera 
.mp4 video - file with h265 data encoding (can be extracted into separated image files)
timestamps.txt - <system timestamp, image seq. min temp., max temp>

LiDAR
scans.zip - zip file contains all the scans taken by LiDAR during the recording.
Scans are in .pcd file firmat
timestamps.txt - <system timestamp, scan seq. number, internal LiDAR’s timestamp>

IMU
imu.txt - <system timestamp, lin. acc. (X, Y, Z), ang. vel (X, Y, Z), orientation (X, Y, Z, W)>
mag.txt - <system timestamp, mag. field (X, Y, Z)>
gnss.txt - <system timestamp, latitude, longitude, altitude>
d_quat.txt - <system timestamp, delta orientation (X, Y, Z, W)>
pressure.txt - <system timestamp, pressure>
time.txt - <system timestamp, UTC (year, month, day, hour, minute, second, nanosecond)>
temp.txt - <system timestamp, temp>

GNSS
pose - <system timestamp, latitude, longitude, altitude, heading vector>
time - <system timestamp, UTC (year, month, day, hour, minute, second, nanosecond)>

LiDAR Livox Horizon (Winter Ext. only)
scans.zip - zip file contains all the scans taken by LiDAR during the recording. Scans are in .pcd file firmat
timestamps.txt - <system timestamp, scan seq. number>

FMCW Radar - mmWave AWR1642 (Winter Ext. only)
scans.txt - <system timestamp, number of det. obj., [list of detections, (x, y, z, vel) for each]>

YOLO detections (virtual sensor, Winter Ext. only)
[camera-name].txt - <video frame index, x, y, width, height, detection confidence, class>

论文

1 数据获取平台

该数据集是使用我们实验室建造的可扩展感测平台ATLAS记录的。该系统由通信网络、数据处理计算机、同步单元和传感器本身组成。整个装置的设计考虑到了精度和模块化,允许各种实验设置的广泛范围,同时保持记录的质量。以下段落将介绍ATLAS平台的当前状态(见图1)和结论将总结即将推出的扩展。

A. 数据采集基础设施

由于我们处理大量原始数据,因此中央控制和记录计算机建立在具有64个PCIe通道和NMVe SSD硬盘的CPU上。为视频处理和压缩,还配备了Nvidia GTX 1080Ti显卡。ATLAS记录框架的核心是以太网网络。它基于IP通信协议,所有传感器和采集PC通过高速交换机相互连接,与采集PC的连接带宽高达18Gb/s。唯一的例外是IMU,它通过USB接口的虚拟串行链接连接到PC。

值得注意的是,记录PC和以太网网络都不具备精确和可靠计时的实时功能,这一功能作为独立部分在第III-D节中讨论。

B. 传感器设备

传感器显然是系统的关键部分。表II总结了目前安装的所有设备及其最重要的参数。在接下来的段落中,我们将简要阐述每个传感器类别,以更好地展示我们提供的数据。

正如第II节中所见,RGB摄像机在自动车辆应用中是必需的。ATLAS平台在前方安装了两个摄像头用于立体视觉,在两侧安装了视野更宽的摄像头,以更好地覆盖十字路口、人行道和周围经过的其他道路使用者。前置摄像头的安装间距较宽(约70厘米),以提高距离估计的准确性。通过完整设置,我们覆盖了车辆周围220度以上的范围。

下一个重要的传感器是激光雷达。我们使用两个3D Velodyne扫描仪,它们围绕汽车的前向轴稍微倾斜安装,如图1中的照片所示。原因有二:首先,扫描仪能更好地覆盖汽车两侧的区域;其次,对面的光线可以测量较高的障碍物,而不是无谓地扫描汽车的顶部。

红外摄像头的使用在自动驾驶的现有数据集中是独一无二的。我们使用的设备在7.5-13.5微米范围内感测红外辐射,这对应于-40至+80摄氏度常见温度的物体发出的峰值波长。与RGB摄像头相比,分辨率较低,但许多物体(如烟雾、雾、薄膜)对红外光和可见光的透明度不同,因此即使每帧只有640x512像素,信息增益也很大。摄像头安装在最重要的前视方向。

ATLAS平台上安装的第四种传感器是惯性测量单元。除了加速计和陀螺仪外,该设备还包含一个联合GNSS接收器(GPS、GLONASS、Galileo、北斗)并提供额外的环境测量,如温度、大气压和磁场,这些在自动驾驶中的用途有限,但我们也决定为了完整性而发布它们。

最后但同样重要的是,有一个单独的联合GNSS接收器用于获取最精确的全球定位。RTK功能允许达到厘米级的精度。此外,接收器允许同时连接两个天线,从而直接获得全球坐标中的航向矢量。我们所知,没有任何数据集具有这一特性,这对于地图构建和定位应用中作为参考非常有价值。当然,接收器提供测量的可靠性诊断以及用于其他传感器的精确时间。这一特性在我们解决同步和时间戳的方案中起着关键作用,如第III-D节所述。

C. 校准

到目前为止,我们对ATLAS平台内传感器位置的讨论有些模糊。原因在于精确测量的困难。每个传感器都有自己的坐标框架,其原点大多位于设备内部,并通常通过几个具有一定容差的尺寸与底盘绑定。尽管可以用相当的精度获得相互位置,但方向测量非常敏感,即使是很小的错误也可能导致来自多个来源的数据对齐不当。此外,即使我们可以精确测量,仍然有制造容差无法通过这种方式解决。

出于这个原因,我们决定进行彻底的传感器校准。其中一些方法适用于估计设备的内在参数,而其他方法旨在获得它们之间的相互姿态。使用的方法、其设置、校准数据以及所需参数的最佳估计均提供在数据集的网站上(https://github.com/RoboticsBUT/Brno-Urban-Dataset-Calibrations)。我们预计传感器设备会随时间变化,并相应地更新这些资料。

D. 同步和时间戳

如第II节所讨论的,数据获取系统中的精确计时,在某种程度上,可以由专门的算法替代。我们更喜欢预防问题而不是修复它们,ATLAS平台在精确计时方面得到了建造。图2显示了系统中的数据流,也描绘了同步和时间分配通道(虚线箭头)。

我们系统中精确时间的关键来源是GPS信号。即使是最基本的接收器也需要保持纳秒级的时间精度以提供可用的定位。显然,Trimble RTK接收器可以接触到它,但Velodyne激光扫描仪和Xsens IMU也配备了小型天线,因此它们可以直接获得精确时间。对于没有接收GPS信号的设备,我们设计了一个同步单元,由Trimble接收器的精确时钟源驱动。它可以捕获输入触发器,将其与精确时间配对,并发送数据包到记录计算机,或生成具有给定频率的输出触发信号,并发送与每次触发相对应的时间戳。该单元围绕一个简单的微控制器构建,没有操作系统或嵌套中断,这允许维持其例程的透明计时并保证时间戳-信号不匹配的上限。考虑到硬件中的传播延迟等,错误远低于1毫秒。有了所有这些预防措施,我们可以完全绕过控制计算机的系统时间,并使用可靠来源的时间来标记数据。

目前我们使用同步单元来触发所有RGB相机的共同信号。遗憾的是,热成像相机无法被外部信号直接触发,也不提供输出触发器,但它包含精确的时钟,允许进行额外的校正。然后,时间戳列表与同步单元的时间戳序列配对,为每一帧提供插值计时。

这种方法的一个明显缺点是对GPS信号可用性的强依赖性。因此,所有使用GPS时间的设备在没有GPS信号时都采用优雅的回退到本地时钟源。在最坏的情况下,没有GPS信号几十分钟后,计时错误就会超出1毫秒的限制,这足以通过隧道等问题地点并重新获得准确时间。我们非常注意在任何记录中都不超过这个限制。

2 数据集介绍

如上所述,该数据集是在捷克共和国的布尔诺记录的。由于ATLAS平台尚未完全防水,因此所捕获的天气条件范围有限。另一方面,由于该镇的中等大小,环境多样性从自然、乡村风格的地点到市中心,有历史建筑、公共交通,特别是大量的交通和行人。

A. 内容

对数据进行分类是个好习惯。录音时间主要作为唯一标识符,简要描述有助于快速了解录音,但如果需要通过整个数据库搜索,这两者都不便于使用。因此,我们采用了一套标签系统,允许我们突出最重要的内容,并通过表III中总结的录音进行简单过滤。

到目前为止,我们已公开67段录音,总长度达375.7公里,总时长超过10小时。

B. 数据结构

单个记录的结构遵循图5中的方案。RGB和热成像摄像头数据以H265视频格式分发,激光雷达扫描被压缩成.zip档案,以尽可能减少其大小。其他数据如时间戳和校准文件占用的内存微不足道,存储在可读的.txt和.yaml文件中。

C. 软件和开发工具

录音会话完全运行在机器人操作系统(ROS)上。这使我们能够创建高度可扩展的解决方案,与使用ROS后端作为机器人应用开发基线的许多其他项目兼容。为了满足更广泛的受众和更舒适的使用,我们以容易读取的原始格式发布数据,并提供了一个脚本将数据转换为ROS bag。

我们还提供了一套基于Python-OpenCV的脚本,帮助处理视频数据到单独的帧文件,或将轨迹绘制到谷歌地图等。该软件可从https://github.com/RoboticsBUT/Brno-Urban-Dataset-Tools获取,或作为数据集git仓库中的tools/文件夹的子模块。

  • 21
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
QueryWrapper<>()是MyBatis-Plus框架中的一个查询条件构造器。它用于构建数据库查询语句的条件部分。通过使用QueryWrapper<>(),我们可以方便地构建各种查询条件。 首先,我们可以使用最基础的方式创建一个QueryWrapper对象,并设置需要的查询条件。例如,我们可以使用eq()方法来设置等于条件,如eq("br_no", brNo)表示查询br_no字段等于指定值brNo的记录。然后通过selectList()方法执行查询操作,将满足条件的结果返回给Infos变量。 为了避免在代码中写硬编码的字段名,我们可以引入lambda表达式。通过使用lambda表达式,我们可以通过属性引用的方式定义查询条件。例如,eq(CmHelpClsInfo::getBrNo, brNo)表示查询CmHelpClsInfo对象中brNo属性等于指定值brNo的记录。 为了进一步简化lambda表达式的使用,我们可以使用LambdaQueryWrapper构造器。LambdaQueryWrapper继承自QueryWrapper,并且默认开启了lambda表达式的支持。因此,我们可以直接使用lambda()方法创建一个LambdaQueryWrapper对象,并设置查询条件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [MybatisPlus:中QueryWrapper<>().lambda使用](https://blog.csdn.net/qq_46691679/article/details/123549168)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值