Ultralytics YOLO27:
Get Started

Как определить цели проекта компьютерного зрения#

Чтобы определить цели проекта компьютерного зрения, сформулируй проблему, указав основную задачу, область охвата, заинтересованные стороны и ограничения; задай измеримые цели со сроками; сопоставь проблему с задачей компьютерного зрения, от которой зависят выбор модели и набора данных, а также решения по развертыванию. В этом руководстве каждый шаг разобран на конкретном примере.



Смотри: Как определить цель проекта компьютерного зрения | Связь постановки задачи с задачами VisionAI 🚀

Обзор всего процесса — от сбора данных до развертывания — см. в руководстве о ключевых этапах проекта компьютерного зрения.

Как сформулировать проблему проекта компьютерного зрения#

Четкая формулировка проблемы — первый важный шаг к поиску наиболее эффективного решения. Она состоит из четырех частей:

  • Определи основную проблему: Укажи конкретную задачу, которую должен решить твой проект компьютерного зрения.
  • Определи область охвата: Установи границы своей задачи.
  • Учти конечных пользователей и заинтересованные стороны: Определи, на кого повлияет решение.
  • Проанализируй требования и ограничения проекта: Оцени доступные ресурсы (время, бюджет, персонал) и выяви технические или нормативные ограничения.

Пример формулировки бизнес-проблемы#

Рассмотрим проект компьютерного зрения, цель которого — оценивать скорость автомобилей на автомагистрали. Основная проблема заключается в том, что существующие методы контроля скорости неэффективны и часто дают сбои из-за устаревших радарных систем и ручных процессов. Цель проекта — разработать систему компьютерного зрения для работы в реальном времени, которая заменит устаревшие системы оценки скорости.

Vehicle speed estimation on a highway using Ultralytics YOLO

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

Постановка измеримых целей#

Постановка измеримых целей — залог успеха проекта компьютерного зрения. Эффективные цели соответствуют критериям SMART:

КритерийЧто это означает
КонкретнаяСформулируй ясные и подробные цели.
ИзмеримаяУбедись, что цели можно количественно оценить.
ДостижимаяСтавь реалистичные цели, соответствующие твоим возможностям.
РелевантнаяСоотнеси цели с общими задачами проекта.
Ограниченная по времениУстанови сроки для каждой цели.

Для примера с оценкой скорости на шоссе SMART-цели могут быть такими:

  • Чтобы за шесть месяцев добиться не менее 95% точности при определении скорости, используя набор данных из 10 000 изображений автомобилей.
  • Система должна обрабатывать видеопотоки в реальном времени со скоростью 30 кадров в секунду с минимальной задержкой.

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

Как выбрать подходящую задачу компьютерного зрения#

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

Comparison of image classification, object detection, and image segmentation outputs

Например, если твоя задача — отслеживать скорость автомобилей на шоссе, тебе подойдёт обнаружение объектов в режиме отслеживания. Отслеживание присваивает каждому обнаруженному автомобилю постоянный идентификатор на всех кадрах видео — это необходимо для расчёта скорости.

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

С чего начать: с модели, данных или подхода к обучению?#

Порядок выбора модели, подготовки набора данных и определения подхода к обучению зависит от особенностей твоего проекта:

Твоя ситуацияС чего начатьПример
Чётко определённая проблема и целиВыбор моделиДля системы мониторинга дорожного движения, оценивающей скорость автомобилей, выбери модель обнаружения для работы в режиме отслеживания, собери и аннотируй видео с шоссе, а затем обучи модель с применением методов обработки видео в реальном времени.
Уникальные данные или данные в ограниченном объёмеПодготовка набора данныхДля системы распознавания лиц с небольшим набором данных сначала аннотируй данные, затем выбери модель, хорошо работающую с ограниченным объёмом данных, — например, предварительно обученную модель для трансферного обучения, — и спланируй аугментацию данных, чтобы расширить набор данных.
Важна экспериментальная работа (исследование)Подход к обучениюВ проекте по изучению новых методов обнаружения производственных дефектов сначала проведи эксперименты на небольшой части данных. Найдя перспективный метод, выбери модель с учётом результатов и подготовь полный набор данных.

Если ты начинаешь с данных, платформа Ultralytics упрощает организацию и аннотирование наборов данных, а также обучение по мере развития проекта.

Как варианты развёртывания влияют на проект#

Варианты развёртывания модели существенно влияют на производительность проекта компьютерного зрения, поэтому учитывай их с самого начала. Среда развёртывания должна справляться с вычислительной нагрузкой модели:

Вариант развёртыванияЛучше всего подходит дляПримеры технологий
Периферийные устройстваСмартфоны и устройства IoT с ограниченными вычислительными ресурсами; облегчённые моделиLiteRT, среда выполнения ONNX
Облачные серверыСложные модели с высокими вычислительными требованиями; оборудование, масштабируемое по мере развития проектаAWS, Google Cloud, Azure
Локальные серверыВысокие требования к конфиденциальности данных и безопасности; полный контроль над данными и инфраструктуройСерверы GPU с самостоятельным управлением
Гибридные решенияБаланс между производительностью, стоимостью и задержкой; обработка на периферийных устройствах и анализ в облакеСочетание периферийных сред выполнения и облачных платформ

У каждого варианта есть свои преимущества и сложности, а выбор зависит от требований конкретного проекта, например к производительности, стоимости и безопасности.

Заключение#

Успешный проект компьютерного зрения начинается с чёткого описания проблемы, измеримых SMART-целей и выбора подходящей задачи компьютерного зрения — эти решения определяют всё дальнейшее, от выбора модели до развёртывания. В качестве следующего шага узнай, как собирать и аннотировать данные, или обсуди проект с другими разработчиками на GitHub и сервере Ultralytics в Discord.

Часто задаваемые вопросы#

  • Чёткое описание проблемы определяет основную задачу проекта, его границы, конечных пользователей и заинтересованные стороны, а также ограничения по ресурсам и нормативным требованиям. Последовательно проработай эти четыре пункта, а затем согласуй описание с заинтересованными сторонами до принятия технических решений. Подробное руководство и пример смотри в статье «Как составить описание проблемы для проекта компьютерного зрения».

  • Соотнеси требуемый результат с задачей, которая его обеспечивает: если для каждого изображения нужна одна метка, подойдёт классификация изображений; если нужны координаты объектов — обнаружение объектов; если нужны границы на уровне пикселей — сегментация изображений; а если нужно сохранять идентификаторы между кадрами видео — используй ту же модель обнаружения в режиме отслеживания. Например, для мониторинга скорости автомобилей необходимо отслеживание, поскольку скорость вычисляется по перемещению каждого автомобиля с течением времени. Список всех поддерживаемых задач смотри на странице задач Ultralytics.

  • Используй критерии SMART: конкретные, измеримые, достижимые, релевантные и ограниченные по времени. Например: «Достичь точности 95% при определении скорости в течение шести месяцев, используя набор данных из 10 000 изображений автомобилей». Такой подход помогает отслеживать прогресс и выявлять области для улучшения. Подробнее читай о том, как ставить измеримые цели.

  • Нет, предварительно обученные модели не «помнят» классы в традиционном смысле. Они изучают закономерности на огромных наборах данных, а во время обучения на пользовательских данных (дообучения) эти закономерности адаптируются к конкретной задаче. Возможности модели ограничены, и фокус на новой информации может привести к перезаписи части ранее усвоенных знаний.

    Overview of transfer learning from a pretrained model to a custom model

    Если ты хочешь использовать классы, на которых модель была предварительно обучена, можно применить две модели: одна сохранит исходную производительность, а вторая будет дообучена для конкретной задачи. Так ты сможешь объединить результаты обеих моделей. Есть и другие варианты — заморозить слои, использовать предварительно обученную модель для извлечения признаков или создать ветвление под конкретные задачи, — но они сложнее и требуют большего опыта.

  • Варианты развёртывания определяют, какие размеры и форматы моделей можно использовать, поэтому они влияют на проект с самого начала. Для периферийных устройств нужны облегчённые модели, запускаемые в форматах и средах выполнения, таких как LiteRT или среда выполнения ONNX; облачные серверы обрабатывают сложные модели на масштабируемом оборудовании; локальные серверы обеспечивают полный контроль над данными в проектах с высокими требованиями к конфиденциальности; гибридные конфигурации сочетают оба подхода. Сравни варианты в таблице вариантов развёртывания или ознакомься с подробностями в руководстве по вариантам развёртывания моделей.

  • К распространённым трудностям относятся:

    • Расплывчатые или слишком широкие описания проблемы.
    • Нереалистичные цели.
    • Отсутствие согласованности между заинтересованными сторонами.
    • Недостаточное понимание технических ограничений.
    • Недооценка требований к данным.

    Решай эти проблемы с помощью тщательного предварительного исследования, чёткого общения с заинтересованными сторонами и постепенного уточнения описания проблемы и целей. Полный рабочий процесс проекта смотри в статье «Основные этапы проекта компьютерного зрения».

Комментарии