I would like to apply machine learning methods in orfeo toolbox to classify some landscape features such as shrub and coarse woody debris in woodland. I created DEM raster image from very dense ground LiDAR point cloud (1 cm resolution).

First, I vectorized three types of 71 training samples.

Then I calculated image statistics with CalculateImageStatistics and trained the image with TrainImagesClassifier libsvm classifier successfully.

Finally, I run ImageClassifier to classify the image. However, the result image has pixels with only 0 value. I tried with random forest classifier as well, but got the same result.

Is it not working because orfeo toolbox cannot classify a DEM raster dataset?

  • Does your approach work using spectral imagery? – Aaron Nov 13 '19 at 5:28
  • @Aaron, no I don't have spectral data. – Sher Nov 13 '19 at 23:58

First, using a DEM is not a limitation of the Orfeo ToolBox. You might double check the coordinate reference system of your data. Second, maybe just the DEM value is not the best feature for your ML algorithm: you seem to train a classifier from DEM values (stacked together with some multi/hyperspectral pixels?). But those DEM values can be quite sparse given your LiDAR point cloud sampling rate, and not sure that SVM will perform well on this feature. Maybe you can try to add some hand made feature (like local statistics of your point cloud). SVM (and other ML algs in OTB) use pixel values in rasters, or attributes values in vector data.

| improve this answer | |
  • thank you for your suggestion. I have hyperspectral data, but there are many features which are under canopy and they are not visible in hyperspectral data. I will try to calculate some other values from LiDAR data and use as additional attribute to DEM data. – Sher Nov 14 '19 at 0:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.