---
title: ArmorOCR
canonical_url: "https://www.modelscope.ai/models/inclusionAI/ArmorOCR"
md_url: "https://www.modelscope.ai/models/inclusionAI/ArmorOCR.md"
repository: inclusionAI/ArmorOCR
last_updated: 2026-08-24
license: apache-2.0
pipeline_tag: image-text-to-text
tasks:
  - image-text-to-text
model_type:
  - qwen3_vl
architectures:
  - Qwen3VLForConditionalGeneration
base_model:
  - Qwen/Qwen3-VL-8B-Instruct
base_model_relation: finetune
parameters: 8.8B
tensor_type:
  - BF16
library_name:
  - transformer
  - safetensors
  - pytorch
frameworks:
  - pytorch
language:
  - en
  - zh
downloads: 82
stars: 0
tags:
  - ocr
  - multimodal
  - vision-language
  - "adversarial ocr"
  - "grounded ocr"
  - qwen3-vl
---

# ArmorOCR

> ArmorOCR - An open-source model by inclusionAI on ModelScope. ArmorOCR is a two-stage framework for grounded adversarial OCR perception built on Qwen3-VL-8B-Instruct. It enables single-pass inference on the original image, without any inference-time visual…

inclusionAI/ArmorOCR is a 8.8B-parameter image-text-to-text model on ModelScope. licensed under apache-2.0. derived from Qwen/Qwen3-VL-8B-Instruct.

- **Repository**: inclusionAI/ArmorOCR
- **License**: apache-2.0
- **Tasks**: image-text-to-text
- **Parameters**: 8.8B
- **Base model**: Qwen/Qwen3-VL-8B-Instruct
- **Tags**: ocr, multimodal, vision-language, adversarial ocr, grounded ocr, qwen3-vl
- **Downloads**: 82
- **Stars**: 0
- **Last updated**: 2026-08-24

Source: https://www.modelscope.ai/models/inclusionAI/ArmorOCR

---

# ArmorOCR

[![Code](https://img.shields.io/badge/Code-GitHub-black)](https://github.com/ant-research/ArmorOCR)
[![Paper](https://img.shields.io/badge/Paper-arXiv-blue)](https://arxiv.org/abs/2608.20122)
[![License](https://img.shields.io/badge/License-Apache--2.0-yellow)](https://www.apache.org/licenses/LICENSE-2.0)

**ArmorOCR** is a two-stage framework for **grounded adversarial OCR perception** built on Qwen3-VL-8B-Instruct. It enables single-pass inference on the original image, without any inference-time visual transformations or tool assistance.

📖 For training details, the AdvSpot benchmark, and evaluation scripts, please visit the [GitHub repo](https://github.com/ant-research/ArmorOCR).

## Quickstart

```bash
pip install transformers==4.57.1 accelerate
```

```python
from transformers import Qwen3VLForConditionalGeneration, AutoProcessor

model = Qwen3VLForConditionalGeneration.from_pretrained(
    "inclusionAI/ArmorOCR", dtype="auto", device_map="auto",
)
processor = AutoProcessor.from_pretrained("inclusionAI/ArmorOCR")

messages = [{
    "role": "user",
    "content": [
        {"type": "image", "image": "path/to/image.png"},
        {"type": "text",
         "text": ("Please identify the text in the image. "
                  "Put your reasoning inside <analyze></analyze> "
                  "and your final recognized text inside <answer></answer>.")},
    ],
}]

inputs = processor.apply_chat_template(
    messages, tokenize=True, add_generation_prompt=True,
    return_dict=True, return_tensors="pt",
).to(model.device)

out = model.generate(**inputs, max_new_tokens=256)
trimmed = [o[len(i):] for i, o in zip(inputs.input_ids, out)]
print(processor.batch_decode(trimmed, skip_special_tokens=True))
```

## License

Released under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). Use is additionally subject to the license and acceptable-use policy of the base model [Qwen/Qwen3-VL-8B-Instruct](https://huggingface.co/Qwen/Qwen3-VL-8B-Instruct).

## Citation

```bibtex
@misc{cao2026armorocrgroundedadversarialvisual,
      title={ArmorOCR: Grounded Adversarial Visual Perception via Observation-Transferred Self-Distillation}, 
      author={Linhan Cao and Siyuan Li and Jun Lan and Liangbo He and Guannan Li and Xiaolei Huang and Jun Jia and Shuheng Zhou and Huijia Zhu and Weiqiang Wang and Wei Sun},
      year={2026},
      eprint={2608.20122},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2608.20122}, 
}
```
