appinho / SARosPerceptionKitti

ROS package for the Perception (Sensor Processing, Detection, Tracking and Evaluation) of the KITTI Vision Benchmark Suite
MIT License
246 stars 80 forks source link

track algorithm #17

Closed Renataaa closed 4 years ago

Renataaa commented 5 years ago

Hi, I want to ask why tracks_[i].x(2) is less than 0 which should be the velocity.

appinho commented 5 years ago

Hi @Renataaa ! Thanks for the comment and the observation. This can happen with an UKF and it’s Constant Turn Rate Model. It simply means that the velocity faces in the other direction (180 degree). Can you share which scenario, time step and track id yo observe this and I can have a look at it

Renataaa commented 5 years ago

The first timestamp, the object's position is (-5425.71 4597.6) the second timestamp, the target position is (-5426.88 4605.34) and I match them manually. but the tracker only accquire the velocity of 1.06 which is too slow, i think. I saw in prediction function that there is a opetation delta_t * v , but in update function where the tracker acquire the velocity there is not any parameter corresponding to time. Thanks for reply

Renataaa commented 5 years ago

@appinho Hi?

appinho commented 5 years ago

Hey,

I’m on vacation this week but I once I got back to my Linux machine I give you an answer

On Mon 4. Nov 2019 at 03:05, Renata Zhao notifications@github.com wrote:

@appinho https://github.com/appinho Hi?

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/appinho/SARosPerceptionKitti/issues/17?email_source=notifications&email_token=AETDRKYJX4UTKC5XHTMJUC3QR57N3A5CNFSM4JHI3BVKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEC6DK2I#issuecomment-549205353, or unsubscribe https://github.com/notifications/unsubscribe-auth/AETDRK7JUS5PH2BVSQPIORLQR57N3ANCNFSM4JHI3BVA .

Renataaa commented 5 years ago

Oh..... so sorry to bother you.....Have a nice vacation !!! ^_^

appinho commented 5 years ago

Ok, so please answer me these questions so I can help you understand my code:

  1. Is it the scenario from the demo?
  2. How do you get these numbers (-5425.71 4597.6) for the position? Are these world coordinates?
  3. How do you output them? Do you see them in your terminal and are they coming from my printTrack() method?

It is true that on the update function you don't use the time anymore. That is just how the UKF works. You predict your state (with a delta_t) and you have your measurement z, and out of these two states and their uncertainties you calculate the combined belief. So you only encounter the use of time in your prediction step.

appinho commented 5 years ago
  1. The tracking ID of the track you observe your behavior
appinho commented 5 years ago

@Renataaa any updates?

Renataaa commented 5 years ago

1, No, it is not any scenario from the demo 2, world coordinates 3, I just print the tracks_[i].sta.x(0) and (1) to locate the postion I can not understand what the delta_t in predict fuction means when actually I didn't set the time in udpate fuction.

  1. one question more: my demo is 1hz, is the gap too huge?
appinho commented 5 years ago

delta_t comes is the time difference of two consecutive ROS messages and is calculated by subtracting the timestamp t0 from the current timestamp t1. It is close to 100ms/10Hz since this is the rate the sensors from KIT have recorded the data. Therefore I think your frequency of 1Hz is actually too low.

Renataaa commented 5 years ago

But, as the example i showed before, 'The first timestamp, the object's position is (-5425.71 4597.6) the second timestamp, the target position is (-5426.88 4605.34) and I match them manually. but the tracker only accquire the velocity of 1.06 which is too slow' is this normal for 1hz ?

appinho commented 5 years ago

You still have to explain to me how you calculate these numbers, please! Otherwise, I can't understand it