Super Resolution CNN for Oceanographic Data
Supervisor: Dr. Neeraj Agarwal
As the name quite evidently conveys, Sea Surface Temperature is the measurement of the temperature of the sea surface. Oh, by surface, I don’t mean legit surface; in fact, it can extend to up to 10m beneath the actual surface!
And why do we need to measure the sea surface temperature?
Well, SST is a strong indicator of global climate change and stress to aquatic life. It also plays a pivotal role in weather and ocean state forecasting. Radiometers (thermal infrared or microwave) in space-borne satellites measure SST.
But these satellites aren’t perfect. Though they perform great under clear skies, they cannot record high-resolution measurements on cloudy days.
And that’s where the problem creeps in…
For all the great uses of SST that I just mentioned, there is a prerequisite-the data needs to be of high resolution. However, luckily, with satellites constantly monitoring sea surface temperature, there has been an upsurge in the amount of available SST Fields. And when there is a lot of data, we often think deep learning.
In this project, I assessed the efficiency of Convolutional Neural Networks to reconstruct high SR measurements from low SR. My study proved that CNNs could successfully increase the spatial resolution of sea surface temperature observations from 15 km to 1km.
In an SST Field, each pixel gives the measurement of temperature at that location. So, it’s usually between a range of 20-40 degrees Celsius. Most of the state-of-the-art super-resolution networks have been trained on 255-bit image data. So, evaluating the same network for SST data (which has a lesser range), was one of the biggest challenges of this project.
Technical Details
- Language: Python
- Library: NetCDF
- API: Keras and Tensorflow
- Model Architecture:
- Layers : Convolutional Layers
- Optimiser: Adam
- Loss Function: Mean Squared Error
- Activation Function: ReLu
- Metric: Peak Signal to Noise Ratio
- Dataset Size:
- Train: 1800 fields
- Test: 600 fields