Recti-Q IROS 2026
IROS 2026Accepted

Recti-Q: Feature-Space Rectification for OOD-Robust Quantized Perception

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.

Hamidreza Yaghoubi Araghi*Parastoo Pilevar*Ming C. Lin

University of Maryland, College Park* Equal contribution

A stop sign under real-world corruptions is read correctly by a full-precision model, misread by the 4-bit quantized model, and read correctly again once the Recti-Q adapter is attached to the same quantized model.
Figure 1. A quantized perception stack can look healthy on clean inputs and still fail once the world gets noisy. Recti-Q attaches a small trainable branch (A, B) to the same frozen quantized model and restores the correct prediction — without touching the backbone or its memory footprint.

Abstract

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

The test that ships the model cannot see the damage

DeiT-S · one model, two tests · longer bars are better

0255075100% of images identified correctlyCHANGE FROM THE ROW ABOVEClean, well-lit photosthe standard benchmark — the one a model is signed off onoriginal 32-bit79.85compressed 4-bit78.940.91 pointsThe same objects, washed out by haze and glareImageNet-C low contrast at the harshest severity — what an outdoor camera returnsoriginal 32-bit39.46compressed 4-bit33.845.62 points+ Recti-Q patch36.52+2.68 points
Same model, same weights, two different tests. Compressing DeiT-S to 4 bits costs 0.91 points on the clean benchmark — small enough that nothing in a normal release check would flag it — and 5.62 points once the picture is genuinely degraded. Recti-Q hands back 2.68 of those points without changing a single weight of the compressed model. Averaged over all four severe corruptions tested on this model the shape is the same: −4.47 points from compression, +0.94 recovered.
6 KBthe smallest patch that still works — about the size of a short email (0.34 MB for the one above)
99.4%of the memory that compression saved is still saved once the patch is attached
0weights of the compressed model are retrained — the patch ships on its own, over the air

The four terms behind those numbers

4-bit quantization (PTQ, written “W4”)
Storing every weight of an already-trained network in 4 bits instead of 32. The model gets roughly three times smaller and runs faster on small hardware. Nothing is retrained — it is a compression step applied at the end.
In-distribution vs. out-of-distribution
In-distribution is the clean, well-lit test set a model is normally scored on. Out-of-distribution is the same objects seen through fog, sensor noise or motion blur, or drawn in an unfamiliar style. A robot meets the second kind.
ImageNet-C and PACS
The two standard out-of-distribution test sets. ImageNet-C re-photographs ImageNet through 15 kinds of camera and weather damage at five severities — we report the harshest, severity 5. PACS trains on photos, art and cartoons and then asks for sketches.
“Points” of accuracy
Accuracy is a percentage of images classified correctly, so a change in it is quoted in percentage points: going from 33.84% to 36.52% is a gain of 2.68 points.

The problem

Clean accuracy is not a safety check

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.

Table 1 · PTQ preserves in-distribution accuracy

Percentage of clean test images each model identifies correctly. Compressing to 4 bits changes almost nothing here — that is exactly the trap.

ModelPACS (clean)ImageNet (clean)
original4-bitoriginal4-bit
ResNet-5094.9994.8780.3880.31
DeiT-T94.4894.2672.1671.54
DeiT-S96.3896.3879.8578.94
DeiT-B97.2197.5581.9881.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.

The worse the picture gets, the more compression costs you

DeiT-S · accuracy the 4-bit model gives up against the uncompressed one, at three levels of image damage

mild damagemoderatesevere
0123456accuracy points lost5.62contrast4.30gaussiannoise3.90impulsenoise4.06shotnoise3.78spatter
The damage stays hidden until the picture is genuinely bad. On mildly degraded images the compressed model gives up less than 1.9 points. On the harshest ones it gives up as much as 5.62. On the clean test set it gives up 0.91 (Table 1) — the only number a normal release check would look at.

The method

Rectify the features, leave the backbone alone

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.

z = zq + (α/r) · B(A(u))
u pre-classifier featureszq frozen W4 logitsA, B LoRA projections, B zero-initr = 64, α = 16

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).

Recti-Q framework: a frozen quantized student and an optional frozen full-precision teacher, with a trainable LoRA adapter summing into the logits; the training branch computes cross-entropy and KD losses.
Figure 2. Training (right) and inference (left). Both backbones stay frozen; only A and B are trained. At inference the teacher is discarded and the adapter rides along on the same forward pass.
STEP 01

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.

STEP 02

Freeze

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.

STEP 03

Rectify

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.

STEP 04

Patch

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.

Source-only and leakage-free. Adapters for ImageNet-C are trained on a fixed 5% class-balanced subsample of the ImageNet-1k train split and model-selected on the clean val split; PACS uses leave-one-domain-out with the three source domains. No corrupted image and no target-domain image is seen during training or selection.

Results

A kilobyte-scale patch buys back points of robustness

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.

The patch gives back a large share of what compression took

DeiT-S on the harshest version of each corruption · percentage of images identified correctly

original, uncompressedcompressed to 4 bitscompressed + Recti-Q patch
0153045images correct (%)36.52contrast29.30gaussiannoise29.19impulsenoise26.67shotnoise
Every corruption improves, and the worst one improves the most. Low contrast costs the compressed model 5.62 points; the patch hands back 2.68 of them — close to half — and costs 0.34 MB to do it. Exact values in Table 2.

Table 2 · ImageNet-C (severity 5)

Percentage of severely corrupted images identified correctly — plus the size of the file you actually ship to the device.

ModelCorruptionImages identified correctly (%)Change (accuracy points)Size on device (MB)
original4-bit+ patchcost of compressingwon back by patchoriginal4-bit+ patch
DeiT-Scontrast39.4633.8436.52−5.62+2.6884.1726.1626.50
DeiT-Sgaussian noise33.1828.8829.30−4.30+0.4284.1726.1626.50
DeiT-Sshot noise30.3626.3026.67−4.06+0.3784.1726.1626.50
DeiT-Simpulse noise32.8228.9229.19−3.90+0.2784.1726.1626.50
ResNet-50impulse noise19.8319.6827.04−0.15+7.3797.7991.0291.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.

Table 3 · PACS, leave-one-domain-out

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.

ModelTarget domainImages identified correctly (%)Change (accuracy points)Size on device (MB)
original4-bit+ patchcost of compressingwon back by patchoriginal4-bit+ patch
DeiT-Ssketch68.5964.5765.74−4.02+1.1782.7125.6425.74
DeiT-Tcartoon73.0871.7273.34−1.36+1.6221.1315.5915.64
DeiT-Tart painting74.9073.6375.15−1.27+1.5221.1315.5915.64
DeiT-Sart painting88.3887.2188.28−1.17+1.0782.7125.6425.74
ResNet-50sketch72.4672.4273.30−0.04+0.8890.0390.0390.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.

It helps most where the picture gets noisy, and costs a little where it gets soft

ResNet-50 · how many points of accuracy the patch adds or removes, against the compressed model with no patch

patch helpspatch hurts
-4-20+2+4+6+8+10+12accuracy points gained or lost vs. the unpatched 4-bit modelfoghaze / low visibility+11.53frosticed-over lens+8.12impulse noisedead / stuck pixels+7.37gaussian noisegrainy sensor noise+6.92shot noiselow-light speckle+6.35pixelatelow-resolution feed3.39defocus blurout-of-focus lens3.55brightnessover-exposed / glare4.16
The direction depends on the kind of damage, and it is reliable. Grain, dead pixels, haze and frost — the failures a camera actually has at night or in bad weather — gain 6 to 12 points. Blur and over-exposure lose 3 to 4. Repeating the training with four different random seeds moves each bar by at most 0.43 points, so these are properties of the method, not luck. Eight further corruptions are left out for readability; every one sits between +0.25 and −2.59, i.e. inside the range shown here (full table in the repository).
Breakdown point. On DeiT-S, W3 still holds 73.61% ID accuracy and Recti-Q lifts mean OOD accuracy over the four corruptions above from 12.05% to 14.24% (+2.19 pp). At W2 the ID accuracy collapses to 4.61% and recovery falls to +0.12 pp — the boundary between correctable feature distortion and genuine information loss.

Ablations

What the method actually needs

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.

Almost all of the benefit is there at the smallest size

DeiT-S asked to recognise sketches it never trained on · accuracy gained over the unpatched compressed model

+0.7+0.8+0.9+1.0+1.1accuracy points gainedpatch size (LoRA rank r)48163264+0.77 points · 6 KB+1.04 points · 100 KB
A 6 KB patch already achieves 74% of what a 16× larger one does, and a 25 KB one achieves 91%. That is the deployment argument: a file this small can be pushed to robots already in the field over a slow or expensive link, the way a phone receives a security update. Rank is the single dial that sets the patch size.

Table 4 · Does training the patch need the uncompressed model?

Training the patch can be supervised by the uncompressed model. λ sets how much: λ = 0 means no teacher is used at all.

ModelDomain4-bit, no patchWith the Recti-Q patch
λ = 0λ = 0.5λ = 1.0
DeiT-Ssketch64.5764.6565.4965.74
DeiT-Sart painting87.2188.2887.6887.71
DeiT-Tcartoon71.7273.3472.8772.85
DeiT-Tart painting73.6375.1574.4174.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.

Table 5 · Does it matter where the correction goes?

Same data, same budget — the only difference is where in the network the correction is applied.

Where the correction is appliedImages correct (%)gained
nowhere — 4-bit model as-is64.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

Cite this work

BibTeX
@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}
}