  Lane detection is to determine the precise location and shape of lanes on the
road. Despite efforts made by current methods, it remains a challenging task
due to the complexity of real-world scenarios. Existing approaches, whether
proposal-based or keypoint-based, suffer from depicting lanes effectively and
efficiently. Proposal-based methods detect lanes by distinguishing and
regressing a collection of proposals in a streamlined top-down way, yet lack
sufficient flexibility in lane representation. Keypoint-based methods, on the
other hand, construct lanes flexibly from local descriptors, which typically
entail complicated post-processing. In this paper, we present a
"Sketch-and-Refine" paradigm that utilizes the merits of both keypoint-based
and proposal-based methods. The motivation is that local directions of lanes
are semantically simple and clear. At the "Sketch" stage, local directions of
keypoints can be easily estimated by fast convolutional layers. Then we can
build a set of lane proposals accordingly with moderate accuracy. At the
"Refine" stage, we further optimize these proposals via a novel Lane Segment
Association Module (LSAM), which allows adaptive lane segment adjustment. Last
but not least, we propose multi-level feature integration to enrich lane
feature representations more efficiently. Based on the proposed "Sketch and
Refine" paradigm, we propose a fast yet effective lane detector dubbed
"SRLane". Experiments show that our SRLane can run at a fast speed (i.e., 278
FPS) while yielding an F1 score of 78.9\%. The source code is available at:
https://github.com/passerer/SRLane.
