Application that inspects photo, determines camera params based on a 3D model?
I am investigating how to implement this really cool service in the future website of my project.
(1) The user submits a photo of the location in question, it may be B&W or color, old or taken a few minutes ago with your smart phone. See for instance these ones:


(2) The software specialized in recognition scrutinizes the provided image.
(3) It produces the location, angle, aperture of the camera, based on its knowledge of the underlying 3D Model:
(4) An image, as close as possible to the input is generated and rendered. The output would look of this quality:

I call this service "The Time Machine".
TIA,
-Ramon F. Herrera