Dr-Swopt ca2e7cf817 flutter enhancements 4 days ago
..
android a5a8da405d working ver 1 week ago
assets a5a8da405d working ver 1 week ago
ios 8484533104 feat: Initialize new multi-platform Flutter project for the palm_oil_mobile application and remove old export scripts. 1 week ago
lib ca2e7cf817 flutter enhancements 4 days ago
linux 9caef843c9 working ver 1 week ago
macos 8484533104 feat: Initialize new multi-platform Flutter project for the palm_oil_mobile application and remove old export scripts. 1 week ago
web 8484533104 feat: Initialize new multi-platform Flutter project for the palm_oil_mobile application and remove old export scripts. 1 week ago
windows e5fa9b926e live analysis screen 1 week ago
.gitignore 8484533104 feat: Initialize new multi-platform Flutter project for the palm_oil_mobile application and remove old export scripts. 1 week ago
.metadata 8484533104 feat: Initialize new multi-platform Flutter project for the palm_oil_mobile application and remove old export scripts. 1 week ago
README.md ca2e7cf817 flutter enhancements 4 days ago
analysis_options.yaml 8484533104 feat: Initialize new multi-platform Flutter project for the palm_oil_mobile application and remove old export scripts. 1 week ago
pubspec.lock c98457466d feat: Introduce TFLite service for palm oil fruit object detection and add main application screens. 1 week ago
pubspec.yaml c98457466d feat: Introduce TFLite service for palm oil fruit object detection and add main application screens. 1 week ago

README.md

🌴 Palm Oil Ripeness AI (YOLO26 Mobile)

A professional, high-performance Flutter application powered by the YOLO26 (January 2026) architecture. Designed for palm oil plantation managers, this app utilizes NMS-Free End-to-End detection for maximum efficiency in the field.


📱 Executive Summary

The Palm Oil Ripeness AI mobile app is a field-ready tool that automates Fresh Fruit Bunch (FFB) assessment. By leveraging YOLO26-Nano, the app achieves a 43% speed increase on mobile CPUs compared to previous generations, eliminating latency bottlenecks and providing instant, high-accuracy grading without internet connectivity.


🛠 Features

1. Live Inference (NMS-Free Point-and-Scan)

  • Real-time Detection: Powered by YOLO26's native one-to-one label assignment, removing the need for post-inference NMS processing.
  • Momentum Lock: A robust hysteresis system that "locks" onto fruit bunches to prevent camera stutter and ensure reliable capture.
  • Ultra-Low Latency: Optimized for 38.9ms inference on standard mobile hardware.

2. Snap & Analyze (Manager's Manual Mode)

  • High-Res Accuracy: Manual shutter mode using ResolutionPreset.high for maximum detail.
  • Direct JPEG Decoding: Skips YUV conversion for the most accurate industrial-grade inference.
  • Auto-Reset Workflow: Seamlessly clears previous results after acknowledgment to allow rapid sequential captures.

3. Analyze Gallery

  • Allows managers to analyze previously captured photos from the device's storage.
  • Includes a scanning animation and detailed bounding box overlays.

4. History Vault & Result Persistence

  • SQLite Storage: Every analysis is stored locally with metadata (ripeness class, confidence, coordinates).
  • Image Archiving: Automatically copies and persists captured images to the ApplicationDocumentsDirectory.

5. Industrial Alerts & Summaries

  • Health Alert: 🔴 Red warnings for "Abnormal" or "Empty_Bunch" detections.
  • Yield Warning: 🟠 Orange alerts for "Unripe" or "Underripe" fruit, highlighting "Potential Yield Loss" to optimize Oil Extraction Rates (OER).

🚀 Setup & Installation

Prerequisites

  • Flutter SDK (latest stable).
  • Ultralytics 8.4.24+ (for model conversion to TFLite/CoreML).
  • A physical Android/iOS device (Camera required; Emulators NOT recommended).

1. Initialize Project

# Navigate to the mobile project directory
cd palm_oil_mobile

# Fetch dependencies
flutter pub get

2. Run the App

To take advantage of the YOLO26 performance gains, run in Release Mode:

flutter run --release

🏗 Project Architecture

📁 lib/services/ (Logic Layer)

  • tflite_service.dart: An Isolate-based service handling YOLO26 NMS-Free inference. By removing the NMS step, the service reduces UI thread jank by up to 50% compared to legacy v8 models.

📦 Assets

  • assets/best.tflite: The YOLO26-Nano model (Natively NMS-Free).
  • assets/labels.txt: Class definitions (Ripe, Unripe, Underripe, Overripe, Abnormal, Empty_Bunch).

⚠️ Requirements & Permissions

  • Camera: Required for Live and Static analysis.
  • Storage: Required to save/load photos and database records.