Cómo manejar una imagen de diferentes tamaños en una red convolucional de MatConvNet con un contenedor DagNN

Este es un proceso bastante general para todas las redes neuronales convolucionales. Cambia el tamaño de la imagen de entrada al tamaño especificado antes de pasarla por la red. Esto es parte de la etapa de preprocesamiento.

Una forma sencilla de hacerlo es cambiar el tamaño del lado más corto de una imagen a 256 manteniendo la relación de aspecto y recortar la región central de tamaño 256 * 256 (recuerde que el lado más largo sería> 256, por lo que debe recortar a lo largo de este eje). La imagen final mantiene la relación de aspecto de la imagen original. Otra forma más simple es cambiar el tamaño de la imagen a 256 * 256, pero se pierde la relación de aspecto al hacer esto.

Existen otros métodos que generan 10 o más imágenes de una sola imagen y las utilizan para el entrenamiento (aumento de imagen), pero lo mencionado anteriormente debería ser suficiente.

Las redes neuronales funcionan mejor cuando las imágenes son del mismo tamaño, preferiblemente de forma cuadrada, con la normalización y otros pasos de preprocesamiento realizados.

La mayoría de los libros y las preguntas relacionadas explican en detalle cómo hacerlo (ver más abajo de stackexchange)

resized_image = cv2.resize (imagen, (100, 50))

small = scipy.misc.imresize (imagen, 0.5)

More Interesting

¿Por qué la regresión logística es generalmente resistente al sobreajuste en el aprendizaje automático?

¿Por qué se supera un clasificador supervisado?

¿Importa el número de imágenes para cada categoría mientras se entrena para una red neuronal convolucional?

¿Es el cerebro humano una gran red neuronal o está formado por muchas redes neuronales más pequeñas?

¿Cuál es la segunda generación de redes neuronales?

¿Cuál es el mejor clasificador que puedo usar en 'Reconocimiento facial en tiempo real' después de extraer funciones usando 'Alexnet'?

¿Cuáles son algunas falacias o errores comunes cometidos por los principiantes en estadística, aprendizaje automático y análisis de datos?

¿Hay alguna diferencia entre el algoritmo de retropropagación utilizado en la etapa de ajuste fino del autoencoder y el algoritmo típico de retropropagación?

Cómo calcular el gradiente W en una red neuronal

¿A quién demuestra que los núcleos radiales son núcleos válidos? ¿Cómo se muestra esto mediante la integración de características?

¿Cuáles son las buenas formas de combinar dos salidas de un clasificador?

Cómo descargar el conjunto de datos para el resumen de texto extractivo

¿Existe algún algoritmo específico para prevenir un ataque DDoS?

Cómo aprender los conceptos básicos del aprendizaje automático dentro de una semana para una entrevista de trabajo

¿Scikit-learn admite paralelismo, es decir, se puede usar en un grupo de máquinas que ejecutan tareas en paralelo?