В этой истории на Medium я покажу вам, как обучить новейший Yolov7 с пользовательскими данными. Прежде всего, нам нужен набор данных.
Раздел подготовки данных
Я планировал обнаружить несколько овец и посчитать их на видео, поэтому мне нужны фотографии овец. Вы можете легко найти любые данные на Kaggle или подобных платформах. Я создал набор данных, содержащий 201 изображение овцы. Чтобы наполнить нашу модель данными, нам нужно сначала аннотировать эти необработанные данные изображения. Я выбрал roboflow.com. Вот как это выглядит для моего проекта данных:
Затем я пометил все изображения вручную. Звучит утомительно, но это правда :D
Мне нужно было выбрать из каждого изображения область, в которой есть овцы. После всего этого процесса мы готовы развернуть наш проект данных для использования в Yolo. Вы можете выбрать вкладку развертывания на странице проекта roboflow, после чего у вас есть различные версии, такие как Yolov7 Pytorch, Yolov5 Pytorch, Yolov4 Keras и так далее. Мы выбираем Yolov7 Pytorch.
После этого имеем вот это:
Мы копируем этот фрагмент, чтобы использовать его в нашем коде Yolo.
Раздел кода
Теперь мы создаем наш блокнот Google Colab, чтобы получать прибыль от бесплатных графических процессоров. В качестве первого шага в разделе кодирования давайте загрузим yolov7.
тогда воспользуемся фрагментом, который мы в разделе подготовки данных получили
Желанный момент! Мы готовы идти. Давайте обучим Yolo с помощью пользовательских гиперпараметров
Время обучения зависит от вашего графического процессора. Я использую colab pro. Pro предоставляет мне Tesla P100, и это занимает около 20 минут.
Посмотрите на прекрасные результаты
Чтобы увидеть наши результаты:
Приведенная выше строка обнаружит овец в нашем тестовом наборе данных.
С помощью этих линий вы можете легко увидеть, насколько хорошо предсказала ваша модель. В конце хочу поделиться видео, в котором я применил свою модель Yolo для обнаружения и подсчета овец :D