File size: 1,687 Bytes
66fcfb5
f94a151
 
 
 
66fcfb5
 
 
f94a151
 
 
 
66fcfb5
 
f94a151
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
---
title: ArmorOCR
emoji: 🛡️
colorFrom: blue
colorTo: purple
sdk: gradio
sdk_version: 6.29.1
app_file: app.py
short_description: Grounded adversarial OCR perception with ArmorOCR
python_version: "3.10"
startup_duration_timeout: 30m
license: apache-2.0
---

# ArmorOCR: Grounded Adversarial OCR

Demo of **[inclusionAI/ArmorOCR](https://huggingface.co/inclusionAI/ArmorOCR)**, a Qwen3-VL-8B-Instruct finetune for **grounded adversarial OCR perception** — recognizing text that is hard even for humans to spot at a glance: low-contrast blends, dot/line encodings, dense pattern overlays, tiny or stylized text, and more.

The app runs single-pass inference on the original image (no inference-time visual transformations) in two modes:

- **Grounded spotting** — recognizes the hidden text and localizes it with a bounding box (0–1000 normalized coordinates), drawn on the image.
- **Free-form prompt** — ask any question about the text in the image, using the official `<analyze>`/`<answer>` prompt template.

Example images are taken from the official [ant-research/ArmorOCR](https://github.com/ant-research/ArmorOCR) repository (Apache-2.0).

- 📄 Paper: [ArmorOCR: Grounded Adversarial Visual Perception via Observation-Transferred Self-Distillation](https://arxiv.org/abs/2608.20122)
- 💻 Code: [ant-research/ArmorOCR](https://github.com/ant-research/ArmorOCR)
- 🤗 Model: [inclusionAI/ArmorOCR](https://huggingface.co/inclusionAI/ArmorOCR) · GGUF: [inclusionAI/ArmorOCR-GGUF](https://huggingface.co/inclusionAI/ArmorOCR-GGUF)
- 🤗 Benchmark: [inclusionAI/advspot-public](https://huggingface.co/datasets/inclusionAI/advspot-public)

License: Apache License 2.0.