Document

advertisement
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
0
255
Another way of classifying images:
• Static image (single image)
• Image sequence (movie)
3
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/-
Scan
10-15
Sheet/minute
40000/- to
90000/-
2000/- to
4000/-
> Rs. 2 Lacs
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
Library
Language
Windows
OpenCV
C++
Java
LibXL
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
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
Download