可达空间,又称可行驶区域,英文称Drivable Space (DS) 或Free Space,在自动驾驶中承担重要的兜底作用。本文将会按照空间表示的分类逐一介绍学术界的算法,主要可分为:基于2D图像空间、基于3D空间,以及基于鸟瞰图(Bird's Eye View,BEV)空间。如果将高度视为一种属性,3D空间可退化为BEV空间。BEV虽然也是2D的,但可理解为退化版的3D空间,区别于透视投影的图像2D空间。
值得一提的是,目前可达空间的表达形式和精度评估缺少公认统一的标准,相关的公开数据集也缺少直接的标注。因此,学术界通常将标注或地图上的道路信息近似为可达空间,我们也回顾了其中有代表性的数据集,提出了几点对未来学术界方向的思考,期望对可达空间这一自动驾驶重要任务的研究起到推波助澜的作用。
此外,在另一个回答中,我们分析了可达空间的定义和必要性,希望能帮到感兴趣的读者进一步了解相关背景。
基于2D图像空间
基于2D图像空间的可达空间检测,本质上都是图像的分割任务。其中有两种主要思路:一种是基于图像列的障碍物检测,另一种则是可达空间语义分割。因为作为感知的下游,预测和规控的计算都在三维空间。在2D图像上得到的可达空间结果,还需转换到3D或者退化的BEV下。为了提供3D信息,常见2D升3D后处理可利用IPM(Inverse Perspective Mapping),单目/立体深度估计,或者LiDAR点云等方法或信息。
图像列表示
基于图像列的通用障碍物检测(column-based general obstacle detection)方案,假设驾驶视角下图像底部像素对应的区域是可行驶的,向图像顶部延伸生长,直至遇到障碍物,从而得到完整的可达空间。其中,最有代表性的工作就是StixelNet系列[1][2]。Stixel将障碍物抽象成在地面上的棍状物(Stick),将图像空间分割成可达空间和障碍物。Stixel是介于像素与物体之间的表示,可以在精度和效率上取得很好的平衡。
语义分割
受益于深度学习的快速进展,检测也可以直接建模成语义分割(semantic segmentation)问题,其中卷积神经网络(CNN) 最为常见。不同于基于图像列表示的方法,基于语义分割的方法则是直接分类2D图像的像素是否是可达空间[3][4]。
基于3D空间
基于3D空间的可达空间方法大多数基于激光雷达(LiDAR),会同时检测道路边沿和障碍物。LiDAR点云数据未必有Camera图像那样丰富的纹理和语义信息,但有精确的3D位置测量信息。因此,与基于2D图像的方法相比,两者的检测对象有着明显的不同。
地面分割
基于地面分割的方法试图将LiDAR点云数据划分到地面和非地面部分,通常可以划分为基于几何规则的算法和基于深度学习的算法。
深度学习尚未广泛应用时,基于几何规则的算法广泛应用于LiDAR点云,实现地面检测(或者互补的路沿检测)和一般障碍物的检测任务。这些工作通常基于平面拟合和区域生长的算法,在最早先的2007年和2009年的DARPA城市挑战赛中已有介绍[5][6]。简单的地平面假设在遇到地面起伏坑洼、上下坡等场景时也会失效,为了兼顾道路局部不平整和整体平滑的需求,论文[7][8]提出引入基于高斯过程的算法优化。
基于深度学习的分割算法更适合存在大量标注信息的数据集。论文[9]提出实现了6个任务的模型,在动态障碍物检测的基础上加入了道路结构理解。而对于道路场景理解而言,文中设计了可达空间和地面两个语义分割任务,以及一个地面高度回归任务。而且这些任务的设计也得益于Lyft数据集中的Road ROI地图信息,可以帮助预处理生成对应的真值结果。前景分割和intra-object part location等辅助任务也都被验证可对动态目标检测有收益。
占据栅格和场景流表示
基于激光雷达的算法里面,最为一般性的算法是采用占据栅格(Occupancy Grid)和场景流(Scene Flow)的方式来表达一般障碍物。论文MotionNet[10]采用基于体素的表示,而论文PointMotionNet[11]选择基于点的表示。两者本质都是采用占据栅格描述物体的尺寸和位置,用场景流描述物体的运动信息。无论动静,是否有规则的形状,以及是否有明确的语义类型,一切障碍物都可以这种方式统一表达。
目前公开数据集中普遍存在是动态目标检测和跟踪任务,所以大部分学术研究可基于跟踪后的动态物体3D框生成占据栅格和场景流的真值,很少会研究算法在真正意义上的一般障碍物(未知动静态障碍物) 或者道路结构上的效果,虽然从表达形式上该思路具有较强的泛化性,但却无法在大规模数据集上验证。
Freespace-Centric表示
也有一些小众的工作是freespace-centric的,即获得地面、障碍物点云或者栅格信息后,以自车为中心,在极坐标下通过简单的射线法(raycast)计算是否可通达的关系。论文[12]采用该方式,结合时序生成了可达空间预测用于运动规划。
基于BEV空间
BEV感知是目前(2022年下半年)最火热的算法。基于多相机的BEV感知框架,减轻多相机后处理后融合的步骤,让视觉3D感知效果提升到一个新高度。同时,也成功把相机和激光雷达的算法统一了表达空间,为传感器融合(包括前融合和后融合)提供了一个便捷的框架。
在BEV空间检测道路的物理边沿,也算是可达空间检测任务的一个子集。道路边沿和车道线相似,都可以用矢量线表达,然而道路边界线缺少平行、固定车道宽度、相交于灭点之类的约束,形状和位置更加自由。学界为了描述更加自由多样的道路边沿,所采用的方法主要分为两大类:
1. 一种基于语义分割,输出的是热力图(heatmap),下游无法直接消费,还是需要经过后处理将热力图变为矢量图才能给下游预测和规控消费;
2. 另一种基于多段线和多边形(polyline/polygon)等几何元素,直接输出矢量化的结果。
语义分割
基于语义分割的方法又可以根据目标建模的方式分为道路边沿(Road Boundary)语义分割和道路结构(Road Layout)语义分割。前者例如HDMapNet[13],在输出道路边沿的同时也可以预测车道线。神经网络的输出是热力图,需要二值化和聚类后才能产生下游预测和规控可以使用的矢量输出,代表方法是HDMapNet[13]。
也有一些方法是基于道路结构的分割,例如PETRv2[14]、CVT[15]和Monolayout[16]。输出的直接是道路主体本身,其边缘则是道路边界。神经网络的输出仍是热力图,需要进行二值化后,取边缘的操作才能得到矢量化的道路边界。当然,如果下游规控可以直接消费道路结构本身,例如规划是基于占据栅格的,那么采用这种感知的方式反而更加直接。这个话题更多和规控相关,就不在此详细展开了。
矢量直出
基于语义分割的方法,往往需要厚重的后处理。相比之下,基于矢量直出的方法更为简单直接。有代表性的方法有STSU[17]、MapTR[18]和VectorMapNet[19],都是直接输出矢量化的道路边沿。为了方便理解,这种方法也可以认为是基于anchor的目标检测方法的变种,检测的不再是有4个自由度的axis-aligned bounding box,而是有2N个自由度的多段线或多边形为基本矢量化几何元素(vectorized primitives),其中N为多段线或多边形的点数。MapTR[18]和VectorMapNet[19]都在此列。值得一提的是,STSU[18]采用的是利用3个控制点的贝塞尔曲线(Bezier Curve),想法新颖但灵活度不够,目前效果远远不如多段线和多边形的方法。
相机和激光雷达融合
值得一提的是,多相机BEV空间和LiDAR BEV空间很容易统一在BEV做Fusion。HDMapNet中除了多相机BEV方法以外,还对比了只基于激光雷达(LiDAR only)的方法,以及相机和激光雷达融合(Camera-LiDAR Fusion)方法。虽然Lane Line和Road Edge都采用centerline表达时很相近,但在不同传感器数据下表现不同。即使Camera在BEV定位上应该会比LiDAR only的方法略差一些,但多相机在道路边缘(Divider)和人行横道(Ped Crossing)上IoU指标依旧更好,而LiDAR更擅长检测几何特征明显的道路边界(Boundary)。
公开数据集
三维点云数据分割标注成本较高,所以这方面的学术成果局限在少数公开数据集。其中,NuScenes、Waymo、KITTI360有3D点云分割标注,分割类型中包含一些道路信息,例如路面、路沿、人行横道等等;而Lyft数据集还额外包含道路区域的地图信息,可帮助我们理解道路结构(Road Layout)。
● 3D可达空间任务在自动驾驶系统中,需要成为一般障碍物感知的关键模块,会更加关注困难样本的检测效果。而这些长尾数据,在不同地区和场景中不尽相同,收集和标注都需要时间和技术积累。小样本数据均衡,学习效果的提升也都是值得探索的方向。
● 3D可达空间定义和实现和下游的消费逻辑密切相关,和自动驾驶系统的设计有强耦合,很难在业界获得统一的标准,也很少作为清晰和独立定义的模块,出现在学术界研究和公开数据集竞赛中。
纵览过去10年深度学习的发展,数据集在其中起到至关重要的作用。希望学术界能尽快统一3D可达空间的定义和精度评估标准,提出一套具有一定通用性(比如涵盖未知动静障碍物)的数据集。
总结和展望
相对于不同算法对可达空间模型带来的效果差异,本文更加专注于讨论不同表达空间、表达形式和传感器下,对可达空间任务的不同定义。
1. 2D图像空间像素级别的可达空间检测,依赖IPM或者其他模块提供深度信息,距离越远像素级别的误差带来位置误差越大,且容易在物体边缘出现边界模糊。
2. 3D空间下,LiDAR语义分类能力弱,但几何精度高,可以用简单的地面拟合等处理方法来检测道路边沿和一般障碍物。基于LiDAR的方法除了可以检测道路边沿以外,也会多尝试raycasting freespace或者占据栅格(Occupancy)之类对一般障碍物(未知动静障碍物)的表达。
3. 多相机BEV空间的感知,在获得跨相机的良好一致性的同时,也获得效果更好的3D感知结果。不过目前可达空间在多相机BEV空间研究道路边沿和道路结构任务比较多。这其中的原因可能在于道路结构之类的感知更依赖大范围远距离观测,以及丰富的语义信息,而这些是多相机BEV感知的长项。
可达空间感知,同时是自动驾驶量产落地不可回避的重要问题。之后,我们还会介绍一下工业界关于可达空间的主流研究方向,包括自动驾驶里面的可达空间如何拓展到机器人领域。欢迎大家保持关注!
本文作者:小鹏汽车自动驾驶技术开发部感知组。
参考
1. Dan L , Garnett N , Fetaya E . StixelNet: A Deep Convolutional Network for Obstacle Detection and Road Segmentation.[C]// British Machine Vision Conference. 2015. http://www.bmva.org/bmvc/2015/papers/paper109/paper109.pdf
2. Garnett N , Silberstein S , Oron S , et al. Real-Time Category-Based and General Obstacle Detection for Autonomous Driving[C]// 2017 IEEE International Conference on Computer Vision Workshop (ICCVW). IEEE,2018.https://openaccess.thecvf.com/content_ICCV_2017_workshops/papers/w3/Garnett_Real-Time_Category-Based_and_ICCV_2017_paper.pdf
3. Fan R , Wang H , Cai P , et al. Learning Collision-Free Space Detection from Stereo Images: Homography Matrix Brings Better Data Augmentation[J]. 2020. https://arxiv.org/abs/2012.07890
4. Liu X , Deng Z . Segmentation of Drivable Road Using Deep Fully Convolutional Residual Network with Pyramid Pooling[J]. Cognitive Computation, 2018. https://www.researchgate.net/profile/Zhidong-Deng/publication/321327280_Segmentation_of_Drivable_Road_Using_Deep_Fully_Convolutional_Residual_Network_with_Pyramid_Pooling/links/5a71fe78aca2720bc0d9d9b7/Segmentation-of-Drivable-Road-Using-Deep-Fully-Convolutional-Residual-Network-with-Pyramid-Pooling.pdf
5. Schedel R. Darpa urban challenge 2007[J]. ATZ worldwide, 2008, 110(1): 10-12.
6. The DARPA urban challenge: autonomous vehicles in city traffic[M]. springer, 2009.
7. Chen T, Dai B, Wang R, et al. Gaussian-process-based real-time ground segmentation for autonomous land vehicles[J]. Journal of Intelligent & Robotic Systems, 2014, 76(3): 563-582.
8. Mehrabi P, Taghirad H D. A Gaussian Process-Based Ground Segmentation for Sloped Terrains[C]//2021 9th RSI International Conference on Robotics and Mechatronics (ICRoM). IEEE, 2021: 371-377. https://arxiv.org/pdf/2111.10638.pdf
9. Feng D , Zhou Y , Xu C , et al. A Simple and Efficient Multi-task Network for 3D Object Detection and Road Understanding[J]. 2021.https://arxiv.org/pdf/2103.04056v1.pdf
10. Wu P, Chen S, Metaxas D N. Motionnet: Joint perception and motion prediction for autonomous driving based on bird's eye view maps[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2020: 11385-11395. https://arxiv.org/abs/2003.06754
11. Wang J, Li X, Sullivan A, et al. PointMotionNet: Point-Wise Motion Learning for Large-Scale LiDAR Point Clouds Sequences[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022: 4419-4428.
12. Hu P, Huang A, Dolan J, et al. Safe local motion planning with self-supervised freespace forecasting[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021: 12732-12741.
13. Li Q , Wang Y , Wang Y , et al. HDMapNet: An Online HD Map Construction and Evaluation Framework[C]// 2021.https://arxiv.org/abs/2107.06307
14. Liu Y, Yan J, Jia F, et al. PETRv2: A Unified Framework for 3D Perception from Multi-Camera Images[J]. arXiv preprint arXiv:2206.01256, 2022.https://arxiv.org/pdf/2206.01256.pdf
15. Zhou B, Krähenbühl P. Cross-view Transformers for real-time Map-view Semantic Segmentation[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022: 13760-13769. https://arxiv.org/pdf/2205.02833.pdf
16. Mani K, Daga S, Garg S, et al. Monolayout: Amodal scene layout from a single image[C]//Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision. 2020: 1689-1697. https://arxiv.org/abs/2002.08394
17. Can Y B , Liniger A , Paudel D P , et al. Structured Bird's-Eye-View Traffic Scene Understanding from Onboard Images[J]. 2021.https://arxiv.org/pdf/2110.01997.pdf
18. Liao B, et al. MapTR: Structured Modeling and Learning for Online Vectorized HD Map Construction, https://arxiv.org/abs/2208.14437
19. Liu Y, et al. VectorMapNet: End-to-end Vectorized HD Map Learning, https://arxiv.org/abs/2206.08920