5.6 KiB
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)
Recommended
- 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