Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Action Recognition

Распознавание действий, или распознавание активности человека (HAR), определяет по видео, что делают люди, моделируя движение во времени. Методы, наборы данных и код.

Распознавание действий — это задача компьютерного зрения, в которой классифицируется то, что делает человек, а иногда животное или робот, в видео: идёт, машет рукой, падает, замахивается клюшкой для гольфа или отжимается. Эта задача расширяет классификацию изображений на временную последовательность, поскольку многие действия невозможно различить по одному кадру. На статичном изображении человек, наклонившийся вперёд, может садиться или вставать, а короткий видеоклип показывает, что именно происходит. Этот термин часто используют как синоним распознавания активности человека (HAR), хотя HAR также включает распознавание по данным носимых датчиков, например акселерометров.

Как работает распознавание действий#

Модели получают видеоклип — обычно от 8 до 64 кадров, выбранных из видео длительностью в несколько секунд, — и учатся извлекать два вида информации: пространственные признаки, описывающие внешний вид людей и объектов, и временные признаки, описывающие их движение. Ранние двухпоточные сети обрабатывали RGB-кадры и оптический поток в отдельных ветвях, а затем объединяли предсказания. 3D-свёрточные нейронные сети одновременно выполняют свёртки по высоте, ширине и времени; I3D получил их, преобразовав 2D-фильтры изображений, предварительно обученные на ImageNet, в 3D, а SlowFast сочетает поток с низкой частотой кадров для анализа внешнего вида с потоком с высокой частотой кадров для анализа движения. Видео-трансформеры применяют механизм самовнимания к пространственно-временным фрагментам, а VideoMAE предварительно обучает их, восстанавливая видео с большим количеством замаскированных областей.

3D CNN из набора видеомоделей TorchVision классифицирует видеоклип всего в несколько строк:

import cv2
import numpy as np
import torch
from torchvision.models.video import R3D_18_Weights, r3d_18

# Load a 3D CNN pretrained on the 400 action classes of Kinetics-400
weights = R3D_18_Weights.KINETICS400_V1
model = r3d_18(weights=weights).eval()

# Read 16 consecutive frames from a short exercise video
cap = cv2.VideoCapture("https://github.com/ultralytics/assets/releases/download/v0.0.0/solution_ci_pose_demo.mp4")
frames = [cv2.cvtColor(cap.read()[1], cv2.COLOR_BGR2RGB) for _ in range(16)]

# Stack the frames into one clip shaped (time, channels, height, width) and classify it
clip = torch.from_numpy(np.stack(frames)).permute(0, 3, 1, 2)
batch = weights.transforms()(clip).unsqueeze(0)
with torch.no_grad():
    probs = model(batch).softmax(dim=1)[0]

top = probs.argmax().item()
print(f"{weights.meta['categories'][top]}: {probs[top]:.2f}")

Модель выводит push up: 0.99: она присваивает всему полусекундному видеоклипу одно действие из 400 классов.

Методы на основе скелетов используют другой подход. Сначала модель оценки позы находит ключевые точки тела в каждом кадре, затем временная модель, например графовая сеть ST-GCN, классифицирует траектории суставов. Скелеты не учитывают одежду, освещение и фон, а их размер позволяет обрабатывать их в реальном времени на периферийных устройствах. Модели позы YOLO26 Ultralytics предоставляют для этого подхода 17 ключевых точек тела на человека, а решение для отслеживания тренировок преобразует угол между тремя такими точками в счётчик повторений для упражнений, например отжиманий и приседаний.

  • Оценка позы и отслеживание объектов: Оценка позы определяет положение суставов, а отслеживание сохраняет идентификатор каждого человека между кадрами. Обе задачи часто служат входными данными для распознавания действий, которое интерпретирует описываемое ими движение; в толпе для каждого отслеживаемого человека формируется отдельный клип с меткой.
  • Временная локализация действий: Определяет начало и конец каждого действия в длинном необрезанном видео. Пространственно-временная детекция действий идёт дальше и выделяет рамками каждого участника в каждом кадре, как в наборе данных AVA.
  • Понимание видео: Более широкая область, которая также охватывает создание описаний, ответы на вопросы и рассуждения о событиях и их причинах в видео.

Примеры применения в реальных условиях#

  • Здравоохранение и уход за пожилыми: Системы обнаружения падений распознают падение по данным камеры или носимых устройств и оповещают персонал, а приложения для реабилитации проверяют правильность выполнения упражнений пациентами.
  • Фитнес и спорт: Приложения подсчитывают повторения и оценивают технику, а системы спортивной аналитики классифицируют броски, передачи и удары в трансляциях.
  • Безопасность и охрана: Системы мониторинга обнаруживают драки в общественных местах, а также падения и опасный подъём тяжестей на заводских площадках.
  • Взаимодействие человека и робота: Роботы и интеллектуальные устройства реагируют на жесты, например взмах рукой или указание пальцем.

Наборы данных и соревнования#

Разметка видео требует гораздо больше усилий, чем разметка изображений, поэтому развитие этой области опирается на крупные наборы данных. Kinetics-400 содержит не менее 400 роликов YouTube длительностью около 10 секунд для каждого из 400 классов действий человека, а UCF101 включает 13 320 роликов в 101 классе. Набор Something-Something V2 предназначен для изучения смещения по сцене — склонности моделей распознавать плавание по бассейну, а не по движениям пловца: около 220 000 роликов показывают, как руки взаимодействуют с повседневными предметами в 174 классах, различающихся только движением, например «толкать предмет слева направо» и «толкать предмет справа налево».

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

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

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

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

Компьютерное зрение в сельском хозяйстве

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

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения