Подсчёт движущихся объектов

Требуемый от нас результат;

  1. Онлайн‑счёт с достоверностью ≥99,0% при нормальных условиях.
  2. Снижение ручного труда/ошибок, автоматический стоп‑сигнал при расхождениях (опционально).
  3. История по сменам/линиям, пропуски, двойной учёт и подобные данные.

 

Входные данные

Камера над конвейером, фиксированная. Рекомендации: 1920×1080@30 FPS, короткая выдержка, стабильный свет, поляризационный фильтр при бликах.

 

Фон и разметка: желательно однотонный конвейер/подложка, разметочная линия (виртуальная «tripwire» в кадре).

Датасет: 3–5 тыс. размеченных кадров (bounding boxes по стаканам) + 1–2 часа сырого видео. В набор включить сценарии: плотная укладка, частичное перекрытие, разные материалы/прозрачность, загрязнения, тени, смаз, неполный стакан (дефект).

 

Постановка задачи

  • Детекция объектов: найти стаканы в каждом кадре.
  • Трекинг и подсчёт: присвоить ID, вести траектории, считать при пересечении контрольной линии (исключает двойной учёт при дрожании).
  • Фильтрация артефактов: отбраковка по размеру/эксцентриситету/скорости (ложные срабатывания).
  • Логирование и интеграция: счёт/время/ID → БД/шина; панель оператора; опционально — сигнал на ПЛК

Как итог мы имеем рабочее решение, которое включает:

  1. Распознавание стаканов
    Мы используем специальную «умную» модель, которая находит стаканы на изображении с камеры. Есть разные варианты таких моделей — быстрые, точные и компактные, чтобы всё работало без задержек.
  2. Отслеживание движения
    После того как стакан найден, система «запоминает» его и следит за ним в каждом кадре, пока он движется по конвейеру. Это помогает не считать один и тот же стакан несколько раз, даже если он временно перекрыт другими.
  3. Подсчёт
    В кадре есть условная линия — как невидимый барьер. Стакан засчитывается в общий счёт один раз, когда он пересекает эту линию в нужном направлении.
    Если стаканы лежат в беспорядке, мы считаем их в специальной выделенной зоне на конце ленты.

Цепочка обработки
Всё происходит в такой последовательности:
Камера → обработка видео → распознавание стаканов → отслеживание их движения → подсчёт при пересечении линии → отбраковка ошибок → запись данных и отображение на экране или передача в учётную систему.

Инструменты

Железо и съёмка

  • Камера: индустриальная 1080p@30FPS, глобальный затвор (Basler/FLIR) + линейная подсветка, поляризационный фильтр.
  • Вычислитель (edge):
    — Бюджет: i7/Ryzen + RTX A2000/3060 (8–12 GB VRAM)
    — Компакт: NVIDIA Jetson Orin 8–16 GB.
  • ПО камеры: SDK производителя + GStreamer/DirectShow (захват видеопотока).

Датасет и разметка

  • Инструменты: CVAT или Label Studio (онлайн/он‑прем), Roboflow (по желанию).
  • Хранение версий: DVC + Git (или просто Git LFS для начала).

Стек:

  • NET/C#
  • Инференс: ONNX Runtime (GPU/CPU).
  • CV/Видео: OpenCvSharp4.
  • Сервис: ASP.NET Core (REST/SignalR).
  • UI: WPF/WinUI или Blazor.
  • Интеграции: OPC‑UA .NET, MQTTnet.
  • Логи: Serilog + Prometheus-net.

Хранилище и обмен

  • БД: SQLite (локально) или PostgreSQL.
  • Очередь/шина (по потребности): MQTT или RabbitMQ.
  • Форматы: JSON/CSV, Parquet для архивов.

Деплой и эксплуатация

  • Windows Service / systemd, Watchdog, ротация логов.
  • Контейнеризация (опционально): Docker + NVIDIA Container Toolkit.

 

Сроки: 24 дня.

Закажите разработку решений для вашего бизнеса

Напишите нам и наш менеджер свяжется с вами
Бесплатно проконсультируем по всем вопросам
Мы создадим отличный продукт
img
Кстати, мы разрабатываем парсеры на заказ. Например:
Перейти в