29 votos

¿Afecta el formato de la imagen (png, jpg, gif) al entrenamiento de una red neuronal de reconocimiento de imágenes?

Soy consciente de que ha habido muchos avances en cuanto a reconocimiento de imágenes, clasificación de imágenes, etc. con redes neuronales profundas y convolucionales.

Pero si entreno una red en, digamos, imágenes PNG, ¿se sólo funcionan para imágenes así codificadas? Qué otras propiedades de la imagen ¿afectan a esto? (¿canal alfa, entrelazado, resolución, etc.?)

3 votos

No tengo suficiente experiencia con las estadísticas de las imágenes para dar una respuesta segura, pero supongo que los distintos modelos utilizan esquemas completamente diferentes para codificar las imágenes en características, algunas de las cuales se verán afectadas por la compresión JPEG con pérdidas, los canales alfa, etc., y otras no, siendo los detalles específicos del modelo. Sé que existen modelos que tratan cada píxel como una característica y modelos que dividen las imágenes en regiones y utilizan las propiedades de las regiones como características.

0 votos

Qué ocurre cuando se entrena un modelo con imágenes PNG y se prueba con imágenes jpeg. El PNG tiene 4 canales de color, mientras que el jpeg sólo tiene 3. ¿Tendrá un gran efecto con respecto a su precisión en la clasificación?

25voto

Djib2011 Puntos 693

La respuesta corta es NO .

El formato en el que se codifica la imagen tiene que ver con su calidad. Las redes neuronales son esencialmente modelos matemáticos que realizan muchísimas operaciones (multiplicaciones de matrices, sumas de elementos y funciones de mapeo). Una red neuronal ve una Tensor como su entrada (es decir, un array multidimensional). Su forma suele ser 4-D (número de imágenes por lote, altura de la imagen, anchura de la imagen, número de canales).

Diferentes formatos de imagen (especialmente los que tienen pérdidas) pueden producir diferentes matrices de entrada, pero estrictamente hablando las redes neuronales ven matrices en su entrada, y NO imágenes.

10voto

Bobipuegi Puntos 131

Aunque la respuesta de Djib2011 es correcta, entiendo que tu pregunta se centra más en cómo la calidad/propiedades de la imagen afectan al aprendizaje de las redes neuronales en general. Hay poca investigación sobre este tema (según parece), pero puede que haya más investigación al respecto en el futuro. Sólo he encontrado este artículo sobre ello. El problema en este momento es que esto es más un problema que aparece en las aplicaciones prácticas y menos en un campo de investigación académica. Recuerdo un podcast actual en el que los investigadores observaron que incluso la cámara con la que se tomaba la foto podía tener un gran efecto.

0 votos

¿Podría indicarme el podcast, por favor?

0 votos

Es un episodio de una hora de "máquinas parlantes", en el que tienen una discusión con un investigador que practica el aprendizaje automático en África (aprox. de la mitad al final) Enlace de iTunes: itunes.apple.com/de/podcast/talking-machines/

3voto

user39770 Puntos 9

Esta es una réplica de la primera respuesta de Djib2011. La respuesta corta tiene que ser no. Más larga: en primer lugar, las fotos siempre se codifican como un tensor, de la siguiente manera. Una imagen es un número de píxeles. Si se considera que la foto tiene m filas y n columnas, cada píxel se especifica por su ubicación en la fila y la columna, es decir, por el par (m,n). En concreto, hay m*n píxeles, que es muy grande incluso para las fotos "pequeñas". Cada píxel de la foto está codificado por un número entre cero y uno (intensidad de la negrura) si la foto es en blanco y negro. Se codifica con tres números (intensidades RGB) si la foto es en color. Por lo tanto, se obtiene un tensor que es un 1xmxn o un 3xmxn. El reconocimiento de imágenes se realiza mediante CNN que, aprovechando que las fotos no cambian tanto de un píxel a otro, se convierte en un tensor, comprimir los datos mediante filtros y agrupaciones. La cuestión es que las CNN funcionan comprimiendo un número increíblemente grande de puntos de datos (o características) de una foto en un número menor de valores. Así que, sea cual sea el formato con el que se empiece, las CNN comienzan comprimiendo aún más los datos de la foto. De ahí la independencia per se del tamaño de la representación de la foto.
Sin embargo, una CNN exigirá que todas las imágenes que pasen por ella tengan el mismo tamaño. Por lo tanto, esa dependencia cambiará en función de cómo se guarde la imagen. Además, en la medida en que diferentes formatos de archivo del mismo tamaño producen valores diferentes para sus tensores, no se puede utilizar el mismo modelo de CNN para identificar fotos almacenadas por diferentes métodos.

0voto

Birkhoff Puntos 26

Aunque los cambios en la cámara o en la compresión de la imagen después del entrenamiento pueden ser graves, si es la misma, el problema es mucho menor. Por supuesto, con imágenes más ruidosas el rendimiento es menor, pero nunca he oído que la compresión JPEG estándar suponga una gran diferencia. Pero dependerá de la aplicación.

Si cambias las cosas después del entrenamiento, depende mucho. Por ejemplo, para algunas redes cambiar la resolución no funciona en absoluto. Para otras es posible. Es algo muy específico de la red. En general, cualquier cambio (incluso la lente, la iluminación, el fondo, etc.) debe evaluarse y debe incluirse en el entrenamiento desde una perspectiva teórica.

En general, no es buena idea tener datos de entrenamiento que sean cualitativamente diferentes. Si quiere clasificar PNG y JPG, lo mejor sería entrenar también con ambos. Lo mismo para otras propiedades de la imagen.

Una CNN no puede extrapolar, normalmente sólo trabaja dentro del espacio del conjunto de entrenamiento. Otros modelos pueden hacerlo, como los modelos basados en reglas.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X