Compress
Take a trained model down to 4-bit weights with off-the-shelf post-training quantization (torchao, HQQ). No calibration set, no retraining — the standard, boring way it is done in practice.
Robust 4-bit perception, repaired in feature space. Compressing a vision model to 4 bits keeps its score on clean images but quietly costs it accuracy on noisy, foggy or unfamiliar ones. Recti-Q hands that accuracy back with a patch of a few kilobytes, and never touches the compressed model itself.
University of Maryland, College Park* Equal contribution

Robotic perception pipelines increasingly rely on large vision backbones deployed on SWaP-constrained edge platforms, making post-training quantization (PTQ) attractive for real-time inference. However, while PTQ often preserves clean in-distribution accuracy, we show that it can substantially degrade reliability under deployment-relevant distribution shifts (e.g., sensor noise, severe weather, and novel operating environments), creating a Quantization-Induced Robustness Gap. Across foundational vision benchmarks (ImageNet-C and PACS), 4-bit PTQ models exhibit pronounced robustness degradation despite negligible ID accuracy loss. To address this, we propose Recti-Q, a lightweight feature-space rectification framework that freezes the quantized backbone and trains a small classifier-head LoRA adapter using only source data. Recti-Q is architecture-agnostic across CNNs and Transformers, supports efficient teacher-free training, and recovers a significant portion of the lost robustness, in some cases matching or exceeding FP32 performance. At less than 1% parameter overhead (as small as 6 KB), Recti-Q preserves over 99% of PTQ memory savings, adds negligible compute, and enables low-bandwidth Over-The-Air (OTA) resilience patching for deployed robotic fleets operating in unpredictable physical environments.
The finding in one picture
DeiT-S · one model, two tests · longer bars are better
The problem
Quantize a vision backbone to 4 bits and the standard validation number barely moves — under 1 pp on ImageNet for every DeiT model we test, and nothing at all on the PACS in-distribution split. A developer reading only Table 1 would ship it.
The damage shows up somewhere the release checklist does not look. On the same models, held-out domains and severe corruptions lose several points of accuracy that the full-precision model keeps. We call this the Quantization-Induced Robustness Gap, and it grows with the severity of the shift — exactly the regime an embodied system meets in bad weather or poor light.
Percentage of clean test images each model identifies correctly. Compressing to 4 bits changes almost nothing here — that is exactly the trap.
| Model | PACS (clean) | ImageNet (clean) | ||
|---|---|---|---|---|
| original | 4-bit | original | 4-bit | |
| ResNet-50 | 94.99 | 94.87 | 80.38 | 80.31 |
| DeiT-T | 94.48 | 94.26 | 72.16 | 71.54 |
| DeiT-S | 96.38 | 96.38 | 79.85 | 78.94 |
| DeiT-B | 97.21 | 97.55 | 81.98 | 81.50 |
The worst of the eight comparisons loses 0.91 points (DeiT-S on ImageNet); DeiT-B is actually 0.34 points better after compression. Every chart below uses these same compressed models.
DeiT-S · accuracy the 4-bit model gives up against the uncompressed one, at three levels of image damage
The method
The failure happens one step before the answer. Compression distorts the internal description a model builds of an image, so the final decision layer — unchanged — now sits in the wrong place relative to it. Recti-Q learns a small correction to that description, trained on ordinary clean data only.
Equivalently, Recti-Q induces a low-rank update to the frozen head itself, z = (Wq + (α/r)BA) u. Because B is zero-initialized, training starts exactly at the quantized model and can only move away from it deliberately. Training minimizes L = LCE + λ·LKD against a frozen FP32 teacher (T = 4); λ = 0 is the teacher-free variant, and it is often the stronger one (Table 4).

Take a trained model down to 4-bit weights with off-the-shelf post-training quantization (torchao, HQQ). No calibration set, no retraining — the standard, boring way it is done in practice.
Lock the compressed model and never touch it again. No fine-tuning, no quantization-aware retraining, no second copy of the weights on the device.
Train one small extra branch that reads the features the model computes just before its final decision, and nudges that decision. Two matrices, and they are the only thing that learns.
Ship that branch on its own — 6 KB to 0.34 MB. A robot already running the compressed model downloads it the way a phone downloads a security update.
Results
Three things are compared everywhere below: the original uncompressed model, the same model compressed to 4 bits, and that compressed model with the patch attached. Sizes are for the whole file you would put on a device, so the last three columns of each table are the efficiency claim in full.
DeiT-S on the harshest version of each corruption · percentage of images identified correctly
Percentage of severely corrupted images identified correctly — plus the size of the file you actually ship to the device.
| Model | Corruption | Images identified correctly (%) | Change (accuracy points) | Size on device (MB) | |||||
|---|---|---|---|---|---|---|---|---|---|
| original | 4-bit | + patch | cost of compressing | won back by patch | original | 4-bit | + patch | ||
| DeiT-S | contrast | 39.46 | 33.84 | 36.52 | −5.62 | +2.68 | 84.17 | 26.16 | 26.50 |
| DeiT-S | gaussian noise | 33.18 | 28.88 | 29.30 | −4.30 | +0.42 | 84.17 | 26.16 | 26.50 |
| DeiT-S | shot noise | 30.36 | 26.30 | 26.67 | −4.06 | +0.37 | 84.17 | 26.16 | 26.50 |
| DeiT-S | impulse noise | 32.82 | 28.92 | 29.19 | −3.90 | +0.27 | 84.17 | 26.16 | 26.50 |
| ResNet-50 | impulse noise | 19.83 | 19.68 | 27.04 | −0.15 | +7.37 | 97.79 | 91.02 | 91.77 |
The DeiT-S patch adds 0.34 MB to a 26.16 MB compressed model, so 99.4% of the memory saved by compression survives. ResNet-50 is the honest caveat: it is a convolutional network, and our 4-bit step only touches its fully-connected layers, so compression barely hurt it in the first place (−0.15). Its +7.37 is therefore a genuine robustness gain, not a repair — and, as the next figure shows, it does not come for free on every kind of damage.
PACS holds one visual style out entirely: the model trains on the other three and is then asked about the one it has never seen.
| Model | Target domain | Images identified correctly (%) | Change (accuracy points) | Size on device (MB) | |||||
|---|---|---|---|---|---|---|---|---|---|
| original | 4-bit | + patch | cost of compressing | won back by patch | original | 4-bit | + patch | ||
| DeiT-S | sketch | 68.59 | 64.57 | 65.74 | −4.02 | +1.17 | 82.71 | 25.64 | 25.74 |
| DeiT-T | cartoon | 73.08 | 71.72 | 73.34 † | −1.36 | +1.62 | 21.13 | 15.59 | 15.64 |
| DeiT-T | art painting | 74.90 | 73.63 | 75.15 † | −1.27 | +1.52 | 21.13 | 15.59 | 15.64 |
| DeiT-S | art painting | 88.38 | 87.21 | 88.28 | −1.17 | +1.07 | 82.71 | 25.64 | 25.74 |
| ResNet-50 | sketch | 72.46 | 72.42 | 73.30 † | −0.04 | +0.88 | 90.03 | 90.03 | 90.53 |
† the patched compressed model beats the uncompressed original on this row. That is recalibration, not new knowledge: the patch straightens a decision boundary that compression bent, and the frozen backbone still caps what is recoverable. Averaged over four training runs, ResNet-50 on sketches gains +0.88 ± 0.53 points.
ResNet-50 · how many points of accuracy the patch adds or removes, against the compressed model with no patch
Ablations
Three questions decide whether this is practical: does training the patch require keeping the big uncompressed model around, does the correction really have to happen where we claim it does, and how small can the patch be pushed.
DeiT-S asked to recognise sketches it never trained on · accuracy gained over the unpatched compressed model
Training the patch can be supervised by the uncompressed model. λ sets how much: λ = 0 means no teacher is used at all.
| Model | Domain | 4-bit, no patch | With the Recti-Q patch | ||
|---|---|---|---|---|---|
| λ = 0 | λ = 0.5 | λ = 1.0 | |||
| DeiT-S | sketch | 64.57 | 64.65 | 65.49 | 65.74 |
| DeiT-S | art painting | 87.21 | 88.28 | 87.68 | 87.71 |
| DeiT-T | cartoon | 71.72 | 73.34 | 72.87 | 72.85 |
| DeiT-T | art painting | 73.63 | 75.15 | 74.41 | 74.24 |
The no-teacher setting wins three of the four rows. So the patch can be trained on hardware that cannot hold the full-precision model in memory at all — which is the situation that matters in practice.
Same data, same budget — the only difference is where in the network the correction is applied.
| Where the correction is applied | Images correct (%) | gained |
|---|---|---|
| nowhere — 4-bit model as-is | 64.57 | — |
| on the final scores (logit-space MLP) | 64.57 | +0.00 |
| on the features behind them (Recti-Q) | 65.74 | +1.17 |
Adjusting the model's final scores recovers nothing at all. The damage lives one layer earlier, in the features the scores are computed from, and that is where the correction has to go. This is the paper's central claim, and it is falsifiable in a single row.
Citation
@article{araghi2026recti,
title={Recti-Q: Feature-Space Rectification for Out-of-Distribution-Robust Quantized Perception in Edge Robotics},
author={Araghi, Hamidreza Yaghoubi and Pilevar, Parastoo and Lin, Ming C},
journal={arXiv preprint arXiv:2607.18540},
year={2026}
}