Метод выявления аномальных движений людей на видеозаписях без предварительного обучения
Автор: Воробьев Н.Д.
Журнал: Труды Московского физико-технического института @trudy-mipt
Рубрика: Информатика и управление
Статья в выпуске: 2 (66) т.17, 2025 года.
Бесплатный доступ
В данной статье представлен метод автоматического выявления аномальных движений человека на видеозаписях без предварительного обучения. Предлагаемый подход включает предобработку входных данных, сегментацию движения с использованием алгоритма PELT и кластеризацию сегментов методом DBSCAN. В качестве входного датасета используется набор данных подготовленных с помощью нейросетевых детекторов. Автоматический подбор параметров кластеризации с применением метода локтя позволяет разделить типичные и аномальные паттерны. Результаты экспериментов, проведённых на наборе данных MOT-17, демонстрируют возможность выделения аномальных движений даже при наличии шумов и пропусков. Оценочные метрики (индекс Калински -– Харабаша, индекс Дэвиса – Болдина и коэффициент силуэта) свидетельствуют о приемлемом качестве кластеризации, что подтверждает перспективность предлагаемого метода для применения в системах видеонаблюдения.
Аномалии, видеонаблюдение, кластеризация, трекинг, DBSCAN, Change Point Detection
Короткий адрес: https://sciup.org/142245005
IDR: 142245005 | УДК: 004.932.2
Текст научной статьи Метод выявления аномальных движений людей на видеозаписях без предварительного обучения
Современные системы анализа видеоданных стремительно развиваются и находят широкое применение в таких областях, как обеспечение безопасности, медицина, спорт. Однако большинство существующих методов анализа поведения человека требуют предварительной подготовки: обучения моделей, определения сценариев и паттернов. Это ограничивает гибкость таких систем и снижает их эффективность в реальных условиях.
«Московский физико-технический институт (пациопальпый исследовательский университет)», 2025
Настоящая работа направлена на разработку алгоритма, который выявляет аномалии в движениях человека без этапа предварительного обучения, что делает возможным его применение в условиях неопределенности и отсутствия описывающей информации о наблюдаемой сцене.
2. Актуальность и цель работы
Существующие методы анализа поведения человека можно условно разделить на три группы:
1. Системы с оптическими маркерами: данные методы требуют физического размещения маркеров на теле человека, что является инвазивным и ограничивает практическое применение [1];
2. MEMS-устройства: используют встроенные датчики для отслеживания движений, однако их применение требует специальных устройств, установленных на объекте [2];
3. Нейросетевые методы: работают исключительно на основе видеозаписей, без использования дополнительных приспособлений. Такие системы, как, например, OpenPose, демонстрируют высокую точность обнаружения позы, однако зачастую используют заранее заданные паттерны поведения или сложны в интерпретации результатов [3].
3. Описание алгоритма
Цель данной работы — разработать универсальный метод анализа движений, устойчивый к пропускам данных, не требующий дополнительной разметки или знаний о сцене и способный выявлять аномалии в поведении объектов. В отличие от существующих подходов, представленный метод позволяет обойти необходимость использования заранее заданных паттернов, что делает его более гибким, а связь с первоначальными данными -интерпретируемым.
Предлагаемый алгоритм состоит из нескольких ключевых этапов, позволяющих обработать видеоданные и выделить аномальные движения:
1. Предобработка данных и извлечение признаков: на основе координат ключевых точек, полученных нейросетевыми детекторами (например, OpenPose, MediaPipe или, как в данном случае, собственный детектор на основе сверточной нейронной сети, алгоритма Калмана и Венгерского алгоритма [4]), проводится очистка и нормализация данных. Важным этапом является устранение пропусков и шумов, а также агрегация информации по частям тела для получения более устойчивых характеристик;
2. Сегментация движений: применяется алгоритм PELT (Pruned Exact Linear Time) [5], который находит точки изменений в динамике движений и разделяет последовательность на обособленные сегменты. Этот этап позволяет выделить отдельные фазы активности, например начало или окончание движения;
3. Кластеризация: с использованием DBSCAN сегменты группируются в кластеры, что позволяет определить типичные и аномальные паттерны движения. Особое внимание уделено автоматическому подбору параметров кластеризации;
4. Интерпретация аномалий: выполненный анализ кластеров позволяет выделить отклоняющиеся сегменты, которые трактуются как аномальные. Результаты могут быть использованы для дальнейшей экспертизы и применения в системах видеонаблюдения.
4. Предобработка данных и извлечение признаков
Данный подход опирается на современные методы анализа временных рядов и кластеризации и демонстрирует высокую устойчивость к шумам и пропускам в данных.
Входные данные для алгоритма представляют собой координаты ключевых точек тела человека, полученные с помощью современного входного детектора. Использовалась комбинация свреточной нейронной сети YOLO, распознающая людей и ключевые точки их скелетов, алгоритм Калмана и Венгерский алгоритм для выделения конкретных людей и присваивания им уникальных идентификаторов, для построения трека их перемещения.
На этапе предобработки осуществляется:
1. Очистка: проводится устранение пропусков путём использования линейной интерполяции, с группировкой по каждому уникальному идентификатору объекта.
2. Агрегация признаков: для каждой группы ключевых точек (руки, ноги, голова и т.д.) вычисляются характеристики, отражающие динамику движения, такие как скорость, ускорение, а также угол поворота для туловища и головы, угол сгибания в суставе для локтей и коленей. Эти агрегированные признаки обеспечивают более надежное представление исходных данных.
5. Сегментация движений
5.1. Формализация задачи
Полученные признаки являются основой для последующих этапов анализа, позволяя более точно определить закономерности в движениях.
Для сегментации временного ряда на фазовые участки с однородной динамикой применяется алгоритм PELT (Pruned Exact Linear Time), являющийся эффективным решением задачи нахождения множественных точек изменений. В рамках представленного подхода временной ряд описывает агрегированные характеристики движения, такие как средняя скорость, изменение углов в суставах и модули ускорения.
Пусть дан временной ряд
Х1.п = (Х1,Х2, . . . ,Хп), и пусть то =0 < л < • • • < тт < тт+1 = п — искомые точки разрыва. Каждый сегмент (т{ + 1)... (тг+г) моделируется, например, линейной регрессией.
Требуется найти m и {тД, минимизируя общий критерий:
т
J(т1:т) = £ [ДХ(тЩ1):тт)] + тК, i=0
где
ъ
С {Ха.ъ) — fat ^i Pi ^)
t=a
— функция стоимости сегмента, а к > 0 — штраф за введение каждой новой точки разрыва.
5.2. Алгоритм PELT
5.3. Применение к данным движения
6. Кластеризация
PELT (Pruned Exact Linear Time) — это точный офлайн-алгоритм поиска точек изменения (changepoints) в одномерных временных рядах, который сочетает классическое динамическое программирование с отсечением нерелевантных кандидатов для достижения амортизированной линейной сложности по объёму данных. Алгоритм минимизирует общий штрафной критерий сегментации, балансируя между качеством аппроксимации каждого отрезка и числом введённых точек разрыва. Благодаря pruning-правилу PELT отбрасывает множество потенциальных разделов, которые гарантированно не войдут в оптимальный разбиение, что позволяет обрабатывать большое количество наблюдений за малое время.
Линейная модель адекватно описывает фрагменты с постоянной скоростью или линейно изменяющейся динамикой. В случае сложных паттернов PELT точно выделяет границы фаз движений, включая начало/окончание жестов, смену походки и т.д. Подбор параметра [3 осуществляется эмпирически либо с использованием эвристик на основе длины ряда или логарифма размера выборки. Для вычисления сигнала движения, в данной работе сначала бралась Z-score нормализация по всем вычисленным характеристикам движения: это углы сгибания в суставах, скорости и ускорения частей тела. После формировался сам сигнал движения за счет суммирования всех нормализованных метрик.
Для кластеризации сегментов движений используется алгоритм DBSCAN (DensityBased Spatial Clustering of Applications with Noise). Данный метод обладает следующими преимуществами:
-
• Не требует заранее заданного числа кластеров;
-
• устойчив к выбросам — точки, не принадлежащие ни одному кластеру, автоматически выделяются как шум;
-
• позволяет выявлять кластеры произвольной формы, что важно при анализе сложных динамических моделей движения.
Параметры DBSCAN — радиус окрестности (е) и минимальное число точек в кластере (MinPts) — играют решающую роль. Для их выбора применяется метод локтя, который заключается в следующем:
1. Вычисляются расстояния между каждой точкой и её k-м ближайшим соседом (обычно к = MiiiBts):
2. строится график этих расстояний, отсортированных по возрастанию. На графике наблюдается «излом» или локоть, после которого значение резко увеличивается;
3. значение е соответствует точке локтя, что оптимально разделяет плотные области от разреженных.
6.1. Выбор параметра к для DBSCAN
Один из важнейших параметров DBSCAN — это MinPts (обычно обозначается как к), определяющий минимальное количество точек в окрестности е для формирования кластера. В нашей задаче, выявления аномалий в динамике движения, нельзя заранее предположить количество кластеров или плотность распределения сегментов.
Предлагается использовать следующий подход, обеспечивающий полную автоматику. Пусть d — размерность пространства признаков, а А - количество наблюдений. Тогда:
-
1. выбирается минимальное значение из 3 и 1п(А);
-
2. выбирается минимальное значение из полученного результата и (2 * d + 1).
Такой подход позволяет гибко самонастраиваться, в зависимости от количества входных данных и рассчитанных признаков.
Дополнительно, при отсутствии априорной информации, возможно адаптивное определение k на основе плотности данных:
1. оценивается распределение расстояний до k-ближайших соседей для разных значений k:
2. строится график изменения средней плотности (например, kNN-distance);
3. выбирается такое k, при котором плотность стабилизируется или начинается рост разброса — это указывает на переход от плотных кластеров к шуму.
7. Результаты
Таким образом, параметр k = MinPts подбирается не случайным образом, а с учётом размерности признаков и количества наблюдений или локальной плотности в данных. Это критически важно в задачах выявления аномалий, где точность кластеризации влияет на интерпретацию результата.
После выбора оптимального значения е и MinPts, алгоритм DBSCAN применяется для кластеризации, а качество результатов оценивается индексами (см. ниже).
Алгоритм протестирован на наборе данных МОТ-17. МОТ (Multiple Object Tracking Benchmark) - набор видеозаписей с подготовленными метриками для сравнения алгоритмов трекинга множества объектов [6].
Таблица!
Информация о видеозаписях
Видеозапись |
FPS |
Разрешение |
Продолжительность |
Количество объектов |
МОТ17-02 |
30 |
1920x1080 |
600 (00:20) |
62 |
МОТ17-04 |
30 |
1920x1080 |
1050 (00:35) |
83 |
МОТ17-05 |
14 |
640x480 |
837 (01:00) |
133 |
МОТ17-09 |
30 |
1920x1080 |
525 (00:18) |
26 |
МОТ17-10 |
30 |
1920x1080 |
654 (00:22) |
57 |
МОТ17-11 |
30 |
1920x1080 |
900 (00:30) |
75 |
МОТ17-13 |
25 |
1920x1080 |
750 (00:30) |
110 |
Для оценки качества кластеризации использовались следующие метрики (на основе видеозаписи МОТ17-04):
-
• Индекс Калински Харабаша (Calinski Harabasz Index): измеряет отношение между межкластерной и внутрикластерной дисперсией. Значение 127.46 указывает на относительно хорошее разделение кластеров;
-
• Индекс Дэвиса Болдина (Davies Bouldin Index): показывает, насколько кластеры схожи друг с другом. Значение 0.861 говорит о том, что кластеры имеют хорошую компактность и разделимость, так как меньшие значения свидетельствуют о лучшей кластеризации;
-
• Коэффициент силуэта (Silhouette Coefficient): оценивает, насколько каждая точка схожа со своим кластером по сравнению с соседними кластерами. Значение 0.265 указывает на умеренную степень разделения кластеров, что может свидетельствовать о присутствии некоторых перекрытий между кластерами.
Т а б л и ц а 2
Метрики качества кластеризации видеозаписи МОТ17-04
Calinski - Harabasz Index |
Davies - Bouldin Index |
Silhouette Coefficient |
127.46 |
0.861 |
0.265 |
Т а б л и ц а 3
Результаты кластеризации
Видеозапись |
Распознанные объекты |
Распознанные движения |
Кластера |
Процент аномалий |
MOT17-02 |
66 |
235 |
4 |
9.8 |
MOT17-04 |
207 |
1400 |
5 |
6.4 |
MOT17-05 |
265 |
335 |
3 |
10 |
MOT17-09 |
112 |
287 |
1 |
8.4 |
MOT 17-10 |
99 |
190 |
2 |
14.7 |
MOT 17-11 |
188 |
353 |
3 |
7.7 |
MOT 17-13 |
89 |
67 |
1 |
24 |
По данным из табл. 3 видно, что даже на таких коротких видеозаписях, при наличии достаточного количества объектов, удается выполнить кластеризацию достаточно точно. Указанное количество в табл. 3 приводится без учета кластера, отвечающего за шум. В то же время, алгоритм сильно зависит от качества входных данных, например в видеозаписи МОТ 17-13 процент аномалий оказался слишком велик, из-за большого количества пропусков, когда детектор терял объект.
Представленные показатели демонстрируют, что предложенный метод способен эффективно разделять типичные и аномальные паттерны в динамике движений, а полученные метрики кластеризации свидетельствуют о том, что алгоритм сохраняет баланс между разделением кластеров и сохранением однородности внутри каждого кластера.
8. Интерпретируемость результатов
Для каждой выявленной аномалии сохраняются исходные данные, включая ID объекта, а также номера первого и последнего кадров, на которых зафиксировано аномальное поведение. Эта информация позволяет сопоставить результаты анализа с оригинальными видеоданными и проводить дополнительную интерпретацию.
Одним из важных инструментов является визуализация с использованием графиков параллельных координат. Такой метод позволяет сравнивать распределение динамических признаков (например, скорость, ускорение, углы поворота) для аномальных сегментов и типичных движений. На графике параллельных координат можно наглядно увидеть, какие именно признаки отклоняются от нормы, что и послужило основанием для маркировки сегмента как аномального. Эту информацию можно использовать для дополнительного анализа, с целью получить описывающую информацию о найденных отклонениях.
Предлагаются следующие способы интерпретации аномалий:
1. Анализ по объекту: Построение временных графиков для каждого объекта позволяет отследить изменения отдельных признаков во времени. Резкие изменения в динамике (например, резкое увеличение скорости или изменение углов) могут служить объяснением аномалии;
2. Корреляционный анализ: Вычисление корреляционных матриц признаков для нормальных и аномальных сегментов дает возможность выявить, какие признаки взаимодействуют аномально. Например, если корреляция между углами поворота и скоростью существенно отличается от ожидаемой, это может указывать на нехарактерное поведение;
3. Методы уменьшения размерности: Применение алгоритмов, таких как Principal Component Analysis (РСА) или t-Distributed Stochastic Neighbor Embedding (t-SNE), позволяет визуализировать высокоразмерное пространство признаков. Это помогает увидеть, как аномальные сегменты отделяются от типичных и какие признаки вносят наибольший вклад в это разделение.
9. Заключение
Таким образом, комбинированный подход, включающий сохранение исходных данных по аномальным сегментам и применение различных методов визуализации и анализа, обеспечивает высокую интерпретируемость результатов и способствует выявлению ключевых факторов, обусловивших появление аномалий.
Представленный метод, способен выявлять аномалии в движениях человека без предварительного обучения. Он устойчив к шумам и подходит для практического применения в видеонаблюдении.
Данный метод обработки видеозаписей можно применять в системах безопасности, например, для выявления нетипичного поведения людей в конкретных локациях, при этом, заранее не описывая, что является аномальным поведением. Анализируя лишь только часто встречающиеся сценарии, и благодаря возможности интерпретации результатов, становится возможным автоматизировать вызов каких-либо предупреждений или тревог. Кроме того, данный метод может найти применение в такой задаче, как определение человека по походке или каким-либо характерным движениям.