To demonstrate our flying aircraft detection method, we shall use data from the Sentinel-2 (S2) satellites under the Copernicus program [
2] as
Figure 1. They provide excellent and freely available imagery with pixel resolutions down to 10 m in 13 multispectral bands. The orbital periods are 5 days between the S2 satellites A + B, but revisit up to daily in polar regions due to overlapping swaths.
2.1. Sentinel-2 Multispectral Images
We analyse S2 Level-1C top-of-atmosphere images, which are not corrected for aerosol reflections, atmospheric moisture absorption, or clouds, and contain the water absorption band around 1.38 μm. We choose scenes over the English Channel (see
Figure 1), where the air traffic is dense and cloud cover frequent. All scenes covering this tile are analysed over a period between 16 August and 20 October in 2020 as well as the scene of
Figure 1 from before the COVID-19 pandemic, when the air traffic was more than double. The recording time of the image is 15 s and we match with ADS-B in this time interval so that the positions match for the fast-flying aircrafts. The time T105049 in the Sentinel filenaming convention shown above
Figure 1 is the data’s start sensing time. The actual tile image scene is recorded almost six minutes later at 10:56:30 UTC. Because the aircrafts fly so fast, we can determine this time by comparing to ADS-B, with accuracy down to a few seconds. We can even observe the 15 s recording time difference from top to bottom. The correct timing is done once and for all for Sentinel 2A and 2B separately as they differ.
The S2 Multispectral Sensor Imager (MSI) [
2] records images in 13 multispectral bands (see
Table 1) with different resolutions and time delays due to their push-broom recording technique. There are 4 bands with 10 m, 6 bands with 20 m, and 3 bands with 60 m pixel resolution. These are giga-pixel scenes with 12-bit grey levels. The spatial coordinates
are the pixel coordinates (
i,
j) multiplied by the pixel resolution
l = 10 m, 20 m, or 60 m for the S2 multispectral images
, in the 13 bands. The bands are time-ordered according to temporal offset
,
m = 1,…, 13, with respect to the blue band, as shown in
Table 1.
2.2. Background Subtraction
Aircraft detection was analysed in [
6] over sea for clear sky. The dark sea background made it easy to detect aircrafts (and ships) and accurately determine their velocities and altitudes. In a highly reflective cloud background with varying albedo, the simple threshold detection method of [
6] fails because the clouds’ reflection exceeds the threshold.
In order to construct an effective aircraft detection algorithm, one must first understand the reflection spectra for the backgrounds. As shown in
Figure 2, the sea reflection decreases with wavelength, whereas the reflection from clouds is stronger at larger wavelengths. As the cloud altitudes and thicknesses vary, we observe mixed spectra from low to high reflective and cirrus clouds.
To determine how the aircrafts change the spectrum relative to a background, we define the background spectrum vectors
, where the index
i = 1,…,
N, refers to sea, various types of clouds, snow, or land. Examples are shown in
Figure 2. As the background can be a mixture of these spectra, we multiply them by weights
,
i = 1,…,
N, and subtract
The weights
are determined for each pixel by minimising the mean square of Equation (1), which corresponds to an
N-parameter linear regression fit or a spectral mixture analysis. The resulting weights are:
, where
is the inverse of the
N ×
N matrix with elements
, where the
i = 1,…,
N and
j = 1,…,
N indices both refer to sea, clouds, or other background spectra, and the dot is a vector product of up to
M = 13 multispectral band vectors. The background-subtracted spectrum
displays the change due to the aircraft, as shown in
Figure 3 and
Figure 4.
2.3. Multispectral Temporal Offsets, Positions, and Velocities
From the background-subtracted spectra, the positions in each band m = 1,…, 13, are determined as the central object coordinate and we also determine its orientation angles .
An object moving with apparent velocity
will ideally be recorded at position
Here,
is the vessel position at zero temporal offset—ideally, the blue band for which
(see
Table 1). The object positions
that are calculated for each multispectral image will generally scatter around the linear prediction of Equation (2). We define the variance as the mean square average of the deviations
Ideally, M = 13, when all bands are included, but in cloudy backgrounds, the low-resolution bands often fail, and we therefore sum the four high-resolution bands only as they are more precise. By minimising this variance, which is equivalent to a two-parameter linear regression, we obtain the best fit values for aircraft position and apparent velocity vector .
The apparent velocity vector is
, and contains two parallax effects due to the aircraft and satellite motion, as described in [
6]. The S2 satellites fly in a sun-synchronous orbit at mean altitude of
HS2 = 786 km with speed
VS2 = 7.44 km/s, descending with inclination angle
= −104° at the latitude of the English Channel [
6]. During the multispectral delay, the aircraft and its contrails are moved with respect to the ground by the parallaxes depending on the aircraft velocity
, and altitude
HAC. The aircraft and its condensation stripes are separated for each multispectral band and appear as a “planebow”, when all bands are stacked in a false colour image, as shown in
Figure 4, and the aircraft shows up as 13 pearls on a string along
.
As result, we find the aircraft velocity [
6]
and altitude
The aircraft heading angle
may be determined from the aircraft orientation angles
discussed above, and/or by the condensation trails, which are visible at altitudes 7.5–11 km (see
Figure 3). See [
6] for the more complicated case including jet streams.
Flying aircrafts are special because of the temporal delay between recordings. For example, a pixel covering the aircraft when the green band is recorded will have a peak at the green wavelength but be lower in all other bands (see
Figure 2), and likewise for the other bands. The difference between bands in pixel reflection is therefore a good measure of the change due to parallax effects and can be exploited for aircraft detection. However, numerous false alarms occur from clouds with relatively sharp boundaries due to the satellite parallax. We find that these false alarms are minimal for the difference between the green and blue bands
as they are recorded with a 0.527 s time difference only so that the cloud parallax change is smallest. As seen in
Figure 2, the aircraft increases its DL by ca. 20% in the green band, and we find an optimal threshold of
T = 0.05 DL in order to detect most aircraft without too many false alarms (see
Figure 1).
Adjacent detected pixels are connected to objects. For each object, a small 96 × 96 pixel clip is selected around the central object coordinate, which covers the aircraft extent, including movement and part of its condensation trail (see [
6] for details). The same 960 × 960 m region is now extracted for all 13 bands, and we construct the spectral reflection vector
for each pixel; see
Figure 4.
2.4. The Parallax Method
For optimising the aircraft detection and classification in S2 images, we employ the following parallax method or algorithm:
For a given scene, the multispectral S2 images are collected from [
2].
Change detection of objects by the green–blue difference above threshold .
For each object, a clip is extracted in the four high-resolution bands with background subtraction; see Equation (1).
For each clip, V, , , , and are calculated from Equations (2)–(5).
False alarms are removed by requiring high velocity V > 100 m/s and low scatter σ < V/5.
Positions , , and are compared to ADS-B numbers for aircrafts at the same place and time.
To speed up the algorithm, only two images are used in step 2, and only the clips for the four high-resolution images (M = 4) are analysed in steps 3 and 4. Over sea, we only subtract sea and the dominant cloud background in the clip, i.e., N = 2. For better but slower analysis in a less cloudy background, the algorithm can run with more multispectra (M) and background subtractions (N) up to 13.
Step 5 is essential because step 2 results in a large number of false alarms, especially in images with cauliflower clouds as their edges are prone to the parallax effect. However, their positions are much more irregular, whereas aircrafts appear as pearls on a string. This is exploited by the high velocity and low scatter conditions, which effectively removes most false alarms. The false alarm threshold σ < V/5 is chosen by experience in order to reduce false alarms maximally while retaining most aircrafts. This results in high recall values.
2.5. The Water Absorption Band at 1.38 μm
As described in [
5], the 1.38 μm band is also useful for detecting high-altitude aircrafts. Water in the atmosphere absorbs strongly at this wavelength and suppresses the background from the surface of the Earth as well as low-lying clouds, whereas high-altitude aircrafts are unaffected and thus contrast enhanced. The aircraft spectrum in
Figure 2 is for a pixel at the green aircraft position of
Figure 3 and
Figure 4 and therefore the spectrum has enhanced for band 3. For a pixel at the aircraft position in the 1.38 μm band, the spectrum would not be zero for band 10 (
m = 4) as it would be for all low-altitude objects due to water absorption.
However, whereas the Landsat data in [
5] have 30 m pixel resolution, the S2 data have only 60 m resolution in the 1.38 μm band
, and aircrafts are therefore detected in very few pixels. When high-altitude clouds are present, they lead to numerous false alarms. We find that subtracting a background smeared over a few pixels suppresses clouds and reduces the number of false alarms considerably.