# 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.

## 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\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"
}