Lien de la note Hackmd
Introduction
On sait obtenir de l'info en 3D sous la forme d'un nuage de points (sous forme de nuage de points, carte de disparite).
Comment valoriser cette donnee ?
On peut se localiser
Detection d'objets
- Visualisation 3D
- Reconstruction de modele 3D
- Building Information Modeling
- Clustering 3D
- Dimensionnement 3D
- Detection d'objets 3D
- Modele numerique de terrain
- Navigation autonome
- etc
Comment passer d'un nuage de points a une donnee a valeur ajoutee ?
- Analyse 3D
- Segementation
- Recalage
Analyse de Surface et Reconstruction 3D
Segmentation semantique
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →
But:
- segmenter en temps reel tous les points
- segmenter toutes les donnees accumulees
Utile pour les vehicules autonomes
Reconstruction 2D
Exemple de problematique en 2D:
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →
Dans la realite, le probleme n'est pas si simple
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →
- Discretisation Octree (1 point par cellule)
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →
- Calcul d'un champ de vecteurs
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →
- Calcul de la fonction indicatrice
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →
- Extraction de l'isosurface
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →
Reconstruction 3D
En 3D, ca donne:
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →
Voxelisation
Differentes methodes de voxelisation
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →
Maillage
Ensemble de sommets connectes
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →
Analyse de surface
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →
Calculs de normales par ACP:
- On cherche le meilleur plan approche dans le voisinage d'un point
- Les points du voisinage sont notes
- Equation d'un plan
- Distance signee d'un point au plan:
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →
Resolution
- Methode des moindres carres
- Resolution de l'equation de minimisation pour le plan
Fonction a minimiser: $f(n,d)=\sum_{i=1}m(ntX_i-d)^2
- 4 parametres: , 1 contrainte:
On pose:
- Barycentre des points
- Matrice de covariance des points
Le meilleur plan approche est defini par:
- Normale
- Vecteur propre norme associe a la plus petite valeur propre de
- NB: indetermine a un changement de sens pres
- Distance
La solution fait appel a l'analyse des directions principales de la matrice de covariance: Analyse en Composantes Principales (ACP)
Segmentation 3D
Definition
Subdiviser (partitionner) le nuage de points 3D en sous-ensembles connexes correspondants a des modeles simples
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →
Methodes de segmentation
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →
Croissance de surface
Principe
- A partir de "surfaces germes" ou "graines" (seed surfaces) dans le nuage de point
- Agregation progressive des points voisins appartenant a la meme surface
Remarque: extension de l'algorithme "croissance de regions" pour les images
Pour chaque point, un calcul de la normale du plan dans un voisinage:
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →
Critere d'agregation:
- Co-normalite:
- Normales dans le meme sens
- Coplanarite:
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →
Clustering
Definition
Regroupement de donnees en paquets homogenes selon des caracteristiques commnunes
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →
DBSCAN
C'est l'un des algorithme de clustering les plus repandus
Principe:
- Choix d'un point graine pour la region
- Identification des voisins du point
- Pour chaque point voisin
- Si la densite locale de points est suffisante, ajout a la region
- Sinon, labellisation en tant que bruit
- On continue jusqu'a ne plus pouvoir etendre la region
On peut jouer sur 2 parametres:
- Le rayon de recherche des voisins
- La quantite minimale de voisin ou densite
RANSAC
Methode de vote sur des echantillons aleatoires de surfaces
- Echantillons calcules a partir du nombre minimal de points necessaires pour definir la surface(quorum)
- Vote: un nombre de points du nuage englobes dans un espace entourant chaque surface
- Le nombre de votes est decide en fonction d'un calcul de probabilites
Tres efficace pour les grandes surfaces en nombre inconnu dans un grand nuage de points
Les surfaces extraites ne sont pas connectees entre elles
Primitives geometriques et quorum de points:
- Droite:
- Quorum = 2 points non alignes
- Plan:
- Quorum = 3 points non alignes
- Le plan est defini par:
- L'un des points, par exemple
- Une normale unitaire , par exemple definie par:
Vote:
- Nombre de points compris dans un espace a une certaine distance de la surface calculee

Probabilites:
- Hypotheses
- Plusieurs surfaces possibles, points non bruites
- points dans le nuage de points
- points appartiennet a la surface recherchee
- points pour definir la surface (quorum)
- Probabilites de trouver la surface recherchee:
- Avec tirage aleatoire:
- Avec tirages aleatoires
Nombre de tirages necessaires:
- Nombre de tirage aleatoires necessaires pour avoir une probabilite de trouver une surface d'au moins points
Exemple:

Hough 3D
Principe:
- Methode de vote dans l'espace dicretise des parametres
- Chaque point du nuage genere des votes de surfaces possibles dans l'espace des parametres
- La cellule qui remporte le plus de votes est retenue comme surface
- Generalisation de la transformee de Hough 2D (image)
Detection de droites

TODO
Probleme
Deep learning

Recalage 3D
Point Set Registration, Point Matching:
- Processus d'alignement de jeux de points TODO
Iterative Closest Point
ICP
Determination de la transformation rigide entre les deux nuages de points
Principe
- Appariement des points du nuage a recaler au point le plus proche dans l'autre nuage (approche de "nearest neighbor")
- Calcul de la transformation qui minimise la distance entre ces points

Resolution par la methode des moindres carres:
On calcule:
On cherche: tel que
Solution par decomposition
TODO
Resolution par Singular Value Decomposition (SVD)
- Entree: jeux de points
- sortie: Matrice de rotation , vecteur translation
- Algorithme
- Determiner les barycentres et
- Calculer la matrice
- Decomposer en valeurs singulieres TODO
- Calculer et
Pseudo code ICP:
Temps de calcul:
- Appariement en , le reste en
- Acceptable pour les petits nuages de points, trop lent pour de gros nuages de points
- Necessite de sous-enchatilloner
- Possibilite d'acceleration avec ANN (Approximate Nearest Neighbor):
Approximate Nearest Neighbor (ANN)
- Principe
- Pre-calcul d'un kd-tree pour partitionner l'espace
- Recherche dichotomique avec distance seuil

Variante ICP:
- Metrique point a plan (point to plane)
- Echantillonage: regulier, aleatoire, base sur les normales
- Rejection des outliers
- …
