Bir görüntünün uzamsal olarak bağlı ayrı bölgelerden oluşup oluşmadığına ilişkin istatistiksel ölçüm


14

Şu gri tonlamalı görüntüleri düşünün:

nehir rasgele

İlk görüntü kıvrımlı bir nehir desenini göstermektedir. İkinci görüntü rastgele parazit gösteriyor.

Bir görüntünün nehir örüntüsü göstermesinin muhtemel olup olmadığını belirlemek için kullanabileceğim istatistiksel bir ölçü arıyorum.

Nehir görüntüsü iki alana sahiptir: nehir = yüksek değer ve diğer her yerde = düşük değer.

Sonuç, histogramın bimodal olmasıdır:

resim açıklamasını buraya girin

Bu nedenle nehir desenli bir görüntünün yüksek bir varyansı olmalıdır.

Ancak yukarıdaki rastgele görüntü de öyle:

River_var = 0.0269, Random_var = 0.0310

Öte yandan, rastgele görüntü düşük uzaysal sürekliliğe sahipken nehir görüntüsü, yüksek deneysel variogramda açıkça gösterilen yüksek uzaysal sürekliliğe sahiptir: resim açıklamasını buraya girin

Varyansın bir sayıdaki histogramı "özetlediği" gibi, deneysel variogramı "özetleyen" bir uzaysal süreklilik ölçüsü arıyorum.

Ben bu önlem küçük gecikmelerde daha büyük gecikmelerden daha zor "yüksek yarı-cezalandırmak" istiyorum, bu yüzden ile geldim:

 svar=h=1nγ(h)/h2

Sadece lag = 1 ila 15 kadar eklerseniz:

River_svar = 0.0228, Random_svar = 0.0488

Bir nehir görüntüsünün yüksek varyansa sahip olması gerektiğini düşünüyorum, ancak düşük mekansal varyans, bu yüzden bir varyans oranı getiriyorum:

 ratio=var/svar

Sonuç:

River_ratio = 1.1816, Random_ratio = 0.6337

Benim fikrim, bu oranı bir görüntünün nehir görüntüsü olup olmadığı için bir karar kriteri olarak kullanmak; yüksek oran (ör.> 1) = nehir.

Bir şeyleri nasıl geliştirebileceğim hakkında bir fikrin var mı?

Herhangi bir cevap için şimdiden teşekkürler!

DÜZENLEME: Whuber ve Gschneider'in tavsiyelerine uyarak, Felix Hebeler'in Matlab işlevi kullanılarak 15x15 ters mesafe ağırlık matrisi ile hesaplanan iki görüntünün Morans I'i :

River_M Random_M

Sonuçları her görüntü için bir sayı halinde özetlemem gerekiyor. Vikipedi'ye göre: "Değerler −1 (mükemmel dağılımı gösterir) ile +1 (mükemmel korelasyon) arasında değişir. Sıfır değeri rastgele bir uzamsal modeli belirtir." Tüm pikseller için Morans I'in karesini toplarsam:

River_sumSqM = 654.9283, Random_sumSqM = 50.0785 

Burada büyük bir fark var, bu yüzden Morans uzaysal sürekliliğin çok iyi bir ölçüsü gibi görünüyor :-).

Ve burada nehir görüntüsünün 20000 permütasyonu için bu değerin bir histogramı: permütasyonların histogramı

Açıkça River_sumSqM değeri (654.9283) olası değildir ve bu nedenle River görüntüsü uzamsal olarak rastgele değildir.


4
İlginç soru. Hemen akla gelen bir tavsiye, variogramın kısa menzilli kısmına odaklanmaktır: bu çok önemli kısımdır ve bu gibi görüntü çiftlerini ayırt eden en iyi işi yapacak. (Yakından ilgili istatistikler Moran'ın I ve Geary'nin C'sidir .) Ancak, işleme koymayı düşündüğünüz görüntü türlerini daha net bir şekilde karakterize edemezseniz, özel tavsiyeler vermek zor.
whuber

2
+1 whuber, Moran bu durumda iyi bir başlangıç ​​gibi görünüyor. Ardından, resminizin ne kadar "aşırı" olduğunu görmek için bir permütasyon testi düşünün.
Gschneider

@Gschneider Permütasyon testi, özellikle permütasyon yapılması gerekmediği için iyi bir fikirdir! Variogramın (veya Moran I veya Geary's C veya her neyse) dağılımını görüntüdeki değerlerin permütasyonları altında hesaplamak kolaydır: CLT'nin uyguladığı çok fazla değer vardır. (Örneğin, variogram yeşil noktalara benzeyecektir; sabit yüksekliklerinin iki katı görüntü değerlerinin varyansıdır.) Bir "nehir" deseninin "göl" gibi diğer desenlerden ayırt edilmesi gerektiğinde sorun daha zorlaşır veya "nehirler" çok genişliklere sahip olabilir.
whuber

Maalesef takip ettiğimden emin değilim: Bana piksel başına test edilen görüntünün rasgele bir şekilde izin vermesini ve sonra izin verilen görüntünün Moran I değerini test edilen görüntünün değeriyle karşılaştırmamı mı söylüyorsunuz?
Andy

Aklımda olan şey ilk önce bir çeşit (muhtemelen basit) mahalle yapısını tanımlamak ve Moran'ın I'sini hesaplamaktı. O zaman K, 200.000, piksellerin olası permütasyonlarını hesaplayabilir, her permütasyon için Moran I'i hesaplayabilirsiniz. Bu 200.000 Moran I'e sahip olduğunuzda, gözlemlediğiniz istatistiğin nerede olduğunu görün. Ancak, whuber yöntemi daha kolay geliyor :).
Gschneider

Yanıtlar:


1

Gauss bulanıklığının, büyük ölçekli yapıyı geride bırakarak ve yüksek dalga sayısı bileşenlerini kaldıran düşük geçişli bir filtre gibi davrandığını düşünüyordum.

Görüntüyü oluşturmak için gerekli dalgacıkların ölçeğine de bakabilirsiniz. Tüm bilgiler küçük ölçekli dalgacıklarda yaşıyorsa, büyük olasılıkla nehir değildir.

Nehrin bir hattının kendisiyle bir tür otomatik korelasyonu düşünebilirsiniz. Bu nedenle, nehrin bir satırını gürültü ile bile aldıysanız ve bir sonraki satırla çapraz korelasyon işlevini bulduysanız, hem zirvenin konumunu ve değerini bulabilirdiniz. Bu değer rastgele gürültü ile elde edeceğiniz değerden çok daha yüksek olacaktır. Nehrin bulunduğu bölgeden bir şey seçmediğiniz sürece, bir piksel sütunu fazla sinyal üretmeyecektir.

http://en.wikipedia.org/wiki/Gaussian_blur

http://en.wikipedia.org/wiki/Cross-correlation


1
Burada bazı ilginç fikirler! (1) yöntemlerinizin nasıl çalıştığını göstermek ve (2) ne kadar iyi performans gösterdiğini değerlendirmek için örnek görüntülere yaklaşımlarınızdan birini veya daha fazlasını uygulayarak sizi bu cevabı etmenize ikna edebilir miyim?
whuber

1
Benim tezimden. (Makine Mühendisliği) Doğrusal olmayan bir sarkaç pozisyonuna Gauss bulanıklığı koydum ve sonra bir görüntüden pozisyonu geri almak ve analitik ile karşılaştırmak için evrişim yöntemini kullandım. Birkaç gürültü seviyesi ile denedim. Gürültü gaussianın büyüklüğü ile ilgili bir eşiğin altında olduğu sürece, çok iyi bir rekonstrüksiyon vardı. bağlantı Şekil 11, yeniden yapılanma için ilgili grafikti. Şekil 6 ve denklem 2 gürültüye yanıtı göstermektedir.
EngrStudent

Teşekkürler! Bu nedenle, bu cevabı ortaya çıkarmak ve gerçekten ne kadar etkili olduğunu göstermek için harika bir pozisyondasınız gibi görünüyor. :-)
whuber

Çift yorum için üzgünüm. Bence bir nesnenin bir kısmını sahte bir "anne-dalgacık" olarak kullanmanın "zekice" olduğunu düşünüyorum. Kendini referans alan, aynı zamanda şiirsel görünüyor. Kendini Adjoint.
EngrStudent

1

Bu biraz geç, ama bir öneriye ve bir gözleme dayanamıyorum.

İlk olarak, daha "görüntü işleme" yaklaşımının histogram / variogram analizinden daha uygun olabileceğine inanıyorum. EngrStudent'in "yumuşatma" önerisinin doğru yolda olduğunu söyleyebilirim, ancak "bulanıklaştırma" kısmı karşı üretken. İki taraflı filtre veya medyan filtre gibi kenar koruyucu bir pürüzsüzlük denir . Bunlar, zorunlu olarak doğrusal olmadıklarından, hareketli ortalama filtrelerden daha karmaşıktır .

İşte ne demek istediğimin bir gösterimi. Aşağıda histogramlarıyla birlikte iki senaryonuza yaklaşan iki görüntü bulunmaktadır. (Görüntülerin her biri 100 ile 100 arasındadır, normal yoğunlukları vardır).

Ham Görüntüler ham görüntüler

Bu görüntülerin her biri için , kenarları korurken desenleri düzleştiren, 5'e 5 medyan filtre 15 kez * uygularım . Sonuçlar aşağıda gösterilmiştir.

Düzgün Görüntüler düzgünleştirilmiş görüntüler

(* Daha büyük bir filtre kullanmak yine de kenarlardaki keskin kontrastı korur, ancak konumlarını düzleştirir.)

"Nehir" görüntüsünün hala bimodal bir histograma sahip olduğuna dikkat edin, ancak şimdi güzel bir şekilde 2 bileşene ayrılmıştır *. Bu arada, "beyaz gürültü" görüntüsünün hala tek bileşenli tek modlu histogramı vardır. (* Bir maske yapmak ve segmentasyonu tamamlamak için örneğin Otsu'nun yöntemi ile kolayca eşleştirilir.)


İkincisi, resim kesinlikle değil bir "nehir"! Çok anizotropik ("x" yönünde gerilmiş) olmasının yanı sıra, kıvrımlı nehirler basit bir denklemle tanımlanabildiği ölçüde, geometrileri aslında sinüs eğrisine göre sinüs tarafından oluşturulan bir eğriye çok daha yakındır. (örneğin buraya veya buraya bakın ). Düşük genlikler için bu yaklaşık olarak bir sinüs eğrisidir, ancak daha yüksek genlikler için döngüler doğada sonunda kesintiye yol açan "devrilir" ( ) olur .xf[y]

(Rant için özür dilerim ... eğitimim aslında bir jeomorfolog olarak yapıldı)


Bir yan not olarak, tipik olarak sabit olmayan doğal görüntülere "variogram yöntemleri" uygulanmasında çok dikkatli olmak iyi bir fikirdir . Bu cevabım üzerine dokunulduğunda burada .
GeoMatt22

0

Hızlı bir kazanç olabilecek bir öneri (veya hiç işe yaramayabilecek, ancak kolayca ortadan kaldırılabilecek) - görüntü yoğunluğu histogramlarının ortalama / varyans oranına bakmayı denediniz mi?

Rastgele gürültü görüntüsünü alın. Rastgele yayılan fotonlar (veya benzerleri) bir kameraya vurarak oluşturulduğunu ve her pikselin aynı şekilde vurulma olasılığını ve ham okumalara sahip olduğunuzu (yani, değerlerin yeniden ölçeklenmediğini veya geri alabileceğiniz bilinen bir şekilde yeniden ölçeklendirildiğini) varsayarsak daha sonra her pikseldeki okumaların sayısının poisson dağıtılması gerekir; sabit bir zaman diliminde (pozlama süresi) birden çok kez (tüm piksellerin üzerinde) meydana gelen olay sayısını (bir piksele çarpan fotonlar) sayıyorsunuz.

İki farklı yoğunluk değerine sahip bir nehir olduğu durumda, iki poisson dağılımının bir karışımına sahipsiniz.

Bir görüntüyü test etmenin gerçekten hızlı bir yolu, ortalamaların yoğunlukların sapma oranına bakmak olabilir. Bir poisson dağılımı için ortalama yaklaşık olarak varyansa eşit olacaktır. İki poisson dağılımının bir karışımı için, varyans ortalamadan daha büyük olacaktır. Sonunda, ikisinin oranını önceden ayarlanmış bir eşik değerine göre test etmeniz gerekir.

Çok kaba. Ancak işe yararsa, resminizdeki her pikselin yalnızca bir geçişiyle gerekli yeterli istatistikleri hesaplayabilirsiniz :)

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.