Skip to page content
SAVRN
Search Plan a project

Open-weight model · Image segmentation

docverify

by Ghost Sas ghostsas001/docverify

docverify is an open-weight model for image segmentation from Ghost Sas, released under Apache License 2.0. Its published files total 267.0 MB.

A forensic segmentation network that finds where a payslip was edited — copy-move, splice from another document, or a re-typed amount — and the small models and thresholds that turn its pixel map into a verdict an analyst can act on.

Parameters—
Context—
Weights264.9 MB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads—

Model Card

By Ghost Sas, published under apache-2.0, revision 33a7a3a6b938.

A forensic segmentation network that finds where a payslip was edited — copy-move, splice from another document, or a re-typed amount — and the small models and thresholds that turn its pixel map into a verdict an analyst can act on. Part of docverify, a complete system with arithmetic checks, PDF forensics and a local LLM note: TamperNet (~33M parameters): a pretrained ConvNeXt encoder on RGB, plus two forensic inputs — fixed SRM noise residual filters (edits break the sensor/print noise) and a JPEG/DCT branch (a pasted region carries its own 8×8 compression grid) — fused into a U-Net-style decoder that outputs one logit per pixel. The page score is the mean of the top-200 pixel logits.…

Read Ghost Sas's full model card

docverify — payslip tampering detection

A forensic segmentation network that finds where a payslip was edited — copy-move, splice from another document, or a re-typed amount — and the small models and thresholds that turn its pixel map into a verdict an analyst can act on.

Part of docverify, a complete system with arithmetic checks, PDF forensics and a local LLM note: project · YOLO field detector

Files

File What it is
tampernet.onnx the served model — ONNX FP32, 1.56× faster than PyTorch on CPU, identical decisions
tampernet.pt the same weights for PyTorch
threshold.json page threshold 7.86 (5% false alarms on genuine payslips), field threshold 9.19 (1% of genuine pages rated high risk)
siglip_probe.json linear probe on frozen Google SigLIP image embeddings: payslip / RIB / invoice
version.txt release 2

Model

TamperNet (~33M parameters): a pretrained ConvNeXt encoder on RGB, plus two forensic inputs — fixed SRM noise residual filters (edits break the sensor/print noise) and a JPEG/DCT branch (a pasted region carries its own 8×8 compression grid) — fused into a U-Net-style decoder that outputs one logit per pixel. The page score is the mean of the top-200 pixel logits.

Inference runs at full resolution (1000 × 1414 px pages, padded to a multiple of 32 to keep the JPEG grid).

Results

Frozen test split: 793 synthetic payslips (390 genuine, 403 forged), never seen in training.

Metric v2 (this release) v1 (U-Net)
ROC-AUC 0.902 0.877
Forgeries caught at 1% false alarms 61% 55%
Forgeries caught at 5% false alarms 72% 66%
Pixel F1 on forged pages 0.81 0.77
Pixel IoU 0.68 0.62
Segment (recall at 5% false alarms) v2
Splice (pasted from another document) 90%
Copy-move (inside the document) 77%
Rewritten amount 50%
Scanned 77%
Phone photo 63%

Rewritten amounts are the hard case for pixels alone. In the full system, seven payslip arithmetic rules raise recall on them from 56% to 92%, and on all forgeries to 95% at 1.7% false alarms (240-document OCR subset):

Speed

A full page needs ~4 GB of RAM and ~5 s on 4 CPU threads (~0.44 s on a T4).

Limits

  • Synthetic data only. Trained and evaluated on generated French payslips (Faker fr_FR, fake people and companies). Never measured on real documents.
  • Built for one layout family (French payslips). Other documents need adaptation; the forensic branches are generic.
  • It flags; it does not decide. In docverify, a human analyst always makes the decision.
  • EU AI Act: fraud detection is excluded from the Annex III 5(b) high-risk category. Using this score directly to grant or refuse credit would not be.

License

Apache-2.0. The ConvNeXt encoder was initialised from timm ImageNet weights (Apache-2.0). The SigLIP probe applies to Google's SigLIP (Apache-2.0), downloaded from Google's repository.

Identity and Version

Repository
ghostsas001/docverify
Publisher
Ghost Sas
Task
Image segmentation
Modality
Image
Library
onnx
Parameters
Not stated by the source
Languages
fr, en
Revision
33a7a3a6b938abee4f0af273d8d521dfa550691f
First published
2026-10-03
Last updated
2026-10-03

Files and Weights

20 files, 267.0 MB in total. The weights are 2 files totalling 264.9 MB in onnx, pt.

Weights2 files · 264.9 MB
Configuration2 files · 48.9 KB
Documentation2 files · 15.1 KB
Other13 files · 2.0 MB
Repository1 file · 2.2 KB
Every file
FileTypeSizeSHA-256
tampernet.onnxWeights132.4 MB 01a311ec38a5
tampernet.ptWeights132.4 MB 786f22e657cc
siglip_probe.jsonConfiguration48.8 KB —
threshold.jsonConfiguration162 B —
LICENSEDocumentation11.4 KB —
README.mdDocumentation3.7 KB —
figures/02_v1_vs_v2.pngOther168.9 KB 661376e19af5
figures/03_image_vs_combined.pngOther161.1 KB bd529f69446f
figures/04_roc_and_scores.pngOther222.7 KB 69021d54b770
figures/05_pixel_localisation.pngOther148.5 KB 297087e71d24
figures/07_maths_by_field.pngOther141.9 KB 1dcf32ff56c3
figures/08_pdf_forensics.pngOther150.9 KB 5b8af8b707d3
figures/09_yolo_siglip.pngOther208.8 KB a9975ec16f90
figures/10_risk_levels.pngOther90.6 KB —
figures/15_throughput.pngOther167.1 KB fe6814eb2074
figures/ex_doc01788.jpgOther163.5 KB c06229c7da5e
figures/ex_doc02221.jpgOther168.5 KB 0afe58c8a808
figures/pipeline.pngOther253.0 KB a79149df6f9e
version.txtOther1 B —
.gitattributesRepository2.2 KB —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
264.9 MB
Download from Ghost Sas

Released by Ghost Sas through its official repository on Hugging Face. Read the license.

Memory Requirements

PrecisionWeights in memory
As published264.9 MB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About docverify

Can I use docverify commercially?

Yes. docverify is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

Similar Models

Model · Image segmentation

segformer-b2-finetuned-ade-512-512

NVIDIA

SegFormer model fine-tuned on ADE20k at resolution 512x512. It was introduced in the paper SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers by Xie et al. and first released in this repository. Disclaimer: The team releasing SegFormer did not write a model card for this model so this model card has been written by the Hugging Face team. SegFormer consists of a hierarchical Transformer encoder and a lightweight all-MLP decode head to achieve great results on semantic segmentation benchmarks such as ADE20K and Cityscapes. The hierarchical Transformer is first pre-trained on ImageNet-1k, after which a decode head is added and fine-tuned altogether on a…

Open weights other transformers

Model · Image segmentation

segformer-b3-finetuned-ade-512-512

NVIDIA

SegFormer model fine-tuned on ADE20k at resolution 512x512. It was introduced in the paper SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers by Xie et al. and first released in this repository. Disclaimer: The team releasing SegFormer did not write a model card for this model so this model card has been written by the Hugging Face team. SegFormer consists of a hierarchical Transformer encoder and a lightweight all-MLP decode head to achieve great results on semantic segmentation benchmarks such as ADE20K and Cityscapes. The hierarchical Transformer is first pre-trained on ImageNet-1k, after which a decode head is added and fine-tuned altogether on a…

Open weights other transformers

Model · Image segmentation

oneformer_ade20k_swin_large

SHI Labs

OneFormer model trained on the ADE20k dataset (large-sized version, Swin backbone). It was introduced in the paper OneFormer: One Transformer to Rule Universal Image Segmentation by Jain et al. and first released in this repository. OneFormer is the first multi-task universal image segmentation framework. It needs to be trained only once with a single universal architecture, a single model, and on a single dataset, to outperform existing specialized models across semantic, instance, and panoptic segmentation tasks. OneFormer uses a task token to condition the model on the task in focus, making the architecture task-guided for training, and task-dynamic for inference, all with a single…

Open weights mit transformers

Model · Image segmentation

segformer-b1-finetuned-ade-512-512

NVIDIA

SegFormer model fine-tuned on ADE20k at resolution 512x512. It was introduced in the paper SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers by Xie et al. and first released in this repository. Disclaimer: The team releasing SegFormer did not write a model card for this model so this model card has been written by the Hugging Face team. SegFormer consists of a hierarchical Transformer encoder and a lightweight all-MLP decode head to achieve great results on semantic segmentation benchmarks such as ADE20K and Cityscapes. The hierarchical Transformer is first pre-trained on ImageNet-1k, after which a decode head is added and fine-tuned altogether on a…

Open weights other transformers

Model · Image segmentation

segformer-b0-finetuned-ade-512-512

Joshua

https://huggingface.co/nvidia/segformer-b0-finetuned-ade-512-512 with ONNX weights to be compatible with Transformers.js. If you haven't already, you can install the Transformers.js JavaScript library from NPM using: Example: Image segmentation with Xenova/segformer-b0-finetuned-ade-512-512. You can visualize the outputs with: Note: Having a separate repo for ONNX weights is intended to be a temporary solution until WebML gains more traction. If you would like to make your models web-ready, we recommend converting to ONNX using Optimum and structuring your repo like this one (with ONNX weights located in a subfolder named onnx).

Open weights transformers.js

Model · Image segmentation

DelineateAnything

Mykola Lavreniuk

Delineate Anything v2 extends Delineate Anything into a globally representative, resolution-agnostic foundation model that scales agricultural field boundary detection to a planetary level from any imagery source. Trained on FBIS-73M, a massive 73-million-instance dataset spanning 61 countries with diverse imagery sources ranging from 0.25m to 10m resolution, built through a resolution-specific curation pipeline that solves the parcel-versus-field mismatch, Delineate Anything v2 sets a new state-of-the-art in global zero-shot delineation. It delivers a +103.3% relative gain in [email protected] over Delineate Anything while maintaining extreme efficiency, mapping all of Ukraine (603,000 km²) in 5.4…

Open weights agpl-3.0 ultralytics