Skip to content

PedroRuizCode/Segmentacion_imagenes_ML

 
 

Repository files navigation

Image segmentation using ML tools

A project of evaluation of performance of ML techniques for the semantic segmentation of images

Logo

Click here to access our video

Considering the impact on the world of artificial intelligence and process automation in recent years, semi-autonomous systems have been developed that act responding to signals from their environment. An example is food delivery robots that establish their trajectory from images of their surroundings. To develop a system like this it is necessary to make use of segmentation algorithms trained to recognize obstacles, and to train these algorithms, databases of segmented images corresponding to the environment in which the robot will operate are required.

To facilitate the image segmentation process, the project based on ML techniques available in this repository was developed.


Generation of the dataset

For the training of the segmentation algorithms, a data set of 40 color images with their respective mask was used. For the training of the models, a file separated by commas is created that contains in each row the information corresponding to each pixel of an image. In the columns of the document the information of the coordinates in X and Y, in R and tetha, the value of each of the color components and the value of the mask at that point are stored. After this, the data is normalized between -1 and 1 and with this the training data set is generated, which in total contains 2'621.440 data, of which 80% is used for training, while the remaining 20% is used to validate the training.


Results

The Image Labelling App dependencies, compilation, and configuration are packaged in a Docker Image. Before continuing, make sure you have Docker installed on your device. If it is not installed and you are working on Linux, you can run the following commands in a terminal:

ML model MCC
SVM(linear) 0.5275
Logistic regression 0.8378
ML model ACC PPV
ANN 0.9221 0.9447

Which is the best?

The best performance is evidently that of the ANNs.


How to improve those results?

For image segmentation it is better to use deep learning techniques. The results drastically improve both in the MCC evaluation and in the inference time. This can be evidenced by looking at the results of the project developed by us and available here.


This project is being developed by:

✈️ Andrea Juliana Ruiz Gómez, GitHub, Email: [email protected]

🏎️ Pedro Elí Ruiz Zárate, GitHub, Email: [email protected]

With the support of:

👨🏻‍🏫 Francisco Carlos Calderón Bocanegra, GitHub

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 89.7%
  • Dockerfile 8.4%
  • Shell 1.9%