Skip to main content

Exploratory Graph-based Semi-Supervised Image Segmentation

Project description

test

EGSIS

EGSIS is acronymoun for: Exploratory Graph-Based Semi-supervised Image Segmentation.

It's a Python implementation of a image segmentation algorithm that combines superpixel with complex networks dynamics. In this setup, we classify the algorithm as transductive as well.

Showcase on grabcut dataset

showcase

First segmentation mask is the result of EGSIS segmentation over lasso annotation from GrabCut dataset, second segmentation mask is the ground truth.

What is transductive segmentation?

Transductive segmentation is a concept in machine learning and computer vision. It refers to the process of segmenting or dividing an unlabeled dataset into distinct groups or segments based on the inherent structure or patterns within the data.

Formally, transductive segmentation can be defined as follows:

Given an unlabeled dataset X = {x1, x2, ..., xn}, the goal of transductive segmentation is to assign a label yi to each data point xi such that the resulting segmentation optimally reflects the inherent structure or patterns within the data. This is typically achieved by defining a similarity measure between data points and then grouping together data points that are similar according to this measure.

The key characteristic of transductive segmentation is that it does not require a separate training phase. Instead, it directly infers the labels for the given dataset based on the data itself. This makes it particularly suitable for tasks where the distribution of the data is unknown or may change over time.

What is graph-based image segmentation?

Graph-based image segmentation algorithms are a type of computer vision algorithm that uses a graph structure to represent an image. The nodes of the graph represent the pixels of the image, and the edges of the graph represent the relationships between the pixels. The goal of graph-based image segmentation algorithms is to partition the image into meaningful regions, such as objects or regions of interest. These algorithms typically use a combination of graph-theoretic techniques, such as graph cuts, minimum spanning trees, and shortest paths, to identify the regions in the image.

In the case of this work, it uses the region as superpixels, a node it's represented as a superpixel instead of a simple pixel. The edges are calculated as similarity of the feature vectors between the nodes. The main technique used to calculate the edges it's the neighbors of superpixels.

What are superpixels?

Superpixels are a type of image segmentation technique that divides an image into smaller, more homogeneous regions. Superpixels are typically generated using algorithms that group pixels together based on color, texture, and other features. The goal of superpixels is to reduce the amount of data in an image while preserving the important features of the image.

In the case of this work, we use SLIC, which is a simple technique as variation of k-means algorithm considering the color space beyond the euclidian distance.

What are complex networks?

Complex networks are networks that contain a large number of nodes and edges that are connected in a non-trivial way. These networks are often used to model real-world systems such as social networks, transportation networks, and biological networks. They are characterized by their high degree of interconnectedness, non-linearity, and the presence of feedback loops.

License

BSD 3-Clause

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

egsis-0.1.0.tar.gz (25.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

egsis-0.1.0-py3-none-any.whl (22.0 kB view details)

Uploaded Python 3

File details

Details for the file egsis-0.1.0.tar.gz.

File metadata

  • Download URL: egsis-0.1.0.tar.gz
  • Upload date:
  • Size: 25.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.10.1 CPython/3.10.12

File hashes

Hashes for egsis-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8491e3f14dcaa3d2bd5dd0e5a01b45b8d9daad131f942fb483cd7bcba5e0f520
MD5 6aa0c66087747afc04d238827bb4f4ab
BLAKE2b-256 f6d050850a5d8ae1f9448cedc2fa313721bfe97ad03c8bdd32801510880c6e79

See more details on using hashes here.

File details

Details for the file egsis-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: egsis-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 22.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.10.1 CPython/3.10.12

File hashes

Hashes for egsis-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fd165455ebeebc6efc4009656aa20fb681445de1a3cee4e38ff987495bb62631
MD5 a93091a4fed20f31340fc7190230ba6d
BLAKE2b-256 2f0e152f2fd592d6829fb1327060df3f5562e059fded07aefb9969b32378e4bf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page