Spaces:
Running
on
Zero
Running
on
Zero
fix: generate_mesh
Browse files
app.py
CHANGED
@@ -177,7 +177,7 @@ def _default_render_cameras(batch_size: int = 1):
|
|
177 |
return render_cameras.unsqueeze(0).repeat(batch_size, 1, 1)
|
178 |
|
179 |
@spaces.GPU
|
180 |
-
def generate_mesh(image, source_size=512, render_size=384, mesh_size=512, export_mesh=False, export_video=
|
181 |
image = preprocess_image(image, source_size).to(model_wrapper.device)
|
182 |
source_camera = _default_source_camera(batch_size=1).to(model_wrapper.device)
|
183 |
|
@@ -196,7 +196,7 @@ def generate_mesh(image, source_size=512, render_size=384, mesh_size=512, export
|
|
196 |
mesh_path = "xiaoxis_mesh.obj"
|
197 |
mesh.export(mesh_path, 'obj')
|
198 |
|
199 |
-
return
|
200 |
|
201 |
if export_video:
|
202 |
render_cameras = _default_render_cameras(batch_size=1).to(model_wrapper.device)
|
@@ -220,25 +220,24 @@ def generate_mesh(image, source_size=512, render_size=384, mesh_size=512, export
|
|
220 |
video_path = "xiaoxis_video.mp4"
|
221 |
imageio.mimwrite(video_path, frames, fps=fps)
|
222 |
|
223 |
-
return
|
|
|
|
|
224 |
|
225 |
return None, None
|
226 |
|
227 |
def step_1_generate_planes(image):
|
228 |
-
planes_path = generate_mesh(image)
|
229 |
return planes_path
|
230 |
|
231 |
def step_2_generate_obj(image):
|
232 |
-
|
233 |
return mesh_path, mesh_path
|
234 |
|
235 |
def step_3_generate_video(image):
|
236 |
_, video_path = generate_mesh(image, export_video=True)
|
237 |
return video_path
|
238 |
|
239 |
-
def step_4_display_3d_model(mesh_file):
|
240 |
-
return mesh_file
|
241 |
-
|
242 |
# 从 assets 文件夹中设置示例文件,并限制最多读取 10 个文件
|
243 |
example_folder = "assets"
|
244 |
examples = [os.path.join(example_folder, f) for f in os.listdir(example_folder) if f.endswith(('.png', '.jpg', '.jpeg', '.webp'))][:10]
|
|
|
177 |
return render_cameras.unsqueeze(0).repeat(batch_size, 1, 1)
|
178 |
|
179 |
@spaces.GPU
|
180 |
+
def generate_mesh(image, source_size=512, render_size=384, mesh_size=512, export_mesh=False, export_video=False, fps=30):
|
181 |
image = preprocess_image(image, source_size).to(model_wrapper.device)
|
182 |
source_camera = _default_source_camera(batch_size=1).to(model_wrapper.device)
|
183 |
|
|
|
196 |
mesh_path = "xiaoxis_mesh.obj"
|
197 |
mesh.export(mesh_path, 'obj')
|
198 |
|
199 |
+
return planes, mesh_path
|
200 |
|
201 |
if export_video:
|
202 |
render_cameras = _default_render_cameras(batch_size=1).to(model_wrapper.device)
|
|
|
220 |
video_path = "xiaoxis_video.mp4"
|
221 |
imageio.mimwrite(video_path, frames, fps=fps)
|
222 |
|
223 |
+
return planes, video_path
|
224 |
+
|
225 |
+
return planes, None
|
226 |
|
227 |
return None, None
|
228 |
|
229 |
def step_1_generate_planes(image):
|
230 |
+
planes_path, _ = generate_mesh(image)
|
231 |
return planes_path
|
232 |
|
233 |
def step_2_generate_obj(image):
|
234 |
+
_, mesh_path = generate_mesh(image, export_mesh=True)
|
235 |
return mesh_path, mesh_path
|
236 |
|
237 |
def step_3_generate_video(image):
|
238 |
_, video_path = generate_mesh(image, export_video=True)
|
239 |
return video_path
|
240 |
|
|
|
|
|
|
|
241 |
# 从 assets 文件夹中设置示例文件,并限制最多读取 10 个文件
|
242 |
example_folder = "assets"
|
243 |
examples = [os.path.join(example_folder, f) for f in os.listdir(example_folder) if f.endswith(('.png', '.jpg', '.jpeg', '.webp'))][:10]
|