--- license: other tags: - vision - image-segmentation task_ids: - semantic-segmentation datasets: - lapix/CCAgT widget: - src: https://huggingface.co/lapix/segformer-b3-finetuned-ccagt-400-300/resolve/main/sampleA.png example_title: Sample A - src: https://huggingface.co/lapix/segformer-b3-finetuned-ccagt-400-300/resolve/main/sampleB.png example_title: Sample B --- # SegFormer (b3-sized) model fine-tuned on CCAgT dataset SegFormer model fine-tuned on CCAgT dataset at resolution 400x300. It was introduced in the paper [Semantic Segmentation for the Detection of Very Small Objects on Cervical Cell Samples Stained with the {AgNOR} Technique](https://doi.org/10.2139/ssrn.4126881) by [J. G. A. Amorim](https://huggingface.co/johnnv) et al. This model was trained in a subset of [CCAgT dataset](https://huggingface.co/datasets/lapix/CCAgT/), so perform a evaluation of this model on the dataset available at HF will differ from the results presented in the paper. For more information about how the model was trained, read the paper. Disclaimer: This model card has been written based on the SegFormer [model card](https://huggingface.co/nvidia/mit-b3/blob/main/README.md) by the Hugging Face team. ## Model description SegFormer consists of a hierarchical Transformer encoder and a lightweight all-MLP decode head to achieve great results on semantic segmentation benchmarks such as ADE20K and Cityscapes. The hierarchical Transformer is first pre-trained on ImageNet-1k, after which a decode head is added and fine-tuned altogether on a downstream dataset. This repository only contains the pre-trained hierarchical Transformer, hence it can be used for fine-tuning purposes. ## Intended uses & limitations You can use the model for fine-tuning of semantic segmentation. See the [model hub](https://huggingface.co/models?other=segformer) to look for fine-tuned versions on a task that interests you. ### How to use Here is how to use this model to segment an image of the CCAgT dataset: ```python from transformers import AutoFeatureExtractor, SegformerForSemanticSegmentation from PIL import Image import requests url = "https://huggingface.co/lapix/segformer-b3-finetuned-ccagt-400-300/resolve/main/sampleB.png" image = Image.open(requests.get(url, stream=True).raw)) model = SegformerForSemanticSegmentation.from_pretrained("lapix/segformer-b3-finetuned-ccagt-400-300") feature_extractor = AutoFeatureExtractor.from_pretrained("lapix/segformer-b3-finetuned-ccagt-400-300") pixel_values = feature_extractor(images=image, return_tensors="pt") outputs = model(pixel_values=pixel_values) logits = outputs.logits # Rescale logits to original image size (400, 300) upsampled_logits = nn.functional.interpolate( logits, size=img.size[::-1], # (height, width) mode="bilinear", align_corners=False, ) segmentation_mask = upsampled_logits.argmax(dim=1)[0] print("Predicted mask:", segmentation_mask) ``` For more code examples, we refer to the [documentation](https://huggingface.co/transformers/model_doc/segformer.html#). ### License The license for this model can be found [here](https://github.com/NVlabs/SegFormer/blob/master/LICENSE). ### BibTeX entry and citation info ```bibtex @article{AtkinsonSegmentationAgNORSSRN2022, author= {Jo{\~{a}}o Gustavo Atkinson Amorim and Andr{\'{e}} Vict{\'{o}}ria Matias and Allan Cerentini and Fabiana Botelho de Miranda Onofre and Alexandre Sherlley Casimiro Onofre and Aldo von Wangenheim}, doi = {10.2139/ssrn.4126881}, url = {https://doi.org/10.2139/ssrn.4126881}, year = {2022}, publisher = {Elsevier {BV}}, title = {Semantic Segmentation for the Detection of Very Small Objects on Cervical Cell Samples Stained with the {AgNOR} Technique}, journal = {{SSRN} Electronic Journal} } ```