  Integrating Global Navigation Satellite Systems (GNSS) in Simultaneous
Localization and Mapping (SLAM) systems draws increasing attention to a global
and continuous localization solution. Nonetheless, in dense urban environments,
GNSS-based SLAM systems will suffer from the Non-Line-Of-Sight (NLOS)
measurements, which might lead to a sharp deterioration in localization
results. In this paper, we propose to detect the sky area from the up-looking
camera to improve GNSS measurement reliability for more accurate position
estimation. We present Sky-GVINS: a sky-aware GNSS-Visual-Inertial system based
on a recent work called GVINS. Specifically, we adopt a global threshold method
to segment the sky regions and non-sky regions in the fish-eye sky-pointing
image and then project satellites to the image using the geometric relationship
between satellites and the camera. After that, we reject satellites in non-sky
regions to eliminate NLOS signals. We investigated various segmentation
algorithms for sky detection and found that the Otsu algorithm reported the
highest classification rate and computational efficiency, despite the
algorithm's simplicity and ease of implementation. To evaluate the
effectiveness of Sky-GVINS, we built a ground robot and conducted extensive
real-world experiments on campus. Experimental results show that our method
improves localization accuracy in both open areas and dense urban environments
compared to the baseline method. Finally, we also conduct a detailed analysis
and point out possible further directions for future research. For detailed
information, visit our project website at
https://github.com/SJTU-ViSYS/Sky-GVINS.
