ansfl / MEMS-IMU-Denoising

Data-Driven Denoising of Accelerometer Signals
97 stars 17 forks source link

Puzzle #3

Open FenglingZheng opened 1 year ago

FenglingZheng commented 1 year ago

Hello, Thank you for making the dataset publicly available. I am also currently working on using neural networks to denoise acceleration signals. I have many questions and I hope to get your help.

  1. Due to the structural characteristics of my model, I want to set the length of a sample L=4000, but the length of a sample in your data set is L=200. I simply concatenate 20 samples in the dataset and then train. Is such a simple concatenation operation reasonable? I look forward to your advice.
  2. In your paper, you mentioned a simulated dataset and a real dataset, so I guess x is the real dataset and y is the simulated dataset. Is my guess correct?
Daniboy370 commented 1 year ago

Hi @FenglingZheng, you're very welcome :)

1. What kind of neural network are you using? Is it feed-forward or recurrent (RNN)? The advantage of RNN is that it's length-invariant, thus no need to be worried about a canonical form for all samples. Moreover, unlike simple NN it excels with decomposing temporal features. Each sample in our dataset holds a two seconds window-size sampled at 100Hz. But, note that each corresponds with a unique / different platform attitude. By concatenating different samples with different means you effectively lose stationarity, such that you create a moving average of accelerations. Therefore, I wouldn't do that with regards to OUR dataset. You can however do it if you find a dataset with equal-mean samples, such that the statistical moments are not violated.

2. Your guess is incorrect :O All data shared here is purely experimental. X denotes sample space (measurements) and Y denotes label space (attitudes).

Yours, ANSFL team

FenglingZheng commented 1 year ago

Thank you very much for your reply.

The network structure I used was a 1D convolutional neural network. Due to the model size and Settings, I set the size of each sample to L=4000. My purpose is to denoise the acceleration signal (the time series signal) generated by the accelerometer. Since I have not found a suitable public dataset, I found your paper in the search process, so I want to borrow your public dataset to conduct experiments. As for the platform pose, I don't care in my task. What I care about is whether the model denoise the data. Therefore, I concatenate the training set and the test set in the same way, and then train and test, and compare the output signal of the model with the original GT signal. Is a simple concatenation reasonable for this purpose? Since I am not a relevant major, I am very confused about this aspect. Thank you very much for your professional help.

Daniboy370 commented 1 year ago

Hi @FenglingZheng

You may indeed make use of our public dataset J I understand you try to denoise 1D signal, using suitable 1D CNN model. However I don't understand how will you manage to preserve the signal dimensionality (dim_inp == dim_out) ? The CNN architecture is designed to reduce dimensionality across the layers, such that the eventual output is of a significantly lower dimension (class / approximation). Due to the nature of our problem, you cannot concatenate our data, since you will create a dynamic sequence, with multiple different outputs, and only god knows how to denoise that.

Best of luck :) ANSFL

FenglingZheng commented 1 year ago

The input of my model is L=4000 and the output is also L=4000. The input is noisy signal. the output is denoised signal.And I use MSE loss for model training.I don't quite understand the meaning of establishing dynamic sequence, I concatenate the data of noise in your data, and the corresponding GT data is also concatenatng in same way. In this way to complete the denoising network training. So is there a dynamic sequence problem just like you said?Looking forward to your reply. Thank you.