Post-processing panoramic imagery geo-rectification system
A system for performing a post-processing panoramic imagery geo-rectification process is provided. The system is for use with aerial imagery and is agnostic to where the system operates, which may be a computing device including, without limitation, a PC, servers, or in the cloud. This process includes at least two subprocesses, wherein subprocess 1 includes instructions to solve six degrees of freedom for camera position, without human intervention; namely the latitude, longitude, altitude, pan, tilt, and roll. Subprocess 2 includes a method for placing warp points, which define a thin-plate spline that can be utilized on a server or within a compatible software system.
1 . A post-processing panoramic imagery geo-rectification system comprising:
a server comprising a processor and a memory; and
a computer coupled to the server wherein a user interfaces with the server through the computer, wherein the server is programmed to:
process panoramic images using at least a first subprocess and a second subprocess, wherein the first subprocess determines and/or solves errors in metadata associated with captured images by:
solving for tilt and roll offsets using a machine-learning model trained to recognize a horizon in a panoramic, equirectangular image, wherein the model is insensitive to pan offsets and predicts offset values for tilt and roll that visually level off the horizon;
solving for pan offset using a machine-learning model trained to detect a sun's azimuth in the panoramic, equirectangular image, wherein the model is insensitive to the sun's height in the sky; and
refining the pan offset solution using fast Fourier transform (FFT) by producing a first snapshot image from the spherical panoramic imagery pointing directly under a point of image capture, obtaining a second snapshot of similar size and zoom-level from a ground-truth map provider, and rotating the first and second snapshots against each other in increments while running pixels of each increment through the FFT to determine similarity of the snapshots; and
wherein the second subprocess performs image registration to eliminate distortions.
2 . The system of claim 1 , wherein the first subprocess further solves six degrees of freedom for camera position.
3 . The system of claim 1 , wherein the first subprocess further solves for longitude, latitude and altitude offsets using the tilt, roll and pan offsets.
4 . The system of claim 1 , wherein the second subprocess defines a grid of points positioned under the captured images and obtains elevations producing a grid of elevation points.
5 . The system of claim 1 , wherein the distortions comprise elevation offsets and/or stitching errors.