GUI Based OMR System for

eyelashesnectarineSoftware and s/w Development

Nov 3, 2013 (3 years and 8 months ago)

75 views

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)




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……







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

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 1’s by 0’s and
viceversa

for the
third image).

Example of graylevel image


0 255


109 106 106 110 111 106 60 98 142 114 94 98 102 120 103 109


115 126 126 137 137 136 106 146 157 146 124 128 98 96 89 82


137 118 134 145 151 147 142 157 154 140 120 105 85 77 67 63


189 150 123 131 145 143 143 134 123 110 90 65 65 67 83 102


193 191 157 101 97 104 105 101 95 98 84 94 107 119 138 155


193 189 185 168 103 74 90 106 112 125 133 136 143 154 165 170


185 187 180 179 174 142 116 128 141 148 154 160 163 164 168 171


181 185 178 173 179 171 162 153 153 160 162 164 164 163 165 167


183 184 175 149 177 179 165 164 155 153 159 164 160 159 163 164


185 182 161 126 170 188 181 167 158 153 151 155 155 158 160 163


185 178 147 125 171 183 192 181 167 157 155 160 152 156 160 160


178 179 145 139 163 171 190 195 176 164 161 162 162 150 154 155


175 177 148 150 163 169 186 197 191 169 167 167 160 158 150 152


164 169 142 154 171 172 182 190 189 174 166 168 169 165 162 150


163 165 139 153 175 163 179 189 187 178 166 167 170 169 170 168


162 161 136 144 164 163 171 189 176 179 169 169 169 164 163 169




Digital geometry (contd.)

Enlarged
block

Pixels (boundary
overlayed)

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…?


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.

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



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.

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
-
15


40
-
80


2


80
-
100


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

Sample OMR Sheet

Sample OMR Sheet

GUI


Developed by using Java. Swings were implemented,
since they are light weight compared to applets.



For an OMR Sheet
of New Type

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

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.


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


Platform


Windows

Library


OpenCV

LibXL

Language


C++

Java

REGISTRATION


Proper alignment of the image






After registration all images have:

-
same size

-
same position

-
same orientation

Filled square boxes on each corner

Filled square boxes on each corner



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.

How To Detect Squares

Step 1 : Detect Contours



Based on similar grey value

angle1

ax

ay

Center


Sample Image Before Rotation

Sample Image After Rotation


Sample Image After Setting

Region of
Interest

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

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.





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….


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.

Picture 7 contours

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

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.

Histogram of grayscale value of
bubbles in an OMR Sheet(Ideal)

Ambiguity due to Erased Bubbles

Ambiguous Cases

Failure of Contour Detection


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


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

Similar Detection of Contours and bubbles


are used to extract candidate information

such as Registration No, Test Code,

Category, Booklet No, Physical Disability.

Problems Faced…

Corner Square Threshold, because of color overlap

Magenta

Not a Square

Contrast…

Unfilled Information…

Extended Applications…


Automated Attendance marking


Lotteries


Voting


Product evaluation


Community Surveys


Consumer Surveys



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.

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.

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…….


iDREAM

I Have A Dream Today……………..

A tribute to Steve Jobs…..

Thank You