import gradio as gr from segment_anything import SamAutomaticMaskGenerator, sam_model_registry import supervision as sv from inference import DepthPredictor, SegmentPredictor from utils import create_3d_obj, create_3d_pc import numpy as np def snap(image, video): depth_predictor = DepthPredictor() depth_result = depth_predictor.predict(image) gltf_path = create_3d_pc(np.array(image), depth_result) #segment_predictor = SegmentPredictor() #sam_result = segment_predictor.predict(image) return [image, gltf_path, gltf_path]#[depth_result, gltf_path, gltf_path] demo = gr.Interface( snap, inputs=[gr.Image(source="webcam", tool=None, type="pil"), gr.Video(source="webcam")], outputs=[gr.Image(label="predicted depth", type="pil"), gr.Model3D(label="3d mesh reconstruction", clear_color=[1.0, 1.0, 1.0, 1.0]), gr.File(label="3d gLTF")] ) if __name__ == "__main__": demo.launch()