Bag of Tricks สำหรับสัญญาณ Denoising ในขณะที่ยังคงการเปลี่ยนผ่านที่คมชัด


21

ฉันรู้ว่าสิ่งนี้ขึ้นอยู่กับสัญญาณ แต่เมื่อหันหน้าไปทางสัญญาณรบกวนใหม่กระเป๋าของคุณมีเล่ห์เหลี่ยมอะไรบ้างสำหรับพยายามที่จะ denoise สัญญาณในขณะที่ยังคงมีการเปลี่ยนแปลงที่คมชัด (เช่นการเฉลี่ยแบบง่าย ๆ ฉันมักจะพบว่าตัวเองกำลังเผชิญกับคำถามนี้และไม่รู้สึกว่าฉันรู้ว่าสิ่งที่ฉันควรจะลอง (นอกเหนือจาก splines แต่พวกเขาสามารถเคาะการเปลี่ยนแปลงที่คมชัดอย่างถูกต้องเช่นกัน)

ป.ล. เป็นหมายเหตุด้านข้างถ้าคุณรู้วิธีการที่ดีในการใช้เวฟเล็ตให้ฉันรู้ว่ามันคืออะไร ดูเหมือนว่าพวกเขามีศักยภาพมากมายในพื้นที่นี้ แต่ในขณะที่มีเอกสารบางส่วนใน 90s ที่มีการอ้างอิงเพียงพอที่จะแนะนำวิธีการของกระดาษที่เปิดออกได้ดีฉันไม่สามารถหาสิ่งที่เกี่ยวกับวิธีการใด ปีที่ผ่านมา แน่นอนว่าวิธีการบางอย่างกลายเป็น "สิ่งแรกที่ต้องลอง" โดยทั่วไปตั้งแต่นั้นมา

คำตอบ:


14

การลดบรรทัดฐาน L1 (การตรวจจับแบบบีบอัด) สามารถทำได้ดีกว่าสัมพัทธ์แบบฟูริเยร์ในแง่ของการรักษาขอบ

ขั้นตอนคือการลดฟังก์ชั่นวัตถุประสงค์

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

xyb|f(y)|yb

เพื่อรักษาขอบทั้งนี้ขึ้นอยู่กับสัญญาณคุณสามารถเลือกการลงโทษที่แตกต่างกันเช่นเบาบาง (วิญญาณของการตรวจจับที่ถูกบีบอัด):f ( y )yf(y)

  • ถ้าเป็นคนฉลาด,สามารถปรับได้ทั้งหมด (TV) โทษ;f ( y )yf(y)

  • ถ้าเป็นเส้นโค้ง (เช่น Sinogram),f ( y )yf(y)y

  • yf(y)y

f(y)

|xHy|+b|f(y)|H


yyy

1
L1

คุณชอบวิธีใดในการแก้หา f โดยเฉพาะถ้าสัญญาณมีความยาว
John Robertson

ชื่อของวิธีนี้คืออะไร? ถ้าฉันใช้มันในการวิจัยของฉันฉันควรอ้างอิงอะไร
bayer

@ ผู้เล่นมันขึ้นอยู่กับสิ่งที่คุณใช้ในการทำให้เป็นมาตรฐานเช่นมันอาจเป็น curvelet denoising หรือ denoising wavelet โดยทั่วไปแล้วพวกเขาทั้งหมดอยู่ในครอบครัวของการลดบรรทัดฐาน L1
chaohuang

7

คุณสามารถพิจารณาการกระจายแบบแอนไอโซทรอปิก มีวิธีการมากมายตามเทคนิคนี้ โดยทั่วไปจะใช้สำหรับภาพ มันเป็นวิธีการปรับตัวแบบ denoising ซึ่งมีจุดมุ่งหมายเพื่อให้ส่วนที่ไม่ใช่ขอบของภาพราบรื่นและรักษาขอบ

นอกจากนี้สำหรับการย่อขนาดรูปแบบทั้งหมดคุณสามารถใช้บทช่วยสอนนี้ ผู้เขียนให้รหัส MATLAB ด้วย พวกเขารับรู้ปัญหาว่าเป็นการวิเคราะห์ปัญหาก่อนหน้ามันคล้ายกับการใช้การแมปเชิงเส้น (เช่นการแทนค่าความถี่เวลา) แต่พวกเขาใช้เมทริกซ์ที่แตกต่างมากกว่าการแปลง

D


6

Chaohuang มีคำตอบที่ดี แต่ฉันจะเพิ่มอีกวิธีหนึ่งที่คุณสามารถใช้คือการแปลง Haar Wavelet ตามด้วยการหดตัวของเวฟเล็ตร่วมอย่างมีประสิทธิภาพและ Inverse Haar เปลี่ยนกลับไปเป็นโดเมนเวลา

การแปลงเวฟเล็ต Haar จะสลายสัญญาณของคุณไปเป็น co-efficients ของฟังก์ชั่นสแควร์และฟังก์ชั่นที่แตกต่างกัน แนวคิดนี้คือคุณ 'บังคับ' การแสดงสัญญาณรูปสี่เหลี่ยมใหม่เพื่อให้ตรงกับสัญญาณดั้งเดิมของคุณมากที่สุด

เมื่อคุณทำการหดตัวแบบใช้ร่วมอย่างมีประสิทธิภาพนั่นหมายความว่าคุณกำลังตั้งค่าประสิทธิภาพร่วมเฉพาะของฟังก์ชันเปลี่ยนรูป Haar ให้เป็นศูนย์ (มีวิธีการอื่นที่เกี่ยวข้องมากกว่า แต่ก็เป็นวิธีที่ง่ายที่สุด) เวฟเล็ตที่แปลงฮาฮาร์ร่วมเป็นคะแนนที่เกี่ยวข้องกับฟังก์ชั่นสแควร์ / ความแตกต่างที่ระดับต่างกัน RHS ของสัญญาณที่แปลง Haar แสดงถึงฐานสี่เหลี่ยม / ความแตกต่างที่ระดับต่ำสุดและสามารถตีความได้ที่ 'ความถี่สูงสุด' พลังงานเสียงส่วนใหญ่จะอยู่ที่นี่ VS พลังงานส่วนใหญ่ของสัญญาณที่จะอยู่บน LHS คือฐานเหล่านั้น co-efficients ที่ถูกทำให้เป็นโมฆะและผลลัพธ์จะเปลี่ยนกลับไปเป็นโดเมนเวลา

สิ่งที่แนบมาเป็นตัวอย่างของไซนัสที่เสียหายจากเสียง AWGN หนัก วัตถุประสงค์คือเพื่อหาจุดเริ่มต้นและจุดหยุดของการเต้นของชีพจร การกรองแบบดั้งเดิมจะทำลายขอบความถี่สูง (และ จำกัด เวลาอย่างมาก) เนื่องจากหัวใจการกรองเป็นเทคนิค L-2 ในทางตรงกันข้ามกระบวนการวนซ้ำดังต่อไปนี้จะ denoise และรักษาขอบ:

(ฉันคิดว่ามีใครสามารถแนบภาพยนตร์ที่นี่ แต่ฉันดูเหมือนจะไม่สามารถคุณสามารถดาวน์โหลดภาพยนตร์ที่ฉันทำกระบวนการที่นี่ ) (คลิกขวาและ 'บันทึกลิงก์เป็น')

ฉันเขียนกระบวนการ 'ด้วยมือ' ใน MATLAB และมันจะเป็นเช่นนี้:

  • สร้างพัลส์ Sinusoid ที่เสียหายโดย AWGN หนัก
  • คำนวณซองจดหมายด้านบน ('สัญญาณ')
  • คำนวณ Haar Wavelet การแปลงสัญญาณของคุณในทุกระดับ
  • Denoise โดย thresholding ซ้ำที่มีประสิทธิภาพร่วม
  • Inverse Haar เปลี่ยนเวกเตอร์ที่ย่อส่วน

คุณสามารถเห็นได้อย่างชัดเจนว่า co-efficients กำลังหดตัวอย่างไรและ Inverse Haar Transform เป็นผลมาจากมัน

อย่างไรก็ตามข้อเสียเปรียบประการหนึ่งของวิธีนี้คือขอบต้องอยู่ในหรือรอบฐานสี่เหลี่ยมจัตุรัส / ส่วนต่างในระดับที่กำหนด หากไม่มีการแปลงจะถูกบังคับให้ข้ามไปยังระดับที่สูงขึ้นถัดไปและทำให้สูญเสียตำแหน่งที่แน่นอนสำหรับขอบ มีวิธีการหลายความละเอียดที่ใช้ในการตอบโต้การกระทำนี้ แต่พวกเขามีส่วนร่วมมากขึ้น


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.