Darkflow: Как оценить точность набора тестов?

Созданный на 5 мар. 2018  ·  34Комментарии  ·  Источник: thtrieu/darkflow

Один из способов - вычислить «Средняя средняя точность: MAP».
Но я не знаю об этой функции, реализованной в darkflow.
Есть ли у вас какие-либо предложения относительно того, какое репо в даркнете или какой человек написал сценарий для этого?

Самый полезный комментарий

Нет никого, кто делал это раньше?
Их точность никто не проверяет?
Не знаю, почему до сих пор не реализованы такие важные вещи.
Если его нет, возможно, мне придется реализовать эту функцию самостоятельно и зафиксировать ее навсегда.

Все 34 Комментарий

https://github.com/thtrieu/darkflow/blob/master/darkflow/utils/box.py имеет базовую реализацию, необходимую для оценки или вычисления перекрытия между двумя изображениями. Вы можете изменить его в соответствии с вашими потребностями и вычислить среднюю среднюю точность как произведение вероятности класса и box_iou

Нет никого, кто делал это раньше?
Их точность никто не проверяет?
Не знаю, почему до сих пор не реализованы такие важные вещи.
Если его нет, возможно, мне придется реализовать эту функцию самостоятельно и зафиксировать ее навсегда.

Мне тоже была бы интересна эта функция.

@ off99555 , я видел, как этот парень работал над счетом F1.

377

Привет @ off99555 , я тоже ищу вычислить карту MAP из моих собственных тестовых данных.
Я думаю, что у @sandeeprepakula есть хороший ответ, вы можете пошагово объяснить, как рассчитать MAP из окна iou? Я очень новичок в глубоком обучении и обнаружении объектов

Спасибо за вашу помощь

@andikira Я еще этого не сделал. Я тоже не уверен.

Привет @ off99555 , вы должны увидеть это репо https://github.com/Cartucho/mAP, затем увидеть дополнительную папку, вы можете конвертировать файлы .xml и .json, это репо отлично работает с darkflow.

@andikira @thtrieu Я обучил сеть yolo2-voice на наборе PASCAL V0C 0712 trainval и протестировал на тестовом наборе PASCAL VOC 2007, и производительность mAP составляет всего около 52% (после довольно большого количества эпох (200 ~), учитывая, что я инициализировал это с предварительно натренированными весами). Это значительно ниже официальных показателей (76,8% MAP). Я хочу включить в свою статью экспериментальные результаты с моей идеей использования YOLO v2. Может ли кто-нибудь знать причину?

я видел эту проблему раньше, проверьте другую проблему @bareblackfoot

@andikira Репо mAP прекрасно работает. Я тоже написал туда сценарий. Спасибо!

Ты можешь

@andikira Репо mAP прекрасно работает. Я тоже написал туда сценарий. Спасибо!

Не могли бы вы объяснить более конкретно? как это работает ? как вы получили результаты?

@srhtyldz Перейдите на сайт https://github.com/Cartucho/mAP и перейдите в раздел быстрого запуска.
Идея состоит в том, что вам нужно клонировать репо, прогнозировать изображения с помощью darkflow, а затем копировать файлы прогнозов в папку mAP. Также скопируйте файлы достоверной информации.
И вы делаете все, как предлагает файл README репозитория mAP и вы должны увидеть mAP в виде единственного числа.

Также вам необходимо преобразовать ваши файлы из формата darkflow в их формат. Они предоставляют скрипт для преобразования формата darkflow в свой формат здесь: https://github.com/Cartucho/mAP/tree/master/extra
Прочтите README.

Также вам необходимо преобразовать ваши файлы из формата darkflow в их формат. Они предоставляют скрипт для преобразования формата darkflow в свой формат здесь: https://github.com/Cartucho/mAP/tree/master/extra
Прочтите README.

Я узнал, что в даркнете есть свойство карты. Вы пробовали это? Есть ли между ними разница или какой из них точнее?

@srhtyldz Думаю, алгоритм такой же. За исключением того, что mAP - это алгоритм, у которого есть некоторые параметры, которые вы можете установить. Обычно это устанавливается вручную автором алгоритма. Таким образом, единственный раз, когда вы видите, что они сообщают разные числа, это когда у них разные параметры.
Я предлагаю вам прочитать объяснение того, как работает mAP чтобы вы могли понять его скрытый параметр.
Я пробовал их обоих. Я использовал darknet в своей диссертации, потому что darkflow не имеет возможности указать папку вывода. Это критически важно для моего старшего проекта, потому что я запускаю код на FloydHub - облаке глубокого обучения, которое позволяет вам использовать только определенные папки.

Сначала я использую darkflow с mAP а потом я узнаю, что не могу указать выходной путь, поэтому я переключился на darknet и использовал его внутреннее вычисление mAP .

И что самое главное, очень помогает владелец репо darknet (форк-версия, владельцем которой является AlexeyAB). Он отвечает на все вопросы, которые я опубликовал, из-за которых я закончил до крайнего срока. Тогда это было очень тяжело. Я ему очень благодарен, я тоже написал его имя в диссертации.

Сначала я использую darkflow с mAP а потом я узнаю, что не могу указать выходной путь, поэтому я переключился на darknet и использовал его внутреннее вычисление mAP .

Какую переменную вы хотите указать?

Сначала я использую darkflow с mAP а потом я узнаю, что не могу указать путь вывода, поэтому я переключился на darknet и использовал его внутреннее вычисление mAP .

Мое мнение также касается даркнета. Думаю, переключение с порогом возможно только при расчете mAP? Правильно ?

Какую переменную вы хотите указать?

@srhtyldz В darkflow около полугода назад, когда я начал этот поток, не позволяет мне указать путь к выходной папке. Путь к выходной папке - это путь, по которому записываются изображения прогнозов.
Если я правильно помню, выходная папка установлена ​​в папку out внутри папки вашего набора данных.
Например, если у вас есть изображения внутри img/ , прогнозы будут внутри img/out/ .
В FloydHub они не позволяют записывать вывод в папку набора данных. Поэтому, если папка набора данных - img/ , вы не можете создать новую папку как img/out потому что вы столкнетесь с отказом в разрешении.

Возможно, это позволяет вам указать путь вывода сейчас, но вы должны проверить. Я не уверен.

Мое мнение также касается даркнета. Думаю, переключение с порогом возможно только при расчете mAP? Правильно ?

Если я правильно помню, mAP имеет один параметр, который должен определить писатель. Это порог от 0 до 1, по которому вы решаете, правильно ли предсказано изображение. Обычно это 0,5. Таким образом, если соотношение площадей превышает 0,5, это означает, что изображение правильное.
И после этого вы также должны определить Average Precision . Чтобы получить среднее значение, вам нужно выяснить, сколько существует точности. Оказывается, вы также можете определить количество точности. Обычно количество уточнений устанавливается на 11 чтобы вы могли выровнять их от 0, 0,1, 0,2, ..., 0,9, 1,0.

Хотя я не совсем понимаю, о чем говорю. Потому что большую часть я уже забыл. Вы должны выучить это, чтобы убедиться, что я прав. Но я почти уверен насчет числа 0.5 и 11 штуки. Я просто не знаю, как они называются.

PS. Я вернулся, чтобы найти свой тезисный слайд (когда я знаю, что означает карта), вот как я это описал тогда:
image

image

Какую переменную вы хотите указать?

@srhtyldz В darkflow около полугода назад, когда я начал этот поток, не позволяет мне указать путь к выходной папке. Путь к выходной папке - это путь, по которому записываются изображения прогнозов.
Если я правильно помню, выходная папка установлена ​​в папку out внутри папки вашего набора данных.
Например, если у вас есть изображения внутри img/ , прогнозы будут внутри img/out/ .
В FloydHub они не позволяют записывать вывод в папку набора данных. Поэтому, если папка набора данных - img/ , вы не можете создать новую папку как img/out потому что вы столкнетесь с отказом в разрешении.

Возможно, это позволяет вам указать путь вывода сейчас, но вы должны проверить. Я не уверен.

Мое мнение также касается даркнета. Думаю, переключение с порогом возможно только при расчете mAP? Правильно ?

Если я правильно помню, mAP имеет один параметр, который должен определить писатель. Это порог от 0 до 1, по которому вы решаете, правильно ли предсказано изображение. Обычно это 0,5. Таким образом, если соотношение площадей превышает 0,5, это означает, что изображение правильное.
И после этого вы также должны определить Average Precision . Чтобы получить среднее значение, вам нужно выяснить, сколько существует точности. Оказывается, вы также можете определить количество точности. Обычно количество уточнений устанавливается на 11 чтобы вы могли выровнять их от 0, 0,1, 0,2, ..., 0,9, 1,0.

Хотя я не совсем понимаю, о чем говорю. Потому что большую часть я уже забыл. Вы должны выучить это, чтобы убедиться, что я прав. Но я почти уверен насчет числа 0.5 и 11 штуки. Я просто не знаю, как они называются.

PS. Я вернулся, чтобы найти свой тезисный слайд (когда я знаю, что означает карта), вот как я это описал тогда:
image

Большое спасибо . Я исследую карту и IoU. Я получил результат, но не смог его интерпретировать. Могу я задать еще один вопрос? вы использовали функцию «отзыва»? функция карты и отзыва имеют одинаковую функциональность или нет? У тебя есть какие-либо идеи_?

@srhtyldz mAP вычисляется исходя из точности как функции отзыва. Так что точность и отзыв уже включены. mAP - популярная и общепринятая метрика оценки для задач обнаружения объектов. Таким образом, вам не нужно выполнять отзыв или точность индивидуально. Просто вычислите mAP и если оно высокое, значит, ваша модель работает хорошо.

@srhtyldz mAP вычисляется исходя из точности как функции отзыва. Так что точность и отзыв уже включены. mAP - популярная и общепринятая метрика оценки для задач обнаружения объектов. Таким образом, вам не нужно выполнять отзыв или точность индивидуально. Просто вычислите mAP и если оно высокое, значит, ваша модель работает хорошо.

Получил 90,4% с карты, думаю, работает хорошо.

@srhtyldz Это очень много, если у вас много классов. (Популярные модели в большом наборе данных составляют около 50-60%). Но даже если у вас всего два класса, это все равно хорошо.
Не забудьте проверить предсказанные изображения с помощью человеческих глаз, чтобы убедиться, что mAP разумно.

@srhtyldz Это очень много, если у вас много классов. (Популярные модели в большом наборе данных составляют около 50-60%). Но даже если у вас всего два класса, это все равно хорошо.
Не забудьте проверить предсказанные изображения с помощью человеческих глаз, чтобы убедиться, что mAP разумно.

У меня только один класс, также я сохранил все изображения с ограничивающей рамкой.
Вы нарисовали карту MAP? В репозитории Alex есть карта MAP, и пока вы тренируете свою модель, вы должны поставить '-map', чтобы получить диаграмму. Я не сказал это слово. Даже вы это поставили, как вы могли получить диаграмму MAP? вы попробуйте? также пробовали ли вы «действительную» функцию? ты знаешь различия?
Я знаю, что задавал много вопросов, но ваши ответы так важны для моей диссертации :).

Из darknet я просто оцениваю mAP используя только его терминал, и делаю снимок консоли.
Я не знаю, какая функция действует.
Для диаграммы mAP это возможно, если вы используете darkflow и используете репо mAP выше. Есть скрипт, который генерирует анимацию и графики.
Я думаю, что репозиторий MAP также может работать с даркнетом.

Из darknet я просто оцениваю mAP используя только его терминал, и делаю снимок консоли.
Я не знаю, какая функция действует.
Для диаграммы mAP это возможно, если вы используете darkflow и используете репо mAP выше. Есть скрипт, который генерирует анимацию и графики.
Я думаю, что репозиторий MAP также может работать с даркнетом.

Проблема в том, что я не знаю, как будет запускаться анимация. Я пытался сделать это во время тренировки, но мне не удалось получить анимацию для карты. @alexeyAB, возможно, поможет в этом.

Я получил карту результатов моих тестов. Из 56 изображений я получил 48 правильных для моего тестирования. У меня четыре класса. Как сделать из этого матрицу путаницы. Кто-нибудь может мне помочь .

@srhtyldz Я использовал / darknet Detector map cfg / aerial.data cfg / test_tiny.cfg backup \ my_yolov3_tiny_final.weights функцию, но я не смог получить никаких оценок или графиков в конце обучения. Как вы получили оценку MAP в даркнете

@mustafabuyuk Передайте аргумент -map в ./darknet (darknet.exe). Он появится на графике примерно через 1000 итераций. Я не уверен, нужно ли это, но у меня также есть проверочный набор изображений.

Может у кого-нибудь есть идея? YOLOv5 вычисляет MAP по набору данных проверки во время обучения. Несмотря на то, какую команду мы можем вычислить по сравнению с невидимым набором тестовых данных (MAP и MAP по классам)

@ off99555 Тема закрыта. Вы получили ответ?
У меня есть набор файлов изображений и аннотаций Yolo (в формате txt) для проверки.

Как использовать аргумент -map для проверки изображений, чтобы получить оценку MAP? Можно ли вывести из этого матрицу путаницы?

@sandeeprepakula Прочтите мой ответ, прежде чем закрывать вопрос. Вот как можно рассчитать карту.
Но я бы посоветовал больше не использовать это репо. Я не работал с обнаружением объектов уже несколько месяцев, поэтому не уверен, какое репо является лучшим, но, судя по последнему коммиту этого репо, это было в феврале 2020 года. Как вы думаете, репо, которое не обновлялось на год стоит использовать? Если вы в чем-то застряли, никто вам не поможет. При выборе репо следует учитывать также и часть сообщества.

@ off99555 Спасибо за предложение

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

LeeroyHannigan picture LeeroyHannigan  ·  4Комментарии

halt9 picture halt9  ·  3Комментарии

jubjamie picture jubjamie  ·  4Комментарии

Kowasaki picture Kowasaki  ·  4Комментарии

wonny2001 picture wonny2001  ·  4Комментарии