{"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/pad-a-dataset-and-benchmark-for-pose-agnostic-1","title":"PAD: A Dataset and Benchmark for Pose-agnostic Anomaly Detection","arxiv_id":"2310.07716","date":"2023-10-11","proceeding":"NeurIPS 2023 11","authors":["Qiang Zhou","Weize Li","Lihan Jiang","Guoliang Wang","Guyue Zhou","Shanghang Zhang","Hao Zhao"],"abstract":"Object anomaly detection is an important problem in the field of machine vision and has seen remarkable progress recently. However, two significant challenges hinder its research and application. First, existing datasets lack comprehensive visual information from various pose angles. They usually have an unrealistic assumption that the anomaly-free training dataset is pose-aligned, and the testing samples have the same pose as the training data. However, in practice, anomaly may exist in any regions on a object, the training and query samples may have different poses, calling for the study on pose-agnostic anomaly detection. Second, the absence of a consensus on experimental protocols for pose-agnostic anomaly detection leads to unfair comparisons of different methods, hindering the research on pose-agnostic anomaly detection. To address these issues, we develop Multi-pose Anomaly Detection (MAD) dataset and Pose-agnostic Anomaly Detection (PAD) benchmark, which takes the first step to address the pose-agnostic anomaly detection problem. Specifically, we build MAD using 20 complex-shaped LEGO toys including 4K views with various poses, and high-quality and diverse 3D anomalies in both simulated and real environments. Additionally, we propose a novel method OmniposeAD, trained using MAD, specifically designed for pose-agnostic anomaly detection. Through comprehensive evaluations, we demonstrate the relevance of our dataset and method. Furthermore, we provide an open-source benchmark library, including dataset and baseline methods that cover 8 anomaly detection paradigms, to facilitate future research and application in this domain. Code, data, and models are publicly available at https://github.com/EricLee0224/PAD.","url_abs":"https://arxiv.org/abs/2310.07716v1","url_pdf":"https://arxiv.org/pdf/2310.07716v1.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":"pad-a-dataset-and-benchmark-for-pose-agnostic-1","repo_url":"https://github.com/ericlee0224/pad","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"4k","task_name":"4k"},{"task_slug":"anomaly-detection","task_name":"Anomaly Detection"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/anomaly-detection-on-pad-dataset","task":"Anomaly Detection","dataset":"PAD Dataset","model":"OmniposeAD","rank_in_archive_order":2,"of":2,"metrics":{"Detection AUROC":"90.9","Segmentation AUROC":"97.8"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/2310.07716","atlas_url":"https://app.syntology.ai/?focus=2310.07716","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2310.07716"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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":"deterministic:regex_extraction","url":"https://github.com/EricLee0224/PAD","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ericlee0224/pad","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_fixture":1,"ran":9},"by_repo_kind":{"official":{"samples":10,"ran":10,"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":"d5b20d47c0675398","entry":"build_position_embedding","repo":"EricLee0224/PAD","repo_kind":"official","path":"models/reconstructions/uniad.py","file_url":"https://github.com/EricLee0224/PAD/blob/HEAD/models/reconstructions/uniad.py","link_basis":"plan_row","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d5b20d47c0675398"}},{"code_sha256_prefix":"fe5ed3e943aa408e","entry":"conv1x1","repo":"EricLee0224/PAD","repo_kind":"official","path":"models/backbones/resnet.py","file_url":"https://github.com/EricLee0224/PAD/blob/HEAD/models/backbones/resnet.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fe5ed3e943aa408e"}},{"code_sha256_prefix":"2db7a58e9288f8c7","entry":"conv3x3","repo":"EricLee0224/PAD","repo_kind":"official","path":"models/backbones/resnet.py","file_url":"https://github.com/EricLee0224/PAD/blob/HEAD/models/backbones/resnet.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2db7a58e9288f8c7"}},{"code_sha256_prefix":"0e1afed8adcfa654","entry":"extract_feature","repo":"EricLee0224/PAD","repo_kind":"official","path":"retrieval/retrieval.py","file_url":"https://github.com/EricLee0224/PAD/blob/HEAD/retrieval/retrieval.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0e1afed8adcfa654"}},{"code_sha256_prefix":"1a9ae5954fd68227","entry":"get_file_list","repo":"EricLee0224/PAD","repo_kind":"official","path":"retrieval/retrieval.py","file_url":"https://github.com/EricLee0224/PAD/blob/HEAD/retrieval/retrieval.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1a9ae5954fd68227"}},{"code_sha256_prefix":"4d22a5aa0e4076cf","entry":"load_data","repo":"EricLee0224/PAD","repo_kind":"official","path":"retrieval/retrieval.py","file_url":"https://github.com/EricLee0224/PAD/blob/HEAD/retrieval/retrieval.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4d22a5aa0e4076cf"}},{"code_sha256_prefix":"22ba49fbcec1ce70","entry":"pro_auc_pxl","repo":"EricLee0224/PAD","repo_kind":"official","path":"util/metric.py","file_url":"https://github.com/EricLee0224/PAD/blob/HEAD/util/metric.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"22ba49fbcec1ce70"}},{"code_sha256_prefix":"cc3e33dc909f7c67","entry":"roc_auc_img","repo":"EricLee0224/PAD","repo_kind":"official","path":"util/metric.py","file_url":"https://github.com/EricLee0224/PAD/blob/HEAD/util/metric.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cc3e33dc909f7c67"}},{"code_sha256_prefix":"e7389f8fe22ffdb6","entry":"roc_auc_pxl","repo":"EricLee0224/PAD","repo_kind":"official","path":"util/metric.py","file_url":"https://github.com/EricLee0224/PAD/blob/HEAD/util/metric.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e7389f8fe22ffdb6"}},{"code_sha256_prefix":"427a2475db8d1dd1","entry":"vec2ss_matrix","repo":"EricLee0224/PAD","repo_kind":"official","path":"util/inerf_helpers.py","file_url":"https://github.com/EricLee0224/PAD/blob/HEAD/util/inerf_helpers.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"427a2475db8d1dd1"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}