Commit Β·
17ccbba
0
Parent(s):
form-field-v1
Browse files- .gitattributes +35 -0
- README.md +78 -0
.gitattributes
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
*.7z filter=lfs diff=lfs merge=lfs -text
|
| 2 |
+
*.arrow filter=lfs diff=lfs merge=lfs -text
|
| 3 |
+
*.bin filter=lfs diff=lfs merge=lfs -text
|
| 4 |
+
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
| 5 |
+
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
| 6 |
+
*.ftz filter=lfs diff=lfs merge=lfs -text
|
| 7 |
+
*.gz filter=lfs diff=lfs merge=lfs -text
|
| 8 |
+
*.h5 filter=lfs diff=lfs merge=lfs -text
|
| 9 |
+
*.joblib filter=lfs diff=lfs merge=lfs -text
|
| 10 |
+
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
| 11 |
+
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
| 12 |
+
*.model filter=lfs diff=lfs merge=lfs -text
|
| 13 |
+
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
| 14 |
+
*.npy filter=lfs diff=lfs merge=lfs -text
|
| 15 |
+
*.npz filter=lfs diff=lfs merge=lfs -text
|
| 16 |
+
*.onnx filter=lfs diff=lfs merge=lfs -text
|
| 17 |
+
*.ot filter=lfs diff=lfs merge=lfs -text
|
| 18 |
+
*.parquet filter=lfs diff=lfs merge=lfs -text
|
| 19 |
+
*.pb filter=lfs diff=lfs merge=lfs -text
|
| 20 |
+
*.pickle filter=lfs diff=lfs merge=lfs -text
|
| 21 |
+
*.pkl filter=lfs diff=lfs merge=lfs -text
|
| 22 |
+
*.pt filter=lfs diff=lfs merge=lfs -text
|
| 23 |
+
*.pth filter=lfs diff=lfs merge=lfs -text
|
| 24 |
+
*.rar filter=lfs diff=lfs merge=lfs -text
|
| 25 |
+
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
| 26 |
+
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
| 27 |
+
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
| 28 |
+
*.tar filter=lfs diff=lfs merge=lfs -text
|
| 29 |
+
*.tflite filter=lfs diff=lfs merge=lfs -text
|
| 30 |
+
*.tgz filter=lfs diff=lfs merge=lfs -text
|
| 31 |
+
*.wasm filter=lfs diff=lfs merge=lfs -text
|
| 32 |
+
*.xz filter=lfs diff=lfs merge=lfs -text
|
| 33 |
+
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
+
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
+
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
README.md
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: other
|
| 3 |
+
license_name: nutrient-commercial
|
| 4 |
+
pipeline_tag: object-detection
|
| 5 |
+
language: [en]
|
| 6 |
+
tags:
|
| 7 |
+
- object-detection
|
| 8 |
+
- document-ai
|
| 9 |
+
- form-field-detection
|
| 10 |
+
datasets:
|
| 11 |
+
- nutrientdocs/form-field-v1-benchmark
|
| 12 |
+
metrics:
|
| 13 |
+
- accuracy
|
| 14 |
+
---
|
| 15 |
+
|
| 16 |
+
# form-field-v1-medium Β· _commercial_
|
| 17 |
+
|
| 18 |
+
**The highest-accuracy tier of the `form-field-v1` detector family** β locates `Text`, `Choice`
|
| 19 |
+
(checkbox/radio), and `Signature` widgets on **empty, filled, and handwritten** document pages. ~34M params,
|
| 20 |
+
NMS-free, single-resolution 1216.
|
| 21 |
+
|
| 22 |
+
The runnable weights are commercial and are not downloadable from this repository β this public page is the
|
| 23 |
+
product specification and scorecard. Prefer a small, open model? See
|
| 24 |
+
[`form-field-v1-nano`](https://huggingface.co/nutrientdocs/form-field-v1-nano) (Apache-2.0).
|
| 25 |
+
|
| 26 |
+
- π― **Try it:** [form-field-v1-demo](https://huggingface.co/spaces/nutrientdocs/form-field-v1-demo)
|
| 27 |
+
- π **Leaderboard:** [form-field-v1-leaderboard](https://huggingface.co/spaces/nutrientdocs/form-field-v1-leaderboard)
|
| 28 |
+
- π **Benchmark:** [form-field-v1-benchmark](https://huggingface.co/datasets/nutrientdocs/form-field-v1-benchmark)
|
| 29 |
+
|
| 30 |
+
## Results
|
| 31 |
+
|
| 32 |
+
COCO **mAP50-95** on the [`form-field-v1-benchmark`](https://huggingface.co/datasets/nutrientdocs/form-field-v1-benchmark),
|
| 33 |
+
one shared pycocotools scorer across all models.
|
| 34 |
+
|
| 35 |
+
| Model | Empty | Filled | Handwritten |
|
| 36 |
+
|---|---|---|---|
|
| 37 |
+
| **form-field-v1-medium** (this model) | **0.529** | **0.783** | **0.764** |
|
| 38 |
+
| FFDetr (baseline) | 0.461 | 0.170 | 0.225 |
|
| 39 |
+
| FFDNet-L (baseline) | 0.373 | 0.285 | 0.285 |
|
| 40 |
+
|
| 41 |
+
Per-class on empty (mAP50-95): Text 0.605 / Choice 0.614 / Signature 0.369. On the neutral CommonForms-test it
|
| 42 |
+
reaches 0.361. Full per-class breakdowns are on the
|
| 43 |
+
[leaderboard](https://huggingface.co/spaces/nutrientdocs/form-field-v1-leaderboard).
|
| 44 |
+
|
| 45 |
+
## Output
|
| 46 |
+
|
| 47 |
+
```json
|
| 48 |
+
[ { "box": [82, 164, 336, 41], "type": "Text", "score": 0.94 } ]
|
| 49 |
+
```
|
| 50 |
+
|
| 51 |
+
`box` is `[x, y, w, h]` in page pixels; `type` β `Text`, `ChoiceButton`, `Signature`. Served as a single-file
|
| 52 |
+
ONNX graph (fp32 + fp16), verified to reproduce the benchmark (fp32 mAP 0.6909 / fp16 0.6860 over all variants).
|
| 53 |
+
|
| 54 |
+
## Intended use and limits
|
| 55 |
+
|
| 56 |
+
- Empty, filled, and handwritten digital/scanned forms are all supported.
|
| 57 |
+
- GPU/server model (~57 fps on an A100). For on-device CPU use `form-field-v1-nano` / `-small`.
|
| 58 |
+
- Very dense pages benefit from higher input resolution.
|
| 59 |
+
|
| 60 |
+
## License & data
|
| 61 |
+
|
| 62 |
+
Weights are offered under a commercial Nutrient license. Evaluation is public and reproducible via
|
| 63 |
+
[`form-field-v1-benchmark`](https://huggingface.co/datasets/nutrientdocs/form-field-v1-benchmark). The FFDetr
|
| 64 |
+
baseline is [FF-DETR / CommonForms](https://huggingface.co/jbarrow/FFDetr) by jbarrow, Apache-2.0.
|
| 65 |
+
|
| 66 |
+
> ### π© Get access
|
| 67 |
+
>
|
| 68 |
+
> `form-field-v1-medium` is commercial and its weights are not downloadable here. To run it on-prem, with
|
| 69 |
+
> documents staying in your infrastructure β **contact Nutrient:
|
| 70 |
+
> [nutrient.io/contact-sales](https://www.nutrient.io/contact-sales/).**
|
| 71 |
+
|
| 72 |
+
## About the author
|
| 73 |
+
|
| 74 |
+
<a href="https://nutrient.io/">
|
| 75 |
+
<img src="https://avatars2.githubusercontent.com/u/1527679?v=3&s=200" height="80" />
|
| 76 |
+
</a>
|
| 77 |
+
|
| 78 |
+
This project is maintained and funded by [Nutrient](https://nutrient.io/) - The deterministic document infrastructure enterprises run their highest-stakes workflows on: replayable output, clear exceptions, and full audit trails on the messy, regulated documents where AI alone breaks.
|