IP Library Granted Patent US 12,394,151
Granted Patent B1
US 12,394,151 · App. 18/379,924 · Granted Aug 19, 2025

Anomaly and change detection in 3D roadway models

Inventors: Scott Devoe (New London, NH); Nicholas Woodfield (Sherman, CT)
Assignee: Bentley Systems, Incorporated
G06T17/05G06T17/20
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,394,151
App. No.
18/379,924
Granted
Aug 19, 2025
Kind
B1
Abstract

In example embodiments, anomaly and change detection software of a cloud-based design review service is provided for detecting anomalies and/or changes in 3D roadway models. The software analyzes the constituent meshes of the 3D roadway model that represent components and extracts template drops at locations along a horizontal alignment to produce an ordered list of template drops. The software then looks to differences in depths, widths, cross slopes and/or other geometric properties manifest in individual template drops, or between preceding/subsequent template drops of the ordered list, to detect anomalies and/or changes. Indications of the components associated with the detected anomalies and/or changes are displayed in a visualization of the 3D roadway model in a user interface.

Claims (70)

1. A method detecting anomalies and/or changes in a three-dimensional (3D) roadway model, comprising:

extracting, by software executing on one or more computing devices, a plurality of template drops from the 3D roadway model at locations along a horizontal alignment to produce an ordered list of template drops;

constructing, by the software for each template drop on the ordered list, a graph indicating adjacency between components whose cross sections are represented in the template drop;

determining, by the software for each template drop of the ordered list, components that have inconsistent depth in the template drop by comparing distance between top and bottom line segments of components, and flagging components that have inconsistent depth;

expanding, by the software, the graph to also indicate adjacency of components between template drops by matching the components of each template drop with components in a preceding template drop or a subsequent template drop of the ordered list and identifying any continuation of components;

determining, by the software, gaps or overlaps between adjacent components indicated in the graph by comparing line segments of adjacent components, and flagging components with line segments that differ in geometry by more than a threshold amount or lack overlapping line segments; and

displaying, by the software, a visualization of the 3D roadway model including indications of the flagged components.

2. The method of claim 1 , further comprising:

determining, by the software, component changes, creating connections in the graph to indicate adjacency between starting and stopping components of the component changes, and flagging components associated with the component changes.

3. The method of claim 2 , wherein the determining component changes further comprises:

detecting component changes that occur at a template drop by comparing the components at each template drop and identifying components whose line segments substantially overlap; and

detecting component changes that occur between template drops by translating line segments of components at each template drop to a preceding template drop of the ordered list or a subsequent template drop of the ordered list, and identifying components whose line segments substantially overlap.

4. The method of claim 1 , further comprising:

determining, by the software, geometry changes that occur between template drops by comparing components of each template drop with adjacent components in a preceding template drop of the ordered list or a subsequent template drop of the ordered list, and flagging components associated with the geometry changes.

5. The method of claim 1 , wherein the constructing the graph further comprises:

for each top surface component, identifying a stack of components in the template drop under the top surface component, the stack of components including a plurality of layers;

for each layer of each stack, identifying horizontally adjacent layers in the template drop from other stacks.

6. The method of claim 5 , wherein the identifying the stack of components comprises:

calculating horizontal range in the template drop of the top surface component;

calculating horizontal range in the template drop of each of a plurality of candidate components; and

adding candidate components having horizontal range that overlaps horizontal range of the top surface component to the stack by at least a horizontal search threshold.

7. The method of claim 6 , wherein the identifying the stack of components further comprises:

for each added component of the stack, searching for horizontally adjacent components within the stack;

grouping horizontally adjacent components that are within a horizontal search threshold into a layer; and

sorting layers of the stack from a layer that includes the top surface component to a layer that includes a bottom surface component.

8. The method of claim 1 , wherein the determining gaps or overlaps between adjacent components indicated in the graph further comprises:

determining, by the software, changes to lengths or slopes of line segments of adjacent components indicated in the graph that exceed a change detection threshold, and flagging components with changes that exceed the change detection threshold.

9. The method of claim 1 , wherein the determining gaps or overlaps between adjacent components further comprises:

determining components in a same layer that are horizontally adjacent lack overlapping or shared vertical edges.

10. The method of claim 1 , wherein the determining gaps or overlaps between adjacent components further comprises:

determining components of different layers that are vertically adjacent lack overlapping or shared horizontal edges.

11. The method of claim 1 , wherein the determining gaps or overlaps between adjacent components further comprises:

determining components that overlap area of another component.

12. A non-transitory computing device readable medium having instructions stored thereon, the instructions when executed by one or more computing devices operable to:

extract a plurality of template drops from the three-dimensional (3D) roadway model at locations along a horizontal alignment to produce an ordered list of template drops;

construct a graph indicating adjacency between components whose cross sections are represented in the template drop;

expand the graph to also indicate adjacency of components between template drops by matching the components of each template drop with components in a preceding template drop or a subsequent template drop of the ordered list and identify any continuation of components;

determine gaps or overlaps between adjacent components indicated in the graph by comparing line segments of adjacent components, and flagging components with line segments that differ in geometry by more than a threshold amount or lack overlapping line segments; and

display a visualization of the 3D roadway model including indications of the flagged components.

13. The non-transitory computing device readable medium of claim 12 , wherein the instructions when executed are further operable to:

for each template drop of the ordered list, determine components that have inconsistent depth in the template drop by comparing distance between top and bottom line segments of components, and flag components that have inconsistent depth.

14. The non-transitory computing device readable medium of claim 12 , wherein the instructions that are operable to construct the graph comprise instructions that when executed are operable to:

for each top surface component, identify a stack of components in the template drop under the top surface component, the stack of components including a plurality of layers; and

for each layer of each stack, identify horizontally adjacent layers in the template drop from other stacks.

15. The non-transitory computing device readable medium of claim 12 , wherein the instructions when executed are further operable to:

determine component changes, create connections in the graph to indicate adjacency between starting and stopping components of the component changes, and flag components associated with the component changes; and

determine geometry changes that occur between template drops by comparing components of each template drop with adjacent components in a preceding template drop of the ordered list or a subsequent template drop of the ordered list, and flagging components associated with the geometry changes.

16. The non-transitory computing device readable medium of claim 12 , wherein the instructions that are operable to determine gaps or overlaps between adjacent components comprise instructions that when executed are operable to:

determine changes to lengths or slopes of line segments of adjacent components indicated in the graph that exceed a change detection threshold;

determine components in a same layer that are horizontally adjacent lack overlapping or shared vertical edges;

determine components of different layers that are vertically adjacent lack overlapping or shared horizontal edges; and

determine components that overlap area of another component.

17. A computing device configured to detect anomalies and/or changes in a three-dimensional (3D) roadway model, the computing device comprising:

a processor; and

a memory coupled to the processor, the memory configured to maintain anomaly and change detection software that is configured to:

extract a plurality of template drops from the three-dimensional (3D) roadway model at locations along a horizontal alignment to produce an ordered list of template drops;

construct a graph indicating adjacency between components whose cross sections are represented in the template drop;

expand the graph to also indicate adjacency of components between template drops by matching the components of each template drop with components in a preceding template drop or a subsequent template drop of the ordered list and identify any continuation of components;

determine gaps or overlaps between adjacent components indicated in the graph by comparing line segments of adjacent components, and flagging components with line segments that differ in geometry by more than a threshold amount or lack overlapping line segments; and

display a visualization of the 3D roadway model including indications of the flagged components.

18. The computing device of claim 17 , wherein the anomaly and change detection software is further configured to:

for each template drop of the ordered list, determine components that have inconsistent depth in the template drop by comparing distance between top and bottom line segments of components, and flagging components that have inconsistent depth.

19. The computing device of claim 17 , wherein the anomaly and change detection software is further configured to:

determine component changes, create connections in the graph to indicate adjacency between starting and stopping components of the component changes, and flag components associated with the component changes; and

determine geometry changes that occur between template drops by comparing components of each template drop with adjacent components in a preceding template drop of the ordered list or a subsequent template drop of the ordered list, and flagging components associated with the geometry changes.

20. The computing device of claim 17 , wherein the anomaly and change detection software is further configured to:

determine changes to lengths or slopes of line segments of adjacent components indicated in the graph that exceed a change detection threshold;

determine components in a same layer that are horizontally adjacent lack overlapping or shared vertical edges;

determine components of different layers that are vertically adjacent lack overlapping or shared horizontal edges; and

determine components that overlap area of another component.

Assignments (2)
SECURITY INTEREST Recorded Oct 25, 2024
From: BENTLEY SYSTEMS, INCORPORATED
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 069268/0042 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2024
From: DEVOE, SCOTT; WOODFIELD, NICHOLAS
To: BENTLEY SYSTEMS, INCORPORATED
Reel/Frame 066152/0557 →
References Cited (9)
US 20210150692A1 · Dickman · 2021 [cited by examiner]
US 20210248390A1 · Liang · 2021 [cited by examiner]
US 20240078750A1 · Liu · 2024 [cited by examiner]
US 20240203083A1 · Zhu · 2024 [cited by examiner]
Ammar, Ashtarout, et al., “Departments of Transportation Efforts to Digitize Ancillary Transportation Asset Data: A Step Toward Digital Twins,” National Academy of Sciences: Transportation Research Board, TRR, Transport… [cited by applicant]
Kim, Jin-Soo, et al., “Extraction of Geometric Information on Highway Using Terrestrial Laser Scanning Technology,” The International Archives of the Photogrammetry, Remote Spatial Information Sciences, vol. XXXVII, Par… [cited by applicant]
Mitchell, Alexa, “Quality Management for 3D Model-Based Project Development and Delivery,” National Academy of Sciences, National Academies Sciences, Engineering, and Medicine, NCHRP 10-113 [Active], Transportation Rese… [cited by applicant]
Mitchell, Alexa, et al., “Transportation Agencies Shift Toward Digital Delivery,” ASCE, American Society of Civil Engineers, retrieved from the Internet: <https://www.asce.org/publications-and-news/civil-engineering-sou… [cited by applicant]
U.S. Appl. No. 17/687,097, filed Mar. 4, 2022 by Nicholas Woodfield, et al. for Techniques for Extracting and Displaying Superelevation Data From 3D Roadway Models, pp. 1-30. [cited by applicant]