Skip to content

English to Brail 3D printing pipeline. Leveraging a LSTM model implemented in JAX and Haiku, this project allows the user to input an English phrase, and generates a 3D printable .stl file with the translation.

Notifications You must be signed in to change notification settings

vpareek2/BrailleSculpt

Repository files navigation

BrailleSculpt

An English to Brail translator that 3d Prints.

Description

This project stemmed from my interest to learn more about the world of Deep Learning. I wanted to learn more about Long Short Term Memory (LSTM) Neural Networks. I never previously got the opportunity to learn to build with JAX and Haiku so I thought this is a good opportunity. Also, I wanted to create an easy and mostly free way to get some braille, maybe if you need to make a sign, or you are a teacher that wants to help acommadate a vision-impaired student.

This project involves developing a machine learning application to convert text into Braille, a tactile writing system used by people who are visually impaired. The core of the project is a neural network model, likely implemented using JAX, a high-performance numerical computing library. The model is trained to predict Braille representations of text characters, and the training process is managed by a function named train_model. The application uses a modified encode_character function to convert input text into a format suitable for model prediction. Each character of the input text is encoded, reshaped, and then passed through the predict_braille function, which applies the trained neural network model to predict the Braille equivalent. The output predictions for each character are then combined and validated against the correct Braille translation using the validate_result function. Finally run.py puts it all together. It is put into your downloads file as a stl file then automatically opened with STL Viewer, if you have the app.

Demo

Dependencies

  • pip install git+https://github.com/deepmind/dm-haiku
  • pip install plotnine
  • pip install pybraille
  • pip install gradio

Executing program

  • Run the program with run.py then open the link returned in the browser of your choice.
python run.py

Authors

Contributors name and contact info

ex. Veer Pareek - [email protected]

Version History

  • 0.1
    • Initial Release
  • Find a more efficient way to save and load model
  • Add a block under the braille so it isn't all seperated
  • Collect more english to braille text
  • Implement Grade 2 Braille translation
  • Write a script to auto 3D Print

Note about architecture

You might be confused as to why I would use a model as complex as a LSTM. I honestly did this project to learn about the architecture of a LSTM and how to use JAX and Haiku to build it. While they are new languages for me, the documentation was thorough and has the ability to speed up large projects. Also down the line I plan to collect a dataset filled with english to braile sentences and paragraphs to train a Grade 2 Braille model, that can make actual sentences, rather than translations, using contractions, numbers, punctuation, etc.

About

English to Brail 3D printing pipeline. Leveraging a LSTM model implemented in JAX and Haiku, this project allows the user to input an English phrase, and generates a 3D printable .stl file with the translation.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published