Как дообучить Ultralytics YOLO26 для сегментации экземпляров
Узнай, как дообучить Ultralytics YOLO26 для сегментации экземпляров, где модель идентифицирует и отделяет каждый индивидуальный объект с помощью масок на уровне пикселей.

Благодаря недавним технологическим достижениям многие интеллектуальные системы, которые играют незаметную, но важную роль в нашей жизни, работают на базе ИИ. Например, когда машина проезжает на красный свет и камера автоматически фиксирует нарушение или когда автоматизированная система контроля качества обнаруживает производственный брак на конвейере, именно ИИ выполняет всю закулисную работу.
В частности, отрасль ИИ, известная как computer vision, позволяет машинам интерпретировать и понимать изображения и видео. Computer vision помогает системам распознавать объекты, отслеживать движение и анализировать визуальные детали в режиме реального времени, что делает ее незаменимой для таких задач, как мониторинг дорожного движения, промышленный контроль и робототехника.
Эти возможности стали реальностью благодаря computer vision models, таким как Ultralytics YOLO26, которые поддерживают множество задач компьютерного зрения, включая обнаружение объектов и сегментацию экземпляров. В то время как обнаружение объектов идентифицирует предметы с помощью простых ограничивающих рамок, сегментация экземпляров идет дальше, выделяя каждый объект на уровне пикселей, что обеспечивает более точные и надежные результаты в реальных условиях.

Рис. 1. Сегментация объектов на изображении с помощью YOLO26
Модели вроде YOLO26 являются предобученными и могут сегментировать повседневные объекты, такие как люди, автомобили и животные, сразу «из коробки». Однако для более специфических приложений их также можно дообучать. Иными словами, модели могут научиться понимать, как выглядят объекты и как их точно выделять.
В этой статье мы разберем, как обучить Ultralytics YOLO26 под свои задачи для сегментации экземпляров. Давай начнем!
Link to this sectionЧто такое сегментация экземпляров?#
Прежде чем мы перейдем к обучению моделей, давай сделаем шаг назад и поймем, что на самом деле означает instance segmentation.
Сегментация экземпляров — это задача компьютерного зрения, которая позволяет модели находить каждый отдельный объект на изображении и выделять его точную форму. Вместо того чтобы просто определять наличие объекта, модель анализирует каждый пиксель на изображении и решает, принадлежит ли он к конкретному объекту.
Это означает, что она может разделять объекты, даже если они перекрываются или находятся очень близко друг к другу. Ключевое понятие, которое упрощает визуализацию сегментации экземпляров, — это маска.
Маска — это контур на уровне пикселей, который покрывает только область объекта. Можно представить это как закрашивание объекта маркером, оставляя все остальное нетронутым.
Каждый объект получает свою собственную маску, что позволяет модели отличать один объект от другого, даже если они одного типа, например два автомобиля или два человека, стоящих рядом.

Рис. 2. Взгляд на сегментацию экземпляров
Чтобы лучше понять, что такое сегментация экземпляров, сравним ее с другими распространенными computer vision tasks. Обнаружение объектов (object detection) использует ограничивающие рамки (bounding boxes) — простые прямоугольники, нарисованные вокруг объектов. BBox быстры и полезны, но они не передают точную форму объекта.
Тем временем семантическая сегментация маркирует каждый пиксель на изображении по категориям, но не различает отдельные объекты одного и того же класса. Сегментация экземпляров объединяет лучшее из обоих подходов, идентифицируя категории объектов и назначая отдельную маску каждому отдельному объекту.
Поскольку сегментация экземпляров предоставляет столь подробную информацию, она особенно полезна в реальных приложениях, таких как автоматизированный контроль качества, медицинская визуализация и робототехника. Задачи, требующие точных измерений, четких границ или разделения объектов, выигрывают от такого понимания на уровне пикселей.
Link to this sectionUltralytics YOLO26 поддерживает сегментацию экземпляров#
Ultralytics YOLO26 — это сквозная, современная модель компьютерного зрения без NMS, разработанная для быстрой и эффективной обработки реальных задач. Она относится к семейству моделей обнаружения Ultralytics YOLO, которые могут обрабатывать изображения и видео в режиме реального времени, выдавая точные результаты.
YOLO26 поддерживает несколько задач в рамках единого фреймворка, включая обнаружение объектов, оценку позы, классификацию изображений, обнаружение ориентированных ограничивающих рамок (obb detection) и сегментацию экземпляров.
YOLO26 поставляется предобученной «из коробки», то есть она уже научилась распознавать распространенные объекты, такие как люди, транспортные средства и повседневные предметы, на больших общедоступных наборах данных, таких как COCO и ImageNet. Ты можешь начать использовать модель немедленно, без какого-либо дополнительного обучения.
Однако, если твое приложение включает уникальные объекты, специфические условия или необычное освещение, custom model training может значительно улучшить результаты. Обучая YOLO26 на собственных размеченных изображениях, ты можешь научить модель точно понимать, что искать и как более аккуратно выделять объекты для твоего конкретного случая.
Этот процесс также называется дообучением (fine-tuning). Вместо обучения модели с нуля, дообучение начинается с предобученной модели YOLO26 и постепенно адаптирует ее с использованием твоих данных. Поскольку модель уже понимает общие визуальные паттерны, такие как границы, формы и текстуры, ей требуется гораздо меньше размеченных изображений и гораздо меньше времени для изучения твоих специфических объектов.
Проще говоря, дообучение быстрее, эффективнее и доступнее, чем обучение модели с нуля. Кастомное обучение YOLO26 — практичный вариант даже для новичков или команд, работающих с ограниченными данными и вычислительными ресурсами.
Link to this sectionИзучение приложений сегментации экземпляров в YOLO26#
Итак, где сегментация экземпляров может быть полезной? В ситуациях, когда важно различать объекты и понимать их точную форму, особенно когда они располагаются плотно или перекрывают друг друга.
Вот некоторые распространенные рабочие процессы, в которых сегментация экземпляров действительно имеет значение:
- Aerial and drone imaging: эта задача позволяет дронам разделять объекты, такие как здания, транспортные средства и растительность, на аэрофотоснимках для картографирования, инспекции и геодезии.
- Спортивная аналитика: сегментация экземпляров помогает анализировать перемещения игроков и их взаимодействие, отделяя отдельных спортсменов от фона во время игр или тренировок.
- Мониторинг строительства и инфраструктуры: это помогает идентифицировать структурные элементы, трещины или поврежденные участки в зданиях, на мостах и дорогах для планирования технического обслуживания.
- Здравоохранение и медицинская визуализация: сегментация экземпляров позволяет точно выделять клетки, ткани или медицинские инструменты, поддерживая более точный анализ и постановку диагноза.
- Сельское хозяйство и мониторинг окружающей среды: это позволяет идентифицировать и разделять сельскохозяйственные культуры, фрукты или болезни растений, что облегчает оценку урожайности и применение целенаправленных обработок.

Рис. 3. Пример сегментации сорняков с помощью YOLO26 (Источник)
Link to this sectionКак работает обучение YOLO26 под свои задачи для сегментации экземпляров#
Далее давай обсудим, как работает кастомное обучение. Хотя обучение модели может звучать технически сложно, общий процесс довольно прямолинеен.
Ты можешь подготовить изображения, разметить объекты, которые модель должна изучить, настроить небольшой конфигурационный файл, а затем обучить YOLO26 с помощью Ultralytics Python package. Пакет Ultralytics Python — это программная библиотека, которая предоставляет готовые инструменты для обучения, тестирования и развертывания моделей YOLO без необходимости создавать всё с нуля.
Link to this sectionШаг 1: Подготовка твоего собственного набора данных#
Первый шаг — это подготовка твоего собственного segmentation dataset. Набор данных — это просто коллекция изображений, демонстрирующих объекты, которые ты хочешь, чтобы модель изучила.
Постарайся включить изображения, отражающие реальные условия: разные углы, освещение, фоны и размеры объектов. Чем разнообразнее твои изображения, тем лучше будет работать модель.
Для сегментации экземпляров твои изображения также должны быть аннотированы. Аннотирование включает маркировку объектов на каждом изображении, чтобы модель знала, что изучать. Вместо рисования простых рамок ты будешь рисовать подробные контуры (полигоны) вокруг каждого объекта, чтобы отметить его точную форму. Эти контуры становятся масками, которые модель учится предсказывать.
Существует несколько инструментов аннотирования с открытым исходным кодом, которые ты можешь использовать для создания этих меток. Многие из них предоставляют удобные интерфейсы, где ты можешь загружать изображения и рисовать контуры объектов прямо на них.
Когда изображения и аннотации будут готовы, распредели их по папкам для обучения (train) и валидации (val). Типичное разделение — 80% изображений для обучения и 20% для валидации, хотя 70% на 30% также часто встречается, в зависимости от размера твоего набора данных. Обучающий набор учит модель, а валидационный используется для оценки того, насколько хорошо она работает на изображениях, которые раньше не видела.
Важно сохранять этот баланс и следить за тем, чтобы обе папки содержали разнообразные примеры. Чистый, хорошо размеченный набор данных с правильным разделением на train и val — основа надежной модели сегментации экземпляров.
Link to this sectionШаг 2: Создание файла YAML для набора данных#
После подготовки изображений и аннотаций следующий шаг — создание YAML-файла. В этом файле указывается местоположение твоего набора данных и классы объектов, которые модель должна изучить во время обучения.
В этом файле ты можешь определить корневой каталог набора данных, пути к папкам с изображениями для обучения и валидации, а также список названий классов. Названия классов должны быть перечислены в том же порядке, что и номера классов, используемые в файлах аннотаций, чтобы всё корректно сопоставлялось.
Если у тебя есть вопросы по точному формату, ты можешь обратиться к официальной документации Ultralytics за подробностями.
Link to this sectionШаг 3: Установка пакета Ultralytics Python#
Теперь, когда твой набор данных и YAML-файл готовы, следующий шаг — установка пакета Ultralytics Python.
Этот пакет включает инструменты, необходимые для обучения, валидации, запуска вывода (inference) и экспорта моделей YOLO26. Он предоставляет оптимизированный способ работы с моделями YOLO без создания сложных конвейеров обучения с нуля.
Перед установкой пакета Ultralytics Python также важно выбрать среду, в которой ты хочешь запускать код. Ты можешь работать с пакетом Ultralytics в нескольких различных средах разработки, таких как:
- Command line interface (CLI): это текстовая среда, в которой ты взаимодействуешь с компьютером, вводя команды. Вместо того чтобы нажимать кнопки или навигировать по меню, как в графическом интерфейсе, ты вводишь письменные инструкции для запуска программ и выполнения задач напрямую.
- Jupyter Notebooks: интерактивная среда, где ты пишешь и запускаешь код небольшими фрагментами и сразу видишь результат. Это полезно для экспериментов и обучения.
- Google Colab: облачная платформа для ноутбуков, которая не требует локальной установки и предоставляет дополнительный доступ к графическим процессорам (GPU). Часто это самый простой вариант для новичков.
После выбора среды ты можешь установить пакет Ultralytics Python. Чтобы установить его, выполни следующую команду:
pip install ultralytics
Если ты используешь среду на базе блокнотов, такую как Google Colab или Jupyter Notebook, добавь восклицательный знак в начале команды. Если возникнут какие-либо проблемы с установкой, ты можешь обратиться к документации Ultralytics или к руководству по устранению неполадок за советами по исправлению распространенных ошибок и настройке окружения.
После установки ты будешь готов к загрузке предобученной модели сегментации YOLO26 и началу обучения.
Link to this sectionШаг 4: Обучение YOLO26 для сегментации экземпляров#
Перед началом обучения тебе нужно выбрать размер модели. Модели YOLO26 доступны в разных размерах: Nano (n), Small (s), Medium (m), Large (l) и Extra Large (x).
Модели меньшего размера обучаются быстрее и эффективнее работают на центральных процессорах (CPU) или периферийных устройствах, тогда как более крупные модели обычно обеспечивают более высокую точность, но требуют больше памяти и выигрывают от ускорения на GPU. Если ты только начинаешь или работаешь с ограниченным оборудованием, версия Nano (YOLO26n) — практичный выбор.
Как только ты выбрал размер модели, следующий шаг — загрузка предобученной модели сегментации и начало обучения на твоем наборе данных. Для этого тебе нужно указать файл предобученной модели, путь к YAML-файлу набора данных, количество эпох и размер изображения, как показано ниже.
from ultralytics import YOLO
model = YOLO("yolo26n-seg.pt")
results = model.train(data="path/to/file.yaml", epochs=100, imgsz=640)Количество эпох определяет, сколько раз модель пройдет через весь набор данных обучения. С каждой эпохой модель делает предсказания, сравнивает их с правильными аннотациями, вычисляет ошибки и обновляет внутренние параметры для улучшения результатов.
Если обучение началось правильно, ты увидишь конфигурацию модели, процесс сканирования набора данных и прогресс обучения в терминале или блокноте. По мере продолжения обучения значения функции потерь (loss) и метрики оценки будут обновляться после каждой эпохи, показывая, как модель улучшается со временем.
Link to this sectionШаг 5: Оценка производительности обученной модели#
После завершения процесса обучения ты можешь просмотреть и проверить метрики производительности модели. В Google Colab ты можешь перейти в папку «runs», затем в папку «segment», а в конечном итоге — в папку «train», где найдешь логи с ключевыми показателями эффективности.
Для пользователей, работающих в среде Python, результаты обучения по умолчанию сохраняются в директории «runs/train/» внутри текущей рабочей директории. Каждый запуск обучения создает новую подпапку, например runs/train/exp или runs/train/exp2, где можно найти логи, сохраненные веса и другие выходные данные, относящиеся к данному эксперименту.
Если ты используешь CLI, ты можешь получить доступ к этим результатам и управлять ими с помощью команды “yolo settings”. Эта команда позволяет просматривать или изменять пути и конфигурации, связанные с логами обучения и деталями эксперимента.
Среди сохраненных выходных данных ты также найдешь графики, созданные во время обучения. Эти графики показывают, как модель улучшалась со временем. Например, они отображают, как уменьшалась ошибка (loss) по мере обучения модели и как метрики оценки, такие как точность (precision), полнота (recall) и средняя точность (mAP), увеличивались с каждой эпохой.

Рис. 4. Тип графиков, которые ты можешь анализировать для оценки твоей модели (Источник)
Эти визуальные тренды помогут тебе понять, успешно ли прошло обучение и насколько модель улучшилась от начала к концу. Анализ как численных метрик, так и графиков дает более четкую картину того, насколько хорошо работает твоя модель сегментации экземпляров, прежде чем переходить к тестированию на новых изображениях.
Link to this sectionШаг 6: Тестирование модели и выполнение вывода (inference)#
После валидации модели финальный шаг — протестировать ее на новых изображениях. Этот процесс называется выводом (inference), что означает использование твоей обученной модели для получения предсказаний на новых данных.
Ты можешь выполнить вывод в Python следующим образом:
results = model.predict("path/to/image.jpg", save=True, conf=0.3)В этом примере "path/to/image.jpg" можно заменить на путь к изображению, которое ты хочешь протестировать.
Настройка “save=True” указывает модели сгенерировать и сохранить новое изображение, которое включает предсказанные маски сегментации, наложенные поверх исходного изображения.
Настройка “conf=0.3” управляет порогом уверенности, что означает, что модель будет показывать только те предсказания, в которых она уверена как минимум на 30%. Уменьшение этого значения может показать больше детекций, а увеличение — сделает модель более избирательной.
После запуска команды модель создает новую папку внутри директории runs, где сохраняет выходное изображение. Ты можешь открыть это сохраненное изображение, чтобы визуально проверить, насколько точно маски сегментации повторяют границы объектов и правильно ли разделены перекрывающиеся объекты.
Тестирование модели на различных изображениях, фонах и условиях освещения даст тебе более ясное понимание того, как она работает вне обучающего набора данных. Когда результаты будут выглядеть стабильными и точными, модель готова к экспорту и развертыванию.
Link to this sectionШаг 7: Экспорт и развертывание модели#
После тестирования модели и подтверждения ее хорошей производительности, последний шаг — экспорт и развертывание. Экспорт преобразует твою обученную модель YOLO26 в формат, который может работать в различных средах, таких как производственные серверы, периферийные устройства или мобильные приложения.
Ultralytics поддерживает несколько export formats, позволяя тебе выбрать тот, который лучше всего подходит для твоей среды развертывания. Например, ты можешь экспортировать в ONNX для широкой совместимости между платформами, в TensorRT для оптимизированной производительности GPU на оборудовании NVIDIA или в OpenVINO для эффективного развертывания на базе CPU на устройствах Intel. Эти интеграции упрощают запуск модели вне среды обучения и обеспечивают отличную производительность в реальном времени.
Ты можешь экспортировать модель в Python с помощью следующей команды:
model.export(format="onnx")Эта команда преобразует твою обученную модель в формат ONNX. Ты можешь заменить "onnx" на другие поддерживаемые форматы в зависимости от твоих потребностей развертывания.
После экспорта модель можно интегрировать в приложения, такие как веб-сервисы, встроенные системы компьютерного зрения, робототехнические платформы или системы промышленного контроля. На этом этапе твоя обученная модель сегментации экземпляров YOLO26 может перейти от экспериментов к реальному развертыванию.
Link to this sectionОсновные выводы#
Обучение Ultralytics YOLO26 под свои задачи для сегментации экземпляров дает тебе гибкость в создании модели, которая действительно соответствует твоему конкретному сценарию использования. Подготовив чистый набор данных, настроив YAML-файл, обучив модель с использованием весов предобученной сегментации и проанализировав результаты, ты сможешь научить модель точно выделять каждый объект на уровне пикселей. После тестирования и экспорта твоя модель YOLO26 готова к переходу от разработки к многомасштабным реальным приложениям.
Присоединяйся к нашему сообществу и загляни в наш репозиторий GitHub, чтобы узнать больше об ИИ. Если ты хочешь создать собственный проект в области компьютерного зрения, ознакомься с нашими вариантами лицензирования. Узнай больше о таких применениях, как ИИ в здравоохранении и ИИ в розничной торговле, посетив страницы наших решений.






