YOLOV3 - generateTargets function example does not follow YOLOV3 article?

4 visualizaciones (últimos 30 días)
gil
gil el 12 de En. de 2022
Respondida: T.Nikhil kumar el 27 de Sept. de 2023
https://arxiv.org/pdf/1804.02767.pdf
In the '2.1. Bounding Box Prediction' section of YOLOV3 article it is stated:
“If the bounding box prior is not the best but does overlap a ground truth object by more than some threshold we ignore the prediction, following [17].”
The IOU should be calculated between the bounding box prior and the ground truth.
In MATLAB the generateTargets function example:
https://www.mathworks.com/help/vision/ug/object-detection-using-yolo-v3-deep-learning.html
% Get the IOU of predictions with groundtruth.
iou = AMTrainYolo3.getMaxIOUPredictedWithGroundTruth(bx,by,bw,bh,groundTruth);
% Donot penalize the predictions which has iou greater than penalt threshold.
confMask(iou > penaltyThreshold) = 0;
The IOU is calculated between the predictions and the ground truth.
What am I missing?

Respuestas (1)

T.Nikhil kumar
T.Nikhil kumar el 27 de Sept. de 2023
Hello gil,
As per my understanding, you have found two instances where IOU is calculated for different entities, and you want to understand the reason.
In the article, the bounding box prior is the predicted bounding box using anchor boxes. Here, the bounding box prior must overlap the ground truth object by more than any other bounding box prior. The IOU value here is a measure to help in deciding if the bounding box prior chosen is the best fit or not. In simple words, it is used to validate the prediction made.
In the MathWorks documentation of Object Detection using YOLOv3, the “generateTargets” function uses the “getMaxIOUPredictedWithGroundTruth” function to get the maximum IOU scores for every pair of predictions and ground-truth boxes. Here, this IOU value is used to compute loss functions that help in the learning of the network.
In both the cases, IOU is calculated technically between predictions and the ground truth only, but the main difference is the context and the purpose it serves.
You can refer to the following documentation to understand more about IOU (Intersection Over Union) using ‘bboxOverlapRatio” function.
I hope this helps.

Categorías

Más información sobre Image Processing Toolbox en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by