Vision Transformers for Image Restoration Problems, Skoltech ML Course 2022
Vladimir Chernyy, Ivan Gerasimov, Rustam Guseynzade, Hai Le, Prateek Rajput
About The Project
This repo provides the replication of paper on image restoration. The goal is to restore high-quality images from low-quality images. We utilized SwinIR (Liang et al., 2021) model based on the Swin Transformer, which consisted of three main parts:
- Shallow feature extraction
- Deep feature extraction – Composed of many residual Swin Transformer blocks (RSTB), each has several Swin Transformers layers together with a residual connection
- High-quality image reconstruction. We examined the performance of SwinIR with its default blind noises against our own synthetic noise. Moreover, we implemented the ISTA/FISTA algorithms with SwinIR as a de-noising model for non-blind deblurring problem.
Getting Started
This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.
Installation
- Clone the repo
git clone https://github.com/ctrlzet/imgrestore
Roadmap
Our repo follows steps mentioned in 2nd project description
- main branch consists of two directories correspoding to training and inference procedures each. This is all about replication of original paper + implication of projection layer. User required to follow a step-by-step intructions mentioned in
.ipynb
files located in same path. - The first task covering research solved here.
- Finally, ISTA/FISTA algorithms stored here: 1 and 2.
Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Contact
Vladimir Chernyy - Vladimir.Chernyy@skoltech.ru - author of README.md