{"id":17347814,"url":"https://github.com/msminhas93/anomaly-detection-using-autoencoders","last_synced_at":"2025-04-14T20:31:26.217Z","repository":{"id":64703205,"uuid":"264731133","full_name":"msminhas93/anomaly-detection-using-autoencoders","owner":"msminhas93","description":"This is the implementation of Semi-supervised Anomaly Detection using AutoEncoders","archived":false,"fork":false,"pushed_at":"2020-05-19T15:38:19.000Z","size":6555,"stargazers_count":62,"open_issues_count":5,"forks_count":29,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-28T09:02:21.159Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/msminhas93.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-17T18:28:42.000Z","updated_at":"2024-12-11T08:40:04.000Z","dependencies_parsed_at":"2022-12-13T21:45:15.105Z","dependency_job_id":null,"html_url":"https://github.com/msminhas93/anomaly-detection-using-autoencoders","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/msminhas93%2Fanomaly-detection-using-autoencoders","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msminhas93%2Fanomaly-detection-using-autoencoders/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msminhas93%2Fanomaly-detection-using-autoencoders/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/msminhas93%2Fanomaly-detection-using-autoencoders/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/msminhas93","download_url":"https://codeload.github.com/msminhas93/anomaly-detection-using-autoencoders/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248955532,"owners_count":21189150,"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":[],"created_at":"2024-10-15T16:50:11.568Z","updated_at":"2025-04-14T20:31:21.384Z","avatar_url":"https://github.com/msminhas93.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"This is the implementation of [Semi-supervised Anomaly Detection using AutoEncoders](https://arxiv.org/abs/2001.03674 \"Semi-supervised Anomaly Detection using AutoEncoders\")\n\nThe hypothesis of the paper is that an AutoEncoder trained on just the defect free or normal samples will fail to reconstruct the images that have defects in it since those were not seen during training. This will lead to large residuals which can be then be used to segment the anomaly.\n\nFor this repository the dataset needs to be organised as:\n```\nTrainDir\n----NonDefect\n    |----Img1\n\t|    ...\n    |----ImgM\nValDir\n----NonDefect\n    |----Img1\n\t|\t...\n    |----ImgN\n```\n\nUsage:\n```bash\npython main.py --train_dir /path/to/train/dir/ --val_dir /path/to/val/dir\n```\n\n```\nRequirements:\nPyTorch \u003e= 1.4\nIgnite 0.3.0\nTensorboard 2.1.0\n```\n\nAn example segmentation output of AutoEncoder trained on the [DAGM dataset](https://hci.iwr.uni-heidelberg.de/content/weakly-supervised-learning-industrial-optical-inspection \"DAGM dataset\") is shown below. The model was trained on the Class8 and trained for 25 epochs. The best model was kept based on the lowest mean squared error value.\n\n![Sample segmentation output](image/sample_detection.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmsminhas93%2Fanomaly-detection-using-autoencoders","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmsminhas93%2Fanomaly-detection-using-autoencoders","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmsminhas93%2Fanomaly-detection-using-autoencoders/lists"}