I was privileged to have an initial discussion with Dennis when he was planning on applying neural networks to the task of classifying water waveforms measured by radar from a satellite orbiting the Earth.
He went on to succeed and presented his work at a well respected conference. You can see his presentation slides here:
AltimetrySatellite radar is used to measure the altitude (height) of surface features - which can be both land and water.
The signal needs to be interpreted and so that:
- we can establish if the surface is land or water
- and if water, calculate the height of the water waves from the non-trivial signal pattern
Land or Water?A neural network was trained to determine whether the signal was from land or water.
As you can see from the slide above, the signal signature is very different.
A neural network was very successful in detecting water. Detecting land was a little more challenging but this initial work showed great promise.
Water Wave HeightThe next step is to calculate the height of the water waves. In-situ measurements were used as reference data to train a different neural network.
Part of the challenge for a neural network is that there are several peaks that can be detected during a measurement, and we want the highest peak of a wave.
Tracking a peak as it moves allows us to have a higher level of confidence in labelling it a water wave peak.
ResultsThe results are promising with some areas identified for further work.
The following shows how good the calculated water wave heights are based on automatic analysis by neural networks.
The first area for improvement is detecting land where the accuracy rate is lower than it is for water.
The second area for further work is to the resolve the "delay" visible in the calculated heights. This is not a major issue in this application as the height and shape are more important than the horizontal displacement / phase.
The following shows more challenging wave forms.
A good next challenge is to automate the detection of the correct peak, and neural network architectures that take into account a sequence of data - such as recurrent neural networks - can help in these scenarios.