Learning by doing
EASY
It's with great enthusiasm that I present to you the creation of an OCR in C, a project carried out as part of our third semester at EPITA.
Working in teams of four, we were tasked with designing an OCR capable of recognising and solving a grid of jumbled words, despite possible skews and imperfections in the images. This project was a double challenge: not only did we have to learn machine learning, but we also had to master development in C, a language not widely used for this type of application.
We had four months to develop a neural network and an application capable of processing, analysing and solving a word grid based on an image. Although similar solutions exist in Python, we could not find any project of this type done in C. This particularity meant that we were faced with new challenges, requiring us to solve problems that are not well documented on the Internet.
To complete this project, we studied existing solutions in Python and consulted a number of books provided by the school. We also watched numerous videos and explored various online resources to gain a better understanding of the fundamental concepts of machine learning and image processing. Rigorous project management was put in place, with a detailed schedule including precise deadlines and a division of tasks according to each person's skills in order to optimise our efficiency.
We achieved a satisfactory result, obtaining a final mark of 16.87/20, even though the project was only 75% complete. Despite some unfinished functionality, we're proud of the work we've and our technical progress. The project's source code is available here: GitHub - Perceptio-S3-EPITA.