Overview
Harpoon 1.1 is a production-ready AI model for real-time drone detection that integrates seamlessly into existing surveillance infrastructure without requiring system replacement.
🎯 96.6% Accuracy
State-of-the-art detection performance with 93.8% recall rate
⚡ 83ms Inference
Real-time processing at 12.2 FPS with multi-drone tracking
🔧 Drop-in Integration
Add to existing camera systems with minimal code changes
🚀 Multiple Formats
ONNX, PyTorch, TensorRT support for any platform
Simple Integration Example
# Add AI drone detection to your existing system
from harpoon import DroneDetector
# Initialize detector with your preferred model format
detector = DroneDetector("harpoon_v1.1.onnx")
# Process camera frames (your existing video pipeline)
while True:
frame = camera.get_frame() # Your existing camera code
# Add drone detection with one line
detections = detector.detect(frame, confidence=0.5)
# Integrate results into your system
for detection in detections:
alert_system.send_threat_alert(detection)
tracking_system.update_targets(detection)
System Requirements
Minimum Requirements
- CPU: Intel Core i5 / AMD Ryzen 5 (4+ cores)
- RAM: 8GB DDR4
- Storage: 1GB available space
- OS: Linux, Windows 10+, macOS 10.15+
- Python: 3.8+ (for Python integration)
Recommended (GPU Accelerated)
- GPU: NVIDIA RTX 3060+ / Tesla T4+
- VRAM: 4GB+ dedicated
- CUDA: 11.8+ / TensorRT 8.5+
- RAM: 16GB+ DDR4
- Network: Gigabit Ethernet (for streaming)
Performance by Hardware
Hardware | Inference Time | Throughput | Use Case |
---|---|---|---|
CPU Only (i7-10700K) | ~80ms | 12 FPS | Edge deployment, low-power |
RTX 3060 | ~25ms | 40 FPS | Single camera real-time |
RTX 3080 | ~18ms | 55 FPS | Multi-camera deployment |
Tesla V100 | ~12ms | 80+ FPS | Enterprise server deployment |
Installation
Installation Verification
# Test your installation
from harpoon import DroneDetector
import numpy as np
# Create test detector
detector = DroneDetector("harpoon_v1.1.onnx")
# Test with dummy image
test_image = np.random.randint(0, 255, (640, 640, 3), dtype=np.uint8)
detections = detector.detect(test_image)
print(f"✅ Installation successful!")
print(f"Model loaded: {detector.model_info}")
print(f"Inference device: {detector.device}")
🐳 Docker Deployment
Production-ready Docker containers for instant deployment across any infrastructure.
Production Deployment Guide
1. System Requirements
- Docker Engine 20.10+
- GPU support: NVIDIA Docker runtime (optional)
- Webcam access: --device=/dev/video0
- GUI display: X11 forwarding setup
2. Platform Compatibility
- ✅ Linux: Native support with X11
- ⚠️ macOS: Requires XQuartz for GUI
- ⚠️ Windows: Requires X11 server (VcXsrv)
- ✅ Cloud: API-only mode works everywhere
3. Security Considerations
- Use --privileged flag only for webcam access
- API containers don't require privileged mode
- Consider network policies for production
- Monitor resource usage and set limits
Quick Start Guide
Get drone detection running in your system in under 10 minutes.
Initialize Detector
from harpoon import DroneDetector
# Choose your model format and device
detector = DroneDetector(
model_path="harpoon_v1.1.onnx",
device="cuda", # or "cpu"
confidence_threshold=0.5
)
Process Single Image
import cv2
# Load image from your camera system
image = cv2.imread("camera_frame.jpg")
# Detect drones
detections = detector.detect(image)
# Process results
for detection in detections:
print(f"Drone detected at {detection.bbox}")
print(f"Confidence: {detection.confidence:.2f}")
print(f"Class: {detection.class_name}")
Real-time Video Processing
# Your existing camera code
cap = cv2.VideoCapture(0) # or your IP camera URL
while True:
ret, frame = cap.read()
if not ret:
break
# Add drone detection
detections = detector.detect(frame)
# Draw bounding boxes
for det in detections:
x1, y1, x2, y2 = det.bbox
cv2.rectangle(frame, (x1, y1), (x2, y2), (0, 255, 0), 2)
cv2.putText(frame, f"Drone {det.confidence:.2f}",
(x1, y1-10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
cv2.imshow('Drone Detection', frame)
Integration Tips
🔧 Existing Systems
Replace your current object detection call with detector.detect()
⚡ Performance
Batch multiple frames for higher throughput on GPU
🎯 Accuracy
Adjust confidence threshold based on your false positive tolerance
📊 Monitoring
Use built-in performance metrics for system monitoring