1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Proceedings VCM 2012 53 phát hiện và nhận dạng mã vạch một chiều từ hình ảnh

6 386 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 470,16 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

A vision based method for 1D barcode detection and recognition Phát hiện và nhận dạng mã vạch một chiều từ hình ảnh Trần Thị Thanh Hải Viện nghiên cứu quốc tế MICA, HUST - CNRS/UMI - 2

Trang 1

A vision based method for 1D barcode detection and recognition Phát hiện và nhận dạng mã vạch một chiều từ hình ảnh

Trần Thị Thanh Hải

Viện nghiên cứu quốc tế MICA, HUST - CNRS/UMI - 2954 - INP Grenoble e-Mail: thanh-hai.tran@mica.edu.vn

Abstract:

While traditional methods for barcode reading use specific devices (e.g laser scanners) which are very disadvantageous because of their lack of mobility, reading barcodes from a camera phone is becoming an interesting and low-cost solution in this ubiquitous computing era This paper presents a method for 1D barcode recognition from images This method is composed of 2 main phases: barcode location and barcode decoding Our contribution found in the barcode location phase where we combine Discrete Cosine Transform (DCT) based technique and scan-line based techniques to improve the location rate while reducing the computational times For the barcode decoding, a statistical recognition is used The experimental results show the good performance of our method in comparison with state of the art methods

Tóm tắt

Hướng tiếp cận truyền thống để nhận dạng mã vạch thường sử dụng các thiết bị chuyên dụng như máy quét laser Các thiết bị này thường gắn ở một vị trí cố định, khó di chuyển Trong một số ứng dụng như tra cứu sản phẩm tại chỗ (ví dụ trong siêu thị, trên quảng cáo, v.v), hướng tiếp cận đọc mã vạch từ điện thoại di động là một giải pháp thú vị và ít tốn kém Bài báo này trình bày một phương pháp nhận dạng mã vạch từ ảnh thu nhận

từ camera của điện thoại di động Phương pháp đề xuất gồm hai pha chính: định vị mã vạch và giải mã Các đóng góp chính của chúng tôi là sử dụng kết hợp hai kỹ thuật quét dòng và phép biến đổi cosin rời rạc cho phép nâng cao độ chính xác định vị, đồng thời giảm thời gian tính toán Các thử nghiệm cho thấy phương pháp

đề xuất cho hiệu quả nhận dạng cao, hoàn toàn có khả năng tích hợp trên điện thoại di động cho các ứng dụng khác nhau như tra cứu sản phẩm trong siêu thị

1 Introduction

Nowadays, barcodes, 1D barcodes in particular,

play an important role in the modern life The need

to use barcodes in different applications requires

researches on barcode symbologies (codings) as

well as barcode readers In reality, there are a lot of

devices for reading barcodes such as barcode pens,

hand-held laser scanners, etc Laser scanner is the

most popular device that can be found in any marts

/ stores or documentation centers However, the

biggest disadvantage of this device is its lack of

mobility because most of the time, it can only be

used together with the corresponding Point of Sale

machine

A current trend for barcode reading is to recognize

1D barcode from images captured by a camera

because of its low-cost and mobile properties

However, the problem of visual barcode

recognition is not simple The difficulties come not

only from mistakes during printing barcodes but

also from imaging condition (e.g shadow,

reflection, dirty surface) that produces distorted,

skew, dirty, too dark/bright barcode images

This paper presents a method for visual recognition

of 1D barcodes while overcoming some of the above difficulties Our framework consists of two main components: barcode location and barcode decoding Our main contribution in this paper found in the barcode location phase where we combine Discrete Cosine Transform (DCT) based technique and scan-line based technique to improve the location rate while reducing the computational times

The paper is organized as follows In the section II,

we present and evaluate some related works In the section III, we propose a framework for 1D barcode recognition and explain in more detail each component of the framework Some experimental results will be presented in section

IV

2 Related works

All methods for barcode recognition from images must deal with two main problems: barcode location and barcode decoding In the literature,

Trang 2

there exists numerous approaches for barcode

localization using analysis of spatial domain [1],

Gabor filtering [2], analysis of Wavelet domain [3],

or DCT domain [4]

Based on the observation that a barcode is

composed of parallel and adjacent bars and spaces,

which are usually aligned horizontally, a barcode

region should be dominated with vertical texture

then a wavelet based method has been used to

locate barcode regions in [3] With wavelet

transform, an image is divided into four subbands

(one low-frequency subband and three

high-frequency subbands) Using the characteristics of

high-frequency wavelet subbands, some criteria

based on energy of coefficients on the levels of

subbands have been defined to locate barcode

regions Once a barcode region is located, edges of

bars will be determined by finding the

zero-crossings of the average intensity curve built from

8 parallel scan-lines For barcode decoding, the

nearest neighbor classification method is used to

find out the most similar reference vector This

method has been tested with 292 EAN-13 barcode

images taken by a NOKIA 7650 camera phone,

shows a good performance of the method: the

correct barcode location rate is 94.18% and the

correct barcode recognition rate is 85.62%

However, this method works only under the

following assumptions: barcodes must be placed as

in front of the camera as possible, in the center of

the camera view and the physical barcode’s size

should be bigger than 3cm in length

DCT expresses a sequence of finitely many data

points in terms of a sum of cosine functions

oscillating at different frequencies A barcode is

composed of black and white stripes alternative

which are aligned in i-direction, AC-coefficients of

the DCT in i-direction are of high magnitude As

DCT coefficients of a barcode region not only can

be distinguished from non-barcode region, they

give also information about orientation of the

barcode These properties are explored in [4] to

locate barcode regions in image Following the

authors, this method is very fast and gives good

results in case where there are no high textured

regions in the image than barcode regions

However, the paper did not resolve the problem of

barcode recognition

Wavelet-based and DCT-based approaches allow

locating barcode regions in images However, these

methods are sometime quite time-consuming A

simple but quite efficient technique that is widely

used in the literature is scan-line-based [5], [6]

First, a scan-line passing the center of the image

will be extracted Then the curve built from the

intensity of points lying on this scan-line will be

smoothed using a Gaussian filter The maxima / minima of this smoothed curve will be determined that help for finding dynamic thresholds for binarizing the curve With the binary curve, the width of spaces and bars will be calculated Barcode recognition is done by digit classification using similarity measure between the candidate and the references About 1000 images of barcodes have been taken by a N95 camera phone The recognition rate of 90.5% at 640x480 image resolution was achieved with assumptions that there is only one horizontal barcode at the center of each image

In summary, most of methods for barcode location are based on specific properties of barcode, which are the parallel and dense distribution of bars and spaces DCT can locate barcode area in all directions while current scan-line based approach can only deal with horizontal barcode The barcode recognition rate depends strongly of barcode location and binarization

Nowadays, barcode recognition has been developed as a commercial product and integrated

in several mobile phone platforms such as Red laser [7], ShopSavvy [8], XZing [9] The problems with these products are: 1) The algorithm developed in each product is not public so we cannot understand why it works and why not in a certain case; 2) As commented by some users, the algorithm does not work well in poor lighting In this paper, we would like to present a public method that provides comparable performance

3 Vision based 1D barcode recognition 3.1 Brief description of 1D barcodes

In this paper, we are interested into 1D barcodes: UPC-A, EAN-13 or ISBN-13 because they are arguably the most widely used throughout the world to mark retail products that are scanned at points of sale However, the framework that we propose can deal with all kinds of barcodes with a little modification in the algorithm because both barcode location and barcode recognition algorithms are based on the knowledge of barcode structures and their appearances

The Figure 1 shows an image of a EAN-13 barcode The human readable data is written under the barcode i.e the machine readable data This barcode consists of 13 digits The last digit is a checksum computed from the first 12 digits The barcode starts with a left-hand guard bar (black-white-black) and ends with a right-hand guard bar (black-white-black) Between the guard bars, there are two blocks, each composed of 6 digits, separated by a center guard bar (white-black-white-black-white) Two different EAN-13 barcodes will

Trang 3

have the same amount of bars and spaces but the

width of these bars and spaces will be different

because they encode different numbers These

characteristics of barcode will be used in barcode

location and recognition presented in the next

sections

Figure 1 Structure of an EAN-13 barcode

3.2 Proposed framework for 1D barcode

recognition

Based on analysis on barcode structures and their

appearances, we found that both DCT and

scan-line based techniques are good for barcode

location For barcode decoding, a statistical method

seems to be convenient We propose therefore a

framework for barcode location and decoding as in

the Figure 2 The framework is composed of 3

principal modules: 1) localization of 1D barcode

region in the image; 2) once the barcode region is

located, it is extracted from the image and

binarized; 3) the binarized barcode region will be

decoded to output a sequence of digits (final

result) In the following, we will explain in more

detail each component of the whole 1D barcode

recognition system

Figure 2 Framework of 1D barcode recognition

system 1) Localization of Barcode region: This

module consists of 2 components First, we locate

1D barcode regions using DCT technique As this

localization is always inaccurate, we then apply the

scanline based technique to re-locate it in order to

find more accurate barcode boundaries (guard

bars)

a) DCT-based method for 1D barcode region

localization:

The algorithm of DCT based barcode location consists of 10 steps:

1 Divide the input image into 8x8 pixels blocks

2 Apply DCT on each 8x8 pixels block This step will produce for each block 64 coefficients in which the first coefficient DC-value represents the average DC-value of the image block, 63 remaining AC-values represent spatial frequencies of image block in the ascending order We set all DC-values of all image blocks to 0

3 Calculate the average DCT-block from all blocks of 8x8 DCT-coefficients

4 Group all DCT-coefficients c ijof one

frequency range f of the average DTC block

into an array G f , so that

}) 1 , , 1 ) ( } , , 1 ) (

For example, G 3 { c31, c32, c33, c13, c23} Then calculate the largest DCT-coefficient

) max(

c from each frequency range f in

the average block The coefficients

max

f

c indicate the coefficients in the barcode

area that are strongest

5 Compute a weight matrix W of dimension 8x8 where each elements w ij is defined as follow:

else k

c c if k w

d

f ij e ij

,

Where k d and k e are the emphasis and desemphasis factors, respectively

6 Perform an element multiplication of each 8x8 DCT block with W Then calculate the sum of each DCT block The higher the sum of the

DCT-block, the higher is the likelihood that it belongs to barcode regions The DCT-sums make up a subsampled DCT image by a factor

8 in each dimension We set 0 to negative values and scale positive values to the range

[0, 255] to create a gray-scale image

7 Perform morphological closing on the

gray-scale image obtained from step 6 to smooth

the barcode region

8 Convert gray-scale data into binary using Otsu thresholding technique

9 Look for 8-connected components

10 Choose rectangular connected regions as candidates of barcode region

b) Scanline-based method

The DCT based algorithm gives an approximate location of the barcode region We consider it as the region of interest for which we will apply the

Trang 4

scan-line based technique to re-localize in a more

accurate manner The output of this phase is a

region of barcode well localized with boundaries

which are correctly determined to pass to the

barcode decoding

2) Barcode Decoding: Barcode decoding is

carried out in the following steps as illustrated in

the Figure 3 We can see in this figure two main

phases: 1) learning digit classifiers and 2) barcode

decoding given a new barcode area

a) Digit and barcode representation

As analyzed above, bars and spaces can cover one

to four modules of the same color Each digit is

composed of two bars and two spaces with a total

width of 7 modules We represent each digit by a

vector of 4 elements corresponding to the widths of

ordered bars and spaces This vector will be

normalized to unit magnitude so that it is invariant

in case of scale change of barcode

Given a binary barcode region, we compute the

widths of bars and spaces by counting the sum of

black /white pixels To reduce errors produced

during binarization, first we compute average

width of single module then the double, triples;

quadruple modules widths will be calculated Now,

each barcode region is represented by a 12

elements-vector representing 12 digits Each

element, corresponding to a digit, is again a 4

elements-vector

Figure 3 Barcode decoding schema

b) Statistical learning of digit classifiers

The learning of digit classifiers is simple To build

a digit classifier, we take normalized samples of

this digit from training dataset, compute the

average one and considered it as the reference

vector for this digit class We do the same for 30

encoded digits (because left-hand digits are

encoded into 2 sets A, B, and right hand digits are

encoded in set C) to obtain 30 reference vectors

c) Barcode decoding

For recognition, each digit will be compared to digits learnt during training phase Left-hand digit will compared with 20 digits in A, B sets to choose the most similar one (Euclidian distance based measure) Similarly, right-hand digit will be compared with 10 digits in C set to choose the most similar one This makes a hypothesis of the barcode This hypothesis will be passed to the verification step of the checksum number If it is correct, the hypothesis is confirmed If not, we generate other hypothesis (by changing the meta-number) and verify until we obtain a valid code

4 Preliminary results and discussions 4.1 Dataset preparation

For learning and testing, a dataset needs to be prepared Until now, the number of samples for training each digit class remains quite modest (we use only 10 images of barcode) For testing we use

100 images taken from different sources (http://cvpr.uni-muenster.de/research/barcode) or

by ourselves These images contain barcodes with different status: change in size, orientation, noise, dirty, reflections, etc The image resolution is 640x480

4.2 Experimental results

The proposed method for barcode recognition will

be evaluated based on 3 performance measures: 1) barcode localization rate; 2) barcode recognition rate; and 3) computational time

Barcode localization rate is the ratio between the number of located barcode regions and the total number of barcode regions in the ground truth A barcode region is considered as located if the located region covers more than 80% the ground truth region Barcode recognition rate is the ratio between the number of barcodes which are successfully decoded and the total number of barcodes in the ground truth The computational time is the total time (in second) that the recognition system takes to read an input image; process it then output a localized barcode region and a digit sequence

The TABLE I shows performance evaluation of barcode recognition system using the combined technique for barcode localization In all cases, we use the same recognition technique for barcode decoding

Trang 5

TABLE I PERFORMANCE EVALUATION OF

BARCODE RECOGNITION METHODS

Method Localizatio

n rate (%)

Recogniti

on rate (%)

Time (s)

One scan-line 75 70 1.38

Multiple (6)

scan-lines

scan-line

We found that the technique based on one scan-line

gives worst results in term of barcode localization

and recognition rate When using multiple

scan-lines, the noisy influence will be decreased, that

improves the performance in both localization and

recognition rate However, the computational time

will increase Our proposed method (DCT

combined with one scan-line technique) gives a

better performance in localization rate than the case

using multiple scan-lines An additional advantage

of this combined technique is that it is quite

efficient in term of computational time

In the below figures, we show some examples of

barcode localization using our combined method

We can see this method can deal with difficult

situations such as barcode is un-planar (Figure 4),

barcode is rumpled (Figure 5), or shadowed

(Figure 6) In all of these figures, the green

rectangles are the barcode regions located by the

only DCT technique; the red ones are the barcode

regions localized using the combined technique

Figure 4 Localization of unplanar barcode

Figure 5 Localization of rumpled barcode

Figure 6 Localization of shadowed barcode

5 Conclusion

In this paper, we presented a framework for barcode recognition from images The main contribution of our framework in comparison with the literature ones is we used DTC technique to locate barcode regions that is robust to orientation and size The scan-line technique is used next to re-localize the barcode region so we obtain a more accurate location of barcode boundaries This combined technique is better in barcode location and computational time for recognition In the future, we would like to deploy this method on mobile phone platform to build an online assistance system for customers in stores

Acknowledgments

This study was done in the framework of the International cooperation project 10/2011/HĐ-NĐT

References

[1] D Chai and F Hock, Locating and Decoding EAN-13 Barcodes from Images Captured by Digital Cameras, in 2005 Fifth International Conference on Communications and Signal Processing, 2005: Bangkok, Thailand p 1595

- 1599 [2] A.K Jain and Y Chen Bar code localization using texture analysis in Proceedings of the Second International Conference on Document Analysis and Recognition 1993

[3] R Oktem, Barcode localization in wavelet domain by using binary morphology, in Proc

of IEEE SIU'04 2004 p 499-501

[4] A Tropf and D Chai, Locating 1-D Bar Codes

in Dct-Domain, in Proceedings 2006 IEEE International Conference on Acoustics, Speech and Signal Processing 2006: Toulouse, France [5] O Gallo and R Manduchi, Reading Challenging Barcodes with Cameras, in Proc

of IEEE Workshop on Applications of Computer Vision 2009, 7 p 1-6

[6] S Wachenfeld, S Terlunen, and X Jiang, Robust 1-D Barcode Recognitionon Camera Phones and Mobile Product Information Display, in Lecture Notes in Computer Science, Springer-Verglas Berlin Heidelberg p 53-69 [7] http://redlaser.com/

Trang 6

[8] http://shopsavvy.com/

[9] http://code.google.com/p/zxing/

Bibliography

Thi Thanh Hai TRAN

graduated in Information Technology from Hanoi

University of Science and Technology in 2001

She has followed MS degree in Imagery Vision

and Robotic at Grenoble Institute of Technology in

2002 She received her Ph.D degree from

Grenoble Institute of Technology, France in

2006 She is currently lecturer/researcher at

Computer Vision group, International Institute

MICA, Hanoi University of Science and

Technology Her main research interests are

visual object recognition, video understanding,

and human-robot interaction

Ngày đăng: 16/08/2015, 15:48

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w