First, clone this repository to your local machine.
-
Open a command prompt and navigate to the
backenddirectory:cd backend -
Create a virtual environment (ensure Python 3.11 is installed):
python3 -3.11 -m venv virtualEnv
-
Activate the virtual environment:
virtualEnv\Scripts\activate
-
Install the required libraries (ensure Git Bash is installed):
sh install.sh
-
Deactivate and reactivate the virtual environment, then install
basicsr:pip install --no-build-isolation basicsr==1.3.4.9
Note: This step ensures
basicsris installed after thetorchmodule to avoid dependency issues. -
Modify the
degradations.pyfile to fix an import issue:powershell -Command "(Get-Content virtualEnv\Lib\site-packages\basicsr\data\degradations.py) -replace 'from torchvision.transforms.functional_tensor import rgb_to_grayscale','from torchvision.transforms.functional import rgb_to_grayscale' | Set-Content virtualEnv\Lib\site-packages\basicsr\data\degradations.py"
Note: This step is done because we are using an old version of basicsr as model relies on it and the import is outdated. It can also be done manually by editing the file.
-
Run the backend server:
python3 main.py
-
Open a separate terminal and navigate to the
frontenddirectory:cd frontend -
Install the required dependencies (ensure
npmis installed):npm install
-
Start the frontend:
npm start
Once the setup is complete, you can upload a low-resolution satellite image through the website interface. The model will process the image and enhance its resolution.
- On an RTX-4060 GPU, the processing is significantly faster, providing near-instant results.
- On a CPU, the process may take approximately 10 minutes to complete.
After the model completes processing, the enhanced image will be automatically downloaded to your system.
Below is an example comparison between a sub-region of low-resolution satellite image and its enhanced version processed by the model:
| Low-Resolution Image | Enhanced Image |
|---|---|
![]() | ![]() |
Note: The images above are for demonstration purposes. Actual results may vary depending on the input image quality and system performance.




