Déterminer le MNT de terre nue à partir d'un fichier LAS non classifié?

10

J'ai des données au format LAS avec des valeurs RVB créées à partir de la photogrammétrie aérienne à l'aide d'un drone. J'essaie de trouver une solution pour extraire le MNT de terre nue du nuage de points.

J'ai essayé SAGA, Fusion, MCC-LIDAR, mais il semble qu'ils aient besoin du fichier LAS pour être déjà classé (ce qui n'est naturellement pas le cas). Quelqu'un peut-il m'orienter dans la bonne direction avec une brève explication du processus?

En général, je devrais traiter environ 100 points de moulin à la fois (je peux les carreler si nécessaire).

user32307
la source
MCC ou Fusion n'exigent pas que vos points soient classés. Le code de programme MCC remplit cependant le champ de classification. Qu'est-ce qui vous a fait croire que c'est le cas? Vous pourriez avoir un problème de version avec votre fichier las qu'il serait bon d'identifier maintenant.
Jeffrey Evans

Réponses:

16

Génération de DEM LiDAR à partir de nuages ​​de points non classés avec:

MCC-LIDAR est un outil en ligne de commande pour le traitement de données LIDAR à retour discret dans des environnements forestiers (Evans et Hudak, 2007).

Flux de travail:

  • a) nuage de points non classifiés.
  • b) les retours au sol sont classés.
  • c) DEM à terre nue (raster).

entrez la description de l'image ici


Créons une situation hypothétique pour fournir un exemple avec du code.

MCC-LIDAR est installé dans:

C:\MCC

Le nuage de points LiDAR non classé (fichier .las) se trouve dans:

C:\lidar\project\unclassified.las  

La sortie qui va être le DEM de terre nue est en:

C:\lidar\project\dem.asc  

L'exemple ci-dessous classe les retours au sol avec l'algorithme MCC et crée un DEM à terre nue avec une résolution de 1 mètre.

#MCC syntax: 
#command
#-s (spacing for scale domain)
#-t (curvature threshold)
#input_file (unclassified point cloud) 
#output_file (classified point cloud - ground -> class 2 and not ground -> class 1)
#-c (cell size of ground surface)
#output_DEM (raster surface interpolated from ground points)

C:\MCC\bin\mcc-lidar.exe -s 0.5 -t 0.07 C:\lidar\project\unclassified.las C:\lidar\project\classified.las -c 1 C:\lidar\project\dem.asc

Pour mieux comprendre le fonctionnement des échelles et des seuils de courbure (t), lisez: Comment exécuter MCC-LiDAR et; Evans et Hudak (2007).

Les paramètres doivent être calibrés pour éviter les erreurs de commission / d'étiquetage (lorsqu'un point est classé comme appartenant au sol mais en réalité il appartient à la végétation ou aux bâtiments). Par exemple:

entrez la description de l'image ici

Le MCC-LIDAR utilise la méthode d'interpolation Thin Plate Spline (TPS) pour classer les points au sol et générer le MNT de terre nue.


Références:

Pour plus d'options sur les algorithmes de classification des points au sol, voir Meng et al. (2010):

Andre Silva
la source
Le lidar du MCC semble se battre avec le nombre de points. Il indique une mémoire insuffisante, essayez un plus grand espacement des messages. J'ai essayé une grille d'espacement des poteaux de 5 à partir d'un espacement initial de 1 m. Ma mémoire est de 96 Go sur un poste de travail solide, ce qui ne peut donc pas être le problème.
user32307
@ user32307, consultez cet article , qui signale le même problème. La réponse pourrait vous aider.
Andre Silva
8

Je pense que LasTools pourrait répondre à vos besoins, voir LASGround . La licence est un peu drôle selon les outils. Les outils peuvent être téléchargés et évalués avant l'achat; le produit est également relativement peu coûteux.

Michael Stimson
la source
7

J'ai eu de la chance avec la commande GroundFilter de FUSION (manuel ici ). Je n'ai eu aucun problème à gérer 40 millions de points (non classés), donc je ne m'attendrais pas à un problème avec 100 millions.

phloème
la source
2

Cela peut être fait avec un filtre utilisant des filtre morphologique simple (SMRF) ou de filtre morphologique progressif (PMF) .

Rapide

pdal ground --cell_size=5 --extract input.laz out-bare-earth.laz

Crée un fichier LAS compressé à terre nue avec une taille de cellule de 5 unités terrestres à l'aide de PMF. ( documents )

Pour plus d'explications, voir le didacticiel Identification des retours au sol à l'aide de la segmentation ProgressiveMorphologicalFilter .

Plus impliqué, en utilisant SMRF

Un exemple de pipeline qui:

  • applique le filtre SMRF, agrandit l' celloption de taille à 2,0 (unités du système de coordonnées) et un seuil de 0,75
  • sélectionne uniquement les points au sol nouvellement classés ( 2est la valeur standard LAS pour le sol)
  • écrit la sélection dans un fichier de sortie LAS non compressé (changez simplement l'extension en .laz pour compressé)

Commander: pdal pipeline "classify-ground-smrf.json"

Le fichier de paramètres JSON:

{
    "pipeline": [
        "inputfile.laz",
        {
            "type":"filters.smrf",
            "cell": "2.0",
            "threshold": "0.75"
        },
        {
            "type":"filters.range",
            "limits":"Classification[2:2]"
        },
        "out/smurf_classifed.las"
    ]
}

Extraire au-dessus du sol uniquement

Cet exemple a) se classe en sol / non-sol, b) ajoute l'attribut "Height Above Ground" et c) exporte uniquement les points 2.0 (unités du système de coordonnées) au-dessus du sol.

{
    "pipeline": [
        "input.laz",
        {
            "type": "filters.assign",
            "assignment": "Classification[:]=0"
        },
        {
            "type": "filters.smrf"
        },
        {
            "type": "filters.hag"
        },
        {
            "type": "filters.range",
            "limits": "HeightAboveGround[2:]"
        },
        {
            "filename":"above-ground.laz"
        }
    ]
}

Adapté de Brad Chambers, https://lists.osgeo.org/pipermail/pdal/2017-July/001367.html

Matt Wilkie
la source
J'ai trouvé que certaines géométries d'objets structurels (par exemple, les bâtiments) sont assez bien identifiées mais les approches morphologiques fonctionnent assez mal dans les zones boisées, en particulier avec des pentes variables. Si les données lidar ont été acquises dans une zone urbaine, je recommanderais certainement MF, mais d'autres algorithmes sont beaucoup plus efficaces compte tenu des différents paramètres physiques.
Jeffrey Evans
@JeffreyEvans pouvez-vous nous expliquer quels autres algorithmes vous avez trouvé meilleurs en milieu non urbain? (et peut-être quels types de zones non urbaines, par exemple boisées, montagneuses, ...)
matt wilkie