This repository contains the backend service for SNAPGrade.
SNAPGrade is an AI-powered mobile application designed to assist educators in grading multiple-choice answer sheets efficiently. This smart image processing solution streamlines the evaluation process, eliminating the need for specialized hardware. With SNAPGrade, educators can save valuable time and focus more on teaching.
This project is funded and supported by the Department of Computer Science and Electronics, Universitas Gadjah Mada, Yogyakarta, Indonesia.
SNAPGrade works by this paradigm:
- A answered sheet (master key) is uploaded
- The student's answer is uploaded
- The template is inputed, between circles or cross
- Respective processing strategy is performed, and returns the final score as well as corrections.
- The Circles are processed with pure digital image processing techniques, employing adaptive the blob detection algorithm.
- The Cross are processed using a trained YOLOv8 model, focusing on localizing 'X' symbols, continued with further custom processing.
- The Preprocessing applied is robust as it employs adaptive parameterization, allowing it to handle various conditions of input images.
- Time Efficiency: Automates the grading process, drastically reducing time spent on manual corrections.
- Time for Circle Correction (demo): 1.92 seconds
- Time for Cross Correction (demo): 3.64 seconds
- Cost-Effective: Requires only a smartphone, removing the need for costly hardware or specialized scanners.
- Ease of Use: Intuitive interface designed with educators in mind
- The input must already be the region of interest (cannot be inputted with full page)
- Image must be taken from a flat surface (cannot be bent)
- Requires internet (backend service is deployed to Railway)
- Although robust, a broken image may not work (too bright, too noisy, too dark, too much differences in lighting)
- Backend to be developed locally, enabling offline use
- Employing databases
- Development of better UX
Master Key (Left) and Student Answer (Right) Sample Input
Master Key (Left) and Student Answer (Right) Sample Input
See SNAPGrade in action: View Demo
Special thanks to Maulana Arya for his amazing frontend work!
Check out the mobile app here: SNAPGrade-MobileApp