С какой стороны измерять производительность детектора объектов? - PullRequest
0 голосов
/ 21 июня 2019

Я нахожусь на крючке, чтобы измерить результаты предсказания детектора объекта.Из некоторых уроков я узнал, что при тестировании обученного детектора объектов для каждого объекта на тестовом изображении предоставляется следующая информация:

    <object>
    <name>date</name>
    <pose>Unspecified</pose>
    <truncated>0</truncated>
    <difficult>0</difficult>
    <bndbox>
        <xmin>451</xmin>
        <ymin>182</ymin>
        <xmax>695</xmax>
        <ymax>359</ymax>
    </bndbox>
</object>

Однако мне все еще неясно 1) как эта информацияпринимается детектором объекта для измерения точности, и 2) как вычисляется «потеря» для этого случая.Это что-то вроде строгого сравнения?Например, если для объекта «дата» я получил следующие выходные данные:

    <object>
    <name>date</name>
    <pose>Unspecified</pose>
    <truncated>0</truncated>
    <difficult>0</difficult>
    <bndbox>
        <xmin>461</xmin>  <---- different
        <ymin>182</ymin>
        <xmax>695</xmax>
        <ymax>359</ymax>
    </bndbox>
</object>

Тогда я поверю, что мой детектор объектов сделал что-то не так?Или они допускают небольшую дельту, так что если ограничивающая рамка имеет небольшой дрейф, то это приемлемо.Но если «ярлык» совершенно неправильный, то это точно?

Для меня это похоже на «черный ящик», и было бы здорово, если бы кто-то мог пролить свет на это.Спасибо.

1 Ответ

1 голос
/ 21 июня 2019

Для задачи обнаружения объекта. Обычный показатель производительности составляет средняя средняя точность (мАП) .

1) Приведенная выше информация содержит обнаруженный класс объекта, а также ограничительную рамку. Они оба необходимы для вычисления mAP. Здесь - хороший блог о том, как вычисляется mAP. Ключевое понятие в вычислении mAP называется Пересечение по объединению (IoU) , которое указывает, насколько обнаруженный ограничивающий прямоугольник перекрывается с прямоугольником заземления. Обычно обнаруженный ограничивающий прямоугольник должен, по меньшей мере, иметь IoU выше порога (например, 0,5), чтобы считаться правильным местоположением объекта. На основе порога IoU поле обнаружения может быть помечено как «Истинно положительный», «TN», «FP» и «FN», чтобы можно было рассчитать дополнительные метрики точности.

2) Задача обнаружения потери объекта состоит из двух частей. Потеря для классификации и потеря для регрессии ограничивающего прямоугольника, а также общая потеря обычно представляют собой взвешенную сумму этих двух. (Таким образом, они могут быть настроены на регрессию или классификацию ограничивающего прямоугольника)

В примере, который вы привели, результат обнаружения правильно классифицировал объект, но ограничивающая рамка не является полностью точной, в этом случае потеря классификации равна 0, а потеря регрессии ограничительной рамки - нет. Таким образом, модель в некоторой степени знает, что результат прогнозирования все еще не совершенен, и ей придется учиться немного дальше, чтобы давать более точные прогнозы. В случае, если метка неверна, происходит только потеря классификации.

Расчет фактических потерь также связан с IoU. Для модели будет предопределено IoU, чтобы выбрать, какие прогнозируемые ограничивающие рамки будут выбраны для участия в вычислении потерь. Это необходимо, потому что обычно множество предсказанных блоков будут складываться вокруг одного и того же объекта, поэтому лучше выбрать один или несколько из них вместо всех.

...