{"id":18272224,"url":"https://github.com/ryukinix/egsis","last_synced_at":"2025-09-04T02:38:19.306Z","repository":{"id":162618843,"uuid":"448014168","full_name":"ryukinix/egsis","owner":"ryukinix","description":"EGSIS: Exploratory Graph-based Semi-supervised Image Segmentation","archived":false,"fork":false,"pushed_at":"2025-03-02T16:11:41.000Z","size":32447,"stargazers_count":9,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-23T20:17:07.976Z","etag":null,"topics":["active-learning","complex-networks","dynamical-systems","hacktoberfest","image-segmentation","semi-supervised-learning","superpixels"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ryukinix.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-01-14T15:25:11.000Z","updated_at":"2025-03-02T16:11:43.000Z","dependencies_parsed_at":"2025-04-05T02:41:03.687Z","dependency_job_id":null,"html_url":"https://github.com/ryukinix/egsis","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ryukinix/egsis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryukinix%2Fegsis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryukinix%2Fegsis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryukinix%2Fegsis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryukinix%2Fegsis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ryukinix","download_url":"https://codeload.github.com/ryukinix/egsis/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryukinix%2Fegsis/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273542862,"owners_count":25124230,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-04T02:00:08.968Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["active-learning","complex-networks","dynamical-systems","hacktoberfest","image-segmentation","semi-supervised-learning","superpixels"],"created_at":"2024-11-05T11:41:40.624Z","updated_at":"2025-09-04T02:38:19.245Z","avatar_url":"https://github.com/ryukinix.png","language":"Python","readme":"![test](https://github.com/ryukinix/egsis/actions/workflows/test.yml/badge.svg)\n\n# EGSIS\n\nEGSIS is acronymoun for: Exploratory Graph-Based Semi-supervised Image\nSegmentation.\n\nIt's a Python implementation of a image segmentation algorithm that\ncombines superpixel with complex networks dynamics. In this setup, we\nclassify the algorithm as transductive as well.\n\n# Showcase on grabcut dataset\n\n![showcase](pics/egsis-showcase.png)\n\nFirst segmentation mask is the result of EGSIS segmentation over lasso\nannotation from GrabCut dataset, second segmentation mask is the\nground truth.\n\n\n# What is transductive segmentation?\n\nTransductive segmentation is a concept in machine learning and\ncomputer vision. It refers to the process of segmenting or dividing an\nunlabeled dataset into distinct groups or segments based on the\ninherent structure or patterns within the data.\n\nFormally, transductive segmentation can be defined as follows:\n\n\u003e Given an unlabeled dataset X = {x1, x2, ..., xn}, the goal of\ntransductive segmentation is to assign a label yi to each data point\nxi such that the resulting segmentation optimally reflects the\ninherent structure or patterns within the data. This is typically\nachieved by defining a similarity measure between data points and then\ngrouping together data points that are similar according to this\nmeasure.\n\nThe **key characteristic** of transductive segmentation is that it does\nnot require a separate training phase. Instead, it directly infers the\nlabels for the given dataset based on the data itself. This makes it\nparticularly suitable for tasks where the distribution of the data is\nunknown or may change over time.\n\n# What is graph-based image segmentation?\n\nGraph-based image segmentation algorithms are a type of computer\nvision algorithm that uses a graph structure to represent an\nimage. The nodes of the graph represent the pixels of the image, and\nthe edges of the graph represent the relationships between the\npixels. The goal of graph-based image segmentation algorithms is to\npartition the image into meaningful regions, such as objects or\nregions of interest. These algorithms typically use a combination of\ngraph-theoretic techniques, such as graph cuts, minimum spanning\ntrees, and shortest paths, to identify the regions in the image.\n\nIn the case of this work, it uses the region as superpixels, a node it's\nrepresented as a superpixel instead of a simple pixel. The edges are\ncalculated as similarity of the feature vectors between the nodes. The\nmain technique used to calculate the edges it's the neighbors of superpixels.\n\n# What are superpixels?\n\nSuperpixels are a type of image segmentation technique that divides an\nimage into smaller, more homogeneous regions. Superpixels are\ntypically generated using algorithms that group pixels together based\non color, texture, and other features. The goal of superpixels is to\nreduce the amount of data in an image while preserving the important\nfeatures of the image.\n\nIn the case of this work, we use SLIC, which is a simple technique as\nvariation of k-means algorithm considering the color space beyond the\neuclidian distance.\n\n# What are complex networks?\n\nComplex networks are networks that contain a large number of nodes and\nedges that are connected in a non-trivial way. These networks are\noften used to model real-world systems such as social networks,\ntransportation networks, and biological networks. They are\ncharacterized by their high degree of interconnectedness,\nnon-linearity, and the presence of feedback loops.\n\n# How to cite this work\n\n```\n@booklet{machado2023egsis,\n  title        = {Segmentação Semi-Supervisionada de Imagens através\n  de Dinâmicas Coletivas em Redes Complexas},\n  author       = {Manoel Vilela Machado Neto},\n  howpublished = {Universidade Federal do Ceará (UFC)},\n  address      = {repositorio.ufc.br},\n  year         = 2023,\n  note         = {orientado pelo Dr. Jarbas Joaci de Mesquita Sá Junior}\n}\n```\n\n# License\n\nBSD 3-Clause\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryukinix%2Fegsis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fryukinix%2Fegsis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryukinix%2Fegsis/lists"}