Bir Canny Edge Dedektörünün Sınırlamaları Nelerdir?


18

Kenar algılama algoritmaları ve kenar algılamayı kullanan uygulamalar hakkındaki literatürün büyük bir kısmı Canny'nin kenar algılayıcısına başvurmaktadır. Öyle ki, kenar algılamaya neredeyse "çözüm" gibi görünüyor. Kesinlikle, gürültüyü dengelemek ve kenarları korumak için en iyi işi yapar.

Ancak, basit bir merak olarak, Canny'nin kenar dedektörü için bir endişe alanı var mı? Yoksa Canny'nin en iyi olmayacağı uygulamalar var mı?

Bu bağlamda, daha hızlı uygulama gerçekten endişe verici değildir. Kenar detektörünün odak noktası iyi ya da kötü olmak, üretilen kenarların kalitesi ve faydası olmalıdır.

Ayrıca, uygulamaya özel konulara gerçekten odaklanmıyorum. Algoritmada bulunan daha teorik sınırlamalar veya özellikler arıyorum.


İlginçtir burada bu soru Yapraklarda damarları segmentlere ayırmanın en iyi yolu? gerekli kenar algılama. Gösterilen sonuçlardan biri Canny ve çok iyi görünmüyor. Yine de pek çok yön uygulama problemi olabilir, Canny'nin basit bir sınırlaması olabilir! Bu konuda herhangi bir görüşünüz var mı?
Dipan Mehta

Lütfen yanıtıma bakın ( dsp.stackexchange.com/questions/1714/… ), Canny'den aldığından daha iyi bir sonuç gösteriyor.
Geerten

Olası (kısmi) dupe: dsp.stackexchange.com/questions/74/… (veya en azından ilgili). Sorunun kendisi hemen hemen aynıdır (bir kısmı için), cevaplar bu sorudaki cevaplardan biraz farklıdır.
Geerten

1
@DipanMehta: Yani Canny kenar dedektörü kenar olmayan şeyleri tespit etmek için kullanılmamalıdır? :)
endolith

Yanıtlar:


19

Deneyimlerime göre, aşağıdaki noktalar sınırlamalardır:

  • Sonuç ikiliktir. Bazen kenarın bir kenar olarak 'ne kadar' nitelendirildiğini ölçmeniz gerekir (örneğin, bir Sobel genlik kenar dedektöründen gelen yoğunluk görüntüsü)
  • Sadece almak için sonsuz verdiği için parametreler potansiyel miktarı biraz daha iyi bir sonuç.
  • Hala insan gözü + zihni için çok açık görünen tüm kenarları çıkarmak için ortaya çıkan kenarları bağlamanız gerekir.
  • Ayrıca gauss düzeltmesi nedeniyle: gauss çekirdeğinin boyutuna bağlı olarak kenarların konumu kapalı olabilir.

  • Yöntemin köşeleri ve kavşakları ile ilgili sorunları var:

    • Gauss yumuşatma onları bulanıklaştırır ve tespit edilmelerini zorlaştırır (aynı şey kenarlar için de geçerlidir)
    • Köşe pikselleri komşuları için yanlış yönlere bakıyor, açık uçlu kenarlar ve eksik kavşaklar bırakıyor

Bu son sorun, kenarları daha iyi birleştiren ve aynı zamanda bağlantılı makalede verilen bu örnek şekillerle gösterildiği gibi güzel kavşaklarla sonuçlanan SUSAN yöntemi ile ele alınmaktadır :

Test giriş resmi:

Test giriş resmi

Sonuçlar SUSAN:

Sonuçlar SUSAN

Sonuçlar Canny:

Sonuçlar Canny

SUSAN'ın Canny yerine köşeleri ve kavşakları bulduğunu açıkça görebilirsiniz.


Tamam, bahsettiğiniz şey çoğunlukla uygulama ile ilgili sorunlardır. Bu tür sorunların olabileceğini kabul ediyorum, ancak bence birçok diğer kenar algılama ve diğer algoritma. Algoritmada bulunan daha teorik sınırlamalar veya özellikler arıyorum.
Dipan Mehta

Kabul etmiyorum, eşikleme (ikili bir görüntüye yol açar) ve parametreler yöntemin parçalarıdır (Canny'nin belgesinde açıklandığı gibi). Bunu uygulama ayrıntıları olarak görmüyorum.
Geerten

Eşik her kenar detektörü ile yapılır ve her bir kenar detektörü bundan dolayı çıkış olan ikili. Tweaking parametreleri ve Gauss yumuşatma yönündeki zorluk hakkında bir fikriniz var, ancak LoG tipi operatörün aksine, Canny aslında gürültü varlığında en uygun yumuşatma miktarını bulur.
Dipan Mehta

2
Eşikleme her kenar detektörü tarafından yapılmaz (örneğin cevabımda belirtildiği gibi Sobel). Birçok durumda ortak ve mantıklı bir takip adımıdır, ancak her kenar algılama yönteminin temel bir adımı değildir.
Geerten

6

Yoksa Canny'nin en iyi olmayacağı uygulamalar var mı?

Birkaçını düşünebilirim:

  • kapalı eğrilere ihtiyacınız varsa, bunların daha iyi olabileceğini garanti edebilecek bir dedektör (örneğin, laplacian'ın sıfır geçişleri veya havza segmentasyonu)
  • bazı alanlarda düşük kontrastlı homojen bir nesne saptamaya çalışıyorsanız, küresel bilgileri (havza segmentasyonu gibi) kullanan bir segmentasyon yöntemi daha iyi sonuçlar verebilir

1

Deneyimlerime göre, kanny kenar dedektörü ile kenar algılama işlemi, kenarları algılayabilmeden önce pürüzsüzleştirir ve filtrenin zamanlaması ve uzunluğu, tüm kenarları hatasız olarak tespit etmek için mükemmel bir eşleşme olmalıdır.


1

Sadece Canny dedektörünün bir sınırından bahsetmek istiyorum, bu da uygulamasını engelliyor ve bu parametre ayarı. Ben parametre ayarı sadece Canny dedektörü için bir sorun değil, aynı zamanda diğer kenar algılama yöntemleri için bir sorun olduğunu düşünüyorum.

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.