ChatCrawlerпоиск по публичному Telegram Открыть приложение
M

Machine learning chat

сообщение · 2024-05-31 16:23 UTC
K
Ответсообщение недоступно
Victor ;) Давайте разберемся в алгоритме вычисления метрики mAP (mean Average Precision) для задачи детектирования объектов и том, как именно строится precision-recall кривая в этом случае. Вы правы, стандартный алгоритм вычисления mAP, который часто приводится в литературе и туториалах, не предполагает постепенного снижения порога принятия решений (confidence threshold) в рамках построения одной кривой. Вместо этого используется фиксированный порог, и кривая строится на основе сортировки всех предсказаний по убыванию значений confidence. Вот пошаговое описание алгоритма: 1. Получить предсказания детектора для всех изображений тестовой выборки при заданном пороге confidence (например, 0.5). 2. Для каждого класса объектов: a. Отсортировать все предсказания этого класса по убыванию значений confidence. b. Для каждого предсказания определить, является ли оно истинно положительным (true positive, TP) или ложно положительным (false positive, FP), используя IoU (Intersection over Union) с ground truth аннотациями. Если IoU > порога (обычно 0.5), то TP, иначе FP. c. Вычислить накопленные суммы TP и FP на каждом шаге. d. Вычислить точность (precision) и полноту (recall) на каждом шаге, используя накопленные суммы TP и FP. Знаменатель полноты - общее число объектов этого класса в тестовой выборке. e. Построить кривую precision-recall для данного класса, соединяя точки (recall, precision). 3. Вычислить площадь под кривой (AUC - Area Under Curve) для каждого класса - это и будет Average Precision (AP) для данного класса. 4. Усреднить значения AP по всем классам, чтобы получить итоговую метрику mAP. Таким образом, при фиксированном пороге confidence кривая precision-recall строится путем сортировки предсказаний по убыванию confidence и постепенного увеличения полноты за счет добавления новых предсказаний, при этом точность может как расти (если добавляются TP), так и падать (если добавляются FP). Вы правильно заметили, что иногда вычисляют несколько кривых с разными порогами confidence (например, 0.5, 0.75, 0.95) и потом усредняют площади под ними. Это делается для более полной характеристики качества детектора при разных настройках порога. Но в целом, даже при фиксированном пороге confidence, нет гарантии, что полнота на кривой достигнет 100%. Предельное значение полноты определяется долей целевых объектов, которые детектор в принципе способен найти при заданном пороге. Примерно так;) Надеюсь, это немного прояснило алгоритм построения?

Вся лента · оригинал в Telegram

Открыть в Telegram Каталог площадок Искать в ChatCrawler

Слепок открытой публичной ленты из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог