CPC G06V 20/13 (2022.01) [G06F 18/2148 (2023.01); G06F 18/2178 (2023.01); G06F 18/2413 (2023.01); G06F 18/24317 (2023.01); G06N 5/04 (2013.01); G06N 20/00 (2019.01); G06T 7/60 (2013.01); G06V 10/40 (2022.01); G06T 2207/10032 (2013.01); G06V 2201/08 (2022.01)] | 18 Claims |
1. A non-transitory computer-readable medium comprising memory with instructions encoded thereon, the instructions, when executed, causing one or more processors to perform operations, the instructions comprising instructions to:
receive an aerial image of a geographic area that includes one or more aircrafts;
input the aerial image into a machine learning model;
receive, as output from the machine learning model, for each aircraft of the one or more aircrafts:
a bounding polygon corresponding to the aircraft,
a classification, and
a plurality of keypoints; and
for each aircraft of the one or more aircrafts, based on the output of the machine learning model:
determine a set of geometric measurements corresponding to the aircraft, wherein determining the set of geometric measurements corresponding to the aircraft comprises:
forming a triangle with a tail keypoint, a center keypoint, and either a right wing keypoint or a left wing keypoint as vertices of the triangle; and
determining a sweep angle by calculating a measurement for an angle of the triangle at a vertex corresponding to the center keypoint, wherein the angle of the triangle is trigonometrically related to the sweep angle;
compare the set of geometric measurements to a plurality of known sets of geometric measurements corresponding to the aircraft classification,
identify, based on the comparison, a known set of geometric measurements from the plurality of known sets of geometric measurements, the known set being mapped by a database to a sub-classification, and
output the sub-classification.
|