Filed Australian Government IP Patent Application 2023244519 for Spacesium Pty Ltd
September 1, 2024
Official Receipt - Submission has been received for Patent 2023244519 with Australian Government IP Australia.
A Method for Analysing Laser Measurement Data
Technical Field
This disclosure relates to a system and method for data analysis, particularly the analysis of data points obtained using measurement systems such as those utilising LiDAR (light detection and ranging) or other sensors. The disclosure also relates to adapting the analysis system for applications[JL1] [U2] including, but not limited to, the determination of quantitative parameters of road or land features.
Background Art
Applications such as land, road, or site surveying applications involve the recording of point cloud measurement data. In road detection, the aim is to help human users or machines determine the physical characteristics of roads, and to check if the roads are compliant with relevant requirements or regulations. Computer vision systems and systems utilising laser sensors, or a combination of both, have been used for this purpose. However, computer vision is very susceptible to vision inaccuracies. Laser-based systems (e.g., LiDAR) attempt to do this by applying differential filtering on the raw data, to identify landscape features such as the ground and different categories of vegetation, and features in relation to man-made structures. The measurements typically result in numerous data points, which can be noisy, which can impose a large memory requirement, and which can be computationally burdensome to process.
It is to be understood that, if any prior art is referred to herein, such reference does not constitute an admission that the prior art forms a part of the common general knowledge in the art, in Australia or any other country.
Summary
In a first aspect, the present disclosure provides a method of analysing point cloud data representing a ground area containing a road, including: receiving or obtaining data in relation to a position of a longitudinal centreline of the road; identifying one or more subsets of data points in the point cloud data, each subset representing a cross section line which is generally perpendicular to the longitudinal centreline at a different location along the longitudinal centreline; and calculating one or more parameters associated with the road, calculated using coordinates of two or more of the data points belonging to the subsets, or using coordinates of two or more of data points associated with the centreline
- The method may include, for each cross section line, using elevation coordinates of the subset of data points, identify a plurality of characteristic points in relation to the cross section line, the plurality of characteristic points including at least end points of a width of the road extending between road side features.
- The one or more parameters may include a road width, a road slope across the road width, at the location of the associated cross section line.
- The plurality of characteristic points associated with the cross section line may further include: a centreline point coordinate which lies on or substantially lies on the cross section line. The one or more parameters may include cross fall slopes, each extending between one of the end points of the road width and the centreline, or a slope of the road over each cross fall width, or both.
- The plurality of characteristic points in relation to each cross section line may further include an upper most point for a road side feature adjacent each end point of the road width. The one or more parameters may include road side feature heights, defined between each upper most point and the nearest one of the road width end point.
- The method may further include calculating one or more longitudinal road gradient between locations of two cross section lines on the centreline.
- The method may further include comparing the parameters with predefined thresholds.
- The method may further include generating a 2 dimensional map of the road, where portions of the road where the calculated parameters meet the threshold are represented different than portions of the road where the calculated parameters do not meet the threshold.
- In a second aspect, disclosed is a system for analysing point cloud data representing a ground area containing a road, including a processor configured to execute machine readable instructions, which when executed are adapted to perform the method in accordance with the first aspect above.
- In a third aspect, disclosed is a method of pre-processing point cloud data where each data point has a coordinate, including rescaling values of the coordinate from a unit which is larger than an original unit, and keeping only significant digits of the re-scaled values.
- In a fourth aspect, disclosed is a method of pre-processing point cloud data measured in a measurement space, including segmenting the measurement space into two or more measurement space segments, wherein the segmenting is adaptive to a number of data points associated with each measurement space segment, where each measurement space segment is divided further into smaller measurement space segments if that measurement space segment is associated with a number of data points which is above a threshold number of data points.
- In a fifth aspect, disclosed is a method of pre-processing point cloud data to reduce a number of data points in the point cloud data, including checking coordinates of one of the data points in the point cloud data, and checking subsequent data points. For each subsequent data point, if the subsequent data point has coordinates occupied by any previously processed data point, or if the coordinates are within a predefined distance from coordinates of any previously checked data points, that subsequent data point is discarded.
- In a sixth aspect, disclosed is a method of pre-processing point cloud data, which includes the processing steps of at least two of the methods mentioned above in accordance with the third, fourth, or fifth aspects.
In a seventh aspect, disclosed is a method of detecting road compliance. The method comprises: receiving point cloud data generated by a surveying instrument surveying a geographical location, the geographical location having a road; analysing the point could data to identify the road; determining one or more characteristics of the road with reference to the point cloud data; and determining compliance of the one or more characteristics of the road with reference to predetermined criteria.
The one or more characteristics of the road may be one or more of: curb height; camber; road width, corner angle.
The method may comprise combining one or more of said characteristics when determining compliance. For example, the method may consider whether the camber, road width and/or curb height of the road at a location meets one or more particular criteria which are calculated with reference to a corner angle at that location. Generally, the greater the corner angle, the higher the curb, the greater the camber and the greater the road width.
The method may comprise highlighting portions of the road which are not compliant. In an embodiment, portions of the road which are not compliant may be highlighted using a different colour when displayed to a user. This may allow a user to quickly identify potentially dangerous portions of the road.
In a further embodiment, the method may comprise alerting a user when a non-compliant characteristic of the road is determined. In such an embodiment, the method may comprise receiving continually-updated point cloud data generated by the surveying instrument surveying the geographical location and determining compliance of the one or more characteristics of the road. This may allow a system to automatically monitor the road and determine when the road has degraded over time to the extent where maintenance or other intervention may be required.
In a further aspect, the disclosure extends to a system for detecting road compliance. The system comprising: a surveying instrument for surveying a geographical location, the geographical location having a road and producing a point cloud data representative of the geographical location; a computer readable memory for storing the point cloud data; a server comprising a processor, the server being in data communication with the computer readable memory; and a user terminal connected to the server and accessible by a server to deliver results generated by the server to the user. The server comprises computer readable instructions which, when executed by the processor cause the server to: receive the point cloud from the computer-readable memory; analyse the point could data to identify the road; determine one or more characteristics of the road with reference to the point cloud data; determine compliance of the one or more characteristics of the road with reference to predetermined criteria; and deliver a result indicative of the compliance of the road to the user terminal.
- The point cloud data may include data, in relation to a centreline of the road, which are separately acquired.
- The computer readable instructions comprise instructions which when executed by the processor, will cause the server to perform one or more pre-processing steps on the point cloud data. The pre-processing steps may include one or more of the following: reducing a precision of each coordinate value; rescaling each coordinate value to an expression using a larger unit, and re-expressing the rescaled value in a first set of bits representing an integral portion of the rescaled value, and in a second set of bits representing a decimal portion of the rescaled value; segmenting a survey space into one or more segments, each associated with up to a threshold number of cloud data points; removing duplicate data points or data points whose coordinates are within a predefined distance from coordinates already occupied by other data points.
Brief Description of the Drawings
Embodiments will now be described by way of example only, with reference to the accompanying drawings in which
Figure 1 schematically depicts a system to process point cloud data to obtain parameters which describe a road, in accordance with an embodiment of the invention;
Figure 2 schematically depicts an example series of processing steps in the processing module, in accordance with an embodiment of the invention;
Figure 3-1 is a partial plan view of a road, generated using an embodiment of the invention, showing a centreline and a series of cross section lines perpendicular to the centreline;
Figure 3-2 shows the elevation of the data points included in a cross section line, where the centre point lying on the centreline, the road width end points, and the top most points of the kerbs on either side of the road with, are identified;
Figure 4-1 shows the elevation of the data points included in a cross section line, including the start and end points of the road width, between which the total road width is defined;
Figure 4-2 shows a partial plan view of a road, generated from the point cloud data, and where cross section lines with insufficient (non-compliant) total road widths are shown in dashed lines, and those with sufficient (compliant) total road widths are shown in solid lines;
Figure 5-1 shows the elevation of the data points included in a cross section line, including the start and end points of the road width and the centre point, between which the cross falls are defined;
Figure 5-2 shows a partial plan view of a road, generated from the point cloud data, and where the cross fall sections with non-compliant slopes are shown in dashed lines, and those with compliant slopes are shown in solid lines;
Figure 6-1 shows the elevation of the data points included in a cross section line, including the start and end points of the road width, where the super elevation slope is defined as the slope (change in elevation per unit distance) across the road width;
Figure 6-2 shows a partial plan view of a road, generated from the point cloud data, and where cross section lines with non-compliant super elevation slopes are shown in dashed lines, and those with compliant super elevation slopes are shown in solid lines;
Figure 7-1 is a partial plan view of the road, generated from the point cloud data, showing a road segment defined between two centreline points.
Figure 7-2 shows the elevation of the centreline data points included in the road segment, where the road gradient is defined as the change in height per unit distance over the segment;
Figure 8 depicts pre-processing of the point cloud data in accordance with an embodiment of an aspect of the invention;
Figure 9 schematically depicts an embodiment of the data segmentation using adaptive tiling;
Figure 10 schematically depicts a system for detecting road compliance to one or more predefined criteria.
Detailed Description
In the following detailed description, reference is made to accompanying drawings which form a part of the detailed description. The illustrative embodiments described in the detailed description, depicted in the drawings and defined in the claims, are not intended to be limiting. Other embodiments may be utilised and other changes may be made without departing from the spirit or scope of the subject matter presented. It will be readily understood that the aspects of the present disclosure, as generally described herein and illustrated in the drawings can be arranged, substituted, combined, separated and designed in a wide variety of different configurations, all of which are contemplated in this disclosure.
Point cloud data may be obtained using various sensor types, many of which may utilise optical sensing, such as laser sensing. Below is described a system and method for analysing the point cloud data, to determine quantitative parameters of certain features or structures, such as a road. This allows further assessment or work to be planned, if the parameters indicate a safety or structural deficiency which need to be reviewed or remedied. The disclosed system and method aim to allow for the generation of a surface which enables more accurate determinations of various parameters of the road.
In the below, the system 100 will be described with reference generally to roads. However, an important application of the disclosed system is to identify mining roads from point cloud data from survey instruments, particularly useful owing to the scale and often remote locations of the mining roads, and their often repetitive visual characteristics. Due to the large size and weight of mining vehicles, mining roads need to comply with particular requirements such as minimum road widths, kerb height, etc, to ensure that the vehicles can safely travel on these roads. Further, because of their heavier weight, the vehicles can cause the mining roads to wear over time, thus requiring regular or occasional maintenance to ensure they continue to meet safety requirements. The system allows for an efficient utilisation of the point cloud data to identify roads and generate reports to indicate where the road meets and where it does not meet particular compliance metrics.
Figure 1 schematically depicts a system 100 to process point cloud data, acquired or generated by a surveying instrument surveying a geographical location, to identify a road, and to obtain parameters which describe the road. The parameters which can be determined include the width of the road, road height and road cross fall, road camber, kerb height, road or road segment gradient, and super elevation. The skilled person will appreciate that other parameters may also be determined, by inputting the definitions for those parameters into the processing module so that relevant quantities may be identified to calculate the parameters.
The system 100 includes a processing module 102 which may reside on a server computer or across distributed servers. The algorithms which are executed to perform the processing may partially or wholly reside in a memory device collocated with a processor or CPU adapted to execute the analytics algorithms, or partially or wholly reside in one or more remote memory locations accessible by the processor or CPU.
The processing module 102 is adapted to receive measurement data from the client or retrieve this data from an accessible memory location. The measurement data points may be provided by a client, or from a client system (108), e.g., via an online portal. Raw measurement data may instead be transferred from the sensors which captured the data. The processing module 102 is configured to execute algorithms to process the measurement data, and this process is conceptually represented by box 200.
The measurement data points 103 will include data points which represent the ground. The measurement data 103 may already be categorised, to only include those points that represent the ground data points, or the processing module 102 will execute algorithms to process the measurement data points 103 to identify those data points which are categorised as ground data points 104.
The processing module 102 is also adapted to process the positional data for a centreline of the road (“centreline data” 106) which extends along the length of the road. The centreline data 106 may be obtained from an engineering or design drawing for the road, data points captured and provided by a surveyor, or GPS (global positioning system) points captured using a vehicle or a drone. The centreline data 106 are also uploaded to the system, e.g., via an online portal. If required, the centreline data 106 can be transformed into the same coordinate system as the ground data 106. Some or all of the coordinates of the centreline points may then be chosen as the locations of cross-section lines to be generated.
Optionally, the results of the processing are validated in a quality control check process, which may be a manual quality control check 110. If the processing results pass the check, then they can be used to generate a report 114. Otherwise the processing ends and the algorithms need to be re-run or checked, or the measurement data will need to be checked.
An embodiment of the processing 200 performed on the centreline data 106 and the ground data 104 is discussed further with reference to Figure 2. The centreline and ground data points 106, 104 (see Figure 1) are typically captured in a (latitude, longitude, elevation) coordinate system as a collection of coordinates (x, y, z). On a raster image generated using the data points, the coordinates of the centreline points 106 are used to draw a centreline (the solid line 302 in Figure 3-1) which extends along the length of the road, as vectors.
As shown in Figure 2, the processing module is adapted to identify subsets of the ground data points 104, each subset belonging to or representing a cross section line across the road, crossing the road at the location of a corresponding centreline data point 106. On the raster image, the cross section lines each extend across the centre line. Typically, they are substantially perpendicular to the centre line, i.e., perpendicular to a tangential direction of the road’s longitudinal axis (step 202). This may be achieved by computationally determining the direction of each cross section line, and then searching for ground data points 104 whose (x, y) coordinates lie or substantially lie in the determined direction, within a pre-set distance from the corresponding centre point on the centreline. For roads for mining vehicles, the cross section line may be set to be a large distance, e.g., 25 metres, from the centreline. Once the subsets of cross section line data points are determined, the cross section lines can be drawn as vectors on the raster image. The cross section lines, if displayed, are provided as polyline features perpendicular from the centreline.
As there are usually many data points 104 for the ground data, a plurality of cross section lines (the dashed lines 304 in Figure 3-1) can be determined. Depending the requirement for the application or the requirements for the client, the cross section lines can be chosen to be a particular distance apart from each other along the longitudinal direction of the road, such as a distance between 1 and 5 metres. The cross section lines can be set to be closer together or farther apart, along different longitudinal sections of the road, if this is appropriate given the terrain or ground condition. Figure 3-2 depicts the subset of ground data points which correspond with one cross-section line.
Referring back to Figure 2, by checking the height or elevation data for each ground data point, the algorithm can identify the point cloud data points corresponding to start and finish points 306, 308 on the road surface, the point cloud data points 310, 312 corresponding to the tops of the kerbs or other features (e.g., railings) adjacent the road, or both (step 204).
At the road end points 306, 308, it is expected that the ground data points will have a substantial change in curvature (i.e., gradient in elevation), or a stepped change in height or elevation, as these ends points typically transition into road side kerbs or are adjacent safety rails. The start and finish points (i.e. “road end points”) 306, 308 are determined by identifying the points where the gradient or slope of the cross-section line changes. Other calculations to identify the road end points 306, 308 may be used, to target different metrics which characterise the transition from road to kerb.
The coordinates of the points identified in step 204 in relation to the cross section lines, or the coordinates of the centreline points 314, or both, can be used to calculate various parameters of the road, defining longitudinal characteristics for a road segment between two centreline ground points, or cross sectional characteristics along one or more of the cross section lines across the road. The cross sectional characteristics may be transverse characteristics. As shown in Figure 2, the calculations that are performed may include the cross elevation (or “cross fall”) detection step 206 which determines the change in elevation in the road in the cross section, between each end point of the road width and the centreline point, so as to calculate the slope between these points, as shown in Figure 5-1. The cross fall detection step 206 may more generally be a camber detection step where the road camber may be parametric or represented by the slope. The calculations may also include: the road width detection step 208 which determines the road width between the end points as shown in Figure 4-1; super elevation detection step 210 which determines the elevation across the entire road width, so as to determine the slope (“super elevation slope”) across the road width, as shown in Figure 6-1; road slope gradient detection step 212 which determines the change in elevation and thus the slope of the road in any particular longitudinal segment, i.e., between a pair of centre line data points 702, 704 as shown in Figure 7-2; a kerb height detection step 214 can be performed to determine the height of the kerb as calculated from the nearest end point of the road as shown in Figure 3-2. Furthermore, coordinates of multiple centreline points, representing locations along a section of the centreline of the road, may be used to determine the curvature or road corner angle along that section of the road.
In the above, it is appreciated that the road width end points will are points determined to lie on the edges of the road width, and the centreline points are points determined to lie on the longitudinal centreline of the road.
By comparing the calculated parameters (including but not limited to: widths, kerb height, barrier height, curvatures, cross-fall slope, super elevation slope, longitudinal road gradient, etc) with predefined thresholds set by design requirements or safety standards, it is further possible to determine whether various sections of the road are compliant with those standards or requirements (step 216). The calculated kerb heights can also be compared with safety thresholds or design requirements to check for compliance (not shown in Figure 2). The compliance requirements may vary for different parts of the road. For instance, the greater the curvature in the road, the greater the road camber (or cross fall), or the greater the road width need to be, or both, in order to be compliant.
It will be understood that the various detection algorithms may not all be included, or can be run at a different order than that shown in Figure 2. Also, the identification of the road surface ground data points (road width start, road with finish, centre point) and the identification of the kerb height points may be done together, or separately, or when their coordinates are needed for the calculation of particular parameters.
The compliance data along the road and for the road cross sections can be provided to a report generation module 112 to generate a report 114 on the road conditions or parameters (see Figure 1). The report generation module 112 may be configured to provide a visual representation, where sections of the road which are compliant are represented differently than sections of the road which are not compliant. Specifically, the cross section lines, centre line, and the side lines of the road may be differently drawn. For instance these may be drawn in dashed lines if the calculated parameters using ground data points along those lines are non-complaint, and in solid lines if compliant – see Figure 4-2, Figure 5-2, and Figure 7-2.
It should be appreciated that the client requesting the information may be enabled to select which characteristics or parameters which they wish to obtain, or on which they wish to receive a report. Data representing the client’s selection will be provided to the processing module, so that it will only perform the analysis or analyses which are needed to generate the data requested by the client.
In the above, the system 100 may be cloud based. For example, the locations of the program modules which are run to execute the analytics, the program modules which support client portals for data uploading and data download (for reporting to the client), and the memory locations accessible by the processing device(s) configured to execute the program modules, may be distributed in a cloud environment.
Preferably, the system 100 may utilise multi-core processing, such as by processing portions of the measurement data in parallel. The system 100 may also enable interactive reporting, by updating the measurement data being processed by the system 100 when clients provide updated measurement data, so that the output reports will reflect the update in the information.
The measurement data points may be pre-processed, prior to being passed to the parts of the processing module involved in performing the analyses described above (identifying cross section lines and associated data points, identifying feature points for each cross section lines, calculating the various parameters), to optimise the processing. For instance, the data may be pre-processed for noise reduction or resolution reduction, or may be pre-filtered to remove data points unrelated to the features or structures of interest.
Figure 8 depicts an example pre-processing method. In the depicted example, the measurement data are obtained using sensor device(s) 802, which is then provided to the server 804 implementing one or more pre-processing algorithms. The pre-processed data may then be converted to a raster (three dimensional) image, for further processing, such as to determine the various parameters for a road as described above, when the point cloud data are taken of a road.
The pre-processing may include measurement space segmentation. Depending on the number of data points available, the raw measurement data may be divided into groups that are recorded in two or more segments of the original measurement space (step 806 in Figure 8, also see Figure 9), for simultaneous processing of each group, where each group has up to a maximum number of data points (e.g., 2 million data points). As explained below, this process is adaptive, responsive to the density of the data points measured in the space. Therefore, the segmentation is also referred to as “adaptive tiling”.
For an embodiment intended for mining road analytics, the segments are chosen to have no more than 20 million data points, for optimal processing. However, different upper thresholds for the number of data points may be chosen, for different applications requiring different precisions or details, or with the availability of different computational capabilities.
As shown in Figure 9, the segmenting is done by dividing the physical space represented by the 3D point cloud. A measurement space segment of an “initial” size, of the measurement space, is checked to see how many measurement points have been recorded for that measurement space segment (902). This may be a physical space over an area of 1 kilometre x 1 kilometre in size, in the measurement space. If there are fewer than the maximum threshold number of data points, this segment will be sent for processing (904). The above process is then repeated for a next measurement space segment of the same initial size.
If there are more than the maximum threshold number of data points recorded in a measurement space segment, the measurement space segment will be split into two or more smaller measurement space segments to check the number of data points recorded for each of those segments (906). For example this may be done by splitting the first segment into two equal halves. If the number of data points for either smaller segment is within the maximum threshold, then the data points for the segment are sent to further processing (904). Otherwise, if either segment still has too many data points, that segment is split again into further smaller segments to check the number of data points for each of the further smaller segments (arrow 908). The process ends when each of the segments obtained by splitting have a number of measurement data points within the threshold.
The process depicted in Figure 9 is repeated until the entire measurement space has been checked and each data points have been designated into a measurement space segment for processing. Some or all of the different groups of data points, each belonging to a “segment”, may be processed using multi-core processors, for parallel processing.
The pre-processing may include an operation to reset the origin for the data points obtained from a measurement space or a segment of a measurement space, and normalise their values to number within a range, such as 0 to 1 (808). For example, the physical boundaries defining the ground and an upper elevation limit will respectively define 0 and 1 in the z direction or vice versa. This assists with the classification of the measurement data.
The pre-processing may include a rescaling of the coordinate values (810) [JL3] [U4]
where the number of significant bits (i.e. the precision) is reduced, to decrease storage requirements. For example, the coordinate values may be expressed down to a precision of micrometres or millimetres rather than down to a precision of nanometres. When combined with the rescaling operation described in the previous paragraph, the precision reduction may be done before or after the rescaling. [U5]
The pre-processing may include noise cleaning (812). For instance, analyses on the data point coordinates can be done to see whether there are small clusters of points outside of larger clusters of data points. Particular rules may define when the small clusters are likely to be noise and thus the data points in those smaller clusters should be discarded. For instance, if the main clusters are closer to the ground but there is a smaller cluster at a high elevation, the data points in the smaller cluster may represent a bird flying past, and thus should be discarded.
The pre-processing may include data point removal (814). During data acquisition, it is possible that data will be taken from the same point in space more than once. The data point removal will check the measurement data, and if a new data point has a coordinate which is already populated by a previous data point, then the new data point is discarded.
Another example of data removal operation which may be performed is that when a new data point is located within a particular distance from an existing data point, then the new data point is discarded. The distance can be set in accordance with the requirements of the application. The distance will be set to be smaller for applications where highly accurate or minute details are required. In one example, new data points located within 1mm of a previously processed data point will be discarded. The distance 1mm may also be set to be the unit used in the rescaling pre-processing operation 810.
The pre-processed measurement data, can then be processed using classification methods, to be categorised into, e.g., vegetation, ground, water. There are existing classification methods for vegetation, ground, and water.
A method of determining whether a collection of point clouds represent a building is to detect clusters of point cloud data points which are located at the same elevation, where the cluster has a shape which is characteristic of a building’s footprint, such as a shape having linear edges, or curved edges with consistent curvatures, or both.
The measurement data can then be used to generate raster (2 dimensional[JL6] ) image(s) of the measurement space, where the x and y coordinates of the data points are used to determine their positions on the raster image, and RGB colour values can be used to represent the elevation or height (i.e., z coordinate) of a data point. Using different categories of the measurement data, it would then be possible to generate segmented raster images showing, e.g., only the ground, vegetation, water, buildings, etc.
In certain circumstances, it may be that there will be particular coordinate(s) which will not be populated by any data measurement. This could lead to empty pixels in a raster image. To address this issue, where there is an “empty” pixel position in the raster image, the RGB value for this pixel may be extrapolated from the RGB values of a group of adjacent points, or be an average value of the RGB value of two or more of its surrounding points.
Figure 10 provides a schematic representation of a road compliance detection system 1000. The road compliance detection system 1000 includes a surveying instrument 1002, for surveying a geographical location, the geographical location having a road. The surveying instrument 1002 is of the type which generates a point cloud data 1004 representative of the surveyed geographical location. In the depicted embodiment the point cloud data 1004 is provided to a client computing system 1018, and stored in a data storage 1006 in the client computing system 1018. The client system 1018 provides the point cloud data 1004 over a communications network 1022, to a memory location which is accessible by a processor 1008 which will process the point cloud data 1004. For instance the data may be uploaded to a server 1010 from a website.
The processor 1008 resides on a sever or group of servers 1010, which may also be cloud based. The computer readable memory for storing the point cloud data 1004 may be provided by a data storage 1028 collocated with the server(s) 1010 so that it can be read by the processor 1008. Alternatively it may be in data connection with the server(s) 1010, such as in the form of cloud storage 1026 accessible over a communications network 1022 as shown in Figure 10.
As described in earlier parts of this disclosure, the processor 1008 is configured to execute machine readable instructions 1014, to perform embodiments of the analytical system and methods described in the previous portions of the specification. Optionally, the processor 1008 is also configured to execute further machine readable instructions 1020 to pre-process the data 1004 prior to performing the analytics. Execution of the instructions or codes 1014 will cause the server 1010 to receive or read the point cloud data 1004 from the computer-readable memory 1006, analyse the point cloud data 1004 to identify the road in the surveyed site, determine one or more characteristics of the road with reference to the point cloud data, such as cross fall, camber, kerb height, road width, road curvature, etc.
As depicted, the client computing system 1018 can access the server 1010 from a web browser 1024, to enter a feature selection data 1016. Characteristics which are calculated are then determined by the feature selection data 1016, so that only the quantities for those selected characteristics or features will be calculated. The server 1010 can then determine compliance of the one or more characteristics of the road, with reference to predetermined criteria, e.g., safety requirements for the chosen characteristics. The result of the determination of compliance will then be delivered by the server 1010 to the client or user computing system 1018 over the communications network 1022.
As discussed, the results can be provided as graphics data, containing visual representations or features to indicate where the road meets compliance criterion or criteria, and where it does not. The result may be provided in the form of a downloadable document. Alternatively, or additionally, the result may be provided as a “live” result which the client can access (e.g., view) by accessing a portal or a website run by the server 1010 from their web browser 1024. The result is “live” in the sense that it is updated when the point cloud data are updated and the updated data are processed by the processor. The result may also be provided as an interactive result, in these sense that the client may be enabled to update their feature selection, and the displayed result will be updated as the feature selection data are updated, triggering calculation and compliance determination for the newly selected feature(s).
In the above system 1000, the computer readable instructions may include instructions to pre-process the data, in accordance with embodiments of the pre-processing described above.
Variations and modifications may be made to the parts previously described without departing from the spirit or ambit of the disclosure.
For example, as alluded to above, the point cloud from the LiDAR sensor(s) may be combined with the coordinate data for the centreline. In some instances, the system 100 may further be configured to receive, e.g., video or camera data which are in RGB or grey scale values, and combine these to the LiDAR point cloud, in accordance with available methods.
As another example, there are different possibilities to generate centreline data point coordinates and the cross section line data point coordinates. As mentioned above, the system may first receive or generate a set of centreline coordinates defining centreline points, and then ascertain cross section line data point coordinates associated with selected ones of the centreline coordinates (e.g., those that lie on the vector or in a particular defined direction which is perpendicular from the centreline at the selected coordinate). Alternatively, the system may draw, on the raster image, vectors which are perpendicular to the centreline at selected locations, and identify subsets of ground data points in the point cloud that correspond with the vectors (i.e., substantially lie in the direction defined by the vectors), and in each subset of data points identify a data point whose coordinates lie on or substantially lie on the centreline.
In the claims which follow and in the preceding description of the invention, except where the context requires otherwise due to express language or necessary implication, the word “comprise” or variations such as “comprises” or “comprising” is used in an inclusive sense, i.e. to specify the presence of the stated features but not to preclude the presence or addition of further features in various embodiments of the invention.
Claims
- A method of analysing point cloud data representing a ground area containing a road, including:
- receiving or obtaining data in relation to a position of a longitudinal centreline of the road;
- identifying one or more subsets of data points in the point cloud data, each subset representing a cross section line which is generally perpendicular to the longitudinal centreline at a different location along the longitudinal centreline; and
- calculating one or more parameters associated with the road, using coordinates of two or more of the data points belonging to the subsets, or using coordinates of two or more of data points associated with the centreline.
- The method of claim 1, including, for each cross section line,
- using elevation data associated with the subset of data points associated with that cross section line, identify a plurality of characteristic points in relation to the cross section line, the plurality of characteristic points including at least end points of a width of the road extending between road side features.
- The method of claim 1 or claim 2, wherein the one or more parameters include one or more of a road width, and a road slope across the road width, at the location of the associated cross section line.
- The method of claim 2 or claim 3, wherein the plurality of characteristic points associated with the cross section line further include: a centreline point coordinate which lies on or substantially lies on the cross section line.
- The method of clam 4, wherein the one or more parameters include cross fall widths, each extending between one of the end points of the road width and the centreline, or a slope of the road over each cross fall width, or both.
- The method of any one of claims 2 to 5, wherein the plurality of characteristic points in relation to each cross section line further include an upper most point for a road side feature adjacent each end point of the road width.
- The method of claim 6, the one or more parameters include road side feature heights, defined between each upper most point and the nearest one of the road width end point.
- The method of any preceding claim, further including calculating one or more longitudinal road gradients between locations of two cross section lines on the centreline.
- The method of any preceding claim, including comparing the parameters with predefined thresholds.
- The method of claim 9, including generating a 2 dimensional map of the road, where portions of the road where the calculated parameters meet the threshold are represented differently than portions of the road where the calculated parameters do not meet the threshold.
- A system for analysing point cloud data representing a ground area containing a road, including a processor configured to execute machine readable instructions, which when executed are adapted to perform the method of any one of claims 1 to 10.
- A method of pre-processing point cloud data where each data point has a coordinate, including re-scaling values of the coordinate from a unit which is larger than an original unit, and keeping only significant digits of the re-scaled values.
- A method of pre-processing point cloud data measured in a measurement space, including segmenting the measurement space into two or more measurement space segments, wherein the segmenting is adaptive to a number of data points associated with each measurement space segment, where each measurement space segment is divided further into smaller measurement space segments if that measurement space segment is associated with a number of data points which is above a threshold number of data points.
- A method of pre-processing point cloud data to reduce a number of data points in the point cloud data, including
- checking coordinates of one of the data points in the point cloud data;
- checking coordinates of subsequent data points,
- wherein for each subsequent data point, if the subsequent data point has coordinates occupied by any previously processed data point, or if the coordinates are within a predefined distance from coordinates of any previously checked data points, discard that subsequent data point.
- A method of pre-processing point cloud data, including processing steps of two or more of claims 12 to 14.
- A method of detecting road compliance, the method comprising:
- receiving point cloud data generated by a surveying instrument surveying a geographical location, the geographical location having a road;
- analysing the point could data to identify the road;
- determining one or more characteristics of the road with reference to the point cloud data; and
- determining compliance of the one or more characteristics of the road with reference to predetermined criteria.
- The method of claim 16, wherein the one or more characteristics of the road include one or more of: curb height; camber; road width, corner angle.
- The method of claim 16 or claim 17, further comprising combining one or more of said characteristics when determining compliance.
- The method of claim 18, comprising determining whether the camber, road width and/or curb height of the road at a location meets one or more particular criteria calculated with reference to a corner angle at that location.
- The method of claim 19, wherein the greater the corner angle, the higher the curb, the greater the camber and the greater the road width.
- The method of any one of claims 16 to 20, further comprising generating a visual representation of the road, wherein the visual representation along different portions of the road differs in dependence of the compliance of the one or more characteristics of those portions of the road with reference to the predetermined criteria.
- The method of any one of claims 16 to 21, further comprising alerting a user when a non-compliant characteristic of the road is determined.
- The method of claim 22, comprising receiving continually-updated point cloud data generated by the surveying instrument surveying the geographical location and determining compliance of the one or more characteristics of the road.
- A system for detecting road compliance, the system comprising:
- a surveying instrument for surveying a geographical location, the geographical location having a road, and producing a point cloud data representative of the geographical location;
- a computer readable memory for storing the point cloud data;
- a server comprising a processor, the server being in data communication with the computer readable memory; and
- a user terminal connected to the server and accessible by the server to deliver results generated by the server to the user;
- wherein the server comprises computer readable instructions which, when executed by the processor cause the server to:
- receive the point cloud data from the computer-readable memory;
- analyse the point could data to identify the road;
- determine one or more characteristics of the road with reference to the point cloud data;
- determine compliance of the one or more characteristics of the road with reference to predetermined criteria; and
- deliver a result indicative of the compliance of the road to the user terminal.
- The system of claim 24, wherein the point cloud data include data, in relation to a centreline of the road, which are separately acquired.
- The system of claim 24 or claim 25, wherein the computer readable instructions comprise instructions which when executed by the processor, will cause the server to perform one or more pre-processing steps on the point cloud data, the pre-processing steps including one or more of:
- reducing a precision of each coordinate value;
- segmenting a survey space into one or more segments, each associated with up to a threshold number of cloud data points;
- removing duplicate data points or data points whose coordinates are within a predefined distance from coordinates already occupied by other data points.
Abstract
Disclosed is a method of analysing point cloud data representing a ground area containing a road, including:
- receiving or obtaining data in relation to a position of a longitudinal centreline of the road;
- identifying one or more subsets of data points in the point cloud data, each subset representing a cross section line which is generally perpendicular to the longitudinal centreline at a different location along the longitudinal centreline; and
- calculating one or more parameters associated with the road, calculated using coordinates of two or more of the data points belonging to the subsets, or using coordinates of two or more of data points associated with the centreline.