当前位置:网站首页>[paper reading] trajectory guided control prediction for end to end autonomous driving: a simple yet strong Ba
[paper reading] trajectory guided control prediction for end to end autonomous driving: a simple yet strong Ba
2022-07-01 10:39:00 【Kin__ Zhang】
References and foreword
Summary: leaderboard The existing first place TCP, very simple Set up Good results were achieved
Thesis link :Trajectory-guided Control Prediction for End-to-end Autonomous Driving: A Simple yet Strong Baseline
Code link :https://github.com/OpenPerceptionX/TCP The author's reply is expected to 9 Monthly opening
jg When the brush arrives I took a look at it Why are these frames so familiar … Look carefully at the back to find out Learn from each family's strengths High scores for simple sensors That's amazing
1. Motivation
For end-to-end driving tasks , Generally, the trajectory is predicted , Then follow with the controller ; The other is direct prediction controller Output ; Inspired by two methods , Author time : We can learn from each other's advantages , Then the method of this paper
Contribution
- The research tried two methods , Then the paper puts forward the combined pipeline
- multi-step control Prediction makes temporal reasoning
- CARLA Top of the list ( Ranking list viewing time June 25, 2022 )
2. Method
Experts use Roach 【 use RL An expert strategy trained 】, here Whisper I collected some existing open source experts 【Roach, SEED, AUTO, MMFN】, Then I gave a repo carla-expert To collect for you … If you are interested, you can go and order star; If you want to do this later It must be useful , After all, the first time I did a task I've been working on data for a month
original e2e You can also write formulas Gain insight , It is probably the learned strategy and expert data loss In the entire dataset D = { ( x , a ∗ ) } \mathrm{D}=\{(x,a^*)\} D={ (x,a∗)} Next Take the smallest
arg min θ E ( x , a ∗ ) ∼ D [ L ( a ∗ , π θ ( x ) ) ] (1) \arg \min _{\theta} \mathbb{E}_{\left(\mathrm{x}, \mathbf{a}^{*}\right) \sim \mathrm{D}}\left[\mathcal{L}\left(\mathbf{a}^{*}, \pi_{\theta}(\mathbf{x})\right)\right] \tag{1} argθminE(x,a∗)∼D[L(a∗,πθ(x))](1)
2.1 frame
- Overall front encoder frame It can be compared with CILRS
- Loss Design can see Roach One article
Input : A picture ; The speed of the current frame ,high command, Target point, etc

Network details , There are concise descriptions in the appendix and the text :
- The camera size is 900x256,FOV Directly fill it with 100
- K = 4 That is, choose the next four steps steps The action of / Track into
- Image Encoder It uses pre trained ResNet-34
- measurement encoder It is a MLP [ The full text does not elaborate on the specific layers ; For the time being, consider and CILRS Consistent settings That is to say According to the input num Corresponding to the corresponding number of linear To encoder in ] → 128
- Their respective encoder Output concat together form j t r a j \bf{j}^{traj} jtraj → 256
Next Two branch Are directly taken from the common output feature Enter the respective branches
that … loss Yes? backpropagate?
see loss part , Their respective loss Add up , direct .backward()
2.2 Trajectory Branch
and [16] The same will j t r a j \bf{j}^{traj} jtraj Deliver to GRU in , It should be and transfuser The operation is the same , It's probably the feeling in the figure below :

Excerpt from transfuser One article
among Because there is experts The true value of (x,y) Track points as a reference , So it can be counted as loss
Pay attention to the overall frame diagram , After getting these trajectory points , It uses two horizontal and vertical PID Transfer the trajectory to the control quantity , Different from the previous method , there PID Control is horizontal and vertical error, Most of the previous methods are basically a speed control ( Given a speed ), One steering control is primary
2.3 Multi-Step Control Branch
Here is an important point : Before this Based on the current input Predict the next output , The overall output is assumed to be independent and identically distributed . But actually Current input and historical input , And future output are not independent . Contrast and use MDP( Markov decision making process ) and RL Go back / forward , Proposed a simpler way
First, just look at the corresponding light yellow modules in the main frame diagram ,
temporal module Input is j t ctl \mathbf{j}_{\mathrm{t}}^{\text {ctl }} jtctl and a t c t l \mathbf a_t^{ctl} atctl concat After , among :
j t ctl = MLP ( Concat [ Sum ( Softmax ( w t ) ⊙ F ) , h t ctl ] ) \mathbf{j}_{\mathrm{t}}^{\text {ctl }}=\operatorname{MLP}\left(\text { Concat }\left[\operatorname{Sum}\left(\operatorname{Softmax}\left(\mathbf{w}_{\mathrm{t}}\right) \odot \mathbf{F}\right), \mathbf{h}_{\mathrm{t}}^{\text {ctl }}\right]\right) jtctl =MLP( Concat [Sum(Softmax(wt)⊙F),htctl ])
among w t \bf w_t wt By t The moment hidden state concat Together , See the formula below :

and h t t r a j , h t c t l \mathbf h_t^{traj}, \mathbf h_t^{ctl} httraj,htctl It's from their own Trajectory Branch and Control Branch And come
Problem area :
But there is a little doubt here branch Which part of the interior hidden state?
Both modules in Figure 3 are GRU Realized ,hidden state From each GRU Get in
Trajectory yes GRU May be t Next GRU, therefore K Yes, it means how many GRU modular ?
Yes
but Control branch What kind of network MLP? Which floor is that hidden state Well ?
yes MLP hidden state It's all their own GRU From inside , The two before the output in Figure 3 are MLP
2.4 Loss Design
There are mainly three kinds , The trajectory 、 Control and attachment loss
For trajectories :

with transfuser The difference is to join feature Of loss Come in ,j yes 128 Dimensional
For control :

For additional , from image feature Added speed prediction head L1 loss And a value predict forecast expected return Same as [55] equally ,L2 Loss
Then three loss Add up :
L = λ t r a j ⋅ L t r a j + λ c t l ⋅ L c t l + λ a u x ⋅ L a u x \mathcal{L}=\lambda_{t r a j} \cdot \mathcal{L}_{t r a j}+\lambda_{c t l} \cdot \mathcal{L}_{c t l}+\lambda_{a u x} \cdot \mathcal{L}_{a u x} L=λtraj⋅Ltraj+λctl⋅Lctl+λaux⋅Laux
Problem area :
Why feature… How do you do it? loss,expert Of feature It is also output from the same network You can play like this ?
roach practice , from BEV Under the gt Make different inputs , But I don't know if it is collected directly expert Of feature Or use BEV Input to this network loss
- You may have to go and have a look roach Of loss How to play
2.5 Fusion Approach
The integration method is also quite Engineering , Direct judgment In the past 1s Internal steer Absolute value addition Is it more than 0.1, If you exceed, you are considered to be making a turn , Just switch to Mainly track branches ; Otherwise, the multi-step control branch is mainly used

3. Experiments and results
Experiments and results Personally, I think the author is a little easy … Because I smoked directly leaderboard, however !CARLA The difference between leaderboards and others is : Data sets are created by you , In general , Everyone will use their own data sets to train other methods more or less agent In the same expert training The contrast between the two … 【 The general meaning is : The experimental conditions are not consistent , Although you are good online But maybe someone else just used you 1/2 The data of …】
however This does not mean that the method is not effective , After all This is a fraction of what a camera can do , I deeply admire ! The following is just a screenshot of each experiment table and visualization , Because I am too familiar with this task No more , Interested in If you want to try the list, you can have a look relevant CARLA leaderbaord Configure teaching articles It contains a description of the indicators

Some in their own way Control variable Ablation Experiment

This part is read in pieces Some finished reading in the previous experiment hhhh come from jg I'm sorry : Yes CARLA leaderboard Complete overfitting of hhhh After all, this method will not be tried in the car … LAV At least one condition of this method is that it can measure a wave on a real vehicle , It will be much more interpretable such as Find out why , however LAV The real wife is too big , This method The first time my grades were anonymous I don't think it's possible … Return to yourself quick setting A wave of a camera experiment But the effect is not good ( at that time TCP The article hasn't been posted yet )… So let's see if there's a chance Look at the article and repeat it briefly
PS Now, your data set One by one , When I was doing it 100K The frame data is less than … LAV 390K,TCP 420K, Now that I think about it I seem to know why my score is so different It's also a task that I can't understand at the back , however planning This is the only task … The list can be brushed
Give someone a compliment Fragrance in hand ; Positive feedback To better open the record hhh
边栏推荐
- Po mode deep encapsulation
- 数字藏品新一轮热度开启
- 新一代云原生数据库的设计与实践
- [.net6] use ml.net+onnx pre training model to liven the classic "Huaqiang buys melons" in station B
- 在中金证券上做基金定投安全吗?
- SQL server2014 failed to delete the database, with an error offset of 0x0000
- How do clients request databases?
- Prism journal navigation button usability exploration record
- Detailed explanation of linear regression in machine learning
- SQL SERVER2014删除数据库失败,报错偏移量0x0000...
猜你喜欢

谁还在买“三只松鼠”们

云上“视界” 创新无限 | 2022阿里云直播峰会正式上线

Error: missing revert data in call exception

Error: missing revert data in call exception
![C [byte array] and [hexadecimal string] mutual conversion - codeplus series](/img/d2/dad88f53701c7cd7638bd4983cbb4b.png)
C [byte array] and [hexadecimal string] mutual conversion - codeplus series

缺少比较器,运放来救场!(运放当做比较器电路记录)
![[encounter Django] - (II) database configuration](/img/23/aed472757f7e238a146b043c0405d7.png)
[encounter Django] - (II) database configuration

Submission lottery - light application server essay solicitation activity (may) award announcement

Handling distributed transactions with powerful dbpack (PHP tutorial)

关于#SQL#的问题,如何解决?
随机推荐
Uncover the secrets of new products! Yadi Guanneng 3 multi product matrix to meet the travel needs of global users
Handling distributed transactions with powerful dbpack (PHP tutorial)
爬虫(2) - Requests(1) | Requests模块的深度解析
Huawei HMS core joins hands with hypergraph to inject new momentum into 3D GIS
Is the securities account opened by Yixue school for individuals safe? Is there a routine
华为HMS Core携手超图为三维GIS注入新动能
442. 数组中重复的数据
Matplotlib data visualization Foundation
Kotlin coprocessor scheduling switch threads it's time to unravel the truth
SQL optimization - in and not in, exist
【MPC】②quadprog求解正定、半正定、负定二次规划
CCNP Part XII BGP (IV)
Centos 配置discuz 提示请检查 mysql 模块是否正确加载
What should I learn in the zero foundation entry test? It's the most comprehensive. Just learn from it
678. Valid bracket string
Wireshark TS | confusion between fast retransmission and out of sequence
数字藏品新一轮热度开启
Lack of comparator, operational amplifier to save the field! (the op amp is recorded as a comparator circuit)
C# 一行代码计算文件的MD5值 - CodePlus系列
新品大揭秘!雅迪冠能 3 多元产品矩阵,满足全球用户出行需求