Smorodov / Multitarget-tracker

Multiple Object Tracker, Based on Hungarian algorithm + Kalman filter.
Apache License 2.0
2.2k stars 652 forks source link

track error! how can i fix it? #309

Open jcyhcs opened 3 years ago

jcyhcs commented 3 years ago

hi,professor: there is a track error examples,look pictures below: image image image image image image red rectangle is my detector result, green rectangel is tracker result! my tracker setting: image then what can i do? please help!

Nuzhny007 commented 3 years ago

Mmm.... You can trying to set:

m_trackerSettings.SetDistance(tracking::DistCenters);
m_trackerSettings.m_kalmanType = tracking::KalmanLinear;
m_trackerSettings.m_filterGoal = tracking::FilterRect;
m_trackerSettings.m_lostTrackType = tracking::TrackCSRT;

And another case: m_trackerSettings.m_minAreaRadiusPix = frame.rows / 20.f;

I'll think about visual debug tool for tracking algorithm.

jcyhcs commented 3 years ago

hi,professor:

when i set m_trackerSettings.m_minAreaRadiusPix = h / 20.f; DO NOT WORK! look : image image

i can not set m_trackerSettings.m_lostTrackType = tracking::TrackCSRT;
because i don't have opencv_contirb module! oh, please help me!

Nuzhny007 commented 3 years ago

Hi!

  1. I'm added debug visualization in assignment solving. Pull the latest changes from this repository. For enabling advanced info in CTracker.cop set: #define DRAW_DBG_ASSIGNMENT 1 Here: https://github.com/Smorodov/Multitarget-tracker/blob/master/src/Tracker/Ctracker.cpp#L143

  2. Set: m_trackerSettings.m_distThres = 0.99f;

  3. Run Multitarget-tracker with -a=0 command line option. You can push 'M' button - manual frame switching by pressing any key on keyboard.

  4. On new window "dbgAssignment" you can see weight and links between tracks and detects.

jcyhcs commented 3 years ago

hi.professor: first ,you visual debug tool i can not use , because i just use your tracker!, and i Integration into my own program,sorry!

i analysis the process,look:[red is my detector!, green is tracker!!] image my detector get two person, and tracker got two assignment , it is right. image my detector lost person 1, got person 0, but tracker also have person 1 , but position not change. image my detector lost two person, there is only tracker rectangle! image my detector got person 1 , lost person 0, LOOK, tracker got person 0 rectangle, but SHIFT! image my detecor lost two person, the tracker person 1 slow shift! image my detector also lost , the tracker also slow shift! image now, my detector got person 1, tracker assignment ERROR!

SO, professor! tracking algorithem has some BUG? kalman filter have some bug? please help!

Nuzhny007 commented 3 years ago

Hi! I see this bug but I don't see concrete values: distances between tracks and detects. Do you can download latest sources, set DRAW_DBG_ASSIGNMENT 1 in source code and show here screen from new debug window? I want to find problem but I need advanced info

jcyhcs commented 3 years ago

ok,professor: i use your example, i recode screen: please look the video:

https://user-images.githubusercontent.com/34532224/114668118-ee7c9600-9d32-11eb-92e7-3e81701b71a1.mp4

Nuzhny007 commented 3 years ago

Thnx for the advanced info. I see the problem but not all in details. Do you can save all detects to the txt or csv file? With any format, for example: frame_ind_N objects_count left1 top1 width1 height1 left2 top2 width2 height2 frame_ind_N_plus_1 objects_count left1 top1 width1 height1 ...

And I'll create simulation from your detection results for debugging.