Logo Lanfrica

GwadeSteve/JCIA_Plum_Challenge

Domain:

agriculture

Record type:

software
Creator:
Gwa
Host:
PlumVision is a real-time web app for sorting African plums, built for the JCIA 2025 Hackathon. We developed the competition's most accurate and lightweight deep learning model. Plum Vision An intelligent prototype for African plum sorting, developed for the JCIA Hackathon 2025. Key Features • Demonstration • Technologies Used • Repository Content • API Endpoints • Getting Started • Troubleshooting • Team --- ## Key Features - Real-time analysis of camera video feed to classify plums - Classification of plums into six quality categories: Good quality, Unripe, Spotted, Cracked, Bruised, Rotten - Simple web user interface to visualize camera feed, predictions, and statistics - Real-time tracking of total processed plums and their distribution by category (Session Statistics) - Option to upload an image for a single prediction --- ## Demonstration Real-Time Analysis with statistics Image Upload Feature Session Statistics --- ## Technologies - **Deep Learning Models:** PyTorch - **Backend:** FastAPI - **Frontend:** ReactJS - **Database (Prototype):** SQLite --- ## Repository Content ``` JCIA_PLUM_DATA_CHALLENGE/ ├── african_plums_dataset/ # Kaggle dataset (not tracked in Git) │ ├── african_plums/ # Original dataset images │ │ ├── bruised/ │ │ ├── cracked/ │ │ ├── rotten/ │ │ ├── spotted/ │ │ ├── unaffected/ │ │ └── unripe/ │ ├── Sets/ # Full dataset splits │ ├── defect_data/ # Defect classification datasets │ ├── superclass_data/ # Superclass classification datasets │ └── processed_csv.csv # Dataset metadata │ ├── API/ # FastAPI backend │ ├── main.py # API entry point │ ├── stream_manager.py # WebSocket handler for real-time processing │ ├── database.py # Database management │ └── Predictor/ # Model and prediction utilities │ ├── best_model.pt # Trained model weights │ ├── meta_data.json # Model metadata │ └── predictor_utilities/ # Predi …