h1. HT5 - Mesurer des diamètres à 1,30 m de façon automatique |{width:4000px;text-align:left;border-color:transparent}. !/attachments/download/18/en_US.png! [[En_dbhAuto_|...english version of this page]] | notice<>. Ce tutoriel utilise le script suivant dans le sous-dossier *HowTo* de *Computree* : _HT5_Measuring_DBH_automatically.xsct2_ h2. Objectifs du tutoriel p<>. Ce tutoriel montre comment : # Détecter de manière automatique les tiges, les positions et le diamètre à hauteur de poitrine (DHP) d'arbres à partir de nuages de points LiDAR terrestre # Comprendre et configurer les paramètres des étapes CompuTree # Exporter les résultats sous forme d'attributs dans un fichier .csv h2. Chargement des nuages de points Veuillez vous référer au tutoriel [[Fr_loadCloud|HT1 - Charger, visualiser, découper et exporter un nuage de points T-Lidar]] à la section +Chargement d’un nuage de points+. tip<>. Pour de meilleurs résultats, utilisez des scans multiples. La détection des tiges est hautement dépendante de la qualité des données. On cherche donc à maximiser la représentation des objets sur le terrain et à minimiser l'occlusion. h2. Extraction d'un sous-nuage (facultatif) Veuillez vous référer au tutoriel [[Fr_loadCloud|HT1 - Charger, visualiser, découper et exporter un nuage de points T-Lidar]] à la section +Extraction d’un sous-nuage+. h2. Réduction de la densité de points (facultatif) L'étape %{color:darkred}PB_StepReducePointsDensity[1]% est issue du plugin _base_ (_base_ / _Nuages de points_ / _Réduction de la densité de points_) Si vous utilisez des scans multiples, il est recommendé d'ajouter une étape permettant de réduire la densité de points afin de réduire les temps de calcul. Selon la puissance de votre ordinateur, une *Résolution* de 0.5 ou 1 cm devrait est être suffisante. notice<>. Plus la résolution est fine (nombre de points par centimètre cube élevé), plus les temps de calcul seront élevés. !density_FR.jpg! h2. Séparation des points sol / végétation Veuillez vous référer au tutoriel [[Fr_extractSoil|HT2 - Créer un Modèle Numérique de Terrain à partir d’un nuage de points T-Lidar]]. h2. Création de clusters par tranches horizontales L'étape _OE_StepHorizontalClustering04_ est issue du plugin _onfensamv2_ (_onfensamv2_ / _Clustering / tranches horizontales_) warning<>. Assurez-vous que le modèle d'entrée est bien +Points végétation+! Pour accéder à la fenêtre de configuration des résultats d'entrée, faire un clic droit sur l'étape, puis sélectionnez +Config. résultats d'entrée+ !horizontal_clustering_input_FR.jpg! Cette étape permet d'aggréger les points en petits groupes (clusters). La scène est d'abord découpée en tranches horizontales de l' *Épaisseur* choisie. Puis, pour chacune des tranches, les points sont aggrégés selon leur espacement en (X,Y). La *Distance maximale séparant deux points d'un même groupe* est spécifiée en paramètre. !horizontal_clustering_FR.jpg! Résultat de l'étape de création des clusters: notice<>. Chaque couleur représente ici un cluster. !clusters.jpg! h2. Filtrage des clusters L'étape _OE_StepFilterClustersBySize_ est issue du plugin _onfensamv2_ (_onfensamv2_ / _Filtrage de clusters / nb. de points_) Cette étape filtre les clusters selon un *Nombre de points minimum* par groupe. Si le nombre de points contenu dans un cluster est inférieur à cette valeur, le cluster sera éliminé. notice<>. La résolution du nuage de point et l'épaisseur des tranches horizontales lors de la création des clusters sont à tenir compte lors de la définition de ce paramètre. Si la résolution du nuage de points est grossière et si la taille des tranches est fine, il faut s'attendre que le nombre de points par cluster sera assez faible dès le départ. !filter_cluster_by_size_FR.jpg! h2. Aggrégation des clusters en billons L'étape _OE_StepDetectSection07_ est issue du plugin _onfensamv2_ (_onfensamv2_ / _Aggrégation verticale de clusters en billon_) Cette étape effectue une aggrégation verticale des groupes de points en billons. Un *Seuil de distance vertical* est utilisé pour la comparaison des groupes de points en pair. S'il y a intersection verticale des boîtes englobantes des clusters sur cette distance, ceux-ci seront aggrégés. Il y a arrêt d'aggrégation lors d'une rupture verticale au niveau du nuage de points. La présence d'occlusions ou d'une branche sont des causes communes. !detect_section_FR.jpg! Résultat de l'étape d'aggrégation: notice<>. Chaque couleur représente ici un billon. !logs.jpg! h2. Filtrage des billons L'étape _OE_StepFilterGroupsByGroupsNumber_ est issue du plugin _onfensamv2_ (_onfensamv2_ / _Filtrage de groupes niv.1 / nb. de groupes niv.2_) Cette étape générique permet de retirer les groupes (ici les billons) possédant un nombre insuffisant de sous-groupes (ici les clusters). Les groupes de niveau 1 (billons) sont éliminés s'ils possèdent un nombre inférieur au *Nombre minimal de groupe de niveau 2* requis. Cette étape permet de retirer la plupart des petites branches et faux billons. !filter_group_FR.jpg! Résultat de l'étape de filtrage des billons: !filtered_logs.jpg! h2. Fusion des billons parallèles L'étape _OE_StepMergeNeighbourSections04_ est issue du plugin _onfensamv2_ (_onfensamv2_ / _Fusion de billons parallèles_) Cette étape permet de fusionner les billons parallèles. Dans le cas d'occlusion par exemple, certaines branches peuvent être coupées, ce qui peut créer deux billons côte à côte qui devraient ne faire qu'un: !parallel_log.jpg! En premier lieu, les clusters contenus dans chacun des billons sont recréés selon une certaine *épaisseur (en Z)*. Par la suite, les billons appartenant au même arbre sont aggrégés. L'outil utilise les paramètres suivants: * La *Distance de recherche de voisinnage* est un paramètre d'optimisation de calcul. * La *Distance maximum en XY entre les barycentres des clusters*. Si la distance horizontale entre les barycentres des clusters comparés est supérieure à ce paramètre, les billons ne seront pas fusionnés. * La *Distance maximum en Z entre les barycentres des clusters*. Si la distance verticale entre les barycentres des clusters comparés est supérieure à ce paramètre, les billons ne seront pas fusionnés. * Le *Facteur d'accroissement maximal* permet à ce que la fusion ne crée pas un éloignement trop important entre le nouveau barycentre et les points du cluster. Un facteur d'accroissement de 2 signifit donc que la distance entre le nouveau barycentre et les points du cluster peut doublé. !merge_neighbor_FR.jpg! h2. Fusion de billons alignés L'étape _OE_StepMergeEndToEndSections04_ est issue du plugin _onfensamv2_ (_onfensamv2_ / _Fusion de billons alignés_) Cette étape permet de fusionner les billons alignés en direction. L'étape fonctionne de la manière suivante (voir également le schéma explicatif ci-bas): * Les clusters sont regréés pour chaque billon selon l' *Épaisseur des groupes en Z*. * Les billons sont ensuite comparés en pair. Si la distance entre deux billons est inférieure à la *Distance maximale*, les billons peuvent être fusionnés. * Des lignes imaginaires rejoingnant les barycentres des clusters des billons sont tracées. Le *Nombre de barycentres à considérer* doit être spécifié. * La distance maximale entre la ligne et l'extrémité du premier billon est calculée (maxDist). La distance entre la ligne du premier billon et celle du deuxième billon ne doit pas dépasser MaxDist * un *Facteur multiplicatif*. * On doit également indiquer une valeur de *Chevauchement toléré en Z*. !merge_end_FR.jpg! Schéma explicatif: !schema_FR.jpg! Résultat de la fusion: notice<>. On peut remarqué un exemple de chevauchement en Z sur l'image de gauche. !merge_align.jpg! h2. Ajout des coordonnées L'étape _OE_StepSetFootCoordinatesVertically_ est issue du plugin _onfensamv2_ (_onfensamv2_ / _Ajout d'une coordonnée de base / billon // MNT_) warning<>. Cette étape necessite deux modèles d'entrée: le +Modèle Numérique de Terrain+ et les +Billons fusionnées+! !set_coordinates_input_FR.jpg! Aucun paramètre n'est requis. Cette étape permet d'associer une position aux billons en projetant le cluster le plus bas sur le MNT. h2. Ajustement et filtrage de cylindres L'étape _OE_StepFitAndFilterCylindersInSections_ est issue du plugin _onfensamv2_ (_onfensamv2_ / _Ajustement/Filtrage des cylindres / billon_) Cette étape effectue l'ajustement de cylindres sur les billons ainsi qu'une filtration de ceux-ci selon la qualité de l'ajustement. Les *Rayon minimum* et *Rayon maximum* sont spécifiés afin de limiter l'ajustement de cylindres sur des arbres trop petits ou trop grands. La qualité de l'ajustement est ensuite évaluée selon l'*Erreur absolue* et/ou l'*Erreur relative*. On peut également filtrer les cyclindres selon la verticalité de ceux-ci, un *Angle maximal depuis le zénith* est alors spécifié. !fit_cylinders_FR.jpg! Résultat de l'ajustement de cylindres: !cylinders.JPG! h2. Calcul des diamètres des cylindres L'étape _OE_StepExtractDiametersFromCylinders_ est issue du plugin _onfensamv2_ (_onfensamv2_ / _Calcul d'un diamètre moyen des cylindres / billon_) Cette étape permet de calculer le diamètre à hauteur de poitrine (DHP) des arbres. Pour ce faire, un cercle est ajusté sur un cylindre précédemment créé. Une *Hauteur minimale* ainsi qu'une *Hauteur maximale* d'évaluation sont spécfiées. Les rayons des cercles sont calculés entre ces deux valeurs pour calculer une regression. La valeur à *Hauteur de référence* (généralement 1.30 mètres) est alors interpolée ce cette regression. La *Décroissance métrique maximale* permet de s'assurer qu'aucun cylindre aberrant ne sera utilisé dans le calcul. Un *Nombre de cylindres minimum pour ajuster un cercle* est également spécifié. !extract_diameter_FR.jpg! h2. Visualisation des résultats Pour afficher les cercles ajustés à l'écran, il suffit d'activer les résultats dans les gestionnaires d'étape et de modèle. !visualization_FR.jpg! tip<>. Un simple clic droit sur +Diamètre à 1.30+ permet de changer la couleur des cercles. Pour afficher à l'écran les attributs, activez !info.jpg! +Information ItemDrawable+ dans l'onglet +Action+ et cliquez sur l'objet désiré. !DHP.jpg! h2. Export des attributs L'étape _PB_CSVExporter_ est issue du plugin _base_ (_base_ / _Exporters_ / _Export d'attributs (csv)_) Sélectionnez d'abord le modèle d'entrée. !Export_attributes_1_FR.jpg! Glissez ensuite les attributs désirés dans la fenêtre de droite. !Export_attributes_2_FR.jpg! Spécifiez finalement l'emplacement et le nom du fichier csv. !Export_attributes_3_FR.jpg! tip<>. Si vous utilisez un arbre d'étape préfait, faites un clic droit sur l'étape +Attributs/Items d'un groupe+ puis sélectionnez +Config. résultats d'entrée+ pour sélectionner les attributs et +Config. paramètres+ pour spécifier le nom du fichier.   fn1. Plugin Base. _____ | [[Fr_tutorials|Retour à la liste des How Tos]]|