Skip to main content

What Is an Occlusion Manifest?

An occlusion manifest is a per-photo JSON that explains the visibility status of every field in the source document. For each field, it says whether it’s visible or provides the specific reason it failed extraction. This is what makes penquify datasets useful for benchmarking: you know exactly which fields are extractable and which aren’t, and why.

Format

How It Works

The build_occlusion_manifest() function cross-references the verification result with the PhotoVariation config:
  1. If a field has status match -> "visible"
  2. If a field is not_visible or illegible, check which variation settings explain it
  3. If a field is mismatch, mark as image generation error

Occlusion Reasons

Crop / Framing

Stains / Contamination

Blur / Degradation

Angle / Distortion

Multi-page / Hand

Image Generation Error

Using Manifests for Benchmarking

The occlusion manifest enables precise OCR benchmarking:
This lets you measure:
  • Recall on visible fields: can your model extract what’s readable?
  • Robustness on degraded fields: can your model handle partial visibility?
  • False positive rate: does your model hallucinate values for hidden fields?