--- language: - en library_name: tf-keras license: mit metrics: - accuracy pipeline_tag: image-classification tags: - sports - soccer - epl - arsenal - chelsea - liverpool - man city - man united - image-classification title: EPL Top 5 Emblem Classifier emoji: 📉 colorFrom: blue colorTo: purple sdk: gradio sdk_version: 4.12.0 app_file: app.py pinned: false --- # Model Card ## Overview - **Model name:** Top 5 EPL Teams' Emblem Identifier - **Model description:** Identifies the emblem of the top 5 English Premier League (EPL) teams from images using a convolutional neural network (CNN). - **Authors:** Alif Al Hasan - **Repository link:** https://huggingface.co/spaces/alifalhasan/epl-top5-emblem-classifier/tree/main - **License:** MIT - **Contact information:** alif.stu2017@juniv.edu ## Performance - **Metrics:** Accuracy (100%) - **Dataset:** Approximately 5,000 images of EPL team emblems, balanced across classes. Sources and preprocessing steps described in detail further below. ## Data - **Training data:** - Size: 5,000 images - Class distribution: Balanced (1,000 images per class) - Sources: [English Premier League Logo Detection](https://www.kaggle.com/datasets/alexteboul/english-premier-league-logo-detection-20k-images) - Preprocessing: Resizing to 224x224 pixels, normalization - **Potential biases:** Currently unknown biases in the dataset. ## Inference - **Input:** - Format: JPEG or PNG images - Size: 224x224 pixels - Color space: RGB - **Output:** Predicted class probabilities for each of the 5 EPL teams. - **Inference API:** [https://huggingface.co/spaces/alifalhasan/epl-top5-emblem-classifier](https://huggingface.co/spaces/alifalhasan/epl-top5-emblem-classifier) - **Usage instructions:** Simply upload an image of any of the EPL's top 5 team's emblem to get a prediction. ## Ethics - **Potential biases:** The model may inherit biases from the training data, such as over- or under-representation of certain team emblems. - **Mitigation strategies:** Further exploration of dataset biases and potential augmentation techniques to address them. - **Ethical considerations:** - Awareness of potential biases and limitations in the model's predictions. - Responsible use of the model, avoiding harmful generalizations or discrimination. - Respect for the rights and privacy of individuals and organizations associated with the EPL teams. --- # Top 5 EPL Teams' Emblem Identifier A simple and well designed web app to identify the emblem of the top 5 teams of **EPL(English Premier League)** namely **Arsenal, Chelsea, Liverpool, Manchester City** and **Manchester United**. ### Requirements - [Python 3.11](https://python.org/) - [NumPy](https://numpy.org/) - [SciPy](https://scipy.org/) - [Gradio](https://www.gradio.app/) - [Tensorflow](https://tensorflow.org/) ### Table Of Contents - [Introduction](#introduction) - [Model Architecture](#model-architecture) - [Project Architecture](#project-architecture) - [How To Run](#how-to-run) - [License](#license) - [Contributor](#contributor) ### Introduction A simple and well designed web app to identify the emblem of the top 5 teams of **EPL**. This model has been trained with a balanced dataset which contains almost **5k** images of the emblems of the teams. ### Model Architecture The model utilizes a straightforward convolutional neural network (CNN) architecture, comprising the following layers: 1. **Convolutional Layer:** - 32 filters, each of size 3x3 - ReLU activation function - Input shape: 224x224x3 (RGB images) - Extracts spatial features from input images. 2. **Max Pooling Layer:** - Pool size: 2x2 - Reduces spatial dimensions for capturing more global features. 3. **Flattening Layer:** - Flattens the 2D feature maps into a 1D vector for input to dense layers. 4. **Dense Layer 1:** - 64 neurons - ReLU activation function 5. **Output Layer (Dense Layer 2):** - 5 neurons (matching the number of classes) - Softmax activation to produce probability scores for each class. **Key Points:** - Input image size: 224x224 pixels - Optimizer: Adam with a learning rate of 0.001 - Loss function: Categorical crossentropy - Performance metric: Accuracy **Visual Representation:** [Input image (224x224x3)] --> [Conv2D] --> [MaxPooling2D] --> [Flatten] --> [Dense 1] --> [Output Layer (Dense 2)] --> [Predicted class] ### Prject Architecture ``` ├── data │ └── arsenal - images of arsenal's emblem. │ └── chelsea - images of chelsea's emblem. │ └── liverpool - images of liverpool's emblem. │ └── manchester-city - images of manchester-city's emblem. │ └── manchester-united - images of united's emblem. │ │ ├── model │ └── football_logo_model.h5 - generated model. │ │ ├── src │ └── classify │ └── classify.py - this module classifies the emblem from input image. │ └── train │ └── trainer.py - this module trains the model. │ │ ├── app.py - this module starts the app interface. │ │ ├── LICENSE - license file of this project. │ │ ├── README.md - readme file of this project. │ │ ├── requirements.txt - list of required packages. ``` ### How To Run First, install dependencies ```bash # clone project git clone https://huggingface.co/spaces/alifalhasan/epl-top5-emblem-classifier # install project cd epl-top5-emblem-classifier pip install -r requirements.txt ``` Next, download the dataset from [here](https://drive.google.com/file/d/1O5Mm-86AlUf5fUYf1NS8J_t22h7h_UbQ/view?usp=sharing). First unzip the folder. **dataset** folder contains **five** more folders. Copy them and paste into the **data** directory of this project folder. Now train the model using this command: ```bash python src/train/trainer.py ``` Finally, deploy the model using this command: ```bash python app.py ``` ### License Distributed under the MIT License. See `LICENSE` for more information. ### Contributor Alif Al Hasan - [@alifalhasan](https://huggingface.co/alifalhasan) - alif.stu2017@juniv.edu Project Link: [https://huggingface.co/spaces/alifalhasan/epl-top5-emblem-classifier](https://huggingface.co/spaces/alifalhasan/epl-top5-emblem-classifier)