# US 8,786,707 B1 · Pattern-free camera calibration for mobile devices with accelerometers

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,786,707 B1
- Document ID: US8786707B1
- Status: Granted
- Kind: B1
- Application number: 13/423,918
- Filed: 2012-03-19
- Granted: 2014-07-22
- Earliest claimed: 2012-03-19
- Assignees: Google Inc.
- Applicants: Scott Ettinger
- Inventors: Scott Ettinger
- Web page: https://patentgrep.com/patent/US8786707B1

## CPC

- H04N 17/002: {for television cameras}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method for generating values for one or more camera calibration parameters is described. The camera calibration parameters may include focal length, lens distortion, and optical center of the lens. A plurality of photographs are captured from a camera on a device which includes an accelerometer. Common features are determined between the captured photographs. Accelerometer data is analyzed for each captured photograph. The values for the camera calibration parameters are generated based on the common features and the accelerometer data and stored for future use with various applications.

## Claims

### Claim 1

A method for determining one or more camera calibration parameters, comprising:
determining, by one or more computing devices, a set of common features between a plurality of photographic images taken by a camera, the set of common features including at least a portion of a same object captured in each of the photographic images;
receiving, by the one or more computing devices, acceleration data provided by an accelerometer coupled to the camera, wherein the acceleration data is received for each of the captured photographic images; and
calculating, by the one or more computing devices, values for each of the one or more calibration parameters of the camera, based on at least the determined set of common features and the received acceleration data for each of the captured photographic images;
wherein the determining includes determining the set of common features between photographic images of varying pitch or roll angle; and
wherein the calculating includes calculating a value for at least one of a focal length, a lens distortion, and an optical center associated with the camera.

### Claim 2 (depends on 1)

The method of claim 1, further comprising storing the values in a database.

### Claim 3 (depends on 1)

The method of claim 1, wherein the determining includes determining the set of common features between a plurality of photographic images using an image descriptor method.

### Claim 4 (depends on 1)

The method of claim 1, further comprising determining an error value associated with the calculated values for the one or more calibration parameters.

### Claim 5 (depends on 4)

The method of claim 4, further comprising prompting a user of the camera to capture a new plurality of photographic images if the error value is above a given threshold.

### Claim 6 (depends on 1)

The method of claim 1, wherein calculating includes calculating the values for the one or more calibration parameters via minimization of an error function.

### Claim 7 (depends on 6)

The method of claim 6, wherein minimizing the error function includes minimizing a function of initial camera calibration parameters, the set of common features, and the acceleration data.

### Claim 8 (depends on 6)

The method of claim 6, wherein minimizing the error function includes solving using a Levenberg-Marquardt minimization technique.

### Claim 9 (depends on 6)

The method of claim 6, wherein minimizing the error function includes solving a nonlinear least squares optimization technique.

### Claim 10 (depends on 1)

The method of claim 1, further comprising: accessing the calculated values for the one or more calibration parameters via a software program coupled with the camera.

### Claim 11

A mobile device system comprising:
a camera having one or more calibration parameters;
an accelerometer; and
a calibration parameter determiner, executed on one or more processors, and configured to:
determine a set of common features between a plurality of photographic images taken by the camera, the set of common features including at least a portion of a same object captured in each of the photographic images,
receive acceleration data provided by the accelerometer, wherein the acceleration data is received for each of the captured photographic images, and
calculate values for each of the one or more calibration parameters, based on at least the determined set of common features and the received acceleration data for each of the captured photographic images;
wherein determining by the one or more processors includes determining the set of common features between photographic images of varying pitch or roll angle; and
wherein calculating by the one or more processors includes calculating a value for at least one of a focal length, a lens distortion, and an optical center associated with the camera.

### Claim 12 (depends on 11)

The system of claim 11, wherein the set of common features are determined using an image descriptor method.

### Claim 13 (depends on 11)

The system of claim 11, wherein the calibration parameter determiner is further configured to determine an error value associated with the calculated values for the one or more calibration parameters.

### Claim 14 (depends on 13)

The system of claim 13, wherein the calculated values for the one or more calibration parameters are stored in a database if the error value is below a given threshold.

### Claim 15 (depends on 11)

The system of claim 11, further comprising a transmitter configured to transmit the calculated values for the one or more calibration parameters to a networked computer.

### Claim 16 (depends on 15)

The system of claim 15, wherein the transmitter is further configured to transmit the determined set of common features and the acceleration data to the networked computer.

### Claim 17 (depends on 11)

The system of claim 11, wherein the calculated values for the one or more calibration parameters are provided to a software program on the mobile device system.

### Claim 18

A networked computer system comprising:
a communication interface configured to:
receive a set of common features between a plurality of photographic images taken by a camera, the set of common features including at least a portion of a same object captured in each of the photographic images, and receive acceleration data provided by an accelerometer coupled to the camera; and
one or more processors configured to:
determine the set of common features between photographic images of varying pitch or roll angle; and
calculate values for each of the one or more calibration parameters, based on at least the set of common features and the acceleration data, the calculating including calculating a value for at least one of a focal length, a lens distortion, and an optical center associated with the camera.

### Claim 19 (depends on 18)

The system of claim 18, further comprising a database configured to store the calculated values for the one or more calibration parameters.

### Claim 20 (depends on 18)

The system of claim 18, wherein the communication interface is further configured to transmit the calculated values for the one or more calibration parameters to a mobile device associated with the camera.
