IP Library Granted Patent US 12,249,096
Granted Patent B2
US 12,249,096 · App. 17/492,405 · Granted Mar 11, 2025

Systems and methods to determine object position using images captured from mobile image collection vehicle

Inventors: Brent Ronald Frei (Bellevue, WA); Dwight Galen McMaster (Burien, WA); Michael Racine (Bellevue, WA); Jacobus du Preez (Snoqualmie, WA); William David Dimmit (Seattle, WA); Isabelle Butterfield (Bellevue, WA); Clifford Holmgren (Spanaway, WA); Dafydd Daniel Rhys-Jones (Tacoma, WA); Thayne Kollmorgen (Eugene, OR); Vivek Ullal Nayak (Seattle, WA)
Assignee: TerraClear Inc.
G06T7/74A01B43/00A01B59/042A01B69/001G05D1/0038G05D1/101G06F18/211G06F18/214G06F18/2163G06F18/217G06F18/285G06N3/045G06N3/08G06T3/00G06T7/0002G06T7/13G06T7/60G06T7/62G06T7/70G06T7/73G06V10/255G06V20/10G06V20/188G06V20/38G08G5/32G08G5/55G08G5/57B64U10/13B64U2101/30B64U2101/60B64U2201/20G06T2207/10032G06T2207/20081G06T2207/20084G06T2207/20104G06T2207/30188G06T2207/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 12,249,096
App. No.
17/492,405
Granted
Mar 11, 2025
Kind
B2
Abstract

An object identification method is disclosed. The method includes obtaining images of a target geographical area and telemetry information of an image-collection vehicle at a time of capture, analyzing each image to identify objects, and determining a position of the objects. The method further includes determining an image capture height, determining a position of the image using the capture height and the telemetry information, performing a transform on the image based on the capture height and the telemetry information, identifying the objects in the transformed image, determining first pixel locations of the objects within the transformed image, performing a reverse transform on the first pixel locations to determine second pixel locations in the image, and determining positions of the objects within the area based on the second pixel locations within the captured image and the determined image position.

Claims (78)

1. A method, comprising:

obtaining a first image of a geographical area;

performing a homography transform on the first image to generate a second image having uniform-pixel-distances based on a capture height and avionic telemetry information associated with an aerial vehicle that captured the first image;

performing image recognition on the second image to identify an object in the second image using an artificial neural network trained on a dataset of trained object parameters, wherein the second image is divided into a plurality of tiles, wherein each of the plurality of tiles is input into an artificial neural network trained on trained object parameters, and wherein a bounding box is generated for the object based on results from the artificial neural network;

determining a first pixel location of the object within the second image based on the bounding box;

performing a reverse homography transform on the first pixel location to determine a second pixel location in the first image for the object;

determining a position of the object within the geographical area based on the second pixel location within the first image and an image position associated with the aerial vehicle capturing the image; and

storing the determined position of the object.

2. The method of claim 1 , wherein obtaining the first image of the geographical comprises:

capturing, via a camera on the aerial vehicle, the first image; and

recording the avionic telemetry information of the aerial vehicle at a time of capture of the first image.

3. The method of claim 1 , wherein obtaining the first image of the geographical area comprises:

employing the aerial vehicle to traverse over the geographical area;

capturing, via a camera on the aerial vehicle, the first image as the aerial vehicle traverses over the geographical area; and

capturing the avionic telemetry information of the aerial vehicle when first image is captured.

4. The method of claim 1 , wherein obtaining the first image of the geographical area comprises:

selecting a target pixel-to-physical distance resolution for the first image;

determining a maximum travel height for the aerial vehicle based on the target pixel-to-physical distance resolution and one or more sensing characteristics of a camera on the aerial vehicle;

employing the aerial vehicle to traverse over the geographical area at the maximum travel height relative to a low point on the geographical area; and

capturing the first image as the aerial vehicle traverses over the geographical area.

5. The method of claim 4 , wherein the target pixel-to-physical distance resolution is an image portion of 15 pixels by 15 pixels that corresponds to a four inch square of the geographical area.

6. The method of claim 1 , wherein the avionic telemetry information includes at least two of: global positioning system location, pitch of the image-collection vehicle, roll of the image-collection vehicle, yaw of the image-collection vehicle, heading of the image-collection vehicle, and altitude of the image-collection vehicle.

7. The method of claim 1 , further comprising:

selecting the trained object parameters from a plurality of datasets of trained object parameters based on at least one of: time of year, type of crop planted in the geographical area, status of the crop, expected type of object, or expected type of non-cultivated vegetation.

8. The method of claim 1 , further comprising:

performing the image recognition on the second image to identify a second object in the second image based on the trained object parameters;

determining a third pixel location of the second object within the second image; and

ignoring the second object as a duplicate object in response to the third pixel location being within a threshold distance from the first pixel location of the object.

9. The method of claim 1 , further comprising:

employing an object-collection system to pick up the object based on the stored location of the object.

10. A system, comprising:

an aerial vehicle including:

a camera;

a first processor; and

a first memory that stores first computer instructions that, when executed by the first processor, cause the first processor to:

control movement of the aerial vehicle over a geographical area;

capture, via the camera, a first image of the geographical area; and

record a capture height of the aerial vehicle and avionic telemetry information of the aerial vehicle when the first image is captured;

a server including:

a second processor; and

a second memory that stores second computer instructions that, when executed by the second processor, cause the second processor to:

obtain the first image and the avionic telemetry information;

perform a homography transform on the first image to generate a second image having uniform-pixel-distances per ground unit based on the capture height and the avionic telemetry information;

perform image recognition on the second image to identify an object in the second image using an artificial neural network trained on a dataset of trained object parameters, wherein the second image is divided into a plurality of tiles, wherein each of the plurality of tiles is input into an artificial neural network trained on trained object parameters, and wherein a bounding box is generated for the object based on results from the artificial neural network;

determine a first pixel location of the object within the second image based on the bounding box;

perform a reverse homography transform on the first pixel location to determine a second pixel location in the first image for the object;

determine a position of the object within the geographical area based on the second pixel location within the first image and the capture height and the avionic telemetry information; and

store the determined position of the object.

11. The system of claim 10 , wherein execution of the first computer instructions by the first processor to control movement of the aerial vehicle causes the first processor to:

receive a travel plan indicating a travel path for the aerial vehicle to move over the geographical area; and

control movement of the aerial vehicle along the travel path over the geographical area based on the travel plan.

12. The system of claim 10 , wherein execution of the first computer instructions by the first processor causes the first processor to:

select a target pixel-to-physical distance resolution for the first image;

determine a maximum travel height for the aerial vehicle based on the target pixel-to-physical distance resolution and one or more sensing characteristics of the camera on the aerial vehicle;

employ the aerial vehicle to traverse over the geographical area at the maximum travel height relative to a low point on the geographical area; and

capture the first image as the aerial vehicle traverses over the geographical area.

13. The system of claim 12 , wherein the target pixel-to-physical distance resolution is an image portion of 15 pixels by 15 pixels that corresponds to a four inch square of the geographical area.

14. The system of claim 10 , wherein execution of the second computer instructions by the second processor causes the second processor to:

select a dataset of trained object parameters from a plurality of datasets of trained object parameters based on at least one of: time of year, type of crop planted in the geographical area, status of the crop, expected type of object, or expected type of non-cultivated vegetation.

15. The system of claim 10 , wherein execution of the second computer instructions by the second processor causes the second processor to:

perform the image recognition on the second image to identify a second object in the second image;

determine a third pixel location of the second object within the second image; and

ignore the second object as a duplicate object in response to the third pixel location being within a threshold distance from the first pixel location of the object.

16. The system of claim 10 , wherein execution of the second computer instructions by the second processor causes the second processor to:

determine an orientation of a third image of the geographic area relative to the first image, wherein the first image includes the object and the third image includes a second object;

determine if the second object is a duplicate of the object based on a pixel distance between the object and the second object and the determined orientation; and

in response to determining that the second object is a duplicate, ignoring storage of a position of the second object.

17. The system of claim 10 , wherein the second processor on the object-detection server is the first processor on the image-collection vehicle.

18. An object-detection computing device, comprising:

a memory that stores second computer instructions; and

a processor that is configured to execute the computer instructions to:

obtain a first image of a geographic area;

perform a homography transform on the first image to generate a second image having a uniform-pixel-distance per ground unit based on an image height and avionic telemetry information associated with an aerial vehicle that captured the first image;

perform image recognition on the second image to identify an object in the second image using an artificial neural network trained on a dataset of trained object parameters, wherein the second image is divided into a plurality of tiles, wherein each of the plurality of tiles is input into an artificial neural network trained on trained object parameters, and wherein a bounding box is generated for the object based on results from the artificial neural network;

determine a first pixel location of the object within the second image based on the bounding box or segmented search zones that are searched by the trained artificial neural network;

perform a reverse homography transform on the first pixel location to determine a second pixel location in the first image;

determine a position of the object within the geographical area based on the second pixel location within the first image and the image height and the avionic telemetry information; and

store the determined position of the object.

Continuity (3)
Continuation 16510717 · Jul 12, 2019
Provisional Application 62697057 · Jul 12, 2018
Related Publication 20220028048A1 · Jan 27, 2022
References Cited (61)
US 6456991B1 · Srinivasa et al. · 2002 [cited by applicant]
US 6792147B1 · Saka · 2004 [cited by examiner]
US 8903177B2 · Livet et al. · 2014 [cited by applicant]
US 9514389B1 · Erhan · 2016 [cited by examiner]
US 9607220B1 · Smith et al. · 2017 [cited by applicant]
US 9811082B2 · Tillmann · 2017 [cited by examiner]
US 9830706B2 · Barajas Hernandez · 2017 [cited by examiner]
US 10189568B2 · O'Connor et al. · 2019 [cited by applicant]
US 10303172B2 · Hwang et al. · 2019 [cited by applicant]
US 10796275B1 · Wilkins · 2020 [cited by examiner]
US 10861184B1 · Kalakrishnan et al. · 2020 [cited by applicant]
US 20030165258A1 · Kubota et al. · 2003 [cited by applicant]
US 20080159622A1 · Agnihotri et al. · 2008 [cited by applicant]
US 20090038186A1 · Osswald et al. · 2009 [cited by applicant]
US 20100250024A1 · Macedo Ribeiro et al. · 2010 [cited by applicant]
US 20110053642A1 · Lee · 2011 [cited by applicant]
US 20110305445A1 · Yasuda et al. · 2011 [cited by applicant]
US 20120124037A1 · Lee et al. · 2012 [cited by applicant]
US 20120201469A1 · Livet · 2012 [cited by examiner]
US 20120290152A1 · Cheung et al. · 2012 [cited by applicant]
US 20140007730A1 · DeLouis · 2014 [cited by applicant]
US 20140211987A1 · Fan et al. · 2014 [cited by applicant]
US 20140343955A1 · Raman · 2014 [cited by applicant]
US 20160063420A1 · Tomii et al. · 2016 [cited by applicant]
US 20160070265A1 · Liu et al. · 2016 [cited by applicant]
US 20160202227A1 · Mathur et al. · 2016 [cited by applicant]
US 20160309650A1 · Jens et al. · 2016 [cited by applicant]
US 20160340120A1 · Curotto et al. · 2016 [cited by applicant]
US 20160378109A1 · Raffa et al. · 2016 [cited by applicant]
US 20170154273A1 · Guttman · 2017 [cited by applicant]
US 20170300514A1 · Yan et al. · 2017 [cited by applicant]
US 20170351933A1 · Bleiweiss · 2017 [cited by examiner]
US 20180109767A1 · Li · 2018 [cited by examiner]
US 20180150718A1 · Omari et al. · 2018 [cited by applicant]
US 20180189971A1 · Hildreth · 2018 [cited by applicant]
US 20180319396A1 · Foster et al. · 2018 [cited by applicant]
US 20180335779A1 · Fisher et al. · 2018 [cited by applicant]
US 20190028676A1 · Koga et al. · 2019 [cited by applicant]
US 20190049968A1 · Dean et al. · 2019 [cited by applicant]
US 20190050685A1 · Kaminski · 2019 [cited by examiner]
US 20190166765A1 · Maor · 2019 [cited by applicant]
US 20190294914A1 · Fevold et al. · 2019 [cited by applicant]
US 20190318636A1 · Gu · 2019 [cited by applicant]
BE 1024513B1 · 2018 [cited by applicant]
CA 2359237A1 · 2000 [cited by applicant]
CA 3034059A1 · 2018 [cited by applicant]
CA 3024573C · 2021 [cited by applicant]
KR 1020170065337A · 2017 [cited by applicant]
WO 2008048700A2 · 2008 [cited by applicant]
WO 2013097252A1 · 2013 [cited by applicant]
WO 2016123656A1 · 2016 [cited by applicant]
WO 2017077543A1 · 2017 [cited by applicant]
WO 2017144291A1 · 2017 [cited by applicant]
WO 2017170651A1 · 2017 [cited by applicant]
WO 2017199088A1 · 2017 [cited by applicant]
WO 2018033922A1 · 2018 [cited by applicant]
WO 2018087546A1 · 2018 [cited by applicant]
WO 2018201180A · 2018 [cited by applicant]
Shi et al., “Ship Classification Based on Multifeature Ensemble with Convolutional Neural Network,” Remote Sensing, Feb. 18, 2019, 21 pages. [cited by applicant]
Wen et al., “Ensemble of Deep Neural Networks with Probability-Based Fusion for Facial Expression Recognition,” [cited by applicant]
Lehnert et al., “Autonomous Sweet Pepper Harvesting for Protected Cropping Systems,” [cited by applicant]