IP Library Granted Patent US 12,597,162
Granted Patent B2
US 12,597,162 · App. 17/721,915 · Granted Apr 7, 2026

System calibration using remote sensor data

Inventors: Katerina Patrice Schulz (San Francisco, CA); Vishal Mandal (Ypsilanti, MI); Abhishek Baral (Farmington Hills, MI); Cyrus Blankinship (Brooklyn, NY); David Hahn Clifford (Royal Oak, MI)
Assignee: Cavnue Technology, LLC
G06T7/80G01S19/485G06T11/40G06T2207/30184G06T2207/30236
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,597,162
App. No.
17/721,915
Granted
Apr 7, 2026
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for monitoring characteristics of cameras used for road surveillance. In some implementations, a plurality of first image frames are obtained from a camera monitoring a specific geographical area. For each first image frame of the plurality of first image frames, a second image frame is generated by adjusting a viewpoint of the first image frame. A third image frame is generated by rasterizing the second image frame. Photonic content is identified in the third image frame. Invariant components are determined in a plurality of third image frames based on the photonic content identified in subsequent third image frames. Position changes of the camera are determined by identifying position changes of the invariant components in the subsequent third image frames. In response to determining the position changes of the camera, a position of the camera is adjusted.

Claims (90)

1 . A computer-implemented method comprising:

obtaining, by one or more processors, a plurality of first image frames from a camera that is monitoring a specific geographical area from an elevated viewpoint;

for each first image frame of the plurality of first image frames from the camera that is monitoring the specific geographical area from the elevated viewpoint:

generating, by the one or more processors, a second image frame from the first image frame from the camera that is monitoring the specific geographical area from the elevated viewpoint by generating vertical projection of the first image frame to a birds-eye view;

generating, by the one or more processors, a third image frame from the second image frame that is a vertical projection of the first image frame by converting pixel values of the second image frame to produce rasterized pixel data in the third image frame; and

identifying, by the one or more processors, photonic content from the rasterized pixel data in the third image frame;

determining, by the one or more processors, one or more invariant components classified as stationary in a plurality of third image frames based on the photonic content identified in subsequent third image frames;

determining, by the one or more processors, one or more position changes of the camera by measuring differences between locations indicated by the rasterized pixel data corresponding to the one or more invariant components between successive third image frames in the plurality of third image frames;

comparing, by the one or more processors, the one or more position changes of the camera to a threshold value; and

in response to determining the one or more position changes of the camera satisfies the threshold value, adjusting, by the one or more processors, a position of the camera.

2 . The computer-implemented method of claim 1 , wherein obtaining the plurality of first image frames from the camera monitoring the specific geographic area comprises:

determining, by the one or more processors, one or more characteristics of the camera based on content of the plurality of first image frames; and

adjusting, by the one or more processors, the one or more characteristics of the camera for monitoring the specific geographical area.

3 . The computer-implemented method of claim 1 , wherein

obtaining, by the one or more processors, a plurality of fourth image frames of the specific geographic area, wherein each fourth image frame of the plurality of fourth image frames include content of the specific geographical area and imagery of the camera;

identifying, by the one or more processors, one or more geographical components in each first image frame of the plurality of first image frames using geographical content from the plurality of fourth image frames; and

determining, by the one or more processors, a geographical field of view of the camera based on the one or more geographical components in each first image frame of the plurality of first image frames.

4 . The computer-implemented method of claim 3 , wherein the plurality of fourth image frames are obtained from at least one of a satellite, an unmanned aerial vehicle, and an airplane.

5 . The computer-implemented method of claim 1 , wherein generating the second image frame from the first image frame by adjusting the elevated viewpoint of the first image frame comprises:

transposing, by the one or more processors, the first image frame by an orthogonal projection to the second image frame, wherein the second image frame is a 90 degree rotated viewpoint of the first image frame; and

assigning, by the one or more processors, data indicative of cardinality to the second image frame.

6 . The computer-implemented method of claim 5 , wherein identifying the photonic content from the rasterized pixel data in the third image frame comprises:

identifying, by the one or more processors, one or more edges in the third image frame;

identifying, by the one or more processors, one or more contours in the third image frame; and

identifying, by the one or more processors, a specific color in the third image frame.

7 . The computer-implemented method of claim 1 , wherein determining the one or more invariant components classified as stationary in the plurality of third image frames based on the photonic content identified in subsequent third image frames comprises:

obtaining, by the one or more processors, the plurality of third image frames by aggregating each subsequent third image frame; and

detecting, by the one or more processors, one or more static features in each of the plurality of third image frames by (i) comparing features between subsequent third image frames, (ii) identifying the one or more static features between the subsequent third image frames of the features that do not change location, and (iii) identifying one or more non static features between the subsequent third image frames of the features that do change location.

8 . The computer-implemented method of claim 7 , wherein determining the one or more position changes of the camera by measuring differences between locations indicated by the rasterized pixel data corresponding to the one or more invariant components between successive third image frames in the plurality of third image frames further comprises:

determining, by the one or more processors, a location for each of the one or more static features in the plurality of third image frames;

for each third image frame of the plurality of third image frames:

determining, by the one or more processors, a difference amount between the location of each of the one or more static features in between an initial third image frame and a subsequent third image frame;

comparing, by the one or more processors, the difference amount to a second threshold value; and

in response to determining the difference amount satisfies the second threshold value, identifying, by the one or more processors, a position change of the camera.

9 . The computer-implemented method of claim 7 , wherein determining the one or more position changes of the camera by measuring differences between locations indicated by the rasterized pixel data corresponding to the one or more invariant components between successive third image frames in the plurality of third image frames further comprises:

determining, by the one or more processors, a location for each of the one or more static features in the plurality of third image frames;

for each third image frame of the plurality of third image frames:

determining, by the one or more processors, a difference amount between the location of each of the one or more static features in between the third image frame and an initial raster frame;

comparing, by the one or more processors, the difference amount to a threshold value; and

in response to determining the difference amount satisfies the threshold value, identifying, by the one or more processors, a position change of the camera from an initial calibrated position.

10 . The computer-implemented method of claim 1 , wherein adjusting the position of the camera further comprises at least one of:

recalibrating, by the one or more processors, optical characteristics of the camera to match to an initial calibrated position of the camera; or

adjusting, by the one or more processors, the position of the camera to the initial calibrated position of the camera.

11 . The computer-implemented method of claim 1 , wherein the one or more invariant components represent geographic components comprising at least one of a pole, a lane marker, a hill, a median, crosswalks, mountain, and a tree.

12 . A system comprising:

one or more processors;

one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

obtaining, by the one or more processors, a plurality of first image frames from a camera that is monitoring a specific geographical area from an elevated viewpoint;

for each first image frame of the plurality of first image frames from the camera that is monitoring the specific geographical area from the elevated viewpoint:

generating, by the one or more processors, a second image frame from the first image frame from the camera that is monitoring the specific geographical area from the elevated viewpoint by generating vertical projection of the first image frame to a birds-eye view;

generating, by the one or more processors, a third image frame from the second image frame that is a vertical projection of the first image frame by converting pixel values of the second image frame to produce rasterized pixel data in the third image frame; and

identifying, by the one or more processors, photonic content from the rasterized pixel data in the third image frame;

determining, by the one or more processors, one or more invariant components classified as stationary in a plurality of third image frames based on the photonic content identified in subsequent third image frames;

determining, by the one or more processors, one or more position changes of the camera by measuring differences between locations indicated by the rasterized pixel data corresponding to the one or more invariant components between successive third image frames in the plurality of third image frames;

comparing, by the one or more processors, the one or more position changes of the camera to a threshold value; and

in response to determining the one or more position changes of the camera satisfies the threshold value, adjusting, by the one or more processors, a position of the camera.

13 . The system of claim 12 , wherein obtaining the plurality of first image frames from the camera monitoring the specific geographic area further comprises:

determining, by the one or more processors, one or more characteristics of the camera based on content of the plurality of first image frames; and

adjusting, by the one or more processors, the one or more characteristics of the camera for monitoring the specific geographical area.

14 . The system of claim 12 , wherein

obtaining, by the one or more processors, a plurality of fourth image frames of the specific geographic area, wherein each fourth image frame of the plurality of fourth image frames include content of the specific geographical area and imagery of the camera;

identifying, by the one or more processors, one or more geographical components in each first image frame of the plurality of first image frames using geographical content from the plurality of fourth image frames; and

determining, by the one or more processors, a geographical field of view of the camera based on the one or more geographical components in each first image frame of the plurality of first image frames.

15 . The system of claim 14 , wherein the plurality of fourth image frames are obtained from at least one of a satellite, an unmanned aerial vehicle, and an airplane.

16 . The system of claim 12 , wherein generating the second image frame from the first image frame by adjusting the elevated viewpoint of the first image frame comprises:

transposing, by the one or more processors, the first image frame by an orthogonal projection to the second image frame, wherein the second image frame is a 90 degree rotated viewpoint of the first image frame; and

assigning, by the one or more processors, data indicative of cardinality to the second image frame.

17 . The system of claim 16 , wherein identifying the photonic content from the rasterized pixel data in the third image frame comprises:

identifying, by the one or more processors, one or more edges in the third image frame;

identifying, by the one or more processors, one or more contours in the third image frame; and

identifying, by the one or more processors, a specific color in the third image frame.

18 . The system of claim 12 , wherein determining the one or more invariant components classified as stationary in the plurality of third image frames based on the photonic content identified in subsequent third image frames further comprises:

obtaining, by the one or more processors, the plurality of third image frames by aggregating each subsequent third image frame; and

detecting, by the one or more processors, one or more static features in each of the plurality of third image frames by (i) comparing features between subsequent third image frames, (ii) identifying the one or more static features between the subsequent third image frames of the features that do not change location, and (iii) identifying one or more non static features between the subsequent third image frames of the features that do change location.

19 . The system of claim 18 , wherein determining the one or more position changes of the camera by measuring differences between locations indicated by the rasterized pixel data corresponding to the one or more invariant components between successive third image frames in the plurality of third image frames comprises:

determining, by the one or more processors, a location for each of the one or more static features in the plurality of third image frames;

for each third image frame of the plurality of third image frames:

determining, by the one or more processors, a difference amount between the location of each of the one or more static features in between an initial third image frame and a subsequent third image frame;

comparing, by the one or more processors, the difference amount to a threshold value; and

in response to determining the difference amount satisfies the threshold value, identifying, by the one or more processors, a position change of the camera.

20 . A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

obtaining, by one or more processors, a plurality of first image frames from a camera that is monitoring a specific geographical area from an elevated viewpoint;

for each first image frame of the plurality of first image frames from the camera that is monitoring the specific geographical area from the elevated viewpoint:

generating, by the one or more processors, a second image frame from the first image frame from the camera that is monitoring the specific geographical area from the elevated viewpoint by generating vertical projection of the first image frame to a birds-eye view;

generating, by the one or more processors, a third image frame from the second image frame that is a vertical projection of the first image frame by converting pixel values of the second image frame to produce rasterized pixel data in the third image frame; and

identifying, by the one or more processors, photonic content from the rasterized pixel data in the third image frame;

determining, by the one or more processors, one or more invariant components classified as stationary in a plurality of third image frames based on the photonic content identified in subsequent third image frames;

determining, by the one or more processors, one or more position changes of the camera by measuring differences between locations indicated by the rasterized pixel data corresponding to the one or more invariant components between successive third image frames in the plurality of third image frames;

comparing, by the one or more processors, the one or more position changes of the camera to a threshold value; and

in response to determining the one or more position changes of the camera satisfies the threshold value, adjusting, by the one or more processors, a position of the camera.

Assignments (5)
SECURITY INTEREST Recorded Apr 9, 2026
From: CAVNUE TECHNOLOGY, LLC
To: GOLUB CAPITAL MARKETS LLC
Reel/Frame 074328/0202 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT R/F 71278/0907 Recorded Jan 30, 2026
From: SIP MOBILITYCO PLATFORMCO, LLC
To: CAVNUE TECHNOLOGY, LLC
Reel/Frame 074536/0444 →
AMENDMENT NO. 1 TO GRANT OF SECURITY INTEREST IN PATENTS Recorded Jan 29, 2026
From: CAVNUE TECHNOLOGY, LLC
To: SIP MOBILITYCO PLATFORMCO, LLC
Reel/Frame 074533/0139 →
SECURITY INTEREST Recorded May 14, 2025
From: CAVNUE TECHNOLOGY, LLC
To: SIP MOBILITY PLATFORMCO, LLC
Reel/Frame 071278/0907 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2022
From: SCHULZ, KATERINA PATRICE; MANDAL, VISHAL; BARAL, ABHISHEK; BLANKINSHIP, CYRUS; CLIFFORD, DAVID HAHN
To: CAVNUE TECHNOLOGY, LLC
Reel/Frame 060492/0216 →
Continuity (1)
Related Publication 20230334699A1 · Oct 19, 2023
References Cited (16)
US 8390686B2 · Tanaka · 2013 [cited by applicant]
US 9721168B2 · Saptharishi et al. · 2017 [cited by applicant]
US 9894325B2 · Rauscher et al. · 2018 [cited by applicant]
US 10055649B2 · Grauer et al. · 2018 [cited by applicant]
US 10713499B2 · Wu et al. · 2020 [cited by applicant]
US 10733463B1 · Jain · 2020 [cited by examiner]
US 20080240616A1 · Haering · 2008 [cited by examiner]
US 20110043689A1 · Cobb · 2011 [cited by examiner]
US 20140313347A1 · Wu et al. · 2014 [cited by applicant]
US 20150077549A1 · Wu · 2015 [cited by applicant]
US 20210406560A1 · Park · 2021 [cited by examiner]
CN 112819895A · 2021 [cited by examiner]
JP 2008006861A · 2008 [cited by examiner]
JP 2020195089A · 2020 [cited by examiner]
International Search Report and Written Opinion in International Appln. No. PCT/US2023/011594, mailed on May 2, 2023, 16 pages. [cited by applicant]
International Preliminary Report on Patentability in International Appln. No. PCT/US2023/011594, mailed on Oct. 24, 2024, 11 pages. [cited by applicant]