OPTICAL MARK READER (O äR)
YECK YIN PING
This project is submitted in partial fulfillment of the requirements for the degree of Bachelor of Computer Science with Honours
(Multimedia Computing)
Faculty of Computer Science and Information Technology UNIVERSITI MALAYSIA SARAWAK
2006
ACKNOWLEDGEMENT
First of all, I would like to thank Final Year Project Coordinator I, Ms. Yanti Rosmunie
Bujang, and Coordinator II, Associated Professor Dr. Wang Yin Chai, who gave an
opportunity to expand my knowledge and participated in the challenges of final year project.
I also like to express my high gratitude to my supervisor, Mr. Bong Chih How, who had given
me an opportunity to participate in an image processing project. His guidance, supports and
comments help me throughout the project development. After I have accomplished this
project, I have gained a lot of experience and extra knowledge, which make me more
confident and self-independent to participant in any particular projects in the future.
Besides, I appreciate the help from my friends of their great effort to become my system's
users and gave ideas on developing the system features. Because of their idea and
recommendations, my final year project can be successfully completed.
Also I wanted to sincerely express my deepest gratitude to my parents who gave enormous
supports and encouragements to success my final year projects. They gave me idea on the
system layout design as well as enthusiastic supports during the project implementation.
111
TABLE OF CONTENTS
Title Page
Declaration
Acknowledgement
Table of Contents
List of Figures
List of Tables
Abstrak
Abstract
Chapter 1: Introduction
1.1 Introduction
1.2 Problem Statement
1.3 Objective
1.4 Procedure/ Methodology
1.5 Scope of Study
1.6 Project Significance
1.7 Expected Outcome
1.8 Outline of the Project
Chapter 2: Background
2.1 Introduction
Page
1
11
111
iv
R1
X111
xiv
xv
I
1
2
2
4
4
4
5
8
iv
2.2 Reviewed On Existing Hardware and Software-based OMR System
2.1.1. Hardware-based OMR
2.2.1.1 OMR-1100 Optical Mark Reader
2.2.1.2 ACP-2600 Terminal Optical Mark Reader/Printer
2.2.1.3 DRS CD230 Handfed Optical Mark Reader
2.2.1.4 OMR-2000 Optical Mark Reader
2.2.1.5 DRS PS900 PhotoScribe Image Mark Reader
2.2.1.6 OpScan iNSIGHT Scanner
2.2.2 Software-based OMR
2.2.2.1 Image Processing Mark Reader System (IPMRS)
2.2.2.2 EdpacW
2.2.2.3 DRS Securelm System
2.2.2.4 SOSKitW
2.3 Comparison of Existing Hardware and Software-based OMR System
2.3.1 Hardware-based OMR
2.3.2 Software-based OMR
2.4 Summary
2.5 Proposed System
2.5.1 Examinee's Information
2.5.1.1 Bounding Rectangle
2.5.1.2 Bubble
2.5.1.3 Minimum Confidence
2.5.1.4 Field Dimensions
2.5.1.5 Mark Type
9
9
9
10
11
12
13
14
15
15
16
16
17
18
18
20
21
21
22
22
22
23
24
24
V
2.5.1.6 OmrMark Threshold
2.5.1.7 Unmarked Threshold
2.5.2 Examinee's Results
Chapter 3: Requirement Analysis and Design
3.1 Introduction
3.2 Requirement Analysis
3.2.1 Requirements Specifications
3.2.2 Identifying Actors
3.2.3 Develop Use Cases
3.2.4 Identify Classes
3.3 Design
3.3.1 Use Case Diagram
3.3.2 Class Diagram
3.3.2.1 Lecturer
3.3.2.2 Application
3.3.2.3 System
3.3.2.4 Database
3.3.2.5 Scanner
3.3.3 Interaction Diagrams
3.3.3.1 Load Image
3.3.3.2 Change Directory
3.3.3.3 Scan Image
3.3.3.4 View Result
24
25
26
27
28
28
29
29
29
30
30
31
32
32
32
33
33
34
34
35
35
36
V1
3.3.3.5 Search Database
3.3.3.6 Scan Image From Scanner
3.3.4 Activity Diagrams
3.3.4.1 Browse Image Directory
3.3.4.2 Select Scanner
3.3.4.3 View Record
3.3.4.4 Search Records From Database
3.4 Software Process Model
3.4.1 Outline Requirements
3.4.2 Develop Prototype
3.4.3 Evaluate Prototype
3.4.4 Specify System
3.4.5 Develop Software
3.4.5.1 Pegasus Imaging's SmartScan ICR/OCR/OMR v4.0
3.4.5.2 Pegasus Imaging's Xpress PRO v7.0
3.4.5.3 Pegasus Imaging's Twain PRO v4.0
3.4.6 Validate System
3.4.6.1 Effectiveness
3.4.6.2 Efficiency
3.4.6.3 Satisfaction
3.4.7 Delivered System
3.5 Market Analysis
3.6 Conclusion
37
38
39
40
40
41
41
41
42
42
43
43
43
44
44
44
44
45
45
45
45
46
46
vii
4.5.2 Test Results and Analysis
4.5.2.1 Test 1
4.5.2.2 Test 2
4.5.2.3 Test 3
4.6 Heuristic Evaluation
4.7 Conclusion
Chapter 5: Further Work
5.1 Introduction
5.2 Suggested Improvements
5.2.1 Supported Format
5.2.2 Resolution
5.2.3 Dimension
5.2.4 Scan Location
5.2.5 Customizable Objective Forms
5.2.6 Others
5.3 Conclusions
Chapter 6: Conclusion
6.1 Introduction
6.2 Achievement
6.3 Constraints and Limitation
6.4 Conclusion
66
66
67
68
70
71
72
72
72
72
73
73
73
73
74
75
76
76
76
ix
Bibliography 77
X
LIST OF FIGURES
Figure 2.1: OMR-1100 Optical Mark Reader
Figure 2.2: ACP-2600 Terminal Optical Mark Reader/Printer
Figure 2.3: DRS CD230 Handfed Optical Mark Reader
Figure 2.4: OMR-2000 Optical Mark Reader
Figure 2.5: DRS PS900 PhotoScribe Image Mark Reader
Figure 2.6: OpScan iNSIGHT Scanner
Figure 2.7: Image Image Processing Mark Reader System (IPMRS)
Figure 2.8: EdpacW
Figure 2.9: SOSKitW
Figure 3.1: Use Case Diagram
Figure 3.2: Class Diagram
Figure 3.3: Interaction Diagram for Load Image
Figure 2.4: Interaction Diagram for Change Directory
Figure 2.5: Interaction Diagram for Scan Image
Figure 2.6: Interaction Diagram for View Result
Figure 2.7: Interaction Diagram for Search Database
Figure 2.8: Interaction Diagram for Scan Image From Scanner
Figure 2.9: Activity Diagram
Figure 2.10: Evolutionary Development, Throw-away Prototyping
Figure 4.1: Features of OMR system
Figure 4.2: Functionalities of The Main System
Page
9
10
11
12
13
14
15
16
17
30
31
34
35
35
36
37
38
39
42
50
53
X1
Figure 4.3: Browse Image Directory
Figure 4.4: Save Function
Figure 4.5: Load Progress
Figure 4.6: Results Display
Figure 4.7: Configure Column Display and Define Passing Mark
Figure 4.8: Display Records
Figure 4.9: Search Function
Figure 4.10: Export Results In Microsoft Excel
Figure 4.11: Direct Scan
Figure 4.12: Optical Mark Reader (OMR) Walkthrough
54
55
56
57
58
59
60
61
62
63
xii
LIST OF TABLES
Page
Table 2.1: Different Requirements for Different Form Dimensions 13
Table 2.2: Comparison of OMR Model and OMR Specification 19
Table 2.3: Comparison On Software-based Functionality 20
Table 2.4: Comparison Between Hardware and Software-based OMR 21
Table 2.5: Field Types and Coordinates of Bounding Rectangle 22
Table 2.6: Bubble Read Order, Bubble Shape, and Bubble Value for Each Field Type 23
Table 2.7: Field Dimension for Each Field Type 24
Table 2.8: The Properties and Values That Applied In Result Field 26
Table 3.1: Requirements Specification 28
Table 3.2: Database Field Name, Data Type, and Remarks 33
Table 4.1: Test 1 for Initial Testing 66
Table 4.2: Test 2 to Test Unfilled Marks 67
Table 4.3: Test 2 for Correct and Incorrect Results 68
Table 4.4: Test 3 to Test Maximum Number of Questions 68
Table 4.5: Heuristic Evaluation 70
xiii
ABSTRAK
Pada masa sekarang, ujian objektif diadakan di sekolah, universiti atau sektor kerajaan untuk
memohon kemasukan kursus-kursus tertentu atau memohon kerja. Calon-calon yang
menduduki peperiksaan adalah dalam jumlah yang banyak. Oleh itu, Optical Mark Reader
(OMR) dibina untuk membantu dalam memeriksa kertas objektif. OMR digunakan untuk
mengesan bentuk hitam dalam kertas OMR dan menghasilkan keputusan yang tepat pada
setiap kertas OMR. Aplikasi ini tidak bergantung kepada mesin OMR, tetapi aplikasi ini
dapat berkomunikasi dengan semua pengimbas. Bagaimanapun, aplikasi ini dapat
memaparkan gambar sama ada pada cakera keras atau mengembalikan gambar melalui
pengimbas. Aplikasi ini dapat memproses lebih daripada satu gambar serentak. Rekod yang
dihasilkan akan disimpan di dalam pangkalan data atau eksport ke Microsoft Excel untuk
tujuan percetakan. Aplikasi ini mempunyai banyak fungsi, di mana aplikasi ini dapat
mengesan bentuk hitam, cari gambar di cakera keras, berkomunikasi dengan pengimbas,
simpan rekod dalam pangkalan data serta cari maklumat calon dan keputusannya. Applikasi
ini dibina untuk membantu pensyarah menyemak kertas objektif dengan lebih berkesan.
xiv
ABSTRACT
Nowadays, objective type examinations are conducted for entry into many courses or for jobs,
either in schools, universities or government sectors. The candidates sit through these
examinations in large number. Therefore, Optical Mark Reader (OMR) was developed to
assist for the evaluation of the OMR papers. The OMR is an application that used to detect
predefined mark and generates accurate results for each of the OMR papers. This application
is not necessary rely on OMR machine, but it can communicate with any scanners. However,
this application has alternative to load the images either from local disk or retrieve images
from scanner. This application able to process more than one images simultaneously. Then
the results that generated are saved in the database or export to Microsoft Excel for printing
purposes. This application is exclusively functionalities, which it has ability to perform mark
recognition, browses images from local disk, communicates direct with scanner, saves the
records into database, and finds the relevant examinees' information and results. OMR is
developed to contribute to lecturers in Unimas on the evaluation of objective papers.
xv
CHAPTER 1: INTRODUCTION
1.1 Introduction
Optical Mark Reader (OMR) is an application that used to detect the predefined mark on the
objective examination papers. Nowadays, many OMR machine is being used for
automatically generating score for objective type examination. OMR speeds up image capture
process, produces more accurate results. Moreover, OMR also used to process large volume
of data more quickly and easily without the need for data input through input device, such as
keyboard. Eventually, the expected OMR system is automated to detect the predefined mark
by comparing two images with bitmap format as well as to produce low cost application that
can be owned by everyone and personalized on window based computer system.
1.2 Problem Statement
The price of Optical Mark Reader (OMR) machine is expensive (Logic eXtension Resources
price list, 2006) and users suffer to spend up to thousands just because of those purposes.
Therefore, demand of users has decreased and not many users can effort to purchase the OMR
machine. The software-based OMR system is developed to overcome this problem. This is
because the software-based OMR is cheap and does not rely on OMR machine. The cheap
OMR machine with slow processing and less functionality has increase response time and
delay performance. Image processing technique is being applied into OMR system instead of
data capturing method in order to complete user's task easily within the specified period.
Thus, a large volume of data can be collected and processed in a short period of time.
1
1.3 Objective
The purpose of this project is to develop software-based Optical Mark Reader (OMR) that
does not have to rely on machine to conduct the process of making the OMR papers.
Therefore, the OMR system must be able to:
a. reduce cost. The software-based OMR does not necessary rely on suitable driver to
communicate only with particular OMR machine. This system can communicate with any
scanner to perform mark recognition and generate precise results.
b. improve processing time. The processing time can be improved by comparing two images
directly. The scanned image is generated into string (words) output, and then compare the
output from both of the images simultaneously. For example, user does not need to input
the correct answers into the OMR application, and then compares it with other OMR
paper. This is time consuming and slows the processing time. This problem is overcome
by comparing two images, which load from local disk or retrieve from scanner.
1.4 Procedure/ Methodology
In order to ensure that project progresses in sequence, Object-Oriented Software
Development Life Cycle (OOSDLC) methodology will be used. The main reason of using
OOSDLC is to precisely illustrate the data flow and how user interacts with the system. The
overall development will be divided into five phases,
2
a. Planning. The important of time arrangement should be considered ahead of or before the
prototype development. This is to make sure the development progress is within the time
frame of two semesters and satisfy project requirements.
b. Analysis. The existing of hardware and software based Optical Mark Reader (OMR) are
reviewed and compares their functionalities. The proposed system is described the
system's requirements in order to ensure the development process achieve what is planned
in the boundary of system's requirements.
c. Design. The requirement specifications are described in order for the system to perform
mark recognition. The object-oriented diagrams are illustrated to show how users interact
with the system and how the system works. The software process model is defined
throughout the system development process. This phase also discusses about the market
analysis.
d. Implementation. The prototype application is correlated to user interface design and will
be implemented using Microsoft Visual Basic 6.0. The system implementation is
described and software development kits (SDKs) are explained based on their functions
and how they work. The flows of system works are described in the section of system
walkthrough. It normally describes on how the system performs its tasks in a diagram.
This phase also tests the outcome of the system and explains on different techniques to
produce results and how the problems are being solved. The heuristic evaluation is used to
evaluate the system design, which meets to users' requirements and usability of the
system.
3
e. Maintenance. The reliability of system must go through alpha testing (typical user to test)
to discover bugs and revise it. Users' requests and recommendations are important in beta
testing (project team members to test) to ensure that system fulfills users' requirement.
1.5 Scope of Study
The scope is focused on the development of a software-based Optical Mark Reader (OMR)
system to compare two images simultaneously and generates the accurate results. The OMR
is expected to automate the process of checking the objective papers with supported image
format, such as bmp (bitmap). It is able to read pencil, punched and pre-printed marks of the
OMR form. The OMR form is measured in the size of 2544 x 3300 pixels.
1.6 Project Significance
The significance of this project is to develop the software-based OMR system that capable to
communicate with any scanner and compare two images simultaneously. Apart from that, this
project must be produced with a cheap OMR application but able to meet the users'
requirements and achieve the objective of the system (refer to section 1.3). This application is
contributed to the lecturers to help them on the evaluation of the objective papers.
1.7 Expected Outcome
The outcome of this project is expected to complete the tasks within the boundary of project
development in order to achieve the objective of this project (refer to section 1.3) and meets
the users' requirements. Therefore, the expected outcome of this project will be able to:
4
a. import the picture with bitmap supported format. The OMR form is captured using
standard image scanner and then saves as an image. The OMR system imports the image
and detects the marks by comparing two images.
b. produce the results in the string format. This system is able to compare two images
simultaneously, and results will produce by converting the images into string format. For
example, this system will convert the "student" image into "student" in words.
c. generate the results after scanning the Unimas OMR form, calculate and display score and
keep it as record for backup purposes.
1.8 Outline of the Project
The outline of the project report is able to guide me in completing my final year project. It
consists of six chapters and each chapter is discussed as follows:
Chapter One: Introduction
This chapter gives an overview of the proposed system, defines the problem statement and the
objective of the project. The methodology applied to this project serves as a guideline to
design the prototype system. The project plan is stated at the early development of stage
project.
Chapter Two: Background
This chapter discusses about the background of the reviewed system, either in hardware or
software-based Optical Mark Reader (OMR) system. The comparison of the hardware and
5
software-based OMR systems are based on each OMR model specifications and the OMR
functionalities. The proposed system is the desired system, which will be built according to
preferred methods and techniques.
Chapter Three: Requirement Analysis and Design
This chapter discusses on the system requirement specification that involve user, hardware
and software to identify the requirements of system. The system architecture is designed in
object-oriented diagram, which illustrates how users interact with the system. The software
process model shows the model used in developing the system throughout the whole process.
Finally, the comparison with other Optical Mark Reader (OMR) in market and what is the
system's requirement that shall be achieved, is described in the market analysis.
Chapter Four: Implementation and Testing
This chapter discusses on implementing the Optical Mark Reader (OMR) using the Microsoft
Visual Basic 6.0 and software development kits (SDKs). The system walkthrough describes
on how the system performs the tasks in a diagram. The system testing is to evaluate the
system in order to satisfy user's requirements. The problems and solutions are defined to
improve the system. Heuristic evaluation is used to guide in the design for a useable and
proper user interface.
Chapter Five: Further Work
This chapter discusses on limitations of the system that can be brought forward for future
enhancement.
6
Chapter Six: Conclusion
This chapter concludes the entire project with the achievement of the system, constraints and
limitations of the system, and the suggested improvements to improve the limitations of the
system.
7
CHAPTER 2: BACKGROUND
2.1 Introduction
After reviewed on existing Optical Mark Reader (OMR), it can be concluded that most of the
OMR machines are being enhanced asynchronous to the growth of technology, in order to
compete with one another in the same industry. However, only few researches really
contribute to the software-based OMR systems. Most of them applied data processing method
on the OMR software. Although the OMR machine is cheaper, the installation and
maintenance service is high. Therefore, low cost software-based OMR system integrates with
image processing technique that mentioned in Chapter 1, section 1.3 is the purpose of this
project development.
Section 2.2: Reviewed On existing Hardware and Software-based OMR System
This section reviews on the existing hardware and software-based Optical Mark Reader
(OMR), includes its paper scan area, communication port, read techniques, transfer speed,
form size used, and data output.
Section 2.3: Comparison of Existing Hardware and Software-based OMR System
This section discusses about the comparison between different hardware and software-based
OMR systems, based on their functions.
Section 2.4: Summary
This section is the summary of the hardware and software-based OMR system.
8
Section 2.5: Proposed System
This section discusses about the system that proposed to achieve the objective of the project
and functions that shall include in this system.
2.2 Reviewed On Existing OMR Hardware and Software-based System
There are six existing hardware-based Optical Mark Reader (OMR) and four software-based
OMR systems that detail defined on their different technologies, functions, data outputs and
performance.
2.2.1 Hardware-based OMR
2.2.1.1 OMR-1100 Optical Mark Reader (Lincolnshire, Inc)
Figure 2.1: OMR-1100 Optical Mark Reader
This model is cheap and designed for desktop data entry. It uses to detect the predefined
marks on particular form. The data is transferred to computer using standard serial port by
application software. The scan area is capable to read on 82.5mm x 279mm form. The form
that inserted into machine is automatically scanning on one side of an input form with the
speed measures 457mm per second, controlled by the operator or the speed of computer
(Valerie 2002). Once the form is scanned, the data is transported to computer at transfer rate
from 300 to 38400 baud via standard RS-232C serial port on the computer. Generally, this
9
model consists of two integrated sensor lights, which are Infra Red and Visible Red light.
Each of them is available to detect on particular marks. The Infra Red unit is capable to red
standard 2B pencil, key punched slots and pre-printed marks as well as suit to colored
background printing. The Visible Red unit is able to read standard 2B pencil, blue and black
ball pen or felt tip pen, key punched slots and pre-printed marks on visible red range
background printing. This model produces three types of data output, which are ASCII
character, binary and download mask.
2.2.1.2 ACP-2600 Terminal Optical Mark Reader/Printer (Chatsworth Data
Corporation)
Figure 2.2: ACP-2600 Terminal Optical Mark Reader/Printer
The ACP-2600 was specifically designed for games with unique feature, which includes
lottery terminals, sport gaming, and other point of sale applications. It was developed by
Chatsworth Data Corporation with cheap and integrated Accessible Card Path (ACP) reader
(The ACP-2600 2004). Its ACP's transfer rate can operate up to 18" per second when
scanning and approximately 12" per second when printing. The option of a Flash EPROM
incorporates additional flexibility supporting the dynamic downloading of executable code to
the ACP-2600 via standard RS-232C serial communication. The Flash EPROM allows in-
10
system programming of reader firmware as well as executes completely programming within
20 seconds (The ACP-2600 2004). The scan area is able to read 14 data channels at 5mm
spacing and 12 data channels at 635mm position on custom designed form measured from
82.6mm x 76.5mm to 82.6mm x 304.8. The ACP-2600 utilizes in two integrated scanning
options, Visible Red and Infra Red. The Visible Red is available as option for standard pencil,
blue and black ballpoint or felt tip pen, and pre-printed marks, but background printing must
be in visible red range. The Infra Red reads only black pencil marking on colored
background.
2.2.1.3 DRS CD230 Handfed Optical Mark Reader (DRS Data & Research Services)
Figure 2.3: DRS CD230 Handfed Optical Mark Reader
The DRS CD230 is handfed OMR machine to detect intended mark as well as transfers the
records via any computer supported serial port. It is appropriate for any data capture exercise,
from objective test, staff survey and time processing form. It is compatible with most relevant
software packages especially in educational and commercial sectors, and scanned data can be
imported into most industry standard spreadsheet, database packages and bespoke systems
(Katy B. 2003). The DRS CD230 transfer rate is 800mm per second for transporting and
3000 forms per hours when reading on theoretical as well as 500 forms per hours when
11