Various Techniques for Assessment of OMR Sheets through Ordinary 2D Scanner: A Survey

DOI : 10.17577/IJERTV4IS090675

Download Full-Text PDF Cite this Publication

Text Only Version

Various Techniques for Assessment of OMR Sheets through Ordinary 2D Scanner: A Survey

Nirali V Patel

PG Scholar (IT), SVMIT Bharuch, India

Ghanshyam I Prajapati Department of IT, SVMIT Bharuch, India

Abstract Optical Mark Recognition (OMR) is the process of gathering information from human beings by recognizing marks on a document. OMR is accomplished by using a hardware device (scanner) that detects a reflection or limited light transmittance through piece of paper. The OMR machines are not scanners in the sense that they do not form an image of the sheets that pass through. Instead, the OMR device simply detects whether predefined areas are blank or have been marked. OMR scans a printed form and reads predefined positions and records where marks are made on the form. OMR is useful for applications in which large numbers of hand-filled forms need to be processed quickly and with great accuracy, such as surveys, reply cards, questionnaires. OMR allows for the processing of hundreds or thousands of physical documents per hour. The existing system requires special hardware which turns out to be very costly for any organization. So using such a system may be cost inefficient or not feasible by organizations it is the need of the hour to develop system which would be cost effective and time effective in other words cheap and best. The error rate for OMR technology is less than 1%.

Keywords OMR, Scanner, Reognition, Image processing


    Optical Mark Recognition (OMR) is the automated process of capturing the data which is in form of some marks like bubbles, squares & horizontal or vertical tick. This is done by contrasting reflectivity at predetermined positions on the sheet. When we shine a beam of light onto the paper, the scanner is able to detect the marked region as it reflects less light than the unmarked area on the paper [1]. In order to be detected by the scanner, the mark should be significantly darker than the surrounding area on paper and it should be properly placed.

    This technology is different from optical character recognition in the respect that recognition engine is not required in this case [16]. Marks are constructed in such a way that there is a very little chance of not being able to read the mark properly. Therefore just the detection of presence of marks is only required. One of the most familiar applications of OMR is multiple choice question examinations, where students mark their answers and personal information by darkening the circles on a pre-printed sheet [7]. This sheet is then evaluated using image scanning machine.

    OMR based evaluation is preferred over the manual methods when-

    • A large volume of data is to be collected and processed in short period of time.

    • Questionnaires consists of multiple choice questions or selections of categories

    • Very high accuracy is required

    • Survey collectors are limited

    1. History

      In 1930s Richard Warren, who was then working at IBM, experimented to replace conductivity method of IBM 805 by optical mark sense system. But the first successful OMR machine was developed by Everett Franklin Lindquist. Lindquists first optical mark recognition scanner used a mimeograph paper-transport mechanism directly coupled to a magnetic drum memory. Although it was not a general purpose computer, it made extensive use of computer technology. During the same period, IBM also developed a successful optical mark-sense test scoring machine, which was commercialized as the IBM 1230 Optical mark scoring reader.

      This and a variety of related machines allowed IBM to migrate wide variety of applications developed for its mark sense machines to the new optical technology. These applications included a variety of inventory management and trouble reporting forms, most of which had the dimensions of a standard punched card.

    2. Mechanism of OMR

    A traditional OMR machine consists of three main units as shown in fig. 1.1

    • Feeding Unit It is use to pick up sheets one by one that are pilled in the hopper and lets the sheet go through photoelectric conversion unit at a fixed speed and regular interval. Then it carries the sheets to the accept stacker if the sheet has been read properly without any discrepancies or it is carried to reject stacker otherwise.

    • Photoelectric Conversion Unit This unit irradiates light to the surface of the sheet by some light source like lamp, and then changes over the intensity of reflection of light to an electric signal by lens and sensor and inputs the signal to the image memory. The electric signal is accepted as 0 for the bright white light and 1 for the dark light as per the strength of the reflected light. There are two processors in this unit: recognition processor and

      control processor. The recognition processor reads the mark from the image accepts it and sends the representing signal to control processor. The control processor produces data, and at the same time controls all units of OMR system.

    • Recognition Control Unit Mark recognition is a kind of pattern recognition technique. This technique has been improved several times and has steadily brought about good results. In the early period of development the recognition process was depends on hardwired logic. At present the process is carried on by software with a recognition-specialized processor. Recognition by software has brought about more flexibility in the recognition process, increase in the reading methods, and advancement in accuracy of reading and simultaneous input of different types of sheets.

      Fig. 1.1 Three Units of OMR System [1]

      There are two recognition modes – Alternative Mode and Bit Mode.

      Alternative mode is used when only answer is expected for a question. The OMR accepts the only one entered mark in the block of mark positions on the sheet then changes over the mark to a code and produces it. Just in case, two marks are found in one block, depth comparison among the marks is carried on and the deepest mark is selected. If no dissimilarity in depth is found among the marks, a read-error is to be generated and accounted.

      Bit mode is used when there are plural answers for one question. All the information in the block of mark positions on the sheet are recorded and coded as a series of bits.



    • Documents for optical mark recognition are complicated to design.

    • If the marks dont fill the space completely, or arent in a dark enough pencil, they may not be read correctly

    • The OMR reader needs to be reprogrammed for each new document design.

    • OMR readers are relatively slow.

    • The person placing marks on the documents must follow the instructions exactly.

    • Any folding or dirt on a form may prevent the form being read correctly.

    • Only suitable for entering one out of a selection of answers, not suitable for text input

      • The OMR reader requires the answers to be on the prepared forms which will all be identical to one another.

        You cant just lift up a blank sheet of paper and mark your answers on it.


    There are some techniques mentioned which are as under;


      The rule of this evaluation is it will compare the given scanned image to its previously stored template. And then mark the answer sheet on the basis of thetemplate and given criteria by the user. So here is an idea of system which make easier the OMR sheet evaluation technique which must be viable and efficient [3][4][5]. For that system includes the main following modules:

      1. Answer Feed Module

      2. Criteria Defining Module

      3. Assessment Module

      4. Result Storage Module

      5. Publish Result Module

        In order to take the best output from the system the scanning should be performed very carefully and the image should not be tilted [2]. It is prior that the scanned image is well and error free. According to system, four types of feasibility studies can be considered:

        • Technical Feasibility

        • Operational Feasibility

        • Economic Feasibility

        • Schedule Feasibility[6]


          • A fast method of inputting large amounts of data up to 10,000 forms can be read per hour based on the quality of the machine used.

          • Only one computer required to collect and process the data

          • OMR has a better recognition rate than OCR because fewer mistakes are made by machines to read marks than by reading handwritten characters.

          • The cost of inputting data and the chance of data input errors can be trim down because it is not necessary to type the details for data entry.

          • OMR is much more accurate than data being keyed in by a person


      At present most of desktops, laptops, tablets, and even smart phones are shipped with multi-core processors. The efficient utilization of multi-core processors computation power can't be achieved by developing traditional applications with sequential algorithms. Parallel algorithms utilize the capabilities of these processors [5]. They are very well suited for parallel processing. This work represents a low cost and fast solution for optical mark recognition system working in multi-core processor system [14][17]. In this system a solution for camera based OMR is presented. This system turns on special designs of the answer sheet to add some

      marks which speed up the detection of bubbles. The system is insensitive to rotation scaling and illumination variations. In addition to that the flipped images can be processed and recognized without correction [15]. The solution keep out of the way of heavy computational algorithms such as skew correction, circle detection and Hough transform, to increase the speed of the system [9].

      There are various components of the camera based OMR system:

      1. Preprocessing and Bubble Detection

        First the image should be thresholded then the bubble location is finding in the answer sheet. Each pixel in the image is separated as an object or a background. The borders are move out giving us information about the skew and perspective distortion [8][12][13][14]. There are external borders and another internal separation lines between each column. Underline markers are used to change over the bubble detection process from circle detection into a fast line tracking process.

        Adaptive Binarization: One of the main problems in camera based document analysis is the binarization process. Various types of degradations often make thresholding of the document images a difficult job. Such as uneven illumination, shadows, low contrast, smears and heavy noise densities [8][11][13].

        The simple fixed threshold level is not suitable for the lighting variation used for binarization shown in Fig.1.2. The adaptive binarization is used where the image is split up vertically into columns with its different thresholding values.

        Fig.1.2 Binarization with constant threshold level [14]

        Borders Extraction: The design of the template with a thick line borders works out many problems and increase the reliability and speed. These lines are insensitive to noise and help us to work out the rotation and perspective distortion problems. There are many line detection algorithms with different complexities and robustness. Hough transform is robust for noise and occlusion, but the calculation and/or memory costs are very high. Projection is the quickest way in finding horizontal and vertical lines in an assigned image, because such lines will produce peaks in projection profiles [18]. Without using structural processing, the thick line is chased using edge tracking. If the line is fall apart a connection algorithm is used to connect both segments of the line. There are no dependencies between different lines detection and the processed are parallelized easily.

        Bubble Detection: The edge tracking algorithm with the added heuristics has accomplished a fast and robust bubble detection results. In addition to that it works out the problems of skew, rotation, and perspective distortion. The parallelization in the bubble detection process is accomplished by assigning a specific number of rows to each core.

      2. Feature Extraction and Classification

      The simple solution to separate the bubble is the brightness difference between marked and unmarked bubbles. This simple solution has some problems. The small errors and deviations in finding the location of the bubble cause categorization errors. Also the different lighting conditions make problems in finding the threshold between the two classes brightness. To move toward with these problems different features are extracted. To achieve the best categorization results training process is applied.

      Feature Extraction:

      The gray level difference between Marked and unmarked bubble is the main feature in the classification process. To trim back the effect of noise and illumination variation, the difference in gray level of the current bubble and the background has been used. The gradient features are used in the case of light variations.


      When the number of classes is only two the classification process is simple. Many classifiers have been used to test the accuracy and performance of the system. Naive Bayes, QDF, MQDF, and Neural Networks classifiers are used in that system [9][10]. For more information 6-7116


      The main aim of this work is completely removing the ordinary scanners by making use of a web camera as an input device of the OMR sheet. An OMR sheet is placed in front of webcam and the program takes its image. Then the program which is developed in OPENCV libraries, the open source C libraries used worldwide, further processes that image to extract the optical marks. This extraction includes several steps of image processing.

      OpenCV is the powerful tool used for image processing. OpenCV (Open Source Computer Vision Library) libraries are image processing and computer vision C libraries developed by Intel. OpenCV runs on Windows, Android, Linux and OS X. Open source computer vision library is providing functions required to run the webcam. It used the captured image after saving it and then loading it for further processing. Bloodshed DevC++ IDE is used for programming in C which can be easily configured to call the functions of the OpenCV. Operating system used is Microsoft Windows 7.

      Image Thresholding:

      Thresholding is the simplest form of image segmentation and is used to create binary images. The images are in black and white. The black part is undetected part and the white part is detected part.

      Image Gridding and Division:

      Image gridding involves making a grid as shown in the image. The grid will be drawn over the image in such a manner that each square or rectangle in the grid contains an optical mark or the black dot. After this we distinguish each black dot according to the rectangle in which it is contained. The grid is made to work even if the sheet is not at a fixed distance from the webcam and also works according to ratio of the distance. The grid adjusts itsef.

      Now the grid is used to split up the problem into four major rectangles which can be processed separately. The first two columns hold thirteen questions and the last two hold twelve questions which makes hard to find a single large rectangle and then process it. Four different rectangles each for different set of questions make it easier to keep track of the small rectangles holding the black marks and thus it can be easily solved.

      Now that we have the holding rectangle of each of the black mark we will use IMAGE DIVISION to split up the image into separate rectangles for each mark. If we handle the first rectangle and cover it row wise we will first split up for all columns of first row, then second, then third and so on till the whole rectangle is split up. Consequently all the rectangles are split up. The software may become heavy and difficult to manage while working on so many images but OpenCV supplies with functions to determine whether to show, hide, create and put out these images after they serve their purpose. Also while we develop a professional version for this technique, it can be advance optimized.


    First the custom-made form is designed using the graphical user interface. Regular grayscale scanner is used for scanning of filled forms [19]. Scanned images are processed to automatically call up information of filled bubbles. Proposed system is divided into two independent stages: (a) the interface to design and modify the forms and (b) the recognition part to read the filled bubbles from the scanned form.

    Design of Form:

    The system supplies an interface which grants the user to design customized the form. An existing form can be loaded and modified according to users requirements.

    Registration of Forms:

    When the filled forms are scanned, the variation in translation and rotation of position of corresponding bubbles in different forms is attributed to manual error in the alignment of the form during the process of scanning. Thus all scanned images must be registered to a fixed position before advance processing, so that the present position of bubbles in all scanned images is same [20]. The detection of the square boxes situated in the corners is essential for registration of the form. The angle formed by the line segment joining the end points of two consecutive squares in clockwise sense is calculated using simple trigonometry (tan-1(ay/ax)). Likewise , and are calculated. The image is rotated by the average of , , and in anti-clockwise sense about the center of the smallest rectangle bounding the four squares. The exact coordinates of these squares are found out, and a suited transformation matrix is used to translate all the images such that the position of bubbles corresponding to each question in all images is same.

    Form Evaluation:

    After registration, the rectangular contours of main answer box and sub-answer boxes in the OMR sheet are perceived [12]. Results show that the mean grayscale value of pixels corresponding to filled-in bubbles is comparatively much lower than the unfilled ones. The average grayscale value of the smallest rectangular region that bounds the bubble entirely is much lower for a filled bubble compared to that of an unfilled bubble. The minimum (Vmin) and maximum (Vmax) average grayscale value in a scanned image of all image is calculated. If the bubble having average grayscale value Vi is closer to Vmin and much lower than Vmax, the bubble is filled,

    Vi < Vmin + (Vmax Vmin) * p

    .. (1)

    Similarly a bubble is unfilled if Vi satisfies the following condition:

    Vi > Vmin + (Vmax Vmin) * q


    Where p and q are user defined adaptive threshold factor and 0 < p < q< 1. The threshold parameters p=0.4 and q=0.6 were used in this sample space, which was found out statistically after analysis of the grayscale values of more than ten thousand filled and unfilled bubbles.


Evaluation of OMR (with simple scanner) is accurate, time effective and cost effective. The scanning can be done by simple scanner. The system efficiency depends on the speed of the scanner. It is very easy to operate. The OMR (with simple scanner) have extensive use in small organization as well as in big organizations while in multi-core processors 4 different types of classifiers namely, Bayes classifier, QDF, MQDF, and NN is used for reduced the processing times of different phases due to parallelization. By using OpenCV libraries and webcam we can discover all the answers and solve the OMR Sheet calculate area of the mark and have confidence level of point nine which will cater accurate judgments. If we come to the opposite side, a value that is less than that of the estimated, the mark will be conceived to be partially filled and this will be conceived as a wrong answer.


We have given an initial contribution to evaluation of methods for performance analysis of various techniques of assessment of OMR sheet using ordinary 2D scanner. By means of such evaluations we support system designers in choosing performance analysis method that is most suitable for their particular requirements.


  1. Infotronicx. (2010). OMR system.

  2. Microsoft. (2010). Moving Java Applications to.NET. Available: px

  3. Fairley R. (2002) Software Engineering Concepts (For project size) New York: Tata Mac Graw Hill.

  4. Pressman Roger S. (2001) Software Engineering- A Practitioners Approach- Fifth Edition, New York: Tata Mac Graw Hill.

  5. Jalote P. (2005) Software Project Management In Practices- 3rdEdition, United States of America: Springer Science + Business Media, Inc.

  6. Software Project Management A Unified Framework by Walker Royce.

  7. Hoffer JA,George JE, Valacich JS, 1999, Modern System analysis and design.

  8. A. Al-Marakeby, F. Kimura , M. Zaki, A. Rashid "Design of an Embedded Arabic Optical Character Recognition", International Journal of Signal Processing Systems March,2013.

  9. David Doermann, Jian Liang, and Huiping Li "Progress in Camera-Based Document Image Analysis" International Conference on Document Analysis and Recognition (ICDAR03)

  10. Harshad B. Prajapat, Dr. Sanjay K. Vij "Analytical Study of Parallel and Distributed Image Processing, International Conference on Image Information Processing (ICIIP 2011)

  11. A. M. Smith, Optical mark reading – making it easy for users, In Proceedings of the 9th annual ACM SIGUCCS conference on User services, United States, 1981, pp:257-263.

  12. K. Toida, An Overview of the OMR technology: based on the experiences in Japan, Workshop on Application of new information technology to population: Paper based data collection and capture, Thailand, 1999.

  13. Sabyasachi Das, Optical Mark Recognition Technology for Rural Health Data Collection, November 2010.

  14. Hui Deng, Feng Wang, Bo Liang, A low-cost OMR solution for educational applications, Parallel and Distributed Processing with Applications 2008, ISPA 2008.

  15. E. Greenfield, OMR Scanners: Reflective Technology Makes the Difference, Technological Horizons In Education, Vol. 18, pp: 1991.

  16. K. CHINNASARN, An image-processing Oriented optical mark reader, Applications of digital image processing XXII, Denver CO, 1999.

  17. Ngo Quoc Tao and Do Nang Toan Some Charactistical aspects of Markreader Software Package for Automatic Mark Data Entry, Circuits and Systems, 2002. APCCAS'02, pages 437 – 442 vol.2, 2002.

  18. N.Q.Tao, D.N.Toan, Some Methods Improving Efficiencies Of The Mark Recognizing For Designing Automatic Form Entry System-Markread, Journal of Computer Science and Cybernetics, Vol.15, No. 4, Hanoi, 1999.

  19. Stephen Hussmann and Peter Weiping Deng, A High Speed Optical Mark Reader Hardware Implementation at Low Cost using Programmable Logic, Science Direct, Real-Time Imaging, 11(1), 2005.

  20. Palmer, Roger C., The Basics of Automatic Identification [Electronic version].Canadian Datasystems, 21 (9), p. 30-33, Sept 1989.

Leave a Reply