IP Library › Granted Patent US 10,957,074
Granted Patent B2
US 10,957,074 · App. 16/261,297 · Granted Mar 23, 2021

Calibrating cameras using human skeleton

Inventors: Hongli Deng (Bellevue, WA); Zicheng Liu (Bellevue, WA)
Assignee: Microsoft Technology Licensing, LLC
G06T7/80G06T7/70
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,957,074
App. No.
16/261,297
Granted
Mar 23, 2021
Kind
B2
Abstract

Examples are disclosed herein that relate to automatically calibrating cameras based on human detection. One example provides a computing system comprising instructions executable to receive image data comprising depth image data and two-dimensional image data of a space from a camera, detect a person in the space via the image data, determine a skeletal representation for the person via the image data, determine over a period of time a plurality of locations at which a reference point of the skeletal representation is on a ground area in the image data, determine a ground plane of the three-dimensional representation based upon the plurality of locations at which the reference point of the skeletal representation is on the ground area in the image data, and track a location of an object within the space relative to the ground plane.

Claims (20)

1. A computing system comprising:

a processor; and

storage comprising instructions executable by the processor to:

receive a first image from a first camera and a second image from a second camera having an overlapping field of view with the first camera,

detect a skeleton location of a person in the first image and detect the skeleton location of the person in the second image in a region of each image at which fields of view of the first camera and the second camera overlap,

determine a geometric relationship between the cameras of the camera pair based upon comparing coordinates of the skeleton location of the person in the first camera and coordinates of the skeleton location of the person in the second camera,

determine a camera connection graph based on the geometric relationships between the cameras of the camera pairs,

determine a primary camera from the camera connection graph,

determine coordinate mappings defining a spatial relationship between the primary camera and each of one or more other cameras of the plurality of cameras, and

track an object that moves between fields of view of two or more cameras of the plurality of cameras based upon the coordinate mappings.

2. The computing system of claim 1 , wherein the instructions are executable to determine the geometric relationship between the cameras of each camera pair based on comparing a skeletal representation of the person in the first image and a skeletal representation of the person in the second image.

3. The computing system of claim 1 , wherein the instructions are further executable to determine a pairwise connection cost for each of the one or more camera pairs, and determine the camera connection graph based on the pairwise connection costs.

4. The computing system of claim 3 , wherein the instructions are executable to determine the pairwise connection cost for each of the one or more camera pairs by applying a 3D rigid transformation matrix using a linear fitting algorithm and/or a RANSAC fitting algorithm.

5. The computing system of claim 3 , wherein the instructions are executable to determine the camera connection graph by applying a minimum spanning tree algorithm based upon the pairwise connection costs.

6. The computing system of claim 3 , wherein the instructions are further executable to determine the primary camera based at least on a number of other cameras connected to the primary camera in the camera connection graph.

7. The computing system of claim 3 , wherein the instructions are further executable to divide the camera connection graph into two or more subgraphs based upon the pairwise connection costs.

8. The computing system of claim 1 , wherein the instructions are executable to determine the coordinate mappings between the primary camera and each of one or more other cameras of the plurality of cameras by applying a shortest path algorithm.

9. The computing system of claim 1 , wherein the primary camera is a first primary camera, and wherein the instructions are further executable to determine a second primary camera from the camera connection graph, and determine coordinate mappings defining a spatial relationship between the second primary camera and each of one or more other cameras of the plurality of cameras.

10. The computing system of claim 1 , wherein the instructions are further executable to apply a human detection algorithm to track the person separately from other persons detected by one or more of the plurality of cameras.

11. The computing system of claim 1 , wherein the instructions are further executable to determine a ground plane of the space based on locations at which a reference point of the skeletal representation of the person contacted a three-dimensional representation of the space by combining the ground plane estimation in the plurality of cameras.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2019
From: DENG, HONGLI; LIU, ZICHENG
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 048171/0182 →
Continuity (1)
Related Publication 20200242805A1 · Jul 30, 2020
Cited By (1)
US 12,261,991