Spaces:
Running on Zero
Running on Zero
Update app.py
Browse files
app.py
CHANGED
|
@@ -94,10 +94,18 @@ def step2_preprocess(state):
|
|
| 94 |
base_dir = state["base_dir"]
|
| 95 |
trimmed = state["trimmed_path"]
|
| 96 |
|
| 97 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 98 |
"python", "scripts/run_preprocessing.py",
|
| 99 |
"--video_or_images_path", trimmed
|
| 100 |
], check=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
|
|
|
|
|
|
|
|
|
|
|
|
| 101 |
|
| 102 |
crop_dir = os.path.join(base_dir, "cropped")
|
| 103 |
out = os.path.join(os.path.dirname(trimmed), f"crop_{session_id}.mp4")
|
|
@@ -110,11 +118,17 @@ def step3_normals(state):
|
|
| 110 |
session_id = state["session_id"]
|
| 111 |
base_dir = state["base_dir"]
|
| 112 |
|
| 113 |
-
|
|
|
|
|
|
|
| 114 |
"python", "scripts/network_inference.py",
|
| 115 |
"model.prediction_type=normals", f"video_name={session_id}"
|
| 116 |
], check=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
| 117 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 118 |
normals_dir = os.path.join(base_dir, "p3dmm", "normals")
|
| 119 |
out = os.path.join(os.path.dirname(state["trimmed_path"]), f"normals_{session_id}.mp4")
|
| 120 |
video = make_video_from_frames(normals_dir, out)
|
|
@@ -126,10 +140,16 @@ def step4_uv_map(state):
|
|
| 126 |
session_id = state["session_id"]
|
| 127 |
base_dir = state["base_dir"]
|
| 128 |
|
| 129 |
-
|
|
|
|
|
|
|
| 130 |
"python", "scripts/network_inference.py",
|
| 131 |
"model.prediction_type=uv_map", f"video_name={session_id}"
|
| 132 |
], check=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
|
|
|
|
|
|
|
|
|
|
|
|
| 133 |
|
| 134 |
uv_dir = os.path.join(base_dir, "p3dmm", "uv_map")
|
| 135 |
out = os.path.join(os.path.dirname(state["trimmed_path"]), f"uv_map_{session_id}.mp4")
|
|
@@ -151,7 +171,7 @@ def step5_track(state):
|
|
| 151 |
except subprocess.CalledProcessError as e:
|
| 152 |
# e.stdout contains everything
|
| 153 |
err = f"❌ Tracking failed (exit {e.returncode}).\n\n{e.stdout}"
|
| 154 |
-
|
| 155 |
|
| 156 |
# if we get here, it succeeded:
|
| 157 |
tracking_dir = os.path.join(os.environ["PIXEL3DMM_TRACKING_OUTPUT"], session_id, "frames")
|
|
|
|
| 94 |
base_dir = state["base_dir"]
|
| 95 |
trimmed = state["trimmed_path"]
|
| 96 |
|
| 97 |
+
|
| 98 |
+
|
| 99 |
+
try:
|
| 100 |
+
# capture both stdout & stderr
|
| 101 |
+
p = subprocess.run([
|
| 102 |
"python", "scripts/run_preprocessing.py",
|
| 103 |
"--video_or_images_path", trimmed
|
| 104 |
], check=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
| 105 |
+
except subprocess.CalledProcessError as e:
|
| 106 |
+
# e.stdout contains everything
|
| 107 |
+
err = f"❌ Preprocess failed (exit {e.returncode}).\n\n{e.stdout}"
|
| 108 |
+
raise RuntimeError(err)
|
| 109 |
|
| 110 |
crop_dir = os.path.join(base_dir, "cropped")
|
| 111 |
out = os.path.join(os.path.dirname(trimmed), f"crop_{session_id}.mp4")
|
|
|
|
| 118 |
session_id = state["session_id"]
|
| 119 |
base_dir = state["base_dir"]
|
| 120 |
|
| 121 |
+
try:
|
| 122 |
+
# capture both stdout & stderr
|
| 123 |
+
p = subprocess.run([
|
| 124 |
"python", "scripts/network_inference.py",
|
| 125 |
"model.prediction_type=normals", f"video_name={session_id}"
|
| 126 |
], check=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
| 127 |
+
except subprocess.CalledProcessError as e:
|
| 128 |
+
# e.stdout contains everything
|
| 129 |
+
err = f"❌ Normal map failed (exit {e.returncode}).\n\n{e.stdout}"
|
| 130 |
+
raise RuntimeError(err)
|
| 131 |
+
|
| 132 |
normals_dir = os.path.join(base_dir, "p3dmm", "normals")
|
| 133 |
out = os.path.join(os.path.dirname(state["trimmed_path"]), f"normals_{session_id}.mp4")
|
| 134 |
video = make_video_from_frames(normals_dir, out)
|
|
|
|
| 140 |
session_id = state["session_id"]
|
| 141 |
base_dir = state["base_dir"]
|
| 142 |
|
| 143 |
+
try:
|
| 144 |
+
# capture both stdout & stderr
|
| 145 |
+
p = subprocess.run([
|
| 146 |
"python", "scripts/network_inference.py",
|
| 147 |
"model.prediction_type=uv_map", f"video_name={session_id}"
|
| 148 |
], check=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
| 149 |
+
except subprocess.CalledProcessError as e:
|
| 150 |
+
# e.stdout contains everything
|
| 151 |
+
err = f"❌ UV map failed (exit {e.returncode}).\n\n{e.stdout}"
|
| 152 |
+
raise RuntimeError(err)
|
| 153 |
|
| 154 |
uv_dir = os.path.join(base_dir, "p3dmm", "uv_map")
|
| 155 |
out = os.path.join(os.path.dirname(state["trimmed_path"]), f"uv_map_{session_id}.mp4")
|
|
|
|
| 171 |
except subprocess.CalledProcessError as e:
|
| 172 |
# e.stdout contains everything
|
| 173 |
err = f"❌ Tracking failed (exit {e.returncode}).\n\n{e.stdout}"
|
| 174 |
+
raise RuntimeError(err)
|
| 175 |
|
| 176 |
# if we get here, it succeeded:
|
| 177 |
tracking_dir = os.path.join(os.environ["PIXEL3DMM_TRACKING_OUTPUT"], session_id, "frames")
|