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):
|