PixelPrune: Pixel-Level Adaptive Visual Token Reduction via Predictive Coding

Nan Wang, Zhiwei Jin, Chen Chen, Haonan Lu
4/1/2026
cs.CVcs.AIcs.CL

Official code: OPPO-Mente-Lab/PixelPrune (28 stars, Apache-2.0, last commit 2026-04-09).

Abstract

Document understanding and GUI interaction are among the highest-value applications of Vision-Language Models (VLMs), yet they impose exceptionally heavy computational burden: fine-grained text and small UI elements demand high-resolution inputs that produce tens of thousands of visual tokens. We observe that this cost is largely wasteful -- across document and GUI benchmarks, only 22--71\% of image patches are pixel-unique, the rest being exact duplicates of another patch in the same image. We propose \textbf{PixelPrune}, which exploits this pixel-level redundancy through predictive-coding-based compression, pruning redundant patches \emph{before} the Vision Transformer (ViT) encoder. Because it operates in pixel space prior to any neural computation, PixelPrune accelerates both the ViT encoder and the downstream LLM, covering the full inference pipeline. The method is training-free, requires no learnable parameters, and supports pixel-lossless compression ($τ{=}0$) as well as controlled lossy compression ($τ{>}0$). Experiments across three model scales and document and GUI benchmarks show that PixelPrune maintains competitive task accuracy while delivering up to 4.2$\times$ inference speedup and 1.9$\times$ training acceleration. Code is available at https://github.com/OPPO-Mente-Lab/PixelPrune.

View on arXivView PDF

Code Implementations(1)

Apache-2.0

PixelPrune: Pixel-Level Adaptive Visual Token Reduction via Predictive Coding

282Shell, PythonApr 1, 20266 months agoApache-2.0

Similar Papers

Cite this paper

@article{wang2026pixelprune,
  title  = {PixelPrune: Pixel-Level Adaptive Visual Token Reduction via Predictive Coding},
  author = {Nan Wang and Zhiwei Jin and Chen Chen and Haonan Lu},
  year   = {2026},
  eprint = {2604.00886},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2604.00886v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2604.00886.svg)](https://codeofpaper.com/paper/2604.00886)

Discussion