Data assets for the brailletools project.
Original content in this repository (sample images, .brf test files, model weights, and any scripts) is licensed under the BSD-3-Clause license, consistent with the other brailletools repositories.
The data/angelina/ and data/dsbi/ directories are git submodules pointing at third-party upstream datasets that are not covered by this repository's license and do not declare an explicit license of their own (no LICENSE file in either upstream repo, and GitHub reports no detected license for either as of this writing). Both sets of authors ask only that their paper be cited when their data is used — see the citations below. Anyone redistributing or building on those submodules beyond citation should check with the upstream authors, since no explicit redistribution terms are published by either project.
10 private phone photos of embossed Braille pages used for OCR pipeline development. Collected by Jennifer Mankoff. All single-sided.
281 labeled Braille images from the Angelina Braille Reader project.
Ovodov, Ilya G. "Optical Braille Recognition Using Object Detection Neural Network." ICCV 2021. https://github.com/IlyaOvodov/AngelinaDataset
Run git submodule update --init data/angelina to download.
Note: books/ subset (212 images) is double-sided Braille — front side only is labeled.
handwritten/ (28 images) and uploaded/ (41 images, filtered) are single-sided.
License: none declared upstream (see License above); citation required.
114 double-sided Braille images for out-of-distribution evaluation.
Li, Renqiang, Hong Liu, Xiangdong Wan, and Yueliang Qiang. "DSBI: Double-Sided Braille Image Dataset and Algorithm Evaluation for Braille Dots Detection." arXiv:1811.10893 [cs.CV], 2018. https://github.com/yeluo1994/DSBI
Run git submodule update --init data/dsbi to download.
License: none declared upstream (see License above); citation required. The DSBI authors (Institute of Computing Technology, Chinese Academy of Sciences) can be reached at lirenqiang@ict.ac.cn or hliu@ict.ac.cn for questions about the dataset.
212 real-world "natural scene" photos of Braille (embossed signage, elevator buttons, etc.), as opposed to angelina/dsbi's flat page scans/photos. Localization-only: every box is labeled with a single generic class, no dot-pattern info — useful for detector training, not for the cell classifier.
Sourced from the training data recipe of
snoop2head/DotNeuralNet (the model behind
snoop2head/yolov8m-braille on HuggingFace), which combines this with angelina/dsbi/a Kaggle set to train its detector. DotNeuralNet's own README points to a Baidu Netdisk share
(https://pan.baidu.com/s/10WqYvC3BDltl6cTTwtUEmQ?pwd=499i) with no stated uploader or license — treat it the same as angelina/dsbi above (no redistribution terms published, so we don't vendor it into this repo; fetch it yourself from that link if you need it).
As originally distributed, this data ships as three exports of the same 164 train + 48 test images in different annotation formats (VOC_Braille XML, Org labelme JSON, ICDAR_Braille quad-point txt) — verified by identical filename sets across all three. We kept only VOC_Braille (Pascal VOC XML) and deleted the other two as pure redundancy (~270MB saved).
License: none declared upstream (see License above); not redistributed here.
Sample .brf (Braille Ready Format) files for testing the braille2latex converter.
Trained model weights.
| File | Description |
|---|---|
cell_classifier.pt |
MobileNetV2 dot classifier trained on Angelina single-sided images |
cell_detector.pt |
YOLOv8n single-class (localization-only) cell detector. Trained on angelina + dsbi + braille_natural, tiled to a native pixel size that lands cells at a fixed target density (see brailleocr/prepare_yolo_dataset.py) rather than used as whole pages — this took real-world detection quality from unusable to comparable with a 26M-param third-party model despite this one being 3M params. mAP50 0.995 / mAP50-95 0.864 on held-out val. TARGET_CELL_PX/TILE_SIZE in brailleocr/dot_pattern_utils.py must stay in sync with whatever this checkpoint was trained on — if retrained, recheck those constants. |
# All submodules at once
git submodule update --init --recursive
# Individual datasets
git submodule update --init data/angelina
git submodule update --init data/dsbi