• 沒有找到結果。

Automatic Score Recording System

N/A
N/A
Protected

Academic year: 2021

Share "Automatic Score Recording System"

Copied!
6
0
0

加載中.... (立即查看全文)

全文

(1)Int. Computer Symposium, Dec. 15-17, 2004, Taipei, Taiwan.. Automatic Score Recording System Tsang-Long Pao, Wei-Chih Pan, Hsiu-Wen Cheng Department of Computer Science and Engineering, Tatung University E-mail: tlpao@ttu.edu.tw, e9006007@ttu.edu.tw,e9006017@ttu.edu.tw Abstract-In formal entrance examination, after the score is being graded, it still requires quite a lot of effort to record the score into database. These processes are inefficient, time-consuming and laborious. Therefore, we propose an Automatic Score Recording System that uses the image processing techniques to simplify the procedure and speed up the process. In the proposed system, we use a digital camera and an automatic feeding mechanism to capture the information on the answer sheets. In our design and arrangement, it can locate and recognize the bar code as well as the handwritten score from an answer sheet automatically. After the ID and the score are recognized, the system will record the result into the database.. can recognize most of the defective barcode image even it is damaged quite severely. For the handwritten score recognition, due to the variety styles of a person’s writing, even for the same numeral character, it might have several different outlooks. And it is also not easy for a person to write continually the same numeral character which all have the same appearance. This characteristic will increase the difficulty of the recognition algorithm. Thus the most interesting part will be how to analysis and overcome the different geometry shapes for the same numeral character but in different writing styles. We choose the Region Growing algorithm to “see” a numeral character from distance. Which means we try to determine a numeral character from its spatial co-relation as well as to separate it from numeral string.. Keywords: Barcode Recognition, Handwritten Numeral Recognition, Score Recording System.. 2. Background 2.1 Barcode System. 1. Introduction Barcode systems shine in terms of speed, flexibility, cost, accuracy, and reliability. The barcode is composed of a series of alternating black and white stripes of varying width. The most common examples in use today are UPC, EAN, Code 128, Code 39, and Interleaved 2 of 5. In this research, we use the Code 39 as the example. Code 39 (sometimes called Code 3 from 9) is a discrete barcode. Each character is made up of 9 bars, 3 of which are wider than the others. A single character therefore consists of 5 black bars and 4 white bars. The ratio of the bar widths can range from 2.2:1 to 3:1. To read a barcode reliably the decoder must be able to differentiate between the wide and narrow bars. In practice it is better to use barcodes close to the 3:1 ratio that allows nearly a 50% barwidth error to occur before ambiguity occurs. The space between each barcode character is called the inter-character gap. Its width is undefined but is usually equivalent to a narrow white bar. The Code 39 barcode symbology supports 43 characters plus an additional character used as a delimiter or start/stop character. The start/stop character always occurs as the first and last character in a complete barcode and is represented in the human readable text by the * character.. An important process in preparing for the entrance examination is to seal the registration number of the examinee on the answer sheet. After the score is being graded and written on the answer sheet, the operator takes the seal off and records the score into the database. In order to reduce the processing time and cost, we develop an Automatic Score Recording System [1] to recognize and record the handwritten score in conjunction with the ID encrypted in the barcode automatically. By this system, we can reduce the workload of the operator and reduce the chance of human error. However, in the field of the barcode recognition, the barcode reader has to be put manually close to the barcode, and the barcode needs to be pretty flat. For removing these limitations, we develop a camera-based barcode decoding mechanism in our system. Moreover, to conquer the problem that the barcode images may be defective, we propose a barcode recognition algorithm. The handling processes start from the binarization the barcode image by clustering method. Then, we examine the quality of the binarized barcode image to mark the defective regions for assisting the decision of the decoding policies. From our experimental result, we. 708.

(2) Int. Computer Symposium, Dec. 15-17, 2004, Taipei, Taiwan.. Finally, the region has to be closed if there are no more neighbor pixels that can be associated into this region. After the region is closed the averaged gray value is re-calculated and all the pixels belonging to the region have to be set to this averaged gray value. The pixels outer to the closed region are candidates of new regions and the process is continued until all the pixels of an image are associated into regions. Sometimes the goal is to determine only one closed region. In this case the algorithm is stopped if the given region is closed. The criteria to choose the seed in practice will depend on the nature of the problem. If targets need to be detected using infrared images for example, choose the brightest pixel. Or if without a-priori knowledge, compute the histogram and choose the gray-level values corresponding to the strongest peaks And how do we choose the similarity criteria? The homogeneity predicate can be based on any characteristic of the regions in the image such as average intensity, variance, color, texture, motion, shape, size and so on.. Figure 1. The Code 39 barcode symbology The 43 character sets and bar width configuration are shown in Fig. 1. A check digit is not often used with Code 39 but a few critical applications may require one. The check digit is the modulus 43 sums of all the character values in the message. It is printed as the last data character.. 2.2 Region Growing The fundamental drawback of histogram-based region detection is that histograms provide no spatial information but only the distribution of gray levels. [2-4] Region growing approaches exploit an important fact that the pixels close together have similar gray values. Region growing is a useful algorithm allowing an extraction of different elements contained in an image. Main idea of this approach consists in the observation that the pixels belonging to one element of the object can possess similar properties, for example, the gray value. Therefore if the considered pixel has gray value that is near the common gray value of the region, this pixel can be associated into this region. This approach generally consists of the following three steps: Initially, a new region consists of only one pixel, which is called the seed pixel, is selected. This pixel is determined by user, and is used as a-priori information. The given initial pixel determines the 8neighbour where all pixels are sequentially checked. If a pixel does not belong to any other regions it can be associated into the given region if the difference between the gray value of the pixel and the averaged gray value of the whole region is less than a predefined threshold T. [5] Second, when the pixel is connected to the region the averaged gray value of this region is recalculated. After all the neighboring pixels are reviewed, new neighborhood for the enlarged region will be determined and the first step is repeated. The averaged gray value of the whole region is being modified therefore the pixels, being declined on previous steps, may be re-associated into the bigger region on the next steps.. Figure 2. Region Growing algorithm. 3. System Overview The functional block diagram of the proposed system is illustrated in Fig. 3. Image Acquisition. Image Pre-processing. Barcode Recognition. Numeral Recognition. Data Output Figure 3. Flow chart of Automatic Score Recording System The first block of this system is the Image Acquisition process. The purpose of this process is to acquire the image of examinee’s score. We can use the automatic feeding mechanism to transfer the answer sheets to the designate position. The function of the feeding mechanism is similar to the carbon. 709.

(3) Int. Computer Symposium, Dec. 15-17, 2004, Taipei, Taiwan.. copy machine. On top of the designate position, there is a digital camera responsible for the capture the image of the barcode and score on the answer sheet. After grab the image, it will be sent to the Image Pre-processing functional block for further processing. The second functional block is the Image Preprocessing process. This process has two major aims to deal with the input image. The first is to remove the pixels we don’t need, such as the miscellaneous pixels in the background. The second is to separate the barcode image as well as the numeral part from the input image. [6-8] The following functional blocks will have different approaches depends on the image separation. When the barcode of interest had been located from a captured image, it is cut and passed to the Barcode Recognition functional block as an input barcode pattern. At first, the input pattern is an 8-bit gray level image. We then find an adaptive threshold value by the clustering method. In accordance with the threshold value, we can binarize the barcode image. Next to the binarization process, the binarized barcode image has to be examined by quality analysis. We crosscut a barcode pattern every predefined size to get multiple barcode samples. Finally, each barcode sample is checked and analyzed for decoding. The recognition system should pick out some barcode samples avoiding those problems in according to the analytical data. We will convert each barcode samples digit by digit. Moreover, each digit of the final answer would be an average from multiple barcode samples. The other recognition process is the Numeral Recognition process. In this process, we deal with the single numeral image and try to see and understand what is the meaning of this image. We propose an algorithm to perform the recognition process. The major concept of this algorithm is to distinguish the spatial co-relation of the background area. And figure out what numeral has the same relationship. Then we can say what numeral is this image represented. We use the Region Growing technique to find out the spatial co-relation of the background area. With proper modification, this theory can be adapted to our needs and provide a proper rejection rate when the input image is not qualified as a numeral. These recognition processes will be described in detail in later sections. [9][10] The last functional block is called the Data Output process. It includes matching the ID of the examinees, transferring the recognized score to database system and providing warning to operator when the score cannot be recognized. At the same time, the operator is required to compare the input image and the recognition result.. The Barcode Recognition Process is shown in Fig. 4.. Figure 4. Barcode Recognition Process Binarization by Clustering Method The results from global thresholding techniques are usually acceptable in the kind of image having relatively constant contrast. We use the clustering method to find a single threshold value to classify pixels to white or black cluster. We convert the barcode image to the intensity histogram first. The features of barcodes would be appeared on their histogram images. The key concept of the clustering method is to assign a pixel to its nearby cluster. Before classifying pixels to white or black cluster, we have to set an initial threshold value that could be defined as a value around the middle of the histogram. Then, in accordance with the threshold, the two initial clusters are constructed. In the next step, the center of each cluster is computed. Two new threshold values are obtained by averaging the values in the corresponding cluster. Based on the new threshold, we could get two new clusters, as shown in Fig. 5. These steps will be repeated in a recursive way until the threshold value is converged. Then, we can binarize the barcode image by the converged threshold value.. Figure 5. The clustering steps.. 3.1. Barcode Recognition. 710.

(4) Int. Computer Symposium, Dec. 15-17, 2004, Taipei, Taiwan.. invalid and will be ignored. We also calculate concave curve’s property and put into two categories, the left and right open direction.. Image Quality Analysis Finding a readable barcode sample by human beings is easy and usually can get a pretty good one. When the job is performed by a computer, however, finding a good sample is not easy. Although we can remedy the decoding answer by getting more samples to compute, bad samples will still influence the final answer. Especially, most of the samples are defective. For getting good samples from the barcode image, we present the process of Image Quality Analysis. Based on barcode features, the number of barcode stripes of Code 39 is 119. If a barcode sample is not equal to 119 stripes, it might be blur, or with some spot. These noises would let the system make wrong decision, such as getting wrong stripe size, error separation, or making wrong width ratio to decode. Hence, these unreadable samples would be marked. To get barcode samples, we choose a value as an interval to crosscut the binarized barcode image. Decoding According to the analysis of a barcode image, we choose readable barcode sample lines to decode. In order to recognize each digit of barcode, we group nine stripes as a unit. We set the shortest stripe to 1. Then, we computed the ratio of each stripes. If the ratio is greater than 2, set as 1, otherwise, set as 0. Then, we divide these stripes to spaces and bars group. Finally, in accordance with Code 39 encoding rules, we can recognize the barcode correctly.. Figure 6. The Region Growing Algorithm. 4. Experiment Result. 3.2. Numeral Recognition. In this paper, we use the MATLAB software to develop the major algorithm of the Automatic Score Recording System. It includes the barcode and numeral recognition. For experimenting on the part of barcode, all of the barcode images we captured are the Code 39 barcodes. For clear and clean barcode images, the proposed system can decode all of them correctly. For defective barcode images, such as twisted or banded barcode images, the recognition accuracy is more than 90%. Figure 7 shows some barcode samples and their decoding results. To verify the effectiveness of the numeral recognition algorithm, we use the MNIST database of handwritten digits as the input source to test the algorithm in our experiment. The test set examples of the MNIST database is the input to our programs. The programs will process all the images sequentially. Once the result of an image comes out. It will be compared with the numeral in the test set index file. After the comparison, the image can be categorized into two groups, one group is the images that can be recognized by our algorithm successfully, the other group is the images being rejected by the program and requiring the attention of the operator. Some of the rejected examples are shown in Fig 8.. In this section, we use the Region Growing Algorithm on the handwritten numeral recognition. This algorithm is also suitable for all kinds of handwriting numeral: cursive, hand-printed and mixed. Fig. 6 demonstrates the operation sequence of our algorithm. According to the algorithm, we try to find two major features from the input image. These are the “Hollow feature” and “Concave feature”. Hollow Feature Hollow feature describes the background area reside in the foreground area, and it is surrounded by the foreground pixels. We will calculate the size of the hollow area to decide whether this area is big enough to take into account. This feature is also very important in this algorithm because it can help us to separate the numeral initially. Concave Feature Concave feature describes the concavity in each numeral’s outer profile. We use simple formula to calculated concavity as follows: c = d /w (1) Where d is the size and w is the width of the concave curve, respectively. In our system, if c is greater than certain threshold, the concave feature is taken into consideration; otherwise, it is treated as. 711.

(5) Int. Computer Symposium, Dec. 15-17, 2004, Taipei, Taiwan.. general the symbol listed in the rejected examples is not a normal writing of a numeral. The mystery is controlled in the classification section of the program.. (a). Figure 8. Examples of rejected handwritten numeral by our system.. 5. Conclusion and Future Works An Automatic Score Recording System is presented in this paper. This system is designed to ease the workload of the operator to key in the score of the examinees in the entrance examination. In the part of barcode recognition, our proposed barcode recognition system is based on the barcode image quality analysis. If the resolution of barcode images is enough, our system could decode correctly for most of barcode images even they are defective. However, if the captured image is too blurred or more than half of the samples are bad, we might get a wrong answer. How to automatically capture good barcode images is a topic worth further investigation. In the numeral recognition part, the recognition algorithm in our system can be adapted to other application of handwritten recognition. In the proposed algorithm, we use the Region growing algorithm on the input image classification. The major difference of the recognition algorithm used between this research and other approaches is the way of looking a numeral image. We adopt the concept of spatial co-relation to find out which numeral is the image represented by the co-relation of the background area of the image. Rather than find out the features of foreground strokes, such as end points, fork points, circles and so on. The specialties of this approach are the tolerance of different writing style and the thickness of strokes. And these specialties make this algorithm more suitable for the applications of handwritten numeral recognition. The future work in our algorithm is to replace the classification method by the machine learning technique such as neural network approaches that. (b). (c) Figure 7. Barcode samples and decoding results. There are a total of 10,000 images in the test set of the MNIST database has been processed by our programs. The recognition rate of our algorithm is 84%. However, the recognition rate for the MNIST database is not a limitation to our algorithm. But, in. 712.

(6) Int. Computer Symposium, Dec. 15-17, 2004, Taipei, Taiwan. [5]. may be faster and easier in recognizing the handwritten numeral. Then the training set of the MNIST database will have different level of help on our algorithm. Another target we can work on is adapted the same idea on other field of handwritten recognition, such as pattern recognition, alphabetical character recognition and so on.. [6]. Acknowledgement This research is partially supported by National Science Council in Taiwan under the contract number NSC92-2213-E-036-021.. [7]. References [1]. [2]. [3]. [4]. Chang-Sheng Lu, “Handwritten Score Recording System”, Master Thesis, Tatung University, Jul. 2002 Aibing Rao, Rohini K. Srihari, Zhongfei Zhang, “Spatial Color Histograms for Content-Based Image Retrieval”, Tools with Artificial Intelligence, 1999. Proceedings 11th IEEE International Conference on 9-11 Nov. 1999, Pages:183-186 Ka-Man Wong, Chun-Ho Chey, Tak-Shing Liu, LaiMan Po, “Dominant color image retrieval using merged histogram” Circuits and Systems, 2003. ISCAS '03. Proceedings of the 2003 International Symposium on Volume: 2, 25-28 May 2003 Pages:II-908-II-911 vol.2 M. Stricker and A. Dimai, “Color indexing with weak spatial constraints.” SPIE proceedings, 2670: 29-40, February 1996.. [8]. [9]. [10]. 713. Garcia-Consuegra, J., Cisneros, G., Navarro, E., “A Sequential Echo Algorithm Based on the Integration of Clustering and Region Growing Techniques”, Geoscience and Remote Sensing Symposium, 2000. Proceedings. IGARSS 2000. IEEE 2000 International, Volume: 2, 24-28 July 2000 Pages: 648-650 vol.2 G. Congedo, G. Dimauro, S. Impedovo, G. Pirlo, “Segmentation of Numeric Strings”, Document Analysis and Recognition, 1995., Proceedings of the Third International Conference on Volume: 2, 14-16 Aug. 1995, Pages: 1038-1041 vol.2 Grandidier, F., Sabourin, R., El Yacoubi, A., Gilloux, M., Suen, C.Y., “Influence of Word Length on Handwriting Recognition”, Document Analysis and Recognition, 1999. ICDAR '99. Proceedings of the Fifth International Conference on 20-22 Sept. 1999 Pages: 777-780 Flores, E.L., Rezende, E.N., Carrijo, G.A., Yabu-uti, J.B.T., “An Algorithm to Recognize Isolated, Overlapped and Connected Handwritten Numerical Characters”, Intelligent Information Systems, 1995. ANZIIS-95. Proceedings of the Third Australian and New Zealand Conference on 27 Nov. 1995 Pages: 53-58 Ing-Sheen Hsieh, Kuo-Chin Fan, “Color Image Retrieval Using Shape and Spatial Properties”, Pattern Recognition, 2000. Proceedings. 15th International Conference on Volume: 1, 3-7 Sept. 2000, Pages: 1023-1026 vol.1 Jung-Hsien Chiang, Gader, P., “A Hybrid Feature Extraction Framework for Handwritten Numeric Fields Recognition”, Pattern Recognition, 1996., Proceedings of the 13th International Conference on Volume: 4, 25-29 Aug. 1996 Pages: 436-440 vol.4.

(7)

數據

Figure 3.  Flow chart of Automatic Score  Recording System
Figure 4.  Barcode Recognition Process
Figure 6.  The Region Growing Algorithm
Figure 7.  Barcode samples and decoding  results.

參考文獻

相關文件

• When a system undergoes any chemical or physical change, the accompanying change in internal energy, ΔE, is the sum of the heat added to or liberated from the system, q, and the

(a) A special school for children with hearing impairment may appoint 1 additional non-graduate resource teacher in its primary section to provide remedial teaching support to

This kind of algorithm has also been a powerful tool for solving many other optimization problems, including symmetric cone complementarity problems [15, 16, 20–22], symmetric

• A function is a piece of program code that accepts input arguments from the caller, and then returns output arguments to the caller.. • In MATLAB, the syntax of functions is

 BayesTyping1 can tolerate sequencing errors, wh ich are introduced by the PacBio sequencing tec hnology, and noise reads, which are introduced by false barcode identi cations to

A system is said to be in stable equilibrium if, when displaced from equilibrium, it experiences a net force or torque in a direction opposite to the direction of the displacement..

•The running time depends on the input: an already sorted sequence is easier to sort. •Parameterize the running time by the size of the input, since short sequences are easier

– One of the strengths of CKC Chinese Input System is that it caters for the input of phrases to increase input speed.. „ The system has predefined common Chinese phrases, such