SullyChen / Autopilot-TensorFlow

A TensorFlow implementation of this Nvidia paper: https://arxiv.org/pdf/1604.07316.pdf with some changes
MIT License
1.27k stars 428 forks source link

atan as output #11

Closed jinchenglee closed 8 years ago

jinchenglee commented 8 years ago

Hi, I have two questions:

  1. How did you collect the steering wheel angle data while driving? Tapped into the CAN bus?!

  2. I see you used atan as the NN output, why is that? Ground truth (theta * pi/180) can go beyond [-pi/2, pi/2], how is that factored into your model? From dataset, I see angle degrees as big as 500. y = tf.mul(tf.atan(tf.matmul(h_fc4_drop, W_fc5) + b_fc5), 2) #scale the atan output

I'm learning the machine learning and try to replicate NVidia paper end-to-end network as well.

Thanks. -JC

SullyChen commented 8 years ago

The atan output is scaled by multiplying the output by 2, so the range is actually (-pi, pi), which is sufficient for most driving. One could change the multiplier to 4, such that the range is (-2pi, 2pi), but I found this unnecessary.

-Sully Chen

jinchenglee commented 8 years ago

Thanks for the explanation. But why arctan? Are you trying to get the NN more senitive to small values around 0?