Main Content

Traitement de nuages de points

Prétraiter, visualiser, recaler, ajuster des formes géométriques, créer des cartes, implémenter des algorithmes SLAM et utiliser le Deep Learning avec des nuages de points 3D

Un nuage de points est un ensemble de points de données dans un espace 3D. Ces points représentent ensemble une forme ou un objet 3D. Chaque point du jeu de données correspond à une coordonnée géométrique x, y et z. Les nuages de points permettent d’assembler un grand nombre de mesures spatiales uniques dans un jeu de données pouvant être représenté sous forme d’objet descriptible. Le traitement de nuages de points est utilisé dans les systèmes de navigation et de perception des robots, d’estimation de la profondeur, de vision stéréo, de recalage visuel ainsi que dans les systèmes avancés d’aide à la conduite (ADAS). Les algorithmes de Computer Vision Toolbox™ proposent des fonctionnalités de traitement permettant le sous-échantillonnage, le débruitage et la transformation de nuages de points. La toolbox supporte également le recalage de nuages de points, l’ajustement de formes géométriques à des nuages de points 3D et la possibilité de lire, d’écrire, de stocker, d’afficher et de comparer des nuages de points. Vous pouvez combiner plusieurs nuages de points pour reconstruire une scène 3D. Vous pouvez également créer une carte avec des nuages de points recalés, détecter les fermetures de boucle, optimiser la carte pour corriger la dérive et effectuer une localisation dans la carte prédéfinie. Pour plus de précisions, veuillez consulter Implement Point Cloud SLAM in MATLAB.

Pour effectuer un recalage de nuages de points, c’est-à-dire aligner plusieurs nuages de points sur un même système de coordonnées, on choisit généralement un nuage de points de référence, ou nuage de points fixe, puis on aligne les autres nuages de points mobiles par rapport à celui-ci. La pose absolue d’un nuage de points désigne sa position et son orientation globales par rapport à un référentiel souvent appelé système de coordonnées mondial. Computer Vision Toolbox propose différentes techniques pour recaler un nuage de points mobile par rapport à un nuage de points fixe. Ces techniques sont notamment la corrélation de phase et les méthodes ICP (Iterative Closest Point), NDT (Normal Distributions Transform) et CPD (Coherent Point Drift). Vous pouvez également utiliser l’application Lidar Registration Analyzer (Lidar Toolbox) pour effectuer un recalage interactif et comparer les résultats en fonction des différentes techniques de recalage, des paramètres de réglage et des étapes de prétraitement.

Fonctions

développer tout

pcreadRead 3-D point cloud from PLY or PCD file
pcwriteWrite 3-D point cloud to PLY or PCD file
pcfromdepthConvert depth image to point cloud (depuis R2022b)
pcfromkinectPoint cloud from Kinect for Windows
velodyneFileReaderRead point cloud data from Velodyne PCAP file
pcviewsetManage data for point cloud based visual odometry and SLAM (depuis R2020a)
pointCloudObject for storing 3-D point cloud
pcviewerVisualize and inspect large 3-D point cloud (depuis R2023a)
pcshowPlot 3-D point cloud
pcshowpairVisualize difference between two point clouds
pcplayerVisualize streaming 3-D point cloud data
showShapeDisplay shapes on image, video, or point cloud (depuis R2020b)

Prétraitement

pcbinSpatially bin point cloud points (depuis R2020a)
pcdenoiseRemove noise from 3-D point cloud
pcdownsampleDownsample a 3-D point cloud
pcnormalsEstimate normals for point cloud

Rechercher et supprimer des points

findPointsInCylinderFind points within a cylindrical region in a point cloud (depuis R2023a)
findPointsInROIFind points within a region of interest in the point cloud
findNearestNeighborsFind nearest neighbors of a point in point cloud
findNeighborsInRadiusFind neighbors within a radius of a point in the point cloud
removeInvalidPointsRemove invalid points from point cloud
pcsegdistSegment point cloud into clusters based on Euclidean distance
segmentGroundFromLidarDataSegment ground points from organized lidar data
segmentLidarDataSegment organized 3-D range data into clusters
pcbinSpatially bin point cloud points (depuis R2020a)

Recaler des nuages de points

pcregistercorrRegister two point clouds using phase correlation (depuis R2020b)
pcregistericpRegister two point clouds using ICP algorithm
pcregistercpdRegister two point clouds using CPD algorithm
pcregisterndtRegister two point clouds using NDT algorithm

Transformer des nuages de points

rigidtform3d3-D rigid geometric transformation (depuis R2022b)
pctransformTransform 3-D point cloud

Aligner ou combiner des nuages de points

pcalignAlign array of point clouds (depuis R2020b)
pccatConcatenate 3-D point cloud array (depuis R2020b)
pcmergeMerge two 3-D point clouds

Identifier des candidats à la fermeture de boucle

findPoseLocalize point cloud within map using normal distributions transform (NDT) algorithm (depuis R2021a)
scanContextDistanceDistance between scan context descriptors (depuis R2020b)
scanContextDescriptorExtract scan context descriptor from point cloud (depuis R2020b)
scanContextLoopDetectorDetect loop closures using scan context descriptors (depuis R2021b)

Optimiser les poses

createPoseGraphCreate pose graph (depuis R2020a)
optimizePosesOptimize absolute poses using relative pose constraints (depuis R2020a)

Créer une carte de localisation

pcmapndtLocalization map based on normal distributions transform (NDT) (depuis R2021a)
pcfitcylinderFit cylinder to 3-D point cloud
pcfitplaneFit plane to 3-D point cloud
pcfitsphereFit sphere to 3-D point cloud
pcnormalsEstimate normals for point cloud
fitPolynomialRANSACFit polynomial to points using RANSAC
ransacFit model to noisy data
cylinderModelParametric cylinder model
planeModelObject for storing parametric plane model
sphereModelObject for storing a parametric sphere model

Blocs

développer tout

Point Cloud ViewerVisualize streaming point cloud data sequence (depuis R2023a)

Rubriques