Как ответить
Для системы детекции возгорания и дыма на 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.