Smorodov / Multitarget-tracker

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

The source code do not working with weight from yolov5 trained on custom dataset #435

Open tgbaoo opened 1 year ago

tgbaoo commented 1 year ago

Hello @Nuzhny007 and @Smorodov I have some concern now, that 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
Nuzhny007 commented 11 months ago

Hi! I'm not sure why your network can't correctly loaded. The defaut yolov5 from ultralytics works correctly after export to weight+cfg format. Without this files I can't say anything concrete