Spaces:
Running
on
Zero
Running
on
Zero
File size: 2,845 Bytes
184193d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
import os
import glob
import gradio as gr
from functools import partial
from PIL import Image
from .gradio_custommodel3d import CustomModel3D
from .gradio_customgs import CustomGS
def create_interface_views_to_scene(freesplatter_api):
example_root = 'examples/views_to_scene'
examples = []
for dir in os.listdir(example_root):
sample_dir = os.path.join(example_root, dir)
input_files = sorted(glob.glob(f'{sample_dir}/*.png')+glob.glob(f'{sample_dir}/*.jpg'))
examples.append(input_files)
var_dict = dict()
with gr.Blocks(analytics_enabled=False) as interface:
with gr.Row():
with gr.Column(scale=1):
with gr.Row():
var_dict['in_image_1'] = gr.Image(
label='Input image 1',
type='pil',
image_mode='RGB',
)
var_dict['in_image_2'] = gr.Image(
label='Input image 2',
type='pil',
image_mode='RGB',
)
with gr.Row(equal_height=False):
var_dict['run_btn'] = gr.Button('Reconstruct', variant='primary', scale=2)
with gr.Row():
var_dict['out_multiview'] = gr.Image(
label='Input views',
interactive=False,
visible=False,
)
gr.Examples(
examples=examples,
inputs=[var_dict['in_image_1'], var_dict['in_image_2']],
cache_examples=False,
label='Examples (click one of the rows below to start)',
examples_per_page=5,
)
with gr.Column(scale=1):
var_dict['out_pose'] = gr.Plot(
label='Estimated poses',
)
var_dict['out_gs_vis'] = CustomGS(
label='Output GS',
interactive=False,
height=320,
)
var_dict['out_video'] = gr.Video(
label='Output video',
interactive=False,
autoplay=True,
height=320,
)
var_dict['run_btn'].click(
fn=partial(freesplatter_api, cache_dir=interface.GRADIO_CACHE),
inputs=[var_dict['in_image_1'],
var_dict['in_image_2']],
outputs=[var_dict['out_multiview'], var_dict['out_gs_vis'], var_dict['out_video'], var_dict['out_pose']],
concurrency_id='default_group',
api_name='run_views_to_3d',
)
return interface, var_dict
|