Spaces:
Running
on
Zero
Running
on
Zero
fix visualization
Browse files
app.py
CHANGED
@@ -26,7 +26,7 @@ model = model.to(device)
|
|
26 |
model.eval()
|
27 |
|
28 |
|
29 |
-
def resize_image(image_buffer, max_size=
|
30 |
with Image.fromarray(image_buffer) as img:
|
31 |
# Calculate the new size while maintaining aspect ratio
|
32 |
ratio = max_size / max(img.size)
|
@@ -109,27 +109,30 @@ def run_rerun(path_to_video):
|
|
109 |
|
110 |
temp_file = None
|
111 |
try:
|
112 |
-
|
|
|
113 |
|
114 |
depth, focal_length = predict_depth(temp_file)
|
115 |
|
116 |
-
# scale
|
117 |
-
|
118 |
-
|
119 |
-
)
|
120 |
|
121 |
rr.set_time_nanos("video_time", frame_timestamps_ns[i])
|
122 |
rr.log(
|
123 |
"world/camera/depth",
|
124 |
-
rr.DepthImage(depth, meter=1
|
125 |
)
|
126 |
|
127 |
rr.log(
|
128 |
"world/camera/frame",
|
129 |
rr.VideoFrameReference(
|
130 |
-
timestamp=rr.components.VideoTimestamp(
|
|
|
|
|
131 |
video_reference="world/video",
|
132 |
),
|
|
|
133 |
)
|
134 |
|
135 |
rr.log(
|
@@ -170,12 +173,20 @@ with gr.Blocks() as interface:
|
|
170 |
"""
|
171 |
# DepthPro Rerun Demo
|
172 |
|
173 |
-
[DepthPro](https://huggingface.co/apple/DepthPro) is a fast metric depth prediction model. Simply upload an image to predict its inverse depth map and focal length.
|
|
|
|
|
174 |
"""
|
175 |
)
|
176 |
with gr.Row():
|
177 |
with gr.Column(variant="compact"):
|
178 |
-
video = gr.Video(
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
visualize = gr.Button("Visualize ML Depth Pro")
|
180 |
with gr.Column():
|
181 |
viewer = Rerun(
|
|
|
26 |
model.eval()
|
27 |
|
28 |
|
29 |
+
def resize_image(image_buffer, max_size=256):
|
30 |
with Image.fromarray(image_buffer) as img:
|
31 |
# Calculate the new size while maintaining aspect ratio
|
32 |
ratio = max_size / max(img.size)
|
|
|
109 |
|
110 |
temp_file = None
|
111 |
try:
|
112 |
+
# Resize the image to make the inference faster
|
113 |
+
temp_file = resize_image(frame, max_size=256)
|
114 |
|
115 |
depth, focal_length = predict_depth(temp_file)
|
116 |
|
117 |
+
# find x and y scale factors, which can be applied to image
|
118 |
+
x_scale = depth.shape[1] / frame.shape[1]
|
119 |
+
y_scale = depth.shape[0] / frame.shape[0]
|
|
|
120 |
|
121 |
rr.set_time_nanos("video_time", frame_timestamps_ns[i])
|
122 |
rr.log(
|
123 |
"world/camera/depth",
|
124 |
+
rr.DepthImage(depth, meter=1),
|
125 |
)
|
126 |
|
127 |
rr.log(
|
128 |
"world/camera/frame",
|
129 |
rr.VideoFrameReference(
|
130 |
+
timestamp=rr.components.VideoTimestamp(
|
131 |
+
nanoseconds=frame_timestamps_ns[i]
|
132 |
+
),
|
133 |
video_reference="world/video",
|
134 |
),
|
135 |
+
rr.Transform3D(scale=(x_scale, y_scale, 1)),
|
136 |
)
|
137 |
|
138 |
rr.log(
|
|
|
173 |
"""
|
174 |
# DepthPro Rerun Demo
|
175 |
|
176 |
+
[DepthPro](https://huggingface.co/apple/DepthPro) is a fast metric depth prediction model. Simply upload an image to predict its inverse depth map and focal length.
|
177 |
+
|
178 |
+
High resolution videos will be automatically resized to 256x256 pixels, to speed up the inference and visualize multiple frames.
|
179 |
"""
|
180 |
)
|
181 |
with gr.Row():
|
182 |
with gr.Column(variant="compact"):
|
183 |
+
video = gr.Video(
|
184 |
+
format="mp4",
|
185 |
+
interactive=True,
|
186 |
+
label="Video",
|
187 |
+
include_audio=False,
|
188 |
+
max_length=10,
|
189 |
+
)
|
190 |
visualize = gr.Button("Visualize ML Depth Pro")
|
191 |
with gr.Column():
|
192 |
viewer = Rerun(
|