# Simulating increasing image distance

I have a set of aerial images, but no information about the original camera or angular resolution of the photos. I need to in some way decrease the resolution of the images in a way that simulates increasing distance. I first tried using Matlab's imresize function (with default parameters) to decimate the images by various scales, but now I'm questioning whether or not this decimation actually is the right way to simulate distance. I don't want the images to look clearer than they actually would if the distance between the camera and subject was increased.

So does anyone know if this is an adequate way to simulate distance, or if there's a more realistic way to do this?

• This reads like an x→y question, What is the ultimate problem you are trying to solve? Feb 27, 2018 at 2:43
• What is the XY problem? Feb 27, 2018 at 4:12
• I'm building CNN classifiers and trying to estimate performance at increasing altitudes, but I only have one actual altitude in my image data Feb 27, 2018 at 14:00
• CNN? (Assuming in this context it is not Cable News Network) Feb 27, 2018 at 19:22
• Sorry, convolutional neural network. I created a neural net that divides a large aerial image into a grid and classifies each piece of the grid as containing one of N different categories/labels. I'd like to estimate the performance degradation (misclassification rate) if the image was captured at successively higher altitudes without actually having to obtain new images for each altitude. Feb 27, 2018 at 20:23

In order to simulate a native resolution image at an appropriate slant range you need to start with an appropriately decimated original and then simulate sharpness loss. If not you will simulate the GSD at your extended slant range rather than the GRD. Since most aerial imaging optics are telecentric, distortion and resolution loss to the lens are generally magnification insensitive. You therefore only need to model losses to sensor MTF and atmospheric MTF.

To apply the simulated MTF loss you will need to calculate the MTF for a selected resolution of sensor. Hint: ifov and sensor size are directly proportional with focal length so you can simply guess at two variables to predict the third and then adjust altitude as you wish to obtain new GRD/GSD relationship. The blur you must apply is the ratio of GRD to GSD.

There are two ways to simulate the blur and which you use is a matter of experimentation with your software. You can either apply a mean or gaussian blur (or some mix of the two.) You can apply the blur before or after resizing. When resizing make sure to specify a method which does not sharpen. If you are using matlab you have the option of calling imresize(name,'method') Where method allows you to specify a custom kernel. This would allow you to apply gaussian or mean blurring at the time of resize.

When method is a two-element cell array, it defines a custom interpolation kernel. The cell array has the form {f,w}, where f is a function handle for a custom interpolation kernel and w is the width of the custom kernel. f(x) must be zero outside the interval -w/2 <= x < w/2. The function handle f can be called with a scalar or a vector input. For user-specified interpolation kernels, the output image can have some values slightly outside the range of pixel values in the input image.

Please note that although my answer here is correct it is incomplete. Remote Sensing Image quality modeling systems are complex and usually proprietary. To learn about the more nuanced elements of remote sensing simulation and image chain analysis I recommend Schott's Remote Sensing or Leachtenauer and Driggers' Surveillance and Reconnaissance Imaging Systems

• Geometric distortion is not a factor if the lens is truly telecentric. But a truly telecentric lens can not image an area larger than the area of the front of the lens can it? Perspective distortion would still be affected by camera distance of any area that has enough differences in height to be affected by the difference in distance. A flat wheat field would not look much different, but Pike's Peak would. Feb 27, 2018 at 2:50
• @MichaelClark Technically the limit is on the entrance pupil size not front element size but you are correct about object size limits if the lens is doubly telecentric. RS lenses tend to only be object telecentric which, if memory serves, means that only the sensor is restricted to the size of the entrance pupil. As to perspective, I'm not sure. I have never needed to model variations in perspective but maybe that is simply because the lenses I'm working with have small FOV and the change was neglibile. I think it merits research. Either way I guess I'm covered by my disclaimer :) Feb 27, 2018 at 14:05
• Thanks. Would anyone mind explaining intuitively the difference between geometric and perspective distortion? I guess I was thinking that geometric distortion was another name for perspective distortion. Feb 28, 2018 at 14:08
• Also, is gaussian blur a form of geometric distortion, or is it considered a way to simulate sharpness loss? Would I need to geometrically distort AND simulate sharpness loss, or are these the same thing? Feb 28, 2018 at 14:24
• Unless you have a reason not to do so, you should assume geometric distortion is distance independent; the focal length extension for even order of magnitude changes in altitude is negligible such that variance in distortion is as well. The gaussian blur is arguably a more accurate way to simulate sampling/ defocus blur in the atmosphere or sensor. I do need to stress that this is an approximation. Without considering a much more complicated system you will only be, I'm guessing, 95% correct. Feb 28, 2018 at 16:23

Short answer: you can't do it with just one image.

Long[er] answer: to realistically simulate distance change, you need either multiple images taken from multiple different subject distances or to actually geometrically distort the original image. The reason behind this is that physically changing the distance of your subject changes your perspective of it. Resizing a single image lets you (to a certain extent) simulate zooming in and out with a lens without changing the distance.