Comprehensive video action recognition dataset with labeled sequences for training 3D CNNs, video classification models, and video understanding applications.
A comprehensive collection of video sequences with action labels, perfect for training state-of-the-art video understanding models.
This dataset contains carefully curated video sequences with precise action labels for action recognition tasks. Perfect for training 3D CNNs, video classification models, and video understanding applications.
Everything you need for building robust action recognition systems
High-quality video clips with accurate action labels for supervised learning
Diverse action categories including walking, running, jumping, and more
Pre-split datasets for proper model training and evaluation
Precise temporal annotations for accurate action localization
Optimized format for spatiotemporal deep learning architectures
Complete documentation with usage examples and best practices
Well-organized directory structure for easy navigation and integration
Quick start guide for loading and using the dataset
# Action Recognition Dataset Loader
# Created by RSK World (rskworld.in)
# Developer: Molla Samser
import cv2
import os
import json
import numpy as np
def load_video(video_path, num_frames=16):
"""Load and preprocess video frames"""
cap = cv2.VideoCapture(video_path)
frames = []
while True:
ret, frame = cap.read()
if not ret:
break
frame = cv2.resize(frame, (224, 224))
frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
frames.append(frame)
cap.release()
# Sample frames uniformly
indices = np.linspace(0, len(frames)-1, num_frames).astype(int)
return np.array([frames[i] for i in indices])
# Load class labels
with open('annotations/class_labels.json') as f:
class_labels = json.load(f)
print(f"Loaded {len(class_labels)} action classes")
# PyTorch Dataset for Action Recognition
# Created by RSK World (rskworld.in)
# Developer: Molla Samser
import torch
from torch.utils.data import Dataset, DataLoader
import cv2
import os
class ActionDataset(Dataset):
def __init__(self, root_dir, split='train', transform=None):
self.root_dir = os.path.join(root_dir, split)
self.transform = transform
self.classes = sorted(os.listdir(self.root_dir))
self.samples = []
for cls_idx, cls_name in enumerate(self.classes):
cls_path = os.path.join(self.root_dir, cls_name)
for video in os.listdir(cls_path):
self.samples.append((
os.path.join(cls_path, video),
cls_idx
))
def __len__(self):
return len(self.samples)
def __getitem__(self, idx):
video_path, label = self.samples[idx]
frames = self._load_video(video_path)
if self.transform:
frames = self.transform(frames)
return torch.FloatTensor(frames), label
# Create DataLoader
dataset = ActionDataset('./action-recognition', split='train')
loader = DataLoader(dataset, batch_size=8, shuffle=True)
# TensorFlow Dataset for Action Recognition
# Created by RSK World (rskworld.in)
# Developer: Molla Samser
import tensorflow as tf
import pathlib
def create_dataset(data_dir, batch_size=8):
"""Create TensorFlow dataset from video directory"""
data_dir = pathlib.Path(data_dir)
# Get class names from directory structure
class_names = sorted([item.name for item in data_dir.iterdir()
if item.is_dir()])
def process_video(video_path):
# Read and decode video frames
video = tf.io.read_file(video_path)
# Process frames...
return frames
# Create dataset
list_ds = tf.data.Dataset.list_files(str(data_dir/'*/*'))
dataset = list_ds.map(process_video,
num_parallel_calls=tf.data.AUTOTUNE)
dataset = dataset.batch(batch_size).prefetch(tf.data.AUTOTUNE)
return dataset, class_names
# Load training data
train_ds, classes = create_dataset('./action-recognition/train')
print(f"Classes: {classes}")
Download the complete Action Recognition Dataset and start building your video understanding models today.