deep-learningobject-detectionyolobounding-boxfalse-positive

Why sometimes yolo object detector predicts multiple bounding box per object?


I was reading this report which I faced a problem that I have it too. I have trained a model by yolov3 algorithm and sometimes it predicts more than 1 bounding box over one object. I was wondering what is the cause of this issue. Thanks for your replies in advance.Here in this image you can see that the top right rope-end is detected by two bounding boxes


Solution

  • It predicts it because it must predict something with a probability of course. The algorithm just run it's computations for each boundary box in each cell in the grid of the picture and produces the output. There is no way to know which one is true. That's why there is an algorithm called Non-Max Suppression that can eliminate the redundant boxes, but it's not accurate 100%

    Here are two pictures before and after applying Non-Max Suppression algorithm.

    before enter image description here

    The problem is that you eliminate a box if its intersection with the main box (the box that have the highest probability) is over a certain threshold, this threshold may not be enough to eliminate the box like the case of the girl in the picture.