• No results found

4. Methodology and implementation of 3D lidar data classification

4.5. Region Growing method

The idea of Region Growing (RG) is first to find a small piece of an object of interest as seed points and then look for the rest of that object in its neighbourhood according to its characteristics. Here rails and contact wires are classified by the RG method and catenary wires are classified by the nearest neighbour analysis. Figure 4-9 shows the flowchart of RG method. As it was mentioned in section 4.1, RG was applied for two datasets, a terrestrial and an airborne dataset.

4.5.1. First classification of rails

In RG, first classification of rail points are done for the first 5 meters to obtain the rail seed points which are used for growing in section 4.5.3. In fact, for first classification of rail points same steps as in TM i.e.

pre classification based on height, grid generation and HJD are followed. The difference is that here these three steps are done only for the first 5 meters of point clouds. As a result, the first 5 meters of classified rail points are achieved. However, like the result of HJD in TM method, there are some wrong

classifications and some rail points are not classified in the first classification. Then by applying Hough Transform algorithm, the straight lines corresponding straight rails are detected and by following these lines, not-classified rail points are classified and wrong classifications are excluded. Hough Transform algorithm is applied based on the assumption that rails are straight for the first 5 meters due to limitation on maximum rail curvature.

For terrestrial dataset, the implementation of these three steps were the same as in TM as the same dataset was used for TM. The result of this step contained all rail points of the first 5 meters which were used as seed points for rail growing in section 4.5.3.

For airborne dataset, the seed points were detected manually because finding a short piece of rail as seed points is done by HJD method. In addition, as the resolution of airborne dataset is low and data resolution has a great influence on HJD results, it fails to classify a short piece of rail as rail seed points. On the other hand, as RG uses the height and direction of rail seed points to find the rest of rail points, the number of seed points should be enough to give a true value of their height and direction. As a result, in airborne dataset the first 15 meters of rails were considered as rail seed points. While this length was 5 meters for terrestrial dataset as it has a higher resolution.

4.5.2. First Classification of contact wires

First classification of contact wire points are done for the first 5 meters to obtain the contact wire seed points which are used for growing in section 4.5.4. For the first classification of contact wire points same steps as in TM i.e. nearest neighbour analysis between rail points and points in class 3 is done.

For terrestrial dataset, the first classification of wires was done by the same algorithm as in TM i.e. nearest neighbour analysis. So all classified rail points were put in one KD tree data structure and all points in class 3 were put in another KD tree data structure. Then by doing the nearest neighbour analysis, only the points in class 3 which were in a close neighbourhood of rail points were classified as contact wire seed points.

For airborne dataset, like detecting rail seed points, the first 15 meters of contact wires were detected manually as seed points due to the low resolution of the dataset.

4.5.3. Classifying the rest of rail points

The idea of RG is first to find a short piece of rail as rail seed points and then look for the rest of the rail points in its neighbourhood according to rail characteristics. Rail growing is done with respect to the fact that there is a limitation on slope and curvature of rails. First the algorithm extracts the height and direction of rail seed points as the starting height and direction for rail growing. Then points in a close neighbourhood of seed points with almost the same height as them are considered as candidate new rail points. Then it is inspected if each of these candidate points is added to rail points in its close

neighbourhood, the direction would change substantially or not. If not, that point is classified as rail point.

Then, newly classified rail points of each step are considered as new seed points and again their height and direction are calculated for next steps of growing. In other words, after each step of growing, height and direction are updated. The growing for rail points is followed until no more rail points are classified.

Having small growing step means that these parameters are updated more frequently which leads to more accurate results of classification even in steep areas with curved rails. In addition, smaller steps of growing results in higher speed of the algorithm because small step size means the algorithm should look for points on rails in a smaller neighbourhood around seed points. On the other hand, having very small growing step size is risky because a gap in the dataset bigger than the growing step leads to failure of algorithm to classify the rest of points after that gap. Therefore, growing step is preferred to be as small as possible and with respect to resolution of dataset, it cannot be smaller than the biggest gap in the dataset.

To implement, to find points in a close neighbourhood of seed points nearest neighbour analysis between seed points and points in track bed was done. The rail growing step for terrestrial dataset was considered as 1 meter while it was considered 5 meters for airborne dataset. The growing step of airborne dataset was chosen bigger than that of terrestrial dataset because airborne dataset has a lower resolution and bigger gaps than those of terrestrial dataset.

Although the developed algorithm grows each rail track separately, it also recognizes the pairs of rails and their corresponding contact and catenary wires above them. Terrestrial dataset contains straight rails in a flat area without considerable elevation change of rails and track bed. But for areas with more complicated configuration of rails, the ability of rail pair recognition can be very helpful. In such areas, the algorithm can grow each pair of rail tracks together and for each growing step checks if they are parallel and their distance from each other is the same as gauge or not. In other words, the ability of rail pair recognition can provide extra strong constraints for rail classification in case the current algorithm fails.

To implement rail pair recognition, rail seed points of each rail track are put in different KD tree data structures. Then by nearest neighbour analysis, the rails that are in a distance of 1.5 m from each other are labelled as the same pair. Up to this stage, the rail pairs of the first 5 meters are recognized. For growing, newly classified rail points in each growing step are labelled as they belong to the same pair of rails that their seed points do.

4.5.4. Classifying the rest of contact wire points

To classify contact wire points RG algorithm is again applied but the difference is just the constraint of direction is used and the constraint of height is ignored. In rail growing, the constraint of height is used to differentiate between the points on track bed and the points on rails but wires are already separated in pre classification step. In other words, in pre classification step, all contact wire points are separated from catenary wire points and are classified as class 3. Therefore, for contact wire growing, only the constraint of direction is used and the algorithm looks for new contact wire points only in points of class 3 which are close to contact wire seed points.

To implement, the same strategy as in rail growing was applied excluding the constraint of direction i.e.to find points in a close neighbourhood of seed points nearest neighbour analysis between seed points and points of class 3 was done. The contact wire growing step for terrestrial dataset was considered as 3 meters while it was considered 5 meters for airborne dataset. The growing step of airborne dataset was

bigger than growing steps for rails because the resolution of terrestrial dataset on rails is higher than that on wires. That is so due to close distance of mobile laser scanner to rails than to wires in terrestrial dataset.

While in airborne dataset, as the mobile laser scanner is on the air, the difference of its distance to rails and wires does not make a big change.

4.5.5. Classifying catenary wire points

The method applied for this part is the nearest neighbour analysis between classified contact wires in previous step and points of class 4. By considering this fact that catenary wires are exactly above contact wires, if all contact wire points which are classified in section 4.5.4 and all points in class 4 are projected on a planimetric plane, only catenary wire points lie in a very close neighbourhood of contact wire points.

To implement, all projected classified contact wire points were put in one KD tree data structure and all projected points of class 4 were put in another KD tree data structure. Then by doing the nearest neighbour analysis, only points of class 4 which were in a close neighbourhood of contact wires were considered as catenary wires respectively. This step was the same for both terrestrial and airborne datsets.

Related documents