Files
SDKmuta/SDK_v1.0.0/README.md
T
2025-10-18 21:07:11 +02:00

5.6 KiB

Shooting Target Detection SDK v1.0.0

Android SDK for bullet hole detection and shooting target analysis.

📦 Package Contents

SDK_v1.0.0/
├── android/
│   ├── app-release.apk      # Release APK (96.4 MB)
│   └── app-release.aab      # App Bundle for Google Play (48.2 MB)
├── docs/
│   └── API_DOCUMENTATION.md
└── README.md

🎯 Features

  • YOLO-based Bullet Detection - AI-powered bullet hole recognition using TensorFlow Lite
  • MJPEG Camera Streaming - Real-time camera feed support with HTTP/HTTPS streams
  • Phone Camera Integration - Use device camera for target capture
  • Image Processing - Brightness, contrast, and filter adjustments
  • Target Scoring System - Automatic ring detection and bullet scoring
  • Multi-language Support - English and Slovenian translations
  • Google Calendar Integration - Track shooting sessions
  • Customizable UI - Material Design with dark theme support

📱 System Requirements

Minimum Requirements

  • Android Version: 5.0 (API 21) or higher
  • RAM: 2GB minimum, 4GB recommended
  • Storage: 150MB free space
  • Camera: Any device camera or network camera support
  • Network: For MJPEG streaming (optional)
  • Android Version: 8.0 (API 26) or higher
  • RAM: 4GB or more
  • Processor: ARM64 or x86_64
  • Camera: 12MP or higher for best detection accuracy

🚀 Installation

Option 1: Install APK (Direct Installation)

adb install app-release.apk

Option 2: Deploy via Google Play (AAB)

Upload app-release.aab to Google Play Console for distribution.

🔧 Configuration

Permissions Required

The SDK requires the following Android permissions:

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

Network Configuration

For MJPEG camera streaming, ensure network security config allows cleartext traffic:

<application
    android:usesCleartextTraffic="true">

📖 Usage

1. Camera Stream Detection

1. Open the app
2. Navigate to "Camera Streams" section
3. Add your MJPEG camera URL (e.g., http://192.168.1.100:8080/video)
4. Select the camera and start detection
5. Tap capture button to analyze target

2. Phone Camera Detection

1. Open the app
2. Navigate to "Phone Camera" section
3. Set number of expected bullets (1-5)
4. Align target in the frame
5. Capture baseline image (empty target)
6. Shoot your rounds
7. Capture final image to see detected bullets

3. Target Analysis

1. After capture, view detected bullets overlaid on target
2. Check ring detection and scoring
3. View shooting history in calendar
4. Export results to Google Calendar

🎨 Customization

Image Adjustments

  • Brightness: -100 to +100
  • Contrast: 50% to 200%
  • Filters: None, Greyscale, Invert

Detection Settings

  • Bullet Count: 1-5 expected bullets
  • Zoom: 1x to 5x for camera streams
  • Auto-stop: Automatic capture when target count reached

🌐 Language Support

The SDK supports:

  • 🇬🇧 English
  • 🇸🇮 Slovenian (Slovenščina)

Language can be changed in the settings menu.

📊 Technical Specifications

AI Model

  • Framework: TensorFlow Lite
  • Model: YOLOv8 (optimized for mobile)
  • Input Size: 640x640 pixels
  • Detection Classes:
    • Bullet holes
    • Target rings (10-ring system)
    • Center point

Image Processing

  • Supported Formats: JPEG, PNG
  • Max Resolution: 4096x4096 pixels
  • Processing Time: < 2 seconds per image (on recommended hardware)

Camera Support

  • MJPEG Streams: HTTP/HTTPS streaming
  • Device Camera: All standard Android cameras
  • Resolution: Auto-adjusted based on device capabilities

🔐 Security & Privacy

  • ✅ All processing done on-device (no cloud upload)
  • ✅ Camera permissions requested at runtime
  • ✅ Optional Google Calendar integration
  • ✅ No telemetry or analytics tracking
  • ✅ Images stored locally only

📝 Version History

v1.0.0 (2025-10-18)

  • ✨ Initial release
  • ✅ YOLO bullet detection
  • ✅ MJPEG streaming support
  • ✅ Phone camera integration
  • ✅ Calendar integration
  • ✅ Multi-language support
  • ✅ iOS support configured
  • 🐛 Fixed filter application on error screens
  • 🐛 Fixed zoom on error states
  • 🐛 Removed duplicate calendar badges

🛠️ Troubleshooting

Camera Stream Not Connecting

  • Check camera URL format: http://IP:PORT/video
  • Ensure camera is on same network
  • Verify usesCleartextTraffic="true" in AndroidManifest.xml

Detection Not Working

  • Ensure good lighting conditions
  • Clean camera lens
  • Target should fill at least 50% of frame
  • Check that YOLO model is included in assets

Performance Issues

  • Close other apps to free RAM
  • Reduce image resolution in settings
  • Disable unnecessary features (filters, calendar sync)

💻 Development Info

Built with:

  • Flutter: 3.29.3
  • Dart: 3.3.0+
  • Android SDK: 36.0.0
  • Min SDK: 21 (Android 5.0)
  • Target SDK: 35 (Android 15)

📧 Support

For issues, questions, or feature requests:

  • Create an issue in the project repository
  • Contact: [Your contact information]

📄 License

Copyright © 2025. All rights reserved.


🤖 Built with Claude Code