vanishing point detection in autopilot

Posted m_buddy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vanishing point detection in autopilot相关的知识,希望对你有一定的参考价值。

1. 概述

消失点一种直观的解释是图像中的平行线的交点,也就如下图中路面边界绘制的直线在图像中的交点。

这样的点在自动驾驶场景下可以为解析车辆状态提供一些信息,比如较为常规的运用便是用于车辆的pitch角度。在传统方法中会通过如霍夫算子检测图片中的直线,并以直线的方程计算对应的交点。这类方法对场景的要求较为严苛,导致在实际中会引入其它的trick来适应多变的使用场景。基于数据驱动的深度学习方法也可对该问题提供一些解决方法,在这篇文章中将会介绍一些使用深度学习方法实现消失点检测的方法。

2. 基于深度学的消失点检测方案

2.1 Vanishing point detection with convolutional neural networks

这篇文章提出了一种基于分类的消失点检测算法和一个消失点检测数据集,下图展示该数据集的图片示例与数据分布:

该消失点检测算法按照CNN特征维度大小对图像进行网格表示,若消失点落在了某个网格中,那么该网格的分类类别就是正了。自然带来的问题就是消失点检测比较粗糙,不够精细化。

2.2 VPGNet: Vanishing Point Guided Network for Lane and Road Marking Detection and Recognition

参考代码:VPGNet

在一般驾驶场景下消失点往往是车辆行驶方向车道线的交点,那么在一些较差环境下消失点的确立能帮助如车道线检测等任务,这一定程度上符合人的直观感受。对此在现有网络基础上添加一个消失点检测头。其网络结构如下:

而对于消失点的建模,文中对比了heatmap和分割形式的建模两者的性能比较:

可以从右图中看到基于分割的方法是好于基于heatmap的,在图中存在明确消失点的时候以消失点为交点将图像划分为4个格子,并用4个通道去预测对应格子的分割结果。而在如遮挡场景下,消失点不是那么明确就用在第5个通道预测去表示这样的情况。

2.3 Vanishing Point Detection with Direct and Transposed Fast Hough Transform inside the neural network

深度学习的方法存在数据适应性的问题,为了减轻数据变化对消失点检测带来的影响,将图像中的集合信息融合进入网络中,便是一个不错的想法。对此这篇文中中引入FHT和Transposed HT到网络中用于增强网络特征表达,使得消失点检测更加鲁棒。其网络结构见下表:

2.4 Unstructured Road Vanishing Point Detection Using the Convolutional Neural Network and Heatmap Regression

参考代码:URVP

前面提到的一些消失点检测算法均不能输出精确消失点位置,且消失点的预测是需要全图上下文信息的。其网络结构见下图所示:

对此文章提出一种heatmap和消失点准确预测的结构,消失点的heatmap用于从上下文中确定消失点的位置,同时heatmap特征会用于加强后续的特征图表达。对于消失点的准确预测,文章借鉴了yolo的方式,首先预测该特征网格是不是消失点所在位置,同时预测以该网格为基准的offset。
V P x = f ( x ) + c x VP_x=f(x)+c_x VPx=f(x)+cx
V P y = f ( y ) + c y VP_y=f(y)+c_y VPy=f(y)+cy

2.6 D-VPnet: A Network for Real-time Dominant Vanishing Point Detection in Natural Scenes

这篇文章的方法参考YOLO中目标框的回归机制,预测平行线上点的位置(会将实际场景中的平行线进行切分作为GT),之后通过这些平行线的点去解析出消失点。此外,文章还引入多尺度预测的方式,提升预测的准确性。其网络结构见下图所示:

其预测出来的平行线点结果可视化如下图所示:

2.7 Heatmap-based Vanishing Point boosts Lane Detection

自动驾驶场景下消失点与车道线之间其实是存在一定的联系的,对此可以将车道线检测和消失点预测结合起来构成多任务模型。下图展示的便是这篇文章使用分割特征优化消失点heatmap预测特征图表达。

其实对于上述提到的lane segment和vp detection在实际操作中是存在一定的排列组合的,如下图:

这些不同的网络排列组合的性能比较:

2.8 End-to-End Monocular Vanishing Point Detection Exploiting Lane Annotations

对于消失点检测的训练数据,之前的一些方法是通过人工标注的形式获取。在这篇文中提出一种基于车道线标注生成消失点的方案,也就是寻找车道线的交点,如下图所示:

对于车道线交点不聚集的情况,这些是不能用于消失点数据生成的,如下图的最后一列:

2.9 Deep vanishing point detection: Geometric priors make dataset variations vanish

参考代码:VanishingPoint_HoughTransform_GaussianSphere

这篇文章借用CNN网络去提取图像特征,通过霍夫变换将图中直线上映射到对应空间上,之后这些组成直线的点会被映射到高斯球面上,这些直线在球面上的交点也就是消失点了,对应下图中3个域的变化。

文章的网络结构见下图所示:

以上是关于vanishing point detection in autopilot的主要内容,如果未能解决你的问题,请参考以下文章

时间序列:change point detection

RepPointsRepPoints: Point Set Representation for Object Detection 译读笔记

论文解读:SuperPoint: Self-Supervised Interest Point Detection and Description

扭曲形状文字检测——Sliding Line Point Regression for Shape Robust Scene Text Detection

论文阅读CVPR 2019| PointPillars: 基于点云的快速编码目标检测框架(Fast Encoders for Object Detection from Point Clouds)(代

浅析vanish