Re-training of SSD network

Hello,

I opted for a re-training of SSD network, one for the detection of people and the other for the detection of the vehicles, after several tests, I noticed that the precision is always the same, no improvement of the networks knowing that I have well increase the database (openImage) and also epoch/batch-size of each network,
I did tests with my own data the precision is reduced!

Any suggestions please?

Thanks

Hi @sylia, did you do the testing with PyTorch or TensorRT (jetson-inference)? If you were using TensorRT / jetson-inference, did you re-export your ONNX model and delete the .engine file? Deleting the .engine file is needed to have TensorRT re-generate the model from the latest ONNX (otherwise it will run older model)

1 Like

Yes, I regenerate a .engine each time

I also noticed, during training, the decrease in losses is very low
for cars the first network with a database = 30,000 batch-size = 2 epoch = 100 loss = 1.56
in order to improve the network i increase my database = 55,000 batch-size = 4 epoch = 217 loss = 1.53

If you are using OpenImages, I have noticed those datasets for vehicles and people are quite challenging (in that the subject matter includes many partial/occluded/small objects, ect). That may be why you are not seeing huge improvement from simply adding more images.

What do you advise me as an alternative image base, please
Thanks

I would just recommend to use the built-in SSD-Mobilenet-v2 model which was trained on MS COCO and does a good job with people and vehicles. Pascal VOC also does a decent job (and support for Pascal VOC dataset is included in train_ssd.py)

For production-quality models, I would recommending checking out the PeopleNet and vehicle net pre-trained models for TLT / DeepStream: https://developer.nvidia.com/transfer-learning-toolkit#section-1-light

And how to re-train the SSD network with coco data, because train-ssd.py only takes voc and openimage as database
thanks

Please how can I use the TLT models in the jetson inference app?
please

They aren’t supported at this time in jetson-inference - you would run them through DeepStream or https://github.com/NVIDIA-AI-IOT/tlt-triton-apps

Support for MS COCO dataset would need to be added to the pytorch_ssd code like it is for VOC/openimages - sorry about that.

EDIT: there also appear to be converters out there for MS COCO format → Pascal VOC format. Here is one of them that I found: https://gist.github.com/AlexeyGy/5e9c5a177db31569c20c76ad4dc39284