Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ignacioct/sportclassifier
CNN implemented with TensorFlow to classify sport images
https://github.com/ignacioct/sportclassifier
Last synced: 27 days ago
JSON representation
CNN implemented with TensorFlow to classify sport images
- Host: GitHub
- URL: https://github.com/ignacioct/sportclassifier
- Owner: ignacioct
- License: mit
- Created: 2020-11-30T15:02:37.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2020-12-13T11:12:01.000Z (almost 4 years ago)
- Last Synced: 2023-12-11T23:26:44.893Z (11 months ago)
- Language: Jupyter Notebook
- Size: 3.96 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
Sport Classifier
Sport classification using Convolutional NN and Tensorflow.
Table of Contents
## About The Project
In this project we are going to build a sport-image classifier using TensorFlow and Keras. The idea is simple: create model that, given an image in which some sport is being played, is able to tell which is taking place.
The dataset chosen is [this one from Kaggle](https://www.kaggle.com/sovitrath/sports-image-dataset), where there are labeled images of 22 different sports, which are:
```
0: 'badminton',
1: 'baseball',
2: 'basketball',
3: 'boxing',
4: 'chess',
5: 'cricket',
6: 'fencing',
7: 'football',
8: 'formula1',
9: 'gymnastics',
10: 'hockey',
11: 'ice_hockey',
12: 'kabaddi',
13: 'motogp',
14: 'shooting',
15: 'swimming',
16: 'table_tennis',
17: 'tennis',
18: 'volleyball',
19: 'weight_lifting',
20: 'wrestling',
21: 'wwe'
```As a proof of concept, different approaches and architectures are tested and detailed in the notebook.
Finally, using Transfer Learning and ResNet50, an accuracy of 78% has been achieved.
### Built With
* Python 3 (Compatible with all 3 subversions)
* Jupyter Notebooks
* TensorFlow
* Datasets provided by Kaggle and ImageNet
* [Weights & Biases](https://wandb.ai/) for tracking and logging the experimentsIt is important, in order to follow the approach used in the ```research.ipynb```, to download the [Sport Image Dataset from Kaggle](https://www.kaggle.com/sovitrath/sports-image-dataset) and place the ```input``` folder in the root of the project, along with the notebook.
You can find the same notebook integrated in Kaggle kernel, in [this link](https://www.kaggle.com/ignacioct/sportclassifier).
## Documentation
* [1] Medium: [Understanding of convolutional neural network](https://medium.com/@RaghavPrabhu/understanding-of-convolutional-neural-network-cnn-deep-learning-99760835f148)
* [2] Medium: [Sport image classification with Neural Networks](https://medium.com/jovianml/sport-image-classification-with-neural-networks-16929b9f7932)
* [3] Towards Data Science: [Image detection from scratch in Keras](https://towardsdatascience.com/image-detection-from-scratch-in-keras-f314872006c9)
* [4] Kaggle: [Sportify](https://www.kaggle.com/c/sportify-physdl/data)
* [5] Medium: [Differences between Inception, Resnet and Mobilenet](https://medium.com/@fransiska26/the-differences-between-inception-resnet-and-mobilenet-e97736a709b0)
* [6] Towards Data Science: [Understand and implement ResNet 50 with Tensorflow 2](https://towardsdatascience.com/understand-and-implement-resnet-50-with-tensorflow-2-0-1190b9b52691)## License
Distributed under the MIT License. See `LICENSE` for more information.
## Contact
Ignacio Talavera Cepeda - [LinkedIn Profile](https://www.linkedin.com/in/ignacio-talavera-cepeda/) - [email protected]
Luis Rodríguez Rubio - [LinkedIn Profile](https://www.linkedin.com/in/luis-rodriguez-rubio/) - [email protected]
Javier Mora Argumánez - [LinkedIn Profile](https://www.linkedin.com/in/javier-mora-argum%C3%A1nez-92bb00200/) - [email protected]
[contributors-shield]: https://img.shields.io/github/contributors/ignacioct/SportClassificator.svg?style=for-the-badge
[contributors-url]: https://github.com/ignacioct/SportClassificator/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/ignacioct/SportClassificator.svg?style=for-the-badge
[forks-url]: https://github.com/ignacioct/SportClassificator/network/members
[stars-shield]: https://img.shields.io/github/stars/ignacioct/SportClassificator.svg?style=for-the-badge
[stars-url]: https://github.com/ignacioct/SportClassificator/stargazers
[issues-shield]: https://img.shields.io/github/issues/ignacioct/SportClassificator.svg?style=for-the-badge
[issues-url]: https://github.com/ignacioct/SportClassificator/issues
[license-shield]: https://img.shields.io/github/license/ignacioct/SportClassificator.svg?style=for-the-badge
[license-url]: https://github.com/ignacioct/SportClassificator/blob/master/LICENSE.txt
[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555
[linkedin-url]: https://linkedin.com/in/ignacioct