Für einige Volumenrekonstruktionsalgorithmen, an denen ich arbeite, muss ich eine beliebige Anzahl von kreisförmigen Mustern in 3D-Punktdaten (die von einem LIDAR-Gerät stammen) erkennen. Die Muster können beliebig im Raum ausgerichtet sein und in dünnen 2D-Ebenen liegen (wenn auch nicht perfekt). Hier ist ein Beispiel mit zwei Kreisen in derselben Ebene (obwohl dies ein 3D-Raum ist):
Ich habe viele Ansätze ausprobiert. Der einfachste (aber der bisher am besten funktionierende) ist das Clustering basierend auf disjunkten Mengen des nächsten Nachbargraphen. Dies funktioniert ziemlich gut, wenn die Muster weit voneinander entfernt sind, weniger jedoch bei Kreisen wie im Beispiel, die sehr nahe beieinander liegen.
Ich habe K-means ausprobiert, aber es funktioniert nicht gut: Ich vermute, dass die kreisförmige Punktanordnung möglicherweise nicht gut dafür geeignet ist. Außerdem habe ich das zusätzliche Problem, den Wert von K nicht im Voraus zu kennen.
Ich habe kompliziertere Ansätze ausprobiert, basierend auf der Erkennung von Zyklen im nächsten Nachbargraphen, aber was ich bekam, war entweder zu fragil oder rechenintensiv.
Ich habe auch über viele verwandte Themen gelesen (Hough-Transformation usw.), aber nichts scheint in diesem speziellen Kontext perfekt zuzutreffen. Jede Idee oder Inspiration wäre dankbar.
quelle
Antworten:
Eine verallgemeinerte Hough-Transformation ist genau das, was Sie wollen. Die Schwierigkeit besteht darin, dies effizient zu tun, da der Raum der Kreise in 3D sechs Dimensionen hat (drei für die Mitte, zwei für die Ausrichtung der Ebene, eine für den Radius). Dies scheint eine direkte Berechnung auszuschließen.
Eine Möglichkeit besteht darin, sich durch eine Folge einfacherer Hough-Transformationen an das Ergebnis heranzuschleichen. Sie können beispielsweise mit der (üblichen) Hough-Transformation beginnen, um planare Teilmengen zu erkennen: Diese erfordern nur ein 3D-Gitter für die Berechnung. Schneiden Sie für jede erkannte planare Teilmenge die ursprünglichen Punkte entlang dieser Ebene und führen Sie eine verallgemeinerte Hough-Transformation zur Kreiserkennung durch. Dies sollte gut funktionieren, vorausgesetzt, das Originalbild enthält nicht viele koplanare Punkte (außer den durch die Kreise gebildeten), die das von den Kreisen erzeugte Signal übertönen könnten.
Wenn die Kreisgrößen eine vorgegebene Obergrenze haben, können Sie möglicherweise viel Rechenaufwand sparen: Anstatt alle Paare oder Dreiergruppen von Punkten im Originalbild zu betrachten, können Sie sich auf Paare oder Dreifache innerhalb einer begrenzten Nachbarschaft jedes Punkts konzentrieren.
quelle
Wenn das Ziel darin besteht, einfach die kreisförmiger Muster zu erkennen und Sie über genügend Daten verfügen, versuchen Sie es vielleicht mit tiefen Faltungs-Neuronalen Netzen. Wahrlich, man müsste all diese Daten kennzeichnen, aber DCNs können als ergänzende Methode zu den oben vorgeschlagenen verwendet werden.number
quelle