IP Library › Granted Patent US 12,455,381
Granted Patent B2
US 12,455,381 · App. 17/938,301 · Granted Oct 28, 2025

Deployment of time of flight sensor on camera

Inventors: Ian Matthew Snyder (San Francisco, CA); Nicholas Dye Abalos (San Francisco, CA); Ramkrishna Swamy (Morgan Hill, CA)
Assignee: Cisco Technology, Inc.
G01S17/89G01S7/4802G01S17/86G06T7/292G06T7/73G06V20/64G06T2207/10028G06T2207/20081
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 12,455,381
App. No.
17/938,301
Granted
Oct 28, 2025
Kind
B2
Abstract

Systems and methods for camera height detection include a time of flight (TOF) sensor included on a camera within a camera array that emits a signal in an array of points. After receiving a reflected signal at the TOF sensor, where the reflected signal is a bounce back of the emitted signal from at least a subset of the array of points, a distance to each respective point in the array is determined based on a time it takes to receive the reflected signal from each respective point in the array. A depth map is generated from each respective point, where the depth map provides distance measurements to objects within an environment of the camera. A vertical position of the camera is determined based on the depth map.

Claims (76)

1. A method for camera height detection comprising:

emitting a signal in an array of points;

receiving a reflected signal at a sensor, the reflected signal being a bounce back of the emitted signal from at least a subset of the array of points;

based on a time it takes to receive the reflected signal from each respective point in the array, determining a distance for each respective point;

generating a depth map from each respective point, the depth map providing distance measurements to objects within an environment of the camera;

determining a vertical position of the camera based on the depth map;

determining an overlapping area of pixels of a first output of the camera and a second output of at least a second camera within an array of cameras; and

generating a mesh of the array of cameras by stitching together the first output of the camera with the second output of the at least second camera based on the overlapping area and based on the vertical position of the camera as determined by the depth map.

2. The method of claim 1 , the method further comprising:

analyzing the reflected signal from each respective point in the array with a machine-learned (ML) model;

based on the ML model, assigning an object type to the objects within the environment of the camera;

determining an estimated depth map distribution in accordance with the object types at one or more distances;

matching a measured depth map distribution of the objects with the estimated depth map distribution; and

based on a match, confirming the vertical position of the camera.

3. The method of claim 1 , wherein the method further comprises:

receiving reflected signals captured by a camera positioned at a known height;

generating a training depth map from each respective point in the array; and

training an ML model based on the training depth map, wherein the ML model is generated from an analysis of the training depth map that identifies one or more depth map features that correspond to an object type, an object distance, an object size, and an object distribution within the depth map.

4. The method of claim 1 , the method further comprising:

detecting, based on a change in depth value of a subset of points within the array, that an object has entered the environment of the camera; and

triggering, based on the detection of the object, an initiation of one or more image analysis services of the camera.

5. The method of claim 1 , the method further comprising:

detecting, based on a change in depth value of a subset of points within the array, that an object is moving within the environment of the camera; and

triggering, based on the detection of movement of the object, a tracking service that initiates one or more image analysis services of the camera and any adjacent cameras capturing scenes of the environment.

6. The method of claim 1 , wherein each respective point within the reflected signal is compared against a threshold height; and wherein any points below a threshold value are detected as an obstruction between the camera and a floor of the environment.

7. A computing apparatus comprising:

a processor; and

a memory storing instructions that, when executed by the processor, configure the apparatus to:

emit a signal in an array of points;

receive a reflected signal at a sensor, the reflected signal being a bounce back of the emitted signal from at least a subset of the array of points;

based on a time it takes to receive the reflected signal from each respective point in the array, determine a distance for each respective point;

generate a depth map from each respective point, the depth map providing distance measurements to objects within an environment of the camera; and

determine a vertical position of the camera based on the depth map;

determine an overlapping area of pixels of a first output of the camera and a second output of at least a second camera within an array of cameras; and

generate a mesh of the array of cameras by stitching together the first output of the camera with the second output of the at least second camera based on the overlapping area and based on the vertical position of the camera as determined by the depth map.

8. The computing apparatus of claim 7 , wherein the instructions further configure the apparatus to:

analyze the reflected signal from each respective point in the array with a machine-learned (ML) model;

based on the ML model, assign an object type to the objects within the environment of the camera;

determine an estimated depth map distribution in accordance with the object types at one or more distances;

match a measured depth map distribution of the objects with the estimated depth map distribution; and

based on a match, confirm the vertical position of the camera.

9. The computing apparatus of claim 7 , wherein the instructions further configure the apparatus to:

receive reflected signals captured by a camera positioned at a known height;

generate a training depth map from each respective point in the array; and

train an ML model based on the training depth map, wherein the ML model is generated from an analysis of the training depth map that identifies one or more depth map features that correspond to an object type, an object distance, an object size, and an object distribution within the depth map.

10. The computing apparatus of claim 7 , wherein the instructions further configure the apparatus to:

detect, based on a change in depth value of a subset of points within the array, that an object has entered the environment of the camera; and

trigger, based on the detection of the object, an initiation of one or more image analysis services of the camera.

11. The computing apparatus of claim 7 , wherein the instructions further configure the apparatus to:

detect, based on a change in depth value of a subset of points within the array, that an object is moving within the environment of the camera; and

trigger, based on the detection of movement of the object, a tracking service that initiates one or more image analysis services of the camera and any adjacent cameras capturing scenes of the environment.

12. The computing apparatus of claim 7 , wherein each respective point within the reflected signal is compared against a threshold height; and wherein any points below a threshold value are detected as an obstruction between the camera and a floor of the environment.

13. A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that when executed by a computer, cause the computer to:

emit a signal in an array of points;

receive a reflected signal at a sensor, the reflected signal being a bounce back of the emitted signal from at least a subset of the array of points;

based on a time it takes to receive the reflected signal from each respective point in the array, determine a distance for each respective point;

generate a depth map from each respective point, the depth map providing distance measurements to objects within an environment of the camera;

determine a vertical position of the camera based on the depth map

determine an overlapping area of pixels of a first output of the camera and a second output of at least a second camera within an array of cameras; and

generate a mesh of the array of cameras by stitching together the first output of the camera with the second output of the at least second camera based on the overlapping area and based on the vertical position of the camera as determined by the depth map.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions further configure the computer to:

analyze the reflected signal from each respective point in the array with a machine-learned (ML) model;

based on the ML model, assign an object type to the objects within the environment of the camera;

determine an estimated depth map distribution in accordance with the object types at one or more distances;

match a measured depth map distribution of the objects with the estimated depth map distribution; and

based on a match, confirm the vertical position of the camera.

15. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions further configure the computer to:

receive reflected signals captured by a camera positioned at a known height;

generate a training depth map from each respective point in the array; and

train an ML model based on the training depth map, wherein the ML model is generated from an analysis of the training depth map that identifies one or more depth map features that correspond to an object type, an object distance, an object size, and an object distribution within the depth map.

16. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions further configure the computer to:

detect, based on a change in depth value of a subset of points within the array, that an object has entered the environment of the camera; and

trigger, based on the detection of the object, an initiation of one or more image analysis services of the camera.

17. The non-transitory computer-readable storage medium of claim 13 , wherein the instructions further configure the computer to:

detect, based on a change in depth value of a subset of points within the array, that an object is moving within the environment of the camera; and

trigger, based on the detection of movement of the object, a tracking service that initiates one or more image analysis services of the camera and any adjacent cameras capturing scenes of the environment.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2022
From: SNYDER, IAN MATTHEW; ABALOS, NICHOLAS DYE; SWAMY, RAMKRISHNA
To: CISCO TECHNOLOGY, INC.
Reel/Frame 061325/0627 →
Continuity (1)
Related Publication 20240118420A1 · Apr 11, 2024
References Cited (15)
US 10262238B2 · Briggs · 2019 [cited by examiner]
US 11335018B1 · Zhang · 2022 [cited by examiner]
US 20110205340A1 · Garcia · 2011 [cited by examiner]
US 20120194644A1 · Newcombe et al. · 2012 [cited by applicant]
US 20170262768A1 · Nowozin et al. · 2017 [cited by applicant]
US 20190158813A1 · Rowell et al. · 2019 [cited by applicant]
US 20190378294A1 · Zhang et al. · 2019 [cited by applicant]
US 20200098122A1 · Dal Mutto · 2020 [cited by examiner]
US 20200309898A1 · Boutaud · 2020 [cited by examiner]
US 20220244740A1 · Jiang · 2022 [cited by examiner]
CN 111489380A · 2020 [cited by examiner]
CN 112149687A · 2020 [cited by examiner]
CN 114299291A · 2022 [cited by examiner]
WO 2022111017 · 2022 [cited by applicant]
“Respective.” dictionary.cambridge.org. Cambridge Dictionary, 2025. Web. https://dictionary.cambridge.org/dictionary/english/respective. Mar. 3, 2025. (Year: 2025). [cited by examiner]