Skip to content

An example of using the YOLO v8 to search for road defects

Notifications You must be signed in to change notification settings

Nosikmov/YOLO-v8-road-defects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DATASETS LINK = https://drive.google.com/file/d/1tHrB2htZfFHMDZ6VV0zh7kqcdi9lWNh_/view?usp=sharing Скачиваем датасет и помещаем в папку проекта

Запускаем редактор кода и с помощью терминала создаем виртуальное окружение командой

python -m venv .venv

Активируем терминал от этой области

.venv/Scripts/activate.ps1

Теперь нам требуется установить вспомогательные библиотеки

pip install ultralytics
pip install clearml

ClearML нам потребуется для остлеживанием процесса обучения нашей нейронной сети, YOLO уже умеет с ним работать, нам лишь остается предоставить ей ключ авторизации. Заходим на их сайт https://clear.ml/

Регистрируем аккаунт и создаем ключ API пошагово: Авторизуемся Переходим в Settings => Workspace область и жмем create new credentials

Настройки профиля Создание ключа

Данный ключ можно скопировать с помощью встроенной кнопки на сайте.

Вовзращаемся в редактор кода и вводим команду в терминал

clearml-init

Консоль в ответ потребует вставить скопированный ключ, а также код и пароль который нам вывели при создании ключа

Когда все выполнили открываем train.py и можем его сразу запускать, у нас есть несколько видов нейронной сети, каждая со своим преимуществом: YOLOv8n (наномодель) YOLOv8s (маленькая модель) YOLOv8m (средняя модель) Каждая модель лучше второй, но заметные улучшения будут видны при более длительном обучении. Название модели можно подменить в строке создания модели model = YOLO("Название модели"), библиотека модель подгрузит автоматически.Uploading Создание ключа.png…

Внутри команды тренировки есть свойства, как настройки тренировки, количество циклов размер картинок поиска и др., важным здесь будет учесть свойство" —device", его нет в файле, но если ваша видеокарта не от Nvidia или не имеет CUDA ядер, то вам придется обучать нейронную сеть с помощью процессора, что значительно замедлит скорость обучения. Команду придется добавить со значением 0, что означает использовать CPU в процессе обучения.

device = 0 или device="cpu"

Трудности которые могут возникнуть: Папка datasets должна находится там же, где и ваш проект. Файл train.py может находится в любом месте, но самое важное, чтобы ваш проект имел верный путь до остальных файлов, ведь это вызовет ошибки о использовании несуществующих файлов.

Результаты обучения модели: results Модель обучалась без изменения размера файлов датасета; Обучение проводилось в 30 эпох. Примеры результатов обученной модели: 5698f3507 5210ac609 55c689cd0

About

An example of using the YOLO v8 to search for road defects

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages