{"id":31847418,"url":"https://github.com/theosorus/argus","last_synced_at":"2026-05-17T02:45:56.491Z","repository":{"id":318281246,"uuid":"1069684771","full_name":"theosorus/Argus","owner":"theosorus","description":"Unity simulation in which we simulate a self-guided missile using computer vision with a YOLOv8 model","archived":false,"fork":false,"pushed_at":"2025-10-06T07:53:27.000Z","size":79860,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-06T09:42:16.024Z","etag":null,"topics":["computer-vision","missile-guidance","simulation","unity3d","yolov8"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/theosorus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-04T12:21:50.000Z","updated_at":"2025-10-06T07:53:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"d39d84e1-e412-4cb4-9bb3-f9c6dd4b4705","html_url":"https://github.com/theosorus/Argus","commit_stats":null,"previous_names":["theosorus/argus"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/theosorus/Argus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theosorus%2FArgus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theosorus%2FArgus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theosorus%2FArgus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theosorus%2FArgus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/theosorus","download_url":"https://codeload.github.com/theosorus/Argus/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theosorus%2FArgus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279010944,"owners_count":26084837,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["computer-vision","missile-guidance","simulation","unity3d","yolov8"],"created_at":"2025-10-12T09:44:25.702Z","updated_at":"2026-05-17T02:45:56.485Z","avatar_url":"https://github.com/theosorus.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"#  Argus - Vision-Guided Missile Simulation\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"assets/argus_gif.gif\" width=\"600\"\u003e\n\u003c/div\u003e\n\n---\n\n **Argus** is an advanced simulation that combines **machine learning** and **real-time 3D physics** to create a self-guided missile system. The project demonstrates how computer vision can be integrated into game engines for autonomous target tracking and interception.\n\n\u003e Named after the [**Argus Panoptes**](en.wikipedia.org/wiki/Argus_Panoptes) from Greek mythology—a giant with a hundred eyes—this project embodies the concept of constant visual surveillance and intelligent tracking.\n\n---\n\n##  Features\n\n### Computer Vision \u0026 AI\n- **YOLOv8 Object Detection** running in real-time on GPU\n- **Unity Sentis Integration** for neural network inference\n- **Single-class aircraft detection** optimized for accuracy\n- **Real-time bounding box visualization** with confidence scores\n\n### Flight Physics\n- **Realistic aerodynamic model** with lift/drag calculations\n- **Angle of Attack (AoA)** based flight dynamics\n- **Proportional Navigation** guidance system\n- **Manual plane controls** with throttle, pitch, and roll\n\n---\n\n## How It Works\n\n### The Complete Pipeline\n```\n[Camera Feed] → [640×640 Tensor] → [YOLOv8 Sentis] → [Detections]\n     ↑                                                      ↓\n     └──[Missile Rotation]←[Proportional Navigation]←[Offset Calculation]\n```\n\n### **How Guidance Works**:\n1. Camera captures view → 640×640 render texture\n2. Sentis runs YOLOv8 inference → detections `[x, y, w, h, confidence]`\n3. Target center computed in screen space\n4. Offset calculated: `(targetX - screenCenterX, targetY - screenCenterY)`\n5. Missile rotates toward target: yaw ∝ offsetX, pitch ∝ offsetY\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"assets/missile_camera_assets.png\" width=\"500\"\u003e\n\u003c/div\u003e\n\n### Proportional Navigation Explained\nThe missile uses a classic guidance law:\n1. **Detection**: YOLOv8 finds target bounding box `[x, y, w, h]`\n2. **Center Calculation**: `targetCenter = (x + w/2, y + h/2)`\n3. **Screen Offset**: `offset = targetCenter - screenCenter`\n4. **Normalize**: `offsetNormalized = offset / screenSize × 2` → range `[-1, 1]`\n5. **Apply Rotation**:\n   ```csharp\n   yaw += offsetX × rotationSpeed × deltaTime\n   pitch += offsetY × rotationSpeed × deltaTime\n   ```\n\nThis creates a smooth pursuit trajectory that leads the target!\n\n---\n\n## ArgusModel - ML Training \u0026 Export\n\n### **Data**\n- Uses the [Kaggle Military Aircraft Detection Dataset](https://www.kaggle.com/datasets/a2015003713/militaryaircraftdetectiondataset)\n- All aircraft types merged into a single **\"Plane\"** class for maximum accuracy\n- Trained on Kaggle GPU (NVIDIA P100) in ~10 minutes\n\n### **Model Training**\n- **Architecture**: YOLOv8n (nano variant for real-time performance)\n- **Input Size**: 640×640 pixels\n- **Output**: Bounding boxes with confidence scores\n\n### **ONNX Export for Unity**\n```python\n# main.py - Optimized export for Unity Sentis\nmodel.export(\n    format='onnx',\n    imgsz=640,\n    simplify=True,\n    opset=15,        # Sentis compatibility\n    batch=1,         # Fixed batch size\n    dynamic=False    # Static shapes for performance\n)\n```\n\n### Model Performance\n| Metric | Value |\n|--------|-------|\n| Input Size | 640×640 RGB |\n| Inference Time | ~16-30ms (GPU) |\n| FPS | 30-60 |\n| Confidence Threshold | 0.9 |\n| Architecture | YOLOv8n |\n\n---\n\n## ArgusSimulation - Unity 3D Simulation\n\n**Engine**: Unity 2023.2.20f1\n\n## Technical Specifications\n\n### Physics Parameters\n| Parameter | Default Value |\n|-----------|---------------|\n| Air Density | 1.225 kg/m³ |\n| Wing Area | 16 m² |\n| Max Thrust | 190 N |\n| Lift Slope (ClAlpha) | 5.5 |\n| Induced Drag (k) | 0.04 |\n\n---\n\n## Future Improvements\n\n- [ ] **Hybrid Tracking**: Combine detection with Kalman filtering for smoother tracking\n- [ ] **Multi-Target**: Track and prioritize multiple aircraft\n- [ ] **Better Physics**: Add wind resistance, thrust vectoring, fuel consumption\n- [ ] **Advanced UI**: HUD with radar, lock indicators, target info\n- [ ] **Multiplayer**: Network-based dogfighting simulation\n\n---\n\n##  References \u0026 Credits\n\n- [Unity Flight Physics - b3agz](https://www.youtube.com/watch?v=fThb5M2OBJ8)\n- [Unity Flight Physics - Vazgriz](https://www.youtube.com/watch?v=7vAHo2B1zLc)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheosorus%2Fargus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftheosorus%2Fargus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheosorus%2Fargus/lists"}