Skip to content

LyndainesSantos/GNG3D

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GNG3D

This is a part of my master's degree research using Growing Neural Gas (GNG) and 3D data image from Kinect device. The goal of this repository is processing pcd format files into 3D data corresponding to edges and vortex.

Introduction

Growing Neural Gas (GNG) is a widely used algorithm in mobile robotics to enhance the learning capability of autonomous systems. GNG is a neural network that has the ability to grow and adapt to the environment, allowing mobile robots to acquire knowledge and adjust to new situations. This algorithm is particularly useful for creating cognitive maps, where the robot can map and understand the environment in real-time, identifying obstacles, safe areas, and other relevant information for autonomous navigation.

By utilizing GNG, mobile robots can :

  • improve their ability to make intelligent decisions,
  • optimize routes,
  • avoid collisions,
  • efficiently explore unknown environments and so on.

Thus, Growing Neural Gas plays a crucial role in mobile robotics, providing a solid foundation for enhancing the intelligence and autonomy of robots in their interactions with the physical world.

Project's Organization

This repository is organized according to the table below:

Directory / File Description
./database directory for all files used to trained and test the neural network's performance
./image_io there is the auxiliary functions to load, process, compute and for visualization tasks
./result edges and vortex 3D data JSON files
gng3d_reconstruction.py GNG processing
main.py script to set paths and calls the main funtions for processing the tasks

To Install

This project was developed on Ubuntu 22.04 and Python 3.7 operating system. For install all the dependencies you may run:

pip install -r requirements.txt

This will install the necessaries libraries used to performe the GNG at 3D points, such as:

To Run

To compute the GNG and to show the 3D graph, just run:

python main.py

or

python3 main.py

This script will generate GNG through 3D plot according to the input data.

Some paths are as default in main.py, such as:

  • Path for read the Point Cloud data file: path_single_pcd = "./database/bag2pcdRGB"

  • Path to save the edges and vortex data files: path_es_vs_result = "./result"

Results

Here are some brief results by performing the GNG algorithm.

The input data, aquired through Kinect device:

scene_1_open3D.mp4

In the figure below it is possible to see the comparison of the image on the left, which represents the point cloud input. And on the right, we have the resulting GNG from that input.

scene_1_compare.png

About

Growing Neural Gas (GNG) using 3d data image from Kinect

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages