Tepe algılama yaklaşımı


24

Var olan en yüksek algılama algoritmaları nelerdir? Gürültülü verilerim var ve bu veriler için en yüksek algılamayı uygulamak istiyorum. Veri ters, aslında altını belirlemeye çalışıyorum.

İşte Excel'de verilerin bir anlık. Her iki tabanı da tespit etmeyi seviyorum. Verileri alçak geçiren bir filtreden geçirmeyi düşündüm ve ardından zirveleri belirlediğim hareketli bir ortalama yaptım ve hareketli ortalama içinde başka bir arama yapıyorum. Sıfır DSP geçmişim var; bu sadece bir sağduyu yaklaşımıdır. Uzmanların önerilerini duymak isterim.

Resim tanımını buraya girin


2
Algılamak istediğiniz iki taban nedir? Sadece bir tane görüyorum. Ne tür bir sesin olduğunu veya nereden geldiğini biliyor musun?
Jason R,

En yüksek saptama stratejimi etkileyecek herhangi bir donanımda (kaynak kısıtlamaları) uygulamak isteyip istemediğinizi bilmek istiyorum.
anasimtiaz

@JasonR mor olanı açıktır. Ancak keskin kenar bir aykırıdır. İdeal olarak, bunun tıraşlanmasını ve dip noktası hesaplanmasını istiyorum. (bu nedenle benim yaklaşımımda LP filtresi var) Açık mavi üzerindeki belirgin olmayan, mor tepe noktasının minimum noktasıdır. Mor gerçekten bir endişe değil, açık mavi. Excel arsa adalet yapmaz ama bu 4096 2V olduğu 12 bit ADC'den.
Ktuncer

@ anasimtiaz inanıyorum ki bu bir iPhone / Android üzerinde çalışacak, bu yüzden sanırım bir PC gibi olduğunu söyleyebilirim. Donanım kısıtlaması yok.
Ktuncer

@Ktuncer Kendiniz için görmeniz için bazı resimler ekledim.
Spacey

Yanıtlar:


12

Ktuncer, burada kullanabileceğiniz birkaç yöntem var. Tavsiye edebileceğim bir yöntem, bir Ayrık Dalgacık Dönüşümü, (DWT) kullanmak ve özellikle Daubechies Dalgacıkına bakmak . Daub-14 / Daub-Tetra'yı seçerdim.

Temel olarak yapmanız gereken şey sinyalinizi 'trendize etmek' ve ardından oradan bir minimum veya maksimum seçim yapmaktır. Bu aykırı olanlardan kurtulacak. Bir daub-14 / daub-tetra dalgacık dönüşümü bunu yapmanıza yardımcı olabilir ve bu özellikle sinyalinizin yapısını bilmediğiniz için yardımcı olur. (Daub-14'ü kullanarak, derece 14/2 = 7 dereceli polinom sinyallerini doğru bir şekilde temsil edebilirsiniz ve bundan daha fazlasına ihtiyacınız olmayacak gibi görünüyor).

Bu dalgacık dönüşümünün hesaplanması temel olarak enerjinizi birkaç göstergeye “sıkıştırır”. Bu göstergeler temel vektörler üzerindeki ağırlıkları temsil eder. Ağırlıkların geri kalanı (ideal olarak) sıfıra yakın olacaktır. Sinyalinizde gürültü olduğunda (yaptığınız gibi), normalde sıfır olan ağırlıklar şimdi biraz ağırlığa sahiptir, ancak basitçe onları sıfırlayabilir ve sinyalinizi 'kınayabilir'. Bu tamamlandığında, basit bir maks / dak algılama gerçekleştirebilirsiniz.

Daha fazla ayrıntı var, nasıl uygulanacağını tartışmak isterseniz bana bir e-posta gönderebilirsiniz. Bu konuda benzer işler daha önce de yaptım.

EDIT: İşte Daub-Tetra Denoiser'i gösteren bazı görüntüler:

görüntü tanımını buraya girin görüntü tanımını buraya girin görüntü tanımını buraya girin görüntü tanımını buraya girin


1
Bunu beğendim .. Matlab'da bunun için bir referans kütüphanesi var mı?
Ktuncer

@Ktuncer Bana bir e-posta gönder.
Spacey

4

Uzman olmaktan çok uzağım, ama işte yapacağım şey:

Dalgalanmalarla üst üste gelen yavaşça değişen bir sinyaliniz var gibi görünüyor. Aradığınız zirveler bazı güçlü dalgalanmalardır, bu yüzden onları kullanarak tespit ederim.

  1. X(T)Y(t)

  2. X-YσX-Y

  3. |(X-Y)(t)|>αxσα

Bir aşındırma veya bir aşınma, mutlak değer çıkarılarak ve uygun test kullanılarak özel olarak algılanabilir. Aradığınız şey bu mu?


1
İlginç yaklaşım Σ nedir? (Std. Dev?). Ayrıca, matematik bir yana, arkasındaki mantık nedir?
Ktuncer

σ

4σ

@ user4749 Bu, aradığınız genel zirveleri alacağından emin değilim, ancak (geniş 'zirveleri aradığınızı varsayıyorum?)
Spacey

1
@ Jean-Yves Merhaba! :-) Buradaki gürültünün guassian olduğunu sanıyor musunuz btw? (Bu yüzden std eşiğini ayarlayabiliriz). Merak ediyorum, ya gürültü renkliyse?
Spacey

4

Pik algılama, 1 boyutlu veya çok boyutlu sinyaller için oldukça az sayıda uygulamaya sahiptir. İşte bu sinyallerin ne kadar çeşitli olduğunu ve bir zirve yorumlarının nasıl olabileceğini gösteren birkaç örnek

  • Orijinal posterin 1 boyutlu verileri;

  • Bir görüntünün Hough dönüşümü, her tepe noktası orijinal görüntüdeki bir çizgiye karşılık gelir; görüntü tanımını buraya girin

  • bir görüntünün oto-korelasyonu, her tepe noktası bir "periyodik düzen" ortaya koyan bir frekansa karşılık gelir; görüntü tanımını buraya girin

  • Bir görüntünün ve bir şablonun "genelleştirilmiş" çapraz korelasyonu, her tepe noktası görüntüdeki şablonun bir oluşumuna karşılık gelir (sadece en iyi tepe veya birkaç tepe noktasını tespit etmekle ilgilenebiliriz);

görüntü tanımını buraya girin

  • Bir görüntüyü Harris köşeleri için filtreleme sonucu, her tepe noktası orijinal görüntüdeki bir köşeye karşılık gelir.

görüntü tanımını buraya girin

Bunlar karşılaştığım zirvelerin tanımları ve tespit teknikleridir - kesinlikle ya unuttuğum ya da bilmediğim başkaları da var ve umarım diğer cevaplar da bunları içerecektir.

Ön işleme teknikleri düzleştirme ve denoising içerir. @ Muhammed'in cevabı dalgacıklarla ilgili ve bunların çeşitli kullanımlarını Mathematica'nın WaveletThreshold belgesinde görebilirsiniz (bu arada örneklerimi de aldım).

Sonra Maxima'yı ararsın. Uygulamanıza bağlı olarak, yalnızca genel maksimaya (örneğin, görüntü kaydı), birkaç yerel maksimaya (örn. Satır tespiti) veya birçok yerel maksimaya (temel nokta tespiti) ihtiyaç duyarsınız: Bu, veride en yüksek değeri arayan, yinelemeli olarak yapılabilir daha sonra kalan en yüksek değer bir eşiğin altında oluncaya kadar seçilen tepe noktası etrafındaki bir bölgeyi silmek. Alternatif olarak, yerel maksimayı belirli bir mahalle boyutunda arayabilir ve yalnızca değerleri bir eşiğin üstünde olan yerel maksimaları tutabilirsiniz - bazıları, yerel maksimayı, yerel maksimenin geri kalanına olan mesafelerine bağlı olarak tutmanızı önerir (diğer daha iyi). Cephanelik ayrıca morfolojik işlemlere de sahiptir: Genişletilmiş maksimum ve üst şapka dönüşümü her ikisi de uygun olabilir.

Harris köşeleri için filtrelenmiş bir resimdeki bu tekniklerden üçünün sonuçlarını görün:

görüntü tanımını buraya girin

Ayrıca, bazı uygulamalar piksel altı çözünürlükte tepe noktaları bulmaya çalışır. Uygulamaya özel olabilen enterpolasyon kullanışlı olur.

Bildiğim kadarıyla, gümüş kurşun yok ve veriler hangi tekniklerin en iyi sonucu verdiğini söyleyecek.

Daha fazla cevap almak gerçekten güzel olacak, esp. diğer disiplinlerden geliyor.


Soru gövdesinin verilerini kullanımınız için nasıl elde ettiniz? Temiz bir şekilde bulamıyorum.
Léo Léopold Hertz 준영

1
Ben mi yaptım Başka örnekler kullandım. Bugün tekrar soruya baktığımda, sorudan temiz verileri nasıl çıkaracağımı göremiyorum.
Matthias Odisio

-1

Bir tipik tepe noktası belirleme algoritması burada bu gibi düşünmek refolup peak(bottom).

for i=1,N   {
       if i=1   {  ref=data(i) }
       else { if data(i)<=ref {ref =data(i) }}
}

3
Cevabınızı reddetmedim, ancak sanırım yapanlar tarafından konu dışı olarak kabul edildi. Bu çizim bir dizinin mutlak minimumunu tespit eder. OP kişinin yerellik ve gürültü ile başa çıkması gereken zirveleri arıyor.
Matthias Odisio

Ne yazık ki, "kanonik cevap" ödülüne hiçbir şekilde yanıt gelmedi. Bu bakımdan tüm cevaplar eşit derecede "alakasız" dır; Bu cevaba ödül verdim çünkü en eskisi bu.
Matthias Odisio
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.