PIL × DAT - Pillow extension for AI-based image upscaling.
Project description
PIL × DAT - Pillow extension for AI-based image upscaling.
Installation
For PyPI:
pip install pillow-dat
Get started
from PIL.Image import open
from PIL_DAT.Image import upscale
lumine_image = open(".github/lumine.png")
lumine_image = upscale(lumine_image, 2)
lumine_image.show()
Remark: We strongly advocate for the utilization of DAT light
models owing to their streamlined design and outstanding speed performance. However, should you opt for alternative models, please note that *.pth
model weights can be accessed via Google Drive.
Example
Input (lumine.png) | DAT light (x2) | Bicubic (x2) |
---|---|---|
Benchmarks
Speed
Performance benchmarks have been conducted on a computing system equipped with an Intel(R) CORE(TM) i7-9750H CPU @ 2.60GHz processor
, accompanied by a 2 × 8 Go at 2667MHz RAM
configuration. Below are the recorded results:
In seconds | 320 × 320 | 640 × 640 | 960 × 960 | 1280 × 1280 |
---|---|---|---|---|
DAT light (x2) | 13.7 | 54.9 | 127.2 | 299.3 |
DAT light (x3) | 13.2 | 56.5 | - | - |
DAT light (x4) | 12.8 | 56.6 | - | - |
The results were compared against the renowned OpenCV
library, utilizing its EDSR
model known for delivering superior image quality.
In seconds | 320 × 320 | 640 × 640 | 960 × 960 | 1280 × 1280 |
---|---|---|---|---|
EDSR (x2) | 25.6 | 112.9 | 264.1 | 472.8 |
EDSR (x3) | 24.3 | 112.5 | - | - |
EDSR (x4) | 23.6 | 111.2 | - | - |
Remark: All speed benchmark results presented here are reproducible. For detailed implementation, please refer to the following files: benchmark_speed_dat_light.py and benchmark_speed_edsr.py.
Quality
DAT light (x2) | EDSR (x2) |
---|---|
Remark: All quality benchmark results presented here are reproducible. For detailed implementation, please refer to the following files: example.py and benchmark_quality_edsr.py.
Contribution
Please install Miniconda.
Please install VSCode extensions:
- Black Formatter
- isort
- Python
- Pylance
To create or update the pillow-dat
Python environment:
conda env create --file environment.yml
conda env update --file environment.yml --prune
To install dependencies:
poetry install
To run unit tests:
pytest
Acknowledgement
This library is founded upon the pioneering research paper, "Dual Aggregation Transformer for Image Super-Resolution".
@inproceedings{chen2023dual,
title={Dual Aggregation Transformer for Image Super-Resolution},
author={Chen, Zheng and Zhang, Yulun and Gu, Jinjin and Kong, Linghe and Yang, Xiaokang and Yu, Fisher},
booktitle={ICCV},
year={2023}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pillow_dat-0.1.6.tar.gz
.
File metadata
- Download URL: pillow_dat-0.1.6.tar.gz
- Upload date:
- Size: 7.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.12.2 Windows/11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c1a085fcca5ca5fbf7b66c7ea092fe5cae66c062b0c5cb3d8e3fd87eb0f89b6 |
|
MD5 | c0f9a4be026d21e2805d24b1fedf4504 |
|
BLAKE2b-256 | cee0924085b453a32e71a2ed94e3fe38986ccaa44939de9fd3b8811ad82e47c5 |
File details
Details for the file pillow_dat-0.1.6-py3-none-any.whl
.
File metadata
- Download URL: pillow_dat-0.1.6-py3-none-any.whl
- Upload date:
- Size: 7.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.12.2 Windows/11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b34e2bd07b3176b1f44326d97f932a3908a0e3cd52fc6165c75e138dc802b633 |
|
MD5 | 38e4196f9555f068b5b863fc9d44240f |
|
BLAKE2b-256 | cc84b8fca4b391d8b7e5e1a86dac948673fdd9b01c295e3cab25b17831a08670 |