Talk:Region Growing Segmentation
(→Region Growing) |
(→Region Growing) |
||
Line 115: | Line 115: | ||
− | =Region Growing= | + | =Region Growing in SAGA= |
Now we finally made it to the fun part of the whole exercise, which is creating the segments around the tops of the trees i.e. the seed points. Therefor we open SAGA GIS. | Now we finally made it to the fun part of the whole exercise, which is creating the segments around the tops of the trees i.e. the seed points. Therefor we open SAGA GIS. | ||
Line 127: | Line 127: | ||
* Change [[File:SAGA3.PNG|150px|]] to {{button|text=All files}} | * Change [[File:SAGA3.PNG|150px|]] to {{button|text=All files}} | ||
+ | |||
+ | |||
* Open all split band images and the superimposed seed raster '''one after another''' | * Open all split band images and the superimposed seed raster '''one after another''' | ||
* The layer panel on the left should now look like this: | * The layer panel on the left should now look like this: | ||
+ | |||
[[File:SAGA4.PNG]] | [[File:SAGA4.PNG]] | ||
+ | |||
* In the line below {{button|text=Grids}} you see the extend of your raster files. If you happen to see two different of those lines, your raster images do not match 100 %. You can fix that again with the {{button|text=Superimpose sensor}} Tool in the OTB library in {{button|text=QGIS}} | * In the line below {{button|text=Grids}} you see the extend of your raster files. If you happen to see two different of those lines, your raster images do not match 100 %. You can fix that again with the {{button|text=Superimpose sensor}} Tool in the OTB library in {{button|text=QGIS}} | ||
− | + | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | =Seeded Region Growing Algorithm= | ||
Line 140: | Line 149: | ||
* Write ' region growing' and select [[File:SAGA6.PNG]] | * Write ' region growing' and select [[File:SAGA6.PNG]] | ||
+ | |||
Line 150: | Line 160: | ||
* Select {{button|text=4 (von Neumann}} | * Select {{button|text=4 (von Neumann}} | ||
* Select {{button|text= feature space and position}} | * Select {{button|text= feature space and position}} | ||
− | * Insert the values shown in the picture and click {{button|text=Okay}} twice | + | * Insert the values shown in the picture and click {{button|text=Okay}} twice. We will talk about the input values later on... |
[[File:Region_growing_mask.PNG]] | [[File:Region_growing_mask.PNG]] | ||
Line 159: | Line 169: | ||
[[File:Region_growing_segments.PNG]] | [[File:Region_growing_segments.PNG]] | ||
+ | |||
+ | |||
+ | =Vectorising the raster data= | ||
+ | |||
+ | In the next step we are going to create polygons in a shapefile which we can then open in {{button|text=QGIS}}... | ||
+ | * In the {{button|text=Find and Run tool}} search, enter 'vectorising grid' and select [[File:Vectorising_saga.PNG|150px]] | ||
+ | |||
+ | |||
+ | * Fill in the mask as follows and double-click {{button|text= Okay}} : | ||
+ | |||
+ | [[File:Vectorising_saga2.PNG]] | ||
+ | |||
+ | * Right click on the newly created {{button|text=Segments}} file under {{button|text=Shapes}} in the Layer panel | ||
+ | * Select {{button|text=Save as}} and save the file as ESRI shapefile | ||
+ | |||
+ | |||
+ | =Opening the polygon file in QGIS= | ||
+ | |||
+ | Now you can open the shapefile in QGIS and adjust the look of the segments in the {{button|text= Styles}} tab in the properties of the layer: | ||
+ | |||
+ | [[File:Segments2.PNG]] |
Revision as of 15:05, 9 April 2018
Region Growing Segementation with Saga's Seeded Region Growing Tool
The following tutorial explains how to delineate tree crowns, using SAGA's Seeded Region Growing Tool. The product, a polygon shapefile, can then be used in an object based classification, f.ex. in order to classify different tree species.
Material you need to complete the tutorial
Data
A multispectral image of the forest canopy
A canopy height model CHM
Software
QGIS 2.18.11
SAGA 2.3.2
Split multiband image into several raster images
SAGA's Region Growing Algorithm works only with single band images. Therefor, we have to split our multiband image into its individual bands following these instructions.
Seed points
The first step here is to extract the position of the tree tops, which are going to be the starting point for the region growing algorithm. You find a description of how to derive the seed points from a CHM here . Now have a look at how the seeds align with your multiband image
In this picture you see, that the points align well with the tree tops. However, there are many points that represent small trees (in the lower left corner) which you might not be so interested in. In order to correct that, we are going to filter the points by their height in the seed shapefile and save the shapefile with the selected seeds only as a new shapefile.
If the seed points do not fit the image well, it might be due to the fact that you are using an orthophoto and not a true orthophoto. If you are working only with a smaller dataset you can help it by using the Georeferencer in the Raster menu by rubberheeting your orthophoto to make it fit. You'll find the instructions for doing so here.
This looks much better:
Seed point rasterization
In order to use the seed points in the region growing algorithm in SAGA, we have to convert the vector file to a raster file using the Rasterize module from the GDAL Conversions in QGIS. It is critical that we create a raster file that only contains the seed points and no-data. So every pixel outside the seed points has to be no-data. It is also critical that our rasterized vector image has the exact same CRS, extend and pixel size as the single band images.
- In the Processing Toolbox, type 'rasterize' and select the Rasterize tool ind the SAGA geoalgorithms submenu
- Select the seed point shapefile as input
- Use the parameters shown in the screen shot or explained below
- Select ID as Attribute and the other parameters according to the screenshot below
- Select the extend of one of the band splits as extend by clicking select canvas/ layers extend in the Output extend line
- Copy the exact cellsize from either the metadata of one of your split images and set output raster size to Output resolution in map units per pixel
- Open the Advanced parameters menu and select the parameters shown in the screen shot
- Save to a local file
The result should look like this:
Now verify that the newly created seed point raster aligns 100% with one of the band split raster by checking the metadata and zooming into the seed pixels. Also check with the Info button, if any pixel which is not a seed point, is no-data.
Your raster should align like this:
Superimpose Vector
It happens regularly that, although following the previous steps meticulously, that the extend and pixel size of the rasterized vector file does not match the splitted band images 100 %. In this case we have to use the OTB Superimpose Vector tool that you can find in the Processing Toolbox.
- Open the Superimpose Vector tool in the Processing Toolbox.
- Select one of the split band images as Reference input
- Select the rasterized seed point shapefile as The image to reproject
- Fill in the other parameters as shown here:
Next, go to the Properties of the newly created layer in the Layers Panel
- Check the extend of the layer in the Metadata tab.
- Go to Styles, load max/min values and set the Color Gradient to White to black
The result should look very much the same as the first rasterized vector, but the extend and pixel size are now 100 % the same as in
the split band images.
Region Growing in SAGA
Now we finally made it to the fun part of the whole exercise, which is creating the segments around the tops of the trees i.e. the seed points. Therefor we open SAGA GIS.
- When prompted, select an empty Startup Project
- Open all split band images and the superimposed seed raster one after another
- The layer panel on the left should now look like this:
- In the line below Grids you see the extend of your raster files. If you happen to see two different of those lines, your raster images do not match 100 %. You can fix that again with the Superimpose sensor Tool in the OTB library in QGIS
Seeded Region Growing Algorithm
- Go to the Geoprocessing menu and select Find and Run tool
- Select the one grid on offer
- Select your seed point raster as Seeds
- Select your splitted band images as Features
- Select create in Segments, Similarity and Tables<<Seeds
- Select Normalize
- Select 4 (von Neumann
- Select feature space and position
- Insert the values shown in the picture and click Okay twice. We will talk about the input values later on...
After a short while, SAGA will have finished the calculation and you'll notice two new layers in the layer panel. Double-click on Segments and you hopefully see the first fruit of all the effort that you put into this exercise:
Vectorising the raster data
In the next step we are going to create polygons in a shapefile which we can then open in QGIS...
- In the Find and Run tool search, enter 'vectorising grid' and select 150px
- Fill in the mask as follows and double-click Okay :
- Right click on the newly created Segments file under Shapes in the Layer panel
- Select Save as and save the file as ESRI shapefile
Opening the polygon file in QGIS
Now you can open the shapefile in QGIS and adjust the look of the segments in the Styles tab in the properties of the layer: