So basically I spent a good chunk of my masters figuring out if we can use image recognition to detect when a motor is about to break. The idea sounds a bit strange at first, so let me explain.
When a bearing inside a motor starts failing, the vibration it produces changes in a subtle way. The classic approach to catch this is a technique called Recurrence Quantification Analysis, which works great but takes forever to compute. I wanted to find something faster.
What I did was take those vibration signals and turn them into images, these weird looking grid pictures called Recurrence Plots. Once you have an image, you can throw it at a Convolutional Neural Network, the same kind of algorithm that recognizes faces in your phone camera.
I used a public dataset from Case Western Reserve University where they literally drilled tiny cracks into motor bearings and recorded everything. The network had to tell apart three situations: no fault, crack in one spot, crack in another spot.
Here comes the part I was honestly surprised: both, my CNN approach and the old school method got 100% accuracy. Every single scenario. So the CNN didn't beat the traditional method on accuracy, but it wins on speed once it's trained, which is exactly what you need when you're monitoring machines in real time.
Beyond the technical stuff, this was genuinely a great experience. I came in knowing very little about deep learning and left feeling like I actually understand how these networks think, which is not something I expected. And research itself taught me something too: you spend way more time debugging your assumptions than writing actual code, and that is probably how it is supposed to work.