{"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/real-world-anomaly-detection-in-surveillance","title":"Real-world Anomaly Detection in Surveillance Videos","arxiv_id":"1801.04264","date":"2018-01-12","proceeding":"CVPR 2018 6","authors":["Waqas Sultani","Chen Chen","Mubarak Shah"],"abstract":"Surveillance videos are able to capture a variety of realistic anomalies. In\nthis paper, we propose to learn anomalies by exploiting both normal and\nanomalous videos. To avoid annotating the anomalous segments or clips in\ntraining videos, which is very time consuming, we propose to learn anomaly\nthrough the deep multiple instance ranking framework by leveraging weakly\nlabeled training videos, i.e. the training labels (anomalous or normal) are at\nvideo-level instead of clip-level. In our approach, we consider normal and\nanomalous videos as bags and video segments as instances in multiple instance\nlearning (MIL), and automatically learn a deep anomaly ranking model that\npredicts high anomaly scores for anomalous video segments. Furthermore, we\nintroduce sparsity and temporal smoothness constraints in the ranking loss\nfunction to better localize anomaly during training. We also introduce a new\nlarge-scale first of its kind dataset of 128 hours of videos. It consists of\n1900 long and untrimmed real-world surveillance videos, with 13 realistic\nanomalies such as fighting, road accident, burglary, robbery, etc. as well as\nnormal activities. This dataset can be used for two tasks. First, general\nanomaly detection considering all anomalies in one group and all normal\nactivities in another group. Second, for recognizing each of 13 anomalous\nactivities. Our experimental results show that our MIL method for anomaly\ndetection achieves significant improvement on anomaly detection performance as\ncompared to the state-of-the-art approaches. We provide the results of several\nrecent deep learning baselines on anomalous activity recognition. The low\nrecognition performance of these baselines reveals that our dataset is very\nchallenging and opens more opportunities for future work. The dataset is\navailable at: https://webpages.uncc.edu/cchen62/dataset.html","url_abs":"http://arxiv.org/abs/1801.04264v3","url_pdf":"http://arxiv.org/pdf/1801.04264v3.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":"real-world-anomaly-detection-in-surveillance","repo_url":"https://github.com/ShreyasArthur/AbnormalEventDetection","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"real-world-anomaly-detection-in-surveillance","repo_url":"https://github.com/da-head0/cctv-anomaly-detection","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"unanswered"}},{"paper_slug":"real-world-anomaly-detection-in-surveillance","repo_url":"https://github.com/erktkdg/MTFL","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"real-world-anomaly-detection-in-surveillance","repo_url":"https://github.com/fluque1995/tfm-anomaly-detection","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"unanswered"}},{"paper_slug":"real-world-anomaly-detection-in-surveillance","repo_url":"https://github.com/Roc-Ng/DeepMIL","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"real-world-anomaly-detection-in-surveillance","repo_url":"https://github.com/WaqasSultani/AnomalyDetectionCVPR2018","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"none","reach":null},{"paper_slug":"real-world-anomaly-detection-in-surveillance","repo_url":"https://github.com/dineshssdn-867/Anomaly-Detection-CVPR2018","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"none","reach":{"status":"unanswered"}},{"paper_slug":"real-world-anomaly-detection-in-surveillance","repo_url":"https://github.com/ekosman/AnomalyDetectionCVPR2018-Pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null},{"paper_slug":"real-world-anomaly-detection-in-surveillance","repo_url":"https://github.com/seominseok0429/Real-world-Anomaly-Detection-in-Surveillance-Videos-pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"abnormal-event-detection-in-video","task_name":"Abnormal Event Detection In Video"},{"task_slug":"activity-recognition","task_name":"Activity Recognition"},{"task_slug":"anomaly-detection","task_name":"Anomaly Detection"},{"task_slug":"anomaly-detection-in-surveillance-videos","task_name":"Anomaly Detection In Surveillance Videos"},{"task_slug":"multiple-instance-learning","task_name":"Multiple Instance Learning"},{"task_slug":"semi-supervised-anomaly-detection","task_name":"Semi-supervised Anomaly Detection"},{"task_slug":"weakly-supervised-video-anomaly-detection","task_name":"Weakly-supervised Video Anomaly Detection"}],"methods":[],"datasets_introduced":[{"slug":"ucf-crime","name":"UCF-Crime","full_name":""}],"methods_introduced":[],"results":[{"leaderboard":"/sota/abnormal-event-detection-in-video-on-ubi","task":"Abnormal Event Detection In Video","dataset":"UBI-Fights","model":"Sultani et al.","rank_in_archive_order":2,"of":6,"metrics":{"AUC":"0.892","Decidability":"0.804","EER":"0.186"},"uses_additional_data":false},{"leaderboard":"/sota/anomaly-detection-on-ubnormal","task":"Anomaly Detection","dataset":"UBnormal","model":"MIL","rank_in_archive_order":14,"of":14,"metrics":{"AUC":"50.3%","RBDC":"0.002","TBDC":"0.001"},"uses_additional_data":false},{"leaderboard":"/sota/anomaly-detection-in-surveillance-videos-on","task":"Anomaly Detection In Surveillance Videos","dataset":"UCF-Crime","model":"Sultani et al.","rank_in_archive_order":20,"of":21,"metrics":{"Decidability":"0.613","EER":"0.353","ROC AUC":"75.41"},"uses_additional_data":false},{"leaderboard":"/sota/semi-supervised-anomaly-detection-on-ubi","task":"Semi-supervised Anomaly Detection","dataset":"UBI-Fights","model":"Sultani et al.","rank_in_archive_order":3,"of":7,"metrics":{"AUC":"0.787","Decidability":"0.738","EER":"0.294"},"uses_additional_data":false},{"leaderboard":"/sota/weakly-supervised-video-anomaly-detection-on","task":"Weakly-supervised Video Anomaly Detection","dataset":"ShanghaiTech Weakly Supervised","model":"MIL-Rank","rank_in_archive_order":16,"of":16,"metrics":{"AUC-ROC":"85.33","FAR-Normal":"0.15"},"uses_additional_data":false},{"leaderboard":"/sota/weakly-supervised-video-anomaly-detection-on-1","task":"Weakly-supervised Video Anomaly Detection","dataset":"UBnormal","model":"MIL-Rank","rank_in_archive_order":11,"of":11,"metrics":{"AUC-ROC":"54.12"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1801.04264","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1801.04264"}},"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/ShreyasArthur/AbnormalEventDetection","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/WaqasSultani/AnomalyDetectionCVPR2018","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/fluque1995/tfm-anomaly-detection","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/da-head0/cctv-anomaly-detection","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ekosman/AnomalyDetectionCVPR2018-Pytorch","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/erktkdg/MTFL","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/seominseok0429/Real-world-Anomaly-Detection-in-Surveillance-Videos-pytorch","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Roc-Ng/DeepMIL","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/dineshssdn-867/Anomaly-Detection-CVPR2018","reach":{"status":"unanswered"}}],"summary":{"ran_draft_wrong":3,"ran_honours":1,"unverified":2},"by_repo_kind":{"listed":{"samples":6,"ran":4,"repositories":4}},"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":4,"samples":[{"code_sha256_prefix":"735f91e98e11c521","entry":"conv_dict","repo":"WaqasSultani/AnomalyDetectionCVPR2018","repo_kind":"listed","path":"Demo_GUI.py","file_url":"https://github.com/WaqasSultani/AnomalyDetectionCVPR2018/blob/HEAD/Demo_GUI.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"735f91e98e11c521"}},{"code_sha256_prefix":"fc262b74cdb072d8","entry":"read_features","repo":"ekosman/AnomalyDetectionCVPR2018-Pytorch","repo_kind":"listed","path":"feature_extractor.py","file_url":"https://github.com/ekosman/AnomalyDetectionCVPR2018-Pytorch/blob/HEAD/feature_extractor.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fc262b74cdb072d8"}},{"code_sha256_prefix":"a38b1def991a393c","entry":"to_segments","repo":"ekosman/AnomalyDetectionCVPR2018-Pytorch","repo_kind":"listed","path":"feature_extractor.py","file_url":"https://github.com/ekosman/AnomalyDetectionCVPR2018-Pytorch/blob/HEAD/feature_extractor.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a38b1def991a393c"}},{"code_sha256_prefix":"fff37849771e411d","entry":"to_segments","repo":"erktkdg/MTFL","repo_kind":"listed","path":"utils/feature_extractor.py","file_url":"https://github.com/erktkdg/MTFL/blob/HEAD/utils/feature_extractor.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fff37849771e411d"}},{"code_sha256_prefix":"5a6e5e0b636974c5","entry":"load_dataset_Train_batch","repo":"ShreyasArthur/AbnormalEventDetection","repo_kind":"listed","path":"AI_Train.py","file_url":"https://github.com/ShreyasArthur/AbnormalEventDetection/blob/HEAD/AI_Train.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5a6e5e0b636974c5"}},{"code_sha256_prefix":"de911070910355c4","entry":"load_weights","repo":"WaqasSultani/AnomalyDetectionCVPR2018","repo_kind":"listed","path":"Demo_GUI.py","file_url":"https://github.com/WaqasSultani/AnomalyDetectionCVPR2018/blob/HEAD/Demo_GUI.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"de911070910355c4"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}