Me enfrento al problema de tener imágenes de diferentes dimensiones como entradas en una tarea de segmentación. Tenga en cuenta que las imágenes ni siquiera tienen la misma relación de aspecto.
Un enfoque común que encontré en general en el aprendizaje profundo es recortar las imágenes, como también se sugiere aquí . Sin embargo, en mi caso no puedo recortar la imagen y mantener su centro o algo similar ya que en la segmentación quiero que la salida tenga las mismas dimensiones que la entrada.
Este documento sugiere que en una tarea de segmentación se puede alimentar la misma imagen varias veces a la red pero con una escala diferente y luego agregar los resultados. Si entiendo este enfoque correctamente, solo funcionaría si todas las imágenes de entrada tienen la misma relación de aspecto. Por favor, corríjame si estoy equivocado.
Otra alternativa sería simplemente cambiar el tamaño de cada imagen a dimensiones fijas. Creo que esto también fue propuesto por la respuesta a esta pregunta. Sin embargo, no se especifica de qué manera se redimensionan las imágenes.
Pensé en tomar el ancho y la altura máximos en el conjunto de datos y cambiar el tamaño de todas las imágenes a ese tamaño fijo en un intento por evitar la pérdida de información. Sin embargo, creo que nuestra red podría tener dificultades con las imágenes distorsionadas, ya que los bordes de una imagen podrían no ser claros. ¿Cuál es posiblemente la mejor manera de cambiar el tamaño de sus imágenes antes de alimentarlas a la red?
¿Hay alguna otra opción que no conozco para resolver el problema de tener imágenes de diferentes dimensiones?
Además, ¿cuál de estos enfoques cree que es el mejor teniendo en cuenta la complejidad computacional pero también la posible pérdida de rendimiento por parte de la red?
Le agradecería si las respuestas a mis preguntas incluyen algún enlace a una fuente si hay una. Gracias.
Creo que este documento tendrá ideas útiles para usted.
fuente
Como desea realizar la segmentación, puede usar U-Net. No tiene unidades completamente conectadas. Por lo tanto, el tamaño de la entrada no importará.
fuente
Creo que puede cambiar el tamaño de píxeles de su imagen y convertir rgb a binario o entero para el siguiente paso
fuente
Intente cambiar el tamaño de la imagen a las dimensiones de entrada de su arquitectura de red neuronal (manteniéndola fija en algo así como 128 * 128 en una arquitectura estándar de U-net 2D) utilizando la interpolación de vecino más cercano técnica de . Esto se debe a que si cambia el tamaño de su imagen utilizando cualquier otra interpolación, puede alterar las etiquetas de verdad del terreno. Esto es particularmente un problema en la segmentación. No se enfrentará a ese problema cuando se trata de clasificación.
Intenta lo siguiente:
fuente