Skip to content

ECE Final Year Design Project: Using computer vision, image processing, and machine learning, KeeperVision physically guides goalkeepers in real-time to the best position to defend against any incoming shots.

License

Notifications You must be signed in to change notification settings

nvsriram/KeeperVision

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

banner

💡Motivation

Soccer is the most popular sport with hundreds of millions of players and fans around the world. Many times, a key save can be the difference between winning and losing a game. KeeperVision is a training tool which aims to help goalkeepers in tackling their greatest hurdle - positioning. Using computer vision, image processing, and machine learning, KeeperVision physically guides goalkeepers in real-time to the best position to defend against any incoming shots.

🚀 Demo

KeeperVision-demo.mp4

🌐 API Reference

api/register/<username>

GET
Response OK Code Content
200
{"id": <player_id>}
404
{"message": "Player <username> does not exist."}
POST
Body
{"email": <email>}
Response OK Code Content
200
{"id": <player_id>}
400
{"message": "<some error message like duplicate key Integrity error>"}

api/session/<username>

GET
Response OK Code Content
200
{"player_id": <player_id>, "session_stats": <list of session_stats in desc order of session_end>}
404
{"message": "Player <username> does not exist."}
POST
Body
{"session_stats": <session_stats JSON with all the fields>}
Files File Name Description
initial_image Image file containing goalkeeper's initial position before session starts
final_image Image file containing goalkeeper's final position at the end of session
Response OK Code Content
200
{"id": <session_id>}
400
{"message": "<some error message like duplicate key Integrity error>"}
404
{"message": "Player <username> does not exist."}

api/predict

POST
Files File Name Description
image Image file to be processed
Response OK Code Content
200
{"idx": <idx corresponding to direction to move>, "x": <offset in x direction>, "y": <offset in y direction>}

📈 Block Diagram

Block Diagram 2

💻 Instructions on running locally

  1. Ensure python is installed
  2. Run pip install -r requirements.txt to install all dependencies
    NOTE: Recommended to use venv before installing dependencies. See below for details on how to set it up
  3. Run the Flask app using python app.py. This will run the app on debug mode on the server's IP
    NOTE: Ensure the Flask app and the client are in the same WLAN to be able to connect to the server's IP as it is otherwise considered a private IP address

[Optional] To use venv:

  1. Run python -m venv <path-to-env> to create virtual environment

  2. To activate the virtual environment:

    • If on Windows, run: <path-to-env>/Scripts/activate
    • If on MacOS, run: source <path-to-env>/bin/activate
  3. Run Step 2 to install all dependencies

About

ECE Final Year Design Project: Using computer vision, image processing, and machine learning, KeeperVision physically guides goalkeepers in real-time to the best position to defend against any incoming shots.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 2

  •  
  •  

Languages