| --- |
| license: apache-2.0 |
|
|
| tags: |
| - onnx |
| - document-understanding |
| - layout-detection |
| - table-detection |
| - faria |
|
|
| pipeline_tag: object-detection |
| --- |
| |
| # Faria ONNX Models |
|
|
| Pre-exported ONNX models used by [Faria](https://github.com/exto360-inc/faria), a document processing library with ML-powered |
| layout detection and table extraction. These files are ready for direct use with ONNX Runtime — no Python or conversion step |
| required. |
|
|
| ## Models |
|
|
| ### `detr_layout_detection.onnx` (~350 MB) |
|
|
| Document layout detection. Identifies structural elements across a page. |
|
|
| - **Source:** [`cmarkea/detr-layout-detection`](https://huggingface.co/cmarkea/detr-layout-detection) |
| - **ONNX opset:** 14 |
|
|
| **Input** |
|
|
| | Name | Shape | Type | |
| |----------------|------------------------|---------| |
| | `pixel_values` | `[batch, 3, 800, 800]` | float32 | |
|
|
| **Outputs** |
|
|
| | Name | Shape | Type | Description | |
| |--------------|--------------------|---------|--------------------------------------------| |
| | `logits` | `[batch, 100, 12]` | float32 | Class scores (11 classes + no-object) | |
| | `pred_boxes` | `[batch, 100, 4]` | float32 | Normalized boxes `(cx, cy, w, h)` | |
|
|
| **Class labels (DocLayNet)** |
|
|
| | Index | Label | |
| |-------|----------------| |
| | 0 | Caption | |
| | 1 | Footnote | |
| | 2 | Formula | |
| | 3 | List-item | |
| | 4 | Page-footer | |
| | 5 | Page-header | |
| | 6 | Picture | |
| | 7 | Section-header | |
| | 8 | Table | |
| | 9 | Text | |
| | 10 | Title | |
| | 11 | (no object) | |
|
|
| **Post-processing** |
| 1. Apply softmax to `logits` |
| 2. Filter by confidence threshold |
| 3. Convert `(cx, cy, w, h)` → `(x1, y1, x2, y2)` |
| 4. Scale boxes to image size |
|
|
| --- |
|
|
| ### `nemotron_table_structure.onnx` (~200 MB) |
|
|
| Table structure recognition. |
|
|
| - **Source:** [`nvidia/nemotron-table-structure-v1`](https://huggingface.co/nvidia/nemotron-table-structure-v1) |
| - **ONNX opset:** 18 |
|
|
| **Inputs** |
|
|
| | Name | Shape | Type | Description | |
| |--------------|---------------------|---------|----------------------------------| |
| | `input` | `[1, 3, 1024, 1024]`| float32 | RGB image | |
| | `orig_sizes` | `[1, 2]` | int64 | `[height, width]` | |
|
|
| **Outputs** |
|
|
| | Name | Shape | Type | |
| |---------|----------|---------| |
| | labels | `[N]` | float32 | |
| | boxes | `[N, 4]` | float32 | |
| | scores | `[N]` | float32 | |
|
|
| **Class labels** |
|
|
| | Index | Label | |
| |-------|--------| |
| | 1 | cell | |
| | 2 | row | |
| | 3 | column | |
| | 4 | header | |
|
|
| --- |
|
|
| ## Installation |
|
|
| ```bash |
| curl -fsSL https://raw.githubusercontent.com/exto360-inc/faria-install/main/install.sh | bash -s -- --features idp |
| ``` |
|
|
| Or download manually: |
|
|
| ```bash |
| # Layout detection |
| curl -fsSL https://huggingface.co/pavan-synkrato360/faria-models/resolve/main/detr_layout_detection.onnx -o detr_layout_detection.onnx |
| |
| # Table structure |
| curl -fsSL https://huggingface.co/pavan-synkrato360/faria-models/resolve/main/nemotron_table_structure.onnx -o nemotron_table_structure.onnx |
| ``` |
|
|
| --- |
|
|
| ## config.json |
|
|
| ```json |
| { |
| "models": { |
| "detr_layout_detection": { |
| "filename": "detr_layout_detection.onnx", |
| "task": "document-layout-detection", |
| "source": "cmarkea/detr-layout-detection", |
| "onnx_opset": 14, |
| "input": { |
| "pixel_values": [1, 3, 800, 800] |
| }, |
| "outputs": { |
| "logits": [1, 100, 12], |
| "pred_boxes": [1, 100, 4] |
| }, |
| "classes": [ |
| "Caption", "Footnote", "Formula", "List-item", |
| "Page-footer", "Page-header", "Picture", "Section-header", |
| "Table", "Text", "Title" |
| ] |
| }, |
| "nemotron_table_structure": { |
| "filename": "nemotron_table_structure.onnx", |
| "task": "table-structure-recognition", |
| "source": "nvidia/nemotron-table-structure-v1", |
| "onnx_opset": 18, |
| "inputs": { |
| "input": [1, 3, 1024, 1024], |
| "orig_sizes": [1, 2] |
| }, |
| "outputs": { |
| "labels": ["N"], |
| "boxes": ["N", 4], |
| "scores": ["N"] |
| }, |
| "classes": { |
| "1": "cell", |
| "2": "row", |
| "3": "column", |
| "4": "header" |
| } |
| } |
| } |
| } |
| ``` |