2D nokta bulutunda dairelerin (elipsler) algılanması


14

Yani noktaları (2D) bir dizi göz önüne alındığında, nokta bulutu (PC), soru hakkındadır robust, accurateve computing-friendlyyöntemi (gelişmiş versiyonu veya üç nokta) çevreleri bulmak için.

Sezgisel fikir, Brute-Force Search'ü olası tüm noktalarda (merkez olarak) {sonsuz!} Ve yarıçaplarda (yine sonsuz!) Kullanmaktır. Bu aşırı derecede yavaş ve verimsiz.

Aşağıda gösterildiği gibi, takılan her daire nn, daire çevresine bir eşikten ( t) daha kısa bir mesafede konumlandırılan nokta ( ) sayısına göre sıralanır . Yani orada derrbir ortalama mesafeyi sunmak.

Gelişmiş formda elipslerin takılması ilgi çekicidir.

Herhangi bir fikir, beyin fırtınası, deneyimler, yorumlar? resim açıklamasını buraya girin


İyi soru. Bu diyagramı oluşturmak için hangi programı kullandınız?
Jason R

@JasonR Her zaman olduğu gibi Python + MatPlotLib .
Geliştirici

Yanıtlar:


14

Bu sorunu tam olarak çözmeye çalışan en iyi fikirler Hough Transform .

Temel olarak, hough uzayındaki sinyal r, x, ykoordinatlar olacaktır. Burada r yarıçap ve x,ymerkez anlamına gelir. Her nokta bir veya daha fazla daireye ait olabilir. Yani içinde Hough düzleme bu nokta aittir ve sadece +1 yapabileceği olası tüm çevreler üzerinden gidin. Bu bir arama değil, sadece koleksiyon.

Şimdi, gerçek bir daire varsa, çok fazla puan ekleyecek ve böyle bir a'nın puanı r, x, ydiğerlerinden çok daha yüksek olacaktır. Böyle bir noktayı seçmek doğru daireleri seçmenizi sağlar.

İşte 1971'de (ben doğmadan önce!) Bu konsepti icat eden klasik bir kağıt.

  1. RESİMLERDE HATLAR VE EĞRİLERİN TESPİT EDİLMESİNDE SAĞLIK TRASFORMUNUN KULLANIMI Yazar: Richard O. Duda, Peter E. Hart Tech raporu Yapay Zeka Cente Nisan 1971.

Eğitim için aşağıdaki referansları öneririm:

  1. HIPR2 -Bağlantı
  2. Amos storkey
  3. IDL Referansı

Özellikle daire algılaması için aşağıdakilere başvurabilirsiniz:

  1. AI Shack
  2. Chicago Univ.
  3. Rochester Enstitüsü'nden Ders Notları

Bu yöntemler çok verimli ve bilgisayar dostudur.


1
AI Shack makalelerine kefil olabilirim, gerçekten başka bir yerde okuyacağınız daha titiz matematiklere yardımcı olurlar.
Ivo Flipse

1
İyi cevap. Hough Transform'a (HT) zaten aşinayım. Kullandığım hatların tespiti içindi. Çizgi segmentlerini belirlemede biraz zorluk vardı. Olasılıkla Hough Dönüşümü'nün (PHT) kullanılması önerildi. Uzatma hakkında net bir fikrim yoktu. Daireler için çok karmaşık olabileceğini veya başka zorluklar ortaya çıkarabileceğini düşündüm. Deneyimlerime gelince HT iyi ama mükemmel değil. HT'yi 3D'ye nasıl genişleteceğimi de endişelendiriyorum. Sağladığınız bağlantıları incelemeye çalışacağım. Cevabınız aday olmak için cevabınız oldukça iyidir.
Geliştirici

AI Shack ve Chicaco bağlantılarından Teknik Rapor öldü
Mehdi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.