Catenary System Detection, Localization and Classiﬁcation Using Mobile Scanning Data

: This paper presents a new method for detecting, locating and classifying overhead contact systems (catenary systems) in point clouds collected by mobile mapping systems (MMS) on rail roads. Contrary to many other application types, railway embankments are highly regulated and standardized. Railway infrastructure geometric relations remain roughly unchanged within established regions and have similarities between them. The newly-developed method exploits both these characteristics, as well as the survey process. There are several steps in this approach. Firstly, it restricts the search for catenaries relative to the distance to registered MMS trajectory, then ﬁnds possible support structures according to the density of points above the track. Subsequently, the method veriﬁes the structures’ presence and classiﬁes the points with the use of the RANSAC algorithm. It establishes the presence of cantilevers, as well as poles or structural beams, depending on the type of detected support structure. The method also determines the coordinates of the identiﬁed object on the ground. Finally, a classiﬁcation is clariﬁed with the use of a modiﬁed DBSCAN algorithm. The design method has been veriﬁed with data collected in four surveys where the cumulative length of the route was almost 90 km. Over 97% of support structures were correctly detected, and out of these, over 95% were completely classiﬁed.


Introduction
Mobile laser scanning (MLS) has become quite popular in recent years and has numerous applications.Technology is advancing, and current mobile mapping system (MMS) accuracies allow them to be used in almost any survey mission.
Although there are a wide range of MMS systems providing large amounts of data (Figure 1), there are far fewer algorithms and methods able to automatically process the data.Various research has been done on the automatic processing of point clouds collected by airborne scanners [1,2].There are also many scientific studies on the detection of primitives or specifically-shaped objects in point clouds [3,4].Some of them can be implemented in processing MLS point clouds.However, as these data are different due to the specific collection process, view perspective and density variation [5,6], further research into the subject is needed.
There are various types of works that can be conducted using MLS.The first MMS were stabilized on cars [7] and subsequently have had numerous applications already implemented in road maintenance.MLS can be used to take stock and measure the position of road infrastructure elements [8][9][10].Data obtained by terrestrial MMS can also be used to create a spatial database [11], to carry out road safety inspections [12,13], to model the road area [14], to detect voids and cracks in the pavement [8] and to detect road signs [15,16].LiDAR technology is also used in the evaluation of road infrastructure, such as tunnels, bridges or retaining walls [17][18][19].MMS were later adapted to rail cars.
There are 1,021,457 km of railway lines world-wide [20].In Europe, where rail routes first emerged, there are 349,365 km of tracks [20], of which 19,617 km are in Poland [21].Rail transport remains one of the most cost-effective and most ecological type of transportation compared to other types.The existence and also the competitiveness of railways in relation to other modes of transport requires constant monitoring.There are several types of surveys that have to be carried out regularly.Surveys include assessing track parameters, such as chainage, cant, twist, gradients, gauge and also clearance gauge monitoring [22].Current accuracies of point clouds collected by MMS on rails make it possible to use it in clearance gauge monitoring [23] or for the purpose of 3D railroad corridor creation [6].Traditionally, this type of work was done using a trolley operated by an operator walking on foot [22,[24][25][26].MLS provides data far faster, but while the trolley operator decides what is important to measure, point clouds include multiple measurements to single objects, both those of the utmost importance and those that are redundant.With the existing technology, massive amounts of data are obtained after each survey mission, the processing of which still requires a lot of manual, tedious work.Therefore, the next step in the development of MMS for railways is to automate the data processing.
Remote Sens. 2016, 8, 801 2 of 22 There are 1,021,457 km of railway lines world-wide [20].In Europe, where rail routes first emerged, there are 349,365 km of tracks [20], of which 19,617 km are in Poland [21].Rail transport remains one of the most cost-effective and most ecological type of transportation compared to other types.The existence and also the competitiveness of railways in relation to other modes of transport requires constant monitoring.There are several types of surveys that have to be carried out regularly.Surveys include assessing track parameters, such as chainage, cant, twist, gradients, gauge and also clearance gauge monitoring [22].Current accuracies of point clouds collected by MMS on rails make it possible to use it in clearance gauge monitoring [23] or for the purpose of 3D railroad corridor creation [6].Traditionally, this type of work was done using a trolley operated by an operator walking on foot [22,[24][25][26].MLS provides data far faster, but while the trolley operator decides what is important to measure, point clouds include multiple measurements to single objects, both those of the utmost importance and those that are redundant.With the existing technology, massive amounts of data are obtained after each survey mission, the processing of which still requires a lot of manual, tedious work.Therefore, the next step in the development of MMS for railways is to automate the data processing.Railway infrastructure monitoring requires methods that are efficient both at the stage of data collection, as well as at the stage of data processing.Therefore, the data processing algorithm must be, in addition to reliable, highly efficient computationally.The amount of data necessitated the development of an algorithm that is both simple and effective.It is true that the processing of large datasets can be accelerated by the use of high-performance computing farms, but simplicity is always an advantage.The demand for efficient monitoring of railway infrastructures will grow, as will the requirement for MLS.The amount of MLS data is growing and will always be an obstacle on the road to high performance.Simplicity and efficiency were very important criteria in the development of the algorithm.This work's goal is to automate the detection of the most common objects within the rail bed, the catenary system.This includes extracting a class of points collected on objects belonging to the catenary, contact cables, catenary wires and support structures and also determining the position of the detected support structures on the ground.For the method to be useful to railway operators, it has to be able to process data collected in various environments and from various MMS on the rail.It has to be efficient, precise and easily tuned to certain object properties.Algorithms with all of these features could have many applications.It could help determine if the catenary does not jeopardize railway safety, help with creating inventories, narrow down the data for processing during safety inspections and also prepare data for automatic railway corridor modelling.To achieve all of these Railway infrastructure monitoring requires methods that are efficient both at the stage of data collection, as well as at the stage of data processing.Therefore, the data processing algorithm must be, in addition to reliable, highly efficient computationally.The amount of data necessitated the development of an algorithm that is both simple and effective.It is true that the processing of large datasets can be accelerated by the use of high-performance computing farms, but simplicity is always an advantage.The demand for efficient monitoring of railway infrastructures will grow, as will the requirement for MLS.The amount of MLS data is growing and will always be an obstacle on the road to high performance.Simplicity and efficiency were very important criteria in the development of the algorithm.This work's goal is to automate the detection of the most common objects within the rail bed, the catenary system.This includes extracting a class of points collected on objects belonging to the catenary, contact cables, catenary wires and support structures and also determining the position of the detected support structures on the ground.For the method to be useful to railway operators, it has to be able to process data collected in various environments and from various MMS on the rail.It has to be efficient, precise and easily tuned to certain object properties.Algorithms with all of these features could have many applications.It could help determine if the catenary does not jeopardize railway safety, help with creating inventories, narrow down the data for processing during safety inspections and also prepare data for automatic railway corridor modelling.To achieve all of these objectives, a prototype method was created that uses simple calculations and relies only on the geometrical parameters of the sought after objects.The method is a sequential filtration process that is heuristic in its core.All parameters and thresholds in the algorithm can be easily tuned to specific data by the end user.
The structure of the paper is as follows.Firstly, there is a brief summary of existing methods (Section 2).Secondly, the basic characteristics and properties of a catenary system are presented (Section 3.1).Section 3.2 contains the algorithm structure description in detail, data preparation (Section 3.2.1),density analysis (Section 3.2.2.), verification of the detected support structures and their location (Section 3.2.3)and classification clarification (Section 3.2.4).The algorithm test data are described in Section 4. Lastly, the results of experimental tests and a discussion are presented (Section 5).Conclusions are made in Section 6.

Related Work
The ideas of how to automatically process MMS point clouds collected for road and railroad are quite similar; therefore, algorithms created for both environments have been included in this section.
Most algorithms, created to help automate the processing of point clouds acquired by MSL, relate to the detection of road pavements and road curbs.These algorithms usually utilize characteristics both of the measuring sensors and the object of evaluation.Basic assumptions for most methods are: the road must be an almost flat surface with a locally small slope; curbs must be in its immediate vicinity and have a predetermined height difference [8,9].Described methods usually fall into one of two groups, firstly, a local analysis approach and, secondly, a global approach.The first group includes all detection algorithms whose base concept is analysis in small point cloud subsets, sections perpendicular to the trajectory or subsequent profiles recorded by the scanner [11,12,27,28].Then, the algorithms detect the road pavements and curbs using the sliding window method [27] or their position directly under the trajectory and slight changes in altitude or fitting a line [9,11,12,28].Global approaches are a bit more diverse.Some use road geometry and position, flat and below the trajectory [13]; others use a depth image to filter out points with significant elevation change in the near vicinity [14].In other research, the surface is found by using morphological operations (erosion) [29].A very interesting approach was presented in [5], where the authors search for road pavements and facades using the geometric index calculated using the roughness value.
The detection of slender vertical objects may include: power poles, lanterns, sign posts and trees.The determination of the position of these objects is used in the inventory of roads [8], surveying [13], as well as to improve the accuracy of automatic navigating vehicles [30].Depending on the application and its data, algorithms are structured differently.There are more general methods, designed to detect all pole-shaped objects near to roads [5,30,31], or more specialized, for traction poles only [32].Methods for detecting pole-like objects in point clouds differ vastly, though most use at least two-step procedures, where the first step consists of some type of segmentation or restriction of the search area.A couple of algorithms propose two-step procedures with segmentation in voxels first and then the actual search for pole-like objects [5,30].Another method was proposed in [31], where point clouds are analyzed in single scanner profiles.Short circular sweeps that are removed from the rest of the data and presented directly above each other in subsequent profiles are classified as poles.An algorithm with a slightly wider application presented in [33] detects poles and other objects near roads using derived object features, both shape and context.
Processing of point clouds collected for railroads include mostly rail detection [34][35][36][37][38][39], sometimes catenary wires [34,36,39] and catenary support structures [6,32,36,39].Similar to methods described earlier, most algorithms limit the search area in point clouds, by segmentation, buffering or a basic classification process.For this purpose, some algorithms use the approximated position derived from orthophotomaps [35], embankments detected by moving window operators [38] or the trajectory of the MLS [32,36].Actual rail detection is usually performed by the local analysis of elevation differences [5,34,35,[37][38][39], but there are also methods that involve using the fitting of the rail model into the data [36] or search by the continuity and parallel position properties of rails [38].Methods using the analysis of local height jumps have their drawbacks: they often incorrectly classify points belonging to the railway sleepers or various railway line control devices [37].For this reason, some methods include an additional verification step.
Catenary detection and classification are done usually by limiting the distance vertically and horizontally from the previously-detected rails or system trajectory [32,34,36].Verification of detected overhead wires is performed using a simplified model to fit into detected rails and catenary in the planar horizontal view [34] or by usage of the RANSAC algorithm combined with intensity values [36].Catenary cables are also detected by a point neighborhood check together with other derived geometric features [39].Other methods used to find objects similar to catenary wires include powerline searches.In [40,41], powerlines, typical properties, neighborhood, continuity and detachment are used to locate them.To verify found objects, polynomial functions are used to fit the model.
Support structures are detected by several algorithms [6,32,39].Each method approaches the problem differently.Pastucha [32] localize support structures along the corridor with a density check over the rail track, but do not perform classification.Arastounia [39] calculates points neighborhoods and recognizes objects by their geometrical properties and topological relationships.Zhu [6] implement rasterization of point clouds into a digital image, and then use digital image processing.

Geometrical Properties and Spatial Relations
The objective of this work is to automatically detect and classify points belonging to the catenary system within the registered track.This includes classifying the points registered on any object belonging to the rail catenary system and locating its support structure.The overhead contact system provides the railway cars with the necessary electric power.The whole system consists of a series of objects.Those taken into consideration in railway gauge clearance monitoring can be divided into two basic groups, cables and support structures.The cables include catenary wires, contact wires and return wires (Figure 2).Methods using the analysis of local height jumps have their drawbacks: they often incorrectly classify points belonging to the railway sleepers or various railway line control devices [37].For this reason, some methods include an additional verification step.Catenary detection and classification are done usually by limiting the distance vertically and horizontally from the previously-detected rails or system trajectory [32,34,36].Verification of detected overhead wires is performed using a simplified model to fit into detected rails and catenary in the planar horizontal view [34] or by usage of the RANSAC algorithm combined with intensity values [36].Catenary cables are also detected by a point neighborhood check together with other derived geometric features [39].Other methods used to find objects similar to catenary wires include powerline searches.In [40,41], powerlines, typical properties, neighborhood, continuity and detachment are used to locate them.To verify found objects, polynomial functions are used to fit the model.
Support structures are detected by several algorithms [6,32,39].Each method approaches the problem differently.Pastucha [32] localize support structures along the corridor with a density check over the rail track, but do not perform classification.Arastounia [39] calculates points neighborhoods and recognizes objects by their geometrical properties and topological relationships.Zhu [6] implement rasterization of point clouds into a digital image, and then use digital image processing.

Geometrical Properties and Spatial Relations
The objective of this work is to automatically detect and classify points belonging to the catenary system within the registered track.This includes classifying the points registered on any object belonging to the rail catenary system and locating its support structure.The overhead contact system provides the railway cars with the necessary electric power.The whole system consists of a series of objects.Those taken into consideration in railway gauge clearance monitoring can be divided into two basic groups, cables and support structures.The cables include catenary wires, contact wires and return wires (Figure 2).There are many different types of support structures, with various construction, material and technical solutions.Due to the number of tracks connected to said structure, they can be divided into two categories, the single solution and the multi-track solution (Figure 3).There are many different types of support structures, with various construction, material and technical solutions.Due to the number of tracks connected to said structure, they can be divided into two categories, the single solution and the multi-track solution (Figure 3).Analysis of the rail catenary system provides several clear geometrical observations.
1.The relative position of the catenary wires and the rails remains roughly the same throughout the whole route.2. Traction masts or portal structures are placed in fairly regular intervals.3. The connections between the catenary wires and the support system are achieved by cantilevers, which protrude over the rail track.The main axis of each cantilever is roughly perpendicular to the track direction.4. The support structures, both single mast and portal structures, are constructed from beam-like elements, which are either vertical or horizontal.
The designed method tries to incorporate these geometric characteristics into the process in order to make it quicker and more efficient.As the relative position of the catenary wires and the system trajectory remains roughly the same throughout the whole route, the search for overhead cables can be limited to a narrow corridor of data (Figure 4).Additionally, as the cantilevers intrude into this spatial range, they cause a local increase of point density.In this way, a set of possible support structures can be detected.Then, to verify detection, several criteria can be established, based on the support structure characteristics.Analysis of the rail catenary system provides several clear geometrical observations.

1.
The relative position of the catenary wires and the rails remains roughly the same throughout the whole route.

2.
Traction masts or portal structures are placed in fairly regular intervals.

3.
The connections between the catenary wires and the support system are achieved by cantilevers, which protrude over the rail track.The main axis of each cantilever is roughly perpendicular to the track direction.4.
The support structures, both single mast and portal structures, are constructed from beam-like elements, which are either vertical or horizontal.
The designed method tries to incorporate these geometric characteristics into the process in order to make it quicker and more efficient.As the relative position of the catenary wires and the system trajectory remains roughly the same throughout the whole route, the search for overhead cables can be limited to a narrow corridor of data (Figure 4).Additionally, as the cantilevers intrude into this spatial range, they cause a local increase of point density.In this way, a set of possible support structures can be detected.Then, to verify detection, several criteria can be established, based on the support structure characteristics.
There are many different types of support structures, with various construction, material and technical solutions.Due to the number of tracks connected to said structure, they can be divided into two categories, the single solution and the multi-track solution (Figure 3).Analysis of the rail catenary system provides several clear geometrical observations.
1.The relative position of the catenary wires and the rails remains roughly the same throughout the whole route.2. Traction masts or portal structures are placed in fairly regular intervals.3. The connections between the catenary wires and the support system are achieved by cantilevers, which protrude over the rail track.The main axis of each cantilever is roughly perpendicular to the track direction.4. The support structures, both single mast and portal structures, are constructed from beam-like elements, which are either vertical or horizontal.
The designed method tries to incorporate these geometric characteristics into the process in order to make it quicker and more efficient.As the relative position of the catenary wires and the system trajectory remains roughly the same throughout the whole route, the search for overhead cables can be limited to a narrow corridor of data (Figure 4).Additionally, as the cantilevers intrude into this spatial range, they cause a local increase of point density.In this way, a set of possible support structures can be detected.Then, to verify detection, several criteria can be established, based on the support structure characteristics.

Algorithm Structure
The whole algorithm has been divided into four consecutive steps.The first two steps are relatively easy and rely solely on the typical properties of the railway environment.The first sets up parameters and organizes the data in order to simplify and order the calculations.The second step conducts the calculations to extract the possible support structures from the whole point cloud.The last two steps conduct the calculations locally in order to verify the objects detected, classify the points and clarify their classification.The simplified algorithm structure is shown in Figure 5.

Algorithm Structure
The whole algorithm has been divided into four consecutive steps.The first two steps are relatively easy and rely solely on the typical properties of the railway environment.The first sets up parameters and organizes the data in order to simplify and order the calculations.The second step conducts the calculations to extract the possible support structures from the whole point cloud.The last two steps conduct the calculations locally in order to verify the objects detected, classify the points and clarify their classification.The simplified algorithm structure is shown in Figure 5.

Data Preparation
Data preparation consists of the following three procedures, ground filtering, reducing point cloud size and setting the calculation order.Firstly, ground filtering has to be performed.This procedure is necessary for calculating the coordinates of the detected support structure on the ground.The classification might be executed by a number of algorithms, but as it was not the main goal of this work, it was decided to use ground classification algorithms found in the TerraScan software.The results show typical holes in the terrain that arise due to the occlusions (Figure 6).As the classification objective is to provide the elevation coordinates for the positions of the support structures situated directly next to the rail track, the results are sufficient.The second procedure limits the calculations of the later algorithm to points positioned up to a set distance horizontally from the registered trajectory: bd (Figure 7).It is necessary to set the limit according to regulations in force in the area where the survey took place.The limit should incorporate both railway clearance monitoring maximum distance, as well as the maximum distance from the track to one line support structure.
To keep order in point cloud processing and to be able to directly relate to specific parts of the data, an indexing system has been introduced.The processed point cloud is divided into sections

Data Preparation
Data preparation consists of the following three procedures, ground filtering, reducing point cloud size and setting the calculation order.Firstly, ground filtering has to be performed.This procedure is necessary for calculating the coordinates of the detected support structure on the ground.The classification might be executed by a number of algorithms, but as it was not the main goal of this work, it was decided to use ground classification algorithms found in the TerraScan software (version 016.003).The results show typical holes in the terrain that arise due to the occlusions (Figure 6).As the classification objective is to provide the elevation coordinates for the positions of the support structures situated directly next to the rail track, the results are sufficient.

Algorithm Structure
The whole algorithm has been divided into four consecutive steps.The first two steps are relatively easy and rely solely on the typical properties of the railway environment.The first sets up parameters and organizes the data in order to simplify and order the calculations.The second step conducts the calculations to extract the possible support structures from the whole point cloud.The last two steps conduct the calculations locally in order to verify the objects detected, classify the points and clarify their classification.The simplified algorithm structure is shown in Figure 5.

Data Preparation
Data preparation consists of the following three procedures, ground filtering, reducing point cloud size and setting the calculation order.Firstly, ground filtering has to be performed.This procedure is necessary for calculating the coordinates of the detected support structure on the ground.The classification might be executed by a number of algorithms, but as it was not the main goal of this work, it was decided to use ground classification algorithms found in the TerraScan software.The results show typical holes in the terrain that arise due to the occlusions (Figure 6).As the classification objective is to provide the elevation coordinates for the positions of the support structures situated directly next to the rail track, the results are sufficient.The second procedure limits the calculations of the later algorithm to points positioned up to a set distance horizontally from the registered trajectory: bd (Figure 7).It is necessary to set the limit according to regulations in force in the area where the survey took place.The limit should incorporate both railway clearance monitoring maximum distance, as well as the maximum distance from the track to one line support structure.
To keep order in point cloud processing and to be able to directly relate to specific parts of the data, an indexing system has been introduced.The processed point cloud is divided into sections The second procedure limits the calculations of the later algorithm to points positioned up to a set distance horizontally from the registered trajectory: bd (Figure 7).It is necessary to set the limit according to regulations in force in the area where the survey took place.The limit should incorporate both railway clearance monitoring maximum distance, as well as the maximum distance from the track to one line support structure.
To keep order in point cloud processing and to be able to directly relate to specific parts of the data, an indexing system has been introduced.The processed point cloud is divided into sections along the route.Subsequent sections are given one, unchangeable index i {1, 2, 3...}.Each section is defined by its trajectory key point (KP i ), directional point (DP i ) and section depth (sd).Sets of consecutive key points (KP i ) and directional points (DP i ) are derived from the trajectory in established, even intervals, section steps (sst) (Figure 7).Key points belong directly to the trajectory.Each KP i together with its corresponding DP i forms a horizontal line perpendicular to the trajectory in said KP i .The DP i is positioned to the right of the trajectory, but its distance is of no importance and, as such, has been set to 1 m.Section i (S i ) is then a set of points lying within half a section depth from the vertical plane containing appropriate KP i and DP i .
Remote Sens. 2016, 8, 801 7 of 22 along the route.Subsequent sections are given one, unchangeable index i {1, 2, 3...}.Each section is defined by its trajectory key point (KPi), directional point (DPi) and section depth (sd).Sets of consecutive key points (KPi) and directional points (DPi) are derived from the trajectory in established, even intervals, section steps (sst) (Figure 7).Key points belong directly to the trajectory.Each KPi together with its corresponding DPi forms a horizontal line perpendicular to the trajectory in said KPi.The DPi is positioned to the right of the trajectory, but its distance is of no importance and, as such, has been set to 1 m.Section i (Si) is then a set of points lying within half a section depth from the vertical plane containing appropriate KPi and DPi.Two coordinate systems also need to be defined.The first coordinate system, the projected ENH (easting, northing, elevation) in which the MLS data are provided.The other is the local coordinate system XiYiZi, which is different for each section S(i) (Figure 8).Its origin lies in the KPi; the Xi axis is directed towards the DPi (off-track direction); the Yi axis is perpendicular anti-clock-wise to the Xi axis (along the track direction); and the Zi axis is parallel to the H axis of the projected ENH coordinate system.Units between the coordinate systems remain the same.Two coordinate systems also need to be defined.The first coordinate system, the projected ENH (easting, northing, elevation) in which the MLS data are provided.The other is the local coordinate system X i Y i Z i , which is different for each section S(i) (Figure 8).Its origin lies in the KP i ; the X i axis is directed towards the DP i (off-track direction); the Y i axis is perpendicular anti-clock-wise to the X i axis (along the track direction); and the Z i axis is parallel to the H axis of the projected ENH coordinate system.Units between the coordinate systems remain the same.along the route.Subsequent sections are given one, unchangeable index i {1, 2, 3...}.Each section is defined by its trajectory key point (KPi), directional point (DPi) and section depth (sd).Sets of consecutive key points (KPi) and directional points (DPi) are derived from the trajectory in established, even intervals, section steps (sst) (Figure 7).Key points belong directly to the trajectory.Each KPi together with its corresponding DPi forms a horizontal line perpendicular to the trajectory in said KPi.The DPi is positioned to the right of the trajectory, but its distance is of no importance and, as such, has been set to 1 m.Section i (Si) is then a set of points lying within half a section depth from the vertical plane containing appropriate KPi and DPi.Two coordinate systems also need to be defined.The first coordinate system, the projected ENH (easting, northing, elevation) in which the MLS data are provided.The other is the local coordinate system XiYiZi, which is different for each section S(i) (Figure 8).Its origin lies in the KPi; the Xi axis is directed towards the DPi (off-track direction); the Yi axis is perpendicular anti-clock-wise to the Xi axis (along the track direction); and the Zi axis is parallel to the H axis of the projected ENH coordinate system.Units between the coordinate systems remain the same.

Initial Density Analysis
As previously explained, the design method uses geometric relationships in the MLS data.Point density is used to limit the search for support structures.A matrix is created with one column and rows corresponding to the index i.The value of the i-th cell is a number of points within an i-th section at a set distance from the trajectory both horizontally and vertically: where where, S(i), set of points belonging to section i; h l , h h , elevation distance limits; d, horizontal distance limits along the X axis.Additionally, for each section, a region boundary is saved.Border vertices are calculated using the maximum values of the coordinates of the set of section points in the local 2D coordinate system, anchored in the trajectory key point and set in the section plane.Points lying within the calculated boundaries are assigned to the class catenary system.The lower left vertex (LL) is calculated: where • X LL , lowest X coordinate value within points in the subset T, • Z LL , lowest Z coordinate value within points in the subset T.
Accordingly, the upper right vertex (UR): UR : = (X UR , 0, Z UR ) where • X UR , highest X coordinate value within points in the subset T, • Z UR , highest Z coordinate value within points in the subset T.
The statistical parameters of the density matrix have been calculated to provide the information necessary to establish the correct binarization threshold.Firstly, the average number of points per section and, then, the population standard deviation are calculated. where • n, number of sections in a point cloud.
The matrix is then binarized with a threshold equal to the average number of points together with m times the population standard deviation [32]: 0, in other cases (7) The value of the m parameter was determined during threshold sensitivity analysis in Section 5.1.
Then, the process, similar to morphological image processing, dilatation, is conducted to gather areas of interest lying in the near vicinity.A circle with a radius equal to 1 matrix unit has been used as a structuring element.Next, all existing area centers are found, and their index numbers (row numbers) are derived, to form a set of places of interest (W).

Support Structure Verification and Classification
The verification process has a couple of consecutive steps.The simplified algorithm structure is presented in Figure 9. (i) Cantilever Criteria A higher point density above the track can indicate not only the presence of cantilevers (Figure 10a), but also the joining of an additional track on turnouts/crossings (Figure 10b), double catenary wires at the ends of tensioning sections or vegetation growing too close to the catenary wires.Depending on the object causing the increase of point density, the points registered above the track projected on a horizontal plane will form a different pattern.As cantilevers are positioned almost perpendicular to the track, the pattern will resemble a cross.In other cases, there might be two lines meeting at an acute angle, turnouts, section tensioning ending, or the shapeless formation of points, vegetation.
To rule out false positives, each place of interest must be considered separately.Firstly, a set of points that should contain a catenary, together with the object causing the density increase, is selected based on the distance to the considered location.If a cantilever is present in a selected set of points, far more points should be registered on it than on catenary wires.All points are then projected onto a horizontal plane; the elevation coordinate is taken out of the equation; and then, a line is fitted to this set of points to determine the presence of cantilevers.
The RANSAC algorithm [42] has been used, as it performs well in very noisy environments.Through the years, this algorithm has been implemented in many point cloud-processing (i) Cantilever Criteria A higher point density above the track can indicate not only the presence of cantilevers (Figure 10a), but also the joining of an additional track on turnouts/crossings (Figure 10b), double catenary wires at the ends of tensioning sections or vegetation growing too close to the catenary wires.Depending on the object causing the increase of point density, the points registered above the track projected on a horizontal plane will form a different pattern.As cantilevers are positioned almost perpendicular to the track, the pattern will resemble a cross.In other cases, there might be two lines meeting at an acute angle, turnouts, section tensioning ending, or the shapeless formation of points, vegetation.
To rule out false positives, each place of interest must be considered separately.Firstly, a set of points that should contain a catenary, together with the object causing the density increase, is selected based on the distance to the considered location.If a cantilever is present in a selected set of points, far more points should be registered on it than on catenary wires.All points are then projected onto a horizontal plane; the elevation coordinate is taken out of the equation; and then, a line is fitted to this set of points to determine the presence of cantilevers.
The RANSAC algorithm [42] has been used, as it performs well in very noisy environments.Through the years, this algorithm has been implemented in many point cloud-processing algorithms, including primitive shape detection [3] and roof detection [43].RANSAC considers that the given data can be categorized into two sets, noise and model data.It then proceeds to fit the model to randomly-selected minimal sample data.The model that incorporates maximum data entities is chosen as the proper one.In the case of these calculations, cantilevers are the model (model distance r 1 ), and all other points are treated as noise.
If a determined line is almost perpendicular to the trajectory, a support structure can be verified; if not, the location is treated as a false positive.In the case of positive authentication, all model points are classified as the catenary system.All verified places of interest are passed on for further categorization and support structure positioning.
(ii) Vertical Mast and Horizontal Beam Criteria Detected support structures are divided into two categories, traction poles and portal structures.The first category includes all construction where masts are located directly next to the applicable track, both single and multi-track solutions.The second includes all remaining portal structures.
The division is performed based on localizing a mast in close proximity to the measured track.Firstly, a set of points is selected, limited horizontally to sh along the trajectory and ±sz from the trajectory key point vertically.The area to the right and to the left side of the track is checked separately.There are four possible outcomes of said procedure.The two first cases suggest the possibility of a mast next to the rail track.The third shows objects on both sides of the track, and the fourth implies a portal structure.As there are a great deal of different objects that might identify the existence of a significant number of points in the aforementioned subset, each case needs to be verified.
Case 1 and 2: A RANSAC algorithm is used to fit a line into a point selected by set horizontal and vertical limitations (model distance r2).If the fitted line is almost vertical, the intersection of it and the terrain is calculated as the position of the traction pole.If the fitted line is not vertical, the place of interest is moved and is to be verified by the process for Case Scenario 4.
Case 3: To find a pole in this case, its separation from other objects is taken into consideration.All verified places of interest are passed on for further categorization and support structure positioning.
(ii) Vertical Mast and Horizontal Beam Criteria Detected support structures are divided into two categories, traction poles and portal structures.The first category includes all construction where masts are located directly next to the applicable track, both single and multi-track solutions.The second includes all remaining portal structures.
The division is performed based on localizing a mast in close proximity to the measured track.Firstly, a set of points is selected, limited horizontally to s h along the trajectory and ±s z from the trajectory key point vertically.The area to the right and to the left side of the track is checked separately.There are four possible outcomes of said procedure.

1.
Number of points to the right exceeds set threshold and to the left does not.

2.
Number of points to the left exceeds set threshold and to the right does not.

3.
Number of points to the right and to the left exceed set threshold.

4.
Number of points to the right and to the left do not exceed set threshold.
The two first cases suggest the possibility of a mast next to the rail track.The third shows objects on both sides of the track, and the fourth implies a portal structure.As there are a great deal of different objects that might identify the existence of a significant number of points in the aforementioned subset, each case needs to be verified.
Case 1 and 2: A RANSAC algorithm is used to fit a line into a point selected by set horizontal and vertical limitations (model distance r 2 ).If the fitted line is almost vertical, the intersection of it and the terrain is calculated as the position of the traction pole.If the fitted line is not vertical, the place of interest is moved and is to be verified by the process for Case Scenario 4.
Case 3: To find a pole in this case, its separation from other objects is taken into consideration.Thus, on both sides, the RANSAC algorithm is used twice: once with a threshold distance r 2 and also with a threshold distance of 2r 2 .Firstly, the vertical requirement is checked, and then, the number of model points between the 1st and 2nd set is compared.The pole is detected in the place where the difference between the number of set points in between iterations is smaller.The pole coordinates are calculated as in Cases 1 and 2. If none of the objects are established as vertical, the place of interest is moved and is then verified by the process for Case Scenario 4.
Case 4: There are no vertical pole-like objects next to the track.Therefore, either the support structure was verified incorrectly or this is a multi-track solution (portal structure) where the cantilever is secured to the structural beam above it.Again, RANSAC (threshold distance r 3 ) is used to fit the line to points above the catenary.If the line is perpendicular to the track and contains more points than the set threshold portal structure, it is verified, and its position trajectory key point is confirmed.In other cases, the point of interest is deleted from the checked set.
In all of the above cases, upon support structure verification, all RANSAC model points are classified as a catenary system.The minimal point count thresholds are set manually, according to point density.

Data Classification Clarification
As the process of classification has been simplified, not all points registered on the sought after infrastructure were found, and therefore, not all classified points were assigned correctly.The process of classification has been divided into two separate operations.The first considers detected support structures (i), the second catenary wires (ii).
(i) Support Structures To refine the classification of support structures, a modification of the DBSCAN clustering algorithm was used.The DBSCAN algorithm, as published in [44], is used to perform data clustering of unorganized sets of data points.It can be applied to various sets of data, including point clouds [45].It groups together points according to their neighborhood and distance.The algorithm proposes an iterative clustering method, which considers three types of points, core points, border points and outliers.Both core points and border points belong to the group.To assign unclassified points to the group, the point has to be within a set distance to one of the core points.It becomes a core point if there are more than a set number of group points in its neighborhood; otherwise, it becomes a border point.
DBSCAN's simple principles make it easy to adapt it to this study.The algorithm has been modified to not detect a group of points, but being provided a set of points, among which some have been assigned to a certain group, to detect points among unassigned, which belong to said group.It has then been applied to each detected support structure in two separate calculations.The first considers all points from the middle (dm) vertically-wise and up and the second from the middle vertically-wise and down to stop the classification process from spreading along low vegetation and ground points.Figure 11 presents detected support structures before and after the modified DBSCAN processing.Both distance and neighborhood thresholds have to be set according to the available data.DBSCAN parameters maximal distance (dd) and neighborhood count (nc) have to be set manually according to point density.
(ii) Catenary Wires The goal of this step is to find points that do not belong to the catenary, but, due to simplified classification procedures, were included in this class.This includes greenery growing too close to the track, isolated noise points or other objects that might come into contact with the catenary.That also might include incorrectly excluded support structures.Boundaries determined during the initial density check procedure are considered (Section 3.2.2).In ideal circumstances, these boundaries would include only points registered on the catenary and, between the support structures, only the catenary cables.As the cables are being stretched, boundaries should linearly change between the consecutive sections.To detect places of interest, the following procedure is implemented.Firstly, the whole analyzed railway line is divided into segments by all of the detected support structures.Then, the boundary diagonal is calculated for every section belonging to a considered segment.If, in between the consecutive sections, a discrepancy of the diagonal exceeds set threshold, c, then the region is evaluated again.There are two case scenarios where this can happen:

•
an unidentified object too close to the catenary system, • catenary cables heading towards tension poles or other tracks.
Determining each case is relatively easy.The cables heading towards tension poles or other tracks cause only one significant discrepancy between consecutive sections.In other case scenarios, there have to be at least two significant discrepancies nearby.In the event of the first case scenario, cables departing from the main thread, said cables are located by the RANSAC algorithm (model distance r4).As it might be a set of cables instead of one thread, the search is conducted in sets of points projected onto a horizontal plane.The RANSAC model points are again classified as the catenary system.The second case scenario, for all of the sections where a significant discrepancy occurs, a new boundary is calculated.New boundary vertices are determined by the intersection of lines fitted to nearby boundary vertices and said section plane.All points excluded from the boundary in the newly-evaluated section are moved to an unassigned class.Additionally, the set of all corrected sections for the whole analyzed rail line is written to a separate file as objects that might jeopardize rail safety.

Datasets' Description
Data used in this research have been obtained in the framework of a research project (No. 5.72.130.151)conducted by the AGH University for PKP Polskie Linie Kolejowe S.A. in Warsaw, Poland.Data were collected in 2011 and 2012 using RIEGL MMS VMX-250 and VMX-450 on a rail route between Cracow and Warsaw in Poland near the towns of Słomniki and Miechów.Both point clouds and trajectory coordinates were provided in the Polish National Coordinate System Poland CS2000 zone 7, which is a grid reference system using ENH coordinates.Collected data were divided into four datasets, according to the MMS system used, the date of survey and the direction of the survey (southbound/northbound) (Table 1).Each set was then split into a number of point clouds.To detect places of interest, the following procedure is implemented.Firstly, the whole analyzed railway line is divided into segments by all of the detected support structures.Then, the boundary diagonal is calculated for every section belonging to a considered segment.If, in between the consecutive sections, a discrepancy of the diagonal exceeds set threshold, c, then the region is evaluated again.There are two case scenarios where this can happen:

•
an unidentified object too close to the catenary system, • catenary cables heading towards tension poles or other tracks.
Determining each case is relatively easy.The cables heading towards tension poles or other tracks cause only one significant discrepancy between consecutive sections.In other case scenarios, there have to be at least two significant discrepancies nearby.In the event of the first case scenario, cables departing from the main thread, said cables are located by the RANSAC algorithm (model distance r 4 ).As it might be a set of cables instead of one thread, the search is conducted in sets of points projected onto a horizontal plane.The RANSAC model points are again classified as the catenary system.The second case scenario, for all of the sections where a significant discrepancy occurs, a new boundary is calculated.New boundary vertices are determined by the intersection of lines fitted to nearby boundary vertices and said section plane.All points excluded from the boundary in the newly-evaluated section are moved to an unassigned class.Additionally, the set of all corrected sections for the whole analyzed rail line is written to a separate file as objects that might jeopardize rail safety.

Datasets' Description
Data used in this research have been obtained in the framework of a research project (No. 5.72.130.151)conducted by the AGH University for PKP Polskie Linie Kolejowe S.A. in Warsaw, Poland.Data were collected in 2011 and 2012 using RIEGL MMS VMX-250 and VMX-450 on a rail route between Cracow and Warsaw in Poland near the towns of Słomniki and Miechów.Both point clouds and trajectory coordinates were provided in the Polish National Coordinate System Poland CS2000 zone 7, which is a grid reference system using ENH coordinates.Collected data were divided into four datasets, according to the MMS system used, the date of survey and the direction of the survey (southbound/northbound) (Table 1).Each set was then split into a number of point clouds.The survey was conducted mostly on the same part of the rail route, though there are some exceptions.Figure 12 presents the extent of every survey mission.During surveys, the MMS were stabilized on the rail platforms differently (Figure 13), and so, all set distances had to be established individually.The test route length and location enabled the algorithm to be verified in various environments, the railway stations and areas between them, bends and straight sections.Within the test route, numerous types of support structures were found.They vary in terms of the type of construction, material and the level of degradation.The survey was conducted mostly on the same part of the rail route, though there are some exceptions.Figure 12 presents the extent of every survey mission.During surveys, the MMS were stabilized on the rail platforms differently (Figure 13), and so, all set distances had to be established individually.The test route length and location enabled the algorithm to be verified in various environments, the railway stations and areas between them, bends and straight sections.Within the test route, numerous types of support structures were found.They vary in terms of the type of construction, material and the level of degradation.

Results and Discussion
The assessment of the algorithm was conducted in three steps.Firstly, a threshold analysis was conducted to provide information as to how to set up correct levels.Then, a detection check (verification of the support structure positioning process) was carried out and, secondly, a classification check.

Threshold Analysis
The proposed method relies on a set of adopted thresholds.All of them can be divided into three categories: • calculation parameters (Section 5.1.1),• thresholds dependent on the geometry of the sought after objects (Section 5.1.2),• thresholds dependent on the properties of MMS (Section 5.1.3).
Out of the four datasets, four point clouds form Set II, with a cumulative length of the route of approximately 2700 m, were chosen as the training data to set all thresholds and model all distances.Selected point clouds include both railway station and regular track, straight sections and bends.There are 59 support structures, both single solution and portal structures, registered within the chosen track.There is also a tensioning section and a turnout.

Calculation Parameters
Calculation parameters include basic thresholds and parameters, that is section step (sst), section depth (sd) and parameter m (Equation ( 11)).Section step and section depth have to have the same value to perform the calculation without loss of data.
To estimate thresholds' optimal values, a sensitivity analysis was conducted.A two-stage approach was implemented for this purpose [46].Firstly, thresholds were set intuitively (Table 2).Then, calculations were conducted with one threshold set and the other changing.As both thresholds are used within the initial density analysis (Section 3.2.2),precision, recall and F1 score [47] were calculated for the case of the correct place of interest detection.The results for the analysis for the sst parameter are presented in Table 3 and Figure 14; the results for the analysis for the m parameter are presented in Table 4 and Figure 15.
Tables 3 and 4 and Figures 14 and 15 present the results of the calculations with the tested parameter values.
Both tested thresholds concern place of interest detection.Because of that, false positive cases' impact is far less important than false negatives.Later calculations, among other things, are designed

Results and Discussion
The assessment of the algorithm was conducted in three steps.Firstly, a threshold analysis was conducted to provide information as to how to set up correct levels.Then, a detection check (verification of the support structure positioning process) was carried out and, secondly, a classification check.

Threshold Analysis
The proposed method relies on a set of adopted thresholds.All of them can be divided into three categories: • calculation parameters (Section 5.1.1),• thresholds dependent on the geometry of the sought after objects (Section 5.1.2),• thresholds dependent on the properties of MMS (Section 5.1.3).
Out of the four datasets, four point clouds form Set II, with a cumulative length of the route of approximately 2700 m, were chosen as the training data to set all thresholds and model all distances.Selected point clouds include both railway station and regular track, straight sections and bends.There are 59 support structures, both single solution and portal structures, registered within the chosen track.There is also a tensioning section and a turnout.

Calculation Parameters
Calculation parameters include basic thresholds and parameters, that is section step (sst), section depth (sd) and parameter m (Equation ( 11)).Section step and section depth have to have the same value to perform the calculation without loss of data.
To estimate thresholds' optimal values, a sensitivity analysis was conducted.A two-stage approach was implemented for this purpose [46].Firstly, thresholds were set intuitively (Table 2).Then, calculations were conducted with one threshold set and the other changing.As both thresholds are used within the initial density analysis (Section 3.2.2),precision, recall and F 1 score [47] were calculated for the case of the correct place of interest detection.The results for the analysis for the sst parameter are presented in Table 3 and Figure 14; the results for the analysis for the m parameter are presented in Table 4 and Figure 15.
Tables 3 and 4 and Figures 14 and 15 present the results of the calculations with the tested parameter values.
Both tested thresholds concern place of interest detection.Because of that, false positive cases' impact is far less important than false negatives.Later calculations, among other things, are designed to exclude incorrectly chosen places of interest.Bearing that in mind, less false positive cases means less calculations and less time and computing power.
According to the results of sensitivity analysis, the section step was set to 0.5 m, and the m parameter was set to two.According to the results of sensitivity analysis, the section step was set to 0.5 m, and the m parameter was set to two.Railway embankments are highly regulated and standardized.Depending on the country or region, the parameters of the objects within the rail track and their relative position are arbitrarily set.Due to the constant monitoring, those parameters and relative positions will never change significantly.The parameters listed above were set in the algorithm according to Polish railway guidelines or cases observed within the dataset.The adopted thresholds values are:  bd, 5 m, the railway clearance monitoring does not go beyond this limit, and one-line support structure masts are situated not further than 4.5 m from the track center,  d, 1.5 m, set according to cantilever properties and the minimal distance from the rail axis to support structures,  r1, 0.1 m, the width of the cantilever does not exceed a couple of cm,  r2, 0.2 m, the diagonal of the thickest support structures does not exceed 0.4 m,  r3, 0.4 m, the diagonal of the horizontal beam in portal structures does not exceed 0.6 m,  r4, the model distance was set to 0.1 m to include cases of more and less tensioned wires,  ph, 1.5 m (3 sst), the value adopted according to possible deflection of the cantilever and section step value,  pz, 0.25 m from the trajectory, elevation below the catenary wires, but off the ground enough as not to include low vegetation,  dm, hl-0.5 m, elevation below the catenary wires, clearly dividing detected support structure into two point sets,  c, 0.4 sst m, value adopted according to the section step and the angle of possible outgoing cables.

Thresholds Dependent on the Properties of MMS
There are two groups of thresholds dependent on the properties of MMS.The first group includes thresholds hl, hh, the trajectory to the catenary wires' distances.To set the distance between Railway embankments are highly regulated and standardized.Depending on the country or region, the parameters of the objects within the rail track and their relative position are arbitrarily set.Due to the constant monitoring, those parameters and relative positions will never change significantly.The parameters listed above were set in the algorithm according to Polish railway guidelines or cases observed within the dataset.The adopted thresholds values are: • bd, 5 m, the railway clearance monitoring does not go beyond this limit, and one-line support structure masts are situated not further than 4.5 m from the track center, • d, 1.5 m, set according to cantilever properties and the minimal distance from the rail axis to support structures, • r 1 , 0.1 m, the width of the cantilever does not exceed a couple of cm, • r 2 , 0.2 m, the diagonal of the thickest support structures does not exceed 0.4 m, • r 3 , 0.4 m, the diagonal of the horizontal beam in portal structures does not exceed 0.6 m, • r 4 , the model distance was set to 0.1 m to include cases of more and less tensioned wires, • p h , 1.5 m (3 sst), the value adopted according to possible deflection of the cantilever and section step value, • p z , 0.25 m from the trajectory, elevation below the catenary wires, but off the ground enough as not to include low vegetation, • dm, h l -0.5 m, elevation below the catenary wires, clearly dividing detected support structure into two point sets, • c, 0.4 sst m, value adopted according to the section step and the angle of possible outgoing cables.

Thresholds Dependent on the of MMS
There are two groups of thresholds dependent on the properties of MMS.The first group includes thresholds h l , h h , the trajectory to the catenary wires' distances.To set the distance between MMS trajectory and catenary wires, two sample point cloud sections were chosen, one on a bend and one on a straight route, in all datasets.Adopted height differences according to the set are presented in Table 5.The second group includes DBSCAN set distance and neighborhood count (dd, nc).In this algorithm, for all sets, threshold dd was set to 0.1 m and nc to 20.The values were derived from the observation of a couple of randomly-chosen support structures.This value is the worst case scenario, but incorporates cases of both lattice and solid poles.The determination of these thresholds could be automated using the measurement of point density on the ground.

Support Structures Detection Check
All existing support structures were divided into three categories with regards to their detection: true positive, false positive and false negative.To qualify a support structure as detected, its location on the ground and type (single solution or multi-track solution) had to be written to the appropriate set.All entries in said sets were compared to manually-collected ground truth sets.Table 6 lists all results according to the dataset.Table 7 presents performance measures, precision, recall and F 1 score [47], which were calculated separately for each dataset.All of the calculated performance measures are very high.The algorithm has proven to be both efficient and precise.It was able to detect over 97% of existing support structures, and false positives make up less than 0.2% of all detected objects.
There are a few factors contributing to the false negative detection cases.Mostly, the blame can be attributed to random sampling in the RANSAC algorithm.No matter how low the probability, it is still that during the sampling process, no points registered at a cantilever were taken into consideration.The probability of this further increases in places with double cables, as in tensioning sections.This can be eliminated if instead of random samples, all possible combinations are used in the sample stage of RANSAC, but the computational time required and the rather small amount of omitted support structures deem it, in the author's opinion, as excessive.The other reason for false negative detection was also the extreme degradation of some support structures.For example, there was one case where another support structure was already placed next to a damaged pole (within 0.5 m); but both were registered, and as a consequence, neither was detected.All in all, every single undetected support structure was registered in a subset of objects lying too close to the track and, in the end, could be classified manually.
False positive detection was caused either by greenery growing too close to the track and, thus, causing false verification and detection or by the existence of additional cables.Only three cases of false positive detection were recorded.

Classification Check
The second step of the algorithm assessment included classification evaluation.Each detected support structure was checked for the completeness of classification and for the possible false classification of objects nearby.One thousand five hundred eight one out of 1645 detected poles and portal structures (96.11%) were classified correctly and completely (Figure 16a).The confusion matrix for the classification process (object level) is shown in Table 8.Incorrect classification cases can be divided into one of three categories.Category I includes support structures with additional wire-stretchers at the end of the overhead contact line tensioning section (Figure 16b), 34 cases.Due to atypical support structure construction, DBSCAN processing might be done on an incomplete dataset.This consequently caused partial classification of masts.Category II incorporates all support structures whose cantilevers were constructed with thin steel cables, and due to their size, not many points were registered on its surface, 22 cases.Poor sampling resulted in the incorrect omission of said points by modified DBSCAN (Figure 16c).Category III considers all support structures that were classified together with adjoining greenery, eight cases (Figure 16d).Trees or shrubs growing too close to detected poles caused modified DBSCAN to falsely assign their points to the catenary class.All cases according to the datasets are presented in Table 9.All of the immediate contact wires were classified correctly; any problems that arose were due to additional wiring on turnouts or by the ends of the tensioning sections.Figure 17   In conclusion, the algorithm performed really well on all provided datasets.It did not fail to detect and correctly classify catenary systems regardless of the environment, complexity and degradation.Simple and obvious assumptions, that led to the creation of the algorithm, are the same for almost all overhead contact systems around the world.Contrary to previously-published research on the topic, all of the points registered on the catenary system were classified into one class.It is not enough for the automatic creation of 3D models, but it is more than enough for the purpose of railway gauge clearance monitoring.Furthermore, including this algorithm as a preparation step in more complex solutions could significantly reduce their calculations.All of the immediate contact wires were classified correctly; any problems that arose were due to additional wiring on turnouts or by the ends of the tensioning sections.Figure 17  All of the immediate contact wires were classified correctly; any problems that arose were due to additional wiring on turnouts or by the ends of the tensioning sections.Figure 17   In conclusion, the algorithm performed really well on all provided datasets.It did not fail to detect and correctly classify catenary systems regardless of the environment, complexity and degradation.Simple and obvious assumptions, that led to the creation of the algorithm, are the same for almost all overhead contact systems around the world.Contrary to previously-published research on the topic, all of the points registered on the catenary system were classified into one class.It is not enough for the automatic creation of 3D models, but it is more than enough for the purpose of railway gauge clearance monitoring.Furthermore, including this algorithm as a preparation step in more complex solutions could significantly reduce their calculations.In conclusion, the algorithm performed really well on all provided datasets.It did not fail to detect and correctly classify catenary systems regardless of the environment, complexity and degradation.Simple and obvious assumptions, that led to the creation of the algorithm, are the same for almost all overhead contact systems around the world.Contrary to previously-published research on the topic, all of the points registered on the catenary system were classified into one class.It is not enough for the automatic creation of 3D models, but it is more than enough for the purpose of railway gauge clearance monitoring.Furthermore, including this algorithm as a preparation step in more complex solutions could significantly reduce their calculations.

6.
The test route included railway bridges, railway stations, turnouts, crossings, straight sections and bends.The created method utilized specific object properties and simple geometrical observations.Its simplicity and limited use to obvious and common properties made it possible to detect support structures regardless of the type of construction or degradation.Out of the total 1686 existing support structures, only 41 were not detected, which gives a success rate of over 97%.Additionally, only three non-existent support structures (false positives) were detected.In conclusion, the algorithm proved to be both reliable and efficient.The simplicity of the algorithm might enable it to work with any available MMS point cloud, but this hypothesis requires verification.There are a couple of drawbacks to this method that will be improved in future research.There are a few thresholds set manually, some of which relate to point cloud local density.They could easily be replaced with statistically-computed values according to local ground density.Those that cannot be replaced are the geometrical distances and properties of specific objects.These need to be specified by the end user.Another problem is massive data management.The extremely large amounts of data provided by MMS need to be stored in such a way as to facilitate quick navigation and processing.This could be achieved with the available GIS tools.These tools are required in order to modify the algorithm into software.With further research, the authors are also planning to extend the algorithm to include neighboring tracks.It would require implementing rail detection, then railroad centerline determination and, finally, the incorporation of the rail axis instead of the trajectory in calculations.

Figure 1 .
Figure 1.Point cloud collected by a mobile mapping system (MMS) on a rail.Points colored according to intensity; MMS trajectory in blue.

Figure 1 .
Figure 1.Point cloud collected by a mobile mapping system (MMS) on a rail.Points colored according to intensity; MMS trajectory in blue.

Figure 3 .
Figure 3. Catenary system support structures.Single solution (a) and multi-track solution, portal structure (b).

Figure 4 .
Figure 4. Narrow corridor containing catenary wires against selected points from the MMS point cloud.Catenary system, blue; rails, red; trajectory, green.

Figure 3 .
Figure 3. Catenary system support structures.Single solution (a) and multi-track solution, portal structure (b).

Figure 3 .
Figure 3. Catenary system support structures.Single solution (a) and multi-track solution, portal structure (b).

Figure 4 .
Figure 4. Narrow corridor containing catenary wires against selected points from the MMS point cloud.Catenary system, blue; rails, red; trajectory, green.

Figure 4 .
Figure 4. Narrow corridor containing catenary wires against selected points from the MMS point cloud.Catenary system, blue; rails, red; trajectory, green.

Figure 6 .
Figure 6.Points belonging to the ground class.Example from the MLS point cloud classified in TerraScan software.

Figure 6 .
Figure 6.Points belonging to the ground class.Example from the MLS point cloud classified in TerraScan software.

Figure 6 .
Figure 6.Points belonging to the ground class.Example from the MLS point cloud classified in TerraScan software (version 016.003).

Figure 7 .
Figure 7. Sample point cloud.In red trajectory key points (KP), in yellow directional points, in blue border of calculation area.

Figure 8 .
Figure 8. Sample point cloud section.Easting, northing, elevation (ENH) coordinate system in teal, section local coordinate system in white, section key point in red, section directional point in yellow.

Figure 7 .
Figure 7. Sample point cloud.In red trajectory key points (KP), in yellow directional points, in blue border of calculation area.

Figure 7 .
Figure 7. Sample point cloud.In red trajectory key points (KP), in yellow directional points, in blue border of calculation area.

Figure 8 .
Figure 8. Sample point cloud section.Easting, northing, elevation (ENH) coordinate system in teal, section local coordinate system in white, section key point in red, section directional point in yellow.

Figure 8 .
Figure 8. Sample point cloud section.Easting, northing, elevation (ENH) coordinate system in teal, section local coordinate system in white, section key point in red, section directional point in yellow.

23 Figure 9 .
Figure 9. Simplified structure of the verification process.

Figure 9 .
Figure 9. Simplified structure of the verification process.

Figure 10 .
Figure 10.Sample point clouds in the place of interest and near vicinity.Increase of density caused by cantilever (a) and additional track (b).Search area limited by pink circle, catenary system in blue, rails, red, remaining points in white.

1 .
Number of points to the right exceeds set threshold and to the left does not.2. Number of points to the left exceeds set threshold and to the right does not.3. Number of points to the right and to the left exceed set threshold.4. Number of points to the right and to the left do not exceed set threshold.

Figure 10 .
Figure 10.Sample point clouds in the place of interest and near vicinity.Increase of density caused by cantilever (a) and additional track (b).Search area limited by pink circle, catenary system in blue, rails, red, remaining points in white.

Figure 11 .
Figure 11.Detected support structure before (a) and after (b) submission to modified DBSCAN processing.Red, rails, catenary class, blue, unclassified points, white.

Figure 11 .
Figure 11.Detected support structure before (a) and after (b) submission to modified DBSCAN processing.Red, rails, catenary class, blue, unclassified points, white.

Figure 12 .
Figure 12.Ranges of individual test routes.

Figure 14 .
Figure 14.Precision, recall and F1 score values according to different section step (sst) values.

Figure 14 .
Figure 14.Precision, recall and F 1 score values according to different section step (sst) values.

Figure 15 .
Figure 15.Precision, recall and F1 score values according to different m parameter values.

Figure 15 .
Figure 15.Precision, recall and F 1 score values according to different m parameter values.

Figure 16 .
Figure 16.Detected and classified support structures: correct classification (a), support structure with additional wire stretchers (b) (Category I), support structure with cantilevers constructed with thin steel cables (c) (Category II), support structure with incorrectly-classified greenery (d) (Category III).Blue, catenary class, red, rail class, orange, ground class, white, remaining points.
presents a classified point cloud in the vicinity of turnouts.

Figure 17 .
Figure 17.Part of the route including turnouts.Detected overhead contact system points in blue, rails in red, remaining points in white.

Figure 16 .
Figure 16.Detected and classified support structures: correct classification (a); support structure with additional wire stretchers (b) (Category I); support structure with cantilevers constructed with thin steel cables (c) (Category II); support structure with incorrectly-classified greenery (d) (Category III).Blue, catenary class, red, rail class, orange, ground class, white, remaining points.

Figure 16 .
Figure 16.Detected and classified support structures: correct classification (a), support structure with additional wire stretchers (b) (Category I), support structure with cantilevers constructed with thin steel cables (c) (Category II), support structure with incorrectly-classified greenery (d) (Category III).Blue, catenary class, red, rail class, orange, ground class, white, remaining points.
presents a classified point cloud in the vicinity of turnouts.

Figure 17 .
Figure 17.Part of the route including turnouts.Detected overhead contact system points in blue, rails in red, remaining points in white.

Figure 17 .
Figure 17.Part of the route including turnouts.Detected overhead contact system points in blue, rails in red, remaining points in white.

Table 1 .
Datasets used in the algorithm verification process.

Table 1 .
Datasets used in the algorithm verification process.

Table 2 .
Adopted parameter sst and m values.

Table 3 .
Detection of the places of interest results according to various section step (sst) values.to exclude incorrectly chosen places of interest.Bearing that in mind, less false positive cases means less calculations and less time and computing power. designed

Table 2 .
Adopted parameter sst and m values.

Table 3 .
Detection of the places of interest results according to various section step (sst) values.

Table 4 .
Detection of the places of interest results according to various m parameter values.

Table 4 .
Detection of the places of interest results according to various m parameter values.

Table 5 .
Adopted height difference between the trajectory and catenary wires' lower boundary (h l ) and upper boundary (h h ).

Table 6 .
Detection and positioning of support structure results.Support structures single solution, SS; multi-track solution, MTS.

Table 7 .
Precision, recall and F 1 score according to dataset.

Table 8 .
Confusion matrix for the complete classification of detected support structures.

Table 9 .
Incompletely-or incorrectly-classified support structures according to type of error.