ObjectVision is a fully offline Android application powered by a custom-trained YOLOv8 Nano model that detects objects in real-time at up to 60 FPS with 94.5% accuracy โ and goes beyond detection by delivering AI-powered nutritional and ingredient analysis for recognized products.
๐ B.Tech Final Year Project โ ITM SLS Baroda University, 2026
๐ Getting Started โข โจ Features โข ๐ธ Screenshots โข ๐ ๏ธ Tech Stack โข ๐ค AI Model โข ๐ฅ Team
| Feature | Description |
|---|---|
| ๐ Real-Time Neural Scan | Live camera detection at up to 60 FPS with green bounding boxes and confidence scores |
| ๐ง Custom YOLOv8 Nano Model | Trained on a proprietary product dataset โ not generic COCO data |
| ๐ Neural Analytics Dashboard | Inference speed (avg. 212ms), total scans, CPU load, and 94.5% accuracy stats |
| ๐ Detection Logs | Full timestamped history of every detected object with confidence scores |
| ๐ฅค AI Product Analysis | Energy output, processing level, vegetarian/vegan status, and ingredient composition |
| ๐งช Nutrition Facts | Detailed carbs, fat, protein, sodium and allergen info per detected product |
| โ๏ธ System Configuration | Toggle High Precision Mode, Offline Processing, Haptic Feedback, Battery Optimization |
| ๐ 100% Offline | All inference runs on-device โ no internet, no data sent to the cloud |
| ๐ Dark UI | Sleek dark theme built with Jetpack Compose for a modern, eye-friendly experience |
| โก Battery Smart | Auto-reduces FPS when battery drops below 20% |
| ๐ Splash / Boot | ๐ Neural Scan (Live) | ๐ Neural Analytics |
![]() |
![]() |
![]() |
| ๐ Detection Logs | โ๏ธ System Config | |
![]() |
![]() |
| Product Analysis | Ingredients Composition | Nutrition & Allergens |
![]() |
![]() |
![]() |
| Product Analysis | Ingredients Composition | Nutrition & Allergens |
![]() |
![]() |
![]() |
โโโ Language โ Kotlin (100%)
โโโ UI Framework โ Jetpack Compose
โโโ AI Model โ YOLOv8 Nano (custom-trained, Ultralytics)
โโโ Model Training โ Python + PyTorch
โโโ Runtime โ TFLite / ONNX (on-device inference)
โโโ Build System โ Gradle (Kotlin DSL)
โโโ Architecture โ MVVM + Jetpack Compose state management
โโโ Platform โ Android 8.0+ (Oreo and above)
Key Tools & Libraries:
- ๐ค YOLOv8 Nano โ Ultra-lightweight YOLO variant optimized for mobile edge computing
- ๐ฑ Jetpack Compose โ Declarative, reactive Android UI with smooth camera frames
- โ๏ธ TFLite Runtime โ Fast on-device neural network inference
- ๐ฌ Custom Dataset โ Proprietary annotated product image dataset
- ๐งฑ Kotlin Coroutines โ Non-blocking camera and inference threading
Camera Input
โ
Frame Preprocessing
โ
YOLOv8 Nano Model (TFLite)
โ
Bounding Box Detection
โ
Confidence Score Filtering
โ
Product Data Mapping
โ
Jetpack Compose UI Rendering
| Metric | Value |
|---|---|
| ๐ฏ Detection Accuracy | 94.5% on custom dataset |
| โก Avg. Inference Latency | ~212 ms |
| ๐ฌ Max Frame Rate | 60 FPS |
| ๐ฆ Model | YOLOv8 Nano (AI_MODEL_v4.2) |
| ๐ Internet Required | None โ fully offline |
ObjectDetection_system/
โ
โโโ app/
โ โโโ src/
โ โโโ main/
โ โ โโโ java/ # Kotlin source (Activities, ViewModels, Composables)
โ โ โ โโโ screens/ # Neural Scan, Analytics, Logs, Settings, Analysis
โ โ โ โโโ model/ # Data classes (ScanSession, ProductData, Settings)
โ โ โ โโโ inference/ # YOLOv8 TFLite inference engine
โ โ โโโ assets/ # YOLOv8 .tflite model weights + product database
โ โ โโโ res/ # Layouts, drawables, strings
โ โ โโโ AndroidManifest.xml
โ
โโโ build.gradle.kts # Root Gradle config
โโโ settings.gradle.kts # Project settings
โโโ gradle.properties
- โ Android Studio (Hedgehog or later)
- โ JDK 11 or above
- โ Android device / emulator running Android 8.0+
- โ Minimum 3 GB RAM recommended for smooth inference
- โ Device with NPU or GPU preferred for optimal performance
1. Clone the repository
git clone https://github.com/Hemanshu4949/ObjectDetection_system.git
cd ObjectDetection_system2. Open in Android Studio
File โ Open โ Select the cloned folder
3. Add the YOLOv8 model weights
Place your yolov8_model.tflite file in:
app/src/main/assets/
4. Sync Gradle & Run
Sync Gradle โ Run on Device or Emulator
โ ๏ธ A physical device is strongly recommended โ the camera inference pipeline performs significantly better on real hardware than an emulator.
If you want to retrain the model on your own dataset:
# Install Ultralytics
pip install ultralytics
# Train YOLOv8 Nano
yolo task=detect mode=train model=yolov8n.pt data=your_dataset.yaml epochs=100 imgsz=640
# Export to TFLite
yolo export model=best.pt format=tflite| Setting | Description | Default |
|---|---|---|
| โก High Precision Mode | Prioritize accuracy over speed | OFF |
| โ๏ธ Offline Processing | No data leaves the device | ON |
| ๐ณ Haptic Feedback | Vibrate on each object detection | OFF |
| ๐ Battery Optimization | Lower FPS when battery < 20% | ON |
| Challenge | Solution |
|---|---|
| Dataset Creation | Manually collected and annotated a custom product image dataset |
| Mobile Optimization | Chose YOLOv8 Nano for the best accuracy-speed tradeoff on mobile |
| Real-Time Processing | Used Kotlin Coroutines + non-blocking Compose updates to maintain 60 FPS |
| Model Deployment | Optimized PyTorch โ TFLite conversion to minimize precision loss |
- ๐ฒ Barcode and QR code scanning for extended product databases
- ๐๏ธ Expanded custom dataset for more product categories
- โ Wearable device integration
- ๐๏ธ Voice assistant support for accessibility
Follows the Agile Iterative SDLC Model, enabling continuous improvements across:
- AI model accuracy iteration
- UI/UX enhancement cycles
- Performance benchmarking sprints
git checkout -b feature/your-feature-name
git commit -m "Add: your feature description"
git push origin feature/your-feature-name
# Open a Pull Request ๐โญ If you found this project helpful, give it a star!
Made with โค๏ธ using Kotlin, Jetpack Compose & YOLOv8









