Detecting distant objects

I am very new to object detection and I have been having great success with jetson-inference. I would like to know if there are ways I can improve the detection of small/distant objects.

I am training the model with train_ssd.py, using the default mb1-ssd. My images range in resolution from 800x600 to 4592 x 2584. I am only training for two object classes, 9.5" red and blue balls.

I am finding the model is able to detect close balls with very high accuracy, but when they are more than 8-10 feet away the confidence drops below 50%. After some tinkering, I have pretty high confidence that I will run inference on video that is 1280x720.

Are there any techniques I can use with my data, training, or in my detection script to improve detection of objects that are a moderate distance away?

Hi @gdefender, the ssd-mobilenet models trained with train_ssd.py use a resolution of 300x300, so all the images get downsampled to that size regardless of their original resolution.

See these posts though for how to train the models with 512x512 resolution instead:

Others have reported this allowed the ssd-mobilenet models to detect smaller objects (at the cost of increased processing time)

1 Like

Thanks! I’ll give that a try.
If I understand correctly, it seems as simple as changing mobilenetv1_ssd_config.py, training, and then passing --height=512 --width=512 to onnx_export.py.

Yep, I believe that’s basically it - if you use the res-512 branch of pytorch-ssd, it already has the code changes necessary to support it.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.