I am building my first object detection model (Mobilenet SSD, to detect animals in images) and happy with the current test results.
When I tested it using images without bounding boxes, I noticed some of the images get multiple object detections around parts of the object of interest (example, two bounding boxes around features of a cat, or one high confidence cat bounding box and a slightly lower confidence dog bounding box).
I have manually set threshold values for each class (example, only cats that have a confidence of over 90% are detected) and added some additional logic (similar to non-Maximum Suppression (NMS)), but I am concerned that this is not the best approach as the model's final performance is not necessary aligned with the test results (since there is this additional threshold and logic checks that are not incorporated during training).
Previously when I worked with just image classification, there was no additional logic that I needed to add because of the lack of bounding boxes.
Do I need to set bounding box thresholds as trainable parameters for the network? If so, how? Am I following the right approach?