About
The Spirit of Math contest is an international math contest, written by students from grades 1-4. The students are given individual contest papers, specific to their grade level, along with a multiple choice answer sheet from which to choose their answers. This scanning app works **EXCLUSIVELY** with our contest answer sheets to tabulate a registered student's score and compile them for that particular grade-level contest for that registered school. The scores are then transmitted to our team for verification. Once the answer sheets have been verified, the scores will be provided to the appropriate school for each student.
The Challenge
The initial idea was to remove possible cheating by teachers. The whole contest process, starting with its creation and ending with a student answer sheet submission, should be seamlessly handled by a system. The biggest challenge was to create a module that could scan the answers sheet in real-time in different conditions. Regardless of good or bad lightning, dark or white table with a textured background or not, perfectly printed answer sheet or with defects - scanning should be fast, accurate and work on both iOS & Android.
The Solution
Use C++ OpenCV as a tool for Machine Vision. It will give an ability to write the module on C++ and port it to iOS & Android at the same time.
Print ArUco symbols to identify a sheet and sheet perspective. The idea was to print logos on four corners, which will give the ability to identify sheet position and camera perspective.
Use low-quality images and adjust it programmatically to speed up the scanning process.
The results
01
The scanning process takes less than 0.2 seconds and is not visible to a human eye.
02
Answer sheet can be scanned on any surface and even with a bad lightning.
03
OpenCV module ported on both iOS & Android platforms and always gives perfect results.
04
Works exclusively with Spirit Of Math answer sheets.