Алгоритмы обнаружения аномалий – 12 подходов для рабочей системы

Автор: Николай СапуновОбновлено: август 202650 мин чтения
Содержание статьи +

TL;DR

Двенадцать алгоритмов покрывают практически любой production-сервис обнаружения аномалий в видео в 2026 году, а правильный выбор для вашего продукта зависит от четырёх параметров: количество размеченных примеров, бюджет по латентности, вычислительные ресурсы на камеру и требование к интерпретируемости каждого срабатывания на естественном языке. Классические статистические методы (one-class SVM, Isolation Forest, Local Outlier Factor) по-прежнему остаются лидерами при работе с аномалиями на уровне сигнала и табличными признаками – почти без затрат на обучение. Реконструкционные подходы (vanilla autoencoder, ST-AE, MemAE, VAE/GAN) – стандартный unsupervised-выбор, когда у вас отсутствуют примеры аномальных классов. Глубокие темпоральные модели (3D-ConvNet вроде I3D и SlowFast, видео-трансформеры VideoSwin и VideoMAE) – основа layer-2-классификаторов для выявления поведенческих аномалий. Weakly-supervised MIL-фреймворки (RTFM, MGFN, MTFL) – академический SOTA на UCF-Crime, достигающий 86–90% AUC на сырых признаках. Методы на основе CLIP (VadCLIP, TPWNG, VadCLIP++, TrCLIP-VAD, WSVAD-CLIP) – технологический прорыв 2024–2026 годов, позволяющий стартовать с двух примеров на класс и при этом достигать 88% AUC. Мультимодальные LLM (Holmes-VAD, AnomalyRuler, Cerberus) – слой, обеспечивающий объяснение каждого срабатывания на естественном языке. LSTM и временные CNN на инженерных признаках следят за стабильностью самого пайплайна. В этой статье мы подробно рассмотрим каждый алгоритм – его сложность, применимость в продакшене, требования к железу и failure mode, который может вас удивить уже на третий месяц эксплуатации.

Зачем это нужно

Если вы читали playbook обнаружения аномалий 2026 года, вы уже знаете: система – это не одна модель, а слоистый стек. Эта статья – подробный разбор алгоритмов каждого из этих слоёв. Она адресована инженеру, который выбирает между RTFM и MGFN для классификатора на уровне 2 и не может понять из маркетинговых материалов, какой из них уложится в лимит латентности на Hailo-8; продакт-менеджеру, защищающему архитектуру CLIP перед советом директоров, где хотят «LLM, который делает всё»; и основателю, просматривающему питч-дек вендора с двенадцатью названиями алгоритмов и не знающему, по каким трём задать уточняющие вопросы. К концу статьи вы узнаете сито из четырёх чисел, которое поможет выбрать правильный алгоритм для любого продукта, типичные failure mode каждого алгоритма в продакшене и его стоимость при масштабировании вашего деплоя. Мы предполагаем, что вы ознакомились с уроком 1.2 о латентности и топологии и уроком 1.4 о стоимости ИИ в видеопродуктах, потому что любой выбор здесь сводится либо к миллисекундам, либо к долларам.

Сито из четырёх чисел – как выбрать ещё до чтения

Честный способ читать эту статью – нелинейный. Перед тем как оценивать любой алгоритм, выпишите четыре числа о своём продукте. Это сито, которое превращает двенадцать кандидатов в два.

Первое число – количество размеченных примеров интересующего вас класса аномалии. Ноль примеров отправляет к unsupervised-методам (autoencoder, VAE, Isolation Forest, one-class SVM). От двух до сотни примеров – это диапазон, в котором работают CLIP-методы и few-shot-подходы (VadCLIP, AnomalyRuler). От сотни до тысячи – оптимальная зона для слабо контролируемых методов типа MIL на основе CLIP-представлений. Десять тысяч и более – территория полностью контролируемого обучения, и на production-видео такие объёмы встречаются настолько редко, что это можно считать отдельным фактом.

Второе число – end-to-end бюджет латентности в миллисекундах от события до тревоги. Если он меньше 200 мс, обработку нужно выполнять на edge, исключая всё, что требует обращения в облако. При значении от 200 до 500 мс возможна тонкая топология с комбинированным использованием edge и облака. При латентности выше 500 мс облако становится приемлемым решением. Если задержка превышает десять секунд, система уже не работает в реальном времени, а переходит в режим анализа после события (forensic), и в таких условиях frontier-VLM становятся экономически выгодными.

Третье число – бюджет железа на камеру. Меньше 250 долларов на камеру – это Hailo-8 или Coral Edge TPU, и всё, что не квантизуется в INT8, исключается. От 250 до 1000 долларов – Jetson Orin Nano Super или Orin NX, и становится доступным всё семейство глубоких темпоральных моделей. Выше 1000 долларов – это облачный GPU, распределённый между несколькими камерами, и выбор алгоритма больше не зависит от количества камер.

Четвёртое число – требование к объяснению. Если тревожный сигнал можно тихо передать на проверку человеку, вы экономите затраты на весь Layer 4. Если же требуется сопровождающее объяснение на естественном языке, способное выдержать проверку регулятора или суда, придётся подключить VLM в стек: Holmes-VAD на устройстве для рутинных случаев и frontier-VLM в облаке – для крайних 1%.

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

Рисунок 1. Четыре параметра – labels, latency, hardware, explanation – определяют, к какому семейству алгоритмов стоит обращаться.

Алгоритм 1 – One-Class SVM (классический базовый метод, который вы недооцените)

One-Class SVM (OCSVM) предложили Schölkopf et al. в 2001 году как способ описать носитель высокоразмерного распределения по выборке, взятой из него. В терминах обнаружения аномалий это означает следующее: модель обучается на примерах нормального поведения и учится строить границу в пространстве признаков. На этапе инференса всё, что оказывается за этой границей, помечается как аномалия. Примеры самого класса аномалий не требуются – и это единственная причина, по которой OCSVM до сих пор используется в продакшене в 2026 году, поскольку любая современная альтернатива работает точнее, когда есть размеченные данные.

Матчасть – это квадратичная оптимизация, находящая гиперплоскость минимального расстояния, отделяющую обучающие данные от начала координат в пространстве признаков, индуцированном ядром. При использовании RBF-ядра и значении параметра nu по умолчанию 0.1 модель предполагает, что до 10% обучающих данных являются выбросами, и подстраивает разделяющую границу под это. Сложность обучения варьируется от O(n²) до O(n³) относительно числа примеров, что ограничивает практический размер обучающей выборки примерно 50–100 тысячами объектов до того, как обучение становится вычислительно затратным. Вычисления при инференсе – O(n_sv), где n_sv – количество опорных векторов: обычно это несколько сотен для хорошо обученной модели, что вполне укладывается в любой real-time-бюджет.

Причина, по которой OCSVM в 2026 году ещё остаётся актуальным, – сценарии с длинным хвостом: «есть ли движение в этом обычно пустом пространстве?». Подсобный коридор в 03:00. Закрытый складской проход вне рабочего времени. Серверная, где любое человеческое присутствие – аномалия по определению. У вас сотни часов «нормального» поведения (пустая комната) и ни одного примера аномалии (взломщик). OCSVM, обученный на признаках, извлечённых из каждого кадра с помощью предобученного ResNet-50 или небольшого ViT, надёжно срабатывает при появлении человека – без примеров аномалий и без дообучения. Стоимость минимальна, работает со скоростью 1000 кадров в секунду на CPU.

Жёсткий режим сбоя – проклятие размерности. По мере роста feature-вектора за пределы нескольких сотен измерений метрика расстояния, лежащая в основе ядра, теряет способность различать объекты, и граница классификации становится либо слишком мягкой (помечает всё подряд), либо слишком жёсткой (ничего не помечает). Решение – подавать на вход OCSVM не сырые 2048-мерные выходы ResNet, а низкоразмерные эмбеддинги – 64- или 128-мерные проекции предобученного энкодера.

Второй режим сбоя – дрейф концепции: OCSVM, обученный на «нормальных» данных весной, начнёт помечать как аномалии «нормальные» данные осенью, когда изменятся цвет листьев и освещение. Чтобы этого избежать, планируйте переобучение модели раз в квартал или добавьте сверху детектор дрейфа.

Рабочий пример: 16-камерная система охраны back room’ов сети банковских отделений. Часы нормального видео, ни одного случая вторжения. Извлекаем 128-мерный эмбеддинг на кадр с помощью квантизированного MobileNet-ViT на Raspberry Pi 5 ($80), установленном рядом с каждой камерой. Обучаем RBF-OCSVM с nu=0.05, gamma=0.1 на 30 днях нормального видео с камеры. Латентность инференса – около 8 мс на кадр на Pi 5; при срабатывании тревога публикуется по MQTT в дежурное мобильное приложение. Общие капитальные затраты на одну камеру – около $100, включая Pi и PoE-сплиттер. Система ловит каждое вторжение в пилотной версии, ни разу не сталкиваясь с такими случаями при обучении. При более чем 20 камерах переходите на Isolation Forest за счёт линейной сложности обучения; при 20 и менее – OCSVM остаётся самым простым и правильным решением.

Алгоритм 2 – Isolation Forest (по умолчанию для аномалий на уровне сигнала)

Isolation Forest (iForest) был предложен Liu, Ting и Zhou в 2008 году и является одним из немногих алгоритмов обнаружения аномалий, способных эффективно масштабироваться. Интуиция здесь противоположна традиционному подходу. Вместо того чтобы сначала обучаться на нормальных данных и выявлять отклонения, iForest пытается изолировать каждую точку, рекурсивно разделяя пространство признаков случайными бинарными разбиениями. Аномалии – статистически редкие и отличающиеся по признакам – изолируются быстрее, чем нормальные точки, поскольку у них меньше соседей, «защищающих» их от изоляции. Оценка аномальности – это средняя длина пути в ансамбле случайных деревьев, нормированная на ожидаемую длину пути для данного размера выборки.

Сложность обучения – O(n log n), предсказания – O(log n) на дерево; см. документацию scikit-learn как каноническую реализацию. Оба показателя линейно зависят от размера датасета на практике, что делает iForest удобным для работы с десятками миллионов точек. Нормализация признаков не требуется, примеры аномалий не нужны, а пространство гиперпараметров сводится по сути к одной настройке (contamination – предполагаемая доля выбросов, по умолчанию auto).

Production-fit – это не сырые кадры, а инженерные признаки поверх pipeline-метаданных. Среднее значение пикселей по кадру – ловит замёрзший видеопоток. Энтропия по кадру – ловит чёрный экран. Битрейт энкодера – ловит зависший энкодер. Магнитуда разности между кадрами – ловит застывшую камеру. Гистограмма уверенности модели – ловит модель, «схлопнувшуюся» в одну метку. Скорость потерь пакетов в WebRTC – ловит сетевые проблемы. Эти метрики – вектор из 20–60 чисел на кадр, агрегированных в скользящее окно длиной в минуту – подаются в iForest, и получается Layer 5 пятислойного стека из playbook-а 2026 года. Это слой, который ловит камеру, незаметно застывшую на стоп-кадре парковки на закате.

Режим сбоя в продакшене такой же, как и у любой модели на временных рядах: медленно дрейфующие признаки не обнаруживаются, пока дрейф не завершится. Камера, фокус которой ухудшается в течение полугода, не будет помечена iForest, если модель обучается только на данных за последние 30 дней, потому что каждый отдельный день выглядит нормально по сравнению с предыдущим. Проблему решает фиксация обучающего набора на «золотом» базеловом периоде (первый месяц после установки) и регулярные абсолютные сравнения с ним, а не только скользящие сравнения с недавней историей.

Рабочий пример. Флот из 500 камер для розничного видеонаблюдения. Инженерный вектор признаков – 32 числа на камеру в минуту: коэффициент сжатия, средняя яркость (luma), количество заморозок кадров, энергия движения, гистограмма уверенности модели, частота тревог и так далее. На каждую камеру – отдельный iForest, переобучаемый раз в сутки на данных golden baseline за последние 30 дней. Стоимость инференса – минимальна: все iForest’ы для всего флота работают несколько секунд на одном ядре CPU. Обнаруженные режимы сбоев в первом квартале: 7 замёрзших видеопотоков, 14 камер, вышедших из фокуса, 3 камеры, случайно повернутые на 90° во время уборки, 2 случая, когда модель начала выдавать один класс после неудачного деплоя. Ни один из этих инцидентов не был виден на уровне vision-системы.

Алгоритм 3 – Local Outlier Factor (когда плотность в пространстве признаков действительно различается)

Local Outlier Factor (LOF) был предложен Breunig, Kriegel, Ng и Sander в 2000 году. Это старший «кузен» iForest и правильный выбор, когда пространство признаков содержит области с реальной разной плотностью, которые модель должна учитывать. LOF вычисляет для каждой точки отношение её локальной плотности к локальным плотностям её k ближайших соседей: точка, находящаяся в области низкой плотности и окружённая соседями из более плотной области, получает высокий балл и помечается как аномальная.

Сложность – главная проблема. LOF требует попарных расстояний для поиска ближайших соседей: в наивной реализации это O(n²). scikit-learn ускоряет вычисления с помощью BallTree или KDTree до примерно O(n log n) на низкоразмерных данных, но константа остаётся выше, чем у iForest, а деревья деградируют до O(n²) на высокоразмерных данных. Правило: используйте iForest для датасетов больше 100 000 сэмплов, а LOF применяйте только тогда, когда интуиция о локальной плотности действительно соответствует структуре данных.

Production-ограничение узкое. Классический пример – обнаружение географических аномалий: машина, остановившаяся посреди необычного участка дороги, где «центр сегмента» имеет разную нормальную плотность в зависимости от того, на автостраде вы или в городе. Интуиция LOF – «эта точка аномальна, потому что её локальная окрестность необычно разрежена» – обобщается лучше, чем глобальный порог iForest. Для большинства метаданных пайплайна глобальной перспективы iForest достаточно, а LOF – избыточен. Мы упоминаем его в production-двенадцати, потому что существуют специализированные применения (urban analytics, mobility data, разрежённые sensor-сети), где LOF действительно является правильным инструментом.

Режим сбоя – настройка. Параметр n_neighbors является самым важным гиперпараметром, для которого не существует универсального значения по умолчанию. Слишком низкое значение приводит к доминированию шума, а слишком высокое – к тому, что интуиция локальной плотности теряется в глобальной, и проще использовать iForest. Руководство пользователя scikit-learn рекомендует n_neighbors = 20 в качестве начальной точки и подбор в диапазоне от 10 до 50 на валидационной выборке.

Алгоритм 4 – Восстановление автоэнкодером (неуправляемый режим по умолчанию для необработанного видео)

Vanilla-автоэнкодер – самый простой метод глубокого обучения, применимый к видео. Вы обучаете свёрточную сеть encoder–decoder сжимать кадр (или короткий клип) в низкоразмерное латентное представление и восстанавливать его обратно. Обучение ведётся только на нормальных кадрах. На этапе инференса вы помечаете любой кадр, у которого ошибка реконструкции (обычно MSE по пикселям или perceptual loss по глубоким признакам) превышает установленный порог. Интуиция проста: сеть учится восстанавливать паттерны, которые она видела во время обучения, и «спотыкается» на тех, которых не встречала.

Первая волна работ – Hasan et al. 2016, Chong и Tay 2017, Luo et al. 2017 (ConvLSTM-AE) – закрепила подход на датасетах Avenue и ShanghaiTech и показала, что даже небольшой autoencoder превосходит классические статистические baseline-методы на 5–15 AUC-пунктов при работе с сырым видео. Вторая волна (Liu et al. 2018, Park et al. 2020 – MemAE, Gong et al. 2019) уточнила архитектуру, чтобы устранить главный недостаток обычных autoencoder’ов: сеть слишком хорошо обобщает и учится адекватно реконструировать аномалии, тем самым сглаживая разрыв, который должен срабатывать при их обнаружении.

В продакшене vanilla-автоэнкодер – правильный unsupervised-дефолт. Работает на 60+ fps при разрешении 224×224 на Jetson Orin Nano Super, не требует меток аномалий, настройка порога – однострочная операция на отложенной валидации. Проблема возникает с длинным хвостом поведенческих аномалий: спокойно идущий человек реконструируется корректно, но и дерущийся тоже реконструируется нормально, потому что энкодер обобщает по признаку «человек что-то делает». В таких случаях стоит перейти на ST-AE или MemAE.

Режим отказа, на который стоит ориентироваться, – threshold drift. Распределение ошибки реконструкции смещается под влиянием освещения, погоды, фокуса камеры, активности сцены и времени года. Установили статический порог один раз – через два месяца он либо перестанет срабатывать (нулевые тревоги), либо станет невыносимым (сотни ложных срабатываний). Проблему решает скользящий порог по каждой камере, рассчитываемый на основе перцентиля недавнего распределения ошибки реконструкции (обычно 99,5-й перцентиль за последние 7 дней), а также проверка на «новизну» (novelty), которая определяет, что распределение сместилось целиком, и запускает переобучение (retrain).

Алгоритм 5 – ST-AE и MemAE (специализированные видеодекодеры)

Spatial-Temporal Autoencoder (ST-AE) расширяет классический автоэнкодер за счёт явного моделирования временных зависимостей. Вместо обработки одного кадра за раз энкодер принимает короткий видеофрагмент (обычно 8–16 кадров), а декодер восстанавливает его целиком. Временную динамику можно моделировать с помощью 3D-свёрток, ConvLSTM или небольшого блока на основе трансформера. Преимущество в задаче обнаружения аномалий на видео действительно ощутимо: поведенческие аномалии, которые выглядят «нормально по отдельности, но нелогичны в движении» – например, человек, бегущий там, где бегать нельзя, или автомобиль, едущий против движения в односторонней зоне, – выявляются именно по временной оси, где обычные автоэнкодеры, работающие по кадрам, терпят неудачу.

MemAE (Gong, Liu et al. 2019, ICCV) добавляет явный memory-модуль между энкодером и декодером. Энкодер выдаёт латентное представление, которое используется для запроса памяти из K прототипных векторов (обычно K = 2000). Ближайшие прототипы агрегируются, и на основе этого агрегата декодер восстанавливает вход. Эффект: сеть может хорошо реконструировать только те объекты, которые близки к чему-то уже виденному; аномалии, дающие латентное представление, далёкое от всех прототипов, реконструируются плохо, и система срабатывает на тревогу. Опубликованные результаты на датасетах Avenue и ShanghaiTech показали улучшение на 2–3 AUC-пункта по сравнению с обычными автокодировщиками без использования разметки.

В продакшене ST-AE и MemAE – правильный выбор для случая «у нас сотни часов нормального видео, ноль примеров аномалий, и аномалия темпоральная». Цена – размер модели (ST-AE с 3D-свёрточными слоями в 5–10 раз тяжелее per-frame autoencoder’а) и латентность (16-кадровое окно обработки добавляет полсекунды задержки – нормально для облака, но на грани допустимого для edge-устройств с задержкой менее 200 мс). Обе модели корректно квантуются до INT8 на Jetson, но время вывода на Jetson Orin Nano Super для типичного клипа ST-AE составляет 80–150 мс, что достигает верхней границы 200-миллисекундного порога.

Режим сбоя – переобучение на свежих данных (overfit-to-recent). Если переобучать ST-AE или MemAE еженедельно на данных за последние 7 дней, модель быстро «запомнит», что текущие паттерны сцены – норма, и перестанет замечать изменения. Решение – обучить модель один раз на многомесячном «золотом» окне данных по камере, а переобучать – только тогда, когда детектор дрейфа определит, что базовое распределение существенно изменилось.

Алгоритм 6 – Variational Autoencoder и GAN-основанные детекторы

Variational Autoencoder (VAE) расширяет автоэнкодер за счёт вероятностного латентного пространства – энкодер выдаёт векторы среднего и дисперсии, латентный вектор сэмплируется из соответствующего нормального распределения, а декодер реконструирует вход на основе этого сэмпла. Функция потерь объединяет ошибку реконструкции с KL-дивергенцией, которая «тянет» распределение латентных переменных к стандартному нормальному. Сигнал аномалии – логарифм правдоподобия под моделью: у аномалий он низкий, и такие объекты помечаются как аномальные.

GAN-основанные методы – AnoGAN (Schlegl et al. 2017), GANomaly (Akcay et al. 2018), Skip-GANomaly (Akcay et al. 2019) и их видео-специфичные варианты – обучают генератор создавать нормальные сэмплы, а дискриминатор – различать нормальные и сгенерированные данные. Затем в качестве сигнала аномалии используют либо ошибку реконструкции, либо уверенность дискриминатора. Интуиция здесь аналогична VAE: модель знает, как выглядит нормальное поведение, а аномалия – это то, с чем она не может справиться.

В академических бенчмарках детекторы на основе VAE и GAN демонстрируют схожие с ST-AE показатели AUC – они эффективны и конкурентоспособны на небольших датасетах, таких как Avenue и ShanghaiTech, но редко занимают первые места в рейтингах. В реальных условиях их применение значительно ограничено из-за сложности обучения. VAE требует тщательной балансировки между компонентой реконструкции и KL-членом, при этом существует риск схлопывания апостериорного распределения к априорному («posterior collapse»). Обучение GAN известно своей нестабильностью: типичные проблемы – схлопывание мод, исчезающие градиенты и колеблющиеся функции потерь – отнимают недели инженерного времени.

Наша практическая рекомендация – отказаться от VAE и GAN для обнаружения аномалий в production, если в команде нет специалиста по этим моделям. Обычные автоэнкодеры проще в реализации и остаются конкурентоспособными; ST-AE и MemAE показывают сопоставимые результаты на временных аномалиях при значительно меньших трудозатратах на обучение. Модели CLIP и семейства MIL работают драматически лучше при наличии любых меток. VAE и GAN могут быть полезны в исследовательских задачах и в узких промышленных контекстах, где сами сгенерированные образцы имеют ценность – например, для аугментации данных или симуляции. Однако для типичного video anomaly detection в 2026 году тратить на них время инженера по обучению моделей нецелесообразно.

Алгоритм 7 – 3D-Convolutional Neural Network (I3D, C3D, SlowFast – «рабочая лошадка» Layer 2)

Семейство 3D-Convolutional Neural Networks – настоящая рабочая лошадка в задачах обнаружения аномального поведения. C3D (Tran et al., 2015) впервые показал, что включение временной оси в свёртки даёт значительно более эффективный извлекатель признаков для видео, чем комбинация 2D-ConvNet и LSTM. I3D (Carreira и Zisserman, 2017) расширил предобученную на ImageNet сеть Inception до трёхмерной, «надув» свёрточные ядра вдоль временной оси и инициализировав их весами из 2D-сети – и стал первым по-настоящему мощным предобученным извлечением признаков для видео. SlowFast (Feichtenhofer et al., 2019, ICCV) ввёл архитектуру с двумя путями: медленный путь с низкой временной частотой, отвечающий за пространственную семантику, и быстрый путь с высокой временной частотой, фиксирующий движение. Эта модель до сих пор остаётся лучшим решением по соотношению точности и вычислительной сложности в своём классе.

Для обнаружения аномалий семейство 3D-Convolutional Neural Networks редко используется как end-to-end модель – это feature-extractor. Типичный подход: берут предобученную модель I3D или SlowFast, прогоняют по видеоклипу и получают 1024- или 2048-мерный вектор признаков на сегмент, который затем подаётся на вход downstream-классификатору – будь то MIL, MLP, трансформер или CLIP-симилярность – в зависимости от архитектуры второго уровня. Причина – эффективность: 3D-ConvNet – вычислительно дорогая часть, и её хочется использовать один раз на клип; при этом downstream-классификатор можно переобучать под новые классы аномалий без повторного извлечения признаков.

Квантизованные в INT8 модели I3D и SlowFast работают примерно на 30 кадрах в секунду на Jetson Orin Nano Super, обеспечивая задержку feature-вектора 25–40 мс на клип. Устройства Nano Super обеспечивают около 67 TOPS в режиме INT8 sparse – этого достаточно, чтобы запускать 3D-CNN, небольшую MIL-голову и тонкий candidate-filter-autoencoder на одном и том же железе. На Orin NX (100 TOPS) можно разместить более тяжёлую версию SlowFast или несколько экземпляров модели для multi-camera shared-hardware. Вариант ResNet50-I3D-NonLocal, часто используемый в качестве feature-backbone для VAD, содержит 34,6 млн параметров и требует 38,3 GFLOPs на клип – что комфортно укладывается в edge-envelope Orin Nano.

clip-boundary effects – режим отказа. 3D-CNN обрабатывает клип фиксированной длины (обычно 16, 32 или 64 кадра). Аномалия, пересекающая границу клипа, может оказаться разрезанной пополам: каждый из двух клипов покажет её лишь наполовину, что приведёт к низкой уверенности в обоих. Проблема решается обработкой с перекрывающимися клипами (скользящее окно со шагом меньше длины клипа) и временным сглаживанием оценок по клипам. Стоимость – примерно в 2 раза больше вычислений, что необходимо учитывать при планировании бюджета латентности.

Алгоритм 8 – Видео-трансформеры (TimeSformer, VideoSwin, VideoMAE, ViViT – уровень максимальной точности)

Семейство видео-трансформеров появилось в период с 2021 по 2023 год и подняло планку точности на большинстве бенчмарков по распознаванию действий и обнаружению аномалий на 2–5 пунктов. TimeSformer (Bertasius et al. 2021) ввёл «разделённое внимание» – сначала внимание по пространству внутри каждого кадра, затем – по времени между кадрами – как способ сделать видео-трансформеры вычислительно управляемыми. ViViT (Arnab et al. 2021) исследовал семейство факторизаций пространственно-временного внимания. VideoSwin (Liu et al. 2022) адаптировал для видео иерархическое сдвинутое оконное внимание из Swin Transformer, значительно снизив вычислительные затраты при сохранении точности. VideoMAE (Tong et al. 2022, NeurIPS) предложил предобучение на основе маскированного автокодировщика для видео: случайно маскируются 90% видео-токенов, модель обучается их восстанавливать, и в результате получается мощный самонастроенный предобученный видео-трансформер, требующий меньше размеченных данных для дообучения по сравнению с полностью контролируемыми аналогами.

Для обнаружения аномалий видео-трансформеры стабильно превосходят 3D-Convolutional Neural Networks (3D-ConvNets) на небольших бенчмарках – Avenue и ShanghaiTech – и остаются конкурентоспособными на UCF-Crime при использовании MIL-головы. Так, VideoSwin-Base или VideoMAE-Large с обученной MIL-головой достигают AUC более 95% на UCF-Crime – значительный прирост по сравнению с SlowFast-архитектурой при той же MIL-голове.

Цена – compute. Вариант VideoSwin-B работает на Jetson Orin Nano Super со скоростью 5–15 кадров в секунду даже в режиме INT8 – слишком медленно для live edge-обработки при 30 кадрах в секунду. VideoMAE-L ещё тяжелее. Семейство видео-трансформеров – правильный выбор для cloud-сторонного переоценивания в гибридной архитектуре: на edge запускается квантизованная версия SlowFast на 30 fps для фильтрации кандидатов, а облако обрабатывает VideoMAE на отобранных edge-моделью кандидатах, обеспечивая высокоточный второй взгляд. На сервере L40S VideoMAE работает на 30+ fps при параллельной обработке десятков потоков; на edge-аппаратуре 2026 года – пока нет.

Режим сбоя – чувствительность гиперпараметров трансформера. Видео-трансформеры более чувствительны к warmup скорости обучения, коэффициенту weight decay, drop-path rate и размеру патча, чем 3D-ConvNet. Команда, которая никогда не обучала видео-трансформеры, должна закладывать 4–8 недель на постепенный переход к воспроизведению опубликованных результатов. Проблему можно решить, начав с уже опубликованных предобученных весов и тонко дообучая модель (скорость обучения 1e-5, weight decay 0.05, drop-path 0.1), а не обучая её с нуля.

Алгоритм 9 – Weakly-supervised MIL (RTFM, MGFN, MTFL – SOTA на UCF-Crime)

Семейство Multiple Instance Learning (MIL) – это класс алгоритмов, сделавших детекцию аномалий в видео при слабой разметке практически осуществимой. Основная проблема, которую решает MIL, – высокая стоимость разметки. Метки на уровне кадров – «вот этот конкретный кадр содержит драку» – слишком дороги для сбора в больших масштабах; метки на уровне видео – «этот 10-минутный клип содержит драку где-то» – относительно дешёвые. MIL-фреймворки заполняют эту пропасть: они обучаются на метках уровня видео и при инференсе способны локализовать аномалию до клипа или даже отдельного кадра.

Фреймворк. Каждое видео – это «bag» клипов; каждый клип – это «instance» в bag-е. Положительные (аномальные) bag-ы содержат хотя бы один аномальный instance; отрицательные (нормальные) bag-ы – ни одного. Нейросеть выдаёт оценку для каждого instance; оценка bag-а – это какая-то агрегация (обычно max или среднее по top-k). Ranking loss заставляет top-k оценки клипов в положительных bag-ах быть выше, чем в отрицательных. На этапе инференса оценка по каждому клипу используется для локализации аномалий.

Линейка SOTA на UCF-Crime рассказывает историю. RTFM (Tian et al. 2021) ввёл Robust Temporal Feature Magnitude learning и достиг 84,30% AUC на UCF-Crime. MGFN (Chen et al. 2023, AAAI) ввёл Magnitude-Contrastive Glance-and-Focus Network и поднял планку до 86,98% AUC на UCF-Crime и 80,11% AP на XD-Violence на I3D-фичах; с VST-RGB-фичами в более поздних сравнениях MGFN показал около 85,80% AUC на UCF-Crime. MTFL (Karim et al. 2024) ввёл Multi-Timescale Feature Learning и отчитался о 89,78% AUC на UCF-Crime на VST-RGB-фичах – прирост на 5,48 пункта по сравнению с RTFM и чистый обгон MGFN на том же feature-байконе. Unbiased MIL (Lv et al. 2023, CVPR) устранил смещение, вызванное дисбалансом классов, в более ранних MIL-фреймворках и является правильным выбором, когда класс аномалии очень редок в обучающей выборке.

В продакшене MIL-семейство – правильный классификатор уровня layer-2, когда у вас метки на уровне видео, но не на уровне кадров – что, по сути, характерно для любого реального датасета видеонаблюдения. MIL-голова небольшая (несколько слоёв MLP поверх feature-backbone) и работает за миллисекунды даже на Jetson; основную вычислительную нагрузку несёт feature-extractor внизу – ваш выбор между 3D-CNN или видео-трансформером из алгоритмов 7 и 8. Картина 2025 года – примерно 86–90% AUC на UCF-Crime на сырых фичах и 95%+ AUC, когда сверху добавляется правильный CLIP-расширенный Layer 3.

Режим сбоя – путаница на уровне bag. Метод обучения с множественными инстансами (MIL) учится различать два случая: «аномалия есть где-то в bag’е» и «аномалии нигде нет». Длинное нормальное видео с короткой и слабой аномалией формирует слабый градиент, тогда как короткий bag с короткой, но сильной аномалией даёт сильный градиент. В результате: MIL хорошо работает на выраженных аномалиях, но плохо – на тонких. Например, драка или арест распознаются надёжно, а медленный паттерн loitering часто пропускается.

Решение двойное: балансировка датасета по длине bag’ов и плотности аномалий, а также применение временной сегментации – например, 32-сегментного чанкинга, как в оригинальной работе Sultani et al. 2018, – чтобы контролировать длину bag’ов. Архитектура MTFL с многовременным масштабом напрямую решает эту проблему, представляя каждый клип на нескольких временных шкалах вместо одного фиксированного окна.

Рабочий production-паттерн. SlowFast-R50 INT8 feature-экстрактор на Jetson Orin Nano Super выдаёт 2048-мерный фичер на 32-кадровый клип. MTFL-головка (маленький трансформер по темпоральной оси с multi-scale-головками) сверху выдаёт anomaly-скоры на каждый клип. Общий бюджет edge-инференса – 60 мс на клип, что комфортно укладывается в 200-мс envelope. Бюджет разметки – видеоуровневые метки на 1000 часах видео с 50 камер, аннотированных в течение 6 недель in-house. Результирующий AUC на customer site-валидационном сете – 91%, что на 2 пункта ниже опубликованного числа по UCF-Crime – именно этот разрыв и нужно закладывать при переносе research-результатов на production-данные.

Алгоритм 10 – Методы на основе CLIP (VadCLIP, TPWNG, VadCLIP++, TrCLIP-VAD, WSVAD-CLIP, AVadCLIP – лифт 2024–2026)

CLIP-основанный слабообучаемый VAD – самый значительный инженерный прорыв в этой области между 2024 и 2026 годами. CLIP (Radford et al., 2021) – это контрастивная модель визуального и языкового взаимодействия, обученная на парах «изображение–текст» из открытого веба. Она отображает изображения и короткие текстовые описания в общее пространство встраиваний, где семантически близкие объекты группируются вместе. Применение к обнаружению аномалий очевидно: описываете класс аномалии текстом («человек, лезущий через забор», «дерущиеся люди»), получаете встраивания текста и видеоклипа и сравниваете их по косинусной близости с порогом. При полном отсутствии обучающих примеров целевого класса вы получаете вполне работоспособный детектор. При наличии нескольких примеров можно дообучить модель под распределение на конкретной площадке. Используя CLIP с MIL-головой, достигают лучших опубликованных результатов при значительно меньшей стоимости разметки, чем у традиционных методов семейства MIL.

Линейка. VadCLIP (Wu et al. 2024, AAAI) – первый CLIP-основанный слабо контролируемый метод VAD, занявший место на лидербордах. Использует двухветвевую архитектуру: одна ветвь выполняет грубую бинарную классификацию по визуальным признакам, другая – точное сопоставление изображений и текста, а результаты объединяются. Опубликованные результаты: 88,02% AUC на UCF-Crime и 84,51% AP на XD-Violence. TPWNG (Text Prompt with Normality Guidance, Yang et al. CVPR 2024) – фреймворк на основе генерации псевдо-меток и самообучения, объединяющий визуальные признаки с текстовыми эмбеддингами CLIP, достигший SOTA на UCF-Crime и XD-Violence в 2024 году. WSVAD-CLIP (Lin et al. 2025) добавляет обучение временных промптов и фьюзию с учётом кадров, используя межмодальные знания CLIP для преодоления семантического разрыва. VadCLIP++ (2025) вводит динамическую визуально-языковую модель, адаптирующую CLIP во время инференса. TrCLIP-VAD (vpsg-research, 2026) улучшает обучение CLIP за счёт переформулировки текста и сейчас близок к SOTA – 88,59% AUC на UCF-Crime и 86,38% AP на XD-Violence. AVadCLIP (2025) расширяет подход на аудиовизуальное взаимодействие – оптимальный выбор для детекции насилия в формате XD-Violence.

Production-fit – это режим с открытым словарём и возможностью работы в few-shot. Если клиенту нужно добавить новый класс аномалий – например, «человек, несущий длинный предмет» или «человек в жилете высокой видимости в запрещённой зоне» – достаточно описать его текстом, получить эмбеддинг описания и сравнивать косинусное сходство с входящими клипами. Пороговое значение задаётся вручную – и за час у вас уже работает детектор v1 без переобучения модели.

Если позже вы соберёте 50 примеров нового класса, можно дообучить текстовую ветвь CLIP или обучить небольшую голову на основе MIL, чтобы повысить AUC на 5–15 пунктов. Обе эти операции выполняются на порядки быстрее, чем старый подход: «собрать 5000 размеченных примеров, а затем переобучить весь пайплайн», который был необходим для архитектур на основе 3D-CNN.

Цена – это вычислительная стоимость инференса самого CLIP. CLIP-ViT-L/14 генерирует 768-мерный вектор изображения примерно за 15 мс на одном изображении на GPU A100 (значительно дольше на edge-устройствах). Для 32-кадрового клипа требуется 32 прохода вперёд (или один с 3D-адаптацией), поэтому латентность на один клип составляет 50–100 мс на облачном GPU и 200–500 мс на edge-устройствах. Правильный подход в продакшене – использовать CLIP в облаке как re-скорер третьего уровня для кандидатов, которые уже отфильтровал детектор второго уровня на edge, а не запускать CLIP на каждом кадре.

Сбойный режимхрупкость промпта. CLIP чувствителен к точной формулировке текстового промпта. Фразы «человек дерётся» и «двое людей дерутся» дают разные значения similarity-скора на одном и том же клипе, а небольшие переформулировки промпта сдвигают AUC на несколько пунктов. Лечение двойное: использование ансамбля по нескольким вариантам промптов (приём, поднявший точность zero-shot ImageNet у CLIP на 1,4 пункта в оригинальной работе) и применение обучаемого слоя prompt-тюнинга (CoOp, CoCoOp, MaPLe) вместо ручных промптов.

Алгоритм 11 – Мультимодальные LLM (Holmes-VAD, AnomalyRuler, Cerberus, SlowFastVAD – слой объяснения)

Приход мультимодальных LLM в качестве детекторов аномалий – второй сдвиг 2024–2026 годов. Там, где методы CLIP дают оценку схожести, мультимодальные LLM предоставляют объяснение на естественном языке – и в 2026 году именно наличие такого объяснения становится решающим фактором: продукт, прошедший регуляторный аудит, отличается от того, который не прошёл.

Линейка. Holmes-VAD (Zhang et al. 2024) выполняет дообучение мультимодальной языковой модели на новом бенчмарке VAD-Instruct50k – 50 000 пар «инструкция–ответ» для детекции аномалий в видео – и обеспечивает точную временную локализацию аномалий, а также связное объяснение на естественном языке. Архитектура включает замороженный видеодекодер, лёгкий временной селектор, выбирающий кадры, релевантные аномалиям, и языковую модель, обрабатывающую эти кадры и выдающую структурированный ответ. AnomalyRuler (Yang et al. ECCV 2024) рассматривает задачу VAD как задачу few-shot рассуждений: пользователю предлагается подать несколько примеров нормального поведения, чтобы модель выведена правила, которые затем применяются к новому видео. Опубликованные результаты показали, что это первый метод на основе VLM, превзойдший традиционные полностью управляемые базовые модели на небольших бенчмарках с неявной разметкой. Cerberus (Liu et al. 2025) комбинирует более лёгкие и мощные VLM, чтобы сбалансировать точность и частоту кадров, достигая 97,2% точности на UCF-Crime при 57,68 кадрах в секунду на NVIDIA L40S – впервые попадая в зону реального времени для методов класса VLM. SlowFastVAD (Wang et al. 2025) интегрирует быстрый детектор с VLM, усиленной RAG, извлекая релевантный контекст из базы знаний по видео перед формированием объяснения.

Сегодня в продакшене используется практичный слоистый паттерн. Небольшая on-device модель VLM (Qwen-VL 7B, Llama 3.2 Vision 11B, Moondream 2B) обрабатывает рутинные запросы с камеры. Frontier-уровень (Gemini 2.5 Pro, Claude Opus 4.7, GPT-5) через API в облаке решает пограничные случаи – 1–5%, когда меньшая модель не уверена. Такая архитектура позволяет держать затраты под контролем, сохраняя высокий уровень качества там, где он действительно важен.

Cost-арифметика – ловушка. Frontier-VLM по $1,25 за миллион входных токенов, обрабатывающий 30-секундный клип в стандартном разрешении (около 9000 входных токенов) плюс 200 выходных токенов, обходится примерно в $0,012 за клип – назовём это центом. Умножьте на тысячу тревог в день с одной камеры – получите $12 в день на камеру, или $360 в месяц, что превышает стоимость любого SaaS-контракта на видеонаблюдение на рынке. Решение – многоуровневый подход выше плюс агрессивный маршрутизационный фильтр: к frontier-VLM направляются только тревоги с уверенностью от 0,4 до 0,7 из MIL-слоя (обычно 1–5% всех тревог). Полный разбор стоимости – в уроке 1.4 о реальной стоимости ИИ в видеопродуктах.

Режим сбоя – галлюцинация. Frontier-VLM выдаст уверенные, бегло написанные, но неверные объяснения для видео, выходящих за пределы обучающего распределения. Решение – использование структурированных выходов (заставьте модель заполнять JSON-схему вместо свободной прозы), установка порога уверенности для структурированных полей и проверка корректности через CLIP-скор (sanity-check), отбрасывающий объяснения, противоречащие данным верхних слоёв. В высоконагруженных сценариях вывод VLM всегда должен быть черновиком, который проверяет человек – никогда не следует использовать полностью автоматизированные решения.

Алгоритм 12 – LSTM и временная CNN на инженерных признаках (pipeline-watchdog)

Последний алгоритм – тот, который почти все архитектуры игнорируют, но который в продакшене ловит больше silent-ошибок, чем остальные одиннадцать вместе взятые. Он отслеживает сам pipeline, а не содержимое видео. LSTM или 1D-temporal-CNN на векторе инженерных признаков по скользящему временному окну выявляют режимы сбоев, недоступные для vision-слоёв.

Инженерный feature-вектор – сердце подхода. Метрики в секунду: длительность заморозки кадра, битрейт кодировщика, QP кодировщика, средняя люминация декодированного кадра, энтропия декодированного кадра, величина межкадровой разницы, частота событий ONVIF, частота оповещений, скользящая гистограмма MIL-доверия, распределение CLIP-оценок, всплеск стоимости VLM. Агрегируйте по 60-секундным окнам с шагом 30 секунд, подавайте на вход LSTM или временной CNN, обучайте на исторических нормальных паттернах. Аномалией считается любое окно, у которого ошибка восстановления или расстояние до предсказанного следующего окна превышает порог.

Failure-режимы, которые это ловит, – те, через которые рано или поздно проходит каждая surveillance-команда. Камера тихо замёрзла, а pipeline продолжает выдавать предсказания на последнем хорошем кадре. Энкодер перезапустился и выдаёт повреждённый bitstream, декодирующийся в видеопоток с деградированными признаками. MIL-модель схлопнулась в один класс после неудачного деплоя. Frontier-VLM-API начал возвращать пустые ответы, потому что API-ключ ротировался, а failover не перехватил. Cloud-GPU-queue забит, и inference-латентность за час выросла с 50 мс до 1500 мс. Падение upstream RTSP-доставки тихо заполняется локальным jitter-буфером, маскируя развивающуюся сетевую проблему.

Ничего из этого не видно vision-слою. Всё это видит 60-мерная LSTM, отслеживающая pipeline. Стоимость ничтожна – модель работает за микросекунды на CPU-sidecar. Выгода – в разнице между системой, которой можно доверять, и системой, которая иногда тихо ломается.

Версия Isolation Forest (алгоритм 2) хорошо работает в самых простых случаях. А вот LSTM или временная CNN – правильный выбор, когда важна динамика признаков: например, «низкий битрейт» может быть нормальным ночью, но аномальным днём, а «высокая частота оповещений» – обычной на спортивном событии, но подозрительной по утрам во вторник. Темпоральная модель улавливает такие паттерны, тогда как iForest рассматривает каждую минуту как независимую и пропускает эти зависимости.

Рабочий пример. 200-камерный transit-деплой. 60 инженерных признаков в минуту на камеру. На каждую камеру – небольшая (двухслойная, 128 скрытых нейронов) LSTM-сеть, обученная на последних 90 днях нормальных паттернов pipeline. Стоимость инференса – около 5 микросекунд на окно на одном ядре CPU; все LSTM-ы всего флота работают в сумме несколько секунд в минуту. За первый месяц выявлено: 11 камер с развивающимися проблемами фокусировки, 4 камеры, у которых битрейт вышел за пределы спецификации, 3 ночи, когда очередь инференса в облаке превысила SLA по задержке, 1 случай коллапса модели после деплоя, 2 случая потерь пакетов на стороне upstream, замаскированных буфером джиттера WebRTC. Ни одна из этих проблем не была видна на уровне vision-слоя сверху.

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

Production-готовый стек – как объединить двенадцать алгоритмов в один пайплайн

Дефолтная архитектура Фора Софт 2026 объединяет несколько из двенадцати алгоритмов в единый пайплайн. Форма – пятислойный стек на основе playbook-а 2026 года; конкретные выборы алгоритмов – это то, что мы используем по умолчанию, если клиентские ограничения не требуют иного.

Layer 1, candidate filter на edge: vanilla autoencoder или MemAE, квантованный в INT8, работает на 30 fps на камере на Jetson Orin Nano Super или Hailo-8. Задача – выделить окна, заслуживающие второго взгляда; точность (precision) не важна, важно высокое полнота (recall). Порог настроен так, чтобы candidate rate составлял 5–10% от объёма исторического нормального видео.

Layer 2, классификатор на edge или thin-edge tier: SlowFast INT8 feature-extractor в сочетании с головой MTFL или RTFM MIL, выдающей per-clip anomaly-скоры и метки классов. Бюджет инференса – 60 мс на клип на Orin Nano Super. На выходе – per-clip скор и вектор вероятностей классов.

Layer 3, re-скоринг в облаке: VadCLIP или TPWNG, работающие на общей GPU в облаке (L4 или L40S), вызываются только для кандидатов, которым слой 2 на edge присвоил среднюю степень уверенности. Обнаружение аномалий с открытым словарём реализовано именно здесь. На выходе – уточнённый скор по каждому клипу и метка класса, которая может включать категории, отсутствующие в обучающей выборке слоя 2 (MIL).

Уровень 4, объяснение в облаке: на каждой тревоге, требующей проверки человеком, запускается небольшой VLM (Qwen-VL 7B), а для топ-1% пограничных случаев – передовые VLM (Gemini 2.5 Pro, Claude Opus 4.7). Результат – структурированное JSON-описание события, пригодное для использования в суде, регулятором или аналитиками безопасности.

Layer 5, pipeline-watchdog как sidecar: LSTM на 60 инженерных признаках состояния пайплайна, обновляемых каждую минуту для каждой камеры. Работает везде – как отдельный процесс на edge-устройстве или как sidecar-контейнер в облаке для каждой камеры. На выходе – оповещения о скрытых сбоях в пайплайне.

Классические статистические алгоритмы (1, 2, 3) реализованы внутри Layer 5 как простейшая версия pipeline-датчика и внутри Layer 1 – для специальных случаев, где задача сводится к вопросу: «Есть ли движение в этой пустой комнате?» Архитектура VAE и семейства GAN (6) по сути не используется в нашей базовой конфигурации; мы оставляем их в production-среде для полноты картины, поскольку они регулярно появляются в презентациях вендоров, и вы должны быть в курсе, что это такое.

Выбор алгоритма – сравнительная таблица

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

#АлгоритмМеткиЛатентность (edge)Лучший слойТипичное HWСледить за
1One-Class SVM0 аномалий<10 мс5 (empty-room L1)CPUConcept drift; retrain раз в квартал
2Isolation Forest0 аномалий<1 мс5CPUМедленный дрейф не ловится; anchor к baseline
3Local Outlier Factor0 аномалий10–50 мс5 (специалист)CPUO(n²) обучение; iForest выше 100k
4Vanilla autoencoder0 аномалий15–25 мс1Edge NPUThreshold drift; rolling per-camera перцентиль
5ST-AE / MemAE0 аномалий80–150 мс1 (темпорально)Edge NPUOverfit-to-recent; обучайте на многомесячном окне
6VAE / GAN0 аномалий30–100 мс1 (редко)GPUTraining instability; обычно пропускаем
73D-CNN (I3D, SlowFast)100+25–40 мс2 (feature)Edge NPUClip-boundary effects; используйте overlap
8Видео-трансформер1k+60–200 мс2 (cloud)Cloud GPUHP-чувствительность; стартуйте от предобученного
9Weakly-supervised MILvideo-level5–15 мс2 (голова)Edge или cloudBag-level confusion; балансируйте bag-и
10CLIP-based0–10050–500 мс3Cloud GPUPrompt brittleness; ансамбль prompt-ов
11Multimodal LLM0 (zero-shot)200 мс–10 с4Cloud (через API)Hallucination; structured-output
12LSTM на инженерных признаках0<1 мс5CPU sidecarFeature engineering – это работа; модель маленькая

Рисунок 3. Двенадцать алгоритмов, представленные в координатах сита из четырёх чисел и пятислойного стека.

Паттерн в таблице – паттерн поля. Классические методы дешёвые, label-free и узкие. Реконструкционные подходы – unsupervised-дефолт для необработанного видео. Глубокие темпоральные модели – рабочая лошадка layer-2-классификаторов. Семейство CLIP – лифт для режимов с малым количеством меток и open-vocabulary. Мультимодальные LLM – слой объяснения. Алгоритмы-сигнальные-watchdog ловят сбои, недоступные vision-слоям. Производственная система использует шесть-семь из них одновременно; ни одна «шипящая» система не работает только на одном методе.

Рисунок 3. Production-пайплайн, объединяющий двенадцать алгоритмов в единую архитектуру, с аннотированным разделением edge-cloud.

Типичная ошибка: начинать с самого тяжёлого алгоритма

Самая дорогая архитектурная ошибка, которую совершают команды в этой области, – начинать с самого тяжёлого алгоритма. Разговор начинается с фразы: «Давайте возьмём мультимодальный LLM, ведь это SOTA», – и через три месяца команда сталкивается с счётами на $400 за камеру в месяц за инференс, не имея возможности их снизить, потому что весь пайплайн построен на допущении, что каждый кадр проходит через VLM.

Обратное направление – правильное. Начинайте с самого простого алгоритма, способного правдоподобно решить задачу. One-Class SVM для обнаружения вторжений в пустую комнату. Isolation Forest для контроля состояния pipeline. Простой автоэнкодер для выявления новизны на сырых видеоданных. SlowFast с головой MTFL – для большинства поведенческих аномалий. Переходите к методам на основе CLIP только тогда, когда стоимость разметки MIL достигнет предела. Используйте мультимодальные LLM исключительно в тех случаях, когда объяснение является жёстким требованием, и то – только на пограничных примерах.

Причина, по которой это важно в долларах, – кривая стоимости нелинейна. Алгоритмы 1, 2, 3 и 12 работают практически бесплатно на CPU. Алгоритмы 4, 5, 7 и 9 – на edge-устройстве за $250. Алгоритм 8 требует общей cloud-GPU. Алгоритм 10 нуждается в cloud-GPU и пропускной способности для отправки candidate-клипов. Алгоритм 11 требует контракта на frontier-VLM-API и дисциплинированного маршрутизации. Каждый шаг вверх по лестнице затрат – это скачок в 5–10 раз. Pipeline, построенный снизу вверх, достигает правильной архитектуры и останавливается; pipeline, построенный сверху вниз, достигает правильной архитектуры, но тащит за собой каждый лишний слой, платя за них вечно.

Ловушка, которую стоит избегать: когда стейкхолдер говорит: «давайте используем GPT-5 / Claude / Gemini для детекции аномалий», правильный ответ – задать четыре ключевых вопроса: «каков объём размеченных примеров, каков бюджет по задержке, каков бюджет на вычислительные ресурсы и каковы требования к интерпретируемости?». Эти вопросы возвращают разговор на реальную почву, а «сито» помогает выбрать подходящий уровень решения.

Где Фора Софт вписывается

Мы разрабатываем видеопродукты уже два десятилетия – surveillance с Netcam Studio, WebRTC-конференции, телемедицину, e-learning, OTT, AR/VR. Слой обнаружения аномалий – наш самый активный рабочий процесс в 2024–2026 годах: через новые системы видеонаблюдения (greenfield), модернизацию существующих видео-каналов (retrofit) и встроенную аналитику на платформах intelligent video analytics. Стандартная архитектура, которую мы применяем, включает алгоритмы 4, 5, 7, 9, 10, 11 и 12, интегрированные в пятислойный стек на основе playbook. История интеграции: поддержка ONVIF Profile M в любой VMS, уже используемой клиентом, MQTT как шина событий высокой частоты и аудит-лог уровня регулятора в неизменяемом хранилище. Вертикали, в которых мы работали – ритейл, транспорт, промышленная безопасность, здравоохранение, конференц-связь – различаются меньше, чем схожи; ключевое отличие – выбор алгоритма внутри общей архитектуры, именно он делает каждую из них уникальной.

Ключевые выводы

  • Двенадцать алгоритмов охватывают каждую шипящую систему. Выбирайте их по меткам, латентности, аппаратным возможностям и необходимости интерпретации.
  • Начинайте с самого простого алгоритма, который может сработать; переходите к более сложным только при необходимости.
  • Isolation Forest и LSTM на инженерных признаках – обязательные компоненты как сторожа конвейера.
  • Методы на основе CLIP – лифт 2024–2026; они снижают стоимость разметки в длинном хвосте данных.
  • Мультимодальные LLM помогают объяснять тревоги; не запускайте их на каждом кадре – иначе стоимость взлетит.
  • Производственная система использует шесть-семь из двенадцати алгоритмов одновременно; ни одна шипящая система не работает на одном алгоритме.

Что читать дальше

Строите такую систему?

Подберём параметры кодирования под ваш контент и посчитаем стоимость доставки до старта разработки.