## Dataset Information

Category: Video Data
Difficulty: Advanced
Technologies: MP4, AVI, OpenCV, YOLO, Video Processing
Project ID: 28
Year: 2026

## Core Features

### Security Camera Footage

High-quality surveillance video recordings

### Activity Labels

Comprehensive activity annotations

### Person Detection

Pre-labeled person detection data

### Anomaly Events

Marked anomaly detection events

### Ready for Surveillance AI

Optimized for AI model training

## Advanced Features with File Details

#### 1. Analytics Dashboard

File: analytics_dashboard.html

JavaScript: analytics.js

Description: Real-time analytics dashboard with statistics cards, interactive charts (detections over time, anomaly distribution, activity types), real-time event timeline, video quality metrics, and export capabilities (JSON, CSV, PDF).

Usage: Open analytics_dashboard.html in your web browser.

#### 2. REST API Server

File: api_server.py

Description: Flask-based REST API with endpoints for video processing, analytics, and management. Includes health check, video listing, processing, batch operations, search, annotations, and quality metrics.

Usage:

python api_server.py # API available at http://localhost:5000

#### 3. Batch Processing System

File: batch_processor.py

Description: Advanced batch processing with parallel processing of multiple videos, progress tracking, error handling, and comprehensive reports. Supports detection, anomaly detection, and frame extraction operations.

Usage:

python batch_processor.py --directory videos --operations all --workers 4

#### 4. ML Model Training

File: train_ml_model.py

Description: Machine learning model training for custom YOLO fine-tuning, activity recognition (CNN-based), and anomaly detection (Autoencoder-based) with PyTorch support.

Usage:

python train_ml_model.py --model all --epochs 20

#### 5. Video Quality Analyzer

File: video_quality_analyzer.py

Description: Comprehensive video quality analysis including sharpness (Laplacian variance), brightness, contrast, noise estimation, color balance, frame stability (optical flow), and overall quality scoring.

Usage:

python video_quality_analyzer.py videos/sample.mp4 --output output/quality_report.json

#### 6. Multi-Camera System

File: multi_camera_system.py

Config File: config/cameras.json

Description: Multi-camera surveillance system with support for multiple camera feeds, synchronized processing, camera grid view, unified analytics, and parallel processing.

Usage:

python multi_camera_system.py --create-config python multi_camera_system.py --config config/cameras.json --process all

#### 7. Video Search Engine

File: video_search.py

Description: Advanced search and filtering with text-based search, metadata filtering, timestamp-based search, event type filtering, activity type filtering, and duration/resolution filters.

Usage:

python video_search.py --query "sample" --event-type anomaly

#### 8. Alert System

File: alert_system.py

Config File: config/alert_config.json

Description: Real-time alert and notification system with anomaly detection alerts, person count threshold alerts, video quality alerts, multiple notification channels (console, file, email), and alert management.

Usage:

python alert_system.py --create-config python alert_system.py --check-all --report

#### 9. Basic Video Processing

File: process_video.py

Description: Basic video processing and frame extraction with video information retrieval, frame processing, and grayscale conversion.

Usage:

python process_video.py

#### 10. Person Detection

File: detect_persons.py

Description: Person detection using YOLO and OpenCV HOG descriptor. Detects persons in video frames and saves detection results to JSON format.

Usage:

python detect_persons.py

#### 11. Anomaly Detection

File: detect_anomalies.py

Description: Anomaly detection using motion detection and optical flow. Detects unusual movements and rapid changes in video footage.

Usage:

python detect_anomalies.py

#### 12. Frame Extraction

File: extract_frames.py

Description: Extract frames from video files at specified intervals or time intervals. Supports custom frame ranges and output directories.

Usage:

python extract_frames.py --video videos/sample.mp4 --interval 30

#### 13. Sample Video Creator

File: create_sample_video.py

Description: Creates synthetic surveillance videos with moving objects, timestamps, grid patterns, and anomaly markers for testing purposes.

Usage:

python create_sample_video.py

#### 14. Setup Script

File: setup.py

Description: Setup script that creates necessary directories and checks Python dependencies.

Usage:

python setup.py

#### 15. Project Verification

File: verify_project.py

Description: Verification script that checks for missing files, broken links, and verifies project structure.

Usage:

python verify_project.py

## Installation Guide

### Step-by-Step Installation Instructions

1 Prerequisites

Ensure you have Python 3.8 or higher installed on your system.

python --version
2 Clone or Download Project

Download the project files and extract them to your desired location.

Project Structure: Ensure all files are in the surveillance-video directory.

3 Install Python Dependencies

Open terminal/command prompt in the project directory and install required packages.

pip install -r requirements.txt

Required Files:

- requirements.txt - Contains all dependency specifications

Core Dependencies:

- opencv-python>=4.8.0
- numpy>=1.24.0
- ultralytics>=8.0.0
- Pillow>=10.0.0
- flask>=2.3.0
- flask-cors>=4.0.0
- torch>=2.0.0 (optional, for ML training)

4 Run Setup Script

Execute the setup script to create necessary directories and verify dependencies.

python setup.py

File: setup.py

This script will:

- Create directories: videos/, annotations/, frames/, output/, config/, models/
- Check if required Python packages are installed
- Display setup status

5 Verify Installation

Run the verification script to ensure all files and directories are properly set up.

python verify_project.py

File: verify_project.py

This will check:

- All required files exist
- All directories are created
- Python dependencies are installed
- Project structure is complete

6 Create Sample Videos (Optional)

Generate synthetic sample videos for testing.

python create_sample_video.py

File: create_sample_video.py

This will create:

- videos/sample.mp4 - Basic surveillance video
- videos/sample2.mp4 - Video with anomalies

7 Configure Advanced Features (Optional)

Create configuration files for advanced features.

Alert System Configuration:

python alert_system.py --create-config

Creates: config/alert_config.json

Multi-Camera Configuration:

python multi_camera_system.py --create-config

Creates: config/cameras.json

8 Start API Server (Optional)

Start the Flask API server for REST API access.

python api_server.py

File: api_server.py

API will be available at: http://localhost:5000

Test endpoint: http://localhost:5000/api/health

9 Open Demo Pages

Open the demo pages in your web browser.

- Main Demo: Open index.html in browser
- Analytics Dashboard: Open analytics_dashboard.html in browser

## Video Player

Your browser does not support the video tag.

## Description

This dataset contains surveillance camera footage with activity labels, person detection, and anomaly events. Perfect for security monitoring, activity recognition, and video surveillance applications.

The dataset includes:

- Multiple video formats (MP4, AVI)
- Activity labels in JSON format
- Person detection bounding boxes
- Anomaly event timestamps
- Pre-processed frames for training

## Download

Download the complete surveillance video dataset

Download Dataset (ZIP)

Includes all videos, scripts, documentation, and sample data

## Project Visualizations

Visual representations of the surveillance video dataset features and processing pipeline

### Dashboard Overview

Image: Analytics Dashboard
See IMAGE_PROMPTS.txt for generation

### Processing Features

Image: Video Processing
See IMAGE_PROMPTS.txt for generation

### Advanced ML Features

Image: ML & AI Features
See IMAGE_PROMPTS.txt for generation

### System Pipeline

Image: Complete Pipeline
See IMAGE_PROMPTS.txt for generation

Image Generation: Use the prompts in `IMAGE_PROMPTS.txt` or `IMAGE_GENERATION_PROMPTS.md` to generate these images with AI tools (DALL-E, Midjourney, Stable Diffusion)

All images should include watermark "rskworld.in" in bottom right corner

## Usage Examples

    import cv2
    import json

    # Load video
    cap = cv2.VideoCapture('videos/sample.mp4')

    # Load annotations
    with open('annotations/annotations.json', 'r') as f:
        annotations = json.load(f)

    # Process video
    while cap.isOpened():
        ret, frame = cap.read()
        if not ret:
            break

        # Your processing code here
        cv2.imshow('Frame', frame)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break

    cap.release()
    cv2.destroyAllWindows()

    import cv2
    import numpy as np

    # Video processing with OpenCV
    def process_surveillance_video(video_path):
        cap = cv2.VideoCapture(video_path)

        while True:
            ret, frame = cap.read()
            if not ret:
                break

            # Convert to grayscale
            gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

            # Apply background subtraction
            # Your processing logic here

        cap.release()

    from ultralytics import YOLO
    import cv2

    # Load YOLO model
    model = YOLO('yolov8n.pt')

    # Process surveillance video
    results = model('videos/sample.mp4')

    # Display results
    for result in results:
        annotated_frame = result.plot()
        cv2.imshow('Detection', annotated_frame)
        cv2.waitKey(1)