W przypadku niektórych algorytmów rekonstrukcji objętości, nad którymi pracuję, muszę wykryć dowolną liczbę wzorów kołowych w danych punktów 3d (pochodzących z urządzenia LIDAR). Wzory mogą być dowolnie zorientowane w przestrzeni i można założyć, że leżą (choć nie idealnie) w cienkich płaszczyznach 2D. Oto przykład z dwoma okręgami na tej samej płaszczyźnie (choć pamiętaj, że jest to przestrzeń 3D):
Próbowałem wielu podejść .. najprostszym (ale tym, który działa najlepiej do tej pory) jest grupowanie oparte na rozłącznych zestawach wykresu najbliższego sąsiedztwa. Działa to dość dobrze, gdy wzory są daleko od siebie, ale mniej w przypadku okręgów takich jak w przykładzie, bardzo blisko siebie.
Próbowałem K-średnich, ale nie robi to dobrze: podejrzewam, że ustawienie punktu okrągłego może nie być do tego odpowiednie. Dodatkowo mam dodatkowy problem, że nie znam z góry wartości K.
Próbowałem bardziej skomplikowanych podejść, opartych na wykrywaniu cykli na wykresie najbliższego sąsiada, ale otrzymałem albo zbyt delikatne, albo kosztowne obliczeniowo.
Czytałem również o wielu powiązanych tematach (transformacja Hougha itp.), Ale nic nie wydaje się idealnie pasować w tym konkretnym kontekście. Doceniamy każdy pomysł lub inspirację.