TCThe CryosphereTCThe Cryosphere1994-0424Copernicus PublicationsGöttingen, Germany10.5194/tc-11-1835-2017Open-source sea ice drift algorithm for Sentinel-1 SAR imagery using a combination of feature tracking and pattern matchingMuckenhuberStefanstefan.muckenhuber@gmail.comSandvenSteinhttps://orcid.org/0000-0002-8023-5779Nansen Environmental and Remote Sensing Center (NERSC), Thormøhlensgate 47, 5006 Bergen, NorwayStefan Muckenhuber (stefan.muckenhuber@gmail.com)7August20171141835185010November20165December201614June20178July2017This work is licensed under the Creative Commons Attribution 3.0 Unported License. To view a copy of this licence, visit https://creativecommons.org/licenses/by/3.0/This article is available from https://tc.copernicus.org/articles/11/1835/2017/tc-11-1835-2017.htmlThe full text article is available as a PDF file from https://tc.copernicus.org/articles/11/1835/2017/tc-11-1835-2017.pdf
An open-source sea ice drift algorithm for Sentinel-1 SAR imagery is
introduced based on the combination of feature tracking and pattern matching.
Feature tracking produces an initial drift estimate and limits the search
area for the consecutive pattern matching, which provides small- to medium-scale drift adjustments and normalised cross-correlation values. The
algorithm is designed to combine the two approaches in order to benefit from
the respective advantages. The considered feature-tracking method allows for
an efficient computation of the drift field and the resulting
vectors show a high degree of independence in terms of position, length,
direction and rotation. The considered pattern-matching method, on the other
hand, allows better control over vector positioning and resolution. The
preprocessing of the Sentinel-1 data has been adjusted to retrieve a feature
distribution that depends less on SAR backscatter peak values. Applying the
algorithm with the recommended parameter setting, sea ice drift retrieval
with a vector spacing of 4 km on Sentinel-1 images covering
400 km × 400 km, takes about 4 min on a standard 2.7 GHz processor with 8 GB
memory. The corresponding recommended patch size for the pattern-matching
step that defines the final resolution of each drift vector is 34 × 34 pixels
(2.7 × 2.7 km). To assess the potential performance after
finding suitable search restrictions, calculated drift results from
246 Sentinel-1 image pairs have been compared to buoy GPS data, collected in 2015
between 15 January and 22 April and covering an area from
80.5 to 83.5∘ N and 12 to 27∘ E. We
found a logarithmic normal distribution of the displacement difference with a
median at 352.9 m using HV polarisation and 535.7 m using HH polarisation.
All software requirements necessary for applying the presented sea ice drift
algorithm are open-source to ensure free implementation and easy distribution.
Introduction
Sea ice drift has a strong impact on sea ice distribution on different
temporal and spatial scales. The motion of sea ice due to wind and ocean currents
causes convergence and divergence zones, resulting in the formation of ridges and
opening/closing of leads. On large scales, ice export from the Arctic and
Antarctic into lower latitudes, where the ice eventually melts away,
contributes to a strong seasonality of total sea ice coverage
. Due to a lack of ground stations in sea-ice-covered areas,
satellite remote sensing represents the most important tool for observing sea
ice conditions on medium to large scales. Despite the strong impact of sea
ice drift and the opportunities given by the latest satellite remote sensing
techniques, there is a lack of extensive ice drift data sets providing
sufficient resolution for estimating sea ice deformation on a spatial scaling
of less than 5 km.
Our main regions of interest are the ice-covered seas around Svalbard and
the east of Greenland. Characteristic of this area are a large variation of
different ice types (marginal ice zone, first-year ice, multiyear ice, etc.),
a strong seasonality of ice cover and a wide range of drift velocities. Focus
was put on the winter/spring period, since the area of interest experiences
the highest ice cover during this time of the year.
Early work from established the rule-of-thumb that sea ice
velocity resembles 2 % of the surface wind speed with a drift direction of
about 45∘ to the right (Northern Hemisphere) of the wind. This wind-driven
explanation can give a rough estimate for instantaneous ice
velocities. However, the respective influences of wind and ocean current
strongly depend on the temporal and spatial scale. Only about 50 % of the
long-term (several months) averaged ice drift in the Arctic can be explained
by geostrophic winds, whereas the rest is related to mean ocean circulation.
This proportion increases to more than 70 % explained by wind, when
considering shorter timescales (days to weeks). The wind fails to explain
large-scale ice divergence patterns and its influence decreases towards the
coast .
Using GPS drift data from the International Arctic Buoy Program (IABP),
analysed the general circulation of the Arctic sea ice
velocity field and found that the fluctuations follow the same diffusive
regime as turbulent flows in other geophysical fluids. The monthly mean drift
using 12 h displacements was found to be in the order of 0.05 to
0.1 m s-1 and showed a strong seasonal cycle with a minimum in April and maximum in
October. The IABP data set also revealed a positive trend in the mean Arctic
sea ice speed of +17 % per decade for winter and +8.5 % for summer
considering the time period 1979–2007. This is unlikely to be the
consequence of increased external forcing. Instead, the thinning of the ice
cover is suggested to decrease the mechanical strength which eventually
causes higher speed given a constant external forcing .
Fram Strait represents the main gate for Arctic ice export and high drift
velocities are generally found in this area with direction southward. Based
on moored doppler current meters mounted near 79∘ N 5∘ W,
found an average southward velocity of 0.16 m s-1 for the
period 1996–2000. Daily averaged values were usually in the range
0–0.5 m s-1 and on very few occasions above 0.5 m s-1.
GPS buoys and current meters are important tools for measuring ice drift at
specific locations. However, to monitor sea ice drift on medium to large
scales, satellite remote sensing represents the most important data source
today. The polar night and a high probability for cloud cover over sea ice
limit the capability of optical sensors for reliable year-round sea ice
monitoring. Unlike optical sensors, Spaceborne Synthetic Aperture Radar (SAR)
are active sensors, operate in the microwave spectrum and can produce
high-resolution images regardless of solar illumination and cloud cover.
Since the early 1990s SAR sensors have been delivering systematic acquisitions of
sea-ice-covered oceans and showed that sea ice displacement
can be calculated from consecutive SAR scenes.
The geophysical processor system from has been used to
calculate sea ice drift fields in particular over the western Arctic
(depending on SAR coverage) once per week with a spatial resolution of
10–25 km for the time period 1996–2012. This extensive data set makes use of
SAR data from RADARSAT-1 operated by the Canadian Space Agency, and from
ENVISAT (Environmental Satellite) ASAR (Advanced Synthetic Aperture Radar)
operated by ESA (European Space Agency).
To resolve drift details on a finer scale, a high-resolution sea ice drift
algorithm for SAR images from ERS-1 (European Remote-sensing Satellite from
ESA) based on pattern matching was introduced by , which
allowed drift calculation with up to 400 m resolution.
implemented their own modified version of this algorithm to derive sea ice
drift from ENVISAT ASAR data.
To also provide drift estimates in areas where areal matching procedures
(like cross and phase correlation) fail, introduced a hybrid
algorithm for sea ice drift retrieval from ENVISAT ASAR data using phase
correlation and a feature based matching procedure that is activated if the
phase correlation value is below a certain threshold.
The current generation of SAR satellites including RADARSAT-2 and Sentinel-1
are able to provide images with more than one polarisation.
and have evaluated the sea ice
drift retrieval performance with respect to the polarisation using a
combination of phase/cross-correlation and feature tracking based on corner
detection respectively. has shown that
feature tracking provides on average around four times as many vectors using
HV polarisation compared to HH polarisation.
After the successful start of the Sentinel-1 mission in early 2014,
high-resolution SAR images are delivered for the first time in history within
a few hours after acquisition as open-source data to all users. This
introduced a new era in SAR Earth observation with great benefits for both
scientists and other stakeholders. Easy, free and fast access to satellite
imagery facilitate the possibility to provide products on an operational
basis. The Danish Technical University (,
http://www.seaice.dk/) provides an operational sea ice drift product based on
Sentinel-1 data with 10 km resolution as part of the Copernicus Marine
Environment Monitoring Service (CMEMS, http://marine.copernicus.eu).
The sea-ice-covered oceans in the European Arctic sector represent an
important area of interest for the Sentinel-1 mission and due to the short
revisit time in the Arctic, our area of interest is monitored by Sentinel-1
on a daily basis .
This paper follows up the work from , who published an
open-source feature-tracking algorithm to derive computationally efficient
sea ice drift from Sentinel-1 data based on the open-source ORB algorithm
from , which is included in the OpenCV Python package. We aim
to improve the feature-tracking approach by combining it with
pattern matching. Unlike , the feature-tracking step is
performed initially and serves as a first guess to limit the search area of
the pattern-matching step.
From a methodological point of view, algorithms for deriving displacement
vectors between two consecutive SAR images are based either on
feature tracking or pattern matching.
Feature tracking detects distinct patterns (features) in both images and
tries to connect similar features in a second step without the need for
knowing the locations. This can be done in a computationally efficient manner and the
resulting vectors are often independent of their neighbours in terms of
position, length, direction and rotation, which can potentially be an
important advantage for resolving shear zones, rotation and
divergence/convergence zones. The considered feature-tracking approach
identifies features without taking the position of other features into
account and matches features from one image to the other without taking the
drift and rotation information from the surrounding vectors into account
. However, due to the independent positioning of the
features, very close features may share some pixels and since all vectors
from the resolution pyramid are combined, the feature size varies among the
matches, which implies a varying resolution. In addition, the resulting
vector field is not evenly distributed in space and large gaps may occur
between densely covered areas, which can eventually lead to missing a shear
or divergence/convergence zone.
Pattern matching, on the other hand, takes a small template from the first
image at the starting location of the vector and tries to find a match on a
larger template from the second image. Simple pattern-matching methods based
on normalised cross-correlation often demand considerable computational
effort. Nevertheless, this approach is widely used, since it allows
the vector positions to be defined. For practical reasons, a pyramid approach is generally
used to derive high-resolution ice drift. This speeds up the processing, but
potentially limits the independence of neighbouring vectors, since they
depend on a lower-resolution estimate .
The objective of this paper is to combine the two approaches in order to
benefit from the respective advantages. The main advantages of the considered
feature-tracking approach are the computational efficiency and the
independence of the vectors in terms of position, length, direction and
rotation. The considered pattern-matching method, on the other hand, allows
better control over vector positioning and resolution, which is a necessity
for computing divergence, shear and total deformation.
The presented algorithm, all necessary software requirements (python including
Nansat, openCV and SciPy) and the satellite data from Sentinel-1 are
open-source. A free and user-friendly implementation shall support an easy
distribution of the algorithm among scientists and other stakeholders.
The paper is organised as follows: the used satellite products and buoy data
are introduced in Sect. . The algorithm description including
data preprocessing is given in Sect. , together with
tuning and performance assessment methods. Section presents
the preprocessing, parameter tuning and performance assessment results and
provides a recommended parameter setting for the area and time period of
interest. The discussion including outlook can be found in Sect. .
Data
The Sentinel-1 mission is a joint initiative of the European Commission and
the European Space Agency (ESA) and represents the European Radar Observatory for the
Copernicus programme, a European system for monitoring the Earth with respect
to environmental and security issues. The mission includes two identical
satellites, Sentinel-1A (launched in April 2014) and Sentinel-1B (launched in
April 2016), each carrying a single C-band SAR with a centre frequency of
5.405 GHz and dual-polarisation support (HH + HV, VV + VH) also for the wide swath
mode. Both satellites fly in the same near-polar, sun-synchronous orbit and
the revisit time is less than 1 day in the Arctic . The main
acquisition mode of Sentinel-1 over sea-ice-covered areas is Extra Wide
mode Ground Range Detected Medium Resolution (EW GRDM) and the presented
algorithm is built for processing this data type. The covered area per image
is 400 km × 400 km and the data are provided with a pixel spacing
of 40 m × 40 m in both HV and HH polarisation. The introduced
algorithm can utilise both the HV and HH channel. However, the focus of this
paper is put on using HV polarisation (mainly acquired over the European
Arctic and the Baltic sea), since this channel provides on average four times
more feature tracking vectors in our area of interest than HH
, representing a better initial drift estimate for the
combined algorithm.
To illustrate the algorithm performance and explain the individual steps, we
use an image pair acquired over Fram Strait. The acquisition times of the two
consecutive images are 28 March 2015 07:44:33 UTC and 29 March 2015 16:34:52 UTC,
and the covered area is shown in Fig. . This image pair
covers a wide range of different ice conditions (multiyear ice, first-year
ice, marginal ice zone etc.) and the ice conditions are representative of our
area and time period of interest.
Coverage of image pair Fram Strait that is used as representative
image pair to explain the algorithm approach. The dashed rectangle depicts
the area shown in Fig. and illustrates the vector
distribution of the algorithm steps.
To evaluate suitable search limitations and assess the potential algorithm
performance, we use GPS data from drift buoys that have been set out in the
ice-covered waters north of Svalbard as part of the Norwegian Young Sea Ice
Cruise (N-ICE2015) project of the Norwegian Polar Institute
. The ice conditions during the N-ICE2015 expedition are
described on the project website
(http://www.npolar.no/en/projects/n-ice2015.html) as challenging. The
observed ice pack, mainly consisting of 1.3–1.5 m thick multiyear and
first-year ice, drifted faster than expected and was very dynamic. Closer to
the ice edge, a break up of ice floes has been observed due to rapid ice drift
and the research camp had to be evacuated and re-established four times. This
represents a good study field, since these challenging conditions are
expected in our area and time period of interest. The considered GPS data
have been collected in 2015 between 15 January and 22 April,
and cover an area ranging from 80.5 to 83.5∘ N and
12 to 27∘ E. The buoys recorded their positions either
hourly or every 3 h. In the latter case, the positions have been
interpolated for each hour.
MethodData preprocessing
To process Sentinel-1 images within Python (extraction of backscatter values
and corresponding geolocations, reprojection, resolution reduction etc.), we
use the Python toolbox Nansat , which builds on the
Geospatial Data Abstraction Library (http://www.gdal.org). As in
, we change the projection of the provided ground
control points (latitude/longitude values given for certain pixel/line
coordinates) to stereographic and use spline interpolation to calculate
geographic coordinates. This also provides a good geolocation accuracy at
high latitudes. The pixel spacing of the image is changed by averaging from
40 to 80 m, which is closer to the sensor resolution of 93 m
range × 87 m azimuth, and decreases the computational effort.
For each pixel p, the Sentinel-1 data file provides a digital number DNp
and a normalisation coefficient Ap, from which the normalised radar cross
section σraw0 is derived by the following equation:
σraw0=DNp2/Ap2.
The normalised radar cross section σraw0 reveals a
logarithmic distribution and the structures in the sea ice are mainly
represented in the low and medium backscatter values rather than in the
highlights. Therefore, we change the linear scaling of the raw backscatter
values σraw0 to a logarithmic scaling and get the backscatter
values σ0= 10 ⋅ lg(σraw0) [dB]. A representative
backscatter distribution over sea ice is shown in Fig. .
Using a logarithmic scaling provides a keypoint
distribution for the feature tracking algorithm that depends less on high
peak values, while the total number of vectors increases.
Histogram of (a) HV and (b) HH backscatter values
σ0 from image pair Fram Strait. The lower and upper brightness
boundaries for HV (σmin0=-32.5 dB,
σmax0=-18.86 dB) and HH
(σmin0=-25.0 dB,
σmax0=-10.97 dB) are shown with blue lines and
illustrate the domain for the intensity values i.
To apply the feature-tracking algorithm from , the SAR
backscatter values σ0 have to be converted into intensity values i
with 0 ≤i≤ 255 for i∈R. This conversion is done by
using Eq. () and setting all values outside the domain to 0 and 255.
i=255⋅σ0-σmin0σmax0-σmin0.
The upper brightness boundary σmax0 is set according to the
recommended values from , i.e. -18.86 and -10.97 dB
for HV and HH respectively. The lower boundary σmin0 was chosen
to be -32.5 dB (HV) and -25.0 dB (HH), since this was found to be a
reasonable range of expected backscatter values. Figure
shows the image pair Fram Strait after the conversion into intensity values.
For the sake of computational efficiency, the same intensity value scaling is
used for the pattern-matching step.
Image pair Fram Strait in (a) HV and (b) HH
polarisation after conversion (Eq. ) from backscatter
values σ0 into intensity values with range
0 ≤i≤ 255 using lower and upper brightness boundaries for
HV: σmin0=-32.5 dB and
σmax0=-18.86 dB and HH:
σmin0=-25.0 dB,
σmax0=-10.97 dB.
Sea ice drift algorithm
The presented sea ice drift algorithm is based on a combination of
feature tracking and pattern matching, and is designed to utilise the
respective advantages of the two considered approaches. Computationally
efficient feature tracking is used to derive a first estimate of the drift
field. The provided vectors serve as the initial search position for
pattern matching, which provides accurate drift vectors at each given location
including rotation estimate and maximum cross-correlation value. As
illustrated in the flow chart in Fig. , the algorithm
consists of five main steps: (I) feature tracking, (II) filter, (III) first guess,
(IV) pattern matching and (V) final drift product.
The flow chart on the left depicts the five main steps of the
algorithm. The right column illustrates the evolution of the drift results
using image pair Fram Strait in HV polarisation and a grid with 4 km
spacing. (NB The part of the image pair that is depicted here is marked with
a dashed rectangle in Fig. .) Blue vectors are derived by applying
an adjusted version of the feature tracking algorithm from
. Black vectors indicate the initial drift estimate
(first guess) based on filtered feature-tracking vectors. The final drift
product (yellow to red vectors) are derived from combining the first guess
with pattern-matching adjustment and applying a minimum cross-correlation
value. A total of 4725 vectors have been found on image pair Fram Strait with
a MCC value above 0.4 in 4 min.
(I) Feature tracking
The feature-tracking algorithm used in this work is an adjusted version from
, who introduced a computationally efficient sea ice
drift algorithm for Sentinel-1 based on the ORB (Oriented FAST and Rotated
BRIEF) algorithm from . ORB uses the concept of the FAST
keypoint detector to find corners on several resolution
levels. The patch around each corner is then described using an modified
version of the binary BRIEF descriptor from . To ensure
rotation invariance, the orientation of the patch is calculated using the
intensity-weighted centroid. applies a brute force
matcher that compares each feature from the first image to all features in
the second image. The comparison of two features is done using the Hamming
distance, which represents the number of positions in which the two compared
binary feature vectors differ from each other. The best match is accepted if
the ratio of the shortest and second shortest Hamming distances is below a
certain threshold. Given a suitable threshold (and unique features), the
ratio test will discard a high number of false matches, while eliminating
only a few correct matches.
found a suitable parameter setting for our area and
time period of interest, including a Hamming distance threshold of 0.75, a
maximum drift filter of 0.5 m s-1, a patch size of 34 × 34 pixels
and a resolution pyramid with seven steps combined with a scaling factor of 1.2.
Due to the resolution pyramid, the considered feature area varies from
2.7 × 2.7 to 9.8 × 9.8 km and the resulting drift field
represents a resolution mixture between these boundaries.
We adjust the algorithm from by applying a logarithmic
scaling for the SAR backscatter values σ0 instead of the previously
used linear scaling (Sect. ). In addition, we
extract for each vector the rotation information α, i.e. how much the
feature rotates from the first to the second image.
Applying the adjusted feature-tracking algorithm provides a number of
unevenly distributed vectors (e.g. blue vectors in Fig. )
with start positions x1f, y1f on the first
image (SAR1), end positions x2f, y2f on the subsequent image
(SAR2) and corresponding rotation values αrawf. The index
f represents a feature-tracking vector and ranges from 1 to F, with F being
the total number of derived feature-tracking vectors. For the sake of
computational efficiency, the vectors from all resolution pyramid levels are
treated equally.
To avoid zero-crossing issues during the following filter and
inter-/extrapolation process (in case the image rotation δ between
SAR1 and SAR2 is close to 0∘), a factor |180 -δ| is
added to the raw rotation values αrawf using the following
equation:
αf=αrawf+|180-δ|ifαrawf+|180-δ|<360αrawf+|180-δ|-360ifαrawf+|180-δ|>360.
This centres the reasonable rotation values in the proximity of 180∘.
After applying the filter and inter-/extrapolation process, the estimated
rotation α is corrected by subtracting |180 -δ|.
(II) Filter
To reduce the impact of potentially erroneous feature-tracking vectors on the
following steps, outliers are filtered according to drift and rotation
estimates derived from least-squares solutions using a third-degree
polynomial function. Considering a matrix A that contains all end
positions x2f, y2f in the following form
A=1x21y21x212y212x21⋅y21x213y2131x22y22x222y222x22⋅y22x223y223⋮⋮⋮⋮⋮⋮⋮⋮1x2Fy2Fx2F2y2F2x2F⋅y2Fx2F3y2F3,
we derive three vectors bx1,
by1 and bα that
represent the least-squares solutions for A and
x1= (x11, …, x1F), y1= (y11, …, y1F)
and α= (α1, …, αF) respectively. The starting position x1f,
y1f and the rotation αf of each vector can then be simulated
using a third-degree polynomial function f(x2f, y2f,
b) depending on the end position x2f, y2f and
the corresponding least-squares solution b= (b0, b1, b2,
b3, b4, b5, b6, b7).
fx2f,y2f,b=b0+b1x2f+b2y2f+b3x2f2+b4y2f2+b5x2fy2f+b6x2f3+b7y2f3
If the simulated start position, derived from f(x2f, y2f,
b), deviates from the feature-tracking start position x1f,
y1f by more than 100 pixels, the vector is deleted. The same
accounts for rotation outliers. If the simulated rotation deviates from the
feature-tracking rotation αf by more than 60∘, the vector is
deleted. We found a third-degree polynomial function to be a good compromise
between allowing for small- to medium-scale displacement and rotation
discontinuities, and excluding very unlikely vectors that eventually would
disturb the following steps. The parameters for the filter process, i.e.
100 pixels (displacement) and 60∘ (rotation), have been chosen
according to visual interpretation using several representative image pairs.
Figure illustrates the filter process by depicting the
results from image pair Fram Strait.
Filter process applied to image pair Fram Strait in HV polarisation.
The x axis represents the simulated start position and rotation, derived
from f(x2f, y2f, b) and the y axis
represents the feature-tracking start position x1f,
y1f and rotation αf. NB The image rotation is
δ= 129.08∘, which means the rotation was adjusted by
50.92∘ (Eq. ). Red points were identified as outliers and
deleted.
Example of estimated drift and rotation (first guess) based on
filtered feature-tracking vectors using image pair Fram Strait in HV
polarisation. The three panels show the components x2, y2 of the
estimated end positions and the estimated rotation α for each pixel
on the coordinate system x1, y1 of the first image
(SAR1).
(III) First guess
The remaining feature-tracking vectors are used to estimate the drift
including rotation on the entire first image, i.e. estimated x2, y2 and
α values are provided for each pixel on SAR1 (Fig. ).
The quality of this “first guess”, however, depends on
the density of the feature-tracking vector field and the local ice conditions.
Between the feature-tracking vectors, estimated values are constructed by
triangulating the input data and performing linear barycentric interpolation
on each triangle. That means the estimated values represent the weighted
mean of the three neighbouring feature-tracking values. The interpolated
value vp at any pixel p inside the triangle is given by
Eq. (), where v1, v2, v3 represent the feature-tracking
values at the corners of the triangle and A1, A2, A3 are the
areas of the triangle constructed by p and the two opposite corners;
e.g. A1 is the area between p, and the corners with values v2 and v3.
vp=A1v1+A2v2+A3v3A1+A2+A3
To provide a first guess for the surrounding area, values are estimated based
on the least-squares solutions using a linear combination of x1
and y1. Considering a matrix C that contains all start
positions x1f, y1f in the following form
C=1x11y111x12y12⋮⋮1x1Fy1F.
We derive three vectors dx2,
dy2 and dα that
represent the least-squares solutions for C and
x2= (x21, …, x2F),
y2= (y21, …, y2F) and
α= (α1, …, αF) respectively. The estimated end
position x2, y2 and rotation α at any location can then be simulated
using the linear function f(x1, y1, c) depending on
the start position x1, y1 and the corresponding least-squares
solution d= (d0, d1, d2).
fx1,y1,d=d0+d1x1+d2y1
As mentioned above, the rotation estimates α are now corrected for the
adjustment applied in Eq. (), by subtracting |180 -δ|.
An example for the resulting first guess, i.e. estimated values for x2,
y2 and α on SAR1, is shown in Fig.
(this figure illustrates the matrices that the algorithm considers as first
guess) and corresponding vectors are shown in black in Fig. .
Note that rotation α has already been
corrected by subtracting |180 -δ|. It now includes both the relative
image rotation δ from SAR1 to SAR2 and the actual rotation
of the feature itself. The introduced algorithm also provides the image
rotation δ by projecting the left corners of SAR2 onto SAR1
and calculating the angle between the left edges of SAR1 and SAR2.
The actual rotation of the features can easily be obtained by subtracting δ from α.
(IV) Pattern matching
The estimated drift field derived from feature tracking provides values for
x2, y2 and α at any location on SAR1. The
representativeness of this estimate however, depends on the distance d to
the closest feature-tracking vector. Therefore, small- to medium-scale
adjustments of the estimates are necessary, depending on the distance d
(NB The representativeness also depends on the variability of the
surrounding vectors, but for the sake of computational efficiency, we only
consider the distance d as representativeness measure). We apply
pattern matching at the chosen points of interest to adjust the drift and
rotation estimate at these specific locations.
The used pattern-matching approach is based on the maximisation of the
normalised cross-correlation coefficient. Considering a small template
t1 around the point of interest from SAR1 with size t1s×t1s
and a larger template t2 around the location x2, y2
(defined by the corresponding first guess) from SAR2 with size
t2s×t2s, the normalised cross-correlation
matrix NCC is defined as :
NCC(x,y)=∑x′,y′t1′(x′,y′)t2′(x+x′,y+y′)∑x′,y′t1′(x′,y′)2∑x′,y′t2′(x+x′,y+y′)2t1′(x′,y′)=t1(x′,y′)-1t1s2∑x′′,y′′t1(x′′,y′′)t2′(x+x′,y+y′)=t2(x+x′,y+y′)-1t1s2∑x′′,y′′t2(x+x′′,y+y′′)
with t1(x′, y′) and t2(x′, y′) representing the value of t1
and t2 at location x′, y′. The summations are calculated over the size of the
smaller template, i.e. x′, y′, x′′ and y′′ go from 1 to t1s.
Template t1 is moved with step size 1 pixel over template t2 both
in the horizontal (x) and vertical (y) direction and the cross-correlation
values for each step are stored in the matrix NCC with size
(1 +t2s-t1s) × (1 +t2s-t1s). The highest value in the
matrix NCC, i.e. the maximum normalised cross-correlation value
MCC, represents the location of the best match and the corresponding
location adjustment is given by dx and dy.
1+t2s-t1s2+dx,1+t2s-t1s2+dy=x,yargmax(NCC(x,y))
To restrict the search area t2s to a circle, we set all values
of NCC that are further than t2s/2 away from the centre position
to zero. This limits the distance from the first guess to a constant value,
rather than to an arbitrary value depending on the looking angle of the
satellite. To account for rotation adjustment, the matrix NCC is
calculated several times: template t1 is rotated around the initially
estimated rotation α from α-β to α+β with step
size Δβ. The angle β is the maximum additional rotation and
therefore represents the rotation restriction. The NCC matrix with
the highest cross-correlation value MCC is returned.
To illustrate the pattern-matching process, an example taken from image pair
Fram Strait is shown in Fig. .
Pattern matching using initial drift estimate from feature tracking:
The small template t1(a) around the point of interest on
SAR1 is rotated from α-β to α+β
and matched with the large template t2(b) from SAR2,
which has its centre at the estimated end position x2, y2. The right
contour plot shows the normalised cross-correlation matrix NCC of
the rotation β* that provided the highest maximum cross-correlation
coefficient MCC. The estimated end position x2, y2 of this example
has to be adjusted by dx=-21 pixels, dy= 32 pixels to fit
with the location of MCC = 0.71. Rotation adjustment β* was
found got be 3∘. NB x and y axes represent pixel
coordinates.
The described process demands the specification of four parameters: t1s,
t2s, β and Δβ.
The size of the small template t1s×t1s defines the considered
area that is tracked from one image to the next and hence affects the
resolution of the resulting drift product. Sea ice drift might be different
on different resolution scales. This is particularly an issue in the case of
rotation. The feature-tracking vectors provide the first guess and this
vector field should represent the same drift resolution as considered by the
pattern-matching step. In order to be consistent with the resolution of the
feature-tracking step and achieve our goal of a sea ice drift product with a
spatial scaling of less than 5 km, we use the size of the feature-tracking
patch of the pyramid level with the highest resolution to define the size
of t1. That means we use t1s= 34 pixels (2.7 km).
The size of the larger template t2s×t2s restricts the search
area on SAR2, i.e. to what extent the first guess can be adjusted
geographically, and the angle β restricts the rotation adjustment of
the first guess α. The three parameters t2s, β and
Δβ have a strong influence on the computational efficiency of the drift
algorithm, meaning that an increase of t2s, β and a decrease of
Δβ increase the computational effort of the pattern-matching
step. Based on the visual interpretation of several representative image pairs,
we found Δβ= 3∘ to be a good compromise between the matching
performance and computational efficiency.
Example to illustrate the distribution of distance d to the
closest feature-tracking vector using image pair Fram Strait in HV
polarisation. Values outside the range
dmin≤d≤dmax are set to
dmin= 10 and dmax= 100. The points with
value dmin represent the start positions x1f,
y1f of the feature-tracking vectors on the coordinate
system x1, y1 of SAR1. The figure depicts the matrix that the
algorithm considers for the distribution of d.
Since the representativeness of the first guess decreases with distance d
to the closest feature-tracking vector (an example to illustrate the
distribution of d is shown Fig. ), the search restrictions
t2s and β should increase with d. Based on the performed search
restriction evaluation (Sect. ), we found the following
functions to represent useful restrictions for our area and time period of interest.
t2s(d)=t1s+2ddmin≤d≤dmaxd∈Nβ(d)=9ifd<dmax12ifd≥dmax
The values for dmin, dmax, β and Δβ can easily be
varied in the algorithm to adjust, for example, for different areas, drift conditions
or a different compromise between matching performance and computational efficiency.
(V) Final drift product
In the last step, the small- to medium-scale displacement adjustments from
pattern matching are added to the estimated first guess derived from
feature tracking. Using buoy comparison, we found that the probability for
large displacement errors decreases with increasing MCC value (Sect. ).
Therefore, vectors that have a MCC value below the
threshold MCCmin are removed. We found MCCmin= 0.4 to be a good
filter value, but this value can easily be adjusted in the algorithm
depending on the sought compromise between number of vectors and error
probability. The algorithm returns the final drift vectors in longitude,
latitude, the corresponding first guess rotation α and the rotation
adjustment β in degrees and the maximum cross-correlation value MCC.
An example for the final product is depicted with yellow-to-red-coloured
vectors in Fig. . The colour scale refers to the
MCC value, indicating the probability of an erroneous vector.
Comparison with buoy data
Sentinel-1 image pairs have been selected automatically according to the position
and timing of the GPS buoy data from the N-ICE2015 expedition. Each pair
yielded more than 300 drift vectors when applying the feature-tracking algorithm
from Section and had a time difference between the
two acquisitions of less than 3 days. Drift vectors have been calculated
with the presented algorithm starting at the buoy GPS position with the least
time difference to the acquisition of the first satellite image. The distance
D between the calculated end position on the second image and the buoy GPS
position with the least time difference to the second satellite acquisition
has been calculated using the following equation:
D=(u-U)2+(v-V)2,
where u and v represent eastward and northward drift components of the
displacement vector derived by the algorithm, and U and V are the
corresponding drift components of the buoy.
Considered buoy locations from the N-ICE2015 expedition that were
used for comparison with algorithm results. Green and blue colours indicate
start locations (on SAR1) to which the algorithm provided vectors with a
MCC value above and below 0.4 using (a) HV and (b) HH
polarisation.
ResultsSearch restriction evaluation
To find suitable values for restricting the size of the search window t2s
and the rotation range defined by β, we calculated drift
vectors, which can be compared to the considered GPS buoy data set, using
restrictions that are computationally more demanding than we anticipate for
the recommended setting, i.e. t2s= 434 pixels and β= 18∘.
These values correspond to a possible pattern-matching adjustment of up to
200 pixels (16 km) and 18∘ in any direction independent of the
distance d to the closest feature-tracking vector.
Based on an automatic search, we found 244 matching Sentinel-1 image pairs
(consisting of 111 images) that allowed for comparison with 711 buoy vectors
(buoy locations are shown in Fig. ). The
distance D (Eq. ) between the buoy location at the time of
the second image SAR2 and the corresponding algorithm result represents
the error estimate for one vector pair. To identify algorithm results that
are more likely erroneous, vector pairs with a value D above 1000 m are
marked with red dots in Figs. and .
Vector pairs with D< 1000 m are plotted with black dots.
Figures and show the
resulting pattern-matching adjustment of location (dx, dy) and rotation (dβ)
using the computationally demanding restrictions. The values are
plotted against distance d to the next feature tracking vector in order to
identify the dependence of the parameters on d. The blue lines in
Figs. and indicate the
recommended restrictions. This represents a compromise between computational
efficiency and allowing the algorithm to adjust the first guess as much as
needed for our time period and area of interest. The corresponding functions
for t2s(d) and β(d) are given in Eqs. () and ()
and the recommended boundary values for distance d are dmin= 10
and dmax= 100.
Pattern-matching location adjustment dx and dy in x and
y direction vs. distance d to closest feature-tracking vector using
(a) HV and (b) HH polarisation. D represents the
difference between buoy GPS position and algorithm result. The blue lines
indicate the recommended setting for t2s (Eq. ) with
dmin= 10 and dmax= 100.
Pattern-matching rotation adjustment dβ vs. distance d to
closest feature-tracking vector using (a) HV and (b) HH
polarisation. D represents the difference between buoy GPS position and
algorithm result. The blue lines indicate the recommended setting for β
(Eq. ) with dmin= 10 and dmax= 100.
Performance assessment
Using the recommended search restrictions from above, the algorithm has been
compared to the N-ICE2015 GPS buoy data set (Fig. ) to assess the potential performance after
finding suitable search restrictions for the area and time period of
interest. The automatic search provided 246 image pairs (consisting of
111 images) and 746 vectors for comparison for the considered time period
(15 January to 22 April) and area (80.5 to
83.5∘ N and 12 to 27∘ E). NB This is a higher
number of vectors than found for the evaluation of the search restrictions,
since the used search windows t2 are smaller and vectors closer to the
SAR edge may be included.
Calculated ice drift using recommended search restrictions compared
to buoy GPS data using (a–c) HV and (d–f) HH
polarisation. Light grey represents vectors with maximum cross-correlation
values MCC < 0.4 and results after using the suggested threshold
MCCmin= 0.4 are shown in black. (a, d) MCC values
against distance D (Eq. ) between algorithm and buoy end
position. The blue line indicates the recommended setting for
MCCmin= 0.4. (b, e) Logarithmic histogram of
distance D with 100 bins between 10 and 105 m including two
logarithmic normal distributions that were fitted to all results (grey) and
to the filtered results with MCC > 0.4 (solid red line).
(c, f) Comparison of drift distance derived from the algorithm against
buoy displacement for the filtered results with
MCC > 0.4.
The results of the conducted performance assessment are shown in
Fig. . We found that the probability for a large D value
(representative for the error) decreases with increasing maximum
cross-correlation value MCC. Therefore we suggest excluding matches with a
MCC value below a certain threshold MCCmin. This option is embedded
into the algorithm, but can easily be adjusted or turned off by setting
MCCmin= 0. Based on the findings shown in Fig. , we
recommend a cross-correlation coefficient threshold MCCmin= 0.4 for our
time period and area of interest. Using the suggested threshold reduces the
number of vector pairs from 746 to 588 for the HV channel and to 478 for the
HH channel.
The conducted performance assessment also reveals a logarithmic normal
distribution of the distance D (Eq. ) that can be expressed
by the following probability density function (solid red line in Fig. ):
lnN(D;μ,σ)=1σD2πe-(lnD-μ)22σ2,
with μ and σ being the mean and standard deviation of the
variable's natural logarithm. We found the mean and variance of the
distribution lnN to be μ= 5.866 and σ2= 1.602 for HV
polarisation and μ= 6.284 and σ2= 2.731 for HH polarisation
(solid red lines in Fig. ). The medians of the
logarithmic normal distribution are eμ= 352.9 m for HV polarisation
and eμ= 535.7 m for HH polarisation (dashed red lines in Fig. ).
Recommended parameter setting
Based on the restriction evaluation, our experience with the algorithm
behaviour, and considering a good compromise between computational efficiency
and high quality of the resulting vector field, we recommend the parameter
setting shown in Table for our area and time period of
interest. The corresponding recommended values for t2s(d) and β(d)
are given in Eqs. () and ().
Recommended parameter setting for sea ice drift retrieval from
Sentinel-1 using the presented algorithm.
ParameterMeaningRecommended setting[σmin0, σmax0] (HH)Brightness boundaries for HH channel[-25, -10.97 dB][σmin0, σmax0] (HV)Brightness boundaries for HV channel[-32.5, -18.86 dB]t1sSize of template t134 pixels (2.7 km)[dmin, dmax]Boundaries for distance d[10, 100 pixels]MCCminThreshold for cross-correlation0.4ΔβRotation angle increment3∘Computational efficiency
The processing time depends on the parameter setting and the chosen vector
distribution. Using the recommended parameter setting from Table
allows for high-resolution sea ice drift retrieval from a
Sentinel-1 image pair within a few minutes. Figure
depicts calculated ice drift vectors for the image pair Fram Strait on a grid
with 4 km (50 pixels) spacing. The corresponding processing times are shown
in Table . The calculations have been done using a MacBook Pro
from early 2013 with a 2.7 GHz Intel Core i7 processor and 8 GB 1600 MHz
DDR3 memory. The total processing time for 4725 vectors with a normalised
cross-correlation value above 0.4, is about 4 min. This can be
considered a representative value for an image pair with large overlap, good
coverage with feature-tracking vectors and 4 km grid spacing.
The initial process in Table “Create Nansat objects from
Sentinel-1 image pair and read matrixes” takes the same amount of
computational effort for all image pairs consisting of Sentinel-1 images with
400 × 400 km coverage.
The process (I) feature tracking depends on the setting of the
feature-tracking algorithm and varies strongly with the chosen number of
features. Using the recommended setting from , which
includes the number of features to be 100 000, the presented computational
effort can be considered representative for all image pairs, independent of
chosen points of interest and overlap of the SAR scenes.
Processing time for sea ice drift retrieval from
image pair Fram Strait on a grid with 4 km (50 pixels) spacing using HV
polarisation (Fig. ). Representative for an image
with large overlap and good coverage with feature-tracking vectors.
ProcessTime [s]Create Nansat objects from Sentinel-1 image pair and read matrixes70(I) Feature tracking66(II)–(V) Pattern matching and combination107∑ Sea ice drift retrieval243
The process (IV) pattern matching, however, depends
on the considered image pair and the chosen drift resolution. The
computational effort is proportional to the number of chosen points of
interest. Given a evenly distributed grid of points of interest, the
computational effort increases with overlapping area of the SAR scenes, since
pattern-matching adjustments are only calculated in the overlapping area. The
effort potentially decreases with a higher number of well-distributed
feature-tracking vectors, since the size of the search windows t2 (and
slightly the range of the angle β) increases with distance d to the
closest feature-tracking vector.
Discussion and outlook
To estimate the potential performance of the introduced algorithm for given
image pairs, given ice conditions, given region and given time, we compared
drift results from 246 Sentinel-1 image pairs with corresponding GPS
positions from the N-ICE2015 buoy data set. We found a logarithmic error
distribution with a median at 352.9 m for HV and 535.7 m for HH
(Fig. ). The derived error values represent a combination of the
following error sources:
Timing: buoy GPS data were collected every 1–3 h and the timing does not
necessarily match the satellite acquisition time.
Resolution: the algorithm returns the drift of a pattern (recommended
size = 34 pixels; see Table ), whereas the buoy measures the drift
at a single location.
Conditions: the ice conditions around the buoy are not known well enough to
exclude the possibility that the buoy is floating in a lead. In this case,
the buoy trajectory could represent a drift along the lead rather then the
drift of the surrounding sea ice.
Actual error of the algorithm.
A main advantage of the combined algorithm compared to simple
feature tracking is the user-defined positioning of the drift vectors. The
current algorithm set-up allows the user to choose whether the drift vectors
should be positioned at certain points of interest or on a regular grid with
adjustable spacing. Constricting the pattern-matching process to the area of
interest minimises the computational effort according to the individual needs.
The recommended parameters shown in Table are not meant as
a fixed setting, but should rather act as guidelines to
estimate the expected results and the corresponding computational effort. The
parameters can easily be varied in the algorithm set-up and should be chosen
according to availability of computational power, required resolution, area of
interest and expected ice conditions (e.g. strong rotation).
The presented combination of feature tracking and pattern matching can be
applied to any other application that aims to derive displacement vectors
from two consecutive images in a computationally efficient way. The only restriction
is that images need to depict edges that can be recognised as keypoints for
the feature-tracking algorithm, and the conversion into intensity values i
(Eq. ) needs to be adjusted according to the image type.
The remote sensing group at NERSC is currently developing a new
preprocessing step to remove thermal noise on HV images over the ocean and sea
ice. First tests have shown a significant improvement of the sea ice drift
results using this preprocessing step before applying the presented
algorithm. This is ongoing work and will be included in a future version of
the algorithm.
The European Space Agency is also in the process of improving their thermal
noise removal for Sentinel-1 imagery. Noise removal in range direction is
driven by a function that takes measured noise power into account. Until now,
noise measurements are taken at the start of each data acquisition, i.e. every
10–20 min, and a linear interpolation is performed to provide noise
values every 3 s. The distribution of noise measurements showed a
bimodal shape and it was recently discovered that lower values are related to
noise over ocean while higher values are related to noise over land. This
means that Sentinel-1 is able to sense the difference of the earth surface
brightness temperature similarly to a passive radiometer. When the data
acquisition includes a transition from ocean to land or vice versa, the
linear interpolation fails to track the noise variation. The successors of
Sentinel-1A/B are planned to include more frequent noise measurements. Until
then, ESA wants to use the 8–10 echoes after the burst that is recorded
while the transmitted pulse is still travelling and the instrument is
measuring the noise. This will provide noise measurements every 0.9 s
and allows the noise variations to be tracked in more detail. In addition, ESA is
planning to introduce a change in the data format during 2017 that shall
remove the noise shaping in azimuth. These efforts are expected to improve
the performance of the presented algorithm significantly (N. Miranda, personal
communication, January 2017).
Having a computationally efficient algorithm with adjustable vector
positioning allows not only the provision of near-real-time operational drift data,
but also the investigation of sea ice drift over large areas and long time
periods. Our next step is to embed the algorithm into a super-computing
facility to further test the performance in different regions, time periods
and ice conditions and evaluate and combine the results of different
polarisation modes. The goal is to deliver large ice drift data sets and
open-source operational sea ice drift products with a spatial resolution of
less than 5 km.
This work is linked to the question of how to combine the different timings of
the individual image pairs in a most useful way. Having more frequent
satellite acquisitions, as we get with the Sentinel-1 satellite
constellation, enables to derive displacements for shorter time gaps and the
calculated vectors will reveal more details, e.g. rotational motion due to
tides. As part of a scientific cruise with KV-Svalbard in July 2016, we
deployed three GPS trackers on loose ice floes and pack-ice in Fram Strait.
The trackers send their position every 5–30 min to deliver drift information
with high temporal resolution. These efforts shall help us to gain a better
understanding of short-term drift variability and by comparison with
calculated sea ice drift, we will investigate how displacement vectors from
subsequent satellite images relate to sea ice displacements with higher
temporal resolution.
The focus of this paper in terms of polarisation was put on the HV channel,
since this polarisation provides on average four times more feature-tracking
vectors (using our feature-tracking approach) than HH and therefore delivers
a finer initial drift for the first guess. We found our area of interest
covered with HV images, but other areas in the Arctic and Antarctic are
currently only monitored in HH polarisation. Considering the four
representative feature-tracking image pairs from , the
relatively better HH polarisation performance (i.e. most vectors from HH, while
at the same time fewest vectors from HV) was provided by the image pair that
had the least time difference, i.e. 8 h compared to 31, 33 and 48 h.
Therefore, we assume that the HV polarisation provides more corner features
that are better preserved over time. And more consistent features could
potentially also favour the performance of the pattern-matching step, but
this is only an assumption and has not been tested yet. Another argument is
that the presented feature-tracking approach identifies and matches corners,
which represent linear features. The linear features on HH images are more
sensitive to changes in incidence angle, orbit and ice conditions than the
linear features on HV images. This could explain the better feature-tracking
performance of the HV channel. However, pattern matching is less affected by
changing linear features and more sensitive to areal pattern changes. This
could potentially mean that the HH channel performs better than HV when it
comes to pattern matching. However, at this point, these are just assumptions
and will be addressed in more detail in our future work.
Utilising the advantage of dual polarisation (HH + HV) is certainly possible
with the presented algorithm, but increases the computational effort. A
simple approach is to combine the feature tracking vectors derived from HH
and HV and produce a combined first guess. Pattern matching can be performed
based on this combined first guess for both HH and HV individually and the
results can be compared and eventually merged into a single drift product.
Having two drift estimates for the same position, from HH and HV
pattern matching respectively, would also allow us to disregard vectors that
disagree significantly. However, this option would increase the computational
effort by two, meaning that the presented Fram Strait example would need
about 8 min processing time.
After implementing the presented algorithm into a super-computing facility,
we aim to test and compare the respective performances of HV, HH and HH + HV on
large data sets to identify the respective advantages.
The current setting of the feature-tracking algorithm applies a maximum drift
filter of 0.5 m s-1. We found this to be a reasonable value for our time
period and area of interest. However, when considering extreme drift
situations in Fram Strait and a short time interval between image
acquisitions, this threshold should be adjusted.
As mentioned above, we deployed three GPS tracker in Fram Strait and they
recorded their positions with a temporal resolution of 5–30 min between
8 July and 9 September 2016 in an area covering 75 to
80∘ N and 4 to 14∘ W. Considering the
displacements with 30 min interval, we found velocities above 0.5 m s-1 on a
few occasions, when the tidal motion adds to an exceptionally fast ice drift.
The GPS data from the hovercraft expedition FRAM2014-2015
(https://sabvabaa.nersc.no), which was collected with a temporal resolution of
10 s between 31 August 2014 and 6 July 2015, did not reveal
a single 30 min interval during which the hovercraft was moved by ice drift
more than 0.45 m s-1. The hovercraft expedition started at 280 km south from
the North Pole towards the Siberian coast, crossed the Arctic Ocean towards
Greenland and was picked up in the north-western part of Fram Strait.
In case the estimated drift from feature tracking reaches velocities close to
0.5 m s-1, the pattern-matching step might add an additional degree of freedom
of up to 8 km, which could eventually lead to a higher drift result than
0.5 m s-1, depending on the time interval between the acquisitions. The
smaller the time difference, the larger the potentially added velocity. In
order to be consistent when combining the drift information from several
image pairs with different timings, one should apply a maximum drift filter
on the final drift product of the presented algorithm that has the same
maximum velocity as the feature-tracking filter. The corresponding function
is implemented in the distributed open-source algorithm. As an alternative,
one could adjust the search window according to the time span. However, this
would add additional complexity to both the algorithm and the parameter
evaluation and needs more research on how the search window should be
adjusted depending on the time span. For the sake of computational
efficiency, we suggest the simple approach of removing final drift vectors
above the maximum speed.
The presented sea ice drift retrieval method is based on open-source
satellite data and software to ensure free application and easy distribution.
Sentinel-1 SAR images are distributed by ESA for free within a few hours of
acquisition under https://scihub.esa.int/dhus/. The algorithm is
programmed in Python (source code: https://www.python.org) and makes
use of the open-source libraries Nansat, openCV and SciPy. Nansat is a Python
toolbox for processing 2-D satellite Earth observation data (source code:
https://github.com/nansencenter/nansat). OpenCV (Open Source Computer
Vision) is a computer vision and machine learning software library and can be
downloaded under http://opencv.org. SciPy (source code:
https://www.scipy.org) is a Python-based ecosystem of software for
mathematics, science and engineering. The presented sea ice drift algorithm,
which includes an application example, is distributed as open-source software as
supplement to this paper.
The Supplement related to this article is available online at https://doi.org/10.5194/tc-11-1835-2017-supplement.
The authors declare that they have no conflict of interest.
S Muckenhuber designed the algorithm and the experiments, performed the
data analysis and interpretation of the results and wrote the paper.
S Sandven critically revised the work and gave important feedback for
improvement. Stefan Muckenhuber and Stein Sandven approved the final version
for publication.
Acknowledgements
This research was supported by the Norwegian Research Council project
IceMotion (High resolution sea-ice motion from Synthetic Aperture Radar using
pattern tracking and Doppler shift, project number 239998/F50). We thank
Polona Itkin and Gunnar Spreen for providing us with the buoy GPS data that were
collected as part of the N-ICE2015 project with support from the Norwegian
Polar Institute's Centre for Ice, Climate and Ecosystems (ICE) and its
partner institutes. The used satellite data were provided by the European
Space Agency. We thank Nuno Miranda for information on ESA's denoising
efforts for Sentinel-1. A special thanks to the anonymous reviewers for their
comments and valuable input that improved the paper.
Edited by: Lars Kaleschke
Reviewed by: three anonymous referees
References
Berg, A. and Eriksson, L. E. B.: Investigation of a Hybrid Algorithm for Sea Ice
Drift Measurements Using Synthetic Aperture Radar Images, IEEE T. Geosci. Remote,
52, 5023–5033, 2014.
Calonder, M., Lepetit, V., Strecha, C., and Fua, P.: BRIEF: Binary Robust
Independent Elementary Features, CVLab, EPFL, Lausanne, Switzerland, 2010.
ESA: Sentinel-1 ESA's Radar Observatory Mission for GMES Operational Services, ESA
Communications, SP-1322/1, ESA, the Netherlands, 2012.
Hollands, T.: Motion tracking of sea ice with SAR satellite data, dissertaiton,
Section 2: Estimation of motion from images, University Bremen, Bremen, 2012.
Hollands, T. and Dierking, W.: Performance of a multiscale correlation algorithm
for the estimation of sea-ice drift from SAR images: initial results, Ann.
Glaciol., 52, 311–317, 2011.
IPCC – Intergovernmental Panel on Climate Change: Climate Change 2013: The
Physical Science Basis, Fifth Assessment Report AR5, Cambridge University Press,
Cambridge, UK and New York, NY, USA, 317–382, 323–335, 2013.Komarov, A. S. and Barber, D. G.: Sea Ice Motion Tracking From Sequential
Dual-Polarization RADARSAT-2 Images, IEEE T. Geosci. Remote, 52, 121–136,
10.1109/TGRS.2012.2236845, 2014.Korosov, A. A., Hansen, W. M., Dagestad, F. K., Yamakawa, A., Vines, A., and
Riechert, A.: Nansat: a Scientist-Orientated Python Package for Geospatial Data
Processing, J. Open Res. Softw., 4, e39, 10.5334/jors.120, 2016.
Kwok, R., Curlander, J. C., McConnell, R., and Pang, S.: An Ice Motion Tracking
System at the Alaska SAR Facility, IEEE J. Ocean. Eng., 15, 44–54, 1990.Muckenhuber, S., Korosov, A. A., and Sandven, S.: Open-source feature-tracking
algorithm for sea ice drift retrieval from Sentinel-1 SAR imagery, The Cryosphere,
10, 913–925, 10.5194/tc-10-913-2016, 2016.
Nansen, F.: The Oceanography of the North Polar Basin. Scientific Results,
Vol. 3, 9, Longman Green and Co., Kristinania, Norway, 1902.Pedersen, L. T., Saldo, R., and Fenger-Nielsen, R.: Sentinel-1 results: Sea ice
operational monitoring, IEEE International Geoscience and Remote Sensing
Symposium (IGARSS), 26–31 July 2015, Milan, Italy, 2828–2831, 10.1109/IGARSS.2015.7326403, 2015Rampal, P., Weiss, J., Marsan, D., and Bourgoin, M.: Arctic sea ice velocity
field: General circulation and turbulent-like fluctuations, J. Geophys.
Res.-Oceans, 114, C10014, 10.1029/2008JC005227, 2009a.Rampal, P., Weiss, J., and Marsan, D.: Positive trend in the mean speed and
deformation rate of Arctic sea ice 1979–2007, J. Geophys. Res.-Oceans, 114,
C5013, 10.1029/2008JC005066, 2009b.Rosten, E. and Drummond, T.: Machine learning for high-speed corner detection,
in: European Conference on Computer Vision, 7–13 May 2006, Graz, Austria,
430–443, 10.1007/11744023_34, 2006.Rublee, E., Rabaud, V., Konolige, K., and Bradski, G.: ORB: an efficient
alternative to SIFT or SURF, IEEE I. Conf. Comp. Vis. (ICCV), 6–13 November 2011,
Barcelona, Spain, 2564–2571, 10.1109/ICCV.2011.6126544, 2011.Spreen, G. and Itkin, P.: N-ICE2015 buoy data, Norwegian Polar Institute,
https://data.npolar.no/dataset/6ed9a8ca-95b0-43be-bedf-8176bf56da80
(last access: 30 August 2016), 2015.
Thomas, M., Geiger, C. A., and Kambhamettu, C.: High resolution (400 m) motion
characterization of sea ice using ERS-1 SAR imagery, Cold Reg. Sci. Technol.,
52, 207–223, 2008.Thorndike, A. S. and Colony, R.: Sea ice motion in response to geostrophic
winds, J. Geophys. Res.-Oceans, 87, Nr. C8, 5845–5852, 10.1029/JC087iC08p05845, 1982.Widell, K., Østerhus, S., and Gammelsrød, T.: Sea ice velocity in the
Fram Strait monitored by moored instruments, Geophys. Res. Lett., 30, 1982,
10.1029/2003GL018119, 2003.