RishitJavia commited on
Commit
1823601
·
0 Parent(s):

Duplicate from infocusp/f1

Browse files
.gitattributes ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ static/uploads/federer_1.mp4 filter=lfs diff=lfs merge=lfs -text
Dockerfile ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.9
2
+
3
+ WORKDIR /code
4
+
5
+ COPY ./requirements.txt /code/requirements.txt
6
+
7
+ RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
8
+
9
+ COPY . .
10
+
11
+ CMD ["gunicorn", "-b", "0.0.0.0:7860", "main:app"]
README.md ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: F1
3
+ emoji: 🐨
4
+ colorFrom: pink
5
+ colorTo: blue
6
+ sdk: docker
7
+ pinned: false
8
+ duplicated_from: infocusp/f1
9
+ ---
10
+
11
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
main.py ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+
3
+ from flask import render_template, send_from_directory
4
+ from werkzeug.utils import secure_filename
5
+
6
+ # from src.flask_app import flask_app
7
+ import os
8
+
9
+ from flask import Flask
10
+
11
+ UPLOAD_FOLDER = r'static/uploads/'
12
+ if not os.path.isdir(UPLOAD_FOLDER) :
13
+ os.makedirs(UPLOAD_FOLDER, exist_ok=True)
14
+
15
+ app = Flask(__name__)
16
+ app.secret_key = "secret key"
17
+ app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
18
+
19
+ @app.route('/')
20
+ def upload_form_html():
21
+ return render_template('upload.html')
22
+
23
+
24
+ @app.route('/', methods=['POST'])
25
+ def upload_video():
26
+
27
+ ref_file = request.files['ref_file']
28
+ test_file = request.files['test_file']
29
+ print("##########################______________29 : ",ref_file)
30
+ ref_filename = secure_filename(ref_file.filename)
31
+ ref_file.save(os.path.join(app.config['UPLOAD_FOLDER'], ref_filename))
32
+
33
+ test_filename = secure_filename(test_file.filename)
34
+ test_file.save(os.path.join(app.config['UPLOAD_FOLDER'], test_filename))
35
+
36
+ crop_method = request.form['crop_method']
37
+
38
+ return render_template(
39
+ 'upload.html', filename=os.path.basename('federer_1.mp4'),
40
+ crop_method=crop_method
41
+ )
42
+
43
+
44
+ @app.route('/display/<filename>')
45
+ def display_video(filename):
46
+ return send_from_directory(
47
+ '../static', 'uploads/' + filename, conditional=True
48
+ )
49
+
50
+
51
+ from flask import request
52
+
53
+ if __name__ == "__main__":
54
+
55
+ app.run(debug=True, threaded=True, host='0.0.0.0',port=7860)
requirements.txt ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ blinker==1.6.2
2
+ click==8.1.7
3
+ Flask==2.3.3
4
+ itsdangerous==2.1.2
5
+ Jinja2==3.1.2
6
+ MarkupSafe==2.1.3
7
+ Werkzeug==2.3.7
8
+ gunicorn
src/flask_app.py ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+
3
+ from flask import Flask
4
+
5
+ UPLOAD_FOLDER = r'static/uploads/'
6
+ if not os.path.isdir(UPLOAD_FOLDER) :
7
+ os.makedirs(UPLOAD_FOLDER, exist_ok=True)
8
+
9
+ flask_app = Flask(__name__)
10
+ flask_app.secret_key = "secret key"
11
+ flask_app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
src/templates/display_output.html ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ <!doctype html>
2
+ <title>PoseSync</title>
3
+ <h2>PoseSync</h2>
4
+
5
+ <div style="margin: 10px auto;">
6
+ <video autoplay="autoplay" controls="controls" preload="preload">-->
7
+ <source src="{{ url_for('display_video', filename=filename) }}" type="video/mp4"></source>
8
+ </video>
9
+ </div>
src/templates/upload.html ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!doctype html>
2
+ <title>PoseSync</title>
3
+ <h1 style="text-align: center;">PoseSync</h1>
4
+ <br>
5
+ {% if error %}
6
+
7
+ <h3>{{ error }}</h3>
8
+
9
+ {% endif %}
10
+
11
+ {% if filename %}
12
+
13
+ <div style="margin: 10px auto;">
14
+ <p> Crop Method =
15
+ {{ crop_method }}
16
+ </p>
17
+ <video autoplay="autoplay" controls="controls" preload="preload">-->
18
+ <source src="{{ url_for('display_video', filename=filename) }}" type="video/mp4"></source>
19
+ </video>
20
+ </div>
21
+
22
+ {% endif %}
23
+
24
+ <h3>Select videos for matching</h3>
25
+
26
+ <form method="post" action="/" enctype="multipart/form-data">
27
+ <dl>
28
+ <p> Reference Video :
29
+ <input id="ref_video" type="file" name="ref_file" autocomplete="off" required>
30
+ </p>
31
+ </dl>
32
+ <dl>
33
+ <p> Test Video :
34
+ <input id="test_video" type="file" name="test_file" autocomplete="off" required>
35
+ </p>
36
+ </dl>
37
+ <label> Select Video Cropping Method : </label>
38
+ <select name="crop_method">
39
+ <option value="YOLO"> YOLO
40
+ </option>
41
+ <option value="Tracker"> CV2.Tracker
42
+ </option>
43
+ </select>
44
+ <p>
45
+ <input type="submit" value="Proceed">
46
+ </p>
47
+ </form>
static/uploads/federer_1.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:72103e80dfa811c5a09504bc262c520c972e09db8cd38eb2b7b9d321260e0e63
3
+ size 10721597
templates/display_output.html ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ <!doctype html>
2
+ <title>PoseSync</title>
3
+ <h2>PoseSync</h2>
4
+
5
+ <div style="margin: 10px auto;">
6
+ <video autoplay="autoplay" controls="controls" preload="preload">-->
7
+ <source src="{{ url_for('display_video', filename=filename) }}" type="video/mp4"></source>
8
+ </video>
9
+ </div>
templates/upload.html ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!doctype html>
2
+ <title>PoseSync</title>
3
+ <h1 style="text-align: center;">PoseSync</h1>
4
+ <br>
5
+ {% if error %}
6
+
7
+ <h3>{{ error }}</h3>
8
+
9
+ {% endif %}
10
+
11
+ {% if filename %}
12
+
13
+ <div style="margin: 10px auto;">
14
+ <p> Crop Method =
15
+ {{ crop_method }}
16
+ </p>
17
+ <video autoplay="autoplay" controls="controls" preload="preload">-->
18
+ <source src="{{ url_for('display_video', filename=filename) }}" type="video/mp4"></source>
19
+ </video>
20
+ </div>
21
+
22
+ {% endif %}
23
+
24
+ <h3>Select videos for matching</h3>
25
+
26
+ <form method="post" action="/" enctype="multipart/form-data">
27
+ <dl>
28
+ <p> Reference Video :
29
+ <input id="ref_video" type="file" name="ref_file" autocomplete="off" required>
30
+ </p>
31
+ </dl>
32
+ <dl>
33
+ <p> Test Video :
34
+ <input id="test_video" type="file" name="test_file" autocomplete="off" required>
35
+ </p>
36
+ </dl>
37
+ <label> Select Video Cropping Method : </label>
38
+ <select name="crop_method">
39
+ <option value="YOLO"> YOLO
40
+ </option>
41
+ <option value="Tracker"> CV2.Tracker
42
+ </option>
43
+ </select>
44
+ <p>
45
+ <input type="submit" value="Proceed">
46
+ </p>
47
+ </form>