Smorodov / Multitarget-tracker

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

Discuss about App Example 1 and Example 6 do not working with moving camera video? #434

Open tgbaoo opened 10 months ago

tgbaoo commented 10 months ago

Hello @Nuzhny007 and @Smorodov I have some concern now, that I have engaged in some (fast moving - small) golf ball tracking on 2 camera frame one for swing at the tee box, one at the putting area, now I have trained the golf ball dataset on yolov5, but I got the error when I run the option 6 train with tensorrt weights and cfg file, then I generate the weight that trained from my golf ball dataset then when I hit the inference, I got the error something like their are a mismatch show in the terminal logger like this:

OpenCL not used
ParseTrackerSettings:  ...
ParseTrackerSettings: 0
Video ../../../golf_ball_and_hole_tracking/duyputt01.mp4 was started from 0 frame with 30 fps, frame size [720 x 1280] and length 309
Config Done!
File does not exist : ../data/yolov5s/yolov5s-kFLOAT-batch1.engine
Loading pre-trained weights...
Loading complete!
WARNING: The implicit batch dimension mode has been deprecated. Please create the network with NetworkDefinitionCreationFlag::kEXPLICIT_BATCH flag whenever possible.
      layer               inp_size            out_size
(1)   Conv              3 x 320 x 640      32 x 160 x 320
(2)   Conv             32 x 160 x 320      64 x  80 x 160
(3)   C3               64 x  80 x 160      64 x  80 x 160
(4)   Conv             64 x  80 x 160     128 x  40 x  80
(5)   C3              128 x  40 x  80     128 x  40 x  80
(6)   Conv            128 x  40 x  80     256 x  20 x  40
(7)   C3              256 x  20 x  40     256 x  20 x  40
(8)   Conv            256 x  20 x  40     512 x  10 x  20
(9)   C3              512 x  10 x  20     512 x  10 x  20
(10)  SPP             512 x  10 x  20     512 x  10 x  20
(11)  Conv            512 x  10 x  20     256 x  10 x  20
(12)  Upsample        256 x  10 x  20     256 x  20 x  40
(13)  Concat          256 x  20 x  40     512 x  20 x  40
(14)  C3              512 x  20 x  40     256 x  20 x  40
(15)  Conv            256 x  20 x  40     128 x  20 x  40
(16)  Upsample        128 x  20 x  40     128 x  40 x  80
(17)  Concat          128 x  40 x  80     256 x  40 x  80
(18)  C3              256 x  40 x  80     128 x  40 x  80
(19)  Conv            128 x  40 x  80     128 x  20 x  40
(20)  Concat          128 x  20 x  40     256 x  20 x  40
(21)  C3              256 x  20 x  40     256 x  20 x  40
(22)  Conv            256 x  20 x  40     256 x  10 x  20
(23)  Concat          256 x  10 x  20     512 x  10 x  20
(24)  C3              512 x  10 x  20     512 x  10 x  20
MultitargetTracker: /mnt/d/Code/hole-in-one-classification/nuzhny/Multitarget-tracker/src/Detector/tensorrt_yolo/trt_utils.cpp:911: nvinfer1::ILayer* layer_conv(std::vector<nvinfer1::Weights>&, std::string, std::map<std::__cxx11::basic_string<char>, std::vector<float> >&, nvinfer1::ITensor*, nvinfer1::INetworkDefinition*, int, int, int, bool, int, bool): Assertion `size == (map_wts_[s_layer_name_ + ".weight"].size())' failed.
[1]    5385 IOT instruction  ./MultitargetTracker ../../../golf_ball_and_hole_tracking/duyputt01.mp4 -e=6

Hope you let the example 6 can predict on custom dataset trained weight!

I am also tend to use the option 1 because I really like your example on youtube: https://www.youtube.com/watch?v=PalIIAfgX88

But when i download your video and run the default setup of the example 1 option, their are a lot of noise and false positive so, hope you share more about example 1 also, big thanks to you @Nuzhny007

https://github.com/Smorodov/Multitarget-tracker/assets/86455738/69b26320-1a24-494d-ae27-7cf178892e65

https://github.com/Smorodov/Multitarget-tracker/assets/86455738/483ef6da-e19f-4c16-9e28-59871461e716

https://github.com/Smorodov/Multitarget-tracker/assets/86455738/190ed02c-8264-42aa-912f-eb91dc279011

https://github.com/Smorodov/Multitarget-tracker/assets/86455738/4d6eb1ce-6fe6-4e63-b688-6b1e430aaef9

https://github.com/Smorodov/Multitarget-tracker/assets/86455738/b8530aa4-6dc4-42ba-93b9-a699d1fdbbfb

I tend to use these video for testing but It is seems like the example 1 code not work well with moving camera right?

Nuzhny007 commented 10 months ago

Yes, it woorks only with a static camera

tgbaoo commented 10 months ago

@Nuzhny007 Thanks, but when I use the example 6, it seems like the code do not accept my custom training weight right? Could you double check the example 6 for me?