bellingcat / open-questions

Want to contribute? These are difficult, long-term projects that could be valuable to open source investigators at Bellingcat and around the world.
326 stars 15 forks source link

Add collection of terrain perspective matching examples #12

Open loganwilliams opened 2 years ago

loganwilliams commented 2 years ago

In order to constrain the problem space somewhat, and provide a scaffolding for contributors to get started with, it would be helpful to have a sample dataset collection of image:lat/lon/angle pairs for experimenting with. This could initially be small, perhaps a dozen images.

To generate a larger dataset in the future, perhaps online images with known geocodes could be used?

hfroot commented 2 years ago

Hi! I'd be interested in helping.

  1. Would it be enough to take some photos around my city, recording lat/lon/angle as I do?
  2. For angle, did you have in mind measuring the angle of the camera lens relative to the ground, making a photo taken directly of the ground 0 degrees?
  3. Would height from ground level also be useful (e.g. photos taken from apartment buildings)? Might have to be more approximate however.
pdehaye commented 2 years ago

The key is to understand the projective transformation associated with taking a picture. This helps, for point-like objects. Four points determine a cross ratio, from which you can deduce things, like construct an ellipse. Two ellipses built on five points intersect into the source.

The wikipedia picture of the street is also really helpful.

Cross_ratio_metrology_example

What's essentially needed is a Shazam like system for cross ratio calculations, where your lookup database is based on known relevant points in an area.

You can also use topographic features if you think of them as function over a line (slope of the horizon) from the picture vantage point.

geodata-analyst commented 2 years ago

Some parts of this request can be done relatively easily with the photogrammetry algorithms (SfM), if the source is not an image, but a video. The result of these algorithms can be a point cloud, that afterwards can be used with OSM. The whole process can be automated.