Spaces:
Sleeping
Sleeping
import gradio as gr | |
from PIL import Image | |
import numpy as np | |
from seg_llm_function import chat_seg_model | |
from llm_function import chat_claude , prompt | |
def final_func(img1 , img2) : | |
llm_resp = chat_claude(prompt , img1 , img2) | |
seg_resp = chat_seg_model(img1 , img2) | |
return llm_resp , seg_resp | |
# def process_image(image1 , image2): | |
# # Convert the input to a PIL Image object if it's not already | |
# if isinstance(image, str): | |
# image = Image.open(image) | |
# # Resize the image to fit within a 400x400 pixel box while maintaining aspect ratio | |
# max_size = 400 | |
# width, height = image.size | |
# new_width = min(width, max_size) | |
# new_height = int(max_size * height / width) | |
# image = image.resize((new_width, new_height)) | |
# # Convert the image back to a numpy array for Gradio output | |
# return np.array(image) | |
from ultralytics import YOLO | |
# 1. Load a YOLOv8 segmentation model (pre-trained weights) | |
model = YOLO("best.pt") | |
def display_image(img1 , img2) : | |
# if isinstance(img1 , img2 , str) : | |
image1 = Image.open(img1) | |
# if isinstance(img2 , str) : | |
image2 = Image.open(img2) | |
return image1 , image2 | |
gr.Interface( | |
fn=final_func, | |
inputs=[gr.Image(type="filepath" , interactive = True), gr.Image(type="filepath" , interactive = True)], | |
# outputs=[gr.Image(), gr.Image()], | |
# outputs = ["text" , "text"] , | |
outputs = [gr.Markdown(label = "##VLM" , show_copy_button = True, container = True , height = 300) , gr.Markdown(label = "##SEG-VLM" , show_copy_button = True , container = True , height = 300)], | |
title="Blueprint Comparison : VLM & SEG-VLM", | |
description="Upload two construstion blueprints to know differences between them." , | |
flagging_mode = "never", | |
fill_width = True , | |
submit_btn = "Compare", | |
show_progress = "full", | |
theme = "soft", | |
analytics_enabled = True | |
).launch(pwa = True , share = True) | |