Week 0: Time spent in preparation for the project


Introduction


This project aims to create a software programme that can read handwritten text from images and convert them into typed text. The language used will be Python, using tensor flow keras and deep learning in order to create a software able to learn to improve its accuracy in recognising written words and numbers. The team members are: Alvin Chan (project leader), Mohamed Mohamed and Roshan Tripathi.

Progress made thus far


Before the new (2nd) semester had begun, several meetings were held to discuss how the project would be executed. The aim during this week was to allow the members to research and learn more about how to carry out the project, i.e. how exactly the handwriting recognition could be written into code, the difficulties associated with it and its reliability. Furthermore, the team spent time gaining more familiarity with the Python language during this time. Alvin set the pace expected of himself and his team from the get go with the meetings and works done between the end of exams and the start of the new semester, and we all felt the satisfaction of completing several documents ahead of schedule going into week 1.

Team Member Roles


During the first group meeting, roles for each member of the group was discussed and allocated.
  1. Alvin (Project leader) ~> Research leader, Coding support, Report support
  2. Roshan ~> Blog, Poster, Report leader, Research support
  3. Mohamed ~> Coding leader, Research support
From the initial discussions, it became clear that Mohamed had the most experience using python (the programming language that would be used primarily in this project), and as such was designated to primarily focus on building the code for the project with support from the other two members. 

Initial Research Conducted


To gain confidence in successfully completing this project, each member did some background research on handwriting recognition and optical character recognition (OCR) model using tensor flow keras and deep learning. As the primary coding language that would be used in this project is python, all the members spent varying amounts of time (depending on their confidence as well as their role in the team) learning the basics and aspects of python relevant to image and handwriting recognition. The links for some of these websites which were used for research and understanding are given below:

https://automationhero.ai/blog/handwriting-recognition-tools-translate-unstructured-data/
https://keras.io/examples/vision/captcha_ocr/
https://github.com/githubharald/SimpleHTR
https://machinelearningmastery.com/tensorflow-tutorial-deep-learning-with-tf-keras/
https://www.youtube.com/watch?v=WGJJIrtnfpk&ab_channel=edureka%21
https://www.youtube.com/watch?v=oXlwWbU8l2o&ab_channel=freeCodeCamp.org 
https://www.youtube.com/watch?v=qFJeN9V1ZsI&ab_channel=freeCodeCamp.org
(^^ deep learning tutorial ^^)

Additionally, the following pictures of animals (below) were used with the help of the tutorial on deep learning (from the last link above), to create a practice code that would allow the coding leader and the rest of the team members to fully comprehend how deep learning works on python. This test code will be then be used as a foundation to develop the handwriting recognition software during week 2. 



Note: The pictures above are only a small sample of a sample data set used to create the practice code.

Algorithm


An initial draft of the algorithm was generated highlighting the steps that would be taken to create the handwriting recognition software such as:
  1. Data preparation & processing
  2. Creating artificial neural network
  3. Training artificial neural network
  4. Creating a validation set
  5. Testing software model
Below are some screenshots of the initial draft of the algorithm:

Plans for week 1


  • Create a requirements specification document and have it finalised
  • Finish making the practice test code used to test image recognition on the animals as mentioned on the "Initial Research Conducted" section of the blog
  • Begin designing the handwriting recognition system on python using the requirements specification and practice test code as a basis
  • Finalise the algorithm and create the necessary flowcharts required to show how the code will work

Comments

Popular posts from this blog

Week 1: A Start To The Project

Week 4: Finished Product