Использование YOLO11: Перенос обучения для специализированных задач

В области компьютерного зрения модель YOLO11 представляет собой значительный шаг вперед по сравнению с предыдущими версиями, предлагая улучшенную точность и скорость. Однако, как и большинство алгоритмов машинного обучения, её эффективность в реальном мире зависит от способности адаптироваться к конкретным условиям задачи.

Что такое Transfer Learning?

Это называется Transfer Learning (перенос обучения). Файл yolo11n.pt — это "умная" основа. Нейросеть уже умеет распознавать линии, формы, цвета и 80 стандартных объектов (людей, машины, кошек). Когда вы используете этот файл для дообучения, вы не учите её «видеть» с нуля, а просто объясняете: «смотри, вот из этих линий и кружков получается дрон или специфическая деталь».

Преимущества подхода Fine-tuning (Дообучения)

  • Скорость: Вам не нужно 100 000 картинок. Для дообучения часто хватает 100–500 качественных фото.

  • Точность: Модель уже знает, как отделять объект от фона, ей нужно лишь запомнить новые признаки.

  • Ресурсы: Обучение с нуля может длиться недели, а дообучение (Fine-tuning) на хорошей видеокарте занимает от 15 минут до пары часов.

Практическая реализация

from ultralytics import YOLO

# 1. Загружаем модель (те самые веса, что у вас есть)
model = YOLO('yolo11n.pt') 

# 2. Дообучаем на ваших новых данных
model.train(
    data='custom_data.yaml', # Файл с путями к вашим новым фото
    epochs=50,               # Количество циклов обучения
    imgsz=640,               # Размер картинки
    batch=16,                # Сколько фото обрабатывать за раз
    name='my_custom_model'   # Как назвать результат
)

Примечание: Убедитесь, что библиотека Ultralytics установлена (`pip install ultralytics`).

Важный нюанс: "Забывание" старого

Когда вы дообучаете модель на своих данных, есть два пути:

1. Добавление классов

Вы хотите, чтобы она видела и старое (людей, машины), и ваше новое. Для этого в вашем датасете должны быть и старые, и новые объекты.

2. Специализация

Вы хотите, чтобы она видела только ваши новые объекты (например, только дефекты на деталях). Тогда в data.yaml вы указываете только свои классы.

Подготовка данных: Разметка

Чтобы yolo11n.pt превратился в вашу модель, вам нужно подготовить папку с данными. Самое трудозатратное — разметка.

Как быстро разметить данные (Инструкция)
  1. Зайдите на Roboflow.
  2. Загрузите туда свои фото.
  3. Обведите объекты прямоугольниками (Bboxes).
  4. Нажмите Export -> Format: YOLOv8.
  5. Вы получите ZIP-архив. Распакуйте его рядом со скриптом. Там будет файл data.yaml.
  6. Укажите путь к этому файлу в методе model.train(data='...').

Иерархия моделей YOLO (для справки)

Вы используете версию "n" (Nano). Она самая быстрая и легкая, идеально подходит для работы в реальном времени на обычном компьютере или даже на Raspberry Pi.

Nano

Самая быстрая, легкая. Для Raspberry Pi.

Small

Чуть точнее, чуть медленнее.

Medium

Золотая середина.

Extra Large

Самая умная, но требует мощную видеокарту.

Вывод

Ваш файл yolo11n.pt — идеальная отправная точка. Вам осталось только собрать фото и нажать "Start".