| import gradio as gr |
| import torch |
|
|
| from gradio_depth_pred import create_demo as create_depth_pred_demo |
| from gradio_im_to_3d import create_demo as create_im_to_3d_demo |
| from gradio_pano_to_3d import create_demo as create_pano_to_3d_demo |
|
|
|
|
| css = """ |
| #img-display-container { |
| max-height: 50vh; |
| } |
| #img-display-input { |
| max-height: 40vh; |
| } |
| #img-display-output { |
| max-height: 40vh; |
| } |
| |
| """ |
| DEVICE = 'cuda' if torch.cuda.is_available() else 'cpu' |
| model = torch.hub.load('isl-org/ZoeDepth', "ZoeD_N", pretrained=True).to(DEVICE).eval() |
|
|
| title = "# ZoeDepth" |
| description = """Official demo for **ZoeDepth: Zero-shot Transfer by Combining Relative and Metric Depth**. |
| |
| ZoeDepth is a deep learning model for metric depth estimation from a single image. |
| |
| Please refer to our [paper](https://arxiv.org/abs/2302.12288) or [github](https://github.com/isl-org/ZoeDepth) for more details.""" |
|
|
| with gr.Blocks(css=css) as demo: |
| gr.Markdown(title) |
| gr.Markdown(description) |
| with gr.Tab("Depth Prediction"): |
| create_depth_pred_demo(model) |
| with gr.Tab("Image to 3D"): |
| create_im_to_3d_demo(model) |
| with gr.Tab("360 Panorama to 3D"): |
| create_pano_to_3d_demo(model) |
|
|
| gr.HTML('''<br><br><br><center>You can duplicate this Space to skip the queue:<a href="https://huggingface.co/spaces/shariqfarooq/ZoeDepth?duplicate=true"><img src="https://bit.ly/3gLdBN6" alt="Duplicate Space"></a><br> |
| <p><img src="https://visitor-badge.glitch.me/badge?page_id=shariqfarooq.zoedepth_demo_hf" alt="visitors"></p></center>''') |
|
|
| if __name__ == '__main__': |
| demo.queue().launch() |