Commit
·
cc054b5
1
Parent(s):
1197127
bug fixes
Browse files
app.py
CHANGED
@@ -212,7 +212,10 @@ with gr.Blocks() as demo:
|
|
212 |
gr.Markdown("Note: Ensure that the input image is correctly pre-processed into a grey background, otherwise the results will be unpredictable.")
|
213 |
|
214 |
inputs = [
|
215 |
-
|
|
|
|
|
|
|
216 |
seed,
|
217 |
guidance_scale,
|
218 |
step,
|
@@ -221,17 +224,31 @@ with gr.Blocks() as demo:
|
|
221 |
image_output,
|
222 |
xyz_ouput,
|
223 |
output_model,
|
224 |
-
# output_obj,
|
225 |
]
|
226 |
|
227 |
-
|
228 |
-
|
229 |
-
fn=preprocess_image,
|
230 |
-
inputs=[image_input, background_choice, foreground_ratio, back_groud_color],
|
231 |
-
outputs=[processed_image],
|
232 |
-
).success(
|
233 |
-
fn=gen_image,
|
234 |
inputs=inputs,
|
235 |
outputs=outputs,
|
236 |
)
|
|
|
237 |
demo.queue().launch()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
212 |
gr.Markdown("Note: Ensure that the input image is correctly pre-processed into a grey background, otherwise the results will be unpredictable.")
|
213 |
|
214 |
inputs = [
|
215 |
+
image_input,
|
216 |
+
background_choice,
|
217 |
+
foreground_ratio,
|
218 |
+
back_groud_color,
|
219 |
seed,
|
220 |
guidance_scale,
|
221 |
step,
|
|
|
224 |
image_output,
|
225 |
xyz_ouput,
|
226 |
output_model,
|
|
|
227 |
]
|
228 |
|
229 |
+
text_button.click(
|
230 |
+
fn=process_and_generate,
|
|
|
|
|
|
|
|
|
|
|
231 |
inputs=inputs,
|
232 |
outputs=outputs,
|
233 |
)
|
234 |
+
|
235 |
demo.queue().launch()
|
236 |
+
|
237 |
+
def process_and_generate(input_image, background_choice, foreground_ratio, backgroud_color, seed, scale, step):
|
238 |
+
"""Process the input image and generate the 3D model in a single function"""
|
239 |
+
if input_image is None:
|
240 |
+
raise gr.Error("No image uploaded!")
|
241 |
+
|
242 |
+
# Preprocess the image
|
243 |
+
processed = preprocess_image(input_image, background_choice, foreground_ratio, backgroud_color)
|
244 |
+
|
245 |
+
# Generate the 3D model
|
246 |
+
pipeline.set_seed(seed)
|
247 |
+
rt_dict = pipeline(processed, scale=scale, step=step)
|
248 |
+
stage1_images = rt_dict["stage1_images"]
|
249 |
+
stage2_images = rt_dict["stage2_images"]
|
250 |
+
np_imgs = np.concatenate(stage1_images, 1)
|
251 |
+
np_xyzs = np.concatenate(stage2_images, 1)
|
252 |
+
|
253 |
+
glb_path = generate3d(model, np_imgs, np_xyzs, args.device)
|
254 |
+
return Image.fromarray(np_imgs), Image.fromarray(np_xyzs), glb_path
|