刘 钰,张 驰,3,李垚辰,李 力,刘跃虎,3,郑南宁
(1.西安交通大学人工智能与机器人研究所,西安710049;2.西安交通大学软件学院,西安710049;3.陕西省数字技术与智能系统重点实验室,西安710049;4.清华大学自动化系,北京100083)
无人驾驶环境感知算法的离线测试需要大量、多样、典型交通场景数据以尽可能覆盖自主行驶遇到的交通状况,特别是蕴含影响感知算法性能的不利条件的交通场景,称之为边界交通场景[1],如交通事故场景、施工场景、危险驾驶场景等。边界交通场景的多传感数据是无人驾驶离线测试考察道路环境认知智能算法正确性和环境适应性的有力测试数据[2]。由于其出现概率小、持续过程短,导致现场采集数据困难。因此,本文面临如何从已有传感数据生成边界交通场景数据的问题,其本质是在操纵空间对场景内容的改变。从操纵空间的维度来讲,对场景内容操纵可以分为2D 图像编辑与3D 空间操纵。
传统的基于2D 图像编辑方法在图像内容操纵方面已经取得一定的进展[3]。但2D 图像是三维世界的二维光学采样,2D图像编辑忽略了自然世界的三维本质属性[4],容易产生包含错误空间位置关系的场景外观,如由于缺乏道路几何约束,新加入的车辆在视觉上容易发生浮于空中或是陷入路面的情形。此外,图像平面上的二维操纵无法真实反映现实世界中的旋转等三维操纵。因此,从已有传感数据生成边界交通场景数据可以看作是在3D 操纵空间改变场景内容的过程。
现有的3D 空间操纵方法一般遵循由真实数据获取、场景3D 重建、场景操纵到新数据生成的流程[5]。具体地,交通场景操纵技术通过从真实道路场景数据中获取道路几何形状属性,构建交通场景模型,再利用仿真传感器模型生成变化后的交通场景传感数据[6],所生成交通场景传感数据的真实感与建模精细程度正相关。由于同一时刻同一位置所采集的多传感数据反映相同的交通场景,其场景内容具有语义一致性,即图像数据的语义信息会随着场景点云数据的改变而改变。因此,相较于针对道路几何与语义功能精确建模生成对车辆运动的精细约束,通过对点云与图像数据中的路面及道路边界的估计即可构成有效的运动约束。此外,原始场景数据包含大量形状信息及外观信息,能够满足新场景数据生成的需要。
基于以上观点,本文研究生成边界交通场景多传感数据所需的简化3D操纵空间表示方法,通过对多模态传感数据的操纵与复用,实现边界交通场景数据的快速生成。本文主要关注包含危险驾驶行为的边界交通场景,如逆向行驶、右侧超车等。方向包围盒(Oriented Bounding Box,OBB)具有图元关系简单、特征明显、描述参数少的特点,是交通参与者的最简3D 描述。本文提出OBB 的操纵空间表征,通过复用原始场景多传感数据中的形状信息及外观信息,实现从真实数据获取、基于方向包围盒的3D空间操纵到数据合成过程,操纵道路场景点云与图像数据生成新的边界交通场景数据,如图1所示。
本文的主要贡献:
图1 4D(1D时-3D空)多传感数据操纵实现流程Fig.1 Implementation process of 4D(1D for time and 3D for space)manipulation for multi-sensor data
(1)提出OBB 的操纵空间表征,有效提升交通元素定位与提取效率。提出局部路面的渐进式OBB 构建方法,从而动态添加路面几何约束,改善交通场景的视觉传感数据生成效果。
(2)提出产生边界交通场景数据的时-空操纵方法,实验验证了所生成的边界交通场景数据对道路环境感知算法的影响,是丰富无人驾驶离线测试用例的有效途径之一。
3D操纵空间表征是场景内容操纵的基础问题。当前常见的3D 操纵空间表征可以分为栅格化形式如体素,几何形式如点云、多边形网格等[7]。由于三维物体的几何形状信息集中在表面,体素表征方式具有信息稀疏性,造成内存占用与计算复杂度高等问题[8];多边形网格是广泛使用的3D操纵空间表征形式[9],几何连续性描述佳,内存占用低,但其图元关系与组合连接模式复杂,在转换和形变时需要进行大量的图元连接[10];激光点云为无人驾驶常用的传感数据,虽然包含丰富的三维信息,但对三维几何的连续性描述不足[11],操纵不便,如定位、提取操纵对象困难,添加道路几何约束复杂等。为避免上述问题,本文提出构建OBB 表征的简化操纵空间,其特点是图元关系简单、特征明显、描述参数少。在操纵空间中,OBB 的表示参数由其位置参数(x,y,z)(OBB 几何中心在所定义坐标系下的空间位置坐标;x,y,z分别代表横轴、纵轴、竖轴坐标)、旋转参数(α,θ,γ)(OBB三个正交边相对于所定义坐标系三个轴的旋转角度;α,θ,γ分别为OBB的俯仰角、方位角与侧倾角)及尺寸参数(w,l,h)(分别为宽、长、高)组成。
在生成边界交通场景数据的操纵过程中,交通参与者是危险驾驶行为的来源之一,道路几何给予交通参与者充分的运动约束,因此本文重点关注道路与交通参与者在操纵空间中的简化表示。对于交通参与者,通过聚类得到其OBB表示。对于道路几何,为降低操纵空间的构建开销,提出局部路面的渐进式OBB构建方法来动态添加运动约束。
本文首先探究交通参与者的实例级别OBB 简化表示。由于输入点云数据的语义信息仅包含类别信息,缺乏区分不同实例的描述信息。考虑到点间距离能够实现对点云簇的有效空间划分,即相同实例点云簇中的点间距离较近,不同实例点云簇中的点间距离较远。因此,本文利用欧氏距离作为相似度度量,将点云聚类为表示不同交通参与者的点云簇,从而估计其OBB表示参数。具体步骤如下:
首先通过对已有点云数据的预处理,去除背景元素如建筑物、树木等。采用基于欧氏距离的聚类方法对其中的交通参与者进行实例级聚类。剔除无效点,对每一有效点在其设置半径范围的球域内寻找邻接点。若该点与查询点的欧氏距离在设置半径范围以内即为查询点的邻接点。查询点与邻接点赋予相同的标签,按照标签对点云进行聚类分割得到点云簇。
得到点云的聚类结果后,对每一点云簇找到其OBB。获取每一个点云簇的凸包并排除凸包内部的点,这些点对后续计算无用。继而计算凸包每一个面的角度,找到点云簇的外接OBB。
交通参与者在操纵空间运动时受到道路几何约束。若不考虑此运动约束,所产生数据会出现不合理的空间位置关系,如车辆陷入路面等情况。因此,建立道路的OBB表示,引入道路几何约束,可获得交通参与者更为精确合理的位姿。
由于真实道路通常是不平坦的,如果使用简单平面拟合路面OBB 会引入较大误差。然而精细几何模型描述路面会带来图元连接多、结构复杂、内存占用高的问题。本文假设交通参与者所处局部路面区域是平坦的。为新增交通参与者添加道路几何约束时,实际仅需估计所处局部路面法向信息,使新增交通参与者OBB 底面法向与其保持一致。
由此,本文提出局部路面的渐进式OBB构建方法动态添加道路几何约束。每一时刻以运动交通参与者重心的2D位置为中心,选取尺寸为(wr,lr,hr)的局部路面点云构建OBB。本文中设置wr=wv+1,lr=lv+ 1,hr= 0.3m,(wv,lv,hv)为交通参与者OBB 尺寸参数。基于局部路面OBB与交通参与者OBB,交互设定交通参与者运动的道路几何约束,如图2所示。假定t0时刻,新增交通参与者OBB的2D位置坐标为(xv0,y0v),方位角为θv0,尺寸为(wv,lv,hv)。以(xv0,y0v)位置为中心,选取尺寸为(wv+ 1,lv+ 1,0.3)的局部路面点云进行OBB 构建,得到其旋转参数(αr0,θr0,γr0)。通过坐标系变换,令新增交通参与者OBB的旋转参数为(αr0,θv0,γr0),得到其新的三维位置坐标。以此类推,每一运动时刻交互设定交通参与者运动的道路几何约束。
图2 局部路面的渐进式OBB构建Fig.2 Gradual construction of regional road area’s bounding box
如图1所示,操纵车辆OBB 生成交通场景多传感数据的一般流程是:先基于OBB操纵空间交互控制车辆点云簇的空间变换,而后将场景点云的改变作用在图像上。本文利用场景点云中尺寸近似车辆的几何外观构建所控制车辆的完整点云,从而生成指定运动位姿下的新点云视图,并投影在场景语义图像上,最终通过图像翻译网络生成具有真实交通纹理的图像数据。
操纵交通参与者生成与原始场景不同的驾驶行为往往意味着交通参与者位姿的改变,存在生成新视图的需求。受激光雷达的物理特性影响,所获取的点云与视点位置、方向相关,通常不能完整描述交通参与者的几何外观。仅利用这些信息无法满足生成新点云视图的需求。点云序列中存在与视点方向呈不同角度的交通参与者,能够潜在满足交通参与者完整点云的生成需求。对于交通参与者,本文重点关注车辆。
本文根据OBB描述的车辆尺寸信息,检索指定车辆的最近似几何外观,利用对称性先验信息指导点云拼接融合,最终构建车辆完整点云信息,如图3所示。
操纵改变场景点云后,需要将内容改变作用到图像域以生成边界交通场景图像数据。
图3 车辆完整点云构建Fig.3 Construction of the vehicle’s complete point cloud
一种直观的思路是将改变的点云数据借助空间变换关系投影到图像上。但是点云数据具有稀疏性,很难在复杂纹理情形下获得连续的投影外观。近年来,从语义图像生成真实纹理的图像翻译方法取得了长足的进展[12]。据此,本文将新增车辆点云投影到纹理简单、颜色单一的语义图像上,如图4(a)黄色区域所示。并采用基于八邻域结构元膨胀方法填补投影的不连续外观,如图4(b)所示。最后,通过图像翻译网络pix2pixHD[13]生成具有交通场景纹理的图像。训练步骤中,使用2126张来源于vKITTI 数据集[14],尺寸为1242×375 的RGB 图像数据与对应的语义图像数据输入网络,生成具有真实感的边界交通场景图像数据,如图4(c)所示。
引入道路几何约束前后所产生的一组语义图像如图5所示。根据场景点云数据,此场景道路右侧高于道路左侧。从图5可以看出在无道路几何约束时,新加入车辆出现陷入路面的情况,而引入道路几何约束后,车辆在生成图像中的空间位置关系符合常理。
通过设置新增交通参与者的时-空运动,产生边界交通场景数据,部分实验结果展示于图6。场景中一辆车行驶于道路中央,另一辆车抢道超车,造成两辆车相撞。这是一个典型的边界交通场景,其中包含了诸多影响交通场景复杂度的危险驾驶行为。
图4 边界交通场景图像数据生成Fig.4 Generation of critical traffic images
为测试所生成的边界交通场景数据对无人车环境感知智能算法性能的影响,我们使用在MS COCO 数据集上预训练的Mask R-CNN[15]网络在生成图像上进行车辆检测。
考虑到车辆检测算法性能变差也可能是图像质量的原因,我们选取常用的结构相似性(Structural Similarity Index,SSIM)和峰值信噪比(Peek Signal to Noise Ratio,PSNR)作为图像质量评价指标。将原始RGB 图像作为参考图像,分别衡量其与利用原始语义图像通过图像翻译网络产生的交通场景图像(翻译图像)和经过操纵后生成的语义图像通过网络产生的边界交通场景图像(生成图像)之间的相似度。结果表明所产生的图像质量退化主要来源于图像翻译网络而非操纵过程。
对于车辆检测结果,我们选择Precision、Recall和F1-measure 作为评价指标,Mask R-CNN 算法的车辆检测结果见表1。可以看出在翻译图像上,算法性能稍有下降,表明图像翻译网络对结果有一定的影响。继而对比生成图像与翻译图像上的测试结果,两者图像质量相近,但在生成图像的测试,车辆检测算法性能下降明显。这表明所产生的边界交通场景数据对算法性能有明显影响,可以用于测试智能算法对不同交通场景的适应性。
图5 引入道路几何约束前后的效果对比(上:引入道路几何约束前,下:引入道路几何约束后)Fig.5 Effect of adding road geometric constraints
图6 边界交通场景生成示例(大图为图像翻译网络生成的交通场景图像,右下角为其对应语义图像)Fig.6 The generated critical traffic scenarios
表1 Mask R-CNN算法在所生成场景上的车辆检测结果Table1 The vehicles detection results of Mask R-CNN tested on generated scenarios
本文所讨论方法的目的是通过对交通场景内容进行4D 操纵产生新的边界交通场景数据。为使操纵更为便捷准确,提出利用OBB表征的操纵空间完成4D操纵。为引入道路几何约束,本文提出局部路面的渐进式OBB构建方法,改善了视觉数据生成效果。实验结果表明,道路环境感知算法对所生成的边界交通场景数据敏感,可以用于丰富无人驾驶环境感知智能算法离线测试的测试用例。