{"id":18843005,"url":"https://github.com/nv-tlabs/steal","last_synced_at":"2025-04-05T08:06:43.474Z","repository":{"id":34961936,"uuid":"181571095","full_name":"nv-tlabs/STEAL","owner":"nv-tlabs","description":"STEAL - Learning Semantic Boundaries from Noisy Annotations (CVPR 2019)","archived":false,"fork":false,"pushed_at":"2023-10-23T16:32:14.000Z","size":44103,"stargazers_count":479,"open_issues_count":11,"forks_count":66,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-03-29T07:05:37.178Z","etag":null,"topics":["annotation","cvpr2019","deep-learning","devil-is-in-the-edges","nv-tlabs","pytorch","semantic-boundaries","semantic-segmentation","steal"],"latest_commit_sha":null,"homepage":"https://nv-tlabs.github.io/STEAL/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nv-tlabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-04-15T21:53:33.000Z","updated_at":"2025-01-12T11:22:58.000Z","dependencies_parsed_at":"2023-01-15T11:15:38.872Z","dependency_job_id":null,"html_url":"https://github.com/nv-tlabs/STEAL","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nv-tlabs%2FSTEAL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nv-tlabs%2FSTEAL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nv-tlabs%2FSTEAL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nv-tlabs%2FSTEAL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nv-tlabs","download_url":"https://codeload.github.com/nv-tlabs/STEAL/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247305933,"owners_count":20917208,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["annotation","cvpr2019","deep-learning","devil-is-in-the-edges","nv-tlabs","pytorch","semantic-boundaries","semantic-segmentation","steal"],"created_at":"2024-11-08T02:56:21.023Z","updated_at":"2025-04-05T08:06:43.451Z","avatar_url":"https://github.com/nv-tlabs.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# STEAL\nThis is the official inference code for:\n\n#### Devil Is in the Edges: Learning Semantic Boundaries from Noisy Annotations\n\n[David Acuna](http://www.cs.toronto.edu/~davidj/), [Amlan Kar](http://www.cs.toronto.edu/~amlan/), [Sanja Fidler](http://www.cs.toronto.edu/~fidler/)\n\nCVPR 2019\n**[[Paper](https://arxiv.org/abs/1904.07934)]  [[Project Page](https://nv-tlabs.github.io/STEAL/)]**\n\n![STEAL DEMO](https://nv-tlabs.github.io/STEAL/resources/teaser_gif.gif)\n\n\n\n## License\n```\n# Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved.\n#\n# Redistribution and use in source and binary forms, with or without\n# modification, are permitted provided that the following conditions\n# are met:\n#  * Redistributions of source code must retain the above copyright\n#    notice, this list of conditions and the following disclaimer.\n#  * Redistributions in binary form must reproduce the above copyright\n#    notice, this list of conditions and the following disclaimer in the\n#    documentation and/or other materials provided with the distribution.\n#  * Neither the name of NVIDIA CORPORATION nor the names of its\n#    contributors may be used to endorse or promote products derived\n#    from this software without specific prior written permission.\n#\n# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY\n# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n# PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR\n# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n```\n## Usage\n\n##### Clone this repo\n```bash\ngit clone https://github.com/nv-tlabs/STEAL\ncd STEAL\n ```\n\n#### Install dependencies\n\nThis code requires PyTorch 0.4 and python 3+. Please install dependencies by\n```\npip install -r requirments.txt\n```\n\n#### Download pretrained models\n\nDownload the tar of the pretrained models from the [Google Drive Folder](https://drive.google.com/open?id=15IrPfMe9ZXJ4g0UV7tcA-LWPzCIPc1Sr), save it in 'checkpoints/', and run\n\n```bash\ncd checkpoints\ntar -xvf checkpoints.tar.gz\ncd ../\n```\n\n\n#### Inference (SBD)\n```\npython inference_sbd.py \\\n    --root_dir_val= ./data/sbd/data_aug/\\\n    --flist_val= ./data/sbd/data_aug/val_list.txt\\\n    --output_folder=./output/sbd/ \\\n    --ckpt=./checkpoints/sbd/model_checkpoint.pt\\\n```\n\nInstructions and preprocessing scripts to download SBD and preprocess the dataset can be found here:\nhttps://github.com/Chrisding/sbd-preprocess\n\n\n\n#### Inference (Cityscapes)\n```\npython inference_cityscapes.py \\\n    --root_dir_val=./data/cityscapes-preprocess/data_proc \\\n    --flist_val=./data_proc/val.txt \\\n    --output_folder=./output/cityscapes/ \\\n    --ckpt=./checkpoints/cityscapes/model_checkpoint.pt\\\n```\n\nInstructions and preprocessing scripts for Cityscapes can be found here:\nhttps://github.com/Chrisding/cityscapes-preprocess\n\n\n\n*Test-NMS:*\nAn  example of how to apply TEST-NMS using [Piotr's Structured Forest matlab toolbox](https://github.com/pdollar/edges). can be found in `utils/edges_nms.m`.\nDuring training, we optimized for the same set of operations with r=2 (Check paper for more details)\n\n\n#### Coarse-to-fine Demo\nCheckout the ipython notebook that provides a simple walkthrough demonstrating how to run our model to refine coarsely annotated data.\n\n![Coarse to Fine](https://nv-tlabs.github.io/STEAL/resources/coarse_to_fine_g.gif)\n\nIf you use this code, please cite:\n\n```\n@inproceedings{AcunaCVPR19STEAL,\ntitle={Devil is in the Edges: Learning Semantic Boundaries from Noisy Annotations},\nauthor={David Acuna and Amlan Kar and Sanja Fidler},\nbooktitle={CVPR},\nyear={2019}\n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnv-tlabs%2Fsteal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnv-tlabs%2Fsteal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnv-tlabs%2Fsteal/lists"}