My goal is to detect a problem in a windturbine. I have a dataset of 2h (1 hour for each class). To keep in mind, it will be embedded on an MCU target, so the neural network have to be less than 10M parameters.
I tried to use Mel Spectrogram then a 2D classification network (MobileNetV3 or EfficientNetV2), I obtained fairly good results about 95% and a loss of 0.15.
The question is : Is it possible to use a 1D classification network ? Without passing with by a 2D classification network.
I read different things :
- https://arxiv.org/pdf/2004.00132.pdf which with a 1D mobileNet obtain an error rate under 3%
- https://towardsdatascience.com/whats-wrong-with-spectrograms-and-cnns-for-audio-processing-311377d7ccd Which on the other hand this article say that it isn't possible.
I have tried, on binary classification, the best result I was obtaining was val loss : 0.7, val accuracy : 0.85, but on an other set it was about 0.5 of accuracy (I don't have a data leak between the two sets). I thought the problem was from the lack of data, so I tried with the dataset nsynth in tensorflow dataset which have about 70Gb on training, on the category instrument family and the result was not good, high loss and low accuracy
What do you think about it ? Can we use 1D CNN for classification ?
Thank you for your answer