Simulando el aumento de la distancia de la imagen

Tengo un conjunto de imágenes aéreas, pero no tengo información sobre la cámara original o la resolución angular de las fotos. Necesito de alguna manera disminuir la resolución de las imágenes de una manera que simule el aumento de la distancia. Primero intenté usar imresizela función de Matlab (con parámetros predeterminados) para diezmar las imágenes en varias escalas, pero ahora me pregunto si esta destrucción es o no la forma correcta de simular la distancia. No quiero que las imágenes se vean más claras de lo que realmente se verían si se aumentara la distancia entre la cámara y el sujeto.

Entonces, ¿alguien sabe si esta es una forma adecuada de simular la distancia o si hay una forma más realista de hacerlo?

Esto se lee como una pregunta x→y, ¿Cuál es el problema final que estás tratando de resolver?
Estoy construyendo clasificadores CNN y tratando de estimar el rendimiento a altitudes crecientes, pero solo tengo una altitud real en mis datos de imagen
CNN? (Asumiendo que en este contexto no es Cable News Network )
Lo siento, red neuronal convolucional. Creé una red neuronal que divide una gran imagen aérea en una cuadrícula y clasifica cada pieza de la cuadrícula como si contuviera una de N categorías/etiquetas diferentes. Me gustaría estimar la degradación del rendimiento (tasa de clasificación errónea) si la imagen se capturó a altitudes cada vez más altas sin tener que obtener nuevas imágenes para cada altitud.

Respuestas (2)

Para simular una imagen de resolución nativa en un rango de inclinación adecuado, debe comenzar con un original diezmado adecuadamente y luego simular la pérdida de nitidez. De lo contrario, simulará el GSD en su rango inclinado extendido en lugar del GRD. Dado que la mayoría de las ópticas de imágenes aéreas son telecéntricas, la distorsión y la pérdida de resolución de la lente son generalmente insensibles a la ampliación. Por lo tanto, solo necesita modelar las pérdidas en el sensor MTF y el MTF atmosférico .

Para aplicar la pérdida de MTF simulada, deberá calcular la MTF para una resolución de sensor seleccionada. Sugerencia: el ifov y el tamaño del sensor son directamente proporcionales con la distancia focal, por lo que simplemente puede adivinar dos variables para predecir la tercera y luego ajustar la altitud como desee para obtener una nueva relación GRD/GSD. El desenfoque que debe aplicar es la relación de GRD a GSD.

Hay dos formas de simular el desenfoque y cuál usar es una cuestión de experimentación con su software. Puede aplicar un desenfoque medio o gaussiano (o una combinación de ambos). Puede aplicar el desenfoque antes o después de cambiar el tamaño. Al cambiar el tamaño, asegúrese de especificar un método que no aumente la nitidez. Si está utilizando matlab, tiene la opción de llamar al método imresize(name,'method')Where que le permite especificar un kernel personalizado . Esto le permitiría aplicar desenfoque gaussiano o medio en el momento del cambio de tamaño.

Cuando el método es una matriz de celdas de dos elementos, define un núcleo de interpolación personalizado. La matriz de celdas tiene la forma {f,w}, donde f es un identificador de función para un kernel de interpolación personalizado y w es el ancho del kernel personalizado. f(x) debe ser cero fuera del intervalo -w/2 <= x < w/2. La función handle f se puede llamar con una entrada escalar o vectorial. Para núcleos de interpolación especificados por el usuario, la imagen de salida puede tener algunos valores ligeramente fuera del rango de valores de píxeles en la imagen de entrada.

Tenga en cuenta que, aunque mi respuesta aquí es correcta, está incompleta. Los sistemas de modelado de calidad de imagen de sensores remotos son complejos y generalmente propietarios. Para conocer los elementos más sutiles de la simulación de detección remota y el análisis de la cadena de imágenes, recomiendo Remote Sensing de Schott o Leachtenauer and Driggers' Surveillance and Reconnaissance Imaging Systems.

La distorsión geométrica no es un factor si la lente es verdaderamente telecéntrica. Pero una lente verdaderamente telecéntrica no puede generar imágenes de un área más grande que el área del frente de la lente, ¿o sí? La distorsión de la perspectiva aún se vería afectada por la distancia de la cámara de cualquier área que tenga suficientes diferencias de altura para verse afectada por la diferencia de distancia. Un campo de trigo plano no se vería muy diferente, pero Pike's Peak sí.
@MichaelClark Técnicamente, el límite está en el tamaño de la pupila de entrada, no en el tamaño del elemento frontal, pero tiene razón sobre los límites del tamaño del objeto si la lente es doblemente telecéntrica. Las lentes RS tienden a ser solo objetos telecéntricos, lo que, si no me falla la memoria, significa que solo el sensor está restringido al tamaño de la pupila de entrada. En cuanto a la perspectiva, no estoy seguro. Nunca he necesitado modelar variaciones en la perspectiva, pero tal vez eso se deba simplemente a que las lentes con las que estoy trabajando tienen un FOV pequeño y el cambio fue insignificante. Creo que amerita investigación. De cualquier manera, supongo que estoy cubierto por mi descargo de responsabilidad :)
Gracias. ¿A alguien le importaría explicar intuitivamente la diferencia entre distorsión geométrica y de perspectiva? Supongo que estaba pensando que la distorsión geométrica era otro nombre para la distorsión de perspectiva.
Además, ¿el desenfoque gaussiano es una forma de distorsión geométrica o se considera una forma de simular la pérdida de nitidez? ¿Necesitaría distorsionar geométricamente Y simular la pérdida de nitidez, o son lo mismo?
A menos que tenga una razón para no hacerlo, debe asumir que la distorsión geométrica es independiente de la distancia; la extensión de la distancia focal para cambios de altitud de orden de magnitud uniforme es insignificante, de modo que la variación en la distorsión también lo es. Podría decirse que el desenfoque gaussiano es una forma más precisa de simular el desenfoque de muestreo/desenfoque en la atmósfera o el sensor. Necesito enfatizar que esto es una aproximación. Sin considerar un sistema mucho más complicado, supongo que solo será 95% correcto.

Respuesta corta: no puedes hacerlo con una sola imagen.

Respuesta más larga: para simular de manera realista el cambio de distancia, necesita múltiples imágenes tomadas desde múltiples distancias diferentes del sujeto o distorsionar geométricamente la imagen original. La razón detrás de esto es que cambiar físicamente la distancia de su sujeto cambia su perspectiva. Cambiar el tamaño de una sola imagen le permite (hasta cierto punto) simular acercar y alejar con una lente sin cambiar la distancia.