divyaprabha123/Autograding-handwritten-mathematical-worksheets
Image processing and computer vision model to automatically evaluate and grade handwritten mathematical equations
repo name | divyaprabha123/Autograding-handwritten-mathematical-worksheets |
repo link | https://github.com/divyaprabha123/Autograding-handwritten-mathematical-worksheets |
homepage | https://towardsdatascience.com/computer-vision-auto-grading-handwritten-mathematical-answersheets-8974744f72dd |
language | Jupyter Notebook |
size (curr.) | 9414 kB |
stars (curr.) | 40 |
created | 2019-12-05 |
license | |
Auto-grading of handwritten mathematical worksheets
This repo is the part of internship project with Bosch/RBEI-EDS2. Aim of this project is to digitize the steps of solving a mathematical equation written by freehand on a paper, validating the steps and final answer of the recognized handwritten lines by maintaining the context.
Workflow
As shown, the overall solution can be divided into the following two parts:
- Workspace Detection module
- Analysis Module
Workspace Detection module is responsible for detecting multiple workspaces in a given sheet of paper using pre-defined markers.
Analysis module is responsible for detecting and localizing characters in lines in any given single workspace, and mathematically analyzing them and then drawing red, green lines depending upon their correctness.
For more detailed description on the workflow see Report.pdf
Example
Each line is corrected separately
- Green Box represents - Line is correct
- Red Box represents - Line is incorrect
Target algebraic equation A * X2 + B * Y
Where A = 56, B = 7, X = 3, Y = 13
Line No | Equation written | Expected Ans | Actual Ans | Status |
---|---|---|---|---|
1 | 56 * 32 + 7 * 13 | 595 | 595 | Correct |
2 | 56 * 7 + 92 | 595 | 484 | Incorrect |
3 | 595 + 92 | 595 | 687 | Incorrect |
4 | 595 | 595 | 595 | Correct |
For more detailed description on the workflow see Report.pdf
To evaluate and test
Character Recognition
Use this link to download the DCCNN model for OCR part of the analysis pipeline