Spaces:
Runtime error
Runtime error
Commit
·
505446f
0
Parent(s):
Duplicate from BAAI/SegGPT
Browse filesCo-authored-by: Xinlong Wang <[email protected]>
- .gitattributes +50 -0
- README.md +14 -0
- app.py +211 -0
- images/earth_1.jpg +0 -0
- images/earth_2.jpg +0 -0
- images/earth_3.jpg +0 -0
- images/hmbb_1.jpg +0 -0
- images/hmbb_2.jpg +0 -0
- images/hmbb_3.jpg +0 -0
- images/nc_1.jpg +0 -0
- images/nc_2.jpg +0 -0
- images/nc_3.jpg +0 -0
- images/obj_1.jpg +0 -0
- images/obj_2.jpg +0 -0
- images/obj_3.jpg +0 -0
- images/rainbow_1.jpg +0 -0
- images/rainbow_2.jpg +0 -0
- images/rainbow_3.jpg +0 -0
- images/street_1.jpg +0 -0
- images/street_2.jpg +0 -0
- images/street_3.jpg +0 -0
- images/tom_1.jpg +0 -0
- images/tom_2.jpg +0 -0
- images/tom_3.jpg +0 -0
- images/xray_1.jpg +0 -0
- images/xray_2.jpg +0 -0
- images/xray_3.jpg +0 -0
- images/ydt_1.jpg +0 -0
- images/ydt_2.jpg +0 -0
- images/ydt_3.jpg +0 -0
- rainbow2.gif +3 -0
- seggpt_teaser.png +0 -0
- videos/.DS_Store +0 -0
- videos/a_car_is_moving_on_the_road_40.jpg +3 -0
- videos/a_car_is_moving_on_the_road_40.mp4 +3 -0
- videos/a_man_in_parkour_100.jpg +3 -0
- videos/a_man_in_parkour_100.mp4 +3 -0
- videos/a_man_is_surfing_3_30.jpg +3 -0
- videos/a_man_is_surfing_3_30.mp4 +3 -0
- videos/child-riding_lego.jpg +3 -0
- videos/child-riding_lego.mp4 +3 -0
- videos/horse-running.jpg +3 -0
- videos/horse-running.mp4 +3 -0
- videos/jeep-moving.jpg +3 -0
- videos/jeep-moving.mp4 +3 -0
.gitattributes
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
*.tflite filter=lfs diff=lfs merge=lfs -text
|
29 |
+
*.tgz filter=lfs diff=lfs merge=lfs -text
|
30 |
+
*.wasm filter=lfs diff=lfs merge=lfs -text
|
31 |
+
*.xz filter=lfs diff=lfs merge=lfs -text
|
32 |
+
*.zip filter=lfs diff=lfs merge=lfs -text
|
33 |
+
*.zst filter=lfs diff=lfs merge=lfs -text
|
34 |
+
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
35 |
+
rainbow.gif filter=lfs diff=lfs merge=lfs -text
|
36 |
+
rainbow_.gif filter=lfs diff=lfs merge=lfs -text
|
37 |
+
rainbow__.gif filter=lfs diff=lfs merge=lfs -text
|
38 |
+
rainbow2.gif filter=lfs diff=lfs merge=lfs -text
|
39 |
+
videos/jeep-moving.jpg filter=lfs diff=lfs merge=lfs -text
|
40 |
+
videos/a_car_is_moving_on_the_road_40.mp4 filter=lfs diff=lfs merge=lfs -text
|
41 |
+
videos/a_man_in_parkour_100.jpg filter=lfs diff=lfs merge=lfs -text
|
42 |
+
videos/a_man_in_parkour_100.mp4 filter=lfs diff=lfs merge=lfs -text
|
43 |
+
videos/child-riding_lego.jpg filter=lfs diff=lfs merge=lfs -text
|
44 |
+
videos/child-riding_lego.mp4 filter=lfs diff=lfs merge=lfs -text
|
45 |
+
videos/jeep-moving.mp4 filter=lfs diff=lfs merge=lfs -text
|
46 |
+
videos/a_car_is_moving_on_the_road_40.jpg filter=lfs diff=lfs merge=lfs -text
|
47 |
+
videos/a_man_is_surfing_3_30.jpg filter=lfs diff=lfs merge=lfs -text
|
48 |
+
videos/a_man_is_surfing_3_30.mp4 filter=lfs diff=lfs merge=lfs -text
|
49 |
+
videos/horse-running.jpg filter=lfs diff=lfs merge=lfs -text
|
50 |
+
videos/horse-running.mp4 filter=lfs diff=lfs merge=lfs -text
|
README.md
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
title: SegGPT
|
3 |
+
emoji: 🏢
|
4 |
+
colorFrom: gray
|
5 |
+
colorTo: indigo
|
6 |
+
sdk: gradio
|
7 |
+
sdk_version: 3.22.1
|
8 |
+
app_file: app.py
|
9 |
+
pinned: false
|
10 |
+
license: mit
|
11 |
+
duplicated_from: BAAI/SegGPT
|
12 |
+
---
|
13 |
+
|
14 |
+
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
app.py
ADDED
@@ -0,0 +1,211 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# -*- coding: utf-8 -*-
|
2 |
+
|
3 |
+
import sys
|
4 |
+
import io
|
5 |
+
import requests
|
6 |
+
import json
|
7 |
+
import base64
|
8 |
+
from PIL import Image
|
9 |
+
import numpy as np
|
10 |
+
import gradio as gr
|
11 |
+
|
12 |
+
|
13 |
+
def inference_mask1_sam(prompt,
|
14 |
+
img,
|
15 |
+
img_):
|
16 |
+
|
17 |
+
files = {
|
18 |
+
"useSam" : 1,
|
19 |
+
"pimage" : resizeImg(prompt["image"]),
|
20 |
+
"pmask" : resizeImg(prompt["mask"]),
|
21 |
+
"img" : resizeImg(img),
|
22 |
+
"img_" : resizeImg(img_)
|
23 |
+
}
|
24 |
+
r = requests.post("http://120.92.79.209/painter/run", json = files)
|
25 |
+
a = json.loads(r.text)
|
26 |
+
|
27 |
+
res = []
|
28 |
+
|
29 |
+
for i in range(len(a)):
|
30 |
+
#out = Image.open(io.BytesIO(base64.b64decode(a[i])))
|
31 |
+
#out = out.resize((224, 224))
|
32 |
+
#res.append(np.uint8(np.array(out)))
|
33 |
+
res.append(np.uint8(np.array(Image.open(io.BytesIO(base64.b64decode(a[i]))))))
|
34 |
+
return res[1:] # remove prompt image
|
35 |
+
|
36 |
+
def inference_mask1(prompt,
|
37 |
+
img,
|
38 |
+
img_):
|
39 |
+
files = {
|
40 |
+
"pimage" : resizeImg(prompt["image"]),
|
41 |
+
"pmask" : resizeImg(prompt["mask"]),
|
42 |
+
"img" : resizeImg(img),
|
43 |
+
"img_" : resizeImg(img_)
|
44 |
+
}
|
45 |
+
#r = requests.post("https://flagstudio.baai.ac.cn/painter/run", json = files)
|
46 |
+
r = requests.post("http://120.92.79.209/painter/run", json = files)
|
47 |
+
a = json.loads(r.text)
|
48 |
+
res = []
|
49 |
+
for i in range(len(a)):
|
50 |
+
#out = Image.open(io.BytesIO(base64.b64decode(a[i])))
|
51 |
+
#out = out.resize((224, 224))
|
52 |
+
#res.append(np.uint8(np.array(out)))
|
53 |
+
res.append(np.uint8(np.array(Image.open(io.BytesIO(base64.b64decode(a[i]))))))
|
54 |
+
return res
|
55 |
+
|
56 |
+
|
57 |
+
|
58 |
+
def inference_mask_video(
|
59 |
+
prompt,
|
60 |
+
vid,
|
61 |
+
request: gr.Request,
|
62 |
+
):
|
63 |
+
|
64 |
+
|
65 |
+
files = {
|
66 |
+
"pimage" : resizeImgIo(prompt["image"]),
|
67 |
+
"pmask" : resizeImgIo(prompt["mask"]),
|
68 |
+
"video" : open(vid, 'rb'),
|
69 |
+
}
|
70 |
+
r = requests.post("http://120.92.79.209/painter/runVideo", files = files)
|
71 |
+
'''
|
72 |
+
path = str(uuid.uuid4()) + "." + str(time.time())
|
73 |
+
fName = 'out.mp4'
|
74 |
+
file_out = "video/" + path + "." + fName
|
75 |
+
with open(file_out,"wb") as f:
|
76 |
+
f.write(r.content)
|
77 |
+
'''
|
78 |
+
a = json.loads(r.text)
|
79 |
+
return [np.uint8(np.array(Image.open(io.BytesIO(base64.b64decode(a["mask"]))))), a["url"]]
|
80 |
+
|
81 |
+
|
82 |
+
def resizeImg(img):
|
83 |
+
res, hres = 448, 448
|
84 |
+
img = Image.fromarray(img).convert("RGB")
|
85 |
+
img = img.resize((res, hres))
|
86 |
+
temp = io.BytesIO()
|
87 |
+
img.save(temp, format="WEBP")
|
88 |
+
return base64.b64encode(temp.getvalue()).decode('ascii')
|
89 |
+
|
90 |
+
def resizeImgIo(img):
|
91 |
+
res, hres = 448, 448
|
92 |
+
img = Image.fromarray(img).convert("RGB")
|
93 |
+
img = img.resize((res, hres))
|
94 |
+
temp = io.BytesIO()
|
95 |
+
img.save(temp, format="WEBP")
|
96 |
+
return io.BytesIO(temp.getvalue())
|
97 |
+
|
98 |
+
|
99 |
+
# define app features and run
|
100 |
+
|
101 |
+
examples = [
|
102 |
+
['./images/hmbb_1.jpg', './images/hmbb_2.jpg', './images/hmbb_3.jpg'],
|
103 |
+
['./images/rainbow_1.jpg', './images/rainbow_2.jpg', './images/rainbow_3.jpg'],
|
104 |
+
['./images/earth_1.jpg', './images/earth_2.jpg', './images/earth_3.jpg'],
|
105 |
+
['./images/obj_1.jpg', './images/obj_2.jpg', './images/obj_3.jpg'],
|
106 |
+
['./images/ydt_2.jpg', './images/ydt_1.jpg', './images/ydt_3.jpg'],
|
107 |
+
]
|
108 |
+
|
109 |
+
examples_sam = [
|
110 |
+
['./images/nc_1.jpg', './images/nc_2.jpg', './images/nc_3.jpg'],
|
111 |
+
['./images/street_1.jpg', './images/street_2.jpg', './images/street_3.jpg'],
|
112 |
+
['./images/hmbb_1.jpg', './images/hmbb_2.jpg', './images/hmbb_3.jpg'],
|
113 |
+
['./images/earth_1.jpg', './images/earth_2.jpg', './images/earth_3.jpg'],
|
114 |
+
['./images/ydt_2.jpg', './images/ydt_1.jpg', './images/ydt_3.jpg'],
|
115 |
+
]
|
116 |
+
|
117 |
+
examples_video = [
|
118 |
+
['./videos/horse-running.jpg', './videos/horse-running.mp4'],
|
119 |
+
['./videos/a_man_is_surfing_3_30.jpg', './videos/a_man_is_surfing_3_30.mp4'],
|
120 |
+
['./videos/a_car_is_moving_on_the_road_40.jpg', './videos/a_car_is_moving_on_the_road_40.mp4'],
|
121 |
+
['./videos/jeep-moving.jpg', './videos/jeep-moving.mp4'],
|
122 |
+
['./videos/child-riding_lego.jpg', './videos/child-riding_lego.mp4'],
|
123 |
+
]
|
124 |
+
|
125 |
+
|
126 |
+
|
127 |
+
demo_mask = gr.Interface(fn=inference_mask1,
|
128 |
+
inputs=[gr.ImageMask(brush_radius=8, label="prompt (提示图)"), gr.Image(label="img1 (测试图1)"), gr.Image(label="img2 (测试图2)")],
|
129 |
+
#outputs=[gr.Image(shape=(448, 448), label="output1 (输出图1)"), gr.Image(shape=(448, 448), label="output2 (输出图2)")],
|
130 |
+
outputs=[gr.Image(label="output1 (输出图1)").style(height=256, width=256), gr.Image(label="output2 (输出图2)").style(height=256, width=256)],
|
131 |
+
#outputs=gr.Gallery(label="outputs (输出图)"),
|
132 |
+
examples=examples,
|
133 |
+
#title="SegGPT for Any Segmentation<br>(Painter Inside)",
|
134 |
+
description="<p> \
|
135 |
+
Choose an example below 🔥 🔥 🔥 <br>\
|
136 |
+
Or, upload by yourself: <br>\
|
137 |
+
1. Upload images to be tested to 'img1' and/or 'img2'. <br>2. Upload a prompt image to 'prompt' and draw a mask. <br>\
|
138 |
+
<br> \
|
139 |
+
💎 The more accurate you annotate, the more accurate the model predicts. <br>\
|
140 |
+
💎 Examples below were never trained and are randomly selected for testing in the wild. <br>\
|
141 |
+
💎 Current UI interface only unleashes a small part of the capabilities of SegGPT, i.e., 1-shot case. \
|
142 |
+
</p>",
|
143 |
+
cache_examples=False,
|
144 |
+
allow_flagging="never",
|
145 |
+
)
|
146 |
+
|
147 |
+
|
148 |
+
|
149 |
+
demo_mask_sam = gr.Interface(fn=inference_mask1_sam,
|
150 |
+
inputs=[gr.ImageMask(brush_radius=4, label="prompt (提示图)"), gr.Image(label="img1 (测试图1)"), gr.Image(label="img2 (测试图2)")],
|
151 |
+
#outputs=[gr.Image(shape=(448, 448), label="output1 (输出图1)"), gr.Image(shape=(448, 448), label="output2 (输出图2)")],
|
152 |
+
# outputs=[gr.Image(label="output1 (输出图1)").style(height=256, width=256), gr.Image(label="output2 (输出图2)").style(height=256, width=256)],
|
153 |
+
#outputs=gr.Gallery(label="outputs (输出图)"),
|
154 |
+
outputs=[gr.Image(label="SAM output (mask)").style(height=256, width=256),gr.Image(label="output1 (输出图1)").style(height=256, width=256), gr.Image(label="output2 (输出图2)").style(height=256, width=256)],
|
155 |
+
# outputs=[gr.Image(label="output3 (输出图1)").style(height=256, width=256), gr.Image(label="output4 (输出图2)").style(height=256, width=256)],
|
156 |
+
examples=examples_sam,
|
157 |
+
#title="SegGPT for Any Segmentation<br>(Painter Inside)",
|
158 |
+
description="<p> \
|
159 |
+
<strong>SAM+SegGPT: One touch for segmentation in all images or videos.</strong> <br>\
|
160 |
+
Choose an example below 🔥 🔥 🔥 <br>\
|
161 |
+
Or, upload by yourself: <br>\
|
162 |
+
1. Upload images to be tested to 'img1' and 'img2'. <br>2. Upload a prompt image to 'prompt' and draw <strong>a point or line on the target</strong>. <br>\
|
163 |
+
<br> \
|
164 |
+
💎 SAM segments the target with any point or scribble, then SegGPT segments all other images. <br>\
|
165 |
+
💎 Examples below were never trained and are randomly selected for testing in the wild. <br>\
|
166 |
+
💎 Current UI interface only unleashes a small part of the capabilities of SegGPT, i.e., 1-shot case. \
|
167 |
+
</p>",
|
168 |
+
cache_examples=False,
|
169 |
+
allow_flagging="never",
|
170 |
+
)
|
171 |
+
|
172 |
+
demo_mask_video = gr.Interface(fn=inference_mask_video,
|
173 |
+
inputs=[gr.ImageMask(label="prompt (提示图)"), gr.Video(label="video (测试视频)").style(height=448, width=448)],
|
174 |
+
outputs=[gr.Image(label="SAM output (mask)").style(height=256, width=256), gr.Video().style(height=448, width=448)],
|
175 |
+
examples=examples_video,
|
176 |
+
description="<p> \
|
177 |
+
<strong>SegGPT+SAM: One touch for any segmentation in a video.</strong> <br>\
|
178 |
+
Choose an example below 🔥 🔥 🔥 <br>\
|
179 |
+
Or, upload by yourself: <br>\
|
180 |
+
1. Upload a video to be tested to 'video'. If failed, please check the codec, we recommend h.264 by default. <br>2. Upload a prompt image to 'prompt' and draw <strong>a point or line on the target</strong>. <br>\
|
181 |
+
<br> \
|
182 |
+
💎 SAM segments the target with any point or scribble, then SegGPT segments the whole video. <br>\
|
183 |
+
💎 Examples below were never trained and are randomly selected for testing in the wild. <br>\
|
184 |
+
💎 Current UI interface only unleashes a small part of the capabilities of SegGPT, i.e., 1-shot case. <br> \
|
185 |
+
Note: we only take the first 16 frames for the demo. \
|
186 |
+
</p>",
|
187 |
+
cache_examples=False,
|
188 |
+
allow_flagging="never",
|
189 |
+
)
|
190 |
+
|
191 |
+
|
192 |
+
|
193 |
+
|
194 |
+
title = "SegGPT: Segmenting Everything In Context<br> \
|
195 |
+
<div align='center'> \
|
196 |
+
<h2><a href='https://arxiv.org/abs/2304.03284' target='_blank' rel='noopener'>[paper]</a> \
|
197 |
+
<a href='https://github.com/baaivision/Painter' target='_blank' rel='noopener'>[code]</a></h2> \
|
198 |
+
<br> \
|
199 |
+
<image src='file/rainbow2.gif' width='720px' /> \
|
200 |
+
<h2>SegGPT performs arbitrary segmentation tasks in images or videos via in-context inference, such as object instance, stuff, part, contour, and text, with only one single model.</h2> \
|
201 |
+
</div> \
|
202 |
+
"
|
203 |
+
|
204 |
+
demo = gr.TabbedInterface([demo_mask_sam, demo_mask_video, demo_mask], ['SAM+SegGPT (一触百通)', '🎬Anything in a Video', 'General 1-shot'], title=title)
|
205 |
+
|
206 |
+
#demo.launch(share=True, auth=("baai", "vision"))
|
207 |
+
demo.launch(enable_queue=False)
|
208 |
+
#demo.launch(server_name="0.0.0.0", server_port=34311)
|
209 |
+
# -
|
210 |
+
|
211 |
+
|
images/earth_1.jpg
ADDED
![]() |
images/earth_2.jpg
ADDED
![]() |
images/earth_3.jpg
ADDED
![]() |
images/hmbb_1.jpg
ADDED
![]() |
images/hmbb_2.jpg
ADDED
![]() |
images/hmbb_3.jpg
ADDED
![]() |
images/nc_1.jpg
ADDED
![]() |
images/nc_2.jpg
ADDED
![]() |
images/nc_3.jpg
ADDED
![]() |
images/obj_1.jpg
ADDED
![]() |
images/obj_2.jpg
ADDED
![]() |
images/obj_3.jpg
ADDED
![]() |
images/rainbow_1.jpg
ADDED
![]() |
images/rainbow_2.jpg
ADDED
![]() |
images/rainbow_3.jpg
ADDED
![]() |
images/street_1.jpg
ADDED
![]() |
images/street_2.jpg
ADDED
![]() |
images/street_3.jpg
ADDED
![]() |
images/tom_1.jpg
ADDED
![]() |
images/tom_2.jpg
ADDED
![]() |
images/tom_3.jpg
ADDED
![]() |
images/xray_1.jpg
ADDED
![]() |
images/xray_2.jpg
ADDED
![]() |
images/xray_3.jpg
ADDED
![]() |
images/ydt_1.jpg
ADDED
![]() |
images/ydt_2.jpg
ADDED
![]() |
images/ydt_3.jpg
ADDED
![]() |
rainbow2.gif
ADDED
![]() |
Git LFS Details
|
seggpt_teaser.png
ADDED
![]() |
videos/.DS_Store
ADDED
Binary file (6.15 kB). View file
|
|
videos/a_car_is_moving_on_the_road_40.jpg
ADDED
![]() |
Git LFS Details
|
videos/a_car_is_moving_on_the_road_40.mp4
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:5e69783eed3294b0a76c147d46ce8705a46c21ae4122edc0fd9a2b57ee453954
|
3 |
+
size 248227
|
videos/a_man_in_parkour_100.jpg
ADDED
![]() |
Git LFS Details
|
videos/a_man_in_parkour_100.mp4
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:dda65f31336de9f9ed607fe60443164a8529b98d949b7cb8e068a2245352e2e3
|
3 |
+
size 1020054
|
videos/a_man_is_surfing_3_30.jpg
ADDED
![]() |
Git LFS Details
|
videos/a_man_is_surfing_3_30.mp4
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:73633b80752cefe0e68fb3bf6d1117d5bc1c094c4198c871beb7b59c6856f2f7
|
3 |
+
size 301229
|
videos/child-riding_lego.jpg
ADDED
![]() |
Git LFS Details
|
videos/child-riding_lego.mp4
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:24a9ffd1a3a430851bb864f3fe1da4e84aed8d9694aea42d1f1578e7ef4818b4
|
3 |
+
size 117189
|
videos/horse-running.jpg
ADDED
![]() |
Git LFS Details
|
videos/horse-running.mp4
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:dfd8b6c99776f291bf4c8787721387d8764c85b787741c665dee49dfb6442630
|
3 |
+
size 383635
|
videos/jeep-moving.jpg
ADDED
![]() |
Git LFS Details
|
videos/jeep-moving.mp4
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:92c2b38d7c52d8a19be7aa7f568d1d07b5fc433cbd369f45e028325230ad76ba
|
3 |
+
size 150698
|