# South African Bank Coin Recognition Project
A computer vision system for accurate recognition and classification of South African bank coins using deep learning techniques.
## Model Training Notebook
**The model training notebook is a crucial component of this project. It contains the complete pipeline for developing the coin recognition system, including:**
- Processing 714 original coin images
- Performing multiple augmentations to increase dataset size to 7,854 images
- Image preprocessing and enhancement
- Image segmentation
- Feature extraction
- Coin classification (both denomination and side)
- Model comparison and selection
**Access the notebook here:** COMP702_PROJECT.ipynb
**Original images required by notebook(COMP702_PROJECT.ipynb) here:** original_coins.zip
## Important Note
The application requires model files located in the `models_final.zip` archive. You must extract these files before running the application.
**1. Unzip the Archive**
Open a terminal or command prompt in the project's root directory and use the appropriate command for your operating system.
* **On macOS or Linux:**
```bash
unzip models_final.zip
```
* **On Windows (using PowerShell):** The `tar` command is generally more reliable for avoiding nested directories.
```powershell
tar -xf models_final.zip
```
**2. Verify the Directory Structure**
After unzipping, you must have a single `models_final` directory containing the model files. Please verify that your folder structure looks like the Project Structure Below.
## Project Structure
```
South-African-Bank-Coin-Recognition-Project/
├── README.md
├── image_processing_pipeline.py
├── main.py
├── models_final.py (After Unzipped)
│ ├── feature_names.json
│ ├── random_forest_side_model.joblib
│ ├── random_forest_type_model.joblib
│ ├── scaler.joblib
├── model_loader.py
├── models_final.zip (must be unzipped before running)
└── requirements.txt
```
## Installation Instructions
### Prerequisites
- Python 3.7 or hi …