NamrataThakur / Action-Classification-on-Diving-Sequence

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Automated Score Prediction for Diving Sequences

The repository contains code from:

APPLICATION DEMO VIDEO:

Final Application Demo Video

Application Architecture:

Overall Architecture:

image

Temporal Segmentation:

image

Automated Scoring Network Structure

image

Splash Analysis:

image

Angle of Entry Analysis:

image

Folder Structure

configs: I3D config *
images: Output directory for intermediate processing
modelcheckpoints: Contains the model flat files to be loaded on the server (e.g. temporal segmentation model, automated scoring model etc)
models: I3D models, Repnet models *
postman: Contains postman POST stub for testing the server
uploads: Output directory for videos that were submitted in the POST request
utils: I3D utils *

  • means it was part of the I3D repository code (not developed by us)

Environment Setup:

There are 2 environments to setup, 1 for the Repnet Flask Server, and 1 for the Backend Flask Server

Repnet Flask Server

conda env create -n repnet --file repnet_env/environment_repnet_fromhist.yml python=3.6

Main Backend Environment

conda create -n backend python=3.9.13
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia
pip install -r requirements_backend.txt
ipython kernel install --user --name=backend

To run:

Repnet Flask Server

Within the main folder, run:
conda activate repnet
python RepnetFlask.py

Repnet endpoint will be located at http://localhost:5001/sstwist
You can HTTP POST to this endpoint using the postman stub.

Main Backend Environment

Open "Backend.ipnyb" in Jupyter Notebook, select the 'backend' python environment, run all cells. This will activate the Flask server at the last cell.
The server endpoint for video analysis will be located at http://localhost:5000/videoupload
You can HTTP POST to this endpoint using the postman stub.