Два способа поставить зрение на производство
У компьютерного зрения на небольшом производстве обычно две архитектуры. Первая — отдельный 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 и ручной разметкой ошибок. Только после него масштабируйте архитектуру: камера любит факты, а бюджет — ещё больше.
