Einfach zu bedienende und anpassbare SOTA -SETA -Segmentierungsmodelle mit reichlich vorhandenen Datensätzen in Pytorch

Seit 2022 wurde viel geändert. Heutzutage gibt es sogar Segmentierungsmodelle für Open-World (Segment irgendetwas). Herkömmliche Segmentierungsmodelle sind jedoch immer noch nach hoher Genauigkeit und kundenspezifischen Anwendungsfällen gefragt. Dieses Repo wird gemäß der neuen Pytorch -Version, aktualisierten Modellen und Dokumentationen für die Verwendung mit einem benutzerdefinierten Datensatz usw. aktualisiert.
Erwartete Veröffentlichungsdatum -> Mai 2024
Geplante Funktionen:
Aktuelle Funktionen, die verworfen werden sollen:
Unterstützte Rückgrat:
Unterstützte Köpfe/Methoden:
Unterstützte eigenständige Modelle:
Unterstützte Module:
Siehe Modelle für Benchmarks und verfügbare vorgeborene Modelle.
Und überprüfen Sie Backbones für unterstützte Rückgressgrenze.
Anmerkungen: Die meisten Methoden haben keine vorgeborenen Modelle. Es ist sehr schwierig, verschiedene Modelle mit vorgeborenen Gewichten in einem Repository und einer begrenzten Ressource zu kombinieren, um mich neu zu erledigen.
Szene analysieren:
Menschliches Parsen:
Gesicht an Parsen:
Andere:
Weitere Informationen und Datensatzvorbereitung finden Sie in Datensätzen.
Überprüfen Sie das Notizbuch hier, um die Augmentationseffekte zu testen.
Transformationen auf Pixelebene:
Räumliche Transformationen auf der Ebene:
Klonen Sie dann das Repo und installieren Sie das Projekt mit:
$ git clone https://github.com/sithu31296/semantic-segmentation
$ cd semantic-segmentation
$ pip install -e . Erstellen Sie eine Konfigurationsdatei in configs . Beispielkonfiguration für ADE20K -Datensatz finden Sie hier. Bearbeiten Sie dann die Felder, von denen Sie denken, dass es benötigt wird. Diese Konfigurationsdatei ist für alle Skripte für Trainings-, Evaluierung und Vorhersage erforderlich.
Mit einer einzigen GPU trainieren:
$ python tools/train.py --cfg configs/CONFIG_FILE.yaml Um mit mehreren GPUs zu trainieren, setzen Sie DDP -Feld in der Konfigurationsdatei auf true und rennen Sie wie folgt aus:
$ python -m torch.distributed.launch --nproc_per_node=2 --use_env tools/train.py --cfg configs/ < CONFIG_FILE_NAME > .yaml Stellen Sie sicher, dass das MODEL_PATH der Konfigurationsdatei in Ihrem geschulten Modellverzeichnis festgelegt wird.
$ python tools/val.py --cfg configs/ < CONFIG_FILE_NAME > .yaml Um mit mehreren Maßstäben und Flip zu bewerten, ENABLE Sie das Feld in MSF auf true und führen Sie denselben Befehl wie oben aus.
Um einen Schluss zu erzielen, bearbeiten Sie die Parameter der Konfigurationsdatei von unten.
MODEL >> NAME und BACKBONE in Ihr gewünschtes vorbereitetes Modell.DATASET >> NAME in den Datensatznamen abhängig vom vorbereiteten Modell.TEST >> MODEL_PATH auf vorbereitete Gewichte des Testmodells.TEST >> FILE in den Datei- oder Bildordnerpfad, den Sie testen möchten.SAVE_DIR gespeichert. # # example using ade20k pretrained models
$ python tools/infer.py --cfg configs/ade20k.yamlBeispiel-Testergebnisse (Segformer-B2):

Um in ONNX und COREML umzuwandeln, rennen Sie:
$ python tools/export.py --cfg configs/ < CONFIG_FILE_NAME > .yamlUm in OpenVino und Tflite zu konvertieren, siehe Torch_optimize.
# # ONNX Inference
$ python scripts/onnx_infer.py --model < ONNX_MODEL_PATH > --img-path < TEST_IMAGE_PATH >
# # OpenVINO Inference
$ python scripts/openvino_infer.py --model < OpenVINO_MODEL_PATH > --img-path < TEST_IMAGE_PATH >
# # TFLite Inference
$ python scripts/tflite_infer.py --model < TFLite_MODEL_PATH > --img-path < TEST_IMAGE_PATH > @article{xie2021segformer,
title={SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers},
author={Xie, Enze and Wang, Wenhai and Yu, Zhiding and Anandkumar, Anima and Alvarez, Jose M and Luo, Ping},
journal={arXiv preprint arXiv:2105.15203},
year={2021}
}
@misc{xiao2018unified,
title={Unified Perceptual Parsing for Scene Understanding},
author={Tete Xiao and Yingcheng Liu and Bolei Zhou and Yuning Jiang and Jian Sun},
year={2018},
eprint={1807.10221},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
@article{hong2021deep,
title={Deep Dual-resolution Networks for Real-time and Accurate Semantic Segmentation of Road Scenes},
author={Hong, Yuanduo and Pan, Huihui and Sun, Weichao and Jia, Yisong},
journal={arXiv preprint arXiv:2101.06085},
year={2021}
}
@misc{zhang2021rest,
title={ResT: An Efficient Transformer for Visual Recognition},
author={Qinglong Zhang and Yubin Yang},
year={2021},
eprint={2105.13677},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
@misc{huang2021fapn,
title={FaPN: Feature-aligned Pyramid Network for Dense Image Prediction},
author={Shihua Huang and Zhichao Lu and Ran Cheng and Cheng He},
year={2021},
eprint={2108.07058},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
@misc{wang2021pvtv2,
title={PVTv2: Improved Baselines with Pyramid Vision Transformer},
author={Wenhai Wang and Enze Xie and Xiang Li and Deng-Ping Fan and Kaitao Song and Ding Liang and Tong Lu and Ping Luo and Ling Shao},
year={2021},
eprint={2106.13797},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
@article{Liu2021PSA,
title={Polarized Self-Attention: Towards High-quality Pixel-wise Regression},
author={Huajun Liu and Fuqiang Liu and Xinyi Fan and Dong Huang},
journal={Arxiv Pre-Print arXiv:2107.00782 },
year={2021}
}
@misc{chao2019hardnet,
title={HarDNet: A Low Memory Traffic Network},
author={Ping Chao and Chao-Yang Kao and Yu-Shan Ruan and Chien-Hsiang Huang and Youn-Long Lin},
year={2019},
eprint={1909.00948},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
@inproceedings{sfnet,
title={Semantic Flow for Fast and Accurate Scene Parsing},
author={Li, Xiangtai and You, Ansheng and Zhu, Zhen and Zhao, Houlong and Yang, Maoke and Yang, Kuiyuan and Tong, Yunhai},
booktitle={ECCV},
year={2020}
}
@article{Li2020SRNet,
title={Towards Efficient Scene Understanding via Squeeze Reasoning},
author={Xiangtai Li and Xia Li and Ansheng You and Li Zhang and Guang-Liang Cheng and Kuiyuan Yang and Y. Tong and Zhouchen Lin},
journal={ArXiv},
year={2020},
volume={abs/2011.03308}
}
@ARTICLE{Yucondnet21,
author={Yu, Changqian and Shao, Yuanjie and Gao, Changxin and Sang, Nong},
journal={IEEE Signal Processing Letters},
title={CondNet: Conditional Classifier for Scene Segmentation},
year={2021},
volume={28},
number={},
pages={758-762},
doi={10.1109/LSP.2021.3070472}
}
@misc{yan2022lawin,
title={Lawin Transformer: Improving Semantic Segmentation Transformer with Multi-Scale Representations via Large Window Attention},
author={Haotian Yan and Chuang Zhang and Ming Wu},
year={2022},
eprint={2201.01615},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
@misc{yu2021metaformer,
title={MetaFormer is Actually What You Need for Vision},
author={Weihao Yu and Mi Luo and Pan Zhou and Chenyang Si and Yichen Zhou and Xinchao Wang and Jiashi Feng and Shuicheng Yan},
year={2021},
eprint={2111.11418},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
@misc{wightman2021resnet,
title={ResNet strikes back: An improved training procedure in timm},
author={Ross Wightman and Hugo Touvron and Hervé Jégou},
year={2021},
eprint={2110.00476},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
@misc{liu2022convnet,
title={A ConvNet for the 2020s},
author={Zhuang Liu and Hanzi Mao and Chao-Yuan Wu and Christoph Feichtenhofer and Trevor Darrell and Saining Xie},
year={2022},
eprint={2201.03545},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
@misc{li2022uniformer,
title={UniFormer: Unifying Convolution and Self-attention for Visual Recognition},
author={Kunchang Li and Yali Wang and Junhao Zhang and Peng Gao and Guanglu Song and Yu Liu and Hongsheng Li and Yu Qiao},
year={2022},
eprint={2201.09450},
archivePrefix={arXiv},
primaryClass={cs.CV}
}