{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/efficient-hybrid-transformer-learning-global","title":"UNetFormer: A UNet-like Transformer for Efficient Semantic Segmentation of Remote Sensing Urban Scene Imagery","arxiv_id":"2109.08937","date":"2021-09-18","proceeding":null,"authors":["Libo Wang","Rui Li","Ce Zhang","Shenghui Fang","Chenxi Duan","Xiaoliang Meng","Peter M. Atkinson"],"abstract":"Semantic segmentation of remotely sensed urban scene images is required in a wide range of practical applications, such as land cover mapping, urban change detection, environmental protection, and economic assessment.Driven by rapid developments in deep learning technologies, the convolutional neural network (CNN) has dominated semantic segmentation for many years. CNN adopts hierarchical feature representation, demonstrating strong capabilities for local information extraction. However, the local property of the convolution layer limits the network from capturing the global context. Recently, as a hot topic in the domain of computer vision, Transformer has demonstrated its great potential in global information modelling, boosting many vision-related tasks such as image classification, object detection, and particularly semantic segmentation. In this paper, we propose a Transformer-based decoder and construct a UNet-like Transformer (UNetFormer) for real-time urban scene segmentation. For efficient segmentation, the UNetFormer selects the lightweight ResNet18 as the encoder and develops an efficient global-local attention mechanism to model both global and local information in the decoder. Extensive experiments reveal that our method not only runs faster but also produces higher accuracy compared with state-of-the-art lightweight models. Specifically, the proposed UNetFormer achieved 67.8% and 52.4% mIoU on the UAVid and LoveDA datasets, respectively, while the inference speed can achieve up to 322.4 FPS with a 512x512 input on a single NVIDIA GTX 3090 GPU. In further exploration, the proposed Transformer-based decoder combined with a Swin Transformer encoder also achieves the state-of-the-art result (91.3% F1 and 84.1% mIoU) on the Vaihingen dataset. The source code will be freely available at https://github.com/WangLibo1995/GeoSeg.","url_abs":"https://arxiv.org/abs/2109.08937v4","url_pdf":"https://arxiv.org/pdf/2109.08937v4.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"efficient-hybrid-transformer-learning-global","repo_url":"https://github.com/WangLibo1995/GeoSeg","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"change-detection","task_name":"Change Detection"},{"task_slug":"decoder","task_name":"Decoder"},{"task_slug":null,"task_name":"GPU"},{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"scene-segmentation","task_name":"Scene Segmentation"},{"task_slug":"segmentation","task_name":"Segmentation"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"},{"task_slug":"image-classification","task_name":"image-classification"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[{"method_slug":"absolute-position-encodings","method_name":"Absolute Position Encodings"},{"method_slug":"adam","method_name":"Adam"},{"method_slug":"attention","method_name":"Attention"},{"method_slug":"bpe","method_name":"BPE"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"global-local-attention","method_name":"Global-Local Attention"},{"method_slug":"label-smoothing","method_name":"Label Smoothing"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"position-wise-feed-forward-layer","method_name":"Position-Wise Feed-Forward Layer"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"stochastic-depth","method_name":"Stochastic Depth"},{"method_slug":"swin-transformer","method_name":"Swin Transformer"},{"method_slug":"transformer","method_name":"Transformer"},{"method_slug":"vision-transformer","method_name":"Vision Transformer"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/scene-segmentation-on-uavid","task":"Scene Segmentation","dataset":"UAVid","model":"UNetFormer","rank_in_archive_order":1,"of":1,"metrics":{"Category mIoU":"67.8"},"uses_additional_data":false},{"leaderboard":"/sota/semantic-segmentation-on-isprs-potsdam","task":"Semantic Segmentation","dataset":"ISPRS Potsdam","model":"FT-UNetFormer","rank_in_archive_order":3,"of":20,"metrics":{"Mean F1":"93.3","Mean IoU":"87.5","Overall Accuracy":"92.0"},"uses_additional_data":true},{"leaderboard":"/sota/semantic-segmentation-on-isprs-potsdam","task":"Semantic Segmentation","dataset":"ISPRS Potsdam","model":"UNetFormer","rank_in_archive_order":9,"of":20,"metrics":{"Mean F1":"92.8","Mean IoU":"86.8","Overall Accuracy":"91.3"},"uses_additional_data":true},{"leaderboard":"/sota/semantic-segmentation-on-isprs-vaihingen","task":"Semantic Segmentation","dataset":"ISPRS Vaihingen","model":"FT-UNetFormer","rank_in_archive_order":4,"of":12,"metrics":{"Average F1":"91.3","Category mIoU":"84.1","Overall Accuracy":"91.6"},"uses_additional_data":false},{"leaderboard":"/sota/semantic-segmentation-on-isprs-vaihingen","task":"Semantic Segmentation","dataset":"ISPRS Vaihingen","model":"UNetFormer","rank_in_archive_order":6,"of":12,"metrics":{"Average F1":"90.4","Category mIoU":"82.7","Overall Accuracy":"91.0"},"uses_additional_data":false},{"leaderboard":"/sota/semantic-segmentation-on-loveda","task":"Semantic Segmentation","dataset":"LoveDA","model":"UNetFormer","rank_in_archive_order":16,"of":19,"metrics":{"Category mIoU":"52.40"},"uses_additional_data":false},{"leaderboard":"/sota/semantic-segmentation-on-potsdam","task":"Semantic Segmentation","dataset":"Potsdam","model":"UnetFormer","rank_in_archive_order":4,"of":11,"metrics":{"mIoU":"85.18"},"uses_additional_data":false},{"leaderboard":"/sota/semantic-segmentation-on-uavid","task":"Semantic Segmentation","dataset":"UAVid","model":"UNetFormer","rank_in_archive_order":8,"of":10,"metrics":{"Mean IoU":"67.8"},"uses_additional_data":false},{"leaderboard":"/sota/semantic-segmentation-on-us3d","task":"Semantic Segmentation","dataset":"US3D","model":"UNetFormer","rank_in_archive_order":7,"of":11,"metrics":{"mIoU":"74.77"},"uses_additional_data":false},{"leaderboard":"/sota/semantic-segmentation-on-vaihingen","task":"Semantic Segmentation","dataset":"Vaihingen","model":"UnetFormer","rank_in_archive_order":5,"of":13,"metrics":{"mIoU":"77.24"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2109.08937","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2109.08937"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/WangLibo1995/GeoSeg","reach":null}],"summary":{"ran_honours":2},"by_repo_kind":{},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":2,"samples":[{"code_sha256_prefix":"26c944dd82abe226","entry":"building_to_rgb","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"26c944dd82abe226"}},{"code_sha256_prefix":"c61ff15aebac7e02","entry":"pv2rgb","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"c61ff15aebac7e02"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}