/ Модель

Характеристики

Параметры
113 млн
Лицензия
MIT
Архитектура
videomae · dense
Базовая модель
videomae-base
Опубликована
24 июл 2026

videomae-violence-detector

Классификация видеоВидео → label3 профессии

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

371скачиваний за 30 дней1лайквеса обновлены24 июл 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

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

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

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

HappyGook/videomae-violence-detector — видеомодель классификации, разработанная на основе MCG-NJU/videomae-base и дообученная для бинарного распознавания насилия на видео. Она предназначена прежде всего для анализа записей с камер наблюдения в общественном транспорте: модель адаптировали к видеозаписям из движущегося автобуса, дополнив обучение данными UCF Crime и Bus Violence Dataset.

По карточке это видеотрансформер VideoMAE с архитектурой ViT, примерно 113,2 млн параметров; на вход подаются фрагменты по 16 кадров с разрешением 224×224 пикселя, а выход содержит класс «насилие» или «насилия нет».

Сценарии применения

  • выявление сцен насилия в записях автобусного видеонаблюдения
  • автоматическая сортировка видеоклипов на насильственные и ненасильственные
  • первичная проверка видеоматериалов службы безопасности
  • поиск подозрительных фрагментов в записях общественного транспорта

Ограничения

В тесте на отложенной выборке Bus Violence Dataset из 280 примеров точность составила 0,87; модель ошибочно определяла ненасильственные фрагменты как насильственные в 11% случаев и пропускала насилие в 14% случаев. Результаты на автобусных записях не гарантируют такую же точность в других условиях съёмки; исходная модель, обученная на UCF Crime, заметно хуже переносилась на видео из автобусов.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Model Card for Model ID

This model is a fine-tuned version of MCG-NJU/videomae-base for binary violence classification (violent / non-violent).

It builds on Nikeytas/videomae-crime-detector-production-v1, which was itself fine-tuned from videomae-base on a subset of UCF Crime. Starting from that checkpoint, this model was further fine-tuned on the Bus Violence Dataset to close the domain gap to public-transport surveillance footage.

Dataset & Training

Fine-tuned on:

  • UCF Crime (jinmang2/ucf_crime) — inherited from the base checkpoint
  • Bus Violence Dataset (Zenodo) — real moving-bus footage, binary violent / non-violent labels, used for domain-specific fine-tuning

Performance

Evaluated on a held-out Bus Violence Dataset test split (n = 280).

ModelnAccuracyErrorFPRFNRPrecisionRecallTPTNFPFN
Nikeytas/videomae-crime-detector-production-v1 (zero-shot, no bus-violence fine-tuning)2800.480.520.640.400.480.6084509056
This model (fine-tuned on Bus Violence Dataset)2800.870.130.110.140.880.861201241620

The base UCF-Crime checkpoint transfers poorly to on-bus footage out of the box (near chance-level accuracy, high false-positive rate), which is consistent with the domain-shift findings reported for transport-surveillance data (illumination changes, vehicle/passenger motion, scrolling backgrounds). Fine-tuning on in-domain bus violence footage substantially improves all metrics.

Quick Start

pip install transformers torch torchvision opencv-python pillow
import torch
from transformers import AutoModelForVideoClassification, AutoProcessor
import cv2
import numpy as np

# Load model and processor
model = AutoModelForVideoClassification.from_pretrained("<your-repo-id>")
processor = AutoProcessor.from_pretrained("<your-repo-id>")

def classify_video(video_path, num_frames=16):
    cap = cv2.VideoCapture(video_path)
    frames = []

    total_frames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
    indices = np.linspace(0, total_frames - 1, num_frames, dtype=int)

    for idx in indices:
        cap.set(cv2.CAP_PROP_POS_FRAMES, idx)
        ret, frame = cap.read()
        if ret:
            frame_rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
            frames.append(frame_rgb)
    cap.release()

    inputs = processor(frames, return_tensors="pt")
    with torch.no_grad():
        outputs = model(**inputs)
        predictions = torch.nn.functional.softmax(outputs.logits, dim=-1)
        predicted_class = torch.argmax(predictions, dim=-1).item()
        confidence = predictions[0][predicted_class].item()

    label = "Violent" if predicted_class == 1 else "Non-Violent"
    return label, confidence

video_path = "path/to/your/video.mp4"
prediction, confidence = classify_video(video_path)
print(f"Prediction: {prediction} (Confidence: {confidence:.3f})")

Technical Specifications

  • Base Model: MCG-NJU/videomae-base (via Nikeytas/videomae-crime-detector-production-v1)
  • Architecture: Vision Transformer (ViT) adapted for video
  • Input Resolution: 224x224 pixels per frame
  • Temporal Resolution: 16 frames per video clip
  • Output Classes: 2 (binary: violent / non-violent)
  • Training Framework: HuggingFace Transformers

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · video-classification

Можно запустить

Подбираем GPU…

Класс архитектуры
VideoMAEForVideoClassification
Ревизия весов
975dadb

0 моделей