Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DEPLOYMENT model] Need a guidance to get the correct output on the frame for Supercombo model #23

Open
briliantnugraha opened this issue Jun 10, 2023 · 0 comments

Comments

@briliantnugraha
Copy link

Hi, Thanks for the great deepdive!
Btw, Could I ask you two questions:

  1. The first 4955 output of supercombo's onnx model contains 5 lane plans, but what is the sequence of it? FYI, I've tried to follow this REFERENCE, but the sequence of the output seems to be a bit off, could you help to CMIIW?

  1. Is the way to get best lane lines similar to the demo.py file? FYI, I've tried to reproduce it, but It seems that in the demo.py, the pred_trajectory seems to already have xyz separated before output, and you also have put "sinh" and "exp" in here.

What I tried to get the xyz (cmiiw again):

  • Get the first 4955 output, and reshape it into 5x991.
  • Try to separate the hypothesis probs. I've learned from the ref. above that the last shape should be 2x33x15 (990). If I take the last value, I get a very high score (43.xx). So, I guess it should be the last one (cmiiw), then put softmax on it.
    • The cls/hypothesis probs size: 5x1 (HP), the other values (B) will be reshape to 5x2x33x5x3.
  • Get the highest HP's output (HL). (argmax, out size will be 1)
  • Filter B with HL # the out size will be 2x33x5x3
  • Takes the second output (since it will be the current lane, cmiiw). the out size will be 33x5x3.
  • Takes the xyz position out of 5 outputs, the out size will be 33x3.
  • Put "sinh" & "exp" on the first two outputs.
  • Then, do you know what else should I do to get the correct left & right lanes on the frame ? Does it related to the ref below? Or could you give me a little guide? thanks in advance
    https://github.com/OpenDriveLab/Openpilot-Deepdive/blob/main/demo.py#L86
    https://github.com/OpenDriveLab/Openpilot-Deepdive/blob/main/utils.py#L151-L157
res = (array of 1 x 6742) # (output of supercombo.onnx)
lanes_plan_ = res[0,:4995].reshape(5, 991)
lanes_cls = ss_softmax(lanes_plan_[:,0])
lanes_plan = lanes_plan_[:,1:].reshape(5,2,33,5,3)[np.argmax(lanes_cls)]
lanes_plan_xyz = lanes_plan[1,:,0,:]
lanes_plan_xyz[...,0] = np.exp(lanes_plan_xyz[...,0])
lanes_plan_xyz[...,1] = np.sinh(lanes_plan_xyz[...,1])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant