Thursday, November 12, 2015

Position Invariant

I don’t know all the places where you might have come across this term, but I encountered it when studying image processing. They told me that the degradation function (used in image restoration) other than having the property of being “linear” also was “position invariant”.

Now I want to try to give a explanation of what that means, because most engineering students are pretty comfortable with the idea of what Linear functions are as they are used a lot in a lot of the courses.

Consider a image we have described spatially as , say that the image is transformed by a function . This means that the function H takes the image as input and gives a “degraded” image as output.

One mistake I initially made was that I thought of as a function from a image to a different image, its actually a collection of pixel-pixel mappings. For a particular value of we get relationship between the pixel intensities.

Why do we care about this degraded function? because the best way of reversing the effect of degradation is to first model it, then find a way to reverse engineer the image before this function was applied. Read more about that in Image Restoration.

but coming to the function , they say that it is postion invariant if

where

now, here a geometrical interpretation that I would like to present for this is that of two 2D planes, one with the domain of (lets call that the F plane) and the other with the domain of (lets call that the G plane).

Note that the plane is actually the image itself, with both x and y axis used to position each pixel in and .

Now can be thought of as lines starting from points in the F plane and ending up on some point on the G plane. For different functions, these lines will just move around and establish different relationships between the 2 planes.

The pixel to pixel mapping

In the above picture the red line represents the result of applying on a single pixel, when you apply on a image like , then will be a collection of such lines connecting all the points in .

Now the equation for position invariance makes a lot of sense! what the equation says is that if you take any of the lines connecting 2 points between the two planes; here as a example I consider the line (thick red line) starting from to the .

So now if I move a known distance away from this point, (in this case in negative direction and in the negative direction - shown by the yellow lines).

Then the mapping line will also move the exact same distance!

That is; if the mapping is position invariant then this new pixel at will map to the point .

Position Invariance explained!

You can sort of imagine it as the red line being fixed to the starting point in the F plane, so when you move the starting point around in the F plane your mapping function stays stiff and moves along with you.

That wraps that up.

Let me know your feedback and thanks for reading!

Written with StackEdit.

3 comments:

  1. This is great, thanks! I'm just checking now if I got it: The starting point (and the scaling?) for the same object in the two planes may be different. But H performs the mapping that lets you recognize / restore the same object?

    Secondly: When linearity means position invariant, does non-linearity mean position dependency?

    And lastly:
    When you define the H-function, I think there may be a x in the y-position?

    H[f(x−α,y−β)]=g(x−α,x−β)] ->

    should it be:

    H[f(x−α,y−β)]=g(x−α,y−β)]?

    Thanks for a good blog post!

    ReplyDelete