以下文章来源于智能汽车开发者平台 ,作者Alex Zihao Zhu1
编辑:一点人工一点智能
原文:多车立体事件相机数据集:用于3D感知的事件相机数据集
00 摘要
基于事件的摄像机是一种新的无源传感方式,与传统的摄像机相比有许多优点,包括极低的延迟、异步数据采集、高动态范围和极低的功耗。最近,人们对应用算法来使用事件执行各种3D感知任务非常感兴趣,比如特征跟踪、视觉里程数测量和立体深度估计。然而,目前缺乏像传统相机那样丰富的标记数据,无法用于测试和开发。
在本文中,我们展示了一个大型数据集,该数据集采用了基于事件的同步立体摄影系统,该系统由一个手持式设备携带,在各种不同的照明水平和环境中,由一架六轴飞行器飞行,在汽车顶部驱动,并安装在摩托车上。从每个相机中,我们提供事件流、灰度图像和IMU读数。此外,我们利用IMU、刚性安装的激光雷达系统、室内外运动捕捉和GPS的组合,以高达100Hz的频率为每个摄像机提供准确的姿势和深度图像。为了进行比较,我们还提供了同步的灰度图像和基于框架的立体摄像机系统的IMU读数。
01 简介
基于EVENT的相机通过检测图像的对数强度的变化来感知世界。通过以几十微秒的精度记录这些变化,以及异步的、几乎是即时的反馈,与传统相机通常有几十毫秒的延迟相比,它们可以实现极低的延迟响应。此外,通过跟踪日志强度的变化,摄像机具有非常高的动态范围(>130dB,而传统摄像机约为60dB),这使得它们对照明的戏剧性变化的场景非常有用,如室内-室外的过渡,以及有强光源的场景,如太阳。
然而,大多数现代机器人算法都是为同步传感器设计的,测量结果以固定的时间间隔到达。此外,生成的事件本身并不带有任何强度信息。
图1:完整的传感器设备,包括立体DAVIS相机、VI传感器和Velodyne激光雷达
因此,必须开发新的算法以充分利用该传感器提供的优势。不幸的是,由于测量方法的不同,我们不能直接利用传统相机捕捉到的大量标签数据。事实证明,这些数据对于为新方法提供真实和一致的评估、训练机器学习系统以及为无法接触到这些传感器的研究人员提供新的发展机会来说,是极其重要的。
在这项工作中,我们旨在提供一些不同的序列,以促进研究和开发一些不同问题的新颖解决方案。一个主要的贡献是建立了第一个具有同步立体事件摄像系统的数据集。经过校准的立体系统对于用度量衡进行深度估计很有帮助,这有助于解决诸如姿势估计、绘图、避障和3D重建等问题。
在基于事件的摄像机的立体深度估计方面已经有了一些工作,但是,由于缺乏准确的地面实况深度,评估只限于小的、不相干的序列,包括摄像机前面的几个物体。
相比之下,这个数据集提供了来自两个同步和校准的动态视觉和主动像素传感器(DAVIS- m346b)的事件流,在各种光照和速度下的室内和室外长序列,以及精确的深度图像和高达100Hz的姿势,由安装在相机顶部的激光雷达系统产生,如图1,同时还有运动捕捉和GPS。
我们希望这个数据集可以帮助为一些应用中基于事件的算法评估提供一个共同的基础。
完整的数据集可以在网上找到:https:// daniilidis-group.github.io/mvse
本文的主要贡献可归纳为:
● 第一组带有同步立体事件相机的数据集,具有准确的地面实况深度和姿态。
● 来自手持式钻机、六轴飞行器、汽车和摩托车的事件数据,以及来自3D激光雷达、IMU和基于框架的图像的校准传感器数据,来自各种不同的速度、照明水平和环境。
02 相关工作
2.1 相关数据集
目前,有一些现有的数据集提供了来自单目事件相机的事件,并与其他各种传感方式和地面实况测量相结合,适用于测试一些不同的3D感知任务。
Weikersdorfer等人[1]将早期的128x128分辨率的eDVS传感器与Primesense RGBD传感器结合起来,并提供了一个室内序列的数据集,其地面实况姿势来自运动捕捉系统,深度来自RGBD传感器。
Rueckauer等人[2]提供了来自DAVIS 240C相机的纯旋转运动的数据,以及基于陀螺仪报告的角速度的地面实况光学流,尽管这受到报告速度中的噪音影响。
Barranco等人[3]提出了一个数据集,其中的DAVIS 240B相机安装在一个平移倾斜装置的顶部,与微软的Kinect传感器一起连接在一个移动基地上。该数据集提供了基地在室内环境中以5自由度移动的序列,以及来自基地上的轮子编码器和平移倾斜装置的角度的地面实况深度、光学流和姿势。
虽然来自Kinect的深度是准确的,但光学流和姿势会受到底座的轮子编码器的位置估计的影响而发生漂移。
Mueggler等人[4]提供了一些用于在各种室内和室外环境中进行姿势估计的手持序列,这些序列由DAVIS 240C生成。一些室内场景提供了姿态的基础真实,是由动作捕捉系统捕获的。然而,没有户外序列,或其他具有明显位移的序列,具有地面实况信息。
Binas等人[5]提供了一个安装在汽车挡风玻璃后面的DAVIS 346B的大型数据集,其中有12个小时的驾驶,旨在对各种驾驶相关的任务进行端对端学习。
作者提供了一些来自车辆的辅助测量数据,如转向角、加速器踏板位置、车速等,以及来自GPS装置的经度和纬度。然而,没有提供6自由度的姿势,因为只能从所提供的GPS输出中推断出2D平移。
这些数据集为开发和评估基于事件的方法提供了宝贵的数据。然而,迄今为止,他们只有单目序列,地面实况6自由度的姿势仅限于小型室内环境,很少有序列具有地面实况深度。
相比之下,这项工作提供了在各种室内和室外环境中具有地面实况姿态和深度图像的立体序列。
2.2 基于事件的3D感知
早期的工作[6],[7]提出了立体深度估计的结果,有一些空间和时间成本。后来在[8]、[9]和[10]的工作中,将立体深度的合作方法适应于基于事件的摄像机,因为它们适用于异步的、基于点的测量。同样,[11]和[12]应用了一套时间、极性、排序和极性约束来确定匹配,而[13]则将其与基于方位仪库输出的匹配进行比较。
作者在[14]中展示了一种新的方法来确定外极线,应用于立体匹配。在[15]中,作者提出了一个新的上下文描述符来进行匹配,[16]中的作者使用了一个经历纯旋转的立体事件相机来进行深度估计和全景拼接。
也有一些关于基于事件的视觉测距和SLAM问题的工作。作者在[17]和[18]中提出了在事件空间中进行特征跟踪的新方法,他们在[19]和[20]中对这些方法进行了扩展,分别进行视觉和视觉惯性测距。
在[1]中,作者将一个基于事件的相机与深度传感器结合起来,进行视觉测距和SLAM。[21]中的作者使用事件来估计摄像机的角速度,而[22]和[23]则通过建立一个最高比例的地图来进行视觉测向。
此外,[24]和[25]还将事件与来自IMU的测量值相融合,进行视觉惯性测距。
虽然较新的作品基于公共数据集进行评估,如[4],但大多数是在仅为论文而产生的小数据集上进行评估,使得性能的比较变得很困难。对于基于立体事件的摄像机来说,情况尤其如此。
在这项工作中,我们试图产生更广泛的基础真相,以便对新算法进行更有意义的评估,为方法之间的比较提供基础。
03 数据集
对于该数据集中的每个序列,我们以ROS bag1格式提供以下测量结果:
● 事件,APS灰度图像和来自左右DAVIS相机的IMU测量。
● 来自VI传感器的图像和IMU测量。
● 来自Velodyne VLP-16激光雷达2的点云。
● 左边DAVIS相机的地面实况参考姿势。
● 左边和右边DAVIS相机的地面实况参考深度图像。
3.1 传感器
表I中列出了传感器及其特点。此外,图2a显示了传感器装置的CAD图,所有的传感器轴都被标明,图2显示了传感器在每辆车上的安装方式。
图2:从左到右:(a):传感器装置的CAD模型。所有的传感器轴都被贴上标签,并涂上对应的颜色:R:X、G:Y、B:Z,每对轴之间只有大约90度的旋转组合。(b): 安装在六轴飞行器上的传感器包。(c): 使用玻璃吸力三角架安装在汽车天窗上的传感器包。(d): DAVIS相机和VI传感器安装在摩托车上。请注意,在所有的配置中,VI传感器都是倒着安装的。最好以彩色方式观看
表1 传感器和特征
如第五节所述,所有传感器之间的外在因素是通过校准来估计的。
对于事件的产生,两个实验性的mDAVIS-346B相机被安装在一个水平的立体设置中。这些相机与[26]相似,但具有更高的346x260像素的分辨率,高达50fps的APS(基于帧的图像)输出,和更高的动态范围。立体声设备的基线是10厘米,摄像机的时间戳同步是通过使用从左侧摄像机(主摄像机)产生的触发信号,通过外部电线向右侧(从摄像机)输送同步脉冲。
两台摄像机都有4毫米的镜头,水平视场角约为87度,每台摄像机上都有一个额外的红外切割滤波器,以抑制来自运动捕捉系统的红外闪光。APS的曝光是手动设置的(没有自动曝光),这取决于照明条件,但相机之间总是相同的。
虽然灰度DAVIS图像的时间戳是同步的,但遗憾的是没有办法同步图像采集本身。因此,图像之间可能有高达10ms的偏移。
为了提供地面实况的参考姿势和深度(第四节),我们将Velodyne Puck LITE安装在立体DAVIS相机上方。
Velodyne激光雷达系统提供了传感器周围大量点的高度精确深度。激光雷达的安装方式是,激光雷达较小的垂直视场与立体DAVIS设备的视场完全重叠。
在室外场景中,我们还安装了一个GPS设备,作为经纬度的第二个地面实况参考。通常情况下,GPS被放置在远离传感器装置的地方,以避免USB 3.0数据线的干扰。
此外,我们还安装了一个VI传感器[27],最初由Skybotix开发,用于与基于框架的方法进行比较。该传感器与IMU有一对立体声,都是同步的。
不幸的是,唯一的安装选择是将摄像机倒置安装,但我们提供了它们与DAVIS摄像机之间的转换。
3.2 序列
表二中列出了所有的序列和统计摘要,图三中列出了叠加了事件的APS图像样本。
1) 具有运动捕捉功能的六轴飞行器: 传感器安装在六轴飞行器的计算堆下面,向下倾斜25度,如图2b所示。两个运动捕捉系统被用来为这个数据集生成序列,一个在室内,一个在室外(图4)。
26.8m x 6.7m x 4.6m的室内区域用20台Vicon Vantage VP-16摄像机进行检测。30.5米x 15.3米x 15.3米的户外网区配备了全天候运动捕捉系统,由34台高分辨率Qualisys Oqus 700摄像机组成。
这两个系统通过发射红外频闪和跟踪放置在六轴飞行器上的红外反射标记,以100Hz的频率提供毫米级精度的姿势。我们在每个区域提供不同长度和速度的飞行序列。
2) 手持式:为了测试高动态范围情况下的性能,整个传感器装置在室外和室内环境以及有无外部照明的室内环境中都进行了循环。地面实况姿态和深度是由激光雷达SLAM提供的。
表二:每辆车的序列。T:总时间,D:总行驶距离,lvlmax 。最大线速度,lωlmax : 最大角速度,MER:平均事件率。这些序列没有VI-Sensor的数据。+一个硬件故障导致这些序列的右侧DAVIS灰度图像失效。*
图3:白天和晚上的室内和室外序列的样本图像与重叠的事件(蓝色和红色)。最好以彩色观看。
图4:运动捕捉场地。左:室内Vicon场地;右:户外Qualisys场地。
3) 户外驾驶:对于慢速到中速的序列,传感器装置被安装在一辆轿车的天窗上,如图2c所示,并以最高12米/秒的速度在西费城的几个街区行驶。
在白天和晚上的情况下都提供了序列,包括太阳直接在相机视野内的序列。地面实况是由激光雷达地图的深度图像,以及来自环形封闭激光雷达测距和GPS的姿态提供的。
对于高速序列,DAVIS立体设备和VI传感器与GPS设备一起被安装在摩托车的车把上(图2d)。这些序列涉及以高达38米/秒的速度行驶。经度和纬度以及相对速度是由GPS提供的。
04 地面实况的生成
为了提供地面实况姿态,在有条件的情况下,会使用动作捕捉姿态。否则,如果有激光雷达,Cartographer[28]将用于驱动序列,将激光雷达扫描和IMU数据融合成激光雷达的循环闭合2D姿态,利用第五章D节的校准将其转换为左DAVIS帧。对于户外场景,我们也提供原始的GPS读数。
对于每个有激光雷达测量的序列,我们运行激光雷达测绘(LOAM)算法[29]来生成密集的三维局部地图,这些地图被投射到每个DAVIS相机中,以20Hz的频率生成密集的深度图像,并为手持序列提供3D姿势。
我们使用了两种独立的激光雷达测距算法,因为我们注意到,LOAM产生了更好的、排列更整齐的局部地图,而Cartographer的环形闭合则产生了更精确的全局位置,对于较长的轨迹来说,漂移更少。
虽然Cartographer只估计了一个2D的姿势,但我们相信这是一个有效的假设,因为所驾驶的道路在大多数情况下都有一个单一的一致的等级。
4.1 地面实况姿势
对于室内和室外运动捕捉领域的序列,在每个时间t的传感器设备worldHbody(t)的主体框架的姿势是以100Hz测量的,精度为毫米级。对于户外序列,我们依靠Cartographer来执行循环闭合,并将激光雷达扫描和IMU数据融合到一个单一的循环闭合的主体(在这种情况下是激光雷达)的2D姿势中,并使其漂移最小。
为了对最终姿势的质量进行量化衡量,我们将位置与GPS测量值对齐,并为数据集中的每个户外序列提供叠加的卫星图像,以及所提供的地面实景和GPS之间的位置差异。图7提供了Car Day 2的样本覆盖,其中Cartographer和GPS之间的平均误差始终在5m左右,没有漂移。
这个误差在所有的户外驾驶序列中是一致的,总体平均误差为4.7米,与GPS的预期误差大小相似。请注意,440秒左右的误差峰值是由于巨大的GPS误差造成的,对应于覆盖图右上方的黑体部分。
在这两种情况下,对于每个从左DAVIS帧到帧取点的序列,外在的变换,表示为4×4的同质变换矩阵体worldHDAVIS,然后用来估计时间t的左DAVIS相对于时间t0的第一个左DAVIS的姿势:
4.2 深度图的生成
在有激光雷达的每个序列中,每个DAVIS相机的深度图像都是为每个激光雷达测量而生成的。我们首先通过将当前测量周围的局部窗口中的每个激光雷达点云转换为当前测量的框架,使用LOAM的姿势来生成一个局部地图。在每次测量时,确定窗口大小,使窗口中当前、第一和最后一个LOAM姿势之间的距离至少为d米,并且当前、第一和最后一个LOAM姿势之间至少有s秒,其中d和s是为每个序列调整的参数。这些地图的例子可以在图5中找到。
然后,我们使用标准的针孔投影方程,将所得到的点云中的每个点p投射到每个DAVIS相机的图像中:
其中Π是投影函数:
而K是矩形图像的相机本征矩阵(即投影矩阵的左上方3×3)。
任何落在图像边界之外的点都会被丢弃,图像中每个像素位置上最接近的点被用来生成最终的深度图,其例子可以在图6中找到。
此外,我们还通过使用相机本征和OpenCV对矫正后的深度图像进行取消矫正和扭曲,提供没有任何失真的原始深度图像。
05 校准
在这一节中,我们描述了为校准每个DAVIS和VI-Sensor相机的内在参数而进行的各种步骤,以及每个相机、IMU和激光雷达之间的外在转换。所有的校准结果都以yaml形式提供。
使用Kalibr工具箱3 [30], [31], [32]对相机本征、立体外征和相机-IMU外征进行校准,使用相机和范围校准工具箱4 [33]对左DAVIS相机和Velodyne激光雷达的外征进行校准。在动作捕捉世界帧中的Mocap模型姿态与左DAVIS相机姿态之间的手眼校准是用CamOdoCal5[34]进行的,并由人工进行微调。
图5:为地面实况生成的样本地图。左图:汽车第1天序列的全图,绿色为轨迹; 右图:来自Hexacopter Indoor 3序列的局部地图。
图6:深度图像(红色)与事件叠加(蓝色),来自Hexacopter Indoor 2和Car Day 1序列。请注意,由于激光雷达的垂直视场和范围有限,图像的部分区域(黑色区域,特别是顶部)没有深度。这些部分在数据中被标记为NaN。最好以彩色方式观看。
图7:GPS和Cartographer在卫星图像上叠加的 Car Day 2 轨迹的比较。请注意,Cartographer和GPS之间的误差峰值对应于左侧覆盖图右上方的黑体部分,主要是由于GPS误差造成的。最好以彩色观看。
为了抵消所安装设备的变化,在收集数据的每一天,以及每次修改传感有效载荷的时候,都要重复每一次校准。除了校准参数外,每天的原始校准数据也可按需提供,以便用户在需要时进行自己的校准。
5.1 摄像机的内在、外在和时间校准
为了校准相机和IMU之间的转换,在传感器装置在AprilTag网格前移动的情况下记录了一个序列。这两个校准程序是分开的,以优化每个单独校准的质量。校准序列再次通过Kalibr运行,使用相机-IMU校准来估计每个相机和每个IMU之间的转换,给定先前的内在校准和相机-相机间的外在校准。
5.2 摄像机到IMU的外在校准
摄像机的内因和外因是使用AprilTags[35]的网格来估计的,该网格在传感器支架前移动,并使用Kalibr进行校准。每个校准都提供了每个相机的焦距和主点,以及相机之间的失真参数和外在因素。
此外,我们通过找到能使左DAVIS的IMU和VI传感器的陀螺仪角速度大小的交叉相关性最大化的时间偏移,来校准DAVIS立体对和VI传感器之间的时间偏移。然后对数据集中的VI传感器信息的时间戳进行修改,以抵消这一偏差。
5.3 运动捕捉到相机的外在校准
每个动作捕捉系统以100Hz的频率提供动作捕捉帧中的mocap模型的姿势。然而,Mocap模型帧与任何摄像机帧都不一致,因此需要进一步校准,以从运动捕捉系统中获得摄像机的姿势。
传感器装置以各种不同的姿势被静态地固定在April-网格的前面。每个姿势在时间 ti时,测量网格帧aprilgrid HDAVIS(ti)中左DAVIS相机帧的姿势,以及mocap帧mocap Hbody(ti)中mocap模型(表示主体)的姿势。然后,这些姿势被用来解决手眼校准问题,即把左DAVIS框架中的一个点转换为模型框架bodyHDAVIS:
使用CamOdoCal进行优化,使用[36]中的线性方法,并使用[34]中描述的非线性优化方法进行重新筛选。
5.4 激光雷达到相机的外在校准
将一个点从激光雷达框架带到左边的DAVIS框架的转换,最初是使用相机和范围校准工具箱[33]进行校准。四个大的棋盘图案被放置在DAVIS相机的视场内,每台相机的一对图像被记录下来,同时还有一个完整的激光雷达扫描。 校准器然后估计出使摄像机和激光雷达观测到的棋盘相一致的平移和旋转。
然而,我们发现,在查看投影的深度图像时,报告的变换有多达五像素的误差(图6)。此外,由于激光雷达和摄像机不是硬件时间同步的,两个传感器之间偶尔会有明显的、持续的时间延迟。为了改善校准,我们根据CAD模型的值来确定翻译,并手动调整了旋转和时间偏移,以最大限度地提高深度和事件图像之间的重叠。为了视觉上的确认,我们提供了每个摄像头的深度图像与事件的叠加。数据集中提供的激光雷达信息的时间戳对时间偏移进行了抵消。
06 已知问题
6.1 移动对象
用于生成深度图的映射假设场景是静态的,通常不会过滤掉移动物体上的点。因此,在追踪其他汽车上的点时,报告的深度图可能有高达两米的误差,等等。然而,与可用的数据总量相比,这些对象通常相当罕见。如果需要,未来的工作可以涉及对图像中的车辆进行分类,并从深度图中省略这些点。
6.2 时钟同步性
运动捕捉和GPS只使用主机的时间与系统的其他部分同步。这可能会导致报告的时间戳与实际测量时间之间出现偏移。我们在一台电脑上记录所有的测量结果,以减少这种影响。此外,由于激光雷达的旋转速度,激光雷达点的测量和信息的时间戳之间可能会有一些延迟。
6.3 DVS偏置
在生成每个序列时,使用了每个摄像机的默认偏置。然而,人们注意到,对于室内flying序列,正负事件的比例比通常要高(~2.5-5倍)。在这一点上,我们不知道是什么原因导致了这种不平衡,也不知道调整偏置是否会平衡它。我们注意到,这种不平衡在斑纹层上特别偏斜。我们建议使用事件极性的研究人员在处理这些序列时要注意这种不平衡性。
07 总结
我们提出了一个新的立体事件相机的数据集,在一些不同的车辆和不同的环境中,有6自由度姿势和深度图像的地面实况。我们希望这些数据能够提供一个标准,在此基础上对新的基于事件的方法进行评估和比较。
1、书籍推荐-《基于多视图几何的机器人系统视觉感知与控制》
2、 书籍推荐-《3D形状分析:基础、理论和应用》
3、 书籍推荐-《立体视觉物体检测》
4、梳理 | 立体视觉相机的优势
5、 书籍推荐-《3D计算机视觉》
6、 多视图点云配准算法综述
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。