Сбор собственного датасета в реальном пространстве
Готовые открытые наборы данных не соответствовали условиям проекта. Большинство доступных датасетов с мусором ориентированы на улицы и городскую среду, тогда как офис существенно отличается по фону, масштабу объектов и контексту их использования.
Поэтому данные собирались непосредственно в помещениях кластера «Ломоносов». В контролируемых зонах размещались бутылки, стаканы, салфетки, пакеты и другие предметы, которые потенциально могут быть интерпретированы как оставленный мусор. Их положение регулярно менялось, чтобы модель получила разные сочетания ракурсов, расстояний и окружающих объектов.

Съемка велась одновременно с нескольких камер. Это позволило получить около 10 000 кадров и включить в датасет реальные особенности объекта: разные углы обзора, освещение, перспективные искажения и частичные перекрытия.
В отличие от обучения на универсальной выборке, такой подход позволил адаптировать модель компьютерного зрения непосредственно к среде, в которой она должна работать.
Обучение модели распознавания объектов
Собранные изображения были размечены по классам объектов, после чего использованы для обучения детектора. В датасет вошли бутылки, стаканы, рюкзаки и другие предметы, встречающиеся в офисном пространстве.
Отдельной технической задачей стала работа с небольшими объектами. Исходное изображение поступало с Full HD-камер, тогда как модель работала с разрешением 640 × 640 пикселей. Простое уменьшение полного кадра приводило бы к потере деталей: небольшая бутылка или стакан могли занимать слишком мало пикселей для устойчивого распознавания.

Поэтому исходный кадр разделялся на шесть участков, каждый из которых анализировался отдельно. После обработки результаты объединялись. Такой механизм позволил сохранить необходимую детализацию без перехода к более тяжелой обработке всего Full HD-кадра моделью.
Определение мусора с учетом контекста
Главная алгоритмическая сложность проекта заключалась не в обнаружении предмета, а в интерпретации ситуации вокруг него.

Пластиковый стакан на пустом столе может быть оставленным мусором. Такой же стакан рядом с сидящим человеком, вероятнее всего, используется в данный момент. Если ориентироваться только на класс объекта, система будет регулярно формировать ложные события.
Для решения этой задачи использовались две нейронные сети: одна определяет потенциальный мусор, вторая — людей. После детекции система анализирует взаимное расположение объектов. Если потенциальный мусор находится в расширенной области вокруг человека, событие не передается как необходимость уборки.
Именно этот слой прикладной логики превращает распознавание объектов в применение компьютерного зрения для конкретного бизнес-процесса: результат модели дополнительно интерпретируется с учетом того, что происходит в помещении.
Исключение зон с повышенным риском ложных срабатываний
Не все участки помещения должны были анализироваться одинаково. Например, возле кофейной стойки стаканы могут временно находиться на поверхности в рамках обычной работы персонала. Формально модель видит нужный класс объекта, однако создавать на его основании задачу клинингу неправильно.

Для таких участков были реализованы пространственные маски. При настройке камеры в кадре задаются области, события внутри которых исключаются из анализа.
За счет этого системы компьютерного зрения можно адаптировать не только к конкретному объекту, но и к правилам эксплуатации отдельных зон внутри одного помещения.
Работа с несколькими камерами
На объекте одна и та же зона могла одновременно попадать в поле зрения нескольких камер. Это повышало покрытие пространства, но создавало другую проблему: один физический объект мог быть обнаружен с разных ракурсов и сформировать несколько одинаковых событий.
При настройке системы учитывалась приоритетность данных с разных камер. Дополнительно реализована фильтрация повторяющихся событий: если предмет остается на одном месте продолжительное время и ситуация не меняется, система не создает новые записи для каждого последующего обнаружения.
В результате поток детекций преобразуется в набор значимых событий, с которыми уже может работать обслуживающий персонал.
Единый контур видеоаналитики
Для проекта разработана серверная часть на FastAPI, развернутая в Docker-контейнере. Система получает видеопотоки с существующих камер по RTSP, передает изображения на нейросетевую обработку и сохраняет информацию о значимых событиях в PostgreSQL.
Серверная часть дополнительно проверяет результаты распознавания и фильтрует повторные обнаружения. Если предмет остается на одном месте и ситуация не меняется, система не создает новые записи при каждом последующем обнаружении.
Такая архитектура позволила выполнить внедрение видеоаналитики на базе существующей камерной инфраструктуры и сформировать единый контур, который можно расширять новыми камерами, зонами контроля и сценариями компьютерного зрения.
Веб-интерфейс и уведомления
Для работы с накопленными данными был реализован веб-клиент. В нем доступна статистика обнаружений по дням, камерам и категориям, благодаря чему данные с камер можно использовать не только для реакции на отдельное событие, но и для последующего анализа эксплуатации пространства.

Отдельно была реализована отправка уведомлений в Telegram. Когда система определяет необходимость уборки, сотрудник может получить сообщение с информацией о том, где и какой объект обнаружен.
Таким образом, прикладная видеоаналитика встроена непосредственно в рабочий процесс: от изображения с камеры до конкретного события и передачи информации ответственному сотруднику.




