segdan


Namesegdan JSON
Version 0.1.5 PyPI version JSON
download
home_pagehttps://github.com/joortif/SegDAN
SummaryAutoML framework for the construction of segmentation models.
upload_time2025-07-15 08:52:54
maintainerJoaquin Ortiz de Murua Ferrero
docs_urlNone
authorJoaquin Ortiz de Murua Ferrero
requires_python>=3.9
licenseMIT license
keywords instance semantic segmentation pytorch huggingface embedding image analysis deep learning active learning computer vision
VCS
bugtrack_url
requirements albumentations huggingface_hub imagedatasetanalyzer matplotlib numpy opencv_contrib_python opencv_python opencv_python_headless pandas Pillow plotly pytorch_lightning PyYAML Requests scikit_learn scikit_multilearn scikit-image scipy segmentation_models_pytorch tensorflow tkinter_tooltip torch torchvision torchaudio tqdm ultralytics kneed lpips piq transformers tf-keras
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # SegDAN

In this work, we present an AutoML framework that facilitates the construction of segmentation models implemented across multiple libraries. The framework supports users throughout the entire pipeline including the analysis and
split of datasets of images, the training of the models, and their evaluation. 

Thus, this framework will help to lower the entry barrier for applying state-of-the-art segmentation techniques.

## Architecture of the framework

The workflow is depicted in the image below and can be summarized as follows:

First, the user provides the path to a segmentation dataset, which includes a set of images and their corresponding
annotations, and some configuration parameters. 

Then, the dataset is analysed to show some statistics about it, and find possible issues (like duplicates or missing information). 

After that, the dataset is split using either a hold-out or a k-fold approach. 

Subsequently, several segmentation models are trained and compared using different metrics. 

Finally, from that comparison, the best model is selected and provided to the user. 

![Architecture of the framework](./assets/arquitecture.png)

## Compatible models

Currently, the framework is still under development, and support is limited to the [Segmentation Models](https://github.com/qubvel-org/segmentation_models.pytorch) library. The framework supports the following models for semantic segmentation:

| Model name |
|--------------|
| Unet | 
| Unet++ |
| MAnet | 
| Linknet | 
| FPN | 
| PSPNet | 
| PAN | 
| DeepLabV3 | 
| DeepLabV3+ | 
| UPerNet | 
| Segformer | 
| DPT | 

Models can be used with different encoders, that can be found in the Segmentation Models library [documentation](https://smp.readthedocs.io/en/latest/encoders.html).

## Usage

Our framework is designed to accommodate different types of users. Expert users can employ the framework as Python libraries or APIs, invoking various methods to analyse the dataset, perform data splitting, train segmentation models from
multiple libraries, and evaluate the results. In contrast, non-expert users can rely on a graphical wizard  that guides them through each step of the process, allowing them to configure and build segmentation models without
requiring programming knowledge. 

This wizard can also be employed by expert users to obtain an initial pipeline that can be later refined.



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/joortif/SegDAN",
    "name": "segdan",
    "maintainer": "Joaquin Ortiz de Murua Ferrero",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "joortif@unirioja.es",
    "keywords": "instance semantic segmentation pytorch huggingface embedding image analysis deep learning active learning computer vision",
    "author": "Joaquin Ortiz de Murua Ferrero",
    "author_email": "joortif@unirioja.es",
    "download_url": "https://files.pythonhosted.org/packages/5e/53/84f4b280183c5f1f2f5b054c85529211b6245719c1f00f81ad42bacdc289/segdan-0.1.5.tar.gz",
    "platform": null,
    "description": "# SegDAN\n\nIn this work, we present an AutoML framework that facilitates the construction of segmentation models implemented across multiple libraries. The framework supports users throughout the entire pipeline including the analysis and\nsplit of datasets of images, the training of the models, and their evaluation. \n\nThus, this framework will help to lower the entry barrier for applying state-of-the-art segmentation techniques.\n\n## Architecture of the framework\n\nThe workflow is depicted in the image below and can be summarized as follows:\n\nFirst, the user provides the path to a segmentation dataset, which includes a set of images and their corresponding\nannotations, and some configuration parameters. \n\nThen, the dataset is analysed to show some statistics about it, and find possible issues (like duplicates or missing information). \n\nAfter that, the dataset is split using either a hold-out or a k-fold approach. \n\nSubsequently, several segmentation models are trained and compared using different metrics. \n\nFinally, from that comparison, the best model is selected and provided to the user. \n\n![Architecture of the framework](./assets/arquitecture.png)\n\n## Compatible models\n\nCurrently, the framework is still under development, and support is limited to the [Segmentation Models](https://github.com/qubvel-org/segmentation_models.pytorch) library. The framework supports the following models for semantic segmentation:\n\n| Model name |\n|--------------|\n| Unet | \n| Unet++ |\n| MAnet | \n| Linknet | \n| FPN | \n| PSPNet | \n| PAN | \n| DeepLabV3 | \n| DeepLabV3+ | \n| UPerNet | \n| Segformer | \n| DPT | \n\nModels can be used with different encoders, that can be found in the Segmentation Models library [documentation](https://smp.readthedocs.io/en/latest/encoders.html).\n\n## Usage\n\nOur framework is designed to accommodate different types of users. Expert users can employ the framework as Python libraries or APIs, invoking various methods to analyse the dataset, perform data splitting, train segmentation models from\nmultiple libraries, and evaluate the results. In contrast, non-expert users can rely on a graphical wizard  that guides them through each step of the process, allowing them to configure and build segmentation models without\nrequiring programming knowledge. \n\nThis wizard can also be employed by expert users to obtain an initial pipeline that can be later refined.\n\n\n",
    "bugtrack_url": null,
    "license": "MIT license",
    "summary": "AutoML framework for the construction of segmentation models.",
    "version": "0.1.5",
    "project_urls": {
        "Homepage": "https://github.com/joortif/SegDAN"
    },
    "split_keywords": [
        "instance",
        "semantic",
        "segmentation",
        "pytorch",
        "huggingface",
        "embedding",
        "image",
        "analysis",
        "deep",
        "learning",
        "active",
        "learning",
        "computer",
        "vision"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5e5384f4b280183c5f1f2f5b054c85529211b6245719c1f00f81ad42bacdc289",
                "md5": "7026081a639d0e57e6bf3f3fc5fd2985",
                "sha256": "9dc1e4950ba5091208818b067f39caaa10f25b0056e02d40c9be6a3acf753880"
            },
            "downloads": -1,
            "filename": "segdan-0.1.5.tar.gz",
            "has_sig": false,
            "md5_digest": "7026081a639d0e57e6bf3f3fc5fd2985",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 71185,
            "upload_time": "2025-07-15T08:52:54",
            "upload_time_iso_8601": "2025-07-15T08:52:54.641744Z",
            "url": "https://files.pythonhosted.org/packages/5e/53/84f4b280183c5f1f2f5b054c85529211b6245719c1f00f81ad42bacdc289/segdan-0.1.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-15 08:52:54",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "joortif",
    "github_project": "SegDAN",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "albumentations",
            "specs": [
                [
                    ">=",
                    "2.0.6"
                ]
            ]
        },
        {
            "name": "huggingface_hub",
            "specs": [
                [
                    ">=",
                    "0.26.2"
                ]
            ]
        },
        {
            "name": "imagedatasetanalyzer",
            "specs": [
                [
                    ">=",
                    "0.3.4"
                ]
            ]
        },
        {
            "name": "matplotlib",
            "specs": [
                [
                    ">=",
                    "3.8.4"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    ">=",
                    "1.26.4"
                ]
            ]
        },
        {
            "name": "opencv_contrib_python",
            "specs": [
                [
                    ">=",
                    "4.9.0.80"
                ]
            ]
        },
        {
            "name": "opencv_python",
            "specs": [
                [
                    ">=",
                    "4.9.0.80"
                ]
            ]
        },
        {
            "name": "opencv_python_headless",
            "specs": [
                [
                    ">=",
                    "4.9.0.80"
                ]
            ]
        },
        {
            "name": "pandas",
            "specs": [
                [
                    ">=",
                    "2.2.3"
                ]
            ]
        },
        {
            "name": "Pillow",
            "specs": [
                [
                    ">=",
                    "11.0.0"
                ]
            ]
        },
        {
            "name": "plotly",
            "specs": [
                [
                    ">=",
                    "6.0.1"
                ]
            ]
        },
        {
            "name": "pytorch_lightning",
            "specs": [
                [
                    ">=",
                    "2.5.1"
                ]
            ]
        },
        {
            "name": "PyYAML",
            "specs": [
                [
                    ">=",
                    "6.0.2"
                ]
            ]
        },
        {
            "name": "Requests",
            "specs": [
                [
                    ">=",
                    "2.32.3"
                ]
            ]
        },
        {
            "name": "scikit_learn",
            "specs": [
                [
                    ">=",
                    "1.4.2"
                ]
            ]
        },
        {
            "name": "scikit_multilearn",
            "specs": [
                [
                    ">=",
                    "0.2.0"
                ]
            ]
        },
        {
            "name": "scikit-image",
            "specs": [
                [
                    ">=",
                    "0.22.0"
                ]
            ]
        },
        {
            "name": "scipy",
            "specs": [
                [
                    ">=",
                    "1.13.0"
                ]
            ]
        },
        {
            "name": "segmentation_models_pytorch",
            "specs": [
                [
                    "==",
                    "0.3.4"
                ]
            ]
        },
        {
            "name": "tensorflow",
            "specs": [
                [
                    ">=",
                    "2.18.0"
                ]
            ]
        },
        {
            "name": "tkinter_tooltip",
            "specs": [
                [
                    ">=",
                    "3.1.2"
                ]
            ]
        },
        {
            "name": "torch",
            "specs": [
                [
                    ">=",
                    "2.1.0"
                ]
            ]
        },
        {
            "name": "torchvision",
            "specs": [
                [
                    ">=",
                    "0.16.0"
                ]
            ]
        },
        {
            "name": "torchaudio",
            "specs": [
                [
                    ">=",
                    "2.1.0"
                ]
            ]
        },
        {
            "name": "tqdm",
            "specs": [
                [
                    ">=",
                    "4.66.6"
                ]
            ]
        },
        {
            "name": "ultralytics",
            "specs": [
                [
                    ">=",
                    "8.3.28"
                ]
            ]
        },
        {
            "name": "kneed",
            "specs": [
                [
                    ">=",
                    "0.8.5"
                ]
            ]
        },
        {
            "name": "lpips",
            "specs": [
                [
                    ">=",
                    "0.1.4"
                ]
            ]
        },
        {
            "name": "piq",
            "specs": [
                [
                    ">=",
                    "0.8.0"
                ]
            ]
        },
        {
            "name": "transformers",
            "specs": [
                [
                    ">=",
                    "4.38.2"
                ]
            ]
        },
        {
            "name": "tf-keras",
            "specs": []
        }
    ],
    "lcname": "segdan"
}
        
Elapsed time: 0.52307s