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.
KeeperVision-demo.mp4
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>"} |
||
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."} |
|||
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>} |
|
- Ensure python is installed
- Run
pip install -r requirements.txtto install all dependencies
NOTE: Recommended to use venv before installing dependencies. See below for details on how to set it up - 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:
-
Run
python -m venv <path-to-env>to create virtual environment -
To activate the virtual environment:
- If on Windows, run:
<path-to-env>/Scripts/activate - If on MacOS, run:
source <path-to-env>/bin/activate
- If on Windows, run:
-
Run Step 2 to install all dependencies

