GUI Based OMR System for Recognition of filled Bubbles in Scanned OMR sheets in Absence of OMR...
54
GUI Based OMR System for Recognition of filled Bubbles in Scanned OMR sheets in Absence of OMR Machine Presented at : IIT GUWAHATI - Ashish Arora(EEE) Kailash Atal(ECE)
GUI Based OMR System for Recognition of filled Bubbles in Scanned OMR sheets in Absence of OMR Machine Presented at : IIT GUWAHATI - Ashish Arora(EEE)
GUI Based OMR System for Recognition of filled Bubbles in
Scanned OMR sheets in Absence of OMR Machine Presented at : IIT
GUWAHATI - Ashish Arora(EEE) Kailash Atal(ECE)
Slide 2
In the talk Basics of Digital Image Processing( upto the extent
required in this talk) Introduction to Software Based OMR System
How OMR machines work and their Drawbacks Advantages of GUI Based
OMR System About the GUI Demo run of the Software Technical Aspects
of detection of filled bubbles Problems Faces Extended applications
Drawbacks of the Model Future Scope Take-away from the Summer
Internship A tribute to Steve Jobs
Slide 3
3 Basics of Digital Image Processing Black-and-white image
Binary (two-tone) image Gray level (gray-tone) image Color image
Another way of classifying images: Static image (single image)
Image sequence (movie) 0 255
Slide 4
Example of binary image Pixel is the smallest rectangular area
under the grid. It is smallest unit of a digital image that can be
accessed or processed. (replace 1s by 0s and viceversa for the
third image).
Digital geometry (contd.) Enlarged block Pixels (boundary
overlayed)
Slide 7
What is the OMR System? A software solution..FOR? Substitution
of heavy, expensive OMR machines WHY? Evaluation can be done
without OMR machine (obvious) Secondly when an Image Processing
Tool can serve the purpose, then why unnecessarily spend money..
How to achieve this?how to evaluate OMR sheets without OMR
machines.?Are there any special circumstances when this works or
when it can fail?
Slide 8
How are OMR sheets currently evaluated? OMR Machine which has a
built-in scanner and data processing software. Both scanning and
recognition of filled bubbles are integrated into a single OMR
machine.
Slide 9
Drawbacks of OMR Machines Adapted for use for OMR sheets of a
particular format. OMR machines are big machines typically of the
size of a Xerox machine. Quite expensive. Requires technical
know-how. Not a common device
Slide 10
What do we propose? Using scanners to scan and store images of
OMR sheets in a folder Specify the name of folder in GUI Processing
and storing database of marked bubbles in excel-spreadsheet is done
automatically. Process of scanning and determination of marked
regions are independent.
Slide 11
Any advantages? The software is independent of the format of
the OMR answer script. The product makes use of resources such as
computer, scanner which are easily available, easy to handle and
use. No special quality paper for OMR sheets is required. Reliable
Accuracy (100%)and Processing Speed(40 OMR sheets/min). Overcomes
heavy cost of dedicated OMR machine. Table 1. Price range and scan
sheet/min for an ordinary dedicated OMR machine Price Range (Rs.)
5000/- to 8000/- 40000/- to 90000/- 2000/- to 4000/- > Rs. 2
Lacs Scan Sheet/minute 10-1540-80280-100
Slide 12
So our PROBLEM STATEMENT simplifies to Given a directory/folder
consisting of scanned OMR sheets, evaluate and store the data in an
Excel Sheet making a proper database which contains the details of
the student(as filled in the sheet) and the answers marked by
him/her
Slide 13
Sample OMR Sheet
Slide 14
Slide 15
GUI Developed by using Java. Swings were implemented, since
they are light weight compared to applets.
Slide 16
For an OMR Sheet of New Type
Slide 17
Before we proceed further into the technical details, lets run
a sample test for the software. Fig. Sample OMR Result Spreadsheet
generated using the Java and C code
Slide 18
So far We have fragmented the conventionally used technology
into two independent steps: Creating folder of scanned OMR sheets
Recognition of filled bubbles in scanned OMR sheets.
Slide 19
Methodology Adopted DISCRETISATION OF THE PROBLEM Registration
of the images Retrieval of the Region of Interest(ROI, region where
bubbles are present in an OMR sheet) Detection of filled Bubbles in
ROI Storage of data in an excel file GUI for an ordinary user
PlatformWindows LibraryOpenCVLibXL LanguageC++Java
Slide 20
REGISTRATION Proper alignment of the image After registration
all images have: -same size -same position -same orientation
Slide 21
Filled square boxes on each corner
Slide 22
We first need to find the coordinates of the vertices of the
corner squares, which will help us in registration This was
followed by determination of tilt angle.
Slide 23
How To Detect Squares Step 1 : Detect Contours Based on similar
grey value
Slide 24
angle1 ax ay
Slide 25
Center
Slide 26
Sample Image Before Rotation
Slide 27
Sample Image After Rotation
Slide 28
Sample Image After Setting Region of Interest
Slide 29
Our region of interest is : The rectangular region that exactly
bounds the four filled squares on each of the corners of the image.
This is extracted by simple cropping of the ROI All our further
work is restricted in this ROI
Slide 30
Detection of filled Bubbles in ROI We created artificial
rectangular regions which approximately bound the elliptical
bubbles. These are shown as red colored boxes in the next slide
with corresponding mean grayscale value in those regions written
adjacent to them.
Slide 31
Slide 32
Slide 33
Slide 34
The Question is how, where and of what size should these
artificial rectangular boxes be placed.? Size : 32*28-----pixels;
Position : Center of each bubble=Center of artificial rectangle How
do we know where is the center of the bubble...??? .in the upcoming
slides.
Slide 35
We know the relative position of each bubble in the registered
image. All the bubbles are bound in the 6 sub answer boxes. And the
sub-answer boxes are themselves bound in main answer box. So we
detect all these 7 contours. Relative to each sub answer boxes, we
use a standard value of position of the bubbles.
Slide 36
Picture 7 contours
Slide 37
Method for recognising filled bubbles We have 30 questions and
4 options for each. So total number of bubbles= 120. 1.Find mean
grayscale value of 120 bubbles. V(i) for i=1:120 2.Find minimum
V(i),w 3.Find maximum V(i),W
Slide 38
4. A bubble is filled if V(i)< w+ (W-w)*0.4; 5.A bubble is
unfilled (or filled and erased) if V(i)>w + (W-w)*0.6; 6. Else
it is ambiguously filled and erased.
Slide 39
Histogram of grayscale value of bubbles in an OMR
Sheet(Ideal)
Slide 40
Ambiguity due to Erased Bubbles
Slide 41
Ambiguous Cases
Slide 42
Failure of Contour Detection
Slide 43
What if we fail to detect the main answer box ? 2 cases: -If we
detect all the six sub answer boxes inside the main answer box,
then no worries!! ?What if we do not detect any of the sub answer
boxes
Slide 44
Experiments Robustly tested across Windows and Linux
Environment Tested on more than 5 different laptops and PCs Results
verified 100% correct against 5000 OMR sheets of B.Stat and M.Stat
Examination of ISI Kolkata,2011 Results matched against the output
of OMR machines
Slide 45
Similar Detection of Contours and bubbles are used to extract
candidate information such as Registration No, Test Code, Category,
Booklet No, Physical Disability.
Slide 46
Problems Faced Corner Square Threshold, because of color
overlap Magenta Not a Square
Drawbacks of the Model Requires installation of JRE, JDK
toolkit and addition of some DLL files in the system files.
Requires an automated scanner with good speed for real-time
application.
Slide 51
Future Scope Improve of CPU utilization and run time. Right now
our program evaluates 1500 pre hour, but implementing parallel and
distributed computing, we can reach 10,000 per hour. We can extend
it to scale to other formats of OMR sheets also.
Slide 52
Our Takeaway Team Work Fostering qualities of mutual
understanding and cooperation Deeper knowledge in the field of
Image Processing Exposure to recent R&D projects and potential
applications in Image Processing Project Gagan at ISRO Banglore
Project on Swarm Robotics at Ohama State University, USA Exposure
to different coding platforms and libraries Java Matlab OpenCV
Pthreads.h Libxl.h Lots more but its not feasible to pen down all
the experiences in a slide.
Slide 53
iDREAM I Have A Dream Today.. A tribute to Steve Jobs..