I am working on a Computer Vision problem (https://www.kaggle.com/c/tensorflow-great-barrier-reef) in which we're given pictures of coral reefs and asked to locate a certain kind of starfish that preys on coral. The pictures are taken from a camera looking obliquely at the surface of the coral, and there is perspective distortion that effectively changes the local magnification of the pictures. I would like to characterize the perspective distortion at each point in the image, assigning to each pixel some parameters (e.g., magnification, keystone-ing). My plan is to use this "perspective distortion field" as an additional input to the Convolutional Neural Net that is doing the object detection.

So, my question: given a geometric camera model (position, orientation, focal length), is there an analytic formula for characterizing perspective distortion and calculating the perspective distortion field?


1 Answer 1


There is no such thing as perspective distortion; only perspective. Some call it distortion because it shows a perspective we are not accustomed to viewing (experiencing; or the mind auto corrects for it).

E.g. the next time you kiss your significant other pay attention to how huge and disproportionate their nose appears (you're welcome!). There can be lens distortion (pincushion/barrel/etc), but that is lens specific.

You probably need to apply linear perspective (point projection) in reverse.

  • \$\begingroup\$ How, specifically, would one apply linear perspective in reverse? Use a telecentric lens, which may be totally impractical for imaging an area any larger than a typical dive housing? \$\endgroup\$
    – Michael C
    Nov 27, 2021 at 13:46
  • \$\begingroup\$ I'm thinking you would need to determine the relevant vanishing point(s) and draw the corresponding linear lines. Then anything that met those lines along their length would be the same size; and anything that did not meet those lines would be some percentage of that size. \$\endgroup\$ Nov 27, 2021 at 14:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.