PiSA-Lite
PiSA-Lite is a lightweight, mobile-optimized version of PiSA-SR for Snapdragon-powered smartphones. It is designed to preserve high-quality textures and semantic image details while running through Qualcomm's NPU.
PiSA-Lite is an unofficial optimization based on PiSA-SR. It is not affiliated with or endorsed by the original PiSA-SR authors.
Overview
PiSA-Lite keeps the original PiSA-SR architecture and its semantic image-restoration behavior while preparing the model for mobile deployment.
Unlike small super-resolution models that mainly sharpen edges, PiSA-Lite aims to preserve PiSA-SR's ability to reconstruct material-aware details such as:
- wood grain
- grass and vegetation
- metal reflections
- fabric textures
- hair and fine surface details
- building and object structure
The current release includes:
- precompiled Qualcomm QNN Context Binaries for Snapdragon 8 Gen 3
- ONNX source models for compiling separate builds for other supported Snapdragon chips
- a fixed 4Γ super-resolution pipeline
- an FP16/W8A16 quality configuration
Model Details
| Property | Value |
|---|---|
| Base project | PiSA-SR |
| Task | Generative image super-resolution |
| Input | 128 Γ 128 RGB image |
| Output | 512 Γ 512 RGB image |
| Upscale factor | 4Γ |
| Latent shape | 1 Γ 4 Γ 64 Γ 64 |
| Target runtime | Qualcomm QNN / HTP NPU |
| Current target SoC | Snapdragon 8 Gen 3 / SM8650 |
| Current target device family | Samsung Galaxy S24 Family |
| Deployment format | QNN Context Binary |
| Source export format | ONNX |
Files
Snapdragon 8 Gen 3 QNN Models
The included QNN binaries were compiled specifically for Snapdragon 8 Gen 3 / SM8650:
pisa_encoder_quality.bin
pisa_denoiser_quality.bin
pisa_decoder_quality.bin
| File | Purpose | Precision | Approximate size |
|---|---|---|---|
pisa_encoder_quality.bin |
Converts the image into latent space | FP16 | 74 MiB |
pisa_denoiser_quality.bin |
Restores PiSA textures and semantic details | W8A16 | 791 MiB |
pisa_decoder_quality.bin |
Converts the restored latent into an image | FP16 | 104 MiB |
Total package size is approximately 970 MiB.
ONNX Models
The ONNX files are source models for creating separate QNN builds for other supported Snapdragon chips:
encoder.onnx
denoiser.onnx
decoder.onnx
The ONNX files are not pre-optimized universal mobile models. They must be compiled for the intended Snapdragon target using Qualcomm AI Hub, QAIRT, or another compatible Qualcomm QNN toolchain.
Hardware Compatibility
The supplied .bin files are compiled for:
Qualcomm Snapdragon 8 Gen 3
SoC: SM8650
Samsung Galaxy S24 Family
Android 14
QNN Context Binaries are hardware-specific.
Do not assume that the supplied Snapdragon 8 Gen 3 binaries will work on:
- Snapdragon 8 Gen 2
- Snapdragon 8 Elite
- Snapdragon 7-series devices
- Exynos devices
- MediaTek devices
- desktop CPUs or GPUs
For another supported Snapdragon chip, use the ONNX models to compile a separate QNN package for that target.
Pipeline
128 Γ 128 input image
β
Resize to 512 Γ 512
β
PiSA VAE Encoder
β
Latent sampling
β
PiSA Denoiser
β
PiSA VAE Decoder
β
Color correction
β
512 Γ 512 output image
All three model components must be executed in order.
Precision Configuration
The current quality release uses:
Encoder: FP16
Denoiser: W8A16
Decoder: FP16
This reduces the size of the largest PiSA component while keeping the texture-sensitive VAE encoder and decoder in FP16.
Android Integration
The QNN files are not standalone applications and cannot be opened directly.
An Android application must load them through Qualcomm QAIRT/QNN, typically through a native C++ layer:
Kotlin / Java UI
β
JNI
β
C++ QNN runner
β
QNN HTP backend
β
Encoder β Denoiser β Decoder
Recommended private storage layout:
/data/user/0/<application-id>/files/models/pisa_sm8650/
βββ pisa_encoder_quality.bin
βββ pisa_denoiser_quality.bin
βββ pisa_decoder_quality.bin
Because the complete model package is large, downloading the files after installation is generally preferable to embedding them directly inside the APK.
Compiling for Another Snapdragon Chip
Use the ONNX models as source graphs and compile each component for the selected target device:
encoder.onnx
denoiser.onnx
decoder.onnx
β
Qualcomm AI Hub / QAIRT / QNN compiler
β
target-specific QNN Context Binaries
A separate set of binaries should be generated for each supported Snapdragon family.
The application should detect the device SoC before downloading or loading a model package.
SM8650 / Snapdragon 8 Gen 3
β Load the included SM8650 package
Another supported Snapdragon chip
β Download a separately compiled package
Unsupported hardware
β Use a smaller GPU or CPU fallback model
Intended Use
PiSA-Lite is intended for:
- low-resolution photo restoration
- experimental mobile photography
- restoring vegetation and environmental details
- improving material textures
- enhancing compressed images
- improving game screenshots
- research into mobile generative super-resolution
Out-of-Scope Use
PiSA-Lite is not recommended for:
- forensic image analysis
- identity verification
- medical imaging
- document or evidence recovery
- exact text reconstruction
- license-plate recovery
- recovering factual details that are not visible in the source image
Limitations
PiSA-Lite is a generative super-resolution model and may create visually plausible details that were not present in the original low-resolution input.
Possible failure cases include:
- invented textures
- incorrect small text
- altered faces
- changed logos or symbols
- inaccurate fine patterns
- unstable results on heavily degraded inputs
- high memory use compared with small CNN upscalers
- slower inference than models such as SPAN
- hardware-specific deployment requirements
Generated output should not be treated as factual evidence.
Current Status
- PiSA-SR quality preserved in local testing
- Weight-optimized PiSA-Lite package created
- ONNX models exported
- QNN Context Binaries compiled
- Snapdragon 8 Gen 3 NPU inference completed
- Public Android runtime example
- On-device speed and memory benchmarks
- Additional Snapdragon targets
- Larger calibration dataset
- Hugging Face demo Space
Comparison
| Model | Sharpness | Semantic texture reconstruction | Mobile suitability |
|---|---|---|---|
| SPAN | Good | Limited | High |
| TinySR | Very good | Medium | Medium |
| PiSA-SR | Very good | Very high | Low |
| PiSA-Lite | Very good | Very high in current tests | Targeted at Snapdragon NPU |
The PiSA-Lite quality claim is based on local visual testing and should be validated on a larger public benchmark set.
Credits
PiSA-Lite is based on the original PiSA-SR project and research.
All credit for the original architecture, training method, pretrained model, and research belongs to the original PiSA-SR authors.
PiSA-Lite focuses on:
- mobile deployment
- weight optimization
- fixed-shape inference
- ONNX export
- Qualcomm QNN compilation
- Snapdragon NPU execution
License and Redistribution
The metadata uses license: other because redistribution rights may depend on multiple upstream components.
Before redistributing model weights or binaries, review and comply with:
- the original PiSA-SR license
- the Stable Diffusion 2.1 base-model license
- all pretrained-model licenses
- Qualcomm AI Hub and QNN terms
- any checkpoint or dataset restrictions
Uploading this repository does not automatically grant rights beyond the relevant upstream licenses.
Disclaimer
This project is experimental and provided without warranty.
The maintainers are not responsible for:
- hallucinated or inaccurate reconstructed details
- unsupported-device crashes
- excessive memory usage
- incorrect Android integration
- redistribution outside upstream license terms
- damage or data loss caused by use of the model
Use PiSA-Lite at your own risk.
Repository
GitHub:
https://github.com/LoewolfERSTELLER/PiSA-Lite
Short Description
PiSA-Lite is an unofficial, mobile-optimized PiSA-SR upscaler for Snapdragon smartphones, designed to preserve high-quality textures and semantic image details through Qualcomm's NPU.