Команда онлайн-магистратур Центра «Пуск» МФТИ и индустриальные партнеры вуза регулярно реализуют совместные проекты. Благодаря этому студенты получают необходимый практический опыт, а партнеры — возможность осуществить важные бизнес-задачи. Например, благодаря одному из последних проектов, студенты 2 курса программы «Управление цифровым продуктом» и «Науки о данных» предложили ОАО «РЖД» инновационное решение проблемы детекции аномальных состояний пассажиров и предотвращения инцидентов на перроне. 

В этой статье мы расскажем о том, в чем состоит новизна инженерного решения студентов нашей онлайн-магистратуры и почему уже существующие системы детекции не всегда справлялись с поставленными задачами.

Проблема и цель исследования 

Компания РЖД перевозит больше миллиарда пассажиров в год. На железнодорожной платформе всегда может произойти что-то нештатное: человек упал в обморок, забежал на пути или спровоцировал драку. Такие события требуют быстрой реакции, так как помимо физического ущерба себе или другим пассажирам инциденты могут задержать поезд на неопределенное время в неположенном месте.

Цель компании — предотвратить подобные инциденты. Для этого нужно регулярно следить за аномалиями в поведении пассажиров, но, увы, человеческий глаз не способен на такое. В помощь человеку создаются автоматические системы распознавания аномалий.

Цель инженерного исследования — возможность тиражирования разработанной системы на разные подразделения и станции РЖД, значительное снижение рисков и затрат по сравнению с уже существующими системами детекции.

Что не так с существующими решениями

Одна из задач, которая решается в рамках обеспечения безопасности, — выявление аномальных поз. Аномальной считается поза, которая несвойственна человеку в рамках обычного поведения. Например, к аномальным позам относятся те, что принимает человек при потере равновесия или агрессивном поведении. 

Задача определения аномальности по позе плохо обусловлена (ill-posed) ввиду отсутствия численной интерпретации понятия «аномальность». Поэтому сначала ставится задача определить заранее предсказуемую конкретную позу человека, которая считается аномальной, затем производится анализ для перевода этой позы в числовые значения и обучение модели для предсказания тех или иных действий, которые компания считает аномальными.

Проблема подобного подхода в том, что это долго и дорого. 

Паттерны движения невозможно сформулировать в законченный список ситуаций. К тому же компании не делятся своими списками в открытом доступе, то есть данных практически нет. Также при изменении контекста применения технологии (смена ракурса камеры или новые движения) приходится переобучать модель.

Ручная разметка стоит 125 тыс. рублей за аномалию, обучение модели — 160 тыс. рублей за аномалию. Итоговая стоимость одной аномалии — 285 тыс. рублей. И чем больше аномалий/ракурсов камер, тем больше денег требуется.

Резкий рост инвестиций в 2020 году позволил сильно продвинуться в распознавании к 2022 году. В 2024 году сильно упали темпы роста распознавания, потому что исчерпались основные понятные сценарии. При этом затраты выросли, так как требуется все больше поддерживать легаси при добавлении / смене ракурсов камер. Источник: внутренняя статистика РЖД.
Резкий рост инвестиций в 2020 году позволил сильно продвинуться в распознавании к 2022 году. В 2024 году сильно упали темпы роста распознавания, потому что исчерпались основные понятные сценарии. При этом затраты выросли, так как требуется все больше поддерживать легаси при добавлении / смене ракурсов камер. Источник: внутренняя статистика РЖД.

Иными словами, текущие модели распознавания аномальных поз имеют низкую эффективность, так как требуют четкой логики, высоких затрат на ручную разметку и переобучение.

Наши студенты предложили для РЖД свое решение.

PoseGone: обучение от обратного 

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

В отличие от традиционных решений, требующих размеченных данных об инцидентах, PoseGone использует подход обучения на «нормальных» паттернах поведения. Это снижает издержки на подготовку датасетов, а также повышает масштабируемость и гибкость модели.​

Бизнес-гипотеза студентов звучала следующим образом:

Если мы сделаем модель, которая сможет обучаться на нормальных данных, то сможем распознать не менее чем на 10% больше аномалий поз, чем модель РЖД, обученная на конкретные аномалии, а также снизить стоимость затрат на поддержание модели не менее чем на 10%. 

На начальных стадиях развития продукта использовались алгоритмы с четкой логикой как более простые для имплементации под MVP, но с развитием и масштабированием продукта потребовались data-driven подходы.

На основе гипотезы были сформулированы функциональные требования:

Потребность

Функциональное требование

Распознавание аномалий без заранее

заготовленного списка

Реализация модели на архитектуре,

поддерживающей обучение на нормальных данных

Тратить меньше времени на ручную

разметку

Модель должна обучаться без учителя

Запускать на внутренних серверах

Модель должна быть представлена в

формате SDK для встраивания в

существующие решения

Преимущества подобного решения:

  • Нет необходимости в формировании конечного списка аномальных поз.

  • Не нужно тратить ресурс на ручную разметку аномалий.

  • При смене ракурса камеры модель не нужно специально переобучать на те же позы.

Обучение без учителя — почему это лучший выбор 

Анализируя уже существующие системы детекции поведения пассажиров, студенты онлайн-магистратуры Центра «Пуск» МФТИ обнаружили ряд критических проблем, затрудняющих их практическое применение: 

  • Субъективность определения аномалий: системы детекции не всегда могут предоставить конкретные описания всех возможных инцидентов.

  • Низкая адаптивность к условиям съемки.

  • Сложность сбора и разметки аномальных данных.

  • Высокая стоимость получения экспертной разметки.

  • Ограниченные вычислительные ресурсы.

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

  • Не требует размеченных примеров аномалий.

  • Снижает зависимость от условий съемки.

  • Снижает вычислительную сложность за счет работы с компактным представлением данных.

  • Обеспечивает приватность, субъект анализа сохраняет анонимность.

  • Снижает стоимость получения экспертной разметки за счет оптимизации всех процессов.

Как работает PoseGone

Видеопоток с платформы поступает в систему, где происходит следующее:

  1. Выделение поз. Используется модель ViTPose — архитектура на основе визуальных трансформеров, обученная на нескольких датасетах. Система находит ключевые точки на теле (голова, плечи, локти и т. д.) и формирует «скелет» человека.

  2. Анализ движения. Вместо одного кадра система смотрит на временную последовательность движений. Это позволяет улавливать не только позы, но и траектории движения.

  3. Представление как графа. Каждая поза — это узлы и связи между точками тела и моментами времени. Так можно анализировать не просто координаты, а структуру движения.

  4. Обнаружение аномалий. Применяются две модели:

  5. STG-NF (Spatio-Temporal Graph + Normalizing Flows): обучается на нормальных графах и считает плотность вероятности. Все, что выходит за границы распределения, считается аномалией.

  6. VAE + RealNVP: вариационный автоэнкодер плюс нормализующий поток. Система восстанавливает норму, и если ошибка восстановления высока — это сигнал тревоги. Такой подход стал революционным в контексте поставленной задачи, ранее не применялся. И это еще раз говорит о детальной инженерной проработке проблемы студентами онлайн-магистратуры МФТИ.

  7. Интерфейс оператора. Интеграция сделана в существующий софт РЖД. Если система замечает аномалию, она подсвечивает нужную камеру, дает возможность быстро передать тревогу в охрану и зафиксировать событие.

Архитектура приложения:

Эмбеддинги последовательности 15 кадров подаются на вход модели. Затем оценивается ошибка на основе выходных данных модели. Если ошибка определила аномалию, формируется скриншот с аномальной персоной и сохраняется в каталог оператору.
Эмбеддинги последовательности 15 кадров подаются на вход модели. Затем оценивается ошибка на основе выходных данных модели. Если ошибка определила аномалию, формируется скриншот с аномальной персоной и сохраняется в каталог оператору.

Почему нормализующие потоки — лучший выбор среди других генеративных моделей

Главная задача нормализующих потоков (Normalizing Flows) — преобразовывать сложные распределения данных в более простые и наоборот. Нормализующие потоки обладают рядом преимуществ по сравнению с другими генеративными моделями:

  • В отличие от вариационных автоэнкодеров (VAE) и генеративно-состязательных сетей (GAN), нормализующие потоки позволяют напрямую вычислять точное значение плотности вероятности для любого наблюдения.

  • Эффективная генерация новых примеров.

  • Гибкость в моделировании сложных распределений.

Нормализующие потоки точно оценивают плотность вероятности данных, поэтому они естественным образом подходят для задачи обнаружения аномалий (увеличивая значение логарифма функции правдоподобия, в данном случае модели, от обучающих данных). Значение функции правдоподобия, как правило, может принимать разные значения, поэтому применяется некоторое пороговое значение (+\-).

Результаты эксперимента

Заказчиком были предоставлены данные в виде изображений частотой кадров около 5 fps. Кадры были последовательно разбиты на хождение по перрону, хождение по рельсам и аномальные действия.

По нормальным кадрам был выявлен минимальный порог ошибки, после которого обучение прекращалось и можно было переходить в режим вывода (поиска аномалий). А также установлен порог ошибки (чувствительность) по данным экспериментов с датасетами Shanghaitech.

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

Результаты эксперимента на данных заказчика:

  • Модель способна обучаться и переключаться в режим вывода самостоятельно после 1100 кадров обучения (около 160 cек. при 5 FPS).

  • Модель обучалась на различных ракурсах камеры.

  • 8 из 11 аномальных сцен успешно распознаны.

Таким образом, эксперимент на данных НИИАС (модель АО «НИИАС» в сфере железнодорожного транспорта — это комплекс разработок института, направленных на автоматизацию процессов на железной дороге, обеспечение безопасности движения поездов и повышение эффективности работы станций) подтвердил применимость модели для целей заказчика и подтвердил гипотезу. F1 повысился с 0.47 до 0.84.

Решение нашло поддержку у партнера: 26 марта 2025 года команда получила высокую оценку на заседании научного комитета по перспективным разработкам РЖД. Было решено создать рабочую группу для изучения решения. А 20 мая было получено разрешение на подготовку тестировочного запуска модели в шэдоу-моде на платформе МЦК «Крымская».

Кто работал над проектом

Научное руководство над проектом взял на себя Дмитрий Алексеевич Раков — заместитель начальника Центра систем компьютерного зрения АО НИИАС (РЖД). Проект защищали студенты онлайн-магистратур Центра «Пуск» МФТИ «Управление цифровым продуктом» и «Науки о данных» Артемий Звонарев (исполнял роль менеджера продукта: аналитические отчеты, интервью, эксперимент, системы аналитики, UX-исследования, финансовые отчеты), Яков Чибинин (выполнял роль DE) и Егор Гришин (выступал в роли DS).

Мы попросили ребят поделиться, как происходила работа над PoseGone.

Егор Гришин, магистратура «Науки о данных», в проекте выполнял роль DE — занимался имплементацией и оптимизацией STG‐NF под live‐режим, адаптацией пайплайна под >8 IP‐камер и интеграцией в корпоративный стек:

Основные сложности, которые у меня были, — переписывание части архитектуры модели STG‐NF для того, чтобы она могла работать с данными в реальном времени (т. к. изначально код модели идет только с инференсом на датасете). Это включает в себя дополнительный класс для инференса и отдельный буфер, который управляет треками поз и накапливает 24 кадра по каждой персоне. Если есть прерывание (хотя бы на кадр потеряли человека), то происходит удаление из буфера. Можно сказать, что это кастомный многоуровневый Sliding Window, при этом очень быстрый, чтобы не замедлять процесс.

Авторы STG‐NF для разметки в датасете ShanghaiTech использовали AlphaPose (yolox+poseflow), а это очень тяжелые методы: они не заточены на реалтайм, при этом они уже устаревшие. Поэтому пришлось создавать свой пайплайн на самых современных и точных моделях (на тот момент), подходящих под реалтайм. Взяли, если я правильно помню, RT-DETR v2 +  BoT-SORT + VitPose. Модели RT-DETR и VitPose были конвертированы в формат tensorrt FP16.

Так как сам STG‐NF очень легкий (меньше 1000 параметров), это позволяет без снижения FPS, например, добавить классификацию обнаруженным аномальным событиям, чтобы повысить интерпретируемость. Возможность модифицировать частично архитектуру самой модели, чтобы еще точнее находить аномалии.

Яков Чибинин, магистратура «Науки о данных», выступал в роли DS — разрабатывал модель на основе вариационных автоэнкодеров для определения аномальных действий:

Работа над проектом началась почти сразу после начала обучения, поэтому пришлось в ускоренном режиме осваивать темы, связанные с CV — как с точки зрения программирования, так и математики. Модель, над которой я работал, была на основе VAE и RealNVP. Необходимо было освоить теоретические основы вариационного вывода и нормализующих потоков.

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

Помогал справиться научный руководитель своей экспертизой, а также регулярные обсуждения с командой и учебный материал, который по мере освоения программы закрывал некоторые вопросы. Что касается пользы, например, тот же VAE можно использовать в поиске аномалий в других видах временных рядов, таких как графики мониторинга. К тому же есть пространство для совершенствования архитектуры уже получившегося решения.