File size: 3,658 Bytes
bb1e090 1914b20 bb1e090 1914b20 bb1e090 1914b20 bb1e090 1914b20 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | ---
license: unlicense
library_name: onnx
pipeline_tag: image-classification
tags:
- onnx
- image-classification
- ritual-recognition
---
# RitualCNN
RitualCNN recognizes the seven ritual drawing classes used by the [Rituals game](https://github.com/methil-group/rituals).
## Use the model
The ONNX file is `RitualCNN.onnx`. It accepts a grayscale image as a `float32` tensor named `input`, with shape `[batch, 1, 128, 128]`.
Before inference, convert the image to grayscale, resize it to 128 by 128 pixels, set pixels above 127 to 1 and all other pixels to 0. The model returns seven raw scores named `output`. The highest score is the predicted class.
The output order is: `Acervus`, `Avarus`, `Flosculus`, `Mutus`, `Not`, `Pudor`, `Regium`.
## Example predictions
These are model inputs from the held-out validation set after preprocessing. When a class has no correct validation predictions, its row shows the highest-scoring example. The top softmax score is not a calibrated probability.
| Input image | True label | Predicted label | Top softmax score | Result |
|---|---|---|---:|---|
|  | Acervus | Acervus | 19% | Correct |
|  | Avarus | Avarus | 61% | Correct |
|  | Flosculus | Flosculus | 51% | Correct |
|  | Mutus | Regium | 39% | Incorrect |
|  | Not | Not | 65% | Correct |
|  | Pudor | Pudor | 27% | Correct |
|  | Regium | Regium | 52% | Correct |
## Confusion matrix
Rows show the true label. Columns show the predicted label. This matrix uses all 33 held-out validation images.

## Training and evaluation
The model was trained on 163 labeled source image files. A stratified 80/20 split was made by class before augmentation. Augmentation runs on the fly for training images only: rotations up to 15 degrees and translations up to 12 pixels. The split contains 130 training images and 33 validation images. 0 byte-identical duplicate groups and 0 duplicate model-input groups were found.
Validation accuracy is 21/33 (63.6%); macro F1 is 59.8%. The validation set has 3 to 7 images per class. Early stopping selected epoch 47 using validation loss, so these results are for model selection rather than an independent final test.
A separate flat test folder had 6 files. 2 exact duplicates were excluded, leaving 4 images from 3 classes; 3/4 were correct. This set is too small and incomplete to estimate general performance.
The split is by file. The repository has no creator or session IDs for a grouped split, and drawings of the same ritual naturally look similar. Validation results are an estimate from a small dataset, not a guarantee of accuracy on new drawings. See `metrics.json` for the exact file lists, dataset fingerprint, per-class results, and ONNX compatibility checks.
## Files
- `RitualCNN.onnx` — trained model, ONNX opset 11.
- `config.json` — input, output, and class information.
- `metrics.json` — training details and validation results.
- `examples/` — validation input images shown above.
- `confusion_matrix.png` — validation confusion matrix.
- `README.md` — this model card.
The original drawings and the game source are in the [Rituals GitHub repository](https://github.com/methil-group/rituals). The exact training split and configuration for this model are listed in `metrics.json`.
|