Skip to main content

tools for video analysis

Project description

NXVA - Nexuni Video Analysis

Python License Version

A comprehensive computer vision toolkit for video analysis, object detection, tracking, and pose estimation

Overview

NXVA (Nexuni Video Analysis) is a powerful and versatile Python package designed for advanced video analysis tasks. It provides a unified interface for object detection, multi-object tracking, pose estimation, and real-time streaming capabilities. Built with modularity and ease-of-use in mind, NXVA supports multiple deep learning frameworks and model formats.

✨ Key Features

  • Multi-Model Object Detection: Support for YOLOv5, YOLOv11 with ONNX, PyTorch, and TensorRT formats
  • Advanced Object Tracking: SimpleTracker and NexuniSort algorithms with feature-based tracking
  • Pose Estimation: MMPose integration for human pose detection and analysis
  • Multi-Camera Streaming: Real-time streaming with automatic reconnection and GStreamer support
  • Flexible Configuration: YAML-based configuration system for easy setup and deployment
  • GPU Acceleration: Full CUDA and TensorRT support for high-performance inference
  • Model Conversion: Built-in tools for model format conversion and optimization

🏗️ Architecture

nxva/
├── v5/          # YOLOv5 detection, classification, pose estimation
├── v11/         # YOLOv11 detection, classification, pose estimation  
├── sort/        # Object tracking algorithms (SimpleTracker, NexuniSort)
├── pose/        # MMPose integration for pose estimation
├── utilities/   # Utility functions and tools
├── streaming/   # Multi-camera streaming capabilities
└── va/          # Video analysis server components

🚀 Quick Start

Installation

pip install nxva

Basic Usage

Each module provides detailed usage instructions and examples:

  • Object Detection: See YOLOv11 README and YOLOv5 README for detection setup and usage
  • Object Tracking: Refer to Sort README for SimpleTracker and NexuniSort usage
  • Pose Estimation: Check Pose README for MMPose integration guide
  • Multi-Camera Streaming: See Main README for streaming configuration
  • Complete Examples: Explore tutorials/ for Jupyter notebook examples

📋 Requirements

Core Dependencies

  • Python 3.6 or higher
  • OpenCV 4.6.0+
  • PyTorch 1.8.0+ (with CUDA support)
  • NumPy 1.23.0+
  • PyYAML 5.3.1+

Optional Dependencies

  • For ONNX models: ONNX Runtime
  • For TensorRT: TensorRT 7.0.0+ (not 10.1.0)
  • For Pose Estimation: MMPose, MMDetection, MMEngine, MMCV
  • For Advanced Features: ultralytics, torchvision

📚 Documentation & Examples

The package includes comprehensive tutorials and examples:

  • Jupyter Notebooks: Step-by-step tutorials in tutorials/
  • Configuration Examples: Ready-to-use configs in example/
  • Specific Use Cases: Detection, tracking, pose estimation examples
  • Module Documentation: Detailed README files for each component

Tutorial Topics

  • YOLOv11 Training and Inference
  • Multi-Object Tracking with NexuniSort
  • Real-time Streaming Setup
  • Pose Estimation with MMPose
  • Model Conversion and Optimization

🎯 Use Cases

  • Security & Surveillance: Real-time monitoring with object detection and tracking
  • Sports Analysis: Pose estimation and movement analysis
  • Industrial Automation: Quality control and process monitoring
  • Retail Analytics: Customer behavior analysis and people counting
  • Research & Development: Computer vision prototyping and experimentation

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nxva-1.2.7.tar.gz (320.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nxva-1.2.7-py3-none-any.whl (365.3 kB view details)

Uploaded Python 3

File details

Details for the file nxva-1.2.7.tar.gz.

File metadata

  • Download URL: nxva-1.2.7.tar.gz
  • Upload date:
  • Size: 320.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for nxva-1.2.7.tar.gz
Algorithm Hash digest
SHA256 10b90f1f44c00598f8ff7d8a0d3186947e7bbed8172ee7412daa99d5bafc547c
MD5 e884a2c79ba7e3adb72e5fcbb0732f69
BLAKE2b-256 b2aaf0880800ed064764acfcf0a60dae2da1a43ee18d3603eac6f9d3e805d96b

See more details on using hashes here.

File details

Details for the file nxva-1.2.7-py3-none-any.whl.

File metadata

  • Download URL: nxva-1.2.7-py3-none-any.whl
  • Upload date:
  • Size: 365.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for nxva-1.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 28b5b59e8d329d9976ceeaf1cd8a89d343ce488c6b34729d0154faa32520a48e
MD5 db9edd160e00c60a11357047a6a01c4f
BLAKE2b-256 36af57e1185d96e21eefcb81837b9f285f74a4aa22f0c96a685d849109585d9e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page