{"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/weakly-supervised-temporal-anomaly","title":"Weakly Supervised Temporal Anomaly Segmentation with Dynamic Time Warping","arxiv_id":"2108.06816","date":"2021-08-15","proceeding":"ICCV 2021 10","authors":["Dongha Lee","Sehun Yu","Hyunjun Ju","Hwanjo Yu"],"abstract":"Most recent studies on detecting and localizing temporal anomalies have mainly employed deep neural networks to learn the normal patterns of temporal data in an unsupervised manner. Unlike them, the goal of our work is to fully utilize instance-level (or weak) anomaly labels, which only indicate whether any anomalous events occurred or not in each instance of temporal data. In this paper, we present WETAS, a novel framework that effectively identifies anomalous temporal segments (i.e., consecutive time points) in an input instance. WETAS learns discriminative features from the instance-level labels so that it infers the sequential order of normal and anomalous segments within each instance, which can be used as a rough segmentation mask. Based on the dynamic time warping (DTW) alignment between the input instance and its segmentation mask, WETAS obtains the result of temporal segmentation, and simultaneously, it further enhances itself by using the mask as additional supervision. Our experiments show that WETAS considerably outperforms other baselines in terms of the localization of temporal anomalies, and also it provides more informative results than point-level detection methods.","url_abs":"https://arxiv.org/abs/2108.06816v1","url_pdf":"https://arxiv.org/pdf/2108.06816v1.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":"weakly-supervised-temporal-anomaly","repo_url":"https://github.com/donalee/wetas","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"anomaly-segmentation","task_name":"Anomaly Segmentation"},{"task_slug":"dynamic-time-warping","task_name":"Dynamic Time Warping"},{"task_slug":"segmentation","task_name":"Segmentation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2108.06816","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2108.06816"}},"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/donalee/wetas","reach":null},{"provenance":"deterministic:regex_extraction","url":"https://github.com/smallcowbaby/OmniAnomaly","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":8,"unverified":4},"by_repo_kind":{"official":{"samples":2,"ran":2,"repositories":1},"found_in_text":{"samples":10,"ran":6,"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":2,"samples":[{"code_sha256_prefix":"2fba3d893644882d","entry":"DilatedCNN","repo":"donalee/wetas","repo_kind":"official","path":"model.py","file_url":"https://github.com/donalee/wetas/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"2fba3d893644882d"}},{"code_sha256_prefix":"1096aff86f091367","entry":"ResidualBlock","repo":"donalee/wetas","repo_kind":"official","path":"model.py","file_url":"https://github.com/donalee/wetas/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"1096aff86f091367"}},{"code_sha256_prefix":"858be1b3d7a01efa","entry":"adjust_predicts","repo":"smallcowbaby/OmniAnomaly","repo_kind":"found_in_text","path":"omni_anomaly/eval_methods.py","file_url":"https://github.com/smallcowbaby/OmniAnomaly/blob/HEAD/omni_anomaly/eval_methods.py","link_basis":"plan_row","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":"858be1b3d7a01efa"}},{"code_sha256_prefix":"e4c7d8229585523b","entry":"backMean","repo":"smallcowbaby/OmniAnomaly","repo_kind":"found_in_text","path":"omni_anomaly/spot.py","file_url":"https://github.com/smallcowbaby/OmniAnomaly/blob/HEAD/omni_anomaly/spot.py","link_basis":"plan_row","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":"e4c7d8229585523b"}},{"code_sha256_prefix":"dc9eba4733cf0ef2","entry":"calc_point2point","repo":"smallcowbaby/OmniAnomaly","repo_kind":"found_in_text","path":"omni_anomaly/eval_methods.py","file_url":"https://github.com/smallcowbaby/OmniAnomaly/blob/HEAD/omni_anomaly/eval_methods.py","link_basis":"harvester_set","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":"dc9eba4733cf0ef2"}},{"code_sha256_prefix":"f6c42ef7db9216b0","entry":"calc_seq","repo":"smallcowbaby/OmniAnomaly","repo_kind":"found_in_text","path":"omni_anomaly/eval_methods.py","file_url":"https://github.com/smallcowbaby/OmniAnomaly/blob/HEAD/omni_anomaly/eval_methods.py","link_basis":"plan_row","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":"f6c42ef7db9216b0"}},{"code_sha256_prefix":"f4c6bcd6ed01498a","entry":"get_data_dim","repo":"smallcowbaby/OmniAnomaly","repo_kind":"found_in_text","path":"omni_anomaly/utils.py","file_url":"https://github.com/smallcowbaby/OmniAnomaly/blob/HEAD/omni_anomaly/utils.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":"f4c6bcd6ed01498a"}},{"code_sha256_prefix":"2b05a8ba2d345c8a","entry":"preprocess","repo":"smallcowbaby/OmniAnomaly","repo_kind":"found_in_text","path":"omni_anomaly/utils.py","file_url":"https://github.com/smallcowbaby/OmniAnomaly/blob/HEAD/omni_anomaly/utils.py","link_basis":"plan_row","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":"2b05a8ba2d345c8a"}},{"code_sha256_prefix":"48b31993b7c14d21","entry":"get_data","repo":"smallcowbaby/OmniAnomaly","repo_kind":"found_in_text","path":"omni_anomaly/utils.py","file_url":"https://github.com/smallcowbaby/OmniAnomaly/blob/HEAD/omni_anomaly/utils.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"48b31993b7c14d21"}},{"code_sha256_prefix":"c489efd4ad990b30","entry":"rnn","repo":"smallcowbaby/OmniAnomaly","repo_kind":"found_in_text","path":"omni_anomaly/wrapper.py","file_url":"https://github.com/smallcowbaby/OmniAnomaly/blob/HEAD/omni_anomaly/wrapper.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c489efd4ad990b30"}},{"code_sha256_prefix":"5019b188ea76b0c2","entry":"softplus_std","repo":"smallcowbaby/OmniAnomaly","repo_kind":"found_in_text","path":"omni_anomaly/wrapper.py","file_url":"https://github.com/smallcowbaby/OmniAnomaly/blob/HEAD/omni_anomaly/wrapper.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5019b188ea76b0c2"}},{"code_sha256_prefix":"be914b94dc0f0a71","entry":"wrap_params_net","repo":"smallcowbaby/OmniAnomaly","repo_kind":"found_in_text","path":"omni_anomaly/wrapper.py","file_url":"https://github.com/smallcowbaby/OmniAnomaly/blob/HEAD/omni_anomaly/wrapper.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"be914b94dc0f0a71"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}