Вопрос или проблема
Выходной файл меток модели yolo v5 выглядит примерно так:
0 0.0917969 0.907639 0.172656 0.170833 0.475255
1 0.387109 0.15 0.127344 0.291667 0.822308
0 0.115625 0.539583 0.195312 0.354167 0.828012
0 0.906641 0.473611 0.177344 0.35 0.829128
0 0.198047 0.283333 0.167969 0.322222 0.846307
0 0.796484 0.294444 0.160156 0.316667 0.866312
0 0.642187 0.179167 0.123438 0.272222 0.88274
- Этот текстовый файл является одним из результатов для меток из detect.py. Я
точно знаю, что 1-й столбец относится к классу. Так как
в текстовом файле нет заголовков, как я могу узнать, к чему относятся другие
столбцы. Так как значения нормализованы, трудно
понять, какие столбцы предназначены для xmin, ymin, xmax, ymax, confidence
соответственно. - Есть ли какой-либо метод, который можно использовать в detect.py, чтобы исключить столбец confidence из этого текстового файла аннотаций.
- Также я немного запутался, потому что yolov5 принимает (xcentre, y
centre, width, height) как входные значения обрамляющих прямоугольников, но, думаю, этот вывод в форме (xmin, ymin, xmax, ymax). Автоматически ли yolov5 делает это изменение.
Аргумент –save-conf в команде detect.py является решением.
.
Ответ или решение
Чтобы понять выходные данные модели Yolo v5, важно разобраться в формате результирующего файла с метками, который генерируется после выполнения скрипта detect.py. Рассмотрим каждый аспект, связанный с этой задачей.
Интерпретация столбцов файла меток
Файл меток, который вы видите, содержит строки с шестью значениями, каждое из которых связано с определенными характеристиками обнаруженных объектов. Давайте разберем, на что указывают эти столбцы:
-
Класс: Первый столбец (например, 0 или 1) обозначает класс объекта. Каждому идентификатору соответствует определенный класс, например, «0» может означать автомобиль, а «1» — человека.
-
Нормализованные координаты (x_center, y_center, width, height): В других колонках содержатся нормализованные координаты, которые представляют положение и размеры ограничивающей рамки:
- Второй и третий столбцы связаны с центром ограничивающей рамки (x_center и y_center).
- Четвертый и пятый столбцы соответствуют ширине и высоте ограничивающей рамки (width и height).
-
Уверенность (confidence): Шестой столбец указывает на уверенность модели в данной детекции. Этот параметр присутствует, если скрипт был запущен с соответствующими настройками.
Исключение столбца уверенности из файла
Если вы хотите исключить столбец уверенности из сохраненного файла аннотаций, необходимо правильное использование аргумента --save-conf
в detect.py
. Этот параметр контролирует, будет ли столбец уверенности добавлен в выходной файл. Чтобы его исключить, просто не используйте этот аргумент при запуске скрипта.
Форматы входных и выходных данных
Один из моментов, который может вызвать недоумение, — это различие между входными и выходными данными относительно форматов координат ограничивающих рамок:
- Входные данные: Yolo v5 принимает координаты в формате (x_center, y_center, width, height).
- Выходные данные: Несмотря на это, вывод в метках дает вроде бы значения (xmin, ymin, xmax, ymax). Однако вывод все равно предоставляется в том же формате (x_center, y_center, width, height). Важно лишь правильно интерпретировать нормализованные значения в контексте соответствующих координат и размеров.
В заключение, Yolo v5 обеспечивает мощные инструменты для детекции объектов, но для эффективного использования необходимо деепонимание структуры выходных данных. Если вам нужно адаптировать выходные данные, важна правильная настройка параметров запуска detect.py
.