Являются ли это ожидаемыми результатами оценки обнаружения объекта тензорного потока с использованием model_main.py? - PullRequest
1 голос
/ 06 мая 2019

Проведение обучения и оценки API обнаружения объектов TensorFlow для настроенного набора данных с 8 классами. У меня есть два вопроса относительно результатов выполнения этой задачи с использованием model_main.py

  1. Суммарные потери начали расти (относительно) после 10 тыс. Шагов ... он опустился ниже 1 после 8000 шагов, но начал медленно расти с 10 тыс. Шагов до 80 тыс. Шагов и закончился с 1,4 потерями ... любая причина, почему это случается

  2. Что касается результатов оценки, почему только IoU = 0,50 имеет точность 0,966, а остальные - ниже 0,5, как показано ниже:

Accumulating evaluation results...
DONE (t=0.07s).
Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.471
Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.966
Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.438
Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = -1.000
Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = -1.000
Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.471
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.447
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.562
Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.587
Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = -1.000
Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = -1.000
Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.587
INFO:tensorflow:Finished evaluation at 2019-05-06-03:56:37
INFO:tensorflow:Saving dict for global step 80000: DetectionBoxes_Precision/mAP

1 Ответ

1 голос
/ 06 мая 2019

Да, эти результаты являются разумными.Отвечая на ваши вопросы:

  1. Общие потери на тензорной доске на самом деле Оценочные потери , и если эта потеря начинает расти, то, вероятно, ваша модель переоснащается.Смотрите предыдущий ответ с аналогичным случаем здесь .
  2. Результаты оценки имеют формат оценки COCO.Точность и отзыв рассчитываются для разных IoU, разных областей и разного максимального количества обнаружений (maxDets).Например, [ IoU=0.50:0.95 | area= all | maxDets=100 ] означает, что точность рассчитывается с IoU в диапазоне от 0,5 до 0,95 (с размером шага 0,05, все обнаружения с IoU в этом диапазоне считаются положительными обнаружениями), а область варьируется от малого, среднего и большого до максимальнойчисло обнаружений 100. Как вы можете себе представить, Нижний порог IoU означает, что большее количество обнаружений будет учитываться как истинные положительные значения , поэтому IoU=0.5 имеет наивысшую точность оценки, поскольку имеет наибольшее количество положительных обнаружений, икогда IoU=0.95, меньшее количество обнаружений считается истинным положительным результатом.IoU=0.50:0.95 является средним значением всех прецизионностей в разных IoU, поэтому точность для этой категории ниже, чем при IoU=0.5.

Кстати, -1,00, когда area=small, medium означает, что такие категории отсутствуют, см. здесь .Таким образом, это означает, что все объекты в вашем наборе данных очень большие.

Вот хорошая иллюстрация того, почему более низкий IoU означает, что большее количество обнаружений является истинным положительным результатом.(изображение источник )

enter image description here

Если бы мы включили IoU = 0,4, то все три обнаружения являются правильными (истинные положительные значения), если мы установим IoU = 0,6, то только два верны, а когда IoU = 0,9, только одно обнаружение будет правильным.

Некоторые дальнейшие чтения относительно того, как вычисляется mAP.

...