Git Product home page Git Product logo

gnss-ar's Introduction

Vision-based approach for GPS Localization Improvement in Semi-Obstructed Areas

by Alireza Ahmadi - July 2018


What is the Problem?

Performance of Global Navigation Satellite System (GNSS) positioning in urban environments is hindered by poor satellite availability because there are many man-made and natural objects in urban environments that obstruct satellite signals.

NLOS (Non-Line of Sight) (one of the error sources in GNSS observation due to receiving signals from satellites which antenna is blind to them)

nlos

Our solution

Our approach involves with using a landscape calibrated camera and through image processing algorithms tries to classify the scene to non-sky and free-sky regions, also tries to determine whether the satellites are located in free-sky or not. And finally generates an Elevation map of the environment

nlos

Advantages of Integration of vision:

  • Low-cost with respect to laser scanner
  • Able to get a dense data of surrounded area at minimum time
  • Real-time capability for processing data
  • The results are more sensible and intuitive for human, in case of having any type of visualization

Main Pipeline

pipe

Step1: NMEA Package(Parser)

Receiving the NMEA package from GPS receiver and extracting Satellites’ information (PRN-Position,...)

Step2: Changing Image Color System to Gray (3 channel RGB to 1 channel intensity)

Once the data (image) acquisition is made, the second step which consists of transforming the acquired image in the most appropriate color space (which guarantees a better detection of objects of interest). In this case, the GRAY scale color system is chosen that decreases the process required to extract the features from the scene.

gray

Step3: Smoothing the image(Gaussian Blur)

The third step concerns with the image smoothing by Gaussian blur operator provided by the OpenCV library, in order to simplify the acquired image and eliminate unnecessary details and noises.

blur

Step4: Edge Detection(Canny operator)

The Next step would be finding the most top edges of buildings in the scene and horizon line of the scene. First, all the edges captured by the camera should reveal sharply in a sense of violent variations in values of neighbored pixels, which Canny operator is used to exploits them,

cany

Step5: Morphological Operators(Dilation and Erosion)

Morphological transformations are some simple operations based on the image shape.

morph

Step6: Line Detection (through Hough Transformation)

in general, a line can be detected by finding the number of intersections between curves in Hough space. The more curves intersecting means that the line represented by that intersection have more points. In general, we can define a threshold of the minimum number of intersections needed to detect a line.

line

Step7: Watershed Segmentation

Segmentation: The goal of segmentation is to simplify change the representation of an image into something that is more meaningful and easier to analyze. In our case we are interested having the scene classified into sky and no-sky regions.

seg

Auto Sampling the scene for the segmentation

auto

Problems of the Segmentation

prob

Merging results of Line detection and Segmentation

resmix

Step8: Satellite Repositioning in images:

Satellites’ positions can be projected into the images through Projection matrix:

  • Camera position and External points (Satellites’ poses) should be described in same coordinate system. (Earth Centered Earth Fixed->ECEF, WGS84) -> filtering the ones which place in the image size and marking them in image.
pin elevationMap

Final Results

  • A satellite falling into the non-sky areas (e.g., buildings, trees) will be rejected.
  • We can generate a grid map or inclination map of the environment in 360 degrees, which can be used in receivers or in post processing procedures.
res

multiple satellites in the scene

finalres

by: Alireza Ahmadi
University of Bonn- Robotics & Geodetic Engineering

[email protected]
www.AliezaAhmadi.xyz

gnss-ar's People

Contributors

alireza089 avatar alirezaahmadi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.