IP Library › Granted Patent US 12,745,004
Granted Patent B2
US 12,745,004 · App. 18/915,994 · Granted Sep 22, 2026

Method and system for real-time geo referencing stabilization

Inventor: Jay Harshadbhai Patel (Milpitas, CA)
Assignee: Palantir Technologies Inc.
H04N23/683B64C39/024G06F18/24147G06T7/35G06T7/38G06T15/06G06V20/17G06V20/46B64U2101/30G06T2207/10016G06T2207/10032G06V2201/10
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,745,004
App. No.
18/915,994
Granted
Sep 22, 2026
Kind
B2
Abstract

A computing system and methods are provided for georeferencing stabilization. An exemplary method includes: obtaining a video stream capturing an area from a camera of a drone, where the video stream includes a plurality of frames, each including a field of view of the image capturing device and metadata of the image capturing device when the frame is captured; constructing a geographic (geo) lattice for the field of view in each of the plurality of frames, the geo lattice comprises a plurality of points, each being associated with raw coordinates determined based on the corresponding metadata; and building a lattice map with stabilized geo coordinates by (1) aligning the frames, (2) averaging the raw geo coordinates for given intersection points, and (3) building the lattice map based on the averaged geo coordinates of the intersection points.

Claims (68)

1 . A computer-implemented method for georeferencing stabilization, comprising:

obtaining, from one or more image capturing devices, a video stream capturing an area, wherein the video stream comprises a plurality of frames, each of the plurality of frames comprises a field of view of the image capturing device and metadata of the image capturing device when the frame is captured;

constructing a geographic lattice for the field of view in each of the plurality of frames, wherein the geo lattice comprises a plurality of lattice points, each lattice point being associated with a pair of raw coordinates determined based on the corresponding metadata of the one or more image capturing devices;

receiving a request for geographic coordinates of a ground point in the area;

identifying multiple lattice map points, present in at least a first frame and a second frame of the plurality of frames, wherein the first frame and the second frame are nonconsecutive frames separated by an intervening frame, in the lattice map surrounding the ground point;

based on a first transformation matrix between the first frame and an intervening frame, and a second transformation matrix between the intervening frame and the second frame, computing stabilized geographic coordinates of the multiple lattice map points; and

computing the geographic coordinates of the ground point by interpolating the multiple pairs of stabilized geographic coordinates associated with the multiple lattice map points in the lattice map.

2 . The method of claim 1 , wherein the stabilized geographic coordinates are computed based on a width adjustment between a top boundary and a bottom boundary of the frame.

3 . The method of claim 1 , wherein building the lattice map for the area comprises:

building the lattice map based on an estimated projection of the field of view of the image capturing device.

4 . The method of claim 3 , wherein building the lattice map with an estimated projection comprises:

orthorectifying the plurality of geo lattices using random sample consensus (RANSAC) to estimate homography matrix for a Nadir projection of the plurality of frames captured by the image capturing device.

5 . The method of claim 3 , further comprising:

receiving an incoming frame from the video stream when the vehicle pans, wherein the incoming frame captures a new location of the area absent from the plurality of frames;

constructing a new geo lattice for the incoming frame;

extrapolating the lattice map for the area based on the Nadir projection to obtain estimated geo lattices for locations beyond the field of view of the image capturing device; and

updating the lattice map by averaging raw coordinates of the new geo lattice with coordinates of the estimated geo lattices.

6 . The method of claim 1 , wherein the geo lattice is constructed by using ray tracing.

7 . The method of claim 1 , wherein the image registration comprises:

computing a homography matrix between a first frame and a second frame of the plurality of frames; and

mapping the plurality of points in the geo lattice of the first frame to the plurality of points in the geo lattice of the second frame based on the homography matrix.

8 . The method of claim 7 , further comprising:

determining an error rate of the mapping between the plurality of points in the geo lattice of the first frame to the plurality of points in the geo lattice of the second frame based on the homography matrix; and

in response to the error rate being greater than a threshold, skipping one of the first frame or the second frame in building the lattice map.

9 . The method of claim 7 , wherein the computing of the homography matrix comprises:

extracting features from the first frame and the second frame using accelerated-KAZE feature detection and description algorithm;

matching the extracted features using K-nearest neighbor search; and

constructing the homography matrix by using RANSAC homography estimation based on the matched extracted features.

10 . The method of claim 1 , wherein the image registration comprises:

dividing the plurality of frames into multiple overlapping groups of frames, each group comprising two consecutive frames, and two consecutive groups share one frame;

computing multiple homography matrices based on the multiple overlapping groups of frames using parallel processing; and

caching the multiple homography matrices for computing a transformation matrix between any two frames of the plurality of frames.

11 . The method of claim 1 , wherein the image registration is performed on every K frames, where K is an integer greater than one, and the image registration comprises:

computing a homography matrix for a first frame of the K frames and a k-th frame of the K frames; and

computing intermediate homography matrices for every two frames of the K frames by applying linear interpolation to the homography matrix.

12 . The method of claim 1 , wherein the lattice map comprises a first channel corresponding to latitude, a second channel corresponding to longitude, and a third channel corresponding to a number of observations of a corresponding point in the plurality of geo lattices.

13 . The method of claim 1 , wherein the vehicle comprises a drone or a Synthetic-aperture radar (SAR).

14 . A computing system for georeferencing stabilization, comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the system to perform operations comprising:

obtaining, from one or more image capturing devices, a video stream capturing an area, wherein the video stream comprises a plurality of frames, each of the plurality of frames comprises a field of view of the image capturing device and metadata of the image capturing device when the frame is captured;

constructing a geographic lattice for the field of view in each of the plurality of frames, wherein the geo lattice comprises a plurality of lattice points, each lattice point being associated with a pair of raw coordinates determined based on the corresponding metadata of the one or more image capturing devices;

receiving a request for geographic coordinates of a ground point in the area;

identifying multiple lattice map points, present in at least a first frame and a second frame of the plurality of frames, wherein the first frame and the second frame are nonconsecutive frames separated by an intervening frame, in the lattice map surrounding the ground point;

based on a first transformation matrix between the first frame and an intervening frame, and a second transformation matrix between the intervening frame and the second frame, computing stabilized geographic coordinates of the multiple lattice map points; and

computing the geographic coordinates of the ground point by interpolating the multiple pairs of stabilized geographic coordinates associated with the multiple lattice map points in the lattice map.

15 . The computing system of claim 14 , wherein the instructions further cause the system to perform:

determining the first transformation matrix by extracting features from the first frame and the second frame and matching the extracted features using K-nearest neighbor search.

16 . The computing system of claim 14 , wherein building the lattice map for the area comprises:

building the lattice map based on an estimated projection of the field of view of the image capturing device.

17 . The computing system of claim 14 , wherein the image registration comprises:

computing a homography matrix between a first frame and a second frame of the plurality of frames; and

mapping the plurality of points in the geo lattice of the first frame to the plurality of points in the geo lattice of the second frame based on the homography matrix.

18 . The computing system of claim 17 , wherein the computing of the homography matrix comprises:

extracting features from the first frame and the second frame using accelerated-KAZE feature detection and description algorithm;

matching the extracted features using K-nearest neighbor search; and

constructing the homography matrix by using RANSAC homography estimation based on the matched extracted features.

19 . The computing system of claim 14 , wherein the image registration comprises:

dividing the plurality of frames into multiple overlapping groups of frames, each group comprising two consecutive frames, and two consecutive groups share one frame;

computing multiple homography matrices based on the multiple overlapping groups of frames using parallel processing; and

caching the multiple homography matrices for computing a transformation matrix between any two frames of the plurality of frames.

20 . A non-transitory computer-readable storage medium configured with instructions executable by one or more processors to cause the one or more processors to perform operations comprising:

obtaining, from one or more image capturing devices, a video stream capturing an area, wherein the video stream comprises a plurality of frames, each of the plurality of frames comprises a field of view of the image capturing device and metadata of the image capturing device when the frame is captured;

constructing a geographic lattice for the field of view in each of the plurality of frames, wherein the geo lattice comprises a plurality of lattice points, each lattice point being associated with a pair of raw coordinates determined based on the corresponding metadata of the one or more image capturing devices;

receiving a request for geographic coordinates of a ground point in the area;

identifying multiple lattice map points, present in at least a first frame and a second frame of the plurality of frames, wherein the first frame and the second frame are nonconsecutive frames separated by an intervening frame, in the lattice map surrounding the ground point;

based on a first transformation matrix between the first frame and an intervening frame, and a second transformation matrix between the intervening frame and the second frame, computing stabilized geographic coordinates of the multiple lattice map points; and

computing the geographic coordinates of the ground point by interpolating the multiple pairs of stabilized geographic coordinates associated with the multiple lattice map points in the lattice map.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2024
From: PATEL, JAY HARSHADBHAI
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 068902/0348 →
Continuity (3)
Continuation 17889650 · Aug 17, 2022
Provisional Application 63332395 · Apr 19, 2022
Related Publication 20250039545A1 · Jan 30, 2025
References Cited (18)
US 10445616B2 · Tom · 2019 [cited by examiner]
US 20090324131A1 · Tong et al. · 2009 [cited by applicant]
US 20110280453A1 · Chen et al. · 2011 [cited by applicant]
US 20140064554A1 · Coulter · 2014 [cited by examiner]
US 20180174272A1 · Giuffrida · 2018 [cited by examiner]
US 20190304168A1 · Korb et al. · 2019 [cited by applicant]
US 20200226352A1 · Coulter et al. · 2020 [cited by applicant]
US 20220215507A1 · Ye et al. · 2022 [cited by applicant]
US 20230306739A1 · Yu · 2023 [cited by applicant]
US 20230419660A1 · Uljanovs · 2023 [cited by examiner]
US 20240005548A1 · Kai · 2024 [cited by applicant]
CN 109325913 · 2019 [cited by examiner]
CN 109325913A · 2019 [cited by applicant]
EP 3842735A1 · 2021 [cited by applicant]
KR 20200120402A · 2020 [cited by applicant]
Extended European Search Report dated Oct. 12, 2023, issued in related European Patent Application No. 23167894.7 (15 pages). [cited by applicant]
Non-Final Office Action dated Feb. 12, 2024, issued in related U.S. Appl. No. 17/889,650 (18 pages). [cited by applicant]
Notice of Allowance mailed Jun. 12, 2024, issued in related U.S. Appl. No. 17/889,650 (10 pages). [cited by applicant]