当前位置:网站首页>[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
边栏推荐
- Rising stars in Plant Sciences (rsps2022) final Science Lecture (6.30 pm)
- Kotlin 协程调度切换线程是时候解开真相了
- [.NET6]使用ML.NET+ONNX预训练模型整活B站经典《华强买瓜》
- Detailed explanation of linear regression in machine learning
- 哪个券商公司炒股开户佣金低又安全又可靠
- CRC check
- NC | intestinal cells and lactic acid bacteria work together to prevent Candida infection
- 建议收藏 | 在openGauss上遇到慢SQL该怎么办?
- Handling distributed transactions with powerful dbpack (PHP tutorial)
- 关于#SQL#的问题,如何解决?
猜你喜欢

Wireshark TS | confusion between fast retransmission and out of sequence

Programmers want to go to state-owned enterprises? The technology is backward and the salary is low. I can't find a job after lying flat for several years

机器学习之线性回归详解

Simulink simulation circuit model of open loop buck buck buck chopper circuit based on MATLAB

中国探月工程独家藏品限量发售!

使用强大的DBPack处理分布式事务(PHP使用教程)

Matplotlib data visualization Foundation

Today in history: the semiconductor war in the late 1990s; Von Neumann published the first draft; CBS acquires CNET

bash: ln: command not found

推荐一款 JSON 可视化工具神器!
随机推荐
Rising stars in Plant Sciences (rsps2022) final Science Lecture (6.30 pm)
SQL SERVER2014删除数据库失败,报错偏移量0x0000...
Suggest collecting | what to do when encountering slow SQL on opengauss?
Dotnet console uses microsoft Maui. Getting started with graphics and skia
使用强大的DBPack处理分布式事务(PHP使用教程)
leetcode:111. Minimum depth of binary tree
哪个券商公司炒股开户佣金低又安全又可靠
Common penetration tools -goby
12 plateformes de gestion de produits utilisées par tout le monde
What if the win11 account is locked and unable to log in? Win11 account is locked and unable to log in
新品大揭秘!雅迪冠能 3 多元产品矩阵,满足全球用户出行需求
What legal risks and qualifications should be paid attention to when building a digital collection platform?
Rising Stars in Plant Sciences (RSPS2022) Finalist科学演讲会(6.30晚9点)
NC | intestinal cells and lactic acid bacteria work together to prevent Candida infection
[.net6] use ml.net+onnx pre training model to liven the classic "Huaqiang buys melons" in station B
Continue to advance, and softcom power steadily promotes cloud intelligence strategy
2022年现在在网上开通股票账户安全吗?会不会有什么危险?
IDEA运行报错Command line is too long. Shorten command line for...
Recommend a JSON visualization tool artifact!
数字藏品市场新局面