
hard-negative false positivenone
hardneg_0000
Legitimate slight font variation was confused with manipulation.
Prediction versus ground truth
{
"truth": "none",
"prediction": "font_swap"
}Normalized exact match preserves meaningful characters. Held-out recall is reported independently, and missing localization predictions are not silently scored as successes.
| Model | Split | Samples | Field NEM | Tamper F1 | Type macro F1 | Median latency |
|---|---|---|---|---|---|---|
| Qwen2.5-VL-3B-Instruct zero-shot local VLM | eval_seen | 20 | 98.0% | 0.0% | 22.2% | 183861.5 ms |
| Qwen2.5-VL-3B-Instruct zero-shot local VLM | eval_unseen | 20 | 99.0% | 0.0% | 31.0% | 180123.1 ms |
| Template-Aware Tesseract OCR + Visual RF classical OCR + trained image features | eval_seen | 20 | 93.0% | 82.4% | 72.2% | 1738.6 ms |
| Template-Aware Tesseract OCR + Visual RF classical OCR + trained image features | eval_unseen | 20 | 100.0% | 82.4% | 25.6% | 1703.9 ms |
Small diagnostic run: interpret these estimates cautiously.
| Clean field EM | Clean support | Degraded field EM | Degraded support | Performance drop |
|---|---|---|---|---|
| 95.0% | 4 | 98.8% | 16 | -3.8% |
Confusion matrix [TN, FP] / [FN, TP]: [[10,0],[10,0]]
Small diagnostic run: interpret these estimates cautiously.
| Clean field EM | Clean support | Degraded field EM | Degraded support | Performance drop |
|---|---|---|---|---|
| 97.8% | 9 | 100.0% | 11 | -2.2% |
Confusion matrix [TN, FP] / [FN, TP]: [[9,1],[10,0]]
Small diagnostic run: interpret these estimates cautiously.
| Clean field EM | Clean support | Degraded field EM | Degraded support | Performance drop |
|---|---|---|---|---|
| 95.0% | 4 | 92.5% | 16 | 2.5% |
Confusion matrix [TN, FP] / [FN, TP]: [[10,0],[3,7]]
Small diagnostic run: interpret these estimates cautiously.
| Clean field EM | Clean support | Degraded field EM | Degraded support | Performance drop |
|---|---|---|---|---|
| 100.0% | 9 | 100.0% | 11 | 0.0% |
Confusion matrix [TN, FP] / [FN, TP]: [[10,0],[3,7]]
The fixed template makes region localization and OCR comparatively easy. Tamper-type generalization remains substantially harder, especially for the held-out digit-edit intervention.
Hard negatives and causal pairs expose behavior hidden by aggregate F1. All values below are measured from image-only OCR/RF predictions.
Mean tamper-probability change: 0.290
Outside-field extraction stability: 100.0%
Brier score: 0.205
10.0% review → 70.4% selective accuracy; 4 errors avoided
20.0% review → 72.9% selective accuracy; 10 errors avoided
30.0% review → 73.8% selective accuracy; 14 errors avoided

hard-negative false positivenone
Legitimate slight font variation was confused with manipulation.
{
"truth": "none",
"prediction": "font_swap"
}
hard-negative false positivenone
Legitimate alignment shift was confused with manipulation.
{
"truth": "none",
"prediction": "none"
}
hard-negative false positivenone
Legitimate kerning variation was confused with manipulation.
{
"truth": "none",
"prediction": "font_swap"
}
hard-negative false positivenone
Legitimate slight font variation was confused with manipulation.
{
"truth": "none",
"prediction": "font_swap"
}
hard-negative false positivenone
Legitimate alignment shift was confused with manipulation.
{
"truth": "none",
"prediction": "none"
}
hard-negative false positivenone
Legitimate kerning variation was confused with manipulation.
{
"truth": "none",
"prediction": "font_swap"
}
hard-negative false positivenone
Legitimate slight font variation was confused with manipulation.
{
"truth": "none",
"prediction": "font_swap"
}
hard-negative false positivenone
Legitimate uneven jpeg blocks was confused with manipulation.
{
"truth": "none",
"prediction": "none"
}
hard-negative false positivenone
Legitimate alignment shift was confused with manipulation.
{
"truth": "none",
"prediction": "none"
}
hard-negative false positivenone
Legitimate kerning variation was confused with manipulation.
{
"truth": "none",
"prediction": "font_swap"
}
hard-negative false positivenone
Legitimate slight font variation was confused with manipulation.
{
"truth": "none",
"prediction": "font_swap"
}
hard-negative false positivenone
Legitimate scan shadow was confused with manipulation.
{
"truth": "none",
"prediction": "none"
}