Spaces:
Sleeping
Sleeping
File size: 1,788 Bytes
01f6bb0 16f4b98 be0cb7a |
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 |
import gradio as gr
from transformers import pipeline
from PIL import Image
import librosa
import numpy as np
import torch
from transformers import AutoProcessor, AutoModelForCausalLM
ic_processor = AutoProcessor.from_pretrained("microsoft/git-base")
ic_model = AutoModelForCausalLM.from_pretrained("microsoft/git-base")
def remove_background(image):
pipe = pipeline("image-segmentation", model="briaai/RMBG-1.4", trust_remote_code=True)
pillow_mask = pipe(image, return_mask = True)
pillow_image = pipe(image)
return pillow_image, predict(image)
def predict(image):
pixel_values = ic_processor(images=image, return_tensors="pt").pixel_values
text_ids = ic_model.generate(pixel_values=pixel_values, max_length=50)
text = ic_processor.batch_decode(text_ids, skip_special_tokens=True)[0]
return text
theme = gr.themes.Glass(
primary_hue="gray",
secondary_hue="green",
neutral_hue="gray",
)
with gr.Blocks(theme=theme) as app:
gr.Markdown('# Publicação de Produto')
gr.Markdown('Esta aplicação realiza de forma automática a preparação de um produto de e-commerce, removendo o fundo e gerando a descrição do produto a partir da imagem enviada.')
with gr.Row():
with gr.Column():
gr.Markdown('## Selecione a imagem a ser tratada')
imagem_in=gr.components.Image(type='pil')
with gr.Column():
gr.Markdown('## Imagem tratada')
imagem_out=gr.components.Image(type='pil', format='png')
gr.Markdown('## Descrição do anúncio da image, a partir da imagem enviada.')
destino_texto=gr.components.Textbox(value='')
botao=gr.Button('Gerar Anuncio')
botao.click(
fn=remove_background,
inputs=imagem_in,
outputs=[imagem_out, destino_texto]
)
app.launch(share=True) |