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

Отправная точка: почему именно OpenIPC и в чем возникла сложность?

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

Базовая детекция движения в OpenIPC реагировала буквально на все — колыхание листьев, солнечные блики, тени. Пользователь получал поток ложных уведомлений, а «облачная камера» фактически превращалась в веб-камеру без интеллекта.

Мы могли забирать видео, но не могли дать ценную аналитику. А без нее продукт терял смысл.

Почему нельзя было «просто встроить нейросеть»

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

Мы пытались использовать готовые AI SDK от китайских производителей (Ingenic, Goke, Sigmastar). Итог везде одинаковый:

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

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

Архитектура решения: гибрид CV + сверхлегкая нейросеть

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

Вот как выглядит пайплайн:

  1. Детекция движения. OpenIPC фиксирует изменение в кадре.
  2. Computer Vision. Алгоритмы выделяют только области движения, а не весь кадр.
  3. Нейросеть. Легковесная модель на Apache TVM получает маленькие фрагменты изображения и решает одну задачу: «человек» / «не человек».

Для анализа используется MJPEG-поток 5 fps — дешево по ресурсам, универсально и не нагружает CPU.

Итог:

  • 70–80 мс на обработку;
  • минимум памяти;
  • стабильность на слабых чипсетах. 

Что получил пользователь

Ложные события исчезают, а система начинает «понимать» контекст: вместо «движение» — «человек у ворот». Уведомления приходят в приложение или Telegram, а событие сохраняется в ленте.

Для инженеров есть важный плюс: детектор доступен не только в экосистеме Faceter, но и как отдельный модуль для OpenIPC. Его можно встроить в кастомные сценарии, делать автоматизацию или интегрировать в свои системы.

Что дальше: адаптация под реальные условия

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

  • нестандартные ракурсы,
  • слабое освещение,
  • закрытая одежда,
  • особенности локальной среды.

Главное: умная аналитика — это инженерия, а не дорогое железо

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

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

Это совместный труд российской инженерной команды и сообщества OpenIPC. Мы благодарны разработчикам за открытость, благодаря которой возможно такое сотрудничество.

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

Роман Науменко,

Технический директор Faceter

Еще больше обзоров, кейсов и полезной информации о видеонаблюдении в нашем официальном Telegram-канале. Подписывайтесь, чтобы оставаться в курсе важных событий.