IP Library Granted Patent US 10,600,210
Granted Patent B1
US 10,600,210 · App. 16/521,761 · Granted Mar 24, 2020

Data processing systems for real-time camera parameter estimation

Inventors: Leonardo Citraro (S. Antonio, CH); Pablo Márquez Neila (Lausanne, CH); Stefano Savaré (Lausanne, CH); Vivek Jayaram (Los Gatos, CA); Charles Xavier Quentin Dubout (Écublens, CH); Felix Constant Marc Renaut (Morges, CH); Andres Michael Levering Hasfura (San Antonio, TX); Horesh Beny Ben Shitrit (Echichens, CH); Pascal Fua (Vaux sur Morges, CH)
Assignee: Second Spectrum, Inc.
G06T7/80G06K9/00724G06K9/00744G06K9/00758G06N3/08
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 10,600,210
App. No.
16/521,761
Granted
Mar 24, 2020
Kind
B1
Abstract

Data processing systems are disclosed for determining semantic and person keypoints for an environment and an image and matching the keypoints for the image to the keypoints for the environment. A homography is generated based on the keypoint matching and decomposed into a matrix. Camera parameters are then determined from the matrix. A plurality of random camera poses can be generated and used to project keypoints for an environment using image keypoints. The projected keypoints can be compared to the actual keypoints for the environment to determine an error and weighting for each of the random camera poses.

Claims (79)

1. A system comprising:

one or more computer processors configured as a neural network; and

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

determining semantic keypoints for an environment;

determining semantic keypoints for an image in an image sequence;

determining person keypoints for the environment;

determining person keypoints for the image in the image sequence;

matching each of the semantic keypoints for the image to a respective semantic keypoint for the environment;

matching each of the person keypoints for the image to a respective person keypoint for the environment;

generating a homography based on the matching of each of the semantic keypoints for the image to the respective semantic keypoint for the environment and the matching of each of the person keypoints for the image to the respective person keypoint for the environment;

decomposing the homography into intrinsic parameter estimates and extrinsic parameter estimates;

refining each image in the image sequence by applying outlier rejection and particle filtering to each image in the image sequence to generate refined intrinsic parameter estimates and refined extrinsic parameter estimates; and

determining a camera parameter based on the refined intrinsic parameter estimates and the refined extrinsic parameter estimates.

2. The system of claim 1 , wherein determining the camera parameter comprises determining a camera focal length based on the refined intrinsic parameter estimates.

3. The system of claim 2 , wherein determining the camera focal length based on the refined intrinsic parameter estimates comprises:

determining a first focal length based on a first algebraic function;

determining a second focal length based on a second algebraic function; and

determining the camera focal length based on a comparison of the first focal length and the second focal length.

4. The system of claim 1 , wherein the semantic keypoints for the environment and the semantic keypoints for the image in the image sequence each have a fixed location; and wherein the person keypoints for the environment and the person keypoints for the image in the image sequence each have a movable location.

5. The system of claim 1 , wherein decomposing the homography into a matrix comprises decomposing the homography into an extrinsic parameter matrix and wherein determining the camera parameter based on the matrix comprises determining a camera pose based on the extrinsic parameter matrix.

6. The system of claim 1 , wherein the refined extrinsic parameter estimates are represented as an extrinsic parameter matrix, wherein the refined intrinsic parameter estimates are represented as an intrinsic parameter matrix, and wherein determining the camera parameter based on the on the refined intrinsic parameter estimates and the refined extrinsic parameter estimates comprises:

determining a rotation matrix based on the extrinsic parameter matrix;

determining a translation matrix based on the extrinsic parameter matrix;

orthogonalizing the rotation matrix using a singular value decomposition; and determining the camera parameter based on applying non-linear least-squares minimization to the orthogonalized rotation matrix and the translation matrix.

7. The system of claim 1 , wherein generating the homography based on the matching of each of the semantic keypoints for the image to the respective semantic keypoint for the environment and the matching of each of the person keypoints for the image to the respective person keypoint for the environment comprises:

generating a first homography based on the matching of each of the semantic keypoints for the image to the respective semantic keypoint for the environment;

projecting the semantic keypoints for the image and the person keypoints for the image to a coordinate system of the environment,

associating each projected semantic keypoint for the image with a nearest semantic keypoint for the environment based on the coordinate system of the environment;

associating each projected person keypoint for the image with a nearest person keypoint for the environment based on the coordinate system of the environment; and

generating a second homography based on the associations of the projected semantic keypoints for the image with the semantic keypoints for the environment and the projected person keypoints for the image with the person keypoints for the environment.

8. The system of claim 1 , wherein each of the person keypoints for the environment corresponds to a projection of a center of mass of a person onto a ground plane of the environment.

9. A non-transitory computer-readable medium storing computer-executable instructions for:

training a neural network to locate and identify keypoints in an image sequence corresponding to keypoints in an environment, wherein each keypoint of the keypoints in the environment has a known location;

matching each keypoint of the keypoints in the image sequence to a respective keypoint of the keypoints in the environment;

generating a homography for each image in the image sequence based on the matching of the keypoints in the image sequence to the keypoints in the environment; and

determining a camera parameter based on the homography.

10. The non-transitory computer-readable medium of claim 9 , wherein the keypoints in the image sequence and the keypoints in the environment comprise semantic keypoints having fixed locations and person keypoints having movable locations, wherein the person keypoints are determined using a tracking system.

11. The non-transitory computer-readable medium of claim 10 , wherein generating the homography for each image in the image sequence based on the matching of the keypoints in the image sequence to the keypoints in the environment comprises:

generating a first homography based on the matching of each of the semantic keypoints of the keypoints in the image sequence to a respective semantic keypoint of the keypoints in the environment;

projecting the semantic keypoints of the keypoints in the image sequence and the person keypoints of the keypoints in the image sequence to a coordinate system of the environment;

associating each projected semantic keypoint of the keypoints in the image sequence with a nearest semantic keypoint of the keypoints in the environment based on the coordinate system of the environment;

associating each projected person keypoint of the keypoints in the image sequence with a nearest person keypoint of the keypoints in the environment based on the coordinate system of the environment; and

generating a second homography based on the associations of the projected semantic keypoints of the keypoints in the image sequence with the semantic keypoints of the keypoints in the environment and the projected person keypoints of the keypoints in the image sequence with the person keypoints of the keypoints in the environment.

12. The non-transitory computer-readable medium of claim 10 , wherein each of the person keypoints in the environment corresponds to a projection of a center of a mass of a person onto a ground plane of the environment.

13. The non-transitory computer-readable medium of claim 9 , wherein each of the semantic keypoints of the keypoints in the environment is associated with one of an intersection of two or more lines configured in the environment, an endpoint of a line configured in the environment, or a corner formed by two or more lines configured in the environment.

14. The non-transitory computer-readable medium of claim 9 , wherein determining the camera parameter based on the homography comprises:

decomposing the homography into intrinsic parameter estimates and extrinsic parameter estimates;

refining images in the image sequence by applying outlier rejection and particle filtering to the images in the image sequence to generate refined intrinsic parameter estimates and refined extrinsic parameter estimates; and

determining the camera parameter based on the refined intrinsic parameter estimates and the refined extrinsic parameter estimates.

15. The non-transitory computer-readable medium of claim 14 , wherein the refined extrinsic parameter estimates are represented as an extrinsic parameter matrix, wherein the refined intrinsic parameter estimates are represented as an intrinsic parameter matrix, and wherein determining the camera parameter based on the on the refined intrinsic parameter estimates and the refined extrinsic parameter estimates comprises:

determining a rotation matrix based on the extrinsic parameter matrix;

determining a translation matrix based on the extrinsic parameter matrix;

orthogonalizing the rotation matrix using a singular value decomposition; and

determining the camera parameter based on applying non-linear least-squares minimization to the orthogonalized rotation matrix and the translation matrix.

16. A computer-implemented data-processing method for camera pose estimation, the method comprising:

determining semantic keypoints for an environment;

determining semantic keypoints for an image;

generating a plurality of random camera poses;

for each random camera pose of the plurality of random camera poses:

generating projected semantic keypoints for the image based on the semantic keypoints for the environment and the random camera pose,

determining an error value for the random camera pose based on a comparison of the projected semantic keypoints for the image and corresponding semantic keypoints for the image; and

assigning a weight to the random camera pose based on the error value.

17. The computer-implemented data-processing method of claim 16 , wherein determining the error comprises determining a distance between the projected semantic keypoint for the image and the corresponding semantic keypoint of the semantic keypoints for the image.

18. The computer-implemented data-processing method of claim 16 , further comprising:

for each random camera pose of the plurality of random camera poses:

transforming the random camera pose based on the weight assigned to the random camera pose, and

determining whether to retain the random camera pose based on the weight assigned to the random camera pose.

19. A non-transitory computer-readable medium storing computer-executable instructions for:

determining semantic keypoints for an environment;

determining semantic keypoints for an image;

determining person keypoints for the environment;

determining person keypoints for the image;

generating a plurality of random camera poses;

for each random camera pose of the plurality of random camera poses:

generating projected semantic keypoints for the environment based on the semantic keypoints for the image and the random camera pose,

generating projected person keypoints for the environment based on the person keypoints for the image and the random camera pose,

determining an error value for the random camera pose based on a comparison of the projected semantic keypoints for the environment and corresponding semantic keypoints for the environment and a comparison of the projected person keypoints for the environment and corresponding person keypoints for the environment, and

assigning a weight to the random camera pose based on the error value.

20. The non-transitory computer-readable medium of claim 19 , wherein determining the error comprises determining a distance between a projected person keypoint for the environment and a corresponding person keypoint for the environment.

Assignments (5)
SECURITY INTEREST Recorded May 1, 2026
From: GENIUS SPORTS SS, LLC
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 074544/0266 →
RELEASE OF SECURITY INTEREST Recorded May 1, 2026
From: CITIBANK, N.A.
To: GENIUS SPORTS SS, LLC
Reel/Frame 074544/0683 →
SECURITY INTEREST Recorded May 1, 2024
From: GENIUS SPORTS SS, LLC
To: CITIBANK, N.A.
Reel/Frame 067281/0470 →
MERGER Recorded Jan 23, 2023
From: SECOND SPECTRUM, INC.
To: GENIUS SPORTS SS, LLC
Reel/Frame 062449/0943 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2019
From: CITRARO, LEONARDO; NEILA, PABLO MÁRQUEZ; SAVARÈ, STEFANO; JAYARAM, VIVEK; DUBOUT, CHARLES XAVIER QUENTIN; RENAUT, FELIX CONSTANT MARC; HASFURA, ANDRES MICHAEL LEVERING; SHITRIT, HORESH BENY BEN; FUA, PASCAL
To: SECOND SPECTRUM, INC.
Reel/Frame 051102/0187 →
Cited By (6)
US 12,211,222 US 12,236,660 US 12,243,269 US 12,333,750 US 12,363,401 US 12,608,906