Как определить цели проекта компьютерного зрения#
Чтобы определить цели проекта компьютерного зрения, сформулируй проблему, указав основную задачу, область охвата, заинтересованные стороны и ограничения; задай измеримые цели со сроками; сопоставь проблему с задачей компьютерного зрения, от которой зависят выбор модели и набора данных, а также решения по развертыванию. В этом руководстве каждый шаг разобран на конкретном примере.
Смотри: Как определить цель проекта компьютерного зрения | Связь постановки задачи с задачами VisionAI 🚀
Обзор всего процесса — от сбора данных до развертывания — см. в руководстве о ключевых этапах проекта компьютерного зрения.
Как сформулировать проблему проекта компьютерного зрения#
Четкая формулировка проблемы — первый важный шаг к поиску наиболее эффективного решения. Она состоит из четырех частей:
- Определи основную проблему: Укажи конкретную задачу, которую должен решить твой проект компьютерного зрения.
- Определи область охвата: Установи границы своей задачи.
- Учти конечных пользователей и заинтересованные стороны: Определи, на кого повлияет решение.
- Проанализируй требования и ограничения проекта: Оцени доступные ресурсы (время, бюджет, персонал) и выяви технические или нормативные ограничения.
Пример формулировки бизнес-проблемы#
Рассмотрим проект компьютерного зрения, цель которого — оценивать скорость автомобилей на автомагистрали. Основная проблема заключается в том, что существующие методы контроля скорости неэффективны и часто дают сбои из-за устаревших радарных систем и ручных процессов. Цель проекта — разработать систему компьютерного зрения для работы в реальном времени, которая заменит устаревшие системы оценки скорости.
К основным пользователям относятся органы управления дорожным движением и правоохранительные органы, а к другим заинтересованным сторонам — проектировщики автомагистралей и жители, которым нужны более безопасные дороги. Ключевые требования включают оценку бюджета, сроков и персонала, а также решение технических задач, например использование камер высокого разрешения и обработку данных в реальном времени. Кроме того, необходимо учитывать нормативные ограничения в отношении конфиденциальности и безопасности данных.
Постановка измеримых целей#
Постановка измеримых целей — залог успеха проекта компьютерного зрения. Эффективные цели соответствуют критериям SMART:
| Критерий | Что это означает |
|---|---|
| Конкретная | Сформулируй ясные и подробные цели. |
| Измеримая | Убедись, что цели можно количественно оценить. |
| Достижимая | Ставь реалистичные цели, соответствующие твоим возможностям. |
| Релевантная | Соотнеси цели с общими задачами проекта. |
| Ограниченная по времени | Установи сроки для каждой цели. |
Для примера с оценкой скорости на шоссе SMART-цели могут быть такими:
- Чтобы за шесть месяцев добиться не менее 95% точности при определении скорости, используя набор данных из 10 000 изображений автомобилей.
- Система должна обрабатывать видеопотоки в реальном времени со скоростью 30 кадров в секунду с минимальной задержкой.
Ставя конкретные и поддающиеся количественной оценке цели, ты сможешь эффективно отслеживать прогресс, выявлять области для улучшения и следить за тем, чтобы проект не сбивался с курса.
Как выбрать подходящую задачу компьютерного зрения#
Описание проблемы помогает определить, какая задача компьютерного зрения может её решить. К наиболее популярным задачам относятся классификация изображений, обнаружение объектов и сегментация изображений — подробное сравнение смотри на странице задач Ultralytics.
Например, если твоя задача — отслеживать скорость автомобилей на шоссе, тебе подойдёт обнаружение объектов в режиме отслеживания. Отслеживание присваивает каждому обнаруженному автомобилю постоянный идентификатор на всех кадрах видео — это необходимо для расчёта скорости.
Для этой задачи одного обнаружения недостаточно: оно находит автомобили в каждом кадре, но не сохраняет идентификатор каждого автомобиля между кадрами — без этого идентификатора система не сможет измерить перемещение с течением времени. Режим отслеживания присваивает автомобилям идентификаторы. После того как ты определишь подходящую задачу компьютерного зрения, это поможет принять несколько важных решений по проекту, например выбрать модель, подготовить набор данных и подобрать подходы к обучению модели.
С чего начать: с модели, данных или подхода к обучению?#
Порядок выбора модели, подготовки набора данных и определения подхода к обучению зависит от особенностей твоего проекта:
| Твоя ситуация | С чего начать | Пример |
|---|---|---|
| Чётко определённая проблема и цели | Выбор модели | Для системы мониторинга дорожного движения, оценивающей скорость автомобилей, выбери модель обнаружения для работы в режиме отслеживания, собери и аннотируй видео с шоссе, а затем обучи модель с применением методов обработки видео в реальном времени. |
| Уникальные данные или данные в ограниченном объёме | Подготовка набора данных | Для системы распознавания лиц с небольшим набором данных сначала аннотируй данные, затем выбери модель, хорошо работающую с ограниченным объёмом данных, — например, предварительно обученную модель для трансферного обучения, — и спланируй аугментацию данных, чтобы расширить набор данных. |
| Важна экспериментальная работа (исследование) | Подход к обучению | В проекте по изучению новых методов обнаружения производственных дефектов сначала проведи эксперименты на небольшой части данных. Найдя перспективный метод, выбери модель с учётом результатов и подготовь полный набор данных. |
Если ты начинаешь с данных, платформа Ultralytics упрощает организацию и аннотирование наборов данных, а также обучение по мере развития проекта.
Как варианты развёртывания влияют на проект#
Варианты развёртывания модели существенно влияют на производительность проекта компьютерного зрения, поэтому учитывай их с самого начала. Среда развёртывания должна справляться с вычислительной нагрузкой модели:
| Вариант развёртывания | Лучше всего подходит для | Примеры технологий |
|---|---|---|
| Периферийные устройства | Смартфоны и устройства IoT с ограниченными вычислительными ресурсами; облегчённые модели | LiteRT, среда выполнения ONNX |
| Облачные серверы | Сложные модели с высокими вычислительными требованиями; оборудование, масштабируемое по мере развития проекта | AWS, Google Cloud, Azure |
| Локальные серверы | Высокие требования к конфиденциальности данных и безопасности; полный контроль над данными и инфраструктурой | Серверы GPU с самостоятельным управлением |
| Гибридные решения | Баланс между производительностью, стоимостью и задержкой; обработка на периферийных устройствах и анализ в облаке | Сочетание периферийных сред выполнения и облачных платформ |
У каждого варианта есть свои преимущества и сложности, а выбор зависит от требований конкретного проекта, например к производительности, стоимости и безопасности.
Заключение#
Успешный проект компьютерного зрения начинается с чёткого описания проблемы, измеримых SMART-целей и выбора подходящей задачи компьютерного зрения — эти решения определяют всё дальнейшее, от выбора модели до развёртывания. В качестве следующего шага узнай, как собирать и аннотировать данные, или обсуди проект с другими разработчиками на GitHub и сервере Ultralytics в Discord.
Часто задаваемые вопросы#
Чёткое описание проблемы определяет основную задачу проекта, его границы, конечных пользователей и заинтересованные стороны, а также ограничения по ресурсам и нормативным требованиям. Последовательно проработай эти четыре пункта, а затем согласуй описание с заинтересованными сторонами до принятия технических решений. Подробное руководство и пример смотри в статье «Как составить описание проблемы для проекта компьютерного зрения».
Соотнеси требуемый результат с задачей, которая его обеспечивает: если для каждого изображения нужна одна метка, подойдёт классификация изображений; если нужны координаты объектов — обнаружение объектов; если нужны границы на уровне пикселей — сегментация изображений; а если нужно сохранять идентификаторы между кадрами видео — используй ту же модель обнаружения в режиме отслеживания. Например, для мониторинга скорости автомобилей необходимо отслеживание, поскольку скорость вычисляется по перемещению каждого автомобиля с течением времени. Список всех поддерживаемых задач смотри на странице задач Ultralytics.
Используй критерии SMART: конкретные, измеримые, достижимые, релевантные и ограниченные по времени. Например: «Достичь точности 95% при определении скорости в течение шести месяцев, используя набор данных из 10 000 изображений автомобилей». Такой подход помогает отслеживать прогресс и выявлять области для улучшения. Подробнее читай о том, как ставить измеримые цели.
Нет, предварительно обученные модели не «помнят» классы в традиционном смысле. Они изучают закономерности на огромных наборах данных, а во время обучения на пользовательских данных (дообучения) эти закономерности адаптируются к конкретной задаче. Возможности модели ограничены, и фокус на новой информации может привести к перезаписи части ранее усвоенных знаний.
Если ты хочешь использовать классы, на которых модель была предварительно обучена, можно применить две модели: одна сохранит исходную производительность, а вторая будет дообучена для конкретной задачи. Так ты сможешь объединить результаты обеих моделей. Есть и другие варианты — заморозить слои, использовать предварительно обученную модель для извлечения признаков или создать ветвление под конкретные задачи, — но они сложнее и требуют большего опыта.
Варианты развёртывания определяют, какие размеры и форматы моделей можно использовать, поэтому они влияют на проект с самого начала. Для периферийных устройств нужны облегчённые модели, запускаемые в форматах и средах выполнения, таких как LiteRT или среда выполнения ONNX; облачные серверы обрабатывают сложные модели на масштабируемом оборудовании; локальные серверы обеспечивают полный контроль над данными в проектах с высокими требованиями к конфиденциальности; гибридные конфигурации сочетают оба подхода. Сравни варианты в таблице вариантов развёртывания или ознакомься с подробностями в руководстве по вариантам развёртывания моделей.
К распространённым трудностям относятся:
- Расплывчатые или слишком широкие описания проблемы.
- Нереалистичные цели.
- Отсутствие согласованности между заинтересованными сторонами.
- Недостаточное понимание технических ограничений.
- Недооценка требований к данным.
Решай эти проблемы с помощью тщательного предварительного исследования, чёткого общения с заинтересованными сторонами и постепенного уточнения описания проблемы и целей. Полный рабочий процесс проекта смотри в статье «Основные этапы проекта компьютерного зрения».