Object Detection using Yolov3 results : yolo insert of multiple boxes for the same object

3 views (last 30 days)
Hello Matlabers,
I am usong YOLO v3 on matlab 2021a to recognize objects using YOLOv3 detector pretrained on COCO dataset.
the detector initiation is performed as:
name = 'tiny-yolov3-coco';
detector = yolov3ObjectDetector(name);
after the detection , I insert the bounding boxes using insertObjectAnnotation function
my problem is that the detector shows multiple boxes for the same object as shown in the image bellow
I am using grayscale image with replicated channels as Image=[gray, gray, gray]
the detection part is performed as follow:
[bboxes,scores,labels] = detect(detector,Image);
detected = insertObjectAnnotation(Image,'rectangle',bboxes,strcat(string(labels),{' - '},num2str(scores)));
what could be the problem and what are the possible solutions?
regards,

Accepted Answer

Vivek Akkala
Vivek Akkala on 28 Apr 2022
Hi,
You can use selectStrongestBboxMulticlass to suppress the detections. Try lowering the "OverlapThreshold" of selectStrongestBboxMulticlass function. Following is the reference code:
[updatedBboxes, updatedScores, updatedClassNames] = selectStrongestBboxMulticlass(bboxes, scores, labels ,...
'RatioType', 'Union', 'OverlapThreshold', 0.3);
bboxes, scores and lables in the above code can be obtained from the detect(detector,image).
  1 Comment
ahcen aliouat
ahcen aliouat on 29 Apr 2022
Hi vivek,
Thank you for the sugestition, it helps me.
I have tried it before and the problem was that it eliminate the two inserted boxes in many cases. Which significantly reduce the accuracy. but as you said , I have to lowerise the overlap threshold to get best performances.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!