В этой истории на 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

Мой Linkedin, Мой GitHub