Intro

A “batea” is a kind of raft/floating structure made up of a lattice of wood beams combined with floats from which ropes, perpendicular to the raft iself, sink into the water allowing seafood, mostly mussels to grow.

Detecting these in visible Earth Observation (EO) images is relatively simple (given appropriate resolution) except for the fact that Galicia is notably cloudy. Thus, trying to monitor these with, for instance Sentinel 2, would mean staring the whole winter at a white wall of clouds. To build an observation system that works year-round, you have to drop the camera and pick up a microwave (only partially metaphorically). The tool for the job would be a Synthetic Aperture Radar (SAR) much like the one on Sentinel 1. Radar doesn’t care about clouds, in fact it goes through them. _What it does care about, a lot, is geometry.

Under normal circumstances, with calm water, a phenomenon called Specular reflection comes into play. SAR instruments cast microwaves from orbit to earth and then try to pick back what the terrain reflected. The smooth ocean surface deflects the radar pulse away from the satellite, causing calm water to appear dark. This easily contrasts with the bateas which are, essentially in this setting, corner reflectors. The pulse hits the flat water next to the raft, bounces upward into the vertical side of a beam and then shoots straight back at the satellite. This double bounce creates a strong signal that, despite the size of the bateas themselves and the low resolution of Sentinel 1, should be easily visible in the images.

The data

To test this, I downloaded some Sentinel 1 RTC data from [Planetary Computer](https://planetarycomputer.microsoft.com/dataset/sentinel-1-rtc) and created a sort of fake color composite. In this composite, red band corresponds to the VV data, the green channel to VH and the blue channel to the difference of both (VV-VH). In particular, the data has been transformed to decibels and normalized, following a bit of an ad-hoc approach (i.e. i just eyeballed it):
    def normalize_band(data, vmin, vmax):
        clipped = np.clip(data, vmin, vmax)
        return ((clipped - vmin) / (vmax - vmin) * 255.0).astype(np.uint8)

    vv_db = 10 * np.log10(vv_raw)
    vh_db = 10 * np.log10(vh_raw)
    diff_db = vv_db - vh_db

    R_channel = normalize_band(vv_db, -25, 0)
    G_channel = normalize_band(vh_db, -30, -5)
    B_channel = normalize_band(diff_db, 0, 15)

The output

Upon visualizing the images it became clear the bateas were visible despite their size (notice the little dots on the black sea in the images below).

Calm sea fake-color composite RGB

Calm sea fake-color composite RGB

Calm VV

Calm sea VV Polarization

Calm VH

Calm sea VH Polarization

However, on choppy sea, the identification is a bit more complex. Firstly, the small blobs became lines and, secondly, they become less defined, with clear interaction between VV and VH which reflects on the image as the color violet. In particular, comparing the VV polarization images from the choppy and the calm sea we can see quite a difference. In the calm sea the VV polarization is more clear offering sharper bateas whereas in choppy sea the VV barely allows to differentiate a few bateas while in the VH you can clearly see each one (even if they are more akin to lines than blobs).
Choppy sea fake-color composite RGB

Choppy sea fake-color composite RGB

Choppy VV

VV Polarization

Choppy VH

VH Polarization

The choppy sea does send the signal back to the satellite due to the waves, this makes the baseline level of the sea climb to the same as the bateas eliminating the contrast. VH does still show contrast due to the different polarization. For a radar pulse to return to the satellite in the cross-polarized (VH) channel, it needs to _change its original polarization_, that is, changing from the sources vertical to horizontal, before bouncing back to be picked up by the satellite. The ocean's surface, even full of waves, can just redirect the signal, but it cannot easily scramble its polarization. A batea, on the other hand, is a dense lattice of wooden beams, ropes, floaters and other stuff. The radar signal enters that structure, bounces repeatedly off hard surfaces at different angles, and exits with its polarization shifted. This way, the sea stays relatively dark in VH while the bateas remain bright, maintaining the contrast even in stormy conditions.