Extrinsic camera calibration using calibration object
AssigneeObjectVideo Labs, LLC
InventorsGang Qian, Allison Beach
Life of this patent
Estimating the term…
Abstract
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for extrinsic camera calibration using a calibration object. One of the methods includes: determining physical locations of interest points of a calibration object in a calibration object centered coordinate system; determining pixel locations of the interest points in an image of the calibration object captured by a camera; determining, using the pixel locations and the physical locations, a transformation from the calibration object centered coordinate system to a camera centered coordinate system; and determining, using the transformation, a camera tilt angle and a camera mount height of the camera for use in analyzing images captured by the camera.
Claims20
A computer-implemented method comprising:
- maintaining, in a virtual space and simulating an image capture by a camera, a projection of an image depicting a calibration object onto a field of view of the camera;
- generating, using the projection of the image onto the field of view of the camera in the virtual space, two or more simulated views of the calibration object in the virtual space;
- detecting, for each of the two or more simulated views in the virtual space, a plurality of interest points for the calibration object, at least some of the interest points for different simulated views from the two or more simulated views comprising different data;
- aggregating, for each common interest point included in at least two of the plurality of interest points for the two or more simulated views in the virtual space and for the calibration object, data for the common interest point for the calibration object using the different data from the respective interest points that represent the common interest point;
- selecting, from the plurality of interest points and using the aggregated data for the common interest points, a subset of interest points;
- determining an estimated center location of the calibration object in the image using the subset of interest points, comprising:
- generating candidate center locations using descriptors for multiple interest point matched pairs from the subset of interest points;
- generating one or more clusters of the candidate center locations using a clustering algorithm;
- and
- identifying, from the one or more clusters, a centroid of a largest cluster as the estimated center location of the calibration object in the image;
- determining physical locations of the subset of interest points of the calibration object in a calibration object centered coordinate system;
- determining pixel locations of the subset of interest points in the image of the calibration object captured by the camera;
- determining, using (i) the estimated center location of the calibration object, (ii) the pixel locations, and (iii) the physical locations, a transformation from the calibration object centered coordinate system to a camera centered coordinate system;
- determining, using the transformation, a camera tilt angle and a camera mount height of the camera for use in analyzing images captured by the camera;
- and
- transmitting, to a monitoring system, a target image and data indicating the camera tilt angle and the camera mount height to cause the monitoring system to analyze the target image captured by the camera using the camera tilt angle and the camera mount height.
A system comprising one or more computers and one or more storage devices on which are stored instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:
- maintaining, in a virtual space and simulating an image capture by a camera, a projection of an image depicting a calibration object onto a field of view of the camera;
- generating, using the projection of the image onto the field of view of the camera in the virtual space, two or more simulated views of the calibration object in the virtual space;
- detecting, for each of the two or more simulated views in the virtual space, a plurality of interest points for the calibration object, at least some of the interest points for different simulated views from the two or more simulated views comprising different data;
- aggregating, for each common interest point included in at least two of the plurality of interest points for the two or more simulated views in the virtual space and for the calibration object, data for the common interest point for the calibration object using the different data from the respective interest points that represent the common interest point;
- selecting, from the plurality of interest points and using the aggregated data for the common interest points, a subset of interest points;
- determining an estimated center location of the calibration object in the image using the subset of interest points, comprising:
- generating candidate center locations using descriptors for multiple interest point matched pairs from the subset of interest points;
- generating one or more clusters of the candidate center locations using a clustering algorithm;
- and
- identifying, from the one or more clusters, a centroid of a largest cluster as the estimated center location of the calibration object in the image;
- determining physical locations of the subset of interest points of the calibration object in a calibration object centered coordinate system;
- determining pixel locations of the subset of interest points in the image of the calibration object captured by the camera;
- determining, using (i) the estimated center location of the calibration object, (ii) the pixel locations, and (iii) the physical locations, a transformation from the calibration object centered coordinate system to a camera centered coordinate system;
- determining, using the transformation, a camera tilt angle and a camera mount height of the camera for use in analyzing images captured by the camera;
- and
- transmitting, to a monitoring system, a target image and data indicating the camera tilt angle and the camera mount height to cause the monitoring system to analyze the target image captured by the camera using the camera tilt angle and the camera mount height.
A non-transitory computer storage medium encoded with instructions that, when executed by one or more computers, cause the one or more computers to perform operations comprising:
- maintaining, in a virtual space and simulating an image capture by a camera, a projection of an image depicting a calibration object onto a field of view of the camera;
- generating, using the projection of the image onto the field of view of the camera in the virtual space, two or more simulated views of the calibration object in the virtual space;
- detecting, for each of the two or more simulated views in the virtual space, a plurality of interest points for the calibration object, at least some of the interest points for different simulated views from the two or more simulated views comprising different data;
- aggregating, for each common interest point included in at least two of the plurality of interest points for the two or more simulated views in the virtual space and for the calibration object, data for the common interest point for the calibration object using the different data from the respective interest points that represent the common interest point;
- selecting, from the plurality of interest points and using the aggregated data for the common interest points, a subset of interest points;
- determining an estimated center location of the calibration object in the image using the subset of interest points, comprising:
- generating candidate center locations using descriptors for multiple interest point matched pairs from the subset of interest points;
- generating one or more clusters of the candidate center locations using a clustering algorithm;
- and
- identifying, from the one or more clusters, a centroid of a largest cluster as the estimated center location of the calibration object in the image;
- determining physical locations of the subset of interest points of the calibration object in a calibration object centered coordinate system;
- determining pixel locations of the subset of interest points in the image of the calibration object captured by the camera;
- determining, using (i) the estimated center location of the calibration object, (ii) the pixel locations, and (iii) the physical locations, a transformation from the calibration object centered coordinate system to a camera centered coordinate system;
- determining, using the transformation, a camera tilt angle and a camera mount height of the camera for use in analyzing images captured by the camera;
- and
- transmitting, to a monitoring system, a target image and data indicating the camera tilt angle and the camera mount height to cause the monitoring system to analyze the target image captured by the camera using the camera tilt angle and the camera mount height.
Dependencies are inferred from the claim text.