task_categories:text-to-image task_categories:image-to-text size_categories:10M<n<100M language:en OCR blender LAION Stability region:us
---
task_categories:
- text-to-image
- image-to-text
language:
- en
tags:
- OCR
- blender
- LAION
- Stability
size_categories:
- 10M<n<100M
---
*This dataset has been created by Stability AI and LAION.*

This dataset contains 12 million 1024x1024 images of handwritten text written on a digital 3D sheet of paper generated using Blender geometry nodes and rendered using Blender Cycles. The text has varying font size, color, and rotation, and the paper was rendered under random lighting conditions.
Note that, the first 10 million examples are in the root folder of this dataset repository and the remaining 2 million are in ./remaining (due to the constraint on number of files per directory).

It was generated with the script https://github.com/GbotHQ/ocr-dataset-rendering/, which utilizes:
- ~8000 fonts from https://www.urbanfonts.com/free-fonts.htm and https://www.fontspace.com/
- 643 CC0 HDRIs from https://polyhaven.com/
- 1837 CC0 PRB materials from https://ambientcg.com/
- random sentences sampled from https://huggingface.co/datasets/ChristophSchuhmann/wikipedia-en-nov22-1-sentence-level and https://huggingface.co/datasets/ChristophSchuhmann/1-sentence-level-gutenberg-en_arxiv_pubmed_soda
to generate example images as shown below.

![Line level annotations](https://drive.google.com/uc?export=view&id=1T8aakgpgdW6D4gNuN7wXTqoqIayL2x9t)
![Character level annotations](https://drive.google.com/uc?export=view&id=1Kv2V9ruD_U-7qkEsbvL0Izq1AyrRU2ra)

The dataset contains both line-level, as well as character level annotations for each example. The annotations are stored in the accompanying json files and are of the following form:
```
{
'ocr_annotation':
{'bounding_boxes': [[[145.0, 370.0], [788.0, 353.0], [827.0, 633.0], [182.0, 669.0]]], 
 'text': ['Joe.'], 
 'bb_relative': [[[0.1416015625, 0.361328125], [0.76953125, 0.3447265625], [0.8076171875, 0.6181640625], [0.177734375, 0.6533203125]]], 
 'char': ['J', 'o', 'e', '.'], 
 'char_idx': [0, 1, 2, 3], 
 'bb_character_level': [[[145.0, 370.0], [346.0, 365.0], [382.0, 651.0], [181.0, 662.0]], [[375.0, 438.0], [557.0, 431.0], [585.0, 640.0], [402.0, 650.0]], [[578.0, 440.0], [744.0, 434.0], [771.0, 629.0], [604.0, 638.0]], [[778.0, 591.0], [821.0, 589.0], [827.0, 633.0], [784.0, 635.0]]], 
 'font_path': '/fsx/home-wendlerc/blender-dataset/assets/fonts/fontcollection/HelloScribbles-axapm.ttf', 
 'font_color': [17, 25, 231], 
 'text_rotation_angle': 7},
'width':1024,
'height':1024,
}
```


Browse a few more examples here: https://colab.research.google.com/drive/1o0rZhtY9aeurzNrAbu6nJypULSIIcf1v?authuser=1