Два способа поставить зрение на производство

У компьютерного зрения на небольшом производстве обычно две архитектуры. Первая — отдельный edge-компьютер рядом с каждой камерой или линией. Вторая — несколько видеопотоков идут на общий сервер с GPU. Обе могут быть локальными: вопрос не «облако или свой контур», а где именно выполнять инференс и сколько стоит выдержать требуемый SLA.

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

Сначала измерьте поток, а не характеристики GPU

Официальный `benchmark_app` OpenVINO различает режимы latency и throughput. Первый минимизирует время одного запроса, второй насыщает устройство параллельными запросами. NVIDIA DeepStream объединяет несколько видеопотоков в batch и рекомендует согласовывать batch size с числом источников; неправильная настройка может добавить задержку.

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

Для расчёта зафиксируйте:

  • число камер и реальный FPS, который нужен для контроля;
  • допустимую задержку от кадра до сигнала;
  • средний и пиковый поток одновременно активных линий;
  • размер кадра или bitrate после кодирования;
  • время допустимого простоя и цену пропущенного дефекта;
  • требуемый резерв N+1.

Модельный пример: четыре линии

Предположим четыре камеры, каждая анализирует 10 кадров в секунду. Полный pipeline на выбранной модели обрабатывает 55 FPS на общем GPU-сервере и 14 FPS на одном компактном edge-устройстве. Цифры модельные: их нужно заменить результатами собственного стенда.

Вариант edge:

  • четыре устройства по 90 000 рублей — 360 000;
  • по 50 Вт, вместе 200 Вт;
  • локальное хранение событий и четыре точки обслуживания;
  • отказ одного устройства останавливает контроль на одной линии.

Вариант центрального сервера:

  • сервер 360 000 рублей и сетевое оборудование 80 000 — 440 000;
  • 350 Вт под нагрузкой;
  • одна точка обновления, но общий отказ затрагивает четыре линии;
  • для настоящего N+1 нужен второй сервер, и капиталовложения вырастают до 800 000 рублей без учёта сети.

Без резерва центральная схема дешевле в сопровождении, но имеет более крупный риск простоя. С N+1 edge может оказаться дешевле, хотя суммарная загрузка вычислений ниже.

Цена трафика и кабеля

Несжатый поток 1920×1080, 24 бита на пиксель и 10 FPS — около 498 Мбит/с на камеру до служебных накладных расходов. Четыре камеры дают почти 2 Гбит/с. В реальности поток кодируют или передают только ROI, но кодирование добавляет задержку и загрузку, а сжатие иногда скрывает мелкие дефекты.

Если edge выполняет детекцию рядом с камерой, по сети уходят метаданные, снимки исключений и выборочные кадры. Центральный сервер требует стабильной сети для всех потоков. Поэтому в TCO входят коммутаторы, оптика или медь, резервные линии, монтаж, диагностика потерь пакетов и защита сегмента OT.

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

Простой дороже электричества

Энергия редко определяет решение. При тарифе 10 рублей за кВт·ч разница между 200 и 350 Вт составляет примерно 13 140 рублей в год при круглосуточной работе. Один час остановки линии может стоить больше.

Модель риска простоя:

`ожидаемый ущерб = часы недоступности × затронутые линии × стоимость часа`.

Если один edge-блок недоступен 8 часов в год и час линии стоит 30 000 рублей, ожидаемый прямой ущерб — 240 000 рублей. Если центральный сервер без резерва простаивает 4 часа, но затрагивает четыре линии, ущерб — 480 000 рублей. Эти цифры не предсказывают отказ; они показывают, почему MTTR и радиус отказа должны быть в таблице рядом с CAPEX.

Иногда можно продолжить производство с ручным контролем. Тогда в расчёт входит не полный простой, а дополнительный персонал, снижение скорости и рост риска пропуска дефекта.

Стоимость одной принятой инспекции

Сравнивать архитектуры удобно по цене принятого результата:

`(амортизация + энергия + сеть + сопровождение + простой + проверка человеком) / число принятых инспекций`.

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

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

Когда edge выигрывает

Edge обычно рационален, если:

  • решение нужно за десятки миллисекунд рядом со станком;
  • сеть нестабильна или её нельзя нагружать видео;
  • линии должны отказывать независимо;
  • данные нельзя выводить за пределы участка;
  • камер мало и центральный GPU будет простаивать.

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

Когда общий сервер выигрывает

Централизация полезна, если камеры работают непостоянно и их пики не совпадают, модель тяжёлая, а сеть уже подготовлена. Batching нескольких потоков позволяет лучше загрузить GPU. Обновление и мониторинг выполняются в одном месте.

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

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

Пилот без покупки лишнего железа

Соберите 30–60 минут репрезентативного видео с каждой линии: нормальная работа, дефекты, смена света, остановки и пики. Прогоните один и тот же pipeline на кандидате edge и сервере. Измерьте end-to-end p95, пропущенные кадры, энергопотребление, загрузку, сетевой bitrate и время восстановления после обрыва.

Затем смоделируйте отказ: выключите сеть, остановите один inference-процесс, обновите модель с откатом. Экономика без такого теста учитывает цену оборудования, но не цену эксплуатации.

Что взять руководителю

Попросите две сметы на три года: edge по линиям и общий сервер с честным N+1. В каждой должны быть одинаковые требования к качеству, задержке и доступности, а итоговая метрика — стоимость принятой инспекции.

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