{"id":26507642,"url":"https://github.com/guaishou74851/scnet","last_synced_at":"2025-03-20T23:29:29.433Z","repository":{"id":190749189,"uuid":"683285472","full_name":"Guaishou74851/SCNet","owner":"Guaishou74851","description":"(IJCV 2024) Self-Supervised Scalable Deep Compressed Sensing [PyTorch]","archived":false,"fork":false,"pushed_at":"2025-03-02T12:31:04.000Z","size":54859,"stargazers_count":56,"open_issues_count":0,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-02T13:28:53.033Z","etag":null,"topics":["compressed-sensing","compressive-sampling","compressive-sensing","convolutional-neural-networks","deep-learning","deep-neural-networks","deep-unfolding","deep-unfolding-model","deep-unrolling","image-reconstruction","inverse-imaging-problems","self-supervised-learning"],"latest_commit_sha":null,"homepage":"https://arxiv.org/abs/2308.13777","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Guaishou74851.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-26T04:49:16.000Z","updated_at":"2025-03-02T12:31:08.000Z","dependencies_parsed_at":"2025-03-02T13:36:07.163Z","dependency_job_id":null,"html_url":"https://github.com/Guaishou74851/SCNet","commit_stats":null,"previous_names":["guaishou74851/scnet"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Guaishou74851%2FSCNet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Guaishou74851%2FSCNet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Guaishou74851%2FSCNet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Guaishou74851%2FSCNet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Guaishou74851","download_url":"https://codeload.github.com/Guaishou74851/SCNet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244709588,"owners_count":20497099,"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":["compressed-sensing","compressive-sampling","compressive-sensing","convolutional-neural-networks","deep-learning","deep-neural-networks","deep-unfolding","deep-unfolding-model","deep-unrolling","image-reconstruction","inverse-imaging-problems","self-supervised-learning"],"created_at":"2025-03-20T23:29:28.927Z","updated_at":"2025-03-20T23:29:29.405Z","avatar_url":"https://github.com/Guaishou74851.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# (IJCV 2024) Self-Supervised Scalable Deep Compressed Sensing [PyTorch]\r\n\r\n[![icon](https://img.shields.io/badge/Springer-Paper-\u003cCOLOR\u003e.svg)](https://link.springer.com/article/10.1007/s11263-024-02209-1\r\n) [![icon](https://img.shields.io/badge/ArXiv-Paper-\u003cCOLOR\u003e.svg)](https://arxiv.org/abs/2308.13777) ![visitors](https://visitor-badge.laobi.icu/badge?page_id=Guaishou74851.SCNet)\r\n\r\n[Bin Chen](https://scholar.google.com/citations?hl=en\u0026user=aZDNm98AAAAJ), [Xuanyu Zhang](https://xuanyuzhang21.github.io/), Shuai Liu, [Yongbing Zhang](https://scholar.google.com/citations?user=0KlvTEYAAAAJ)†, and [Jian Zhang](https://jianzhang.tech/)†\r\n\r\n*School of Electronic and Computer Engineering, Peking University, Shenzhen, China.*\r\n\r\n*Tsinghua Shenzhen International Graduate School, Tsinghua University, Shenzhen, China.*\r\n\r\n*School of Computer Science and Technology, Harbin Institute of Technology (Shenzhen), Shenzhen, China.*\r\n\r\n† Corresponding authors\r\n\r\nAccepted for publication in [International Journal of Computer Vision](https://link.springer.com/journal/11263) (IJCV) 2024.\r\n\r\n⭐ If SCNet is helpful to you, please star this repo. Thanks! 🤗\r\n\r\n## 📝 Abstract\r\n\r\nCompressed sensing (CS) is a promising tool for reducing sampling costs. Current deep neural network (NN)-based CS approaches face the challenges of collecting labeled measurement-ground truth (GT) data and generalizing to real applications. This paper proposes a novel **S**elf-supervised s**C**alable deep CS method, comprising a deep **L**earning scheme called **SCL** and a family of **Net**works named **SCNet**, which does not require GT and can handle arbitrary sampling ratios and matrices once trained on a partial measurement set. Our SCL contains a dual-domain loss and a four-stage recovery strategy. The former encourages a cross-consistency on two measurement parts and a sampling-reconstruction cycle-consistency regarding arbitrary ratios and matrices to maximize data utilization. The latter can progressively leverage the common signal prior in external measurements and internal characteristics of test samples and learned NNs to improve accuracy. SCNet combines both the explicit guidance from optimization algorithms and the implicit regularization from advanced NN blocks to learn a collaborative signal representation. Our theoretical analyses and experiments on simulated and real captured data, covering 1-/2-/3-D natural and scientific signals, demonstrate the effectiveness, superior performance, flexibility, and generalization ability of our method over existing self-supervised methods and its significant potential in competing against many state-of-the-art supervised methods. Code is available at https://github.com/Guaishou74851/SCNet.\r\n\r\n## 🍭 Overview\r\n\r\n![scl](figs/scl.png)\r\n\r\n![scnet](figs/scnet.png)\r\n\r\n![spi_optics](figs/spi_optics.png)\r\n\r\n![comp](figs/comp.png)\r\n\r\n## ⚙ Environment\r\n\r\n```shell\r\ntorch.__version__ == \"2.2.1+cu121\"\r\nnumpy.__version__ == \"1.24.4\"\r\nskimage.__version__ == \"0.21.0\"\r\n```\r\n\r\n## ⚡ Test\r\n\r\n```shell\r\npython test.py --max_ratio=0.1/0.3/0.5 --testset_name=Set11/CBSD68/Urban100/DIV2K\r\n```\r\n\r\nThe reconstructed images will be in `./result`.\r\n\r\nFor easy comparison, test results of various existing image CS methods are available on [Google Drive](https://drive.google.com/drive/folders/1Lif_7N_bCyILFLac5JcOtJ9cWpGBNVCd) and [PKU Disk](https://disk.pku.edu.cn/link/AA1C2D8A08050744449CBFCAB51A846B2D).\r\n\r\n## 🔥 Train\r\n\r\nDownload `Training_Data.mat` from [Google Drive](https://drive.google.com/file/d/14CKidNsC795vPfxFDXa1FH9QuNJKE3cp) or [PKU NetDisk (北大网盘)](https://disk.pku.edu.cn/anyshare/link/AA2856882B7621432B826D00CE1C0E2E5B) and put it into `./data`, then run:\r\n\r\n```shell\r\npython train.py --max_ratio=0.1/0.3/0.5\r\n```\r\n\r\nThe log and model files will be in `./log` and `./weight`, respectively.\r\n\r\n## 🎓 Citation\r\n\r\nIf you find the code helpful in your research or work, please cite the following paper:\r\n\r\n```latex\r\n@article{chen2024self,\r\n  title={Self-supervised Scalable Deep Compressed Sensing},\r\n  author={Chen, Bin and Zhang, Xuanyu and Liu, Shuai and Zhang, Yongbing and Zhang, Jian},\r\n  journal={International Journal of Computer Vision},\r\n  pages={1--36},\r\n  year={2024},\r\n  publisher={Springer}\r\n}\r\n```\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguaishou74851%2Fscnet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguaishou74851%2Fscnet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguaishou74851%2Fscnet/lists"}