In the steel pipe manufacturing industry it is a requirement to inspect all produced pipes looking for possible physical defects that may compromise pipe strength and resistance when used at high pressures, a key and common extreme condition when pipes are used inside oil wells.
One common inspection technique is to use ultrasound to detect production flaws. Some ultrasound inspection machines can provide raw data just as a laser scanner does. However still some processing on the delivered signals (compensate for non-linear acquisition, analyze and compress data, extract summarized features, etc.) must be done in order to interpret and represent it using 3D software.
One challenge in this project was to reduce the enormous amount of data generated by the ultrasound machine without losing information; each pipe generates one 500 point curve per millimeter. Another requirement was not to lose data in the vicinity of the flaw.
The approach was to implement an algorithm that applied some DSP on the generated signals. First we applied some filtering (running filters) to eliminate noise and then we obtained its FFT and apply the Nyquist criterion to down sample the signal.
Since we did not know the location of the flaws, we obtained its spectrogram to find the possible location of the flaws in the curve. The algorithm looks for concentrations of energy at high frequencies, characteristics of presence of a flaw in the pipe. If a flaw is detected, then it keeps all data in the vicinity but dropping points that belong to the rest of the body of the pipe assuming a the pipe is a perfect cylinder.