No objects detected with retrained SSD model from Transfer learning toolkit

I trained, pruned, and retrained an SSD model from the transfer learning toolkit. I’ve updated and compiled the necessary libraries to run the *.etlt model on Deepstream-test1-app. The application runs but it is not detecting any cars. I used the sample_720p.h264 video source and I’ve verified on the tlt-streamanalytics ssd jupyter notebook that the model can detect cars the sample_720p.h264 frame. The threshold is set to 0.2. What am I doing wrong?

Thanks

Move this topic from DS forum to TLT forum.

Hi shaun,
Please paste the running command and also the config file for Deepstream-test1-app.

Also, please refer to https://devtalk.nvidia.com/default/topic/1070464/transfer-learning-toolkit/use-of-deepstream-4-0-2-tlt-encoded-model-to-avoid-using-tlt-converter/

Hello Morganh,

This is my config file with the key removed:

[property]
gpu-id=0
net-scale-factor=0.0039215697906911373
batch-size=1
network-mode=0
num-detected-classes=3
interval=0
gie-unique-id=1
process-mode=1
model-color-format=0
classifier-threshold=0.2

labelfile-path=./labels.txt
#model-engine-file=./ssd_resnet18_epoch_180_pp6.etlt_b1_fp32.engine
tlt-encoded-model=./ssd_resnet18_epoch_180_pp6.etlt
tlt-model-key=(removed)
output-blob-names=NMS
uff-input-dims=3;384;1248;0
uff-input-blob-name=Input

enable-dbscan=1
parse-bbox-func-name=NvDsInferParseCustomSSDUff
custom-lib-path=/root/deepstream_4.x_apps/nvdsinfer_customparser_ssd_uff/libnvds_infercustomparser_ssd_uff.so

[class-attrs-all]
threshold=0.3
eps=0.2
group-threshold=1

#######################################
the command I used is ./deepstream-test1-app ~/deepstream_sdk_v4.0.2_x86_64/samples/streams/sample_720p.h264.

I know that the osd_sink_pad_buffer_probe is for Vehicle, TwoWheeler, Person and Roadsign but even if the label is wrong I should still see some object detected with bounding boxes but wrong label.

Thanks for the help

Please check

  1. Your key is correct, without any additional [space] character in the end of line
  2. check if num-detected-classes is correct
  3. make sure the label.txt have the classes which you have trained. And the quantity of classes are correct.

Morganh,

The key is correct so are the num-detected-classes and label.txt. Wouldn’t the application not run if the key is incorrect? And would crash if the num-detected-classes is less than the actual number of classification the model has been trained for? I’m not seeing any application error. The application runs fine, I just do see any object detection even with the threshold set at 0.3

Hi shaun,
May I know if you were training KITTI dataset? Which classes did you train?
Could you please also paste the label.txt here? Thanks.

Hi shaun,

We haven’t heard back from you in a couple weeks, so marking this topic closed.
Please open a new forum topic when you are ready and we’ll pick it up there.