Vectorisation quality OTB

Hi,

In a professional context, I have to work with Monteverdi from OTB 7.0.0 to generate a fairly accurate land use layer from a High Resolution orthophoto in infrared color.

I work at the scale of a 10 tiles mosaic generated under GIS.

Under Monteverdi from OTB, I first performed a segmentation (LMSSegmentation tool), then a vectorization (LMSVectorization) to generate my shapefile before starting my classification.
All steps worked correctly except that my vectorization is not homogeneous … some pixels are detected while others are not …

I’m rather beginner in the field, I have some knowledge in remote sensing and in the use of this kind of software but I still have a lot to learn.

Does anyone have any idea where this “error” came from? (photo of the result with my ortho in the background and the result of my vectorization in the foreground (shapefile).

Hello Nico and thank your for using OTB !

I don’t know really your context and don’t understand why you tell “some pixels are detected while others not”. In respect to which criteria ?
Here are some general thoughts that may help you.

  1. I think you should work on smaller patches, to test the different parameters and obtain results more quickly

  2. What kind of processing do you plan to do ? As I understand, you want to segment an image and then classify the segments. Do you have some ground truth to make a supervised classification (using a Random Forest classifier for instance), or do you plan to make a clustering of your segments ?

  3. Maybe you should consider to begin with a pixel based classification, and then gathers pixels together (using segmentation) and assign the major class in each segment ?

  4. About the use of Large Scale Mean Shift segmentation : there’s a CookBook page that explains quite clearly the different steps (https://www.orfeo-toolbox.org/CookBook/recipes/improc.html#large-scale-mean-shift-lsms-segmentation) and you may find relevant information. For example, maybe you should apply the first step (smoothing) before segmentation, and then the step that merges small regions.
    With this kind of application, be aware there are two very important thresholds to consider : the spatial threshold, that depends on the resolution of your image and the size of the details in the landscape, and the spectral threshold, that depends on how your image is coded. Maybe the different bands of your image are not in the same range : you should also check that.

Don’t hesitate to bring further information !
Hope that helps,

Yannick

Bonjour,

Merci de votre réponse et merci pour ces pistes de réflexions. J’ai finalement compris d’où venait mon problème : un simple ajustement du paramètre “minimum segment size” dans la fenetre LMSSegmentation.

1- effectivement, j’ai découpé une petite partie de ma mosaique pour tester les différentes paramètres du lissage de l’image (smoothing) à la vectorisation.

2- J’envisage de faire une classification supervisée sur deux mosaiques (2015 et 2018) de 10 dalles HR IRC couleur obtenu en opensource. Je détiens effectivement une vérité fondamentale pour effectuer cette classification (2015 et 2018), sans oublier qu’il est possible d’obtenir des infos sur les RPG.

3- Mon objectif final est de générer, à partir de ses images, une occupation de sols assez précise (11 classes ) à deux dates différentes (2015 et 2018).

4- J’ai lu plusieurs publications, je me suis aussi rapproché du CookBook qui apporte pas mal d’informations sur les démarches de traitements. J’ai donc commencé par faire un lissage de mon image (MeanShiftSmoothing), puis une segmentation (LMSSegmentation) et enfin une vectorisation (LMSVectorization). Color Mapping m’a aidé pour visualisé la qualité de ma segmentation.

5- J’utilise Qgis pour visualiser mon shp généré grâce à la vectorisation. Pour entreprendre ma classification, je commence par renseigner directement dans ma table attributaire des polygones en fonction de la classe à laquelle ils apparttenir(11 classes OS). Cet échantillon de polygones sera ensuite utilisé pour mon échantillon apprentissage et validation.

Mon nouveau problème : en projetant mon shapefile issu de la vectorisation sur mon image orthophoto (extrait de la mosaique), je me rend compte que certains polygones englobent plusieurs type d’occupation des sols. Exemple, un seul polygone englobe (parfois) une parcelle de vigne avec un morceau de haie, alors que je souhaiterai plutôt obtenir un polygone relatif à la vigne et un polygone relatif à la haie. Je suppose qu’il s’agit d’un souci au niveau du paramétrage lorsque j’opère ma segmentation ou ma vectorisation …

A vous lire,

Cordialement.