This project was developed as part of my final year MEng Computing degree project at Imperial College London (thesis). It explores an approach to handwriting recognition that leverages dynamic data from stylus or fingertip movements, and introduces two Bézier curve feature sets for the transformation of stroke points.
Before you begin, ensure you have installed the following:
- A version of
Python 3.9.7
and above. - A version of
Node v14.7.0
and above.
Download the IAM-OnDB dataset. Save the ascii
, lineImages
and lineStrokes
directories under the backend/datasets/IAM
folder within the repository.
Once done, ensure that you have navigated (cd
) into the root of the repository.
To install all dependencies, run:
pip install -r requirements.txt
cd frontend && npm install
cd .. # Make sure to return to the root directory after installing frontend dependencies.
To ensure all start-up scripts are executable, run:
chmod +x /backend/extract.sh
chmod +x /backend/start.sh
chmod +x /frontend/start.sh
To extract and preprocess all data required for the application, run:
./backend/extract.sh
To start the backend, run:
./backend/start.sh
To start the frontend, open a new terminal session and run:
./frontend/start.sh
Open your favourite browser, and go to http://localhost:3000.
This project uses the following license: MIT