Pour un algorithme de reconstruction de volume sur lequel je travaille, je dois détecter un nombre arbitraire de motifs circulaires dans des données de points 3D (provenant d'un appareil LIDAR). Les motifs peuvent être arbitrairement orientés dans l'espace et être supposés se situer (bien que pas parfaitement) dans des plans 2d minces. Voici un exemple avec deux cercles dans le même plan (mais rappelez-vous qu'il s'agit d'un espace 3D):
J'ai essayé de nombreuses approches .. la plus simple (mais celle qui fonctionne le mieux jusqu'à présent) est le clustering basé sur des ensembles disjoints du graphe du plus proche voisin. Cela fonctionne assez bien lorsque les motifs sont éloignés, mais moins avec des cercles comme ceux de l'exemple, très proches les uns des autres.
J'ai essayé K-means, mais ça ne marche pas bien: je soupçonne que la disposition des points circulaires pourrait ne pas être bien adaptée pour cela. De plus, j'ai le problème supplémentaire de ne pas connaître à l'avance la valeur de K.
J'ai essayé des approches plus compliquées, basées sur la détection de cycles dans le graphique du voisin le plus proche, mais ce que j'ai obtenu était soit trop fragile, soit coûteux en calcul.
J'ai également lu beaucoup de sujets connexes (transformation de Hough, etc.) mais rien ne semble s'appliquer parfaitement dans ce contexte spécifique. Toute idée ou inspiration serait appréciée.