VPGNet: Vanishing Point Guided Network for Lane and Road Marking Detection and Recognition
ICCV2017
https://github.com/SeokjuLee/VPGNet Caffe code
本文针对车道线和 道路指示线检测和识别做了两个事 lane and road marking detection and recognition
1)建立了一个新的数据库,主要加入了一些 恶劣天气下的图像样本, rainy and low illumination conditions
2)提出一个 unified end-to-end trainable multi-task network 同时解决 道路和指示线检测识别
我们的最终检测结果如下图所示:
数据库的一些统计情况
一个 20,000 张图像,17个类别,其中我们 vanishing point annotation 也做了标记,像素级别的标记太小了,我们 propose projecting pixel-level annotation to the grid-level mask,得到 grid-level 标记,也就是说我们不用像素级别标记了,使用 grid-level 标记
4 Neural Network
4.1. Architecture
这里我们提出一个 data layer 来解析 grid-level annotation 可以同时训练 lane and road markings
在文献【16、35】中, box regression 用于给一个特定的物体拟合一个矩形框,这个方法适用于 blob shape 的物体,对于lane and road markings 不适合用一个矩形框来表示。这里我们将grid 里的点回归到最近的 grid cell, combined by a multi-label classification task to represent an object。 对于后续处理 lane classes 只是用到 multi-label task 的输出, road marking classes 用到了 grid box regression 和multi-label task,这里我们加入了一个 vanishing point detection task 用于 infer a global geometric context
网络包括 four task modules:grid box regression, object detection, multi-label classification, and prediction of the vanishing point
4.2. Vanishing Point Prediction Task
在一些复杂恶劣天气情况下,人可以依据道路的结构信息等全局信息预测出道路的位置,这里我们设计了一个 Vanishing Point Prediction (VPP) 想完成类似的功能,
A vanishing point is a point where parallel lines in a three-dimensional space converge to a two-dimensional plane by a graphical perspective
本文中 Vanishing Point (VP) 的定义如下:the nearest point on the horizon where lanes converge and disappear predictively around the farthest point of the visible lane. 这样的 VP 可以提供 a global geometric context of a scene,这对于 lanes and road markings 的位置预测是很重要的。
文献【4】中使用 CNN 来预测 VP,这个从整个网络的输出来选择一个点,导致其位置往往不准确。这里我们改进了一下。
4.4. Post-Processing CNN网络的输出结果如何使用?
Lane : 针对车道线 后续处理有三个步骤: point sampling, clustering, and lane regression
Road marking: 针对交通指示线: 1)提取对应的 grid cells;2)融合grid cells 构建 交通指示线目标
Vanishing point : four quadrants intersect 的位置为 Vanishing point
运行速度:
We test our models on NVIDIA GTX Titan X and achieve a speed of 20 Hz by using only a single forward pass. Specifically, the single forward pass takes about 30 ms and the post-processing takes about 20 ms or less.