IP Library Granted Patent US 11,711,617
Granted Patent B2
US 11,711,617 · App. 17/691,902 · Granted Jul 25, 2023

Automated camera positioning for feeding behavior monitoring

Inventors: Barnaby John James (Los Gatos, CA); Grace Taixi Brentano (Redwood City, CA); Laura Valentine Chrobak (Menlo Park, CA); Zhaoying Yao (Palo Alto, CA)
Assignee: X Development LLC
H04N23/695A01K61/80G06T7/80H04N7/18G06T2207/30232G06T2207/30244
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,711,617
App. No.
17/691,902
Granted
Jul 25, 2023
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer-readable storage media, for automated camera positioning for feeding behavior monitoring. In some implementations, a system obtains an image of a scene, a spatial model that corresponds to a subfeeder, and calibration parameters of a camera, the system determines a size of the subfeeder in the image of the scene, the system selects an updated position of the camera relative to the subfeeder, the system provides the updated position of the camera relative to the subfeeder to a winch controller, and the system moves the camera to the updated position.

Claims (61)

1. A method comprising:

obtaining, by a camera of a control system that includes (i) the camera, ii) a subfeeder that includes a pipe that delivers feed underwater, (iii) a position estimator, and (iv) a winch controller, an image of a scene;

obtaining, by the position estimator, a spatial model that corresponds to the subfeeder;

obtaining, by the position estimator, calibration parameters of the camera;

determining, by the position estimator and based on the spatial model, the image of the scene, and the calibration parameters of the camera, a size of the subfeeder in the image of the scene;

selecting, by the position estimator and based on the size of the subfeeder in the image of the scene, an updated position of the camera relative to the subfeeder;

providing, by the position estimator, the updated position of the camera relative to the subfeeder to the winch controller; and

moving, by the winch controller, the camera to the updated position.

2. The method of claim 1 , wherein selecting, by the position estimator and based on the size of the subfeeder in the image of the scene, the updated position of the camera comprises: dynamically selecting the updated position of the camera relative to the subfeeder.

3. The method of claim 1 , wherein the updated position comprises a preferred position of the camera relative to the subfeeder associated with the spatial model of the subfeeder.

4. The method of claim 1 , wherein selecting, by the position estimator and based on the size of the subfeeder in the image of the scene, the updated position of the camera relative to the subfeeder, comprises:

determining a depth of the subfeeder that characterizes a distance of the camera that obtained the image of the scene from the subfeeder;

determining, based on the depth of the subfeeder, a current position of the camera relative to the subfeeder; and

selecting, based on the current position of the camera relative to the subfeeder, the updated position of the camera relative to the subfeeder.

5. The method of claim 4 , wherein determining the depth of the subfeeder that characterizes the distance of the camera that obtained the image of the scene from the subfeeder comprises:

determining a number of pixels in the image of the scene that depict the subfeeder.

6. The method of claim 4 , wherein determining the depth of the subfeeder that characterizes the distance of the camera that obtained the image of the scene from the subfeeder comprises:

correlating the spatial model of the subfeeder within the image of the scene with the calibration parameters of the camera.

7. The method of claim 1 , wherein, in the image of the scene, the subfeeder is at least partially obscured by another object.

8. The method of claim 1 , comprising:

determining, by the position estimator, based on the spatial model of the subfeeder, the calibration parameters of the camera, and the image of the scene, a current position of the camera relative to the subfeeder, and

wherein selecting, by the position estimator and based on the size of the subfeeder in the image of the scene, an updated position of the camera relative to the subfeeder comprises:

selecting the updated position of the camera relative to the subfeeder such that a feed is visible within the image of the scene.

9. The method of claim 8 , wherein determining, by the position estimator, based on the spatial model of the subfeeder, the calibration parameters of the camera, and the image of the scene, the current position of the camera relative to the subfeeder comprises:

determining that at the current position of the camera relative to the subfeeder a feed is not visible within the image of the scene.

10. A system comprising one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

obtaining an image of a scene;

obtaining a spatial model that corresponds to a subfeeder;

obtaining calibration parameters of a camera that captured the image of the scene;

determining, based on the spatial model, the image of the scene, and the calibration parameters of the camera, a size of the subfeeder in the image of the scene;

selecting, based on the size of the subfeeder in the image of the scene, an updated position of the camera relative to the subfeeder;

providing the updated position of the camera relative to the subfeeder to a winch controller; and

moving the camera to the updated position.

11. The system of claim 10 , wherein selecting, based on the size of the subfeeder in the image of the scene, the updated position of the camera comprises:

dynamically selecting the updated position of the camera relative to the subfeeder.

12. The system of claim 10 , wherein the updated position comprises a preferred position of the camera relative to the subfeeder associated with the spatial model of the subfeeder.

13. The system of claim 10 , wherein selecting, based on the size of the subfeeder in the image of the scene, the updated position of the camera relative to the subfeeder, comprises:

determining a depth of the subfeeder that characterizes a distance of the camera that obtained the image of the scene from the subfeeder;

determining, based on the depth of the subfeeder, a current position of the camera relative to the subfeeder; and

selecting, based on the current position of the camera relative to the subfeeder, the updated position of the camera relative to the subfeeder.

14. The system of claim 13 , wherein determining the depth of the subfeeder that characterizes the distance of the camera that obtained the image of the scene from the subfeeder comprises:

determining a number of pixels in the image of the scene that depict the subfeeder.

15. The system of claim 13 , wherein determining the depth of the subfeeder that characterizes the distance of the camera that obtained the image of the scene from the subfeeder comprises:

correlating the spatial model of the subfeeder within the image of the scene with the calibration parameters of the camera.

16. One or more non-transitory computer-readable storage medium coupled to one or more processors that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

obtaining an image of a scene;

obtaining a spatial model that corresponds to a subfeeder;

obtaining calibration parameters of a camera that captured the image of the scene;

determining, based on the spatial model, the image of the scene, and the calibration parameters of the camera, a size of the subfeeder in the image of the scene;

selecting, based on the size of the subfeeder in the image of the scene, an updated position of the camera relative to the subfeeder;

providing the updated position of the camera relative to the subfeeder to a winch controller; and

moving the camera to the updated position.

17. The one or more non-transitory computer-readable storage medium of claim 16 , wherein selecting, based on the size of the subfeeder in the image of the scene, the updated position of the camera comprises:

dynamically selecting the updated position of the camera relative to the subfeeder.

18. The one or more non-transitory computer-readable storage medium of claim 16 , wherein the updated position comprises a preferred position of the camera relative to the subfeeder associated with the spatial model of the subfeeder.

19. The one or more non-transitory computer-readable storage medium of claim 16 , wherein selecting, based on the size of the subfeeder in the image of the scene, the updated position of the camera relative to the subfeeder, comprises:

determining a depth of the subfeeder that characterizes a distance of the camera that obtained the image of the scene from the subfeeder;

determining, based on the depth of the subfeeder, a current position of the camera relative to the subfeeder; and

selecting, based on the current position of the camera relative to the subfeeder, the updated position of the camera relative to the subfeeder.

20. The one or more non-transitory computer-readable storage medium of claim 19 , wherein determining the depth of the subfeeder that characterizes the distance of the camera that obtained the image of the scene from the subfeeder comprises:

determining a number of pixels in the image of the scene that depict the subfeeder.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2024
From: X DEVELOPMENT LLC
To: TIDALX AI INC.
Reel/Frame 068477/0306 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2022
From: JAMES, BARNABY JOHN; BRENTANO, GRACE TAIXI; CHROBAK, LAURA VALENTINE; YAO, ZHAOYING
To: X DEVELOPMENT LLC
Reel/Frame 059296/0524 →