Перейти к содержимому

Разработка AI-систем · Компьютерное зрение

Разработка систем компьютерного зрения для прикладных задач

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

Обсудить задачу с инженером

Система, а не одна нейросеть

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

От регламента к событию: как мы строим систему

  1. Разбираем регламенты и процессы

    Начинаем не с модели, а с документов заказчика: регламентов, инструкций, правил и того, как процесс устроен на практике. Формализуем, что именно считается событием или нарушением, в какой момент и с какими исключениями.

  2. Составляем карту пограничных случаев

    Из регламентов, спорных эпизодов прошлых периодов и опыта специалистов собираем ситуации, где правило срабатывает неочевидно. Получается матрица покрытия: какие ситуации система разбирает сама, какие — с оговоркой, какие оставляет человеку.

  3. Проверяем камеры, датчики и время

    Разрешение, частота кадров, выдержка, ракурсы, синхронизация часов между источниками, реальная задержка тракта. Под каждое событие подбираем источники, с которых его видно; иногда честнее добавить камеру или датчик, чем учить модель угадывать.

  4. Наблюдения: детекция, классификация, сегментация, трекинг

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

  5. Геометрия сцены

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

  6. Машина состояний

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

  7. Событийная модель и карточка эпизода

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

Какие задачи решаем

  • Детекция и классификация

    Люди, техника, изделия, дефекты. Классификатор ролей поверх детектора — когда важно не «человек ли это», а «кто он в процессе».

  • Сегментация

    Точные контуры и области: граница объекта, зона контакта, площадь дефекта, клетки на изображении микроскопа.

  • Трекинг и подсчёт

    Траектории объектов, подсчёт в зоне и на проходе, контроль допустимого числа объектов с учётом ротации.

  • Детекция событий и нарушений правил

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

  • Слияние видео и датчиков

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

  • Измерения по изображению

    Подсчёт и классификация объектов на снимках: микроскопия, контроль качества, инвентаризация.

Пограничные случаи

Где на самом деле решается качество

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

  • Наблюдения отдельно от выводов. «Объект был в зоне в этот интервал» — наблюдение с погрешностью. «Правило нарушено» — вывод поверх наблюдений и состояния процесса. Так ошибку можно найти и исправить на нужном уровне.
  • Двухпроходный поиск. Сначала широкий поиск кандидатов с максимальной полнотой на уменьшенном разрешении или частоте, затем точный разбор найденного участка по исходным кадрам. Полноту проверяем для всей цепочки, а не для одной модели.
  • Физика съёмки. Частота кадров, выдержка и синхронизация часов — разные параметры. Считаем, какую погрешность дают камеры для быстрых объектов, до обучения, а не после неудачного пилота.
  • Группы и перекрытия. Когда объекты проходят линию группой, нужные детали видны не со всех ракурсов. Выбираем камеры сверху или комбинируем несколько синхронных ракурсов.
  • Разметка спорных кадров по протоколу с арбитражем: размечают двое, расхождения разбирает эксперт. Для редких событий держим отдельный тестовый набор, который не участвует в обучении.
  • Честное «недостаточно данных». Потерян ракурс, камера сдвинулась, данные пришли с опозданием — система сообщает об ограничении и не выдаёт уверенный вывод там, где его нет.

Как измеряем качество

Отложенный тестовый набор, который не участвует в обучении. Метрики приёмки согласуем с заказчиком по каждому классу событий: доля найденных событий, ложные срабатывания на час работы, пропуски, доля результатов «недостаточно данных», задержка уведомления и время подготовки повторов. Любую цифру указываем вместе с условиями съёмки.

Человек принимает решение

Там, где ошибка дорого стоит, система находит эпизод, показывает окно повтора с нужных камер и предлагает вывод. Решение остаётся за специалистом, а его разбор возвращается в разметку и улучшает модель.

Развёртывание

Где работает система

Инференс — на вашем оборудовании: сервер с GPU или вычислитель рядом с камерами. Видео не уходит в облако. Модели оптимизируем под железо, а для CPU-сценариев подбираем архитектуру заранее.

  • Стек: Python, PyTorch; детекторы семейств DETR и YOLO, SAM 2 для сегментации, DINOv2 и SigLIP 2 для признаков, X3D для распознавания действий.
  • Эксплуатация: TensorRT и Triton для ускорения инференса, ClearML для экспериментов и версий моделей.
  • Персональные данные на видео обрабатываем локально и без биометрической идентификации личности, если задача её не требует.
  • Подключаемся к копиям видеосигналов и данным датчиков, не вмешиваясь в работу действующих систем заказчика.
  • При потере внешней связи система продолжает анализ и ведёт журнал: события, источники, версии моделей и конфигураций, решения пользователей.
Опыт

Примеры задач

Без названий заказчиков и проектов — только класс задачи и подход.

Автоматический поиск эпизодов по регламенту

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

Подсчёт клеток на изображениях микроскопа

Собственный проект в сфере здоровья: детекция и классификация клеток крови на видео капли, снятой устройством собственной разработки. Около 95% совпадения с ручным подсчётом на проверочном наборе из 121 кадра, порядка 30 000 клеток, из них 45% сверено вручную. Два рабочих прототипа, серийного прибора пока нет.

Опыт команды направления

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

Как начинаем

  1. Обследование

    Разбираем регламенты и процессы, изучаем камеры, записи и датчики, составляем матрицу пограничных случаев и критерии приёмки. Честно говорим, что видно с ваших камер, а что нет.

  2. Пилот на ваших данных

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

  3. Промышленная эксплуатация

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

Корпоративные LLM-системы, RAG и ИИ-агенты — на странице «Корпоративные AI-системы и локальные LLM».

FAQ

Частые вопросы

Чем компьютерное зрение отличается от машинного зрения и видеоаналитики?

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

Нужно ли менять или докупать камеры?

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

Сколько данных нужно для обучения?

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

Как вы измеряете точность?

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

Может ли система работать без облака и интернета?

Да. Разворачиваем инференс на оборудовании заказчика — на сервере с GPU или на вычислителе рядом с камерами. Видео не покидает контур.

Как вы обходитесь с персональными данными на видео?

Изображение человека на видео может быть персональными данными по 152-ФЗ. Проектируем обработку локально, без биометрической идентификации личности, если задача её не требует, и храним только то, что нужно для проверки событий.

Заменяет ли система специалиста?

Нет. Для решений с высокой ценой ошибки система находит эпизоды, показывает фрагмент и предлагает вывод, а решение принимает человек. Это и честнее, и быстрее окупается.