Keskin Geçişlerin Korunması Sırasında Sinyalleri Seslendirmek İçin Püf Noktaları


21

Bunun sinyale bağlı olduğunu biliyorum, ancak yeni bir gürültülü sinyale karşı karşıya geldiğinde, keskin geçişleri korurken bir sinyali kınaştırmaya çalışmak için püf noktalarınız nedir (örneğin, herhangi bir basit ortalama alma, yani bir gauss ile kıvrılma). Sık sık kendimi bu soruyla karşı karşıya buluyorum ve ne denemek zorunda olduğumu bildiğimi sanmıyorum (spline'ların yanı sıra, aynı zamanda doğru türdeki keskin geçişi de ciddi şekilde azaltabilirler).

Not: Not olarak, dalgacıkları kullanmanın bazı iyi yöntemlerini biliyorsanız, bana ne olduğunu bildirin. Bu alanda çok büyük bir potansiyeli var gibi gözüküyor, ancak 90'lı yıllarda kağıdın yönteminin iyi sonuçlandığını öne sürecek alıntıları olan bazı makaleler varken, en iyi adaylar olarak hangi yöntemlerin kazanıldığına dair hiçbir şey bulamıyorum. araya giren yıllar. Elbette bazı yöntemlerin o zamandan beri genellikle “ilk denenecek şeyler” olduğu ortaya çıktı.

Yanıtlar:


14

L1 norm küçültme (sıkıştırılmış algılama), kenarları korumak açısından geleneksel Fourier kınadan daha göreceli daha iyi bir iş yapabilir.

Prosedür, nesnel bir işlevi en aza indirmektir.

|xy|2+b|f(y)|

buradaki , gürültülü sinyaldir, y , belirtilen sinyaldir, b , düzenlileştirme parametresidir vexybBazı L1 norm cezası. Bu optimizasyon problemininçözümü y ilebulunarak kınama gerçekleştirilirve b gürültü seviyesine bağlıdır.|f(y)|yb

Kenarları korumak için, sinyaline bağlı olarak, f ( y ) ' nin seyrek olacağı şekilde farklı cezalar seçebilirsiniz (sıkıştırılmış algılama ruhu):yf(y)

  • Eğer parçası-bazlı, bir f ( y ) olabilir toplam varyasyon (TV) alınmaz;yf(y)

  • Eğer eğri gibi (örneğin sinogram) olup, f ( y ) arasında genleşme katsayılarının olabilir y ile ilgilicurvelets. (Bu, 1B değil, 2B / 3B sinyalleri içindir);yf(y)y

  • eğer y izotropik tekilliğe (kenarlara) sahipse, y'nin dalgacıklara göre genleşme katsayısı olabilir .f(y)y

Tüm (curvelet / dalgacık yukarıdaki gibi) bazı baz fonksiyonları ile ilgili olarak genleşme katsayıları olan optimizasyon problemi çözmek genleşme katsayılarına eşikleme eşdeğerdir.f(y)

Bu yaklaşımın, amaç fonksiyonunun olduğu dekonvolüsyona da uygulanabileceğini unutmayın. x - H y | + b | f ( y ) | , H , evrişim operatörüdür.|xHy|+b|f(y)|H


yyy

1
L1

Özellikle sinyal uzunsa f'yi çözmek için hangi yöntemleri seversiniz?
John Robertson

Bu yöntemin adı nedir? Araştırmamda kullanırsam ne alıntı yapmalıyım?
bayer

@bayer Hangi düzenlileştirmeyi kullandığınıza bağlı olarak, örneğin perdahlama veya dalgalanma dengelemesi olabilir. Genel olarak, hepsi L1 norm küçültme ailesine aittir.
chaohuang

7

Anizotropik difüzyon düşünebilirsiniz. Bu tekniğe dayanan birçok yöntem var. Genel olarak konuşulursa, görüntüler içindir. Görüntünün kenar dışı kısımlarını düzleştirmeyi ve kenarları korumayı amaçlayan uyarlamalı bir denoising yöntemidir.

Ayrıca, Toplam varyasyonu en aza indirme için bu öğreticiyi kullanabilirsiniz . Yazarlar MATLAB kodu da veriyorlar. Sorunu bir önceki problem analizi olarak kabul ediyorlar, bir şekilde doğrusal haritalama (zaman-frekans gösterimleri gibi) kullanmaya benzerler. Ancak, dönüşüm yerine fark matrisi kullanırlar.

D


6

Chaohuang'ın iyi bir cevabı var, ancak kullanabileceğiniz başka bir yöntemin de Haar Dalgacık Dönüşümü, ardından dalgacıkta birlikte etkili büzülme ve zaman alanına geri bir Ters Dal Dönüşümü olacağını ekleyeceğim.

Haar dalgacık dönüşümü, sinyalinizi farklı ölçeklerde de olsa kare ve fark fonksiyonlarının ko-verimliliklerine dönüştürür. Buradaki fikir, orijinal sinyalinizle en iyi uyuşması için yeni kare sinyal gösterimini “zorlamanız” ve böylece kenarlarınızın nerede olduğunu en iyi temsil eden birini zorlamanızdır.

Birlikte verimli bir büzülme yaptığınızda, tüm bu demek oluyor ki, Haar dönüştürülmüş işlevin belirli yardımcı verilerini sıfıra ayarladınız. (Başka ilgili yöntemler de var, ama bu en basit olanıdır). Haar dönüşümlü dalgacık katsayıları, farklı ölçeklerde farklı kare / fark fonksiyonlarıyla ilişkili puanlardır. Haar dönüşümlü sinyalin RHS'si, en düşük ölçekte kare / fark tabanlarını temsil eder ve bu nedenle, en yüksek frekansta yorumlanabilir. Böylece gürültü enerjisinin çoğu burada yatar, sinyalin enerjisinin çoğunu LHS'ye yatar. Boşaltılan baz-katsayıları ve sonuçtan sonra zaman alanına geri dönüşümü sağlayan bu baz katsayılarıdır.

Ekli ağır AWGN gürültüsü ile bozulmuş bir sinüzoid örneğidir. Amaç, atımın 'başlangıcı' ve 'durmasının' nerede olduğunu bulmaktır. Geleneksel filtreleme, filtrelemenin L-2 tekniği olması nedeniyle yüksek frekanslı (ve zaman içinde oldukça lokalize edilmiş) kenarları siler. Buna karşılık, aşağıdaki yinelemeli işlem kenarları korumakla birlikte kınayacak:

(Birinin buraya film ekleyebileceğini düşünmüştüm, ancak yapabileceğim gibi görünmüyor. Buradaki süreçten yaptığım filmi indirebilirsiniz ). (Sağ tıklayın ve 'bağlantıyı farklı kaydet').

MATLAB'a 'elle' işlemini yazdım ve şöyle devam etti:

  • Ağır AWGN tarafından bozulmuş sinüzoid bir darbe oluşturun.
  • Yukarıdakilerin zarflarını hesaplayın. (Sinyal').
  • Tüm ölçeklerde sinyalinizin Haar Dalgacık Dönüşümü'nü hesaplayın.
  • Yinelemeli eş-verimli eşikleme ile kefalet.
  • Ters Haar Shrunk ortak verimli vektörü dönüştürün.

Katkıda bulunanların nasıl küçüldüğünü ve bunun sonucunda ortaya çıkan Ters Haar Dönüşümü'nü açıkça görebilirsiniz.

Bununla birlikte, bu yöntemin bir dezavantajı, kenarların, belirli bir ölçekte kare / fark tabanlarına ya da etrafına yatması gerektiğidir. Aksi halde, dönüşüm bir sonraki daha yüksek seviyeye atlamak zorunda kalır ve bu nedenle bir kenar için kesin bir yerleşim kaybeder. Buna karşı koymak için kullanılan çoklu çözünürlük yöntemleri var, ancak daha çok ilgili.


4

Genellikle işe yarayan basit bir yöntem, bir medyan filtre uygulamaktır.

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.