Downloads · 30 days
0
AbrahamPJ/absolutereality-openpose-control-inpaint-qnn
absolutereality-openpose-control-inpaint-qnn is a machine learning model from AbrahamPJ. Use it for the machine learning task on the model card, and read the license before you ship it in a product. The card lists the license as creativeml-openrail-m.
Pose-guided inpainting running entirely on a Snapdragon NPU. A 16-input UNet takes the 9-channel inpainting latent and 13 ControlNet residuals, so the model can be told both where to paint and what pose to paint.
Downloads · 30 days
0
Access
Public
Updated Aug 18, 2026
Repo size
2.6 GB
Likes
0
Public
Click a slice to open those files.
.zip2.6 GB · 100%
From the Hugging Face model README
Pose-guided inpainting running entirely on a Snapdragon NPU. A 16-input UNet takes the 9-channel inpainting latent and 13 ControlNet residuals, so the model can be told both where to paint and what pose to paint.
Measured on a Samsung S25 Ultra (SM8750, HTP v79), 512×512 / 20 steps:
| mode | time |
|---|---|
| pose-guided inpainting | ~6.0 s |
| plain inpainting (no hint) | ~5.1 s |
⭐ One model, two modes. Omit the control image and it is an ordinary 9-channel inpainting model; the ControlNet branch is skipped entirely rather than run and multiplied by zero.
| file | what |
|---|---|
unet.bin | 16-input, 9-channel control-UNet (latent 9ch + 12 down-block + 1 mid-block residual) |
controlnet.bin | OpenPose ControlNet branch (4-channel latent + 512×512 hint → 13 residuals) |
vae_encoder.bin, vae_decoder.bin | AbsoluteReality's own VAE — the encoder is required for inpainting |
clip_v2.mnn, pos_emb.bin, token_emb.bin, tokenizer.json | text side (MNN, runs on CPU) |
Built with QAIRT 2.49, w8a16, per-channel weights, NHWC IO, dsp_arch v73 (_8gen2).
⚠ A 2.49-built context declares an fp16 requirement. Chips that lack it reject the model at load. This build therefore targets 8 Gen 2 and newer parts that report fp16; it is not the widest-compatibility build.
Requires an image and a mask (white = repaint). The control image is optional; when supplied it must be an OpenPose skeleton rendering at 512×512, not a photo — no pose detection happens on device.
These are conversions, not retrainings: no weights were fine-tuned, only exported and quantized.