Patent ID: 11861855
Assignee: DEKA PRODUCTS LIMITED PARTNERSHIP
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 9:
10. A system for point cloud (PC) registration of ground PC data to aerial PC data, the system comprising:
a surface grid processor configured to create a surface grid from the ground PC data, including surfaces located in the ground PC data;
a sector processor configured to break the surface grid into sectors and align the sectors, defining aligned sectors;
a ground rigid feature processor configured to locate ground rigid features within the aligned sectors;
an aerial rigid features processor configured to locate aerial rigid features within the aerial PC data;
a registration processor configured to register the ground rigid features to the aerial rigid features, defining a transform; and
a transformation processor configured to transform the ground PC data according to the transform;
wherein the sector processor comprises computer code configured for executing instructions for:
(a) choosing candidate adjacent sectors;
(b) determining a minimum distance between points in the candidate adjacent sectors;
(c) if the minimum distance is less than or equal to a first threshold, defining the candidate adjacent sectors as aligned sectors and returning to (a);
(d) if the minimum distance is greater than the first threshold, calculating an average distance among all points in the candidate adjacent sectors;
(e) if the average distance is less than or equal to a second threshold, defining the candidate adjacent sectors as aligned sectors and returning to (a);
(f) if the average distance is greater than the second threshold,
(1) determining coordinates for each of the corners of each of the candidate adjacent sectors; and
(2) determining a transform for each of the corners of each of the candidate adjacent sectors;
(3) determining distances among each of the corners of each of the candidate adjacent sectors based on the coordinates;
(4) determining a relationship among each of the distances among each of the corners of each of the candidate adjacent sectors in adjacent corners, the relationship being associated with a line connecting the corners of each of the candidate adjacent sectors;

(g) if the average distance is less than or equal to a third threshold, defining the candidate adjacent sectors as aligned sectors and returning to (a);
(i) if the average distance is greater than the third threshold, evaluating alignment among all adjacent sectors;
(k) sorting the adjacent sectors based on a number of aligned neighbors forming a sorted list of sectors;
(l) choosing one of the adjacent sectors from the sorted list of sectors that has a largest number, but not all, of aligned neighbors and defining a chosen sector;
(m) applying the transform from the chosen sector to a non-aligned neighbor at an adjacent one of the corners of each of the candidate adjacent sectors;
(n) if the non-aligned sector has another non-aligned neighbor, and if a corner of the non-aligned neighbor would be used for alignment with a same corner that is being aligned with the chosen sector,
(1) averaging the transforms of the same corner; and
(2) applying the averaged transform to the non-aligned sector;

(o) if the non-aligned sector does not have another non-aligned neighbor, and if there are more sectors to align, returning to (a); and
(p) if one of the corners of the non-aligned neighbor would not be used for alignment with a same of the corners that is being aligned with the chosen sector, continuing at (n).