Алгоритм обнаружения объектов YOLO (You Look Only Once) в большинстве случаев является успешной. YOLO был одним из самых быстрых алгоритмов обнаружения объектов со значительно хорошими результатами. Хотя есть загвоздка!
Формат данных обучения / проверки.
Набор для обучения / проверки состоит из следующих компонентов:
- Изображения с объектами (которые необходимо обнаружить)
- Текстовый файл, соответствующий каждому изображению, имеет следующий состав:
«Label_ID X_CENTER Y_CENTER WIDTH HEIGHT»
Давайте сначала расшифруем это
- Label_ID - это числовой идентификатор, присвоенный различным классам, которые должны быть определены для начала с 0, т.е. если необходимо определить 3 класса, кошек, собак и обезьян, идентификаторы могут быть 0,1,2.
- X_CENTER - координата X центра объекта, который должен быть обнаружен / Image_width
- Y_CENTER - координата Y центра объекта, который должен быть обнаружен / Image_height
- WIDTH - это ширина обнаруживаемого объекта / Image_width.
- HEIGHT - высота обнаруживаемого объекта / Image_height
Следовательно, все значения (кроме ID) находятся в диапазоне 0–1.
Если изображение содержит более 1 объекта, текстовый файл должен иметь вид
«Label_ID_1 X_CENTER Y_CENTER WIDTH HEIGHT»
«Label_ID_2 X_CENTER Y_CENTER WIDTH HEIGHT»
«Label_ID_3 X_CENTER Y_CENTER WIDTH HEIGHT»
т.е. новая строка для каждого объекта в том же текстовом файле. Имя должно совпадать с именем изображения, за исключением расширения. Пример: если изображение - abc.jpg, текстовый файл - abc.txt.
Теперь для создания таких этикеток / текстовых файлов лучший инструмент - это YOLO_Mark от разработчиков самой YOLO, поддерживающий такой вывод после того, как пользователь аннотирует изображение.
Примечание. Теперь, чтобы использовать YOLO, вам нужно использовать локальный компьютер, поскольку его установка на сервере не предоставит вам поддержку с графическим интерфейсом.
Выполните следующие шаги:
- Клонируйте это: https://github.com/AlexeyAB/Yolo_mark.git
- Выполните следующие шаги (я бы рассмотрел Linux для дальнейших шагов)
- Не забудьте запустить chmod + x * .sh
Если выполнение описанных выше шагов сработает за вас, вы попадете в число счастливых 5% людей, так как большинству людей может потребоваться дополнительная помощь.
В большинстве случаев вы можете увидеть некоторую ошибку, связанную с OpenCV, при выполнении {cmake.} Или {make}, как это, даже если у вас есть OpenCV в вашей системе.
Не удалось найти файл конфигурации пакета, предоставленный «OpenCV» с любым из следующих имен:
OpenCVConfig.cmake
opencv-config.cmake
Чтобы решить эту проблему, вам необходимо выполнить еще пару шагов:
- Git clone: https://github.com/opencv/opencv.git (убедитесь, что вы клонируете последнюю версию)
- Запустите приведенные ниже коды в каталоге OpenCV после клонирования git.
Вы также можете проверить, опуская параметры -D в CMake в случае возникновения каких-либо проблем.
Ошибка не должна появляться сейчас (надеюсь !!)
Теперь, чтобы отметить ваши изображения:
- Возьмите папку с изображениями и переместите ее в Yolo_mark / x64 / Release / data и переименуйте папку как 'img'. У вас есть выбор оставить имя папки как есть, но это потребует некоторых изменений в yolo_mark.cmd и в избегайте этих накладных расходов, мы переименуем его.
- Внесите изменения в файл obj.data и obj.names в соответствии с проблемой.
obj.names: сюда входят названия ярлыков, каждый ярлык вводится с новой строки. Помните, что присвоенные идентификаторы зависят от порядка имен меток, упомянутых в obj.names
obj.data: содержит информацию о Number_of_classes, обучении и действительном местоположении данных (относительно каталога darknet) и местоположении папки резервных копий (где сохраняются веса после обучения на yolo). Возможно, вам не понадобится создавать train.txt, поскольку Yolo_Mark создает его самостоятельно.
- вам следует добавить {cmake.}, {make} & {./linux_mark.sh} для запуска Yolo_mark. Не забудьте сделать linux_mark.sh исполняемым с помощью {chmod + x * .sh}
Вы должны увидеть что-то вроде этого
Аннотируйте изображения в соответствии с вашими требованиями, а затем
Ты на день молодец !!!
Некоторые моменты, о которых следует помнить:
- Каждая команда выполняется в командной строке
- Эта установка совместима с Python 3
- {} обозначает команды интерфейса командной строки.
Еще немного ниже !!
- Обнаружение номерного знака транспортного средства (TCS HUMAIN)
- Обнаружение объектов с помощью YOLO
- Доступ к качеству изображения с помощью Google NIMA
- Трансформеры в НЛП (4 части)
- Основы обучения с подкреплением (5 частей)
- Начнем с временных рядов (7 частей)
- Как получить своего первого стажера в области науки о данных
- Tensorflow для начинающих (концепции + примеры) (4 части)
- Предварительная обработка временных рядов (с кодами)
- Аналитика данных для начинающих
- Статистика для новичков (4 части)