Next Article in Journal
Spatiotemporal Dual-Channel Interpretable Hybrid Neural Network for HD-sEMG-Based Gesture Recognition
Previous Article in Journal
Short-Window Micro-Behavioral Triage for High-Throughput Firewall Telemetry: Limits, Features, and Operational Feasibility
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Optical Coastal GNSS-Denied Navigation for Reduction in AUV Underwater Navigation Error

Department of Computer Science, Polish Naval Academy, 00-635 Warsaw, Poland
*
Author to whom correspondence should be addressed.
Sensors 2026, 26(14), 4601; https://doi.org/10.3390/s26144601
Submission received: 5 June 2026 / Revised: 12 July 2026 / Accepted: 13 July 2026 / Published: 20 July 2026
(This article belongs to the Section Environmental Sensing)

Abstract

The paper addresses the problem of maritime navigation in coastal areas without access to satellite positioning data. The proposed approach relies on visual information from a monocular camera supported by map-derived coastal information. Although the operational concept assumes the use of publicly available cartographic data, the method’s preparation and evaluation require additional processing steps, including high-resolution aerial imagery, GIS-based extraction of coastal features, semantic segmentation, and trained convolutional neural network models. The problem discussed in the paper concerns, for example, Autonomous Underwater Vehicles that seek to reduce underwater dead-reckoning navigation error by surfacing and using information about what is visible around them, in a way similar to how a human would. To solve the above problem, a system was proposed that compares the camera’s representation of the observed coastline with the map representation of the area where the vehicle is most likely located. The system was validated using real-world data. The tests revealed that the information contained in a flat map is insufficient for accurate position estimation. Accuracy is also significantly affected by errors in the semantic segmentation used to extract land features from camera images, as well as by potential errors in the camera viewing angle. The achieved accuracies are sufficient for navigation away from land, but when operating close to land, the proposed system appears significantly insufficient. The paper specifies the system and reports the results.

1. Introduction

Autonomous Underwater Vehicles (AUVs) are a tool increasingly used for various purposes [1], e.g., to support deep-sea divers [2], monitor critical underwater infrastructure, research the marine environment, and detect and neutralise sea mines. However, operating such vehicles in an underwater environment [3] is not as easy as with flying, surface, or land drones. The first problem AUVs face compared to their surface counterparts is significant communication difficulties [4]. Radio communication is impossible underwater, and the only available option is acoustic communication [5]. However, in this case, the problem lies in the acoustic channel’s very low bandwidth.
Another challenge for AUVs in the underwater environment is navigation [6]. Drones operating over the surface of the water have easy access to information from satellite systems [7] such as the US GPS and the European GALILEO, enabling highly accurate and frequent positioning. Even if this access is difficult or impossible, continuous observation of the surrounding world [8], which is rich in characteristic objects that serve as reference points for navigation systems, is still possible. In the case of the underwater environment, where visibility is very low [9], sometimes limited to a few meters, as in the North Sea or the Baltic Sea, for example, there is no such comfort as in the case of operating in a clear surface environment [10].
Underwater navigation currently relies on three main approaches. The first approach, represented by systems such as LBL and USBL, uses external infrastructure for navigation [11]. For example, suppose that we have a system of three or four underwater “satellites” with known, unchanging positions that transmit an acoustic signal allowing us to determine the distance to the signal source. In that case, similarly to satellite systems, we can easily determine the receiver’s position. Unfortunately, such solutions can only be applied when operating in a location where our underwater “satellite” system can be placed, for example, around a critical infrastructure facility. Away from such a system, we must use another approach.
One option is to use underwater observation systems, such as sonar [12] (i.e., underwater acoustic radars). If the AUV operates near a seabed rich in recognisable landmarks, we can use them as navigational cues. For example, we can navigate along an underwater pipeline or use the SLAM method [13], which, thanks to continuous environmental observation, can enable safe navigation. But what if the seabed is flat and devoid of anything distinguishable from the background? Then we have to resort to dead reckoning.
Dead reckoning [14] is an onboard system independent of external sources of information. It is based on the measurement of speed, direction, and depth (In reality, the measurement most often does not involve speed, direction, or depth. Other parameters are measured, e.g., pressure, acceleration, and angular velocity) using onboard sensors. The problem in this case, however, is that the position error increases with the duration of the underwater mission, due to sensor imperfections. To reduce dead-reckoning navigation error, AUVs surface to utilise satellite systems. Unfortunately, in a GNSS-denied environment, satellite system support is unavailable. The only accessible information is what is visible on the surface. Far from land, this is the sun and stars. Closer to land, we can use landmarks such as urban areas, forests, beaches, isolated buildings, and harbour infrastructure.
In the simplest case, if we have image data from the area where the AUV will be operating, for example, photos of characteristic objects in the area (usually buildings) along with their precise locations, the vehicle can search for these objects and use them as reference points [15]. If at least two such objects can be found, then two bearings to these objects, determined using the onboard compass and the object-oriented camera, will be sufficient to determine the AUV’s position.
If only one such object can be detected, then, in addition to the bearing, the distance to the object is also required. For this purpose, we can use the solution proposed in [16]. It involves estimating distance by comparing the size of a standard object with the number of pixels it occupies in the image.
However, if we do not have imagery from the area where the AUV will operate, we can use the algorithm proposed in [17]. It is based on extracting the land outline from images captured by a camera around the AUV’s current position and comparing the size of the visible land, expressed in pixels, which, under the algorithm’s assumptions, corresponds to the distance to the land, with data from a digital terrain model.
It seems that one of the most challenging localisation scenarios for an AUV operating in a GNSS-denied coastal environment occurs when neither prior image data nor a terrain elevation model is available. Under such conditions, the vehicle observes the coastline from a considerable distance, making it impossible to extract distinctive landmarks or individual objects from camera images. Instead, only coarse characteristics of the visible shoreline can be observed, such as the general coastline outline and the presence of broad terrain classes, including urban areas, forests, or farmland.
This paper investigates the feasibility of using such limited visual information to estimate position in coastal environments. Rather than proposing a complete navigation solution, the study aims to evaluate which types of information contained in omnidirectional coastline observations can support localisation and which are insufficient for reliable position estimation. To this end, an Optical Coastal Navigation System (OCNS) was developed as an experimental framework for comparing omnidirectional image representations of the observed coastline with flat-map representations generated from publicly available geographic data sources, such as Google Maps.
The contribution of the paper is as follows:
  • An experimental Optical Coastal Navigation System (OCNS) for coastline-based localisation in GNSS-denied coastal regions has been developed and specified.
  • Three localisation strategies based on different combinations of angular and distance-related coastline information have been formulated and evaluated.
  • The limitations and practical applicability of flat-map-based coastline matching have been systematically investigated using real-world data.
  • The OCNS was validated using data collected in the Gulf of Gdańsk region.
The rest of the paper is as follows: Section 2 specifies the OCNS, Section 3 reports the experiments, and the final Section 4 summarises the paper.

2. Optical Coastal Navigation System

The OCNS consists of three modules. The first module, the Camera Representation Module (CRM), prepares a representation of the AUV’s surroundings, SR, as seen by the camera. The second module, the Map Representation Module (MRM), generates the set S M R of map representations M R . The OCNS assumes that the AUV knows its approximate position and the maximum position error E m a x P A U V . The MRM generates map representations M R around the AUV’s position, estimated via dead-reckoning underwater navigation, and produces S R . All M R s are generated at positions whose distance from the estimated position does not exceed E m a x P A U V . The final module, the Estimation Module (EM), estimates the AUV’s position by comparing the S R with all M R s generated around it. The M R , which is the most similar to S R , indicates the position of the AUV. All OCNS modules are detailed in the following sections.

2.1. Camera Representation Module

The purpose of this subsystem is to generate a structured representation of the environment surrounding the vehicle, denoted as S R , at the AUV’s position. The camera orientation enables the assignment of an absolute azimuth angle to individual pixel columns. This mapping allows the projection of image-based observations into a global angular reference frame. The processed image data are used to construct a compact representation of the surrounding scene, defined as follows:
S R = { O S R , H }
where O S R denotes a set of detected areal objects grouped by semantic classes, and H represents the angular profile of the observed scene height.
The object component O S R is defined as follows:
O S R = { O i S R } , i { building , forest , other }
where each subset O i S R contains areal objects belonging to a specific semantic category obtained from the segmentation process.
Each object is represented as a continuous angular segment
o i j S R = ( s i , j , e i , j ) S R , s i , j , e i , j 0 ,   360 ) , e i , j > s i , j
where s i , j and e i , j denote the starting and ending azimuth angles of the j-th object of class i. This formulation assumes that each object occupies a contiguous region in the angular domain.
The set of objects of a given class is defined as follows:
O i S R = o i j S R : o i j S R o i k S R = , k j , k , j = 1 , , N i S R
which ensures that angular segments assigned to objects of the same class do not overlap. In addition to the object-based representation, a discrete height profile of the surroundings is constructed as follows:
H = < h 1 , h 2 , , h 360 >
where h θ denotes the estimated height of the observed scene (terrain or above-ground objects) in the direction corresponding to azimuth angle θ { 1 , , 360 } .
The height values h θ are derived from the segmentation results obtained from all processed images. For each angular direction, the corresponding pixel column is selected based on the closest azimuth match.
The resulting representation S R combines two descriptions of the environment:
  • O S R represents detected objects as angular intervals grouped by semantic class;
  • H provides a dense angular profile of scene height.

2.2. Map Representation Module

The purpose of the Map Representation Module (MRM) is to generate a structured description of the environment surrounding a given observation point, based on geospatial data sources such as a digital surface model. The representation is defined in a global angular reference frame and captures both the semantic structure of the scene and the spatial distribution of distances.
The MRM generates a set of map representations:
S M R = { M R k }
where each element M R k corresponds to a representation constructed for a specific observation point k with given spatial coordinates. The structure of a single map representation M R is defined as follows:
M R = { O M R , D }
where O M R denotes the object-based description of the surroundings, and D represents the angular distance profile.
The object component is expressed as follows:
O M R = { O i M R } , i { building , forest , other }
where each subset O i M R contains objects belonging to a specific semantic class. The classification is derived from map data, where terrain and above-ground structures are identified and assigned to predefined categories.
Each object is represented as an angular interval:
o i j M R = ( s i , j , e i , j ) M R , s i , j , e i , j 0 , 360 ) , e i , j > s i , j
where s i , j and e i , j denote the starting and ending azimuth angles of the object, respectively. The angles satisfy constraints ensuring that each object occupies a continuous region in the angular domain. If an object spans across the 0 / 360 boundary, it is represented as two separate angular intervals.
The sets of objects of a given class are defined as follows:
O i M R = o i j M R : o i j M R o i k M R = , k j , k , j = 1 , , N i M R
which guarantees that angular intervals corresponding to objects of the same class do not overlap. As a result, each direction is associated with at most one object of a given semantic category.
In addition to the object-based description, a distance profile is defined as follows:
D = d 1 , d 2 , , d 360
where d θ denotes the distance to the nearest visible object in the direction corresponding to azimuth angle θ . The profile is defined with a resolution of one degree, providing a dense representation of spatial relationships in the environment. If no object is detected along a given direction within the map extent, the corresponding value is set to d θ = 0 .
The resulting representation M R combines two descriptors:
  • O M R , representing objects as non-overlapping angular intervals grouped by semantic class;
  • D, providing a dense angular profile of distances.

2.3. Estimation Module

The EM estimates the AUV position by comparing S R with M R s distributed on the map around the rough vehicle position, seeking the best match between the representations. It has three variants: EM1, EM2, and EM3. The difference between the variants lies in the comparison they make. EM1 compares O S R with O M R , EM2 compares H with D, and EM3 is a combination of EM1 and EM2.

2.3.1. EM1

To calculate the matching M E M 1 between O S R and O M R , EM1 determines the common part of both representations O C = { O i C } and the differences between them O D 1 = { O i D 1 } , O D 2 = { O i D 2 } , where i { building , forest , other } . The subsets of O i C , O i D 1 , O i D 2 are defined as follows:
O i C = 1 j N i S R 1 k N i M R o i j S R o i k M R o i j S R o i k M R .
O i D 1 = O i S R O i C
O i D 2 = O i M R O i C
The final matching is defined as follows:
M E M 1 ( O S R , O M R ) = i L ( O i C ) 1 + i L ( O i D 1 ) + L ( O i D 2 )
where L ( O ) is the total length of all objects in O: L ( O ) = j ( e j s j ) .
To account for possible observation angle errors during image data acquisition, as well as the range of view from a given observation point, the matching M E M 1 ( O S R , O M R ) is calculated multiple times for different O S R s and O M R s. The final result is the best match between all tested O S R s and O M R s.
In the case of O S R , various variants of this representation are tested, each rotated relative to the original by an angle in the range < E m a x A , E m a x A > , where E m a x A is the maximum assumed observation angle error. The O M R modification filters out data whose distance from the map observation point at which M R is generated exceeds the assumed threshold R O . The EM1 operation is specified by Algorithm 1.
Algorithm 1 EM1.
Require: 
O S R , O M R , E m a x A , Δ E A , R m a x O , R m i n O , Δ R O , D
Ensure: 
M E M 1 ( O S R , O M R )
  1:
R O R m i n O
  2:
M b e s t 0
  3:
while  R O R m a x O  do
  4:
       O R M R f i l t e r ( O M R , R O , D ) ▹ Remove ( s M R , e M R ) whose average distance to the coast exceeds R O
  5:
       s h i f t E m a x A
  6:
      while  s h i f t E m a x A  do
  7:
             O s h i f t S R r o t a t e ( O S R , s h i f t )
  8:
            Generate M E M 1 ( O s h i f t S R , O R M R ) according to Equation (15)
  9:
            if  M b e s t < M E M 1 ( O s h i f t S R , O R M R )  then
10:
                   M b e s t M E M 1 ( O s h i f t S R , O R M R )
11:
            end if
12:
             s h i f t s h i f t + Δ E A
13:
      end while
14:
       R O R O + Δ R O
15:
end while
16:
return  M b e s t

2.3.2. EM2

EM2 uses the vector H, containing the pixel heights of the coastline extracted from the semantically segmented image, to derive an approximate distance estimate D ^ ( H ) to the visible land. This estimate is not based on a direct geometric relationship between pixel height and range, since the true terrain elevation is generally unknown and the observed coastline profile depends on multiple factors, including the shape and local topography. Instead, the entire vector H is treated as an image-derived feature describing the appearance of the visible coastline from the current observation point. Although the resulting distance estimate may be inaccurate, it still provides useful information about the coastline’s relative proximity. It can therefore support navigation in GNSS-denied environments, where dead-reckoning errors may accumulate over time.
The estimate D ^ ( H ) is subsequently compared with vectors D, each of which defines the distance to the coastline from a given map point. To estimate D, three regression methods are used, i.e., (i) Linear Ordinary Least Squares (LOLS), (ii) Linear Total Least Squares (LTLS) [18], and (iii) Kernel Regression (KR). The first two methods are well-known, while the KR is defined in Algorithm 2.
To build each of the regressors, training pairs { ( h i L , d i L ) } are used, defining the pixel height of the land h i L and the corresponding distance to the land d i L for viewing angle i degrees. These pairs are generated from sample images of the coast recorded at points with known coordinates, which allows the distance d L to be determined.
Obtaining an effective regressor, however, requires filtering the entire available training dataset and removing pairs that could degrade the accuracy of the estimate. The pairs that should be removed primarily correspond to semantic segmentation errors, which can generate land where it is very distant and consequently invisible, or can “lose” land where it should be visible. Another example of faulty pairs involves cases where land is erroneously elevated or lowered.
Algorithm 2 KR.
Require: 
{ ( h i L , d i L ) } i = 1 N L – learning set, σ , h
Ensure: 
D ^ ( h )
  1:
S ( h ) 0
  2:
for  i = 1 to N L  do
  3:
       w i ( h ) K ( h h i L ) = exp ( h h i L ) 2 2 σ 2
  4:
       S ( h ) S ( h ) + w i ( h )
  5:
end for
  6:
if  S ( h ) > 0  then
  7:
       D ^ ( h ) = i = 1 N L w i ( h ) d i L i = 1 N L w i ( h )
  8:
else
  9:
       i = arg min i | h h i L |
10:
       D ^ ( h ) = d i L
11:
end if
12:
return  D ^ ( h )
To filter the training data, EM2 employs the DBSCAN clustering algorithm [19]. It clusters the data and identifies outliers, which are then removed from the training dataset.
After filtering the training data and building a regressor, EM2 compares the vector H included in S R with the vectors D, each representing a specific position on the map and corresponding M R representation. Matching H to a single D is performed according to Algorithm 3. It compares H and D at each position i (viewing angle) in both vectors and returns the sum of all comparisons. There are three cases to consider when comparing vectors. The first case is when h i > 0 and d i > 0 , i.e., when land is visible in the image, and the distance to the coastline is sufficiently small for the land to be visible from the observation point. In this case, the result is the absolute difference between the exact distance d i and the estimated distance D ^ ( h i ) . The second case occurs when d i = 0 and h i > 0 , i.e., when it is impossible to see the land because of the distance to it ( d i = 0 —see description of MRM, Section 2.2); however, it is visible in the image ( h i > 0 ). The algorithm strongly punishes this case. The last case considered occurs when d i and h i agree on land invisibility, which improves the comparison result. The case in which the map indicates that the land may be visible ( d i > 0 ), whereas the S R does not confirm this ( h i = 0 ), is not considered by the algorithm. The reason is that d i > 0 only indicates the potential for land visibility; it does not guarantee that it is visible. In consequence, h i and d i disagree; however, in reality, they can agree.

2.3.3. EM3

The EM3 is executed in two phases. First, EM2 is run, producing matchings between H and the set of Ds generated at different map points scattered around the approximated AUV position. Then, the best K matchings are compared, and if they are very similar, making the correct decision very difficult, so EM1 is run for the K best M R s. The final result is the EM1 best matching.
Algorithm 3 EM2.
Require: 
H, D, regressor, E m a x E M 2
Ensure: 
M E M 2 ( H , D )
  1:
E 1 0
  2:
E 2 0
  3:
for  i = 1 to 360 do
  4:
      if  h i > 0 and d i > 0  then
  5:
            E 1 E 1 + | D ^ ( h i ) d i |
  6:
      else if  d i = 0 and h i > 0  then           ▷ error in the image
  7:
            E 1 E 1 + E m a x E M 2
  8:
      else if  d i = 0 and h i = 0  then
  9:
            E 2 E 2 + 1
10:
      end if
11:
end for
12:
return  E 2 / ( 1 + E 1 )
In Algorithm 4, I n E M 2 denotes all additional input parameters required by EM2, such as the regressor and the maximum error value, whereas I n E M 1 denotes all additional input parameters required by EM1, such as angular-error limits, rotation step, and filtering parameters. The sets D and O M R contain map representations generated for N candidate map points. Thus, each candidate point is represented by a pair ( D j , O j M R ) . EM2 is first used to rank all candidate points based on distance-related coastline information. If the best EM2 score is sufficiently better than the K-th score, the best EM2 candidate is accepted as the final result. Otherwise, the K best candidates are considered ambiguous and are re-evaluated using EM1, which exploits angular information about areal objects.
Algorithm 4 EM3.
Require: 
H, D = { D j } j = 1 N , O S R , O M R = { O j M R } j = 1 N , K, T E M 3 , I n E M 2 , I n E M 1
Ensure: 
j b e s t
  1:
M E M 2
  2:
for  j = 1 to N do
  3:
       m j E M 2 E M 2 ( H , D j , I n E M 2 )
  4:
      Add ( j , m j E M 2 ) to M E M 2
  5:
end for
  6:
Sort M E M 2 in descending order according to m E M 2
  7:
K indices of the K best elements of M E M 2
  8:
( j 1 , m 1 E M 2 ) the best element of M E M 2
  9:
m K E M 2 the EM2 score of the K-th element of M E M 2
10:
if  m 1 E M 2 m K E M 2 > T E M 3  then
11:
      return  j 1
12:
end if
13:
M b e s t 0
14:
j b e s t j 1
15:
for each j K  do
16:
       m j E M 1 E M 1 ( O S R , O j M R , D j , I n E M 1 )
17:
      if  m j E M 1 > M b e s t  then
18:
             M b e s t m j E M 1
19:
             j b e s t j
20:
      end if
21:
end for
22:
return  j b e s t

3. Experiments

To evaluate the OCNS, its performance was verified using real-world data from the Gulf of Gdańsk region in Poland. The objective of the evaluation was not to determine a single average localisation error but to assess the spatial resolution at which coastline observations remain sufficiently distinctive to support reliable position estimation. Preliminary experiments using randomly distributed candidate positions yielded highly variable errors that depended on the local coastline geometry, limiting the usefulness of aggregate statistical measures. Therefore, candidate map representations were generated at predefined distances from the reference position. This methodology enables evaluation of the localisation capability of the proposed approach as a function of spatial separation. It provides practical information regarding the scale at which optical observations can be used to constrain position uncertainty in GNSS-denied environments. From an operational perspective, the obtained results can be used to determine the minimum spacing between candidate positions generated around a dead-reckoning estimate. If the spacing is significantly smaller than the method’s effective spatial resolution, the resulting map representations become too similar to be reliably distinguished. Conversely, using a spacing comparable to or larger than the estimated resolution increases the likelihood that the map representation corresponding to the actual vehicle position will be correctly identified as the best match to the observed coastline.
The verification tests compared all three position estimation methods: EM1, EM2, and EM3. The results of all tests are presented at the end of this section.

3.1. SR

3.1.1. Dataset

To validate the proposed method under real-world conditions, an experimental dataset was acquired consisting of 873 images collected at 70 measurement locations in the Gulf of Gdańsk—see Figure 1. For each recorded image, the camera’s geographic position and the azimuth of its optical axis were recorded, enabling precise spatial referencing of the observations.
A key parameter influencing the characteristics of the recorded images is the height of the imaging sensor above the water surface. To ensure consistency and to reflect the operational conditions of a surfaced unmanned platform, all images were acquired at a fixed height of 1 m above sea level.
The image acquisition process was carried out using a camera equipped with an integrated GNSS receiver and a digital compass. The focal length was set to a value corresponding to 25 mm for a full-frame sensor, resulting in a horizontal field of view equal to α h = 71 . 52 . Under these conditions, full 360 coverage could theoretically be achieved using a minimum of 6 images. In practice, between 8 and 16 images were recorded at each measurement point to reduce the influence of distortions and ensure sufficient overlap between consecutive observations.

3.1.2. Semantic Segmentation

To prepare S R s, semantic segmentation [20,21] was performed on the collected image dataset using the YOLOv8 Convolutional Neural Networks (CNN) [22,23]. The training of CNNs was based on another image dataset comprising approximately 10,000 high-resolution images acquired under diverse environmental conditions, supplemented with publicly available coastal imagery. To ensure reliable segmentation performance, all images were manually annotated.
Before CNN training, the images were resized and partitioned into overlapping sub-images to match the network input requirements while preserving local spatial details. To improve robustness and generalisation, the training images were augmented using random rotations, photometric transformations, and noise-based perturbations. In particular, the applied augmentation operations included image rotation, saturation modification, exposure/brightness variation, and additive noise. These transformations were selected to simulate typical changes in camera orientation, illumination conditions, atmospheric visibility, and image sensor noise that may occur during maritime image acquisition. The dataset was divided into training and validation subsets in an 8:2 ratio.
Two CNN models were designed: a multi-class model (MC-CNN) and a simplified model (SM-CNN). The MC-CNN included an extended set of object classes (e.g., vessels, offshore structures such as wind turbines, and other maritime objects), which reduced misclassification errors (e.g., classifying a ship as a building). However, these additional classes were not directly used in the final detection stage.
The SM-CNN was designed with three primary classes (sea, sky, land), where all terrain-related objects were aggregated into the land class. Additionally, during training, an auxiliary class representing objects located on the sea surface was included to reduce false detections and improve segmentation robustness, particularly in distant regions.
To semantically segment the collected images, the outputs of both CNNs were combined. When the MC-CNN provided reliable classification results, the corresponding semantic labels (building or forest) were used directly; objects belonging to the remaining classes were classified as other. In cases where these classes were not detected but the SM-CNN indicated the presence of land, the corresponding region was assigned to the class other, consistent with the definition O S R = { O i S R } , i { building , forest , other } .
The quality of segmentation was evaluated in terms of its efficacy in facilitating the preparation of S R s. Illustrative results are presented in Figure 2. The SM-CNN demonstrated an effective ability to distinguish among the predominant maritime scene regions, namely the sea, sky, and land. This capability enabled the reliable localisation of the shoreline and the delineation of the sea–sky boundary. The MC-CNN provided supplementary data on the coastal zone, primarily by identifying forest and building regions that serve as reference objects in the proposed method.
The primary challenges encountered during segmentation predominantly arose in instances where the land region constituted a minuscule proportion of the scene, particularly when the shoreline was distant and manifested as a narrow strip proximate to the horizon. In such cases, the network occasionally had difficulty reliably detecting land, which could result in partial omission, fragmentation, or reduced-confidence classification. This limitation was primarily attributable to the relatively small apparent size of coastal objects in the image, rather than to errors in the segmentation of substantial sea and sky regions.

3.1.3. SR Design

Based on segmented images, a spatial representation S R was constructed for each measurement point. The representation was defined with an angular resolution of R = 1 , resulting in a discretized form S R = < h 1 , h 2 , , h 360 > , consistent with the definition of the observation vector H.

3.2. MR

The generation of the M R s requires the use of geospatial data describing the area in which the system operates. In contrast to the previous approach based on elevation models [17], this study employs high-resolution aerial imagery as the primary source of spatial information.
The MRs were constructed by integrating multiple high-resolution images using dedicated geographic information system (GIS) software ArcGIS Pro 3.6 into a single, spatially consistent mosaic. The source GIS data were georeferenced and processed in the WGS84 geodetic reference system, ensuring a common spatial reference for all input layers and reference objects. For map visualisation and generation of the mosaic presented in Figure 3, the data were projected into the WGS84/UTM zone 34N coordinate system. This projection was selected because it is appropriate for the Gulf of Gdańsk region and, as a conformal projection, preserves local angular relationships while limiting distortions over the analysed area. The resulting image had a resolution of approximately ( 40 , 000 × 30 , 000 ) pixels, covering an area of about (2500 km2), corresponding to the region of interest considered in the experimental evaluation.
To ensure consistency with the S R , the assembled dataset was subjected to a segmentation process within the GIS environment. The segmentation distinguished three classes: buildings (urbanised areas), forest, and other land regions. This classification scheme directly reflects the structure of the set O M R = { O i M R } , where i { building , forest , other } , thus maintaining semantic compatibility between the map-based and image-based representations.
Due to the large size of the generated dataset, an additional preprocessing step was applied to reduce storage requirements and improve computational efficiency. The segmented image was converted to grayscale, preserving class information while significantly reducing data volume. As a result (Figure 3), the final high-resolution 8-bit image occupied approximately 0.9 GB of storage, which was sufficiently compact to enable efficient processing and the generation of map representations M R for subsequent analysis.
The S R s were constructed at a set of predefined observation points, which served as reference locations for the analysis. At each reference location, a corresponding map representation, denoted as M R i = 0 , was also generated. Furthermore, five additional M R sets were created: M R -1.6, M R -2.4, M R -3.2, M R -4, and M R -8. Each set differed in the distance D M R = 1.6, 2.4, 3.2, 4, and 8 km between the reference position and the positions of the generated M R s. All M R s belonging to a given set were located at the same distance D M R from the reference position.
The purpose of introducing multiple D M R values was to analyse how the spatial separation between candidate positions affects the distinguishability of their corresponding map representations. When candidate positions are located close to one another, their associated (MR)s may be highly similar, making reliable identification of the correct position difficult even when the matching algorithm performs correctly. By gradually increasing D M R , the generated map representations become more distinct, allowing the practical localisation capability of the method to be evaluated as a function of the spatial separation between candidate positions rather than through a single aggregate error metric.
Each set of map representations contained a maximum of 37 M R s, i.e., one M R generated at the reference position ( M R - D i = 0 M R ) and up to 36 additional M R s ( M R - D i = 1 36 M R ) evenly distributed every 10 degrees on a circle of radius D M R . Candidate positions located on land were omitted.
Example spatial distributions of M R - D i = 0 36 M R are illustrated in Figure 4, where points located on land (and thus discarded) are marked in red, while correctly identified sea points are shown in green.
For each candidate point, the map representation M R was generated by analysing the map in all azimuth directions with a resolution of 1 , resulting in a distance profile D = d 1 , d 2 , , d 360 . If land was not visible in a given direction, then d i = 0 ; otherwise d i > 0 . Distances were calculated using the map resolution of approximately 1 m per pixel.

3.3. Results

The accuracy of the EMs was estimated separately for each M R - D M R . The accuracy for one M R - D M R was calculated as the number of S R s out of all 70 S R s that were correctly associated with the correct M R , i.e., with M R i = 0 generated in the S R position. Formally, the EM evaluation can be written as follows:
F ( E M , M R - D M R , S R ) = i = 1 70 ϕ ( S R i , M R - D i M R ) 70
ϕ ( S R , M R - D M R ) = 1 if arg max j = 0 , , 36 M E M ( S R , M R - D j M R ) = 0 0 otherwise

3.3.1. EM1

The parameter setting for EM1 was as follows: E m a x A = 5, and 10 deg, Δ E A = 1 deg, R m a x O = 8, 16 and 24 km, R m i n O = 6 km, Δ R O = 2 km, O M R = { O b u i l d i n g M R } , { O b u i l d i n g M R , O f o r e s t M R } , and { O b u i l d i n g M R , O f o r e s t M R , O o t h e r M R } .
EM1 testing started with M R -8 and ended with M R -4 due to highly unsatisfactory results. In the case of M R -8, the best result was F(EM1, M R -8) = 0.45, i.e., only 32 correct decisions, identifying the SR position as the measurement position. This result was obtained for O M R = { O b u i l d i n g M R } , E m a x A = 5 deg, and R m a x O = 16 km. In other cases, i.e., when the map also included forests or other areas, the results were even worse. In the case of M R -4, and once again the best option, O M R = { O b u i l d i n g M R } , only 20 correct decisions were obtained, yielding the result F(EM1, M R -4) = 0.28, and demonstrating the very low accuracy of EM1, which decreases with decreasing distance D M R .
There are several reasons for this. One is, of course, the erroneous operation of semantic segmentation, which either fails to “see” certain areas or artificially creates them in the image. Analysis of the segmented images, however, indicates that the impact of segmentation errors is not decisive.
Another reason for the poor EM1 results is potential compass errors in the camera. During testing, the maximum error was first assumed to be E m a x A = 5 deg, then increased to 10 deg. Increasing R m a x A at first glance seems to be the best way to eliminate compass error. The problem, however, was that increasing E m a x A to 10 deg resulted in even more frequent association of S R and M R objects (usually urbanised areas), even though these did not correspond. In most cases, EM1, “looking” further and further by gradually increasing R O (see Algorithm 1), could match S R with many good M R s even though these M R s were located far from each other. Often, the difference between the best match M b e s t E M 1 and the other matches was negligible, as shown in Figure 5.
The first two lines in this figure show a situation in which EM1 made an incorrect decision, associating S R with the incorrect winning M R s. Figure 5a,c show the matchings of S R with winning M R s, while Figure 5b,d show S R s together with M R i = 0 , i.e., M R s generated on the map at the location where S R was recorded. In addition to S R s and M R s, the figures also show the common parts between the two representations. It can be seen that the differences in the common parts between the winning M R s and M R i = 0 are very small.
In some cases, M R i = 0 was a winning M R , but subsequent analysis of matches between individual S R and M R i = 0 objects showed that they refer to objects that are actually distant from each other.
It seems that the main factor leading to difficulties in pairing S R with the correct M R i = 0 is the lack of information about the distances to objects observed in S R . The lack of this information causes Algorithm 1 to search for increasingly distant S R matches on the map and often associates S R with objects that are either inland or cannot be seen from the sea surface due to the large distance. The solution may be to limit R m a x O . However, the experiments revealed that this solution causes EM1 to miss many objects, resulting in even worse performance.

3.3.2. EM2

Testing this variant of position estimation required training images of the coast for regressors designed to estimate distance to land from visual data. These training images were recorded in the Gulf of Gdańsk, like the other images used in the experiments. The training set consisted of 86 images of the coast recorded at various positions in the Gulf. These images were then semantically segmented to extract land and determine its pixel height. The pixel values were then associated with distances to land, which was possible given information about the recording position and the camera viewing angle. After creating the training set, it was filtered using DBSCAN (eps = 0.7, min_samples = 6), and the resulting data were used to construct the aforementioned regressors, which are core components of EM2 and Algorithm 3.
This variant of the estimation module proved to be more accurate than EM1, as shown in Table 1. The best option turned out to be Kernel Regression (KR( σ = 3 ); see Algorithm 2). For higher D M R , this variant achieved the following results: F(EM2, M R -4) = 0.83 and F(EM2, M R -8) = 0.86. Unfortunately, for smaller D M R values, EM2 still makes many mistakes. For M R -3.2 and M R -2.4, slightly less than half of the decisions are incorrect, and for M R -1.6, most decisions are incorrect.
An example of EM2 malfunction for M R -4 is shown in Figure 6. This figure shows the four situations in which EM2 made the largest errors, i.e., those in which the matching between the SR and M R i = 0 differed significantly from the best matching. The graphs show the pixel height H representing the S R , the distance to land D representing the M R i = 0 , and the distance D representing the best-matching M R .
Analysis of Figure 6 shows two potential causes of errors. In the first upper graph, where the EM2 error is highest, the most likely cause is incorrect distance estimation by the KR. For the entire angular range for which land is visible on the S R , its height is low, suggesting a large distance to land, and this is, in fact, the case. Distance D at the S R position for the land visibility range is approximately 10 km. Meanwhile, the winning M R , that is, the M R best matched with S R , is approximately 4–5 km closer. This means that KR found the distance to land to be closer. The reason is that the training data used to construct the KR were closer to the decision corresponding to the winning M R than M R i = 0 . The situation presented in the upper graph must simply differ from what we most often observe in the Gulf of Gdańsk. A land height of approximately 30 pixels most often corresponds to a distance of about 5 km, not 10 km.
A different situation occurs in the remaining graphs, where the EM2 error is lower. In this case, it turns out that for the area in which KR is applied, the best-matching M R s, even though they are 4 km away from S R , are very similar to M R i = 0 .

3.3.3. EM3

EM3 was run for K = 4 , T E M 3 = 0.00005 and E m a x E M 2 = 10,000 and the best EM2 variant with KR regressor. It turned out that adding EM1 to EM2 in situations where multiple MRs achieved similar matching scores slightly improved the results of the original EM2 variant, but only for MR-4 and MR-8. The results obtained for these cases are as follows: F(EM3, M R -4) = 0.86, F(EM3, M R -8) = 0.9. For M R -4, improvement occurred for 2 S R s, and for M R -8, for 3 S R s. For M R -4, both correctly classified cases were previously incorrectly classified. They are shown in Figure 7 along with the best-matching M R s chosen by EM2. For M R -8, improvement was observed for previously misclassified S R s in 4 cases, and 1 previously correctly classified S R was assigned to an incorrect M R .

4. Summary

This paper investigated the feasibility of using optical observations of the coastline to estimate position in GNSS-denied maritime environments. Three localisation approaches were evaluated.
The first approach, EM1, relied solely on the angular arrangement of areal objects visible on both maps and camera images. Experimental results demonstrated that this approach was ineffective because angular information alone was insufficient to uniquely associate observed objects with their map counterparts in areas containing numerous visually similar features.
The second approach, EM2, incorporated an estimate of the distance to the coastline derived from image features describing the visible land. This additional information significantly improved localisation performance compared with EM1, demonstrating that approximate range-related information plays a critical role in coastline-based localisation. However, the achieved localisation resolution remained limited. The experimental results indicate that the method can reliably discriminate between candidate positions separated by approximately 4 km, which is insufficient for precise coastal navigation.
The third approach, EM3, combined the distance-related information used by EM2 with the angular information employed by EM1. In ambiguous situations, angular observations were used as an additional decision criterion. This approach provided a modest improvement over EM2, increasing the probability of correctly identifying the reference position, but without fundamentally changing the achievable localisation resolution.
The obtained results indicate that the proposed Optical Coastal Navigation System should not be considered a replacement for conventional navigation systems in applications requiring precise coastal positioning. Instead, its current capabilities suggest potential use as a coarse localisation or position-correction mechanism in GNSS-denied environments, where even approximate position information may help constrain accumulated navigation errors and reduce the search area for more accurate localisation methods.
The experiments also demonstrated that reliable estimation of the distance to the visible coastline is the key factor limiting localisation performance. Therefore, future research will focus on improving distance estimation using additional image features. In particular, texture characteristics and the roughness of the extracted coastline silhouette will be investigated, as both features are expected to exhibit distance-dependent behaviour that may improve the discriminative capability of the proposed localisation framework.

Author Contributions

Conceptualisation: T.P.; methodology: T.P.; software: T.P. and J.Z.; data preparation: J.Z.; validation: T.P.; writing: T.P. and J.Z.; visualisation: T.P. and J.Z.; supervision: T.P.; funding acquisition: T.P. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by SWAT-SHOAL project of European Union, grant number EDF-2022-RA-UWW-UTS.

Data Availability Statement

The data that support the findings of this study are available from the corresponding author, J.Z., upon reasonable request.

Conflicts of Interest

The authors declare no conflicts of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript; or in the decision to publish the results.

Abbreviations

The following abbreviations are used in this manuscript:
AUVAutonomous Underwater Vehicle
LBLLong Baseline
USBLUltra Short Baseline
GPSGlobal Positioning System
GNSSGlobal Navigation Satellite System
OCNSOptical Coastal Navigation System
CRMCamera Representation Module
MRMMap Representation Module
EMEstimation Module
MRMap Representation
SRSurrounding Representation

References

  1. Vasudev, K.L. Review of Autonomous Underwater Vehicles. In Autonomous Vehicles; Dekoulis, G., Ed.; IntechOpen: London, UK, 2018; Chapter 2. [Google Scholar] [CrossRef]
  2. Hożyń, S. Synthetic Image Generation for Underwater Diver Detection. IEEE Access 2026, 14, 30021–30036. [Google Scholar] [CrossRef]
  3. Wibisono, A.; Piran, M.J.; Song, H.K.; Lee, B.M. A Survey on Unmanned Underwater Vehicles: Challenges, Enabling Technologies, and Future Research Directions. Sensors 2023, 23, 7321. [Google Scholar] [CrossRef] [PubMed]
  4. Wübben, D.; Könsgen, A.; Udugama, A.; Dekorsy, A.; Förster, A. Challenges and Opportunities in Communications for Autonomous Underwater Vehicles. In AI Technology for Underwater Robots; Springer International Publishing: Cham, Switzerland, 2020; pp. 83–93. [Google Scholar] [CrossRef]
  5. Li, Z.; Chitre, M.; Stojanovic, M. Underwater acoustic communications. Nat. Rev. Electr. Eng. 2025, 2, 83–95. [Google Scholar] [CrossRef]
  6. Zhang, B.; Ji, D.; Liu, S.; Zhu, X.; Xu, W. Autonomous Underwater Vehicle navigation: A review. Ocean. Eng. 2023, 273, 113861. [Google Scholar] [CrossRef]
  7. Shen, N.; Chen, L.; Liu, J.; Wang, L.; Tao, T.; Wu, D.; Chen, R. A Review of Global Navigation Satellite System (GNSS)-Based Dynamic Monitoring Technologies for Structural Health Monitoring. Remote Sens. 2019, 11, 1001. [Google Scholar] [CrossRef]
  8. Qiao, Y.; Yin, J.; Wang, W.; Duarte, F.; Yang, J.; Ratti, C. Survey of Deep Learning for Autonomous Surface Vehicles in Marine Environments. IEEE Trans. Intell. Transp. Syst. 2023, 24, 3678–3701. [Google Scholar] [CrossRef]
  9. Jian, M.; Yang, N.; Tao, C.; Zhi, H.; Luo, H. Underwater object detection and datasets: A survey. Intell. Mar. Technol. Syst. 2024, 2, 9. [Google Scholar] [CrossRef]
  10. Sun, K.; Cui, W.; Chen, C. Review of Underwater Sensing Technologies and Applications. Sensors 2021, 21, 7849. [Google Scholar] [CrossRef] [PubMed]
  11. Es-sadaoui, R.; Guermoud, M.; Khallaayoune, J.; Brizard, T. Autonomious Underwater Vehicles Navigation and Localization Systems: A Survey. SSRN Electron. J. 2018, 8. [Google Scholar] [CrossRef]
  12. Xu, W.; Yang, J.; Mao, J.; Lu, H.; Lu, C.; Liu, X. Direct Forward-Looking Sonar Odometry: A Two-Stage Odometry for Underwater Robot Localization. Remote Sens. 2025, 17, 2166. [Google Scholar] [CrossRef]
  13. Grimaldi, M.; Nakath, D.; She, M.; Köser, K. INVESTIGATION OF THE CHALLENGES OF UNDERWATER-VISUAL-MONOCULAR-SLAM. ISPRS Ann. Photogramm. Remote Sens. Spat. Inf. Sci. 2023, X-1/W1-2023, 1113–1121. [Google Scholar] [CrossRef]
  14. Paull, L.; Saeedi, S.; Seto, M.; Li, H. AUV Navigation and Localization: A Review. Ocean. Eng. IEEE J. 2014, 39, 131–149. [Google Scholar] [CrossRef]
  15. Lu, Z.; Liu, F.; Lin, X. Vision-based localization methods under GPS-denied conditions. arXiv 2022, arXiv:2211.11988. [Google Scholar] [CrossRef]
  16. Petković, M.; Vujović, I. Distance Estimation Approach for Maritime Traffic Surveillance Using Instance Segmentation. J. Mar. Sci. Eng. 2024, 12, 78. [Google Scholar] [CrossRef]
  17. Zalewski, J.; Hożyń, S. Computer Vision-Based Position Estimation for an Autonomous Underwater Vehicle. Remote Sens. 2024, 16, 741. [Google Scholar] [CrossRef]
  18. Markovsky, I.; Van Huffel, S. Overview of total least-squares methods. Signal Process. 2007, 87, 2283–2302. [Google Scholar] [CrossRef]
  19. Ester, M.; Kriegel, H.P.; Sander, J.; Xu, X. A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise. In Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD’96), Portland, OR, USA, 2–4 August 1996; Pfitzner, D.W., Salmon, J.K., Eds.; AAAI Press: Menlo Park, CA, USA, 1996; pp. 226–331. [Google Scholar]
  20. Hao, S.; Zhou, Y.; Guo, Y. A Brief Survey on Semantic Segmentation with Deep Learning. Neurocomputing 2020, 406, 302–321. [Google Scholar] [CrossRef]
  21. Zhan, W.; Xiao, C.; Wen, Y.; Zhou, C.; Yuan, H.; Xiu, S.; Zou, X.; Xie, C.; Li, Q. Adaptive Semantic Segmentation for Unmanned Surface Vehicle Navigation. Electronics 2020, 9, 213. [Google Scholar] [CrossRef]
  22. Sohan, M.; Sai Ram, T.; Rami Reddy, C.V. A Review on YOLOv8 and Its Advancements. In Proceedings of the Data Intelligence and Cognitive Informatics, Tirunelveli, India, 27–28 June 2023; Jacob, I.J., Piramuthu, S., Falkowski-Gilski, P., Eds.; Springer Nature: Singapore, 2024; pp. 529–545. [Google Scholar]
  23. Yue, X.; Qi, K.; Na, X.; Zhang, Y.; Liu, Y.; Liu, C. Improved YOLOv8-Seg Network for Instance Segmentation of Healthy and Diseased Tomato Plants in the Growth Stage. Agriculture 2023, 13, 1643. [Google Scholar] [CrossRef]
Figure 1. Measurement locations.
Figure 1. Measurement locations.
Sensors 26 04601 g001
Figure 2. Example of image segmentation (sky—light blue, sea—green, buildings—cyan, forest-dark blue).
Figure 2. Example of image segmentation (sky—light blue, sea—green, buildings—cyan, forest-dark blue).
Sensors 26 04601 g002
Figure 3. Grayscale map after segmentation in GIS software (buildings—black, forest—light grey, other land regions—white)—(left); an enlarged section—(right).
Figure 3. Grayscale map after segmentation in GIS software (buildings—black, forest—light grey, other land regions—white)—(left); an enlarged section—(right).
Sensors 26 04601 g003
Figure 4. Distribution of candidate points for M R -1.6, M R -2.4, M R -3.2, M R -4, and M R -8 for three example measurement positions.
Figure 4. Distribution of candidate points for M R -1.6, M R -2.4, M R -3.2, M R -4, and M R -8 for three example measurement positions.
Sensors 26 04601 g004
Figure 5. Example results of EM1 and O M R = { O b u i l d i n g M R } —the graphs show S R , M R , and their common part; the first four graphs illustrate errors of EM1, while the last graph shows the correct EM1 decision.
Figure 5. Example results of EM1 and O M R = { O b u i l d i n g M R } —the graphs show S R , M R , and their common part; the first four graphs illustrate errors of EM1, while the last graph shows the correct EM1 decision.
Sensors 26 04601 g005
Figure 6. Examples of EM2 errors.
Figure 6. Examples of EM2 errors.
Sensors 26 04601 g006
Figure 7. Two cases misclassified by EM2 and correctly classified by EM3.
Figure 7. Two cases misclassified by EM2 and correctly classified by EM3.
Sensors 26 04601 g007
Table 1. Results of EM2—% of correct decisions, a correct decision is matching S R with M R i = 0 .
Table 1. Results of EM2—% of correct decisions, a correct decision is matching S R with M R i = 0 .
LOLSLTLSKR
M R -1.6283441
M R -2.4364055
M R -3.2424564
M R -4484883
M R -8555886
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Praczyk, T.; Zalewski, J. Optical Coastal GNSS-Denied Navigation for Reduction in AUV Underwater Navigation Error. Sensors 2026, 26, 4601. https://doi.org/10.3390/s26144601

AMA Style

Praczyk T, Zalewski J. Optical Coastal GNSS-Denied Navigation for Reduction in AUV Underwater Navigation Error. Sensors. 2026; 26(14):4601. https://doi.org/10.3390/s26144601

Chicago/Turabian Style

Praczyk, Tomasz, and Jacek Zalewski. 2026. "Optical Coastal GNSS-Denied Navigation for Reduction in AUV Underwater Navigation Error" Sensors 26, no. 14: 4601. https://doi.org/10.3390/s26144601

APA Style

Praczyk, T., & Zalewski, J. (2026). Optical Coastal GNSS-Denied Navigation for Reduction in AUV Underwater Navigation Error. Sensors, 26(14), 4601. https://doi.org/10.3390/s26144601

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop