610 likes | 877 Vues
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)
E N D
GUI Based OMR System for Recognition of filled Bubbles in Scanned OMR sheets in Absence of OMR Machine Presented at : IIT GUWAHATI - AshishArora(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 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).
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 Example of graylevel image
Digital geometry (contd.) Pixels (boundary overlayed) Enlarged block
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
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
GUI • Developed by using Java. Swings were implemented, since they are light weight compared to applets.
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 OpenCVLibXL 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 SquaresStep 1 : Detect Contours – Based on similar grey value
angle1 ax ay
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 slidewith 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.
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)
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
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.