Im currently struggling to understand the use of the IoU. Is the IoU just a Metric to monitor the quality of a network, or is used as a loss function where the value has some impact on the backprop?
Asked
Active
Viewed 668 times
1
1 Answers
1
For a measure to be used as a loss function, it must be differentiable, with non-trivial gradients.
For instance, in image classification, accuracy is the most common measure of success. However, if you try to differentiate accuracy, you'll see that the gradients are zero almost everywhere and therefore one cannot train a model with accuracy as a loss function.
Similarly, IoU, in its native form, also has meaningless gradients and cannot be used as a loss function. However, extensions to IoU that preserve gradients exist and can be effectively used as a loss function for training.
-
Thanks, that helped a lot! If I understand this correctly the IOU in its normal form just helps to evaluate the model quality instead of helping it to get better? – Mao76 Dec 05 '21 at 12:45
-
1@Mao76 yes. IoU is good for evaluation, but not for training. – Shai Dec 05 '21 at 12:46
-
Thanks! Can you please describe in which relation the mAP and IoU are to each other? – Mao76 Dec 05 '21 at 12:58