0

I teach. I would like to solve the following problem:

Collect student tests and have an OCR read input from the test and detect which exam belongs to which student.

I've been using pytesseract pretty successfully to solve this problem. I give each student a paper with their student ID and when they turn in their test they put this paper on top. Then pytesseract is "pretty" good at reading the Student ID within an acceptable error that usually allows me to uniquely identify the student from a list of all student IDs.

I'm curious if there are better solutions out there for this? One hassle with my current solution is that I have to pass out this student ID page individually to each student. When there are many students this takes a while and bothers students while they're taking their test.

Is there something the student can write by hand (e.g., fill in bubbles, etc.) on the exam that an OCR can read to uniquely identify the student? Handwritten names don't seem to work, there's too much variation, and I need it to be very accurate.

Curtis Pro
  • 19
  • 3
  • Type the student name on each bubble sheet before passing them out. This way the text never changes and the OCR should have no trouble reading it. Or create a bubble answer template and fill in the student name field via a text editor before printing. Or write a nifty little program which reads each unique student name out of a database or some static data and fills them in for you. – Ryan Wilson Oct 29 '19 at 20:06
  • @RyanWilson What do you mean by "bubble sheet"? Are you suggesting a sheet that lists all students names with a bubble next to them? – Curtis Pro Oct 29 '19 at 20:10
  • I'm talking about the sheet they use to pick their answers, or if they don't use a bubble sheet to answer the questions, just use a test template and have a nifty little program place each students name as text in the top right corner. Then use your pytesseract to read each name with OCR. Eliminate the student having to do any of this and ensure you get proper OCR format. Just have each student grab the test with their name on it when taking the exam. – Ryan Wilson Oct 29 '19 at 20:11
  • @RyanWilson Thanks for the response. Technically I'm doing this already with student ID #s. I found identifying students by numbers is more reliable than by typed names. My question though is how to avoid the need to give each student an exam that's unique to them and instead give everyone an exam each student marks in a unique way that allows an OCR solution to identify who they are. – Curtis Pro Oct 29 '19 at 20:59
  • @CutrisPro If you can't reliably read their hand written name, then you either need to read off their student ID from each test and give each student the test which belongs to them, or add some kind of bubble section which is their name or some kind of unique identifier that is consistent for the OCR. – Ryan Wilson Oct 30 '19 at 12:17
  • @RyanWilson Thanks Ryan, the latter part of your comment is what I'm searching for. – Curtis Pro Oct 31 '19 at 22:39
  • Hope it helps. Good luck – Ryan Wilson Nov 01 '19 at 12:17

0 Answers0