{"id":16699623,"url":"https://github.com/ignacioct/sportclassifier","last_synced_at":"2025-10-09T12:16:12.444Z","repository":{"id":55679126,"uuid":"317258486","full_name":"ignacioct/SportClassifier","owner":"ignacioct","description":"CNN implemented with TensorFlow to classify sport images","archived":false,"fork":false,"pushed_at":"2020-12-13T11:12:01.000Z","size":4150,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-09T12:16:07.716Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ignacioct.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-11-30T15:02:37.000Z","updated_at":"2023-12-19T00:35:05.000Z","dependencies_parsed_at":"2022-08-15T06:20:31.801Z","dependency_job_id":null,"html_url":"https://github.com/ignacioct/SportClassifier","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ignacioct/SportClassifier","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ignacioct%2FSportClassifier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ignacioct%2FSportClassifier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ignacioct%2FSportClassifier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ignacioct%2FSportClassifier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ignacioct","download_url":"https://codeload.github.com/ignacioct/SportClassifier/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ignacioct%2FSportClassifier/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001448,"owners_count":26083078,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-12T18:07:38.515Z","updated_at":"2025-10-09T12:16:12.398Z","avatar_url":"https://github.com/ignacioct.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\n*** Thanks for checking out the Best-README-Template. If you have a suggestion\n*** that would make this better, please fork the SportClassificator and create a pull request\n*** or simply open an issue with the tag \"enhancement\".\n*** Thanks again! Now go create something AMAZING! :D\n***\n***\n***\n*** To avoid retyping too much info. Do a search and replace for the following:\n*** ignacioct, SportClassificator_name, twitter_handle, email, project_title, project_description\n--\u003e\n\n\n\n\u003c!-- PROJECT SHIELDS --\u003e\n\u003c!--\n*** I'm using markdown \"reference style\" links for readability.\n*** Reference links are enclosed in brackets [ ] instead of parentheses ( ).\n*** See the bottom of this document for the declaration of the reference variables\n*** for contributors-url, forks-url, etc. This is an optional, concise syntax you may use.\n*** https://www.markdownguide.org/basic-syntax/#reference-style-links\n--\u003e\n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/ignacioct/SportClassificator\"\u003e\n  \u003c/a\u003e\n\n  \u003ch1 align=\"center\"\u003eSport Classifier \u003c/h1\u003e\n\n  \u003cp align=\"center\"\u003e\n    Sport classification using Convolutional NN and Tensorflow.\n    \u003cbr /\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n  \u003csummary\u003e\u003ch2 style=\"display: inline-block\"\u003eTable of Contents\u003c/h2\u003e\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#documentation\"\u003eDocumentation\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\n\n\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## About The Project\n\nIn 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. \n\nThe 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:\n```\n0: 'badminton',\n1: 'baseball',\n2: 'basketball',\n3: 'boxing',\n4: 'chess',\n5: 'cricket',\n6: 'fencing',\n7: 'football',\n8: 'formula1',\n9: 'gymnastics',\n10: 'hockey',\n11: 'ice_hockey',\n12: 'kabaddi',\n13: 'motogp',\n14: 'shooting',\n15: 'swimming',\n16: 'table_tennis',\n17: 'tennis',\n18: 'volleyball',\n19: 'weight_lifting',\n20: 'wrestling',\n21: 'wwe'\n```\n\nAs a proof of concept, different approaches and architectures are tested and detailed in the notebook.\n\nFinally, using Transfer Learning and ResNet50, an accuracy of 78% has been achieved. \n\n### Built With\n\n* Python 3 (Compatible with all 3 subversions)\n* Jupyter Notebooks\n* TensorFlow\n* Datasets provided by Kaggle and ImageNet \n* [Weights \u0026 Biases](https://wandb.ai/) for tracking and logging the experiments\n\nIt 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. \n\nYou can find the same notebook integrated in Kaggle kernel, in [this link](https://www.kaggle.com/ignacioct/sportclassifier).\n\n\u003c!-- GETTING STARTED --\u003e\n## Documentation\n\n* [1] Medium: [Understanding of convolutional neural network](https://medium.com/@RaghavPrabhu/understanding-of-convolutional-neural-network-cnn-deep-learning-99760835f148)\n* [2] Medium: [Sport image classification with Neural Networks](https://medium.com/jovianml/sport-image-classification-with-neural-networks-16929b9f7932)\n* [3] Towards Data Science: [Image detection from scratch in Keras](https://towardsdatascience.com/image-detection-from-scratch-in-keras-f314872006c9)\n* [4] Kaggle: [Sportify](https://www.kaggle.com/c/sportify-physdl/data)\n* [5] Medium: [Differences between Inception, Resnet and Mobilenet](https://medium.com/@fransiska26/the-differences-between-inception-resnet-and-mobilenet-e97736a709b0)\n* [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)\n\u003c!-- LICENSE --\u003e\n## License\n\nDistributed under the MIT License. See `LICENSE` for more information.\n\n\u003c!-- CONTACT --\u003e\n## Contact\n\nIgnacio Talavera Cepeda - [LinkedIn Profile](https://www.linkedin.com/in/ignacio-talavera-cepeda/) - ignaciotalaveracepeda@gmail.com\n\nLuis Rodríguez Rubio - [LinkedIn Profile](https://www.linkedin.com/in/luis-rodriguez-rubio/) - rodriguez.ru.luis@gmail.com\n\nJavier Mora Argumánez - [LinkedIn Profile](https://www.linkedin.com/in/javier-mora-argum%C3%A1nez-92bb00200/) - jmargumanez99@gmail.com\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n[contributors-shield]: https://img.shields.io/github/contributors/ignacioct/SportClassificator.svg?style=for-the-badge\n[contributors-url]: https://github.com/ignacioct/SportClassificator/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/ignacioct/SportClassificator.svg?style=for-the-badge\n[forks-url]: https://github.com/ignacioct/SportClassificator/network/members\n[stars-shield]: https://img.shields.io/github/stars/ignacioct/SportClassificator.svg?style=for-the-badge\n[stars-url]: https://github.com/ignacioct/SportClassificator/stargazers\n[issues-shield]: https://img.shields.io/github/issues/ignacioct/SportClassificator.svg?style=for-the-badge\n[issues-url]: https://github.com/ignacioct/SportClassificator/issues\n[license-shield]: https://img.shields.io/github/license/ignacioct/SportClassificator.svg?style=for-the-badge\n[license-url]: https://github.com/ignacioct/SportClassificator/blob/master/LICENSE.txt\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge\u0026logo=linkedin\u0026colorB=555\n[linkedin-url]: https://linkedin.com/in/ignacioct\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fignacioct%2Fsportclassifier","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fignacioct%2Fsportclassifier","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fignacioct%2Fsportclassifier/lists"}