Video
Abstract
We present SIGNN++, a learning-based star identification (SID) framework for celestial navigation in GNSS-denied nighttime environments. Although researchers have developed learning-based SID methods to improve robustness to observation noise, prior evaluations focus mainly on synthetic or non-terrestrial environments, leaving their reliability under real terrestrial conditions unclear. In particular, prior work has not validated SIGNN, a graph neural network-based SID method with strong performance in virtual environments, on real night-sky images, and SIGNN shows degraded performance under combined noise. To address these limitations, SIGNN++ extends SIGNN with three components: a more realistic noise model for training data, Fourier Transform (FT) of angular-distance edge features, and RANSAC-based Perspective Star Alignment for identification and attitude refinement. We evaluate SIGNN++ through noise ablations, Stellarium simulations, and real terrestrial datasets containing random-view and sequential night-sky images. The results show that SIGNN++ is more robust to terrestrial observation disturbances and achieves higher star identification accuracy and solved rates than the original SIGNN and publicly available SID baselines, while maintaining comparable attitude accuracy and practical computation time for continuous operation.
How it works
- 1Star centroiding Bright pixels are grouped and reduced to sub-pixel centres of gravity.
- 2SIGNN+FT Stars become graph nodes; angular distances become edges, lifted into Fourier features so the network can separate geometrically similar pairs.
- 3Perspective Star Alignment RANSAC over the network's confident predictions recovers a rotation, then refines it jointly with the field of view.
- 4Star IDs and camera attitude Every detection is relabelled from the recovered pose.
What SIGNN++ adds
- A terrestrial noise model
- Training samples carry four noise types at once rather than one at a time, with faint stars dropped more often and faint false stars generated more often — the way light pollution and cloud actually degrade a ground-based frame.
- Fourier features on edge distances
- A scalar angular distance is mapped through sinusoids at six frequencies, which counters the spectral bias of the network and makes near-identical edges separable. This is what recovers accuracy under positional noise.
- Perspective Star Alignment
- Pairs of high-confidence predictions each hypothesise a rotation by SVD; the hypothesis with the largest catalog consensus is kept and refined by iterative closest point and a Trust-Region-Reflective least-squares solve over rotation and field of view together. Identification and attitude are solved as one problem, so a network mistake can be corrected geometrically.
Evaluation setup
Three kinds of evaluation: a noise ablation on synthetic catalog data, a terrestrial simulation in Stellarium (light pollution and atmospheric refraction), and real night-sky images captured with an iPhone 15 Pro Max, with ground truth from Astrometry.net or a star tracker.
Results
Noise ablation
Each noise type on its own, 11 levels each, on the catalog dataset.
Real night sky, random views
67 images from three nights, many containing cloud and motion blur. Ground truth from Astrometry.net.
| Method | Solved rate | F1 | Time, solved | Time, failed | Attitude error |
|---|---|---|---|---|---|
| SIGNN | 59.7% | 32.63% | 0.012 s | 0.012 s | — |
| SIGNN++ | 98.5% | 98.32% | 0.366 s | 0.001 s | 0.203° |
| ROSIA | 70.1% | 69.15% | 0.532 s | 0.696 s | 0.328° |
| Tetra | 79.1% | 91.83% | 0.593 s | 6.053 s | 0.183° |
Attitude error is averaged over each method's own solved frames. On the 53 frames both methods solved, SIGNN++ and Tetra are statistically indistinguishable (0.194° against 0.183°, paired Wilcoxon p = 0.22), while SIGNN++ additionally returns an attitude on 13 frames where Tetra returns none.
Simulated light pollution
5,000 Stellarium frames across four Bortle levels, from bright suburban sky to inner city (see Fig. 4).
| Method | Metric | Bortle 6 | Bortle 7 | Bortle 8 | Bortle 9 |
|---|---|---|---|---|---|
| SIGNN | Solved rate | 84.16% | 85.28% | 57.78% | 19.72% |
| F1 | 50.37% | 51.90% | 38.85% | 32.79% | |
| SIGNN++ | Solved rate | 96.88% | 95.68% | 86.36% | 64.59% |
| F1 | 98.94% | 98.98% | 99.06% | 98.69% | |
| Attitude error | 0.04° | 0.03° | 0.03° | 0.03° | |
| ROSIA | Solved rate | 82.00% | 82.24% | 53.45% | 16.35% |
| F1 | 95.02% | 94.64% | 91.31% | 85.40% | |
| Attitude error | 0.29° | 0.30° | 0.38° | 0.67° | |
| Tetra | Solved rate | 79.52% | 79.76% | 60.35% | 21.45% |
| F1 | 98.02% | 98.03% | 97.63% | 97.01% | |
| Attitude error | 0.03° | 0.03° | 0.03° | 0.03° |
At Bortle 9 the baselines fall below a 22% solved rate while SIGNN++ holds 64.59%. Its F1 barely moves across the four levels, so the frames it does solve are solved just as cleanly in the worst sky as the best.
Looking at the horizon
Elevation 10–30°, where atmospheric refraction displaces centroids (see Fig. 5), against 50–90° overhead.
| Method | Metric | Sky | Horizon |
|---|---|---|---|
| SIGNN | Solved rate | 76.00% | 47.87% |
| F1 | 51.14 ± 18.44% | 39.92 ± 15.59% | |
| SIGNN++ | Solved rate | 94.87% | 77.06% |
| F1 | 99.07 ± 2.07% | 98.77 ± 2.82% | |
| Attitude error | 0.026 ± 0.032° | 0.035 ± 0.034° | |
| ROSIA | Solved rate | 75.12% | 42.28% |
| F1 | 95.09 ± 9.84% | 90.32 ± 14.51% | |
| Attitude error | 0.292 ± 0.530° | 0.427 ± 0.613° | |
| Tetra | Solved rate | 77.40% | 43.45% |
| F1 | 97.93 ± 2.24% | 97.68 ± 2.59% | |
| Attitude error | 0.025 ± 0.014° | 0.031 ± 0.033° |
Near the horizon the baselines solve fewer than half the frames. SIGNN++ keeps 77%, which the noise ablation predicts: refraction displaces centroids by around 0.002 rad, and that is inside the positional noise SIGNN++ was trained to absorb.
Continuous sequences
A camera and a star tracker on a rotation stage, 15 sequences at 0.5 fps under varying elevation, rotation axis and angular velocity (setup in Fig. 6).
- Highest solved rate in all 15 sequences; lowest attitude error in 11; fastest in 14.
- Sequences 5, 7 and 11 are solved only by SIGNN++ — all three carry partial cloud and star streaks.
- When identification fails, Tetra can spend more than 5 s on a frame. SIGNN++ returns in under 0.02 s, which is what makes a fixed frame budget possible.
Identification under real conditions
SIGNN++ output on real terrestrial images (the three panels of Fig. 1).
Citation
@inproceedings{signnpp,
title = {SIGNN++: Robust Graph Neural Star Identification on Earth},
author = {Anonymous},
booktitle = {Under review},
year = {2027}
}


