AI4EPS / DeepDenoiser

DeepDenoiser: Seismic Signal Denoising and Decomposition Using Deep Neural Networks
MIT License
177 stars 60 forks source link

Using mask to reconstruct clean signal #10

Open bestfzy opened 2 years ago

bestfzy commented 2 years ago

From your code and literature, I found that when you make the mask, you get the mask by taking the ratio of the absolute value of the signal and the noise. However, when you use the mask to get the reconstructed denoising signal, the result is also It should be the absolute value of the signal. How did you convert it into a real signal? In addition, you are performing short-time Fourier transform on the signal. Do you think it is different from the wavelet packet transform and its advantages and disadvantages? I have sent you a lot of emails, but they may be treated as spam. Hope to get your reply, thank you very much.

wayneweiqiang commented 2 years ago

Hi, thanks for your email. What do you mean a real signal? The reconstructed "signal = noisy signal * mask", where mask is the ratio between "signal" and "signal + noise"

I use STFT just for simplicity. You can also try wavelet transform. What is your email address? Sorry I missed your previous emails.

bestfzy commented 2 years ago

image image

The above two figures show that how to make mask and how to reconstruct denoised signal with mask. And i have some questions about the precess. The time–frequency coefficients array's size is (31201), for a single coefficient, it's mask making and reconstruction also obey the rule. For example, if we set the ratiol is 1, the coefficient of signal is 1+1j, correspond coefficient of noise is 1-1j, then the coefficient of noise_signal is 2+0j, the mask of singal is abs(1+1j)/[abs(1+1j) + 1abs(1-1j)]=0.5, the coefficient of reconstruct denoised signal is 0.5*(2+0j)=1+0j != 1+1j, even we predict the ture mask , we still can not get the true coefficient of signal !!! So I want to ask that how you treat this problem. Thank you for your time!

Besides, my email address is 18229075606@163.com.

bestfzy commented 2 years ago

And I have another question. Regarding the preparation of the noisy signal in your code, you perform STFT of the signal and noise separately, and then normalize their Fourier coefficients, and then superimpose randomly. However, when this superposition The ratio you obtain is a fixed range. How do you consider the determination of this range? image In the picture ,the noise_mean is 2,and the noise_std is 1.How do you determine these two coefficients? During the summer vacation, I saw your explanation in the "Seismology Algorithms and Procedures Training Course", but I still knew a little at the time. I wonder if I can ask you some questions via email. I am sorry to disturb you, but I still hope to be able to Get your reply!

wayneweiqiang commented 2 years ago

Sure. Feel free to send me emails (zhuwq0@gmail.com). These two hyper parameters can be further tuned. The current values are chosen pretty arbitrarily.