AI-powered indoor positioning software

The aim of the project is to create a custom indoor positioning solution to have information about a specific place and at a particular time at a construction site. One of the client's main requirements is to build a solution avoiding the common GPS technology. Therefore, we are using Computer Vision, accelerometer, and gyroscope sensor data for more accurate navigation inside the building.

Project background

By definition, an indoor positioning software is a network of devices used to locate people or objects where GPS and other satellite technologies lack precision or fail entirely, such as inside multistory buildings, airports, alleys, parking garages, and underground locations. Thus, the most popular solution is one with GPS.  

However, it did not suit our client’s needs. We were tasked to create a custom solution, an indoor location tracking system using Computer Vision, accelerometer, and gyroscope sensor data without GPS. 

Our client, a construction leader in Japan, was looking for an indoor location tracking system to have information about what was filmed in a specific place and time at his construction site. They wanted to see what this or that place in the room looked like, let’s say, some years back, and analyze what has changed. 

The functionality of the indoor positioning solution is applicable not only in the construction. The scope of this solution covers:

– smart home with technology to support the disabled (Ambient assisted living, AAL) 

– location-based services (LBS) 

– medical service 

– environmental monitoring 

– rescue services 

– banks 

– logistics 

– robotic production 

– and more.

  • Duration: April 2022 – Ongoing
  • Location: Japan
  • Industry: Construction
  • Services:
  • POC development, Back-end development, Custom software development

Business needs

Indoor positioning systems are a local solution for finding a location inside buildings and closed structures where a satellite navigation system is practically inaccessible. 

Our client wants to have information about a specific place at a specific time at his construction site. They need to see what this or that place in the room looked like, for example, a year ago, and analyze what has changed. 

Indoor positioning software functionality can be useful not only in the construction industry. The full scope of this solution includes 

– location-based services (LBS) 

– smart home with technology to support the disabled (Ambient assisted living, AAL) 

– medical service 

– environmental monitoring 

– rescue services 

– museums 

– banks 

– logistics 

– robotic production 

– underground construction 

Product features

  1. Video processing. The user uploads a video to the server.
  2. Room layout. After loading and processing the video, the trajectory where this video was filmed is displayed on the room layout (the entire route is displayed)
  3. Video frames. The user can select a point on the diagram and see the corresponding video frames
  4. Date and time. The user can set the date/time for the “point” on the map and if there is another video in the database
  5. Room view mode. The user can switch to the room view mode for the specified date, operating the indoor location tracking system

Solution

As input for indoor navigation software, the CHI Software team has a video of a construction site inside the building. The camera has sensors such as an accelerometer and a gyroscope.

One of our tasks is to restore the trajectory and display it on the map of the room for which the video was filmed, using data for indoor positioning software solution from the sensors of the 360-degree camera.

– To correct the trajectory obtained with the help of sensors, special markers are placed on the walls of the room. One more task is to detect and recognize these markers and apply the information received from the markers to correct the trajectory. This allows us to achieve indoor positioning system accuracy.

– Obtaining a trajectory from sensor data is not an easy task. Sensors have errors and accumulate them. Our AI/ML team is doing a lot of work to eliminate these errors, filtering data and smoothing out the noise.

At the current stage of the indoor positioning solution, we added video data to sensor data, namely ArUco markers, which were selected for the current task and generated in a special way.

Our technology stack

  • Python
  • OpenCV
  • Pandas
  • NumPy
  • SciPy
  • scikit-kinematics
  • AWS S3
  • AWS Lambda
  • AWS ECS

Employee testimonial

Testimonial indoor location system
Yuriy Chaban ML Engineer

The main goal of the indoor navigation software project was to find a trajectory of movements with GPS alternatives for the construction industry. This is useful for navigation inside the buildings. For this purpose we use data from inertial sensors like the gravitometer, accelerometer and magnetometer in the hands of a walking person. It was a challenge because there was a very strong noise from steps and unpredictable movements of the hands and the device with sensors while walking, which did not allow us to use the known algorithms. However, we managed to build an indoor positioning software algorithm for calculating a trajectory with sufficient accuracy, as well as an algorithm for correcting the trajectory by specifying control points through which it should pass. Another challenge of indoor positioning software in both approaches was that the algorithms are iterative; the next coordinates are calculated from the previous ones, so errors accumulate. In addition, algorithms combining data from inertial sensors and data obtained from video for more accurate reconstruction of the trajectory. Now, it is the most accurate indoor positioning system.

Let’s bring your idea to
life together!

    Successfully applied!