{"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/a-normalized-gaussian-wasserstein-distance","title":"A Normalized Gaussian Wasserstein Distance for Tiny Object Detection","arxiv_id":"2110.13389","date":"2021-10-26","proceeding":null,"authors":["Jinwang Wang","Chang Xu","Wen Yang","Lei Yu"],"abstract":"Detecting tiny objects is a very challenging problem since a tiny object only contains a few pixels in size. We demonstrate that state-of-the-art detectors do not produce satisfactory results on tiny objects due to the lack of appearance information. Our key observation is that Intersection over Union (IoU) based metrics such as IoU itself and its extensions are very sensitive to the location deviation of the tiny objects, and drastically deteriorate the detection performance when used in anchor-based detectors. To alleviate this, we propose a new evaluation metric using Wasserstein distance for tiny object detection. Specifically, we first model the bounding boxes as 2D Gaussian distributions and then propose a new metric dubbed Normalized Wasserstein Distance (NWD) to compute the similarity between them by their corresponding Gaussian distributions. The proposed NWD metric can be easily embedded into the assignment, non-maximum suppression, and loss function of any anchor-based detector to replace the commonly used IoU metric. We evaluate our metric on a new dataset for tiny object detection (AI-TOD) in which the average object size is much smaller than existing object detection datasets. Extensive experiments show that, when equipped with NWD metric, our approach yields performance that is 6.7 AP points higher than a standard fine-tuning baseline, and 6.0 AP points higher than state-of-the-art competitors. Codes are available at: https://github.com/jwwangchn/NWD.","url_abs":"https://arxiv.org/abs/2110.13389v2","url_pdf":"https://arxiv.org/pdf/2110.13389v2.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":"a-normalized-gaussian-wasserstein-distance","repo_url":"https://github.com/jwwangchn/NWD","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"a-normalized-gaussian-wasserstein-distance","repo_url":"https://github.com/bhyun-kim/NWD","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"a-normalized-gaussian-wasserstein-distance","repo_url":"https://github.com/pierlj/pycocosiou","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}}],"tasks":[{"task_slug":"object","task_name":"Object"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"small-object-detection","task_name":"Small Object Detection"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/object-detection-on-ai-tod","task":"Object Detection","dataset":"AI-TOD","model":"DetectoRS + NWD (ResNet-50-FPN)","rank_in_archive_order":3,"of":7,"metrics":{"AP":"20.8","AP50":"49.3","AP75":"14.3","APm":"38.3","APs":"29.6","APt":"19.7","APvt":"6.4"},"uses_additional_data":false},{"leaderboard":"/sota/object-detection-on-visdrone-det2019-1","task":"Object Detection","dataset":"VisDrone-DET2019","model":"Cascade R-CNN + NWD","rank_in_archive_order":4,"of":5,"metrics":{"AP50":"40.3","APs":"22.2","APt":"11.1","APvt":"2.9"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2110.13389","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2110.13389"}},"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/bhyun-kim/NWD","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/pierlj/pycocosiou","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/jwwangchn/NWD","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":2},"by_repo_kind":{"official":{"samples":2,"ran":2,"repositories":1}},"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":0,"samples":[{"code_sha256_prefix":"2268355e37eebb82","entry":"get_final_results","repo":"jwwangchn/NWD","repo_kind":"official","path":".dev_scripts/gather_models.py","file_url":"https://github.com/jwwangchn/NWD/blob/HEAD/.dev_scripts/gather_models.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2268355e37eebb82"}},{"code_sha256_prefix":"ae35528c6bd4bd1c","entry":"process_checkpoint","repo":"jwwangchn/NWD","repo_kind":"official","path":".dev_scripts/gather_models.py","file_url":"https://github.com/jwwangchn/NWD/blob/HEAD/.dev_scripts/gather_models.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ae35528c6bd4bd1c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}