Görüntülerdeki kıvrımlı nehirleri algılama


14

Ben yüzeyler: : Her bir yüzey üzerinde ölçülen öznitelik (değişken) sahip . Yüzeylerin çoğu, özelliğin yüzey boyunca rastgele dağılımına sahip olacaktır, ancak bazı yüzeyler (ilginç olanlar) kıvrımlı bir nehir deseni gösterecektir:z i ( x , y ) a i ( x , y )nzi(x,y)ai(x,y)

resim açıklamasını buraya girin

yüzeyden hangisinin böyle bir desene sahip olduğunu söyleyecek bir önlem bulmak için yardımınıza ihtiyacım var.n

Aşağıda gösterildiği gibi aynı histograma sahip birçok olası harita vardır; dolayısıyla tedbirin mekansal sürekliliği "ödüllendirmesi" gerekir. Bunu göstermek için nehir görüntüsüyle neredeyse aynı histogramla rastgele bir görüntü oluşturdum: resim açıklamasını buraya girin

Dolayısıyla görüntü istatistikleri ala entropi sadece çözümün bir parçası olabilir.

Burada kıvrımlı bir nehir deseni olmayan bir görüntü örneği: resim açıklamasını buraya girin

Resimlerim sentetik (Matlab'da üretilmiştir). Gerçek hayatta, desensiz görüntü, benzer değere sahip küçük lekeler şeklinde biraz daha uzamsal sürekliliğe sahip olabilir.

Gri tonlamalı resimler:

resim açıklamasını buraya girin resim açıklamasını buraya girin


1
Gerçek görüntüleri gönderebilir misiniz (eksen, palet, histogram olmadan, farklı algoritmaları deneyebiliriz?). Ayrıca: "Kıvrımlı nehir" aslında bir sinüs mü yoksa herhangi bir şekli olabilir mi?
Niki Estner

1
Merhaba nikie. Örneğimde (Matlab'da yapılan sentetik veriler) nehir bir sinüstür. Gerçek hayatta "sinüs gibidir"; bazen merkez çizgisinden geniş, bazen değil.
Andy

Yanıtlar:


13

Çok basit bir önlem, görüntüdeki her satırı, üstündeki satırla karşılaştırmak ve biraz yatay kaydırmaya izin vermek olacaktır.

Mathematica'daki bu basit algoritmayı birlikte hackledim:

Mean[MapThread[
  Function[{line1, line2},
   Min[Table[Norm[line1 - RotateLeft[line2, shift]], {shift, -5, 5}]]
   ], {s[[2 ;;]], s[[;; -2]]}]]

Her bitişik satır çiftini alır, satırlardan birini -5,5 piksel döndürür ve en küçük öklid mesafesini alır. Bu, her sıra çifti için bir öklid mesafesi verir. Sadece ortalamayı alıyorum (ancak gerçek verilerinize bağlı olarak, kesilmiş bir ortalama veya medyan daha sağlam olabilir).

Bunlar yapay olarak üretilen numuneler için elde ettiğim sonuçlardır (Formül: Normalleştir (rastgele gürültü * (1 faktör) + sinyal * faktör))

resim açıklamasını buraya girin

Sonucu sinyal gücüne göre çizersem, algoritma "kıvrımlı nehir sinyal gücünü" oldukça iyi ölçüyor gibi görünüyor:

resim açıklamasını buraya girin

EDIT : Giriş örneklerini normalleştirmeyi unuttum. Yüklenen yeni bir sonuç resminin düzeltilmesi


İyi cevap. Ancak, ölçümünüzün düz çizgi gibi başka bir sürekli eğriler tarafından aldatılabileceğini düşünüyorum. Biraz geliştirdim ki, bulduğunuz (x, y) noktalarına bir sinüs yerleştirmek için son adımı biraz genlik, faz ve frekans ile değiştirerek. Daha sonra, genlik "nehir kuvveti" için bir ölçüm işlevi görebilir.
Andrey Rubshtein

4

O histogramla doğru yoldasınız gibi görünüyor. Bu, örneğinizin temsili bir görüntüsüyse, histogram, kıvrımlı desenin bulunduğu görüntülerin yalnızca belirli bir eşiğin üzerindeki değerleri içerip içermediğini inceleyerek tespit edilebildiğini gösterir.

Bunun dışında , her görüntünün entropisini elde etmeyi deneyebilirsiniz . Bu size görüntü başına rasgeleliğini karakterize eden bir sayı verecektir. Bundan sonra görüntülerinizin entropilerinin bir histogramını elde edebilirsiniz. Görüntülerin "tamamen rastgele" ve "kıvrımlı rastgele" (yani daha az rastgele) olarak ayrıldığından eminseniz, entropilerin histogramı bimodal olacaktır. Sol mod, daha düşük entropi ve bu nedenle daha az rastgele (kıvrımlı bir desen içermesi daha olası) ve sağ mod için tersi görüntülere karşılık gelecektir.

(BTW MATLAB ilgili bir işlev içerir )

DÜZENLEME: OP yorumlarına yanıt olarak ve sorunla ilgili daha fazla bilgi yükledikten sonra, bu yanıta ek bir nokta daha vardır:

Entropi hala işe yarayacaktı, ancak Shannon'ın formülü tarafından tarif edilen basit basit hafızasız durum (bir zaman serisinin her bir örneğinin öncekilerden bağımsız olduğu varsayıldığı) işe yaramazdı.

Daha basit bir alternatif olarak, görüntünün otokorelasyonunun özelliklerini incelemeyi deneyebilirsiniz .


Merhaba A_A. Görüntü istatistiklerinin çözümün bir parçası olduğunu düşünüyorum ancak mekansal sürekliliği ödüllendirmek için bir şekilde komşu piksellerinde ağırlık verilmesi gerekiyor (bkz. Yukarıdaki Rasgele öznitelik Haritası).
Andy

Merhaba, katılıyorum ve cevabı artırdım.
A_A
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.