I have a noisy signal and I'm trying to find a way to detect peaks with ML. The "peaks" are easy to find as human because they are rhythmic and have the same "general" shape but the amplitude and width of the desired peaks can vary from sample to sample.
Basically I can't just write a simple method to detect the peaks so I wanted to know if I could use ML to train a model that could learn to find the peaks more accurately. I'm new to ML so while I understand what a CNNs, RNNs and LSTM are, I don't know which would be useful in my scenario.
Here is an example of the signal:
Here are the labels I'm trying to give each one of those sets of spikes:
I already have a set of labeled points that I could use for some kind of supervised learning method but I just don't know what to try.