ENIGMA AI
ENIGMA AI

Какие технические решения и запросы к аппаратуре вы бы предложили для системы детекции возгорания и дыма на складе с 5000 камер? Как бы вы рассчитали нагрузку и организовали процесс обработки сигналов (подтверждение или отклонение тревоги оператором)?

встречается 1× senior system_design

Как ответить

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

Расчёт нагрузки. Допустим, камеры 1080p, 25 кадров в секунду. Первичный детектор — это лёгкая CNN (например, MobileNetV3-SSD). На Raspberry Pi 4 или Jetson Nano такой инференс занимает 30–50 мс на кадр. Но обрабатывать все 25 кадров не нужно — достаточно 1 кадра в секунду с каждой камеры. Получаем 5000 fps на входе. Если размазывать обработку по кластеру из 10 edge-устройств (NVIDIA Jetson Orin NX, ~100 TOPS), каждое берёт на себя 500 потоков. Это реально при буферизации кадров и асинхронном вызове модели. Альтернатива — кастомный ASIC (типа Google Coral) — но на 5000 камер дорого, проще взять 50 плат Coral USB по $60.

Конвейер обработки:

  • Камера → RTSP-стрим → edge-узел (свой детектор). Edge выдаёт JSON с bounding box и confidence > 0,3.
  • Если есть срабатывание — кадр (или 3-секундный клип) отправляется на центральный сервер по HTTP (protobuf, сжатый JPEG).
  • Центральный сервер ставит задачу в очередь RabbitMQ. Воркер (GPU, например A100) запускает тяжёлую модель: EfficientDet-Lite или YOLOv8x с порогом 0,7. Это даёт false positive ratio < 0,1%.
  • Если верификация подтвердила — триггер идёт на пульт оператора (система типа Grafana + WebSocket). Оператор видит кадр, таймлайн, соседние камеры. Он может подтвердить или отклонить за 5 секунд (скользящее окно). Результат уходит в SIEM или пожарную сигнализацию.

Хранение и метрики: Кадры с подозрением пишутся в S3 (MinIO) на 30 дней аудита. Каждое событие (false positive, true positive, miss) логируется в ClickHouse. Раз в день запускается ретроспективный дашборд: Precision, Recall, latency p99. Если recall падает ниже 95% — переобучаем модель на новом датасете (собранном из ложных пропусков).

Бюджет: 5000 камер × 1 кадр/с × 80 байт (JSON) = 0,4 МБ/с на edge. На сервер летит ~10% кадров (подозрительные) = 0,5 ГБ/с пиковая нагрузка. Один A100 обрабатывает ~200 кадров/с. Ставим 3 GPU с запасом по latency. Edge-устройства — 10 Jetson Orin NX (по $1500) = $15k. Центр — 3 сервера с A100 (аренда) × $2/час = $144k/год. Сильно дёшевле не выйдет, но кастомная плата на FPGA могла бы снизить edge-часть до $5k.

Ключевые тезисы

  • Двухэтапная архитектура: лёгкий детектор на edge (MobileNetV3-SSD, 50 мс/кадр) и тяжёлая верификация на GPU (YOLOv8x, порог 0.7) для отсечения ложных срабатываний.
  • Расчёт потока: 1 кадр/с с каждой камеры → 5000 fps на входе, 10 edge-устройств (Jetson Orin NX) обрабатывают каждый 500 потоков асинхронно.
  • Очередь RabbitMQ + GPU-воркер (A100, 200 кадров/с) + WebSocket-пульт оператора с окном подтверждения 5 секунд.
  • Метрики качества: ретроспективный дашборд precision/recall, переобучение модели при recall < 95% на датасете из реальных пропусков.
  • Бюджет: $15k edge + ~$144k/год за GPU в облаке, возможно снижение FPGA до $5k.

Что спросят дальше

  • — Как ты будешь хендлить ситуацию, когда оператор не успел подтвердить тревогу за 5 секунд? Какие бизнес-правила для escalation?
  • — Оцени latency: от момента пожара (на камере) до срабатывания сигнализации. Какие гарантии по p99?
  • — Если бюджет урезать вдвое, какие компоненты ты режешь первыми и почему?

Готовьтесь к собеседованию с ENIGMA AI

AI-суфлёр подсказывает ответы прямо на собеседовании в реальном времени — незаметно для интервьюера.

Скачать приложение