IP Library › Granted Patent US 11,790,556
Granted Patent B2
US 11,790,556 · App. 17/183,969 · Granted Oct 17, 2023

Determining optical center in an image

Inventors: Hugh Phu Nguyen (Milpitas, CA); Paul Kalapathy (Ozark, MO)
Assignee: Nvidia Corporation
G06T7/80H04N25/61
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 11,790,556
App. No.
17/183,969
Granted
Oct 17, 2023
Kind
B2
Abstract

Optical center is determined on a column-by-column and row-by-row basis by identifying brightest pixels in respective columns and rows. The brightest pixels in each column are identified and a line is fit to those pixels. Similarly, brightest pixels in each row are identified and a second line is fit to those pixels. The intersection of the two lines is the optical center.

Claims (68)

1. A computer-implemented method, comprising:

determining, for each column of a plurality of columns of pixels forming an image, a respective first pixel corresponding to a first brightest pixel;

determining, for each row of a plurality of rows of pixels forming the image, a respective second pixel corresponding to a second brightest pixel;

fitting a first fit line to the respective first pixels;

fitting a second fit line to the respective second pixels;

identifying an intersection between the first fit line and the second fit line; and

providing an identifier of the intersection to calibrate an image device used to produce the image.

2. The computer-implemented method of claim 1 , wherein the intersection corresponds to an optical center of the image.

3. The computer-implemented method of claim 1 , further comprising:

determining the image device produced the image using a fisheye lens;

removing at least a portion of one or more columns of the plurality of columns, the portion of the one or more columns corresponding to one or more pixels along at least one of a top edge or a bottom edge of the image; and

removing at least a portion of one or more rows of the plurality of rows, the portion of the one or more rows corresponding to one or more pixels along at least one of a left edge or a right edge of the image.

4. The computer-implemented method of claim 1 , further comprising:

determining a first fit curve, for each column of the plurality of columns of pixels; and

identifying a maximum point along the first fit curve, the maximum point corresponding to the respective first pixel for each column.

5. The computer-implemented method of claim 1 ,

determining a second fit curve, for each row of the plurality of rows of pixels; and

identifying a maximum point along the second fit curve, the maximum point corresponding to the respective second pixel for each row.

6. The computer-implemented method of claim 5 , wherein the second fit curve is at least one of a moving average, a quartic polynomial, a cubic polynomial, or a quadratic polynomial.

7. The computer-implemented method of claim 1 , further comprising:

determining a distance between an outlier pixel and the first fit line;

determining the distance exceeds a threshold;

generating a subset of the respective first pixels, the subset omitting the outlier pixel; and

fitting a revised first fit line to the subset of the respective first pixels.

8. The computer-implemented method of claim 7 , further comprising:

identifying the intersection between the revised first fit line and the second fit line.

9. A system, comprising:

at least one processor; and

memory storing instructions that, when executed, cause the system to:

access a flat field image;

determine a first line representative of brightest pixels for a plurality of columns of pixels forming the flat field image;

determine a second line representative of brightest pixels for a plurality of rows of pixels forming the flat field image; and

determine an intersection between the first line and the second line, the intersection corresponding to an optical center of the flat field image.

10. The system of claim 9 , wherein the instructions when executed further cause the system to:

generate at least a portion of a calibration file, the calibration file including location information for the optical center of the flat field image.

11. The system of claim 9 , wherein the instructions when executed further cause the system to:

omit at least a portion of one or more columns of the plurality of columns, the portion of the one or more columns corresponding to one or more pixels along at least one of a top edge or a bottom edge of the flat field image; and

omit at least a portion of one or more rows of the plurality of rows, the portion of the one or more rows corresponding to one or more pixels along at least one of a left edge or a right edge of the flat field image.

12. The system of claim 9 , wherein the plurality of columns correspond to each column of pixels forming the flat field image and the plurality of rows correspond to each row of pixels forming the flat field image.

13. The system of claim 9 , wherein the instructions when executed further cause the system to:

determine, for each column of the plurality of columns, a respective column fit curve;

determine, for each respective column fit curve, a respective brightest column pixel;

extract each respective brightest column pixel; and

generate a series of column pixels from the extracted brightest column pixels.

14. The system of claim 9 , wherein the instructions when executed further cause the system to:

determine, for each row of the plurality of row, a respective row fit curve;

determine, for each respective row fit curve, a respective brightest row pixel;

extract each respective brightest row pixel; and

generate a series of row pixels from the extracted brightest row pixels.

15. The system of claim 9 , wherein the optical center is at least one of a pixel location, a fractional pixel, or a floating point value.

16. A computer-implemented method, comprising:

generating, from a flat field image, respective column fit curves for a plurality of columns;

determining, from the respective column fit curves, a plurality of first pixels for each column of the plurality of columns;

generating, from the flat field image, respective row fit curves for a plurality of rows;

determining, from the respective row fit curves, a plurality of second pixels for each row of the plurality of rows;

fitting a first line to the plurality of first pixels;

fitting a second line to the plurality of second pixels; and

determining an optical center of the flat field image, based at least in part on the first line and the second line.

17. The computer-implemented method of claim 16 , wherein the optical center corresponds to an intersection between the first line and the second line.

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

determining a distance between an outlier pixel and the first line;

determining the distance exceeds a threshold;

removing the outlier pixel from the plurality of first pixels to form a second plurality of first pixels; and

refitting the first line to the second plurality of first pixels.

19. The computer-implemented method of claim 16 , wherein at least one of the row fit curves or the column fit curves are at least one of a moving average, a quartic polynomial, a cubic polynomial, or a quadratic polynomial.

20. The computer-implemented method of claim 19 , further comprising:

determining location information for the optical center; and

generating at least a portion of a calibration file, the calibration file including the location information.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2021
From: NGUYEN, HUGH PHU; KALAPATHY, PAUL
To: NVIDIA CORPORATION
Reel/Frame 055393/0183 →
Continuity (1)
Related Publication 20220270291A1 · Aug 25, 2022