Skip to content

nerdy1texan/ShelfRanger

Repository files navigation

πŸ” ShelfRanger - Retail Shelf Monitoring System

πŸ“¦ Project Overview

ShelfRanger is an intelligent retail shelf monitoring and automated restocking system that uses YOLOv8 for product detection and classification.

πŸ—οΈ Architecture

ShelfRanger Architecture

πŸ—οΈ Project Structure

ShelfRanger/
β”œβ”€β”€ README.md                   # Project documentation
β”œβ”€β”€ requirements.txt            # Python dependencies
β”œβ”€β”€ environment.yml            # Conda environment specification
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ training/             # Model training code
β”‚   β”‚   β”œβ”€β”€ __init__.py
β”‚   β”‚   β”œβ”€β”€ train.py         # YOLOv8 training script
β”‚   β”‚   └── config.py        # Training configuration
β”‚   β”œβ”€β”€ utils/               # Utility functions
β”‚   β”‚   β”œβ”€β”€ __init__.py
β”‚   β”‚   └── visualization.py # Visualization helpers
β”‚   └── ui/                  # Streamlit UI code
β”‚       β”œβ”€β”€ __init__.py
β”‚       └── prototype_ui.py  # Main Streamlit interface
β”œβ”€β”€ models/                   # Trained model weights
β”‚   └── .gitkeep
β”œβ”€β”€ dataset/                 # YOLOv8 dataset
β”‚   β”œβ”€β”€ data.yaml           # Dataset configuration
β”‚   β”œβ”€β”€ train/              # Training images and labels
β”‚   β”œβ”€β”€ valid/              # Validation images and labels
β”‚   └── test/               # Test images and labels
└── prototype_sku_lookup.py  # SKU mapping dictionary

πŸ’» Technology Stack

Tech Stack 1 Tech Stack 2

πŸš€ Setup Instructions

1. Create Conda Environment

# Create environment from file
conda env create -f environment.yml

# Activate environment
conda activate shelfranger
# Activate environment git bash
source /c/Users/mauli/anaconda3/Scripts/activate shelfranger

# Update Environment
conda env update -f environment.yml --prune

# Clean up and re-train from scratch
rm -rf models/* yolov8n.pt

2. Train YOLOv8 Model

# From project root
python src/training/train.py

3. Run Streamlit UI

# From project root
streamlit run src/ui/prototype_ui.py

πŸ“ Model Training Details

  • Base model: YOLOv8n
  • Image size: 512x512
  • Epochs: 50
  • Dataset: Custom retail shelf dataset with 39 SKU classes
  • Training script: src/training/train.py

πŸ“ˆ Training Results

Training Results Training Results 2

πŸ› οΈ Dependencies

See requirements.txt for Python package dependencies.

πŸ“Š Dataset Structure

  • Training: 2,793 images
  • Validation: 264 images
  • Test: 100 images
  • Classes: 39 SKUs (see data.yaml for full list) # ShelfRanger

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages