# Military Video Analytics

## Overview

A reconnaissance drone orbiting at 400 metres is streaming live video over a contested urban area. An analyst watching the feed spots what might be a command vehicle parked behind a building. The Military Video Analytics module identifies it as a command vehicle within 200ms, geocodes its position from the drone's telemetry, flags it as a high-value target, and submits the grid coordinates to the effector matching engine, all before the analyst reaches for the keyboard. The drone moves on; the track record remains.

The module extends the platform's video analytics pipeline with specialised military object detection, drone telemetry-based geocoding, and NATO-aligned target classification. It detects and classifies 47 military object classes across five categories, applies a pinhole camera model with heading rotation to geocode detections from drone video using telemetry data, and generates high-value target alerts that feed directly into the effector matching engine. Multi-frame tracking maintains persistent track IDs across video frames for continuous target monitoring.

```mermaid
flowchart LR
    A[Drone Video Feed] --> B[Military Object Detector]
    C[Drone Telemetry] --> D[Pinhole Geocoding Model]
    B --> E[47-Class Detection Output]
    D --> F[Georeferenced Position]
    E --> G[HVT Classifier]
    F --> G
    G --> H[High-Value Target Alert]
    G --> I[Multi-Frame Tracker]
    H --> J[Effector Matching Engine]
    I --> K[TAK CoT Event]
    H --> L[Unified Operational Events]
    K --> M[ATAK Display]
```

**Last Reviewed:** 2026-04-02
**Last Updated:** 2026-04-14

## Key Features

### Military Object Detection

Detect and classify objects across 47 military classes organised into five categories:

- **Vehicles**: Main battle tanks, infantry fighting vehicles, armoured personnel carriers, self-propelled artillery, multiple launch rocket systems, air defence vehicles, armoured reconnaissance vehicles, military trucks, fuel tankers, engineering vehicles, command vehicles, and logistics trailers.
- **Personnel**: Dismounted infantry, crew-served weapon teams, snipers, forward observers, and command groups.
- **Aerial**: Fixed-wing aircraft, rotary-wing aircraft, Group 1-5 UAS (by size category), cruise missiles, and parachutes.
- **Structures**: Defensive fighting positions, bunkers, command posts, supply dumps, antenna arrays, and camouflage netting.
- **Equipment**: Towed artillery, anti-tank guided missile launchers, man-portable air defence systems, radar arrays, electronic warfare equipment, and communication masts.

### Drone Telemetry Geocoding

Convert pixel-space detections from drone video into geographic coordinates using a pinhole camera model with heading rotation. The geocoding pipeline ingests drone telemetry (latitude, longitude, altitude, heading, pitch, roll, camera field-of-view) and computes the ground intersection point for each detection bounding box centre. The result is a georeferenced detection with estimated position accuracy based on altitude and camera geometry.

### High-Value Target Auto-Detection

Automatically flag detections matching configurable high-value target criteria. Default HVT classes include air defence systems, command vehicles, electronic warfare equipment, and self-propelled artillery. When an HVT is detected, the system generates an immediate priority alert with geocoded position, classification, confidence score, and a video frame capture. HVT criteria are configurable per organisation.

### Multi-Frame Tracking

Maintain persistent track IDs across consecutive video frames using visual appearance matching and motion prediction. When a detected object moves across the field of view, the tracker assigns and maintains a consistent track ID so analysts can follow individual targets and the system can compute movement vectors. Track persistence through brief occlusions (behind buildings or vegetation) is supported via motion extrapolation.

### NATO STANAG Alignment

Target classifications align with NATO STANAG 4748 (target classification taxonomy) and are rendered using MIL-STD-2525D military symbology. Detected targets can be exported in STANAG-compliant formats for interoperability with NATO partner systems. Classification labels use NATO standard terminology to ensure unambiguous communication across multinational operations.

## Use Cases

- **Drone Reconnaissance**: Process live drone video feeds to automatically detect and classify military objects on the ground, building an intelligence picture without requiring an analyst to watch every frame.
- **Strike Target Development**: Geocode detected high-value targets from drone video and feed positions directly to the effector matching engine for engagement option generation.
- **Route Reconnaissance**: Detect defensive positions, obstacles, and enemy vehicles along planned routes of advance, geocoding each detection for plotting on the operational map.
- **Battle Damage Assessment**: Analyse post-strike drone video to detect remaining equipment, classify damage states, and report BDA findings with geographic coordinates.
- **Force Protection**: Monitor base approaches via surveillance drone video with automatic detection of approaching vehicles, personnel, and aerial threats.

## Integration

- **Drone Operations Management**: Receives drone telemetry for geocoding and processes video from managed drone platforms.
- **Effector Matching Engine**: Geocoded HVT detections are submitted as targets for engagement option scoring.
- **Unified Operational Events**: All detections and HVT alerts generate events in the unified timeline.
- **Stone Soup Sensor Fusion**: Video-derived tracks are submitted for multi-sensor fusion with GMTI and acoustic data.
- **Surveillance AI**: Extends the existing surveillance AI pipeline with military-specific detection models and classification taxonomy.
- **Tactical Awareness (TAK)**: Geocoded detections are published as CoT events for TAK device display using MIL-STD-2525D symbology.

GraphQL: `militaryDetections`, `militaryDetectionsInArea`, `militaryClasses`, `militaryModels`, `militaryVideoStats` (queries); `ingestMilitaryDetection`, `seedMilitaryClasses`, `toggleMilitaryClass`, `registerMilitaryModel` (mutations).
