Downloads · 30 days
24
56% of all-time downloads
aacudad/AnomalyThink-LLaVA-OneVision-7B-KCR-corrected
AnomalyThink-LLaVA-OneVision-7B-KCR-corrected is a image-text-to-text model from aacudad. Use it for the image-text-to-text task on the model card, and read the license before you ship it in a product. It is set up for transformers. The card lists the license as apache-2.0.
The Keep-Correct-Revise (KCR) replication on LLaVA-OneVision-7B-SI, corrected corpus build. This is the checkpoint the thesis reports as the second-backbone replication result (Table 6.13, Appendix M): DS-MVTec 87.32…
Downloads · 30 days
24
56% of all-time downloads
All-time downloads
43
Public
Parameters
8B
16.1 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors16.1 GB · 100%
From the Hugging Face model README
The Keep-Correct-Revise (KCR) replication on LLaVA-OneVision-7B-SI, corrected corpus build. This is the checkpoint the thesis reports as the second-backbone replication result (Table 6.13, Appendix M): DS-MVTec 87.32 / VisA 72.65 at the DS-MVTec-selected epoch 2, and 74.29 on VisA at epoch 4.
The first LLaVA KCR corpus, behind AnomalyThink-LLaVA-OneVision-7B-KCR (88.45 / 74.25), was drawn from the whole 10,236-image rollout pool rather than from the 6,000-image SFT split (3,516 of its images lie inside that split) and was balanced on the folder name rather than on the trace verdict, which left it at 45.0 % anomalous. The corrected corpus, llava_kcr/sft_llava_C_corrected_train.json in the dataset repo, keeps the same keep, correct and rewrite routing, the same record schema, prompt, caps and seed, and changes only those two things: all 6,000 images inside the SFT split and exactly 3,000 / 3,000 by verdict. That makes the comparison with the Qwen2.5-VL KCR model a one-factor comparison, which is why the thesis reports this build.
| Model | DS-MVTec | VisA |
|---|---|---|
| LLaVA-OneVision-7B-SI base | 75.66 | 53.80 |
| AnomalyThink LLaVA SFT (6K Gemini traces) | 85.91 | 68.26 |
| AnomalyThink LLaVA SFT then GRPO | 87.66 | 72.38 |
| AnomalyThink LLaVA KCR, first build | 88.45 | 74.25 |
| This model, corrected build, epoch 2 | 87.32 | 72.65 |
| IAD-R1 released checkpoint (Qwen2.5-VL-7B) | 81.92 | 71.34 |
Per epoch: 84.35 / 71.36, 87.32 / 72.65, 86.96 / 73.57, 86.60 / 74.29. On the held-out Real-IAD split (4,236 unseen images of seen products) this checkpoint scores 84.03, the highest row there.
Contamination note. The public LLaVA-OneVision instruction mixture contains entries naming MVTec-AD, so every DS-MVTec number on this backbone carries a possible pretraining-exposure caveat. VisA has no such entries. Claims that depend on this backbone are made on VisA.
Evaluation protocol. One harness for every row: the DS-MVTec (1,670 images) and VisA (2,141 images) subsets of MMAD, one image per prompt, the training prompt with the one-line system message "Please answer by yes or no", greedy decoding, at most 1,024 new tokens, images capped at 262,144 pixels, vLLM generation; 13 of the 2,141 VisA generations of this checkpoint carry no parsable verdict and are counted as wrong. Balanced accuracy is the mean of sensitivity and specificity. Strict scoring: a generation with no parsable <answer> counts as wrong. Per-sample evaluation files are next to the weights (eval_*.json).
llava-hf/llava-onevision-qwen2-7b-si-hf.llava_kcr/sft_llava_C_corrected_train.json, 6,000 traces, 3,000 / 3,000 by verdict, all inside the SFT split, built from this backbone's own SFT then GRPO rollouts (k = 8 at temperature 0.7), judged and repaired by Gemini-3-Flash.Loads with transformers 4.51 to 4.57 as a LlavaOnevisionForConditionalGeneration. This backbone does not attend to the system turn, so put the instruction in the user turn: prepend "Please answer by yes or no." to the question. Same prompt and tags as the other AnomalyThink models.
@mastersthesis{acudad2026reasoning,
author = {Acudad, A.},
title = {Reasoning-Enhanced Vision-Language Models for Explainable Industrial Anomaly Detection},
school = {Delft University of Technology},
year = {2026},
type = {Master's thesis},
url = {https://resolver.tudelft.nl/uuid:65c62420-79c0-447f-b095-7fb11d4474fc}
}
Thesis: https://resolver.tudelft.nl/uuid:65c62420-79c0-447f-b095-7fb11d4474fc. Code and evaluation files: https://github.com/aacudad/IAD-VLMs.
Apache-2.0, derived from llava-hf/llava-onevision-qwen2-7b-si-hf.