File size: 1,130 Bytes
f2bcbc5
 
 
 
 
 
d0842ef
f2bcbc5
 
d0842ef
 
 
f2bcbc5
 
 
 
 
d0842ef
 
f2bcbc5
d0842ef
 
 
 
 
f2bcbc5
 
 
d0842ef
 
3af1e47
 
f2bcbc5
 
 
d0842ef
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
import gradio as gr
import numpy as np
from tensorflow.keras.models import load_model
from tensorflow.keras.losses import MeanSquaredError
from PIL import Image

# Cargar el modelo entrenado
model = load_model("autoencoder.h5", custom_objects={"mse": MeanSquaredError()})

# Umbral para detectar anomal铆as (ajustable)
THRESHOLD = 0.01

# Funci贸n de predicci贸n
def detectar_anomalia(imagen):
    imagen = imagen.convert("L").resize((64, 64))
    arr = np.array(imagen) / 255.0
    arr = arr.reshape((1, 64, 64, 1))

    reconstruido = model.predict(arr, verbose=0)
    error = np.mean((arr - reconstruido) ** 2)

    resultado = f"An贸mala" if error > THRESHOLD else "Normal"
    return resultado

# Crear la interfaz
demo = gr.Interface(
    fn=detectar_anomalia,
    inputs=gr.Image(type="pil", label="Sube una imagen para analizar"),
    outputs=gr.Label(label="Resultado"),
    examples=["anomalous.png", "normal.png"],
    title="Detecci贸n de Anomal铆as con Autoencoder (Keras)",
    description="Este Space utiliza un autoencoder entrenado con Keras para detectar anomal铆as en im谩genes de textiles.",
)

demo.launch()