Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Identificando objetos con MobileNetV2

Para el desarrollo de este ejercicio usamos Colab y partimos desde el código realizado en el video de de la presente unidad 01 Procesamiento de imágenes y CNN, se le pregunto a Luri como funcionaba el codigo de dicha unidad y usando la funcion autocompletar de COLAB dejamos que el codigo se completara y nos dio el siguiente resultado. se cargo una imagen de formas precolombianas lo que el modelo interpreto como packet

from tensorflow.keras.applications import MobileNetV2
from tensorflow.keras.applications.mobilenet_v2 import preprocess_input, decode_predictions
import cv2
import numpy as np
import matplotlib.pyplot as plt
from google.colab import files
from PIL import Image

# Realizar subida (upload) de la Imagen
uploaded = files.upload() # carga la imagena procesar
image_path = list(uploaded.keys())[0]

# Cargar la imagen en escala de grises
#imagen = cv2.imread(image_path, cv2.IMREAD_GRAYSCALE)

imagen = cv2.imread(image_path)
imagen_rgb = cv2.cvtColor(imagen, cv2.COLOR_BGR2RGB)

# Cargar el modelo MobileNetV2 pre-entrenado
modelo = MobileNetV2(weights="imagenet")

# Preprocesar la imagen para el formato esperado por el modelo
imagen_redimensionada = cv2.resize(imagen_rgb, (224, 224))
imagen_array = np.expand_dims(imagen_redimensionada, axis=0)
imagen_array = preprocess_input(imagen_array)

# Hacer la predicción
previsiones = modelo.predict(imagen_array)
label = decode_predictions(previsiones)

# Muestra la clase identificada
print("Objeto identificado:", label[0][0][1]) 

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

1 respuesta

Hola Fabián, espero que estés bien

Parece que el modelo MobileNetV2 identificó incorrectamente el objeto en tu imagen como "packet". Esto puede suceder por varias razones:

  1. Imagen no adecuada: Asegúrate de que la imagen tenga buena calidad y esté bien iluminada. Las imágenes borrosas o con poca luz pueden afectar la precisión.

  2. Preprocesamiento: Verifica que el preprocesamiento de la imagen sea correcto. Aunque tu código parece estar bien, asegúrate de que la imagen se redimensione correctamente y se procese con preprocess_input.

  3. Limitaciones del modelo: MobileNetV2 está entrenado en el conjunto de datos ImageNet, que tiene una cantidad limitada de clases. Si el objeto en tu imagen no está entre esas clases, el modelo puede hacer una predicción incorrecta.

  4. Prueba con otras imágenes: Intenta usar otras imágenes para ver si el problema persiste. Esto puede ayudarte a determinar si el problema es específico de la imagen que estás usando.

  5. Ajustes del modelo: Si tienes experiencia, podrías considerar ajustar el modelo con un conjunto de datos más específico para tus necesidades.

Espero que estas sugerencias te sean útiles. ¡Espero haber ayudado y buenos estudios!