-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.tex
3684 lines (2704 loc) · 231 KB
/
test.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
% Template for PLoS
% Version 3.5 March 2018
%
% % % % % % % % % % % % % % % % % % % % % %
%
% -- IMPORTANT NOTE
%
% This template contains comments intended
% to minimize problems and delays during our production
% process. Please follow the template instructions
% whenever possible.
%
% % % % % % % % % % % % % % % % % % % % % % %
%
% Once your paper is accepted for publication,
% PLEASE REMOVE ALL TRACKED CHANGES in this file
% and leave only the final text of your manuscript.
% PLOS recommends the use of latexdiff to track changes during review, as this will help to maintain a clean tex file.
% Visit https://www.ctan.org/pkg/latexdiff?lang=en for info or contact us at [email protected].
%
%
% There are no restrictions on package use within the LaTeX files except that
% no packages listed in the template may be deleted.
%
% Please do not include colors or graphics in the text.
%
% The manuscript LaTeX source should be contained within a single file (do not use \input, \externaldocument, or similar commands).
%
% % % % % % % % % % % % % % % % % % % % % % %
%
% -- FIGURES AND TABLES
%
% Please include tables/figure captions directly after the paragraph where they are first cited in the text.
%
% DO NOT INCLUDE GRAPHICS IN YOUR MANUSCRIPT
% - Figures should be uploaded separately from your manuscript file.
% - Figures generated using LaTeX should be extracted and removed from the PDF before submission.
% - Figures containing multiple panels/subfigures must be combined into one image file before submission.
% For figure citations, please use "Fig" instead of "Figure".
% See http://journals.plos.org/plosone/s/figures for PLOS figure guidelines.
%
% Tables should be cell-based and may not contain:
% - spacing/line breaks within cells to alter layout or alignment
% - do not nest tabular environments (no tabular environments within tabular environments)
% - no graphics or colored text (cell background color/shading OK)
% See http://journals.plos.org/plosone/s/tables for table guidelines.
%
% For tables that exceed the width of the text column, use the adjustwidth environment as illustrated in the example table in text below.
%
% % % % % % % % % % % % % % % % % % % % % % % %
%
% -- EQUATIONS, MATH SYMBOLS, SUBSCRIPTS, AND SUPERSCRIPTS
%
% IMPORTANT
% Below are a few tips to help format your equations and other special characters according to our specifications. For more tips to help reduce the possibility of formatting errors during conversion, please see our LaTeX guidelines at http://journals.plos.org/plosone/s/latex
%
% For inline equations, please be sure to include all portions of an equation in the math environment. For example, x$^2$ is incorrect; this should be formatted as $x^2$ (or $\mathrm{x}^2$ if the romanized font is desired).
%
% Do not include text that is not math in the math environment. For example, CO2 should be written as CO\textsubscript{2} instead of CO$_2$.
%
% Please add line breaks to long display equations when possible in order to fit size of the column.
%
% For inline equations, please do not include punctuation (commas, etc) within the math environment unless this is part of the equation.
%
% When adding superscript or subscripts outside of brackets/braces, please group using {}. For example, change "[U(D,E,\gamma)]^2" to "{[U(D,E,\gamma)]}^2".
%
% Do not use \cal for caligraphic font. Instead, use \mathcal{}
%
% % % % % % % % % % % % % % % % % % % % % % % %
%
% Please contact [email protected] with any questions.
%
% % % % % % % % % % % % % % % % % % % % % % % %
\documentclass[10pt,letterpaper]{article}
\usepackage[top=0.85in,left=2.75in,footskip=0.75in]{geometry}
% amsmath and amssymb packages, useful for mathematical formulas and symbols
\usepackage{amsmath,amssymb}
% Use adjustwidth environment to exceed column width (see example table in text)
\usepackage{changepage}
% Use Unicode characters when possible
\usepackage[utf8x]{inputenc}
% textcomp package and marvosym package for additional characters
\usepackage{textcomp,marvosym}
% cite package, to clean up citations in the main text. Do not remove.
\usepackage{cite}
% Use nameref to cite supporting information files (see Supporting Information section for more info)
\usepackage{nameref,hyperref}
% line numbers
\usepackage[right]{lineno}
% ligatures disabled
\usepackage{microtype}
\DisableLigatures[f]{encoding = *, family = * }
% color can be used to apply background shading to table cells only
\usepackage[table]{xcolor}
% array package and thick rules for tables
\usepackage{array}
% create "+" rule type for thick vertical lines
\newcolumntype{+}{!{\vrule width 2pt}}
% create \thickcline for thick horizontal lines of variable length
\newlength\savedwidth
\newcommand\thickcline[1]{%
\noalign{\global\savedwidth\arrayrulewidth\global\arrayrulewidth 2pt}%
\cline{#1}%
\noalign{\vskip\arrayrulewidth}%
\noalign{\global\arrayrulewidth\savedwidth}%
}
% \thickhline command for thick horizontal lines that span the table
\newcommand\thickhline{\noalign{\global\savedwidth\arrayrulewidth\global\arrayrulewidth 2pt}%
\hline
\noalign{\global\arrayrulewidth\savedwidth}}
% Remove comment for double spacing
%\usepackage{setspace}
%\doublespacing
% Text layout
\raggedright
\setlength{\parindent}{0.5cm}
\textwidth 5.25in
\textheight 8.75in
% Bold the 'Figure #' in the caption and separate it from the title/caption with a period
% Captions will be left justified
\usepackage[aboveskip=1pt,labelfont=bf,labelsep=period,justification=raggedright,singlelinecheck=off]{caption}
\renewcommand{\figurename}{Fig}
% Use the PLoS provided BiBTeX style
\bibliographystyle{plos2015}
% Remove brackets from numbering in List of References
\makeatletter
\renewcommand{\@biblabel}[1]{\quad#1.}
\makeatother
% Header and Footer with logo
\usepackage{lastpage,fancyhdr,graphicx}
\usepackage{epstopdf}
%\pagestyle{myheadings}
\pagestyle{fancy}
\fancyhf{}
%\setlength{\headheight}{27.023pt}
%\lhead{\includegraphics[width=2.0in]{PLOS-submission.eps}}
\rfoot{\thepage/\pageref{LastPage}}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrule}{\hrule height 2pt \vspace{2mm}}
\fancyheadoffset[L]{2.25in}
\fancyfootoffset[L]{2.25in}
\lfoot{\today}
%% Include all macros below
\newcommand{\lorem}{{\bf LOREM}}
\newcommand{\ipsum}{{\bf IPSUM}}
%% END MACROS SECTION
\begin{document}
\vspace*{0.2in}
% Title must be 250 characters or less.
\begin{flushleft}
{\Large
\textbf\newline{Title of submission to PLOS journals} % Please use "sentence case" for title and headings (capitalize only the first word in a title (or heading), the first word in a subtitle (or subheading), and any proper nouns).
}
\newline
% Insert author names, affiliations and corresponding author email (do not include titles, positions, or degrees).
\\
Name1 Surname\textsuperscript{1,2\Yinyang},
Name2 Surname\textsuperscript{2\Yinyang},
Name3 Surname\textsuperscript{2,3\textcurrency},
Name4 Surname\textsuperscript{2},
Name5 Surname\textsuperscript{2\ddag},
Name6 Surname\textsuperscript{2\ddag},
Name7 Surname\textsuperscript{1,2,3*},
with the Lorem Ipsum Consortium\textsuperscript{\textpilcrow}
\\
\bigskip
\textbf{1} Affiliation Dept/Program/Center, Institution Name, City, State, Country
\\
\textbf{2} Affiliation Dept/Program/Center, Institution Name, City, State, Country
\\
\textbf{3} Affiliation Dept/Program/Center, Institution Name, City, State, Country
\\
\bigskip
% Insert additional author notes using the symbols described below. Insert symbol callouts after author names as necessary.
%
% Remove or comment out the author notes below if they aren't used.
%
% Primary Equal Contribution Note
\Yinyang These authors contributed equally to this work.
% Additional Equal Contribution Note
% Also use this double-dagger symbol for special authorship notes, such as senior authorship.
\ddag These authors also contributed equally to this work.
% Current address notes
\textcurrency Current Address: Dept/Program/Center, Institution Name, City, State, Country % change symbol to "\textcurrency a" if more than one current address note
% \textcurrency b Insert second current address
% \textcurrency c Insert third current address
% Deceased author note
\dag Deceased
% Group/Consortium Author Note
\textpilcrow Membership list can be found in the Acknowledgments section.
% Use the asterisk to denote corresponding authorship and provide email address in note below.
\end{flushleft}
% Please keep the abstract below 300 words
\section*{Abstract}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur eget porta erat. Morbi consectetur est vel gravida pretium. Suspendisse ut dui eu ante cursus gravida non sed sem. Nullam sapien tellus, commodo id velit id, eleifend volutpat quam. Phasellus mauris velit, dapibus finibus elementum vel, pulvinar non tellus. Nunc pellentesque pretium diam, quis maximus dolor faucibus id. Nunc convallis sodales ante, ut ullamcorper est egestas vitae. Nam sit amet enim ultrices, ultrices elit pulvinar, volutpat risus.
% Please keep the Author Summary between 150 and 200 words
% Use first person. PLOS ONE authors please skip this step.
% Author Summary not valid for PLOS ONE submissions.
\section*{Author summary}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur eget porta erat. Morbi consectetur est vel gravida pretium. Suspendisse ut dui eu ante cursus gravida non sed sem. Nullam sapien tellus, commodo id velit id, eleifend volutpat quam. Phasellus mauris velit, dapibus finibus elementum vel, pulvinar non tellus. Nunc pellentesque pretium diam, quis maximus dolor faucibus id. Nunc convallis sodales ante, ut ullamcorper est egestas vitae. Nam sit amet enim ultrices, ultrices elit pulvinar, volutpat risus.
\linenumbers
% Use "Eq" instead of "Equation" for equation citations.
\section*{Introduction}
Lorem ipsum dolor sit~\cite{bib1} amet, consectetur adipiscing elit. Curabitur eget porta erat. Morbi consectetur est vel gravida pretium. Suspendisse ut dui eu ante cursus gravida non sed sem. Nullam Eq~(\ref{eq:schemeP}) sapien tellus, commodo id velit id, eleifend volutpat quam. Phasellus mauris velit, dapibus finibus elementum vel, pulvinar non tellus. Nunc pellentesque pretium diam, quis maximus dolor faucibus id.~\cite{bib2} Nunc convallis sodales ante, ut ullamcorper est egestas vitae. Nam sit amet enim ultrices, ultrices elit pulvinar, volutpat risus.
\begin{eqnarray}
\label{eq:schemeP}
\mathrm{P_Y} = \underbrace{H(Y_n) - H(Y_n|\mathbf{V}^{Y}_{n})}_{S_Y} + \underbrace{H(Y_n|\mathbf{V}^{Y}_{n})- H(Y_n|\mathbf{V}^{X,Y}_{n})}_{T_{X\rightarrow Y}},
\end{eqnarray}
\section*{Materials and methods}
\subsection*{Etiam eget sapien nibh}
% For figure citations, please use "Fig" instead of "Figure".
Nulla mi mi, Fig~\ref{fig1} venenatis sed ipsum varius, volutpat euismod diam. Proin rutrum vel massa non gravida. Quisque tempor sem et dignissim rutrum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi at justo vitae nulla elementum commodo eu id massa. In vitae diam ac augue semper tincidunt eu ut eros. Fusce fringilla erat porttitor lectus cursus, \nameref{S1_Video} vel sagittis arcu lobortis. Aliquam in enim semper, aliquam massa id, cursus neque. Praesent faucibus semper libero.
% Place figure captions after the first paragraph in which they are cited.
\begin{figure}[!h]
\caption{{\bf Bold the figure title.}
Figure caption text here, please use this space for the figure panel descriptions instead of using subfigure commands. A: Lorem ipsum dolor sit amet. B: Consectetur adipiscing elit.}
\label{fig1}
\end{figure}
% Results and Discussion can be combined.
\section*{Results}
Nulla mi mi, venenatis sed ipsum varius, Table~\ref{table1} volutpat euismod diam. Proin rutrum vel massa non gravida. Quisque tempor sem et dignissim rutrum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi at justo vitae nulla elementum commodo eu id massa. In vitae diam ac augue semper tincidunt eu ut eros. Fusce fringilla erat porttitor lectus cursus, vel sagittis arcu lobortis. Aliquam in enim semper, aliquam massa id, cursus neque. Praesent faucibus semper libero.
% Place tables after the first paragraph in which they are cited.
\begin{table}[!ht]
\begin{adjustwidth}{-2.25in}{0in} % Comment out/remove adjustwidth environment if table fits in text column.
\centering
\caption{
{\bf Table caption Nulla mi mi, venenatis sed ipsum varius, volutpat euismod diam.}}
\begin{tabular}{|l+l|l|l|l|l|l|l|}
\hline
\multicolumn{4}{|l|}{\bf Heading1} & \multicolumn{4}{|l|}{\bf Heading2}\\ \thickhline
$cell1 row1$ & cell2 row 1 & cell3 row 1 & cell4 row 1 & cell5 row 1 & cell6 row 1 & cell7 row 1 & cell8 row 1\\ \hline
$cell1 row2$ & cell2 row 2 & cell3 row 2 & cell4 row 2 & cell5 row 2 & cell6 row 2 & cell7 row 2 & cell8 row 2\\ \hline
$cell1 row3$ & cell2 row 3 & cell3 row 3 & cell4 row 3 & cell5 row 3 & cell6 row 3 & cell7 row 3 & cell8 row 3\\ \hline
\end{tabular}
\begin{flushleft} Table notes Phasellus venenatis, tortor nec vestibulum mattis, massa tortor interdum felis, nec pellentesque metus tortor nec nisl. Ut ornare mauris tellus, vel dapibus arcu suscipit sed.
\end{flushleft}
\label{table1}
\end{adjustwidth}
\end{table}
%PLOS does not support heading levels beyond the 3rd (no 4th level headings).
\subsection*{\lorem\ and \ipsum\ nunc blandit a tortor}
\subsubsection*{3rd level heading}
Maecenas convallis mauris sit amet sem ultrices gravida. Etiam eget sapien nibh. Sed ac ipsum eget enim egestas ullamcorper nec euismod ligula. Curabitur fringilla pulvinar lectus consectetur pellentesque. Quisque augue sem, tincidunt sit amet feugiat eget, ullamcorper sed velit. Sed non aliquet felis. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris commodo justo ac dui pretium imperdiet. Sed suscipit iaculis mi at feugiat.
\begin{enumerate}
\item{react}
\item{diffuse free particles}
\item{increment time by dt and go to 1}
\end{enumerate}
\subsection*{Sed ac quam id nisi malesuada congue}
Nulla mi mi, venenatis sed ipsum varius, volutpat euismod diam. Proin rutrum vel massa non gravida. Quisque tempor sem et dignissim rutrum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi at justo vitae nulla elementum commodo eu id massa. In vitae diam ac augue semper tincidunt eu ut eros. Fusce fringilla erat porttitor lectus cursus, vel sagittis arcu lobortis. Aliquam in enim semper, aliquam massa id, cursus neque. Praesent faucibus semper libero.
\begin{itemize}
\item First bulleted item.
\item Second bulleted item.
\item Third bulleted item.
\end{itemize}
\section*{Discussion}
Nulla mi mi, venenatis sed ipsum varius, Table~\ref{table1} volutpat euismod diam. Proin rutrum vel massa non gravida. Quisque tempor sem et dignissim rutrum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi at justo vitae nulla elementum commodo eu id massa. In vitae diam ac augue semper tincidunt eu ut eros. Fusce fringilla erat porttitor lectus cursus, vel sagittis arcu lobortis. Aliquam in enim semper, aliquam massa id, cursus neque. Praesent faucibus semper libero~\cite{bib3}.
\section*{Conclusion}
CO\textsubscript{2} Maecenas convallis mauris sit amet sem ultrices gravida. Etiam eget sapien nibh. Sed ac ipsum eget enim egestas ullamcorper nec euismod ligula. Curabitur fringilla pulvinar lectus consectetur pellentesque. Quisque augue sem, tincidunt sit amet feugiat eget, ullamcorper sed velit.
Sed non aliquet felis. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris commodo justo ac dui pretium imperdiet. Sed suscipit iaculis mi at feugiat. Ut neque ipsum, luctus id lacus ut, laoreet scelerisque urna. Phasellus venenatis, tortor nec vestibulum mattis, massa tortor interdum felis, nec pellentesque metus tortor nec nisl. Ut ornare mauris tellus, vel dapibus arcu suscipit sed. Nam condimentum sem eget mollis euismod. Nullam dui urna, gravida venenatis dui et, tincidunt sodales ex. Nunc est dui, sodales sed mauris nec, auctor sagittis leo. Aliquam tincidunt, ex in facilisis elementum, libero lectus luctus est, non vulputate nisl augue at dolor. For more information, see \nameref{S1_Appendix}.
\section*{Supporting information}
% Include only the SI item label in the paragraph heading. Use the \nameref{label} command to cite SI items in the text.
\paragraph*{S1 Fig.}
\label{S1_Fig}
{\bf Bold the title sentence.} Add descriptive text after the title of the item (optional).
\paragraph*{S2 Fig.}
\label{S2_Fig}
{\bf Lorem ipsum.} Maecenas convallis mauris sit amet sem ultrices gravida. Etiam eget sapien nibh. Sed ac ipsum eget enim egestas ullamcorper nec euismod ligula. Curabitur fringilla pulvinar lectus consectetur pellentesque.
\paragraph*{S1 File.}
\label{S1_File}
{\bf Lorem ipsum.} Maecenas convallis mauris sit amet sem ultrices gravida. Etiam eget sapien nibh. Sed ac ipsum eget enim egestas ullamcorper nec euismod ligula. Curabitur fringilla pulvinar lectus consectetur pellentesque.
\paragraph*{S1 Video.}
\label{S1_Video}
{\bf Lorem ipsum.} Maecenas convallis mauris sit amet sem ultrices gravida. Etiam eget sapien nibh. Sed ac ipsum eget enim egestas ullamcorper nec euismod ligula. Curabitur fringilla pulvinar lectus consectetur pellentesque.
\paragraph*{S1 Appendix.}
\label{S1_Appendix}
{\bf Lorem ipsum.} Maecenas convallis mauris sit amet sem ultrices gravida. Etiam eget sapien nibh. Sed ac ipsum eget enim egestas ullamcorper nec euismod ligula. Curabitur fringilla pulvinar lectus consectetur pellentesque.
\paragraph*{S1 Table.}
\label{S1_Table}
{\bf Lorem ipsum.} Maecenas convallis mauris sit amet sem ultrices gravida. Etiam eget sapien nibh. Sed ac ipsum eget enim egestas ullamcorper nec euismod ligula. Curabitur fringilla pulvinar lectus consectetur pellentesque.
\section*{Acknowledgments}
Cras egestas velit mauris, eu mollis turpis pellentesque sit amet. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nam id pretium nisi. Sed ac quam id nisi malesuada congue. Sed interdum aliquet augue, at pellentesque quam rhoncus vitae.
\nolinenumbers
% Either type in your references using
% \begin{thebibliography}{}
% \bibitem{}
% Text
% \end{thebibliography}
%
% or
%
% Compile your BiBTeX database using our plos2015.bst
% style file and paste the contents of your .bbl file
% here. See http://journals.plos.org/plosone/s/latex for
% step-by-step instructions.
%
\begin{thebibliography}{10}
\bibitem{bib1}
Conant GC, Wolfe KH.
\newblock {{T}urning a hobby into a job: how duplicated genes find new
functions}.
\newblock Nat Rev Genet. 2008 Dec;9(12):938--950.
\bibitem{bib2}
Ohno S.
\newblock Evolution by gene duplication.
\newblock London: George Alien \& Unwin Ltd. Berlin, Heidelberg and New York:
Springer-Verlag.; 1970.
\bibitem{bib3}
Magwire MM, Bayer F, Webster CL, Cao C, Jiggins FM.
\newblock {{S}uccessive increases in the resistance of {D}rosophila to viral
infection through a transposon insertion followed by a {D}uplication}.
\newblock PLoS Genet. 2011 Oct;7(10):e1002337.
\end{thebibliography}
\end{document} qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%2345678901234567890123456789012345678901234567890123456789012345678901234567890
% 1 2 3 4 5 6 7 8
\documentclass[letterpaper, 10 pt, conference]{ieeeconf} % Comment this line out
% if you need a4paper
%\documentclass[a4paper, 10pt, conference]{ieeeconf} % Use this line for a4
% paper
\IEEEoverridecommandlockouts % This command is only
% needed if you want to
% use the \thanks command
\overrideIEEEmargins
% See the \addtolength command later in the file to balance the column lengths
% on the last page of the document
% The following packages can be found on http:\\www.ctan.org
%\usepackage{graphics} % for pdf, bitmapped graphics files
%\usepackage{epsfig} % for postscript graphics files
\usepackage{color}
\usepackage{float}
\usepackage{comment}
\definecolor{rosegold}{rgb}{0.72, 0.43, 0.47}
%\usepackage{mathptmx} % assumes new font selection scheme installed
%\usepackage{times} % assumes new font selection scheme installed
%\usepackage{amsmath} % assumes amsmath package installed
%\usepackage{amssymb} % assumes amsmath package installed
\usepackage[english]{babel}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{placeins}
\usepackage{multirow}
\usepackage{graphicx} % include this line if your document contains figures
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{eurosym}
%\usepackage{subcaption}
%\usepackage{caption}
\usepackage{color}
\newcommand{\kXX}[1]{\color{blue} XX #1 XX \color{black}}
\setlength{\textfloatsep}{3pt}% Remove \textfloatsep
\usepackage{subcaption}
\DeclareMathOperator*{\argminA}{arg\,min}
\DeclareMathOperator*{\lSupervised}{l}
\usepackage[linesnumbered,ruled]{algorithm2e}
% http://ctan.org/pkg/graphicx
\title{\LARGE \bf
Sample Efficient Interactive End-to-End Deep Learning for Self-Driving Cars with Selective Multi-Class Safe Dataset Aggregation
}
%\author{ \parbox{3 in}{\centering Huibert Kwakernaak*
% \thanks{*Use the $\backslash$thanks command to put information here}\\
% Faculty of Electrical Engineering, Mathematics and Computer Science\\
% University of Twente\\
% 7500 AE Enschede, The Netherlands\\
% {\tt\small [email protected]}}
% \hspace*{ 0.5 in}
% \parbox{3 in}{ \centering Pradeep Misra**
% \thanks{**The footnote marks may be inserted manually}\\
% Department of Electrical Engineering \\
% Wright State University\\
% Dayton, OH 45435, USA\\
% {\tt\small [email protected]}}
%}
\author{Yunus Bicer$^{1}$, Ali Alizadeh$^{2}$, Nazim Kemal Ure$^{3}$, Ahmetcan Erdogan$^{4}$ and Orkun Kizilirmak$^{4}$ % <-this % stops a space
\thanks{*This work is supported by AVL Turkey and Scientific and Technological Research Council of Turkey under the grant agreement TEYDEB 1515 / 5169901}% <-this % stops a space
\thanks{$^{1}$Y. Bicer is with Faculty of Aeronautics and Astronautics, Aerospace Engineering,
Istanbul Technical University, Turkey
{\tt\small biceryu at itu.edu.tr}}%
\thanks{$^{2}$A. Alizadeh is with Faculty of Mechatronics Engineering, Istanbul Technical University, Turkey {\tt\small Alizadeha at itu.edu.tr}}%
\thanks{$^{3}$N.K. Ure is with Faculty of Aeronautics and Astronautics, Department of Aeronautical Engineering, Istanbul Technical University, Turkey
{\tt\small ure at itu.edu.tr}}%
\thanks{$^{4}$A. Erdogan and O. Kizilirmak are with AVL Turkey, Istanbul, Turkey
{\tt\small ahmetcan.erdogan, orkun.kizilirmak at avl.com}}%
}
\begin{document}
\maketitle
\thispagestyle{empty}
\pagestyle{empty}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{abstract}
The objective of this paper is to develop a sample efficient end-to-end deep learning method for self-driving cars, where we attempt to increase the value of the information extracted from samples, through careful analysis obtained from each call to expert driver's policy. End-to-end imitation learning is a popular method for computing self-driving car policies. The standard approach relies on collecting pairs of inputs (camera images) and outputs (steering angle, etc.) from an expert policy and fitting a deep neural network to this data to learn the driving policy. Although this approach had some successful demonstrations in the past, learning a good policy might require a lot of samples from the expert driver, which might be resource-consuming. In this work, we develop a novel framework based on the Safe Dataset Aggregation (safe DAgger) approach, where the current learned policy is automatically segmented into different trajectory classes, and the algorithm identifies trajectory segments/classes with the weak performance at each step. Once the trajectory segments with weak performance identified, the sampling algorithm focuses on calling the expert policy only on these segments, which improves the convergence rate. The presented simulation results show that the proposed approach can yield significantly better performance compared to the standard Safe DAgger algorithm while using the same amount of samples from the expert.
\end{abstract}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{INTRODUCTION}
Recent years saw significant advances in self-driving car technologies, mainly due to several breakthroughs in the area of deep learning. In particular, the use of vision-based methods to generate driving policies has been of interest to a vast body of researchers, resulting in a variety of different learning and control architectures, that can be roughly classified into classical and end-to-end methods. Conventional methods approach the problem of autonomous driving in three stages; perception, path planning, and control \cite{leonard2008}. In the perception stage, feature extraction and image processing techniques such as color enhancement, edge detection, etc. are applied to image data to detect lane markings. In path planning, reference, and the current path of the car is determined based on the identified features in perception. In the control part, control actions for the vehicle such as steering, speed, etc. are calculated from reference and the current path with an appropriate control algorithm. The performance of the classical methods heavily depends on the performance of the perception stage, and this performance can be sub-optimal because of the manually defined features and rules in this stage \cite{c1}. Sequential structure of the classical methods might also lead to the non-robustness against errors, as an error in feature extraction can result in an inaccurate final decision.
On the other hand, end-to-end learning methods learn a function from the samples obtained from an expert driving policy. The learned function can generate the control inputs directly from the vision data, combining the three layers of the classical control sequence into a single step. By far, the most popular approach for representing the mapping from images to controls in end-to-end driving is using neural networks (NN). ALVINN by Pomerleau \cite{c2} is one of the initial works in this area, which uses a feedforward neural network that maps frames of the front-facing camera to steering input. Researchers from Nvidia utilized convolutional neural networks (CNN) \cite{c3} to automatize the feature extraction process and predict steering input. An FCN-LSTM architecture\cite{c4} is proposed to increase learning performance with scene segmentation. In \cite{c5}, a visual attention model used to highlight some essential regions of frames for better prediction. Although the steering input prediction in an end-to-end manner is a well-studied problem in the literature, the steering input alone is not sufficient for fully autonomous driving. In \cite{c6}, a CNN-LSTM network is proposed to predict the speed and steering inputs synchronously.
Pure end-to-end learning policies are limited to the demonstrated performance, and although the training and validation loss on the data collected from the expert might be low, errors accumulated from the execution of the learned driving policy might lead to poor performance in the long run. This performance loss is partly because the learned driving policy is likely to observe states that do not belong to the distribution of the original expert demonstration data. DAgger \cite{c7} algorithm addresses this issue by iteratively collecting training data from both expert and trained policies. The main idea behind DAgger is to actively obtain more samples from the expert to improve the learned policy. Even though DAgger achieves better driving performance, it might end up obtaining a lot of samples from the expert, which can be time and resource-consuming in many real-life scenarios. SafeDAgger \cite{c8} algorithm, an extension of DAgger, attempts to minimize the number of calls to the expert by predicting the unsafe trajectories of the learned driving policy and only calls the expert on such cases. Another extension of DAgger, EnsembleDAgger \cite{c9}, predicts the variance of the decisions by using multiple models and takes it as additional safety criteria like SafeDAgger.
In this paper, we propose a novel framework which is sample-efficient compared to the SafeDAgger algorithm (state-of-the-art data aggregation method), named Selective SafeDAgger. The proposed algorithm classifies the trajectories executed by the learned policy to safe and multiple classes of unsafe segments. After the prediction, the model focuses on obtaining the expert policy samples primarily from the identified unsafe segment classes. Our main contribution is an imitation learning algorithm that collects the most promising samples from the expert policy, which enables outperforming the SafeDAgger method while limited to the same number of calls to the expert.
This paper is organized as follows. Section II provides the details of the methodology. The experimental setup is provided in section III, followed by a discussion about results in section IV and conclusions in section V.
\section{METHODOLOGY}
In this section, driving policies, the architecture of the network, and devised algorithm are explained in detail.
\subsection{Driving Policies}
We begin with giving definitions of the used terms to explain driving policies in detail.
A set of states $S$ for the car in this paper is an environment model, and $s \in S$ is one of the states for the car in that environment. Observation of the state $s$ is defined as $\phi(s) \in \Phi(S)$ where $\Phi(S)$ is the observation set for all states. $a(s)\in A(S)$ will be driving action at observation $\phi(s)$ where $A(S)$ is the set of all possible actions.
A set of driving policies $\Pi$ is defined as in Eq. (\ref{eq:drivingPloicy}).\begin{equation} \label{eq:drivingPloicy}
\Pi: \Phi(S) \rightarrow A(S)
\end{equation}where $\Pi$ is a mapping from state observations $\phi(s)$ to driving actions $a(s)$ such as steering, throttle, brake, etc.
Two distinct driving policies are defined throughout the paper. The first one is an expert policy $\pi^*\in\Pi$ that drives the car with a reasonable performance that we want to imitate. An expert policy in an autonomous driving scenario is usually chosen as actions of a human driver. Variants of DAgger algorithms, however, have mislabeling problem in case of the human driver, since drivers do not have feedback feelings from their actions and they can give incorrect reactions to the given states. To overcome the mislabeling problem, we have used a rule-based controller which contains speed and steering controllers, as an expert policy in this paper. The second one is a primary policy $\pi_0\in\Pi$ that is trained to drive a car. This policy is a sub-optimal policy according to the expert policy since it is trained on a subset of observation set $\Phi(S)$.
Training a primary policy to mimic an expert policy is called imitation learning or learning by demonstration. One of the most common methods for imitation learning is based on supervised learning techniques. The loss function for the supervised learning is defined as in Eq. (\ref{eq:loss}) \cite{c8}. \begin{equation}
\label{eq:loss}
l_{supervised}(\pi,\pi^{*},D_0) = \frac{1}{N}\sum_{i=1}^{N} ||\pi(\phi(s_i)) - \pi^{*}(\phi(s_i))||^2
\end{equation}where $l_{supervised} $ refers to $l^2$-Norm between trained and expert policy actions.
A primary policy as in Eq. (\ref{eq:primary}) is defined as a policy that minimizes the loss function as follows.\begin{equation}
\label{eq:primary}
\pi_{0} = \argminA_{\pi} l_{supervised}(\pi, \pi^{*}, D_{0})
\end{equation}
Minimization of the loss function can be challenging since it is known that the relation between image frames and driving actions is highly nonlinear. So, we have used a deep neural network architecture to find an optimal solution for the primary policy.
\subsection{Network Architecture}
The earlier works in end-to-end learning for self-driving cars focus on computing only the steering angle from a single image or a sequence of images. The longitudinal control component is required to reach a higher level of autonomy in the end-to-end framework. In this work, we utilize the multi-task model proposed in \cite{c6} as our baseline, which is capable of generating both longitudinal and lateral control inputs for the car. Besides, we utilize a speed controller rather than the classical throttle/brake commands for the longitudinal control. The steering action is predicted from the raw image inputs taken from the cameras located in front of the vehicle through convolution layers, and the speed is predicted from a sequence of speed profiles through a Long-Short Term Memory (LSTM) layer. There exists a single-direction coupling between the longitudinal controller (speed controller) and the lateral steering actions. In particular, the speed of the vehicle has a significant impact on the prediction model, since entering a turn with low speed represents different dynamics for the lateral controller when compared to a high-speed maneuver. Moreover, the straight trajectory dominates the whole other trajectory types (e.g., turn left, turn right); therefore, the trained network will be biased toward the straight path. To recover from this issue, we decided to define various trajectory types including all major maneuvers such as straight, turn left, turn right and low and high-speed scenarios, by which the devised model will learn the other less-occurring maneuvers.
The model architecture is shown in Fig \ref{fig:Architecture}. It takes the current observation and the past speed profile and returns steering action, speed action, and the class of the trajectory segment. The multi-task network predicts the steering angle through a visual encoder using a stack of convolution and fully-connected layers. In the first two convolution layers (Conv1 and Conv2), large kernel size is adopted to better capture the environment features, which is suitable for the front-view camera. Inputs and kernels of the each convolution layer is denoted by "$\# channels @ input\,height \times input\,width $" and "$kernel\,height \times kernel\,width \times \# channels$" and each fully connected layer is denoted by "$FC - \text{size of neurons}$". The speed and trajectory class are predicted through a concatenation of visual encoder and feedback speed features. The speed features are extracted by an LSTM layer followed by fully-connected layers. ReLU (Rectified Linear Unit) is used as the activation function for all layers. Mean absolute error is the loss function for both speed and steering angle predictions as regression problems. On the other hand, the cross-entropy applies to the trajectory classifier as a classification problem.
\begin{figure}[]
\centering
\includegraphics[width=0.8\columnwidth,trim={0 0.46cm 0 0.33cm},clip]{architecture.png}
\caption{Sample-efficient Selective SafeDAgger model}
\label{fig:Architecture}
\end{figure}
The multi-class classifier highlighted in Fig. \ref{fig:Architecture} extends the safeDAgger method to a novel algorithm devised in this paper. The trajectory classes are defined as follows:\begin{equation} \label{eq:multi-class}
c_{s}(\pi,\phi(s)) = \begin{cases}
1,&\text{Safe Trajectories} \\
2,& \text{Unsafe Low-Speed Left(LL)} \\
3,&\text{Unsafe High-Speed Left(HL)} \\
4,&\text{Unsafe Low-Speed Right(LR)} \\
5,&\text{Unsafe High-Speed Right(HR)} \\
6,&\text{Unsafe Low-Speed Straight(LS)} \\
7,&\text{Unsafe High-Speed Straight(HS)} \\
\end{cases}
\end{equation}Low and high speeds with combinations of left, straight and right turn cover almost all unsafe trajectories. Same combinations also applicable for safe trajectories but since it is not needed to call expert policy in safe trajectories, we define only one class for the safe trajectories.
The multi-class classifier takes the partial observation of the state $\phi(s)$ which contains the visual perception and the past speed profile and returns a label indicating in which part of the trajectory the policy will likely to deviate from the expert policy $\pi^{*}$.
The labels for training the model was generated through one-hot-encoding method, defined by sequential decisions; first, it was decided whether the policy is safe by measuring its distance from the expert policy through $l^2$-Norm metric using Eq. (\ref{eq:l2_norm_metric}). \begin{equation}
\label{eq:l2_norm_metric}
c_{s}(\pi, \phi(s)) = \begin{cases}
0, & ||\pi(\phi(s)) -\pi^{*}(\phi(s))|| > \tau_{safe} \\
1,&\text{otherwise}\end{cases}
\end{equation}where $\tau_{safe}$ is a predefined threshold and can be chosen arbitrarily. Furthermore, to distinguish between low-speed and high-speed turn trajectories, steering threshold $\tau_{turn}$, speed thresholds for turn maneuver $\tau_{speed, turn}$ and straight trajectory $\tau_{speed, straight}$ are defined heuristically based on the response of the car dynamics in these trajectories. The threshold values for this work is depicted in Table \ref{table:thresholds}.
\vspace{-3mm}
\begin{table}[h]
{\setlength{\tabcolsep}{14pt}
\caption{Threshold Values in Labeling Process}
\begin{center}
\vspace{-3mm}
\begin{tabular}{cc}
\hline\hline
Parameter & Threshold value \\
\hline
$\tau_{safe}$ & $0.5$ \\
$\tau_{turn}$ & $0.25^{\circ}$\\
$\tau_{speed, turn}$ & $10 \, \, m/s$ \\
$\tau_{speed, straight}$ & $13.75 \, \, m/s$ \\
\hline
\end{tabular}
\end{center}
\label{table:thresholds}}
\vspace{-4mm}
\end{table}\noindent where $\tau_{safe}$ as $0.5$ yields $0.25^{\circ}$ for the steering angle and $1 \, m/s$ for the speed difference between the network prediction and expert policy output.
\subsection{Selective SafeDAgger Algorithm}
\begin{algorithm}
\SetKwInOut{Input}{Input}
\SetKwInOut{Output}{Output}
Collect $D_{0}$ using $\pi^{*}$ \label{D_0} \\
$\pi_{0} = \argminA_{\pi} l_{supervised}(\pi, \pi^{*}, D_{0})$ \\
\For{i = 1:N}{
\label{begin}
\textcolor{blue}{{$c_{i} \leftarrow $ Define unsafe classes over $D_{0}$} \\ $D \leftarrow [\,]$ \\
\While{$k \le T$}{\label{begin2}
$\phi_k \leftarrow \phi(s)$\\
$c_{\phi_k} \leftarrow$ classifier output of $\pi_i(\phi_k)$ \\
\eIf{$c_{\phi_k} \in c_i$}{
use $ \pi^*(\phi_k)$\\
$D^{'} \leftarrow [\phi_k]$\\
$k = k+1$
}
{
use $\pi_i(\phi_k)$\\
}
}\label{end2}}
$D_{i} = D_{i-1} \cup D^{'}$ \\
$\pi_{i+1} = \argminA_\pi \,\lSupervised_{supervised}(\pi, \pi^{*}, D_{i})$ \\
\label{end}
}
\textbf{return} best $\pi_i$ over validation set
\caption{Selective SafeDAgger: \quad \small \textcolor{blue}{Blue} fonts distinguishes the difference between Selective SafeDAgger and SafeDAgger}
\label{Algorithm1}
\end{algorithm}
Algorithm \ref{Algorithm1} describes the proposed method in detail, which takes the expert policy $\pi^{*}$ as an input and gives $\pi_i$ as an output. The primary dataset $D_0$ is collected by using $\pi^*$, which is then utilized in training a primary policy $\pi_0$ by a supervised learning method. Having the $\pi_0$ at hand, $c_i$, the unsafe classes of $D_0$ for the trained policy $\pi_i$ are determined. An observation $\phi_k $ taken from environment $\phi(s)$ is evaluated by $\pi_i$ to find its class $c_{\phi_k}$. If $c_{\phi_k}$ is an element of $c_i$, $\pi^{*}$ takes over the control of the car and $\phi_k $ is appended to $D^{'}$. Otherwise, $\pi_i$ continues to command the car until it encounters an unsafe class. As depicted in lines \ref{begin2}-\ref{end2}, the algorithm continues to append data to $D^{'}$ for T number of iterations. The appended dataset $D^{'}$ is aggregated into $D_{i-1}$ to create $D_i$ and $\pi_{i+1}$ is trained on $D_i$. This loop is repeated for N times, as shown in lines \ref{begin}-\ref{end}. In the end, the algorithm returns the best $\pi_i$ over the validation set.
\section{EXPERIMENTS}
\subsection{System Setup}
\subsubsection{Simulator}
AirSim used in this work is an Unreal Engine Plugin based simulator for drones and cars established by Microsoft to create a platform for AI studies to develop and test new deep learning, computer vision and reinforcement learning algorithms for autonomous vehicles with photo-realistic graphs in simulations \cite{c10}. It has built-in APIs for interfacing with Python coding language. Furthermore, the engine editor creates custom environments or scenarios.
The road track for the training process of the algorithm is devised in a way to capture all defined scenarios in this work. The geometry of the custom created training track is shown in Fig. \ref{fig:track_visualization}, in which all the trajectory classes are illustrated.
\begin{figure}[h]
\centering
\includegraphics[width=0.9\columnwidth,trim={0 1.3cm 0 2.3cm},clip]{track_visualization.png}
\caption{Train set track}
\label{fig:track_visualization}
\end{figure}
Representative power of the training set can be increased by collecting data from unseen observations. With that reason, two additional cameras were added to the front-facing camera with an angle of $\gamma$ to imitate turning-like maneuvers \cite{c3}. Airsim APIs provide ground truth labels for the front-facing camera frames, but ground truth labels for the left and right cameras should be adjusted with a threshold as in Eq. (\ref{eq:3cam_eqn}).
\begin{equation} \label{eq:3cam_eqn}
\begin{bmatrix}
L_{l} \\
L_{r}
\end{bmatrix} =
\begin{bmatrix}
L_{c_{steering}} +\gamma &L_{c_{speed}} - p_{speed} \\
L_{c_{steering}} - \gamma & L_{c_{speed}} - p_{speed}
\end{bmatrix}
\end{equation}where $L_{l}$, $L_{r}$, $L_{c_{steering}}$ and $L_{c_{speed}} $ refer to the ground truth for the left and right cameras, center camera steering and speed actions respectively. In the turning case, the ground truth speed of the vehicle is adjusted by a parameter $p_{speed}$ which is chosen as $4$ $m/s$ heuristically.
%\begin{figure}[]
%\centering
%\fbox{\includegraphics[width=0.3\columnwidth]{3Camera.png}}
%\caption{3 camera view with an $\alpha$ angle }
%\label{fig:3Cam}
%\end{figure}
%\noindent where $L_{l}$ and $L_{r}$ refer to the ground truth for the left and right cameras. In addition, ground truth for center camera represented by $L_{c_{steering}}$ and $L_{c_{speed}} $ for steering and speed commands. In turning case, ground truth speed of the vehicle adjusted by a parameter $p_{speed}$ which is chosen as $4$ $m/s$ heuristically.
\subsubsection{Data Preprocessing}
A couple of techniques were utilized in the preprocessing phase. The input raw image was down-sampled to the size of 1442563 (RGB) and a Region of Interest (ROI) defined with the size of 59255 to cover almost the entire road and ignore the features above the horizon, which reduces the computational cost. Moreover, to improve the convergence rate and robustness of the neural network model, the processed image was normalized to the range [0,1] and augmented by randomly changing the brightness of the image with a scale of 0.4. The normalization was done by dividing all image pixels by 255.
% \begin{figure}[]
% \centering
% %\includegraphics[width=120pt]{ROI.png}
% \includegraphics[width=0.8\columnwidth]{ROI.png}
% \caption{Region of Interest}
% \label{fig:ROI}
% \end{figure}
\subsubsection{Expert Policy }
To automatize the data collection part of the algorithm, a rule-based expert policy is defined as shown in Fig. \ref{fig:expert}.
\begin{figure}[h]
\centering
\includegraphics[width=0.75\columnwidth]{Expert.png}
\caption{Expert policy}
\label{fig:expert}
\end{figure}
For the steering action, $T_1$ is a tangent line to the road spline at the position of the car and $P_{1}$ is a point on road spline with $l_{ref}$ distance along spline from that positions. Tangent line at $P_{1}$ according to road spline is $T_2$. The angle between $T_1$ and $T_2$ which is $\alpha$ will be expert steering action as depicted in Eq. (\ref{eq:SteeringCommand}).\begin{equation}
\label{eq:SteeringCommand}
a_{steering}= \alpha = \arccos{\left(\frac{ T_1\cdot T_2}{\left\lVert T_1\right\rVert \left\lVert T_2\right\rVert}\right)}
\end{equation}
For the speed action, $P_2$ is a point on the road spline with a distance $l_{P_2}$ from the position of the car along the road spline as depicted in Eq. (\ref{eq:RefDist}). \begin{equation}
\label{eq:RefDist}
l_{P_2} = l_{ref} V_{current} k_{steering}
\end{equation}
\noindent where $V_{current}$ is current speed and $k_{steering}$ is a fine tuned constant. Tangent line at $P_2$ according to the road spline is $T_3$.
\begin{figure*}
\centering
\includegraphics[width=0.8\linewidth,trim={0 0.52cm 0 0.5cm},clip]{multiClass_convergance.png}
%\includegraphics[width=\columnwidth]{multiClass_convergance.png}
\caption{Convergence rate of the proposed model; It shows the improvement of the model as the number of dataset aggregation iterations increases.}
\label{fig:3-iteration_convergence}
\vspace{-4mm}
\end{figure*}
Expert speed action is defined by Eq. (\ref{eq:SpeedCommand}). \begin{equation}
\label{eq:SpeedCommand}
a_{speed} = V_{cruise}-\beta k_{speed}
\end{equation}
\noindent where $V_{cruise}$ is a pre-defined cruise speed, $k_{speed}$ is a fine tuned gain and $\beta$ is an angle between $T_1$ and $T_3$.
For our implementation, the parameters are chosen as $l_{ref} = 1$ m, $k_{steering} = 5 $, $V_{cruise}=13.8$ m/s and $k_{speed}=10$.
\subsection{Training}
For the training of the primary policy $\pi_0$, dataset $D_0$, which contains 2800 image data were collected by using expert policy $\pi^*$. Nesterov Adam Optimizer (Nadam) was used as an optimizer for the training of the network with the initial learning rate of $10^{-5}$ and moment of 0.99. The Training continued for ten epochs with the batch size of 32.
Trained primary policy $\pi_0$ is tested on the pre-collected dataset to classify trajectories and calculate the $l^2$-Norm of each sample in the dataset. The weakness of the network over trajectory segments is determined by a coefficient of weakness, which is defined as in Eq. (\ref{eq:class_weak}). \begin{equation}
\label{eq:class_weak}
c_{i} = \dfrac{N_{L2_i}}{N_{i}} \times \mu_{L2,i}
\end{equation}
\noindent where $\mu$, $\sigma$ are mean and standard deviations for the $l^2$-Norm of class$_i$. $N_{L2_i}$ is the total number of samples in class$_i$ that $l^2$-Norm of samples fall in the region of one $\sigma$ away from the mean $\mu$. $N_{i}$ is the total number of samples in class$_i$.
Once the weakness coefficients are calculated, trajectory classes are sorted according to their weakness coefficients, and the two of the most dominant unsafe classes will be chosen for data aggregation as shown in Table \ref{table:coeff}. Additionally, the classes with the mean $l^2$-Norm lower than 1, will be selected as allowable classes.
As depicted in Table \ref{table:coeff}, the weakness coefficients for the class $LS$ and $HS$ are quite low and never chosen as weak classes. The initial dataset for the training is biased toward $LS$, and $HS$ classes and $l^2$-Norms in those classes are low, which lead to low weakness coefficients. Moreover, training track does not have many samples from class $LR$ so that weakness coefficients for the class $LR$ is also low.
\begin{table}[h]
{\setlength{\tabcolsep}{7pt}
\caption{Coefficient of weakness for each class}
\begin{center}
\vspace{-3mm}
\begin{tabular}{ccccccc}
\hline\hline
\# Iter. & $LL$ & $HL$ & $LR$ & $HR$ & $LS$ & $HS$ \\ \hline
1 & 0.004 & \textbf{0.321} & 0.019 & \textbf{0.694} & 0.002 & 0.010 \\
2 & \textbf{0.505} & 0.122 & 0.037 & \textbf{0.278} & 0.001 & 0.023 \\
3 & \textbf{0.635} & 0.264 & 0.028 & \textbf{0.607} & 0.001 & 0.062 \\
4 & \textbf{0.751} & 0.515 & 0.046 & \textbf{0.646} & 0.001 & 0.010 \\
5 & 0.018 & \textbf{0.678} & 0.034 & \textbf{0.755} & 0.001 & 0.010 \\
6 & 0.009 & \textbf{0.752} & 0.039 & \textbf{0.849} & 0.000 & 0.006 \\
7 & 0.717 & \textbf{0.790} & 0.038 & \textbf{0.780} & 0.001 & 0.004 \\
8 & 0.028 & \textbf{0.787} & 0.017 & \textbf{0.794} & 0.001 & 0.006 \\
9 & \textbf{0.670} & 0.634 & 0.011 & \textbf{0.713} & 0.001 & 0.005 \\
10& 0.012 & \textbf{0.768} & 0.020 & \textbf{0.809} & 0.001 & 0.003 \\
\hline
\end{tabular}
\end{center}
\label{table:coeff}}
\vspace{-3mm}
\end{table}
After determination of the weak and allowable classes, the data aggregation phase begins. In this phase, policy $\pi_i$ drives the car to collect 10 batches of data in dominant classes. If policy faces with dominant classes, the expert policy takes control of the vehicle and samples are taken in that time labeled and reserved for aggregation. If policy $\pi_i$ faces with allowable classes which are unsafe, it continues to drive the car. For all the other unsafe classes, the expert policy takes control of the vehicle with the query limit of 10 batch-size. When the number of query reaches the limit, data aggregation freezes and training starts with the new aggregated dataset $D_i$.
After the training, $\pi_i$ becomes $\pi_{i+1}$, and determination of dominant weak classes on the pre-collected data is repeated for collecting relevant data. This process will be repeated for 10 iterations. As shown in Fig. \ref{fig:3-iteration_convergence}, in the dataset aggregation iteration number 1, a significant fraction of dataset is unsafe, and as it proceeds to recover from the most problematic cases, the model error converges. The progress of this process can be seen from iteration number 1 to 10.
\section{RESULTS}
\begin{figure}
\centering
\vspace{-2mm}
\begin{subfigure}[b]{0.5\textwidth}
\centering
\includegraphics[width=0.80\linewidth,trim={0.2cm 0 1.2cm 1.2cm},clip]{Norm.png}
\caption{}
\label{fig:Norm}
\end{subfigure}
\begin{subfigure}[b]{0.5\textwidth}
\centering
\includegraphics[width=0.80\linewidth,trim={0.2cm 0 1.2cm 1cm},clip]{results1200.png}
\caption{}
\label{fig:Norm2}
\end{subfigure}
\caption[Two numerical solutions]{(a) Performance of the Selective SafeDAgger algorithm for all classes at each aggregation iteration. (b) $l^2$-Norm of prediction and ground truth over 10000 samples at each iteration.}
\end{figure}
% \vspace{-3mm}
In Fig. \ref{fig:Norm}, we present the performance of the Selective SafeDAgger with using metric of $l^2$-Norm in each class during the training process. For the first iteration, $HR$ and $HL$ are chosen as weak classes and data for new dataset comes from those classes by querying expert policy. It is seen that in the second iteration, $l^2$-Norms drops for all classes by using aggregated dataset. Notice that the performance of the policy for the other classes is also increased without querying expert policy for those classes which are not the case for the SafeDAgger. Sequential decision making is the main idea behind this behavior. In SafeDAgger, when policy shifts from nominal conditions, the expert policy is called, and the new dataset is collected until the safety criterion is met, which leads to an unnecessary query of the expert policy. On the other hand, Selective SafeDAgger tries to solve the problem from the beginning by finding problematic classes. Besides, after the seventh iteration, the norm of all classes drops below the allowable threshold, which means that resultant dataset covers almost all trajectory classes as seen in Fig. \ref{fig:3-iteration_convergence}.
The trained model is tested at each iteration by taking 10000 samples from the environment and mean $l^2$-Norms are calculated, accordingly. Fig. \ref{fig:Norm2} shows that selective SafeDAgger method has better performance in all iterations than the SafeDAgger method even though both ways have the same amount of query to the expert as depicted in Table \ref{table:query}.
%\begin{figure}[]
% \centering
% \fbox{\includegraphics[width=0.8\columnwidth,trim={0 0 0 1.2cm},clip]{results1200.png}}
% \caption{$l^2$-Norm of prediction and ground truth over 10000 samples at each iteration.}
% \label{fig:results}
%\end{figure}
\vspace{-2mm}
\begin{table}[h]
{\setlength{\tabcolsep}{5pt}
\caption{Query to expert }
\begin{center}
\vspace{-3mm}
\begin{tabular}{cccccccc}
\hline\hline
\multirow{2}{*}{} & \multicolumn{6}{c}{Selective SafeDAgger} & SafeDAgger \\
\cline{2-7} & $LL$ & $HL$ & $LR$ & $HR$ & $LS$ & $HS$ & unsafe \\
\hline
Iteration 1 & 0 & 127 & 38 & 155 & 0 & 0 & 320\\
Iteration 2 & 0 & 44 & 0 & 228 & 0 & 48 & 320\\
Iteration 3 & 19 & 63 & 0 & 238 & 0 & 0 & 320\\
Iteration 4 & 27 & 12 & 0 & 281 & 0 & 0 & 320\\
Iteration 5 & 0 & 165 & 0 & 155 & 0 & 0 & 320\\
Iteration 6 & 31 & 189 & 0 & 100 & 0 & 0 & 320\\
Iteration 7 & 0 & 93 & 0 & 227 & 0 & 0 & 320\\ \
Iteration 8 & 2 & 162 & 0 & 156 & 2 & 5 & 320\\
Iteration 9 & 83 & 0 & 0 & 237 & 0 & 0 & 320\\
Iteration 10 & 0 & 205 & 0 & 115 & 0 & 0 & 320\\
\cline{2-7}
Total & \multicolumn{6}{c}{3200} & 3200\\
\hline
\end{tabular}
\end{center}
\label{table:query}}
\vspace{-6mm}
\end{table}
\begin{figure}[h]
\centering
\includegraphics[width=0.9\columnwidth]{3tracks.png}
\caption{Geometry of test tracks.}
\label{fig:3test}
% \vspace{-4mm}
\end{figure}
Three unseen test tracks were devised to evaluate the generalization performance of the proposed method, where their layouts are illustrated in Fig. \ref{fig:3test}. The generalization performance of the Selective SafeDAgger is depicted in Table \ref{table}, which shows its superiority over SafeDAgger method. The selectivity of the proposed algorithm will define the unsafe cases that dominate all other classes, which results in faster convergence of the model error compared to different dataset aggregation methods.
\begin{table}[H]
{\setlength{\tabcolsep}{10pt}
\caption{Mean $l^2$-Norm on Unseen Test Track}
\begin{center}
\vspace{-3mm}
\begin{tabular}{ccc}
\hline\hline
& Selective SafeDAgger & SafeDAgger \\
\hline
1. Test Track & \textbf{0.4794} & 0.5518\\
2. Test Track & \textbf{0.3295} & 0.4986\\
3. Test Track & \textbf{0.3254} & 0.3632\\
\hline
\end{tabular}
\end{center}
\label{table}}
\vspace{-2mm}
\end{table}
\section{CONCLUSIONS}
In this work, we implemented a Selective SafeDAgger algorithm which is sample-efficient in the selection of dataset aggregation. The proposed algorithm evaluates the performance of the trained policy and determines the weakness of the policy over different trajectory classes and recovers the policy from those specific trajectory classes. Our method outperforms the SafeDAgger algorithms in term of sample-efficiency and convergence rate. Next, we aim to cluster the trajectories with unsupervised neural network techniques to have a better realization of the road trajectories.
\addtolength{\textheight}{-0cm} % This command serves to balance the column lengths
% on the last page of the document manually. It shortens
% the text height of the last page by a suitable amount.
% This command does not take effect until the next page
% so it should come on the page before the last. Make
% sure that you do not shorten the text height too much.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\section*{APPENDIX}
%Appendixes should appear before the acknowledgment.
\section*{ACKNOWLEDGMENT}
This work is supported by \textbf{Scientific and Technological Research Council of Turkey} (Turkish:\textbf{TBTAK}) under the grant agreement \textbf{TEYDEB 1515 / 5169901}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{thebibliography}{99}
\bibitem{leonard2008}J. Leonard, et al., "A Perception-Driven Autonomous Urban Vehicle." Journal of Field Robotics. (10):727-748.
\bibitem{c1} Z. Chen and X. Huang, "End-to-end learning for lane keeping of self-driving cars," 2017 IEEE Intelligent Vehicles Symposium (IV), Los Angeles, CA, 2017, pp. 1856-1860.
\bibitem{c2} D. Pomerleau, ALVINN: An Autonomous Land Vehicle in a Neural Network. NIPS (1988).
\bibitem{c3} M. Bojarski, et al., "End to end learning for self-driving cars", CoRR, vol. abs/1604.07316, 2016.
\bibitem{c4} H. Xu, Y. Gao, F. Yu, and T. Darrell, "End-to-End Learning of Driving Models from Large-Scale Video Datasets," 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Honolulu, HI, 2017, pp. 3530-3538.
\bibitem{c5} J. Kim and J. Canny, "Interpretable Learning for Self-Driving Cars by Visualizing Causal Attention," 2017 IEEE International Conference on Computer Vision (ICCV), Venice, 2017, pp. 2961-2969.
\bibitem{c6} Z. Yang, Y. Zhang, J. Yu, Junjie Cai, and Jiebo Luo.
End-to-end multi-modal multi-task vehicle control for self-driving cars with visual perception. arXiv preprint arXiv:1801.06734, 2018.
\bibitem{c7} S. Ross, G. Gordon, and A. Bagnell. A reduction of imitation learning and structured prediction to no-regret online learning. Journal of Machine Learning Research, 15:627635, 2011.
\bibitem{c8} J. Zhang and K. Cho. Query-efficient imitation learning for end-to-end simulated driving. In AAAI, 2017.
\bibitem{c9} K. Menda, et al., EnsembleDAgger: A Bayesian Approach to Safe Imitation Learning. CoRR abs/1807.08364 (2018): n. pag.
\bibitem{c10} S. Shah, D. Dey, C. Lovett, A. Kapoor, "Airsim: High-fidelity visual and physical simulation for autonomous vehicles", Field and Service Robotics, 2017.
%\bibitem{c11} M. Teti, E. Barenholtz, S. Martin, \& W. Hahn, (2018). A Systematic Comparison of Deep Learning Architectures in an Autonomous Vehicle. arXiv preprint arXiv:1803.09386.
%\bibitem{c12} S. Du, H. Guo, and A. Simpson, Self-Driving Car Steering Angle Prediction Based on Image Recognition. (2017).
%\bibitem{c13} F. Codevilla, M. Mller, A. Lpez, V. Koltun, and A. Dosovitskiy. (2017). End-to-end driving via conditional imitation learning. [Online]. Available: https://arxiv.org/abs/1710.02410.
\end{thebibliography}
\end{document}
\documentclass{article}
% if you need to pass options to natbib, use, e.g.:
\PassOptionsToPackage{numbers, compress}{natbib}
% before loading nips_2018
% ready for submission
%\usepackage{nips_2018}
% to compile a preprint version, e.g., for submission to arXiv, add
% add the [preprint] option:
%\usepackage[preprint]{nips_2018}
\usepackage{graphicx}
% to compile a camera-ready version, add the [final] option, e.g.:
\usepackage[final]{nips_2018}
% to avoid loading the natbib package, add option nonatbib:
%\usepackage[nonatbib]{nips_2018}
\usepackage[utf8]{inputenc} % allow utf-8 input
\usepackage[T1]{fontenc} % use 8-bit T1 fonts
\usepackage{hyperref} % hyperlinks
\usepackage{url} % simple URL typesetting
\usepackage{booktabs} % professional-quality tables
\usepackage{amsfonts} % blackboard math symbols
\usepackage{nicefrac} % compact symbols for 1/2, etc.
\usepackage{microtype} % microtypography
\setcitestyle{square}
\title{
Two-stream Convolutional Networks for End-to-end Learning of Self-driving Cars
}
% The \author macro works with any number of authors. There are two
% commands used to separate the names and addresses of multiple
% authors: \And and \AND.
%
% Using \And between authors leaves it to LaTeX to determine where to
% break the lines. Using \AND forces a line break at that point. So,
% if LaTeX puts 3 of 4 authors names on the first line, and the last
% on the second line, try using \AND instead of \And before the third
% author name.
\author{
Nelson Fernandez\textsuperscript{a,\dag}\\
\textsuperscript{a} Renault Automotive\\
%Technocentre Guyancourt, 78280, France \\
\texttt{[email protected]} \\
\textsuperscript{\dag} Previously at Axionable Labs, Paris France\\
%\texttt{[email protected]} \\
%% examples of more authors
%% \And
%% Coauthor \\
%% Affiliation \\
%% Address \\
%% \texttt{email} \\
%% \AND
%% Coauthor \\
%% Affiliation \\
%% Address \\
%% \texttt{email} \\
%% \And
%% Coauthor \\
%% Affiliation \\
%% Address \\
%% \texttt{email} \\
%% \And
%% Coauthor \\
%% Affiliation \\
%% Address \\
%% \texttt{email} \\
}
\newcommand\blfootnote[1]{%
\begingroup
\renewcommand\thefootnote{}\footnote{#1}%
\addtocounter{footnote}{-1}%
\endgroup