Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -7,7 +7,7 @@ import tensorflow as tf
|
|
7 |
from tensorflow import keras
|
8 |
|
9 |
# Cargar el modelo entrenado
|
10 |
-
model1 = load_model('./isatron_v3.h5')
|
11 |
|
12 |
# Función para encontrar la última capa convolucional
|
13 |
def find_last_conv_layer(model):
|
@@ -67,19 +67,27 @@ def make_gradcam_heatmap(img_array, model, last_conv_layer_name, pred_index=None
|
|
67 |
heatmap = heatmap.numpy()
|
68 |
return heatmap
|
69 |
|
70 |
-
def overlay_heatmap(heatmap, img, alpha=0.
|
71 |
-
# Redimensionar mapa de calor al tamaño de la imagen
|
72 |
heatmap = cv2.resize(heatmap, (img.shape[1], img.shape[0]))
|
73 |
-
|
|
|
|
|
|
|
|
|
|
|
74 |
heatmap = np.uint8(255 * heatmap)
|
75 |
-
heatmap = cv2.applyColorMap(heatmap, cv2.
|
76 |
-
|
|
|
77 |
img = cv2.cvtColor(img, cv2.COLOR_RGB2BGR)
|
78 |
-
|
79 |
-
|
80 |
-
overlayed_img =
|
|
|
81 |
# Convertir de nuevo a RGB
|
82 |
overlayed_img = cv2.cvtColor(overlayed_img, cv2.COLOR_BGR2RGB)
|
|
|
83 |
return overlayed_img
|
84 |
|
85 |
def image_classifier1(img):
|
|
|
7 |
from tensorflow import keras
|
8 |
|
9 |
# Cargar el modelo entrenado
|
10 |
+
model1 = load_model('./isatron_v3.h5') # Cambiado a isatron_v3.h5
|
11 |
|
12 |
# Función para encontrar la última capa convolucional
|
13 |
def find_last_conv_layer(model):
|
|
|
67 |
heatmap = heatmap.numpy()
|
68 |
return heatmap
|
69 |
|
70 |
+
def overlay_heatmap(heatmap, img, alpha=0.3):
|
71 |
+
# Redimensionar el mapa de calor al tamaño de la imagen
|
72 |
heatmap = cv2.resize(heatmap, (img.shape[1], img.shape[0]))
|
73 |
+
|
74 |
+
# Aplicar un umbral al mapa de calor para resaltar solo las zonas importantes
|
75 |
+
threshold = 0.6 # Solo mostrar las áreas con alta activación
|
76 |
+
heatmap[heatmap < threshold] = 0
|
77 |
+
|
78 |
+
# Aplicar el colormap JET para mantener los colores, pero suavizar la superposición
|
79 |
heatmap = np.uint8(255 * heatmap)
|
80 |
+
heatmap = cv2.applyColorMap(heatmap, cv2.COLORMAP_JET)
|
81 |
+
|
82 |
+
# Convertir la imagen original a BGR para poder mezclar con el mapa de calor
|
83 |
img = cv2.cvtColor(img, cv2.COLOR_RGB2BGR)
|
84 |
+
|
85 |
+
# Superponer el mapa de calor en la imagen original
|
86 |
+
overlayed_img = cv2.addWeighted(heatmap, alpha, img, 1 - alpha, 0)
|
87 |
+
|
88 |
# Convertir de nuevo a RGB
|
89 |
overlayed_img = cv2.cvtColor(overlayed_img, cv2.COLOR_BGR2RGB)
|
90 |
+
|
91 |
return overlayed_img
|
92 |
|
93 |
def image_classifier1(img):
|