Anda di halaman 1dari 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)

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

Basics of Digital Image Processing


Black-and-white image

Binary (two-tone) image


Gray level (gray-tone) image

Color image

25
5

Another way of classifying images:


Static image (single image)
Image sequence (movie)

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

Example of graylevel image


0
255

109 106 106 110


102 120 103 109
115 126 126 137
98 96 89 82
137 118 134 145
85 77 67 63
189 150 123 131
65 67 83 102
193 191 157 101
107 119 138 155
193 189 185 168
143 154 165 170
185 187 180 179
163 164 168 171
181 185 178 173
164 163 165 167
183 184 175 149
160 159 163 164
185 182 161 126
155 158 160 163
185 178 147 125
152 156 160 160
178 179 145 139
162 150 154 155
175 177 148 150

111 106 60 98 142 114 94 98


137 136 106 146 157 146 124 128
151 147 142 157 154 140 120 105
145 143 143 134 123 110 90 65
97 104 105 101 95 98 84 94
103 74 90 106 112 125 133 136
174 142 116 128 141 148 154 160
179 171 162 153 153 160 162 164
177 179 165 164 155 153 159 164
170 188 181 167 158 153 151 155
171 183 192 181 167 157 155 160
163 171 190 195 176 164 161 162
163 169 186 197 191 169 167 167

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 machine5000/- to
Price
40000/- to
2000/- to
> Rs. 2
Range
8000/90000/4000/Lacs
(Rs.)
Scan
10-15
Sheet/minu
te

40-80

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

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
Filled square
square boxes
boxes on
on each
each corner
corner

Filled
Filled square
square boxes
boxes on
on each
each
corner
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
Sample Image
Image After
After Setting
Setting Region
Region of
of Interest
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 overla

Not a
Square

Magenta

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.

A tribute to Steve Jobs..

iDREAM
I Have A Dream Today..

Thank
You

Anda mungkin juga menyukai