Reading 1D Barcodes with Mobile Phones Using Deformable Templates.

Slides:



Advertisements
Similar presentations
A Graph based Geometric Approach to Contour Extraction from Noisy Binary Images Amal Dev Parakkat, Jiju Peethambaran, Philumon Joseph and Ramanathan Muthuganapathy.
Advertisements

QR Code Recognition Based On Image Processing
November 12, 2013Computer Vision Lecture 12: Texture 1Signature Another popular method of representing shape is called the signature. In order to compute.
Digital Image Processing
Grey Level Enhancement Contrast stretching Linear mapping Non-linear mapping Efficient implementation of mapping algorithms Design of classes to support.
Prénom Nom Document Analysis: Document Image Processing Prof. Rolf Ingold, University of Fribourg Master course, spring semester 2008.
July 27, 2002 Image Processing for K.R. Precision1 Image Processing Training Lecture 1 by Suthep Madarasmi, Ph.D. Assistant Professor Department of Computer.
E.G.M. PetrakisFiltering1 Linear Systems Many image processing (filtering) operations are modeled as a linear system Linear System δ(x,y) h(x,y)
Complex Feature Recognition: A Bayesian Approach for Learning to Recognize Objects by Paul A. Viola Presented By: Emrah Ceyhan Divin Proothi Sherwin Shaidee.
DTM Generation From Analogue Maps By Varshosaz. 2 Using cartographic data sources Data digitised mainly from contour maps Digitising contours leads to.
Instructor: Mircea Nicolescu Lecture 13 CS 485 / 685 Computer Vision.
A Versatile Depalletizer of Boxes Based on Range Imagery Dimitrios Katsoulas*, Lothar Bergen*, Lambis Tassakos** *University of Freiburg **Inos Automation-software.
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
Multimedia Data Introduction to Image Processing Dr Mike Spann Electronic, Electrical and Computer.
1 Image Filtering Readings: Ch 5: 5.4, 5.5, 5.6,5.7.3, 5.8 (This lecture does not follow the book.) Images by Pawan SinhaPawan Sinha formal terminology.
Image Enhancement.
Lecture 2: Image filtering
A Novel 2D To 3D Image Technique Based On Object- Oriented Conversion.
Real-Time Face Detection and Tracking Using Multiple Cameras RIT Computer Engineering Senior Design Project John RuppertJustin HnatowJared Holsopple This.
Input devices, processing and output devices Hardware Senior I.
Computer Vision Systems for the Blind and Visually Disabled. STATS 19 SEM Talk 3. Alan Yuille. UCLA. Dept. Statistics and Psychology.
כמה מהתעשייה? מבנה הקורס השתנה Computer vision.
Chapter 10: Image Segmentation
Neighborhood Operations
BAR CODE SCANNER A.ANUSHA (06N61A0402). What is bar code? A barcode is a machine readable representation of information. Barcode stores data in widths.
Machine Vision ENT 273 Image Filters Hema C.R. Lecture 5.
05 - Feature Detection Overview Feature Detection –Intensity Extrema –Blob Detection –Corner Detection Feature Descriptors Feature Matching Conclusion.
Image processing Second lecture. Image Image Representation We have seen that the human visual system (HVS) receives an input image as a collection of.
Spatial Filtering: Basics
Lecture 2: Edge detection CS4670: Computer Vision Noah Snavely From Sandlot ScienceSandlot Science.
Video Based Palmprint Recognition Chhaya Methani and Anoop M. Namboodiri Center for Visual Information Technology International Institute of Information.
University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Image processing.
Multimedia Data Introduction to Image Processing Dr Sandra I. Woolley Electronic, Electrical.
September 5, 2013Computer Vision Lecture 2: Digital Images 1 Computer Vision A simple two-stage model of computer vision: Image processing Scene analysis.
Digital Image Processing CCS331 Relationships of Pixel 1.
I NPUT, O UTPUT AND S TORAGE D EVICES. I NPUT AND O UTPUT D EVICES We use lots of different products when producing work on the computer. The Input and.
Laser-Based Finger Tracking System Suitable for MOEMS Integration Stéphane Perrin, Alvaro Cassinelli and Masatoshi Ishikawa Ishikawa Hashimoto Laboratory.
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
Copyright Howie Choset, Renata Melamud, Al Costa, Vincent Lee-Shue, Sean Piper, Ryan de Jonckheere. All Rights Reserved Computer Vision.
Jaroslaw Kutylowski 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Robust Undetectable Interference Watermarks Ryszard Grząślewicz.
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities Prof. Charlene Tsai.
Autonomous Robots Vision © Manfred Huber 2014.
Mobile Image Processing
The HESSI Imaging Process. How HESSI Images HESSI will make observations of the X-rays and gamma-rays emitted by solar flares in such a way that pictures.
Barcodes, MMS, and the Internet’s Cheapest Prices Greg McGrath & Greg Maier Advisors: Professor Cotter, Professor Rudko ECE-499 March 01, 2008.
By Pushpita Biswas Under the guidance of Prof. S.Mukhopadhyay and Prof. P.K.Biswas.
October 1, 2013Computer Vision Lecture 9: From Edges to Contours 1 Canny Edge Detector However, usually there will still be noise in the array E[i, j],
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities May 2, 2005 Prof. Charlene Tsai.
Digital Image Processing Lecture 17: Segmentation: Canny Edge Detector & Hough Transform Prof. Charlene Tsai.
Machine Vision Edge Detection Techniques ENT 273 Lecture 6 Hema C.R.
Course 3 Binary Image Binary Images have only two gray levels: “1” and “0”, i.e., black / white. —— save memory —— fast processing —— many features of.
An Introduction to Digital Image Processing Dr.Amnach Khawne Department of Computer Engineering, KMITL.
European Geosciences Union General Assembly 2016 Comparison Of High Resolution Terrestrial Laser Scanning And Terrestrial Photogrammetry For Modeling Applications.
Over the recent years, computer vision has started to play a significant role in the Human Computer Interaction (HCI). With efficient object tracking.
April 21, 2016Introduction to Artificial Intelligence Lecture 22: Computer Vision II 1 Canny Edge Detector The Canny edge detector is a good approximation.
Coin Recognition Using MATLAB - Emad Zaben - Bakir Hasanein - Mohammed Omar.
IMAGE PROCESSING is the use of computer algorithms to perform image process on digital images   It is used for filtering the image and editing the digital.
Barcode Vartika Agarwal Accurate institute of management and technology Computer science(3 rd year)
Reverse-Projection Method for Measuring Camera MTF
Paper – Stephen Se, David Lowe, Jim Little
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities Prof. Charlene Tsai.
Edge Detection CS 678 Spring 2018.
Fitting Curve Models to Edges
Range Imaging Through Triangulation
Jeremy Bolton, PhD Assistant Teaching Professor
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
Grey Level Enhancement
A Novel Smoke Detection Method Using Support Vector Machine
Lecture 7 Spatial filtering.
Presentation transcript:

Reading 1D Barcodes with Mobile Phones Using Deformable Templates

1D BARCODES  Optical machine readable representation of data relating to the objects.  Represented data by varying the widths and spacings of parallel lines.  Referred as linear or one-dimensional (1D).

Reading with Using 1D Barcodes Mobile Phones Deformable Templates

MOBILE PHONES  A device that can make and receive telephone calls.  Large variety of applications.

Reading with Using 1D Barcodes Mobile Phones Deformable Templates

DEFORMABLE TEMPLATES  Represent each digit of the barcode, averaging over the set of all expected deformations.  The success depends on an accurate description of the shape class.

BARCODE READERS 1)Pen type readers  Consist of a light source and photodiode that are placed next to each other in the tip of a pen. 2) Laser based Scanners  Laser scanners work the same way as pen type readers except that they use a laser beam as the light source.

3) Hand held Barcode Scanners  This consists of a light source, a lens and a light sensor translating optical impulses into electrical ones. 4) Regular Mobile Phones with Camera  Cell phone cameras taking the images of bar there are 2D barcodes which are optimized for cell phones.

5)Mobile Phones using Deformable Templates  In this method, for barcode decoding (localization and reading) that can deal with images that are blurred, noisy, and with low resolution.

BARCODE READING PROCEDURE In early:- 1) Binarization Converting images to black and white image. 2) Edge Extraction Extraction of barcode edges. In this approach:- 1)Localization Identify the location of the endpoints of the barcode in the image. 2)Decoding Converting the black and while strips in barcodes to numbers.

THIS APPROACH Assumptions:  No Binarization  No Edge Extraction  Used in noise and blur images  Not sensitive  Gray level information is used  Optimization Procedure  Use particular forms of deformable Templates  2 Operations:- 1) LOCALIZATION 2) DECODING

1) BARCODE LOCALIZATION  Simple method  Image captured from mobile Camera  Vertical Axis is Parallel to Bars  Scanline determination

STEPS IN LOCALIZATION PROCESS Original image (1,152 x864, JPEG compressed). 1) Smoothened Map calculation(Is(n)) Horizontal gradient is Strong and denoted by Ix(n) Vertical gradient is weak and denoted by Iy(n) Ie(n)=|Ix(n)|-|Iy(n)| where n=pixel

- Smoothened map calculation(Is(n)) Run a block filter of size 31x31 over Ie(n) we get smoothened map. The smoothed map Is(n) with its maximum marked by a black square

2)Binarization of Is(n) Binarization is done using single threshold. Binarization by thresholding of Is(n) 3)Scanline identification  Selection of pixel and rectangle drawing -Select the pixel n0 that maximizes Is(n) -Expand a vertical and a horizontal line from n0, and form a rectangle  Scanline identification The horizontal line l(n) that passes through the center of this rectangle is chosen as the scanline for the analysis.  Localize end points First determine the intersections iL and iR of the scanline l(n) with the rectangle.

 Final localized image -The rectangle being larger than the actual barcode, we proceed inward from each end. The resulting rectangular segment (black square) *Horizontal scanlines are only considered -Barcode slanted less than 45 angle succeds

BARCODE DECODING -Analysis is based on single scanline extracted from detected barcode area. -Beginning and end points of the barcode pattern in the scanlines are detected with certain accuracy.

Spacial location computation Intensity values comparing Deformable template Symbol generation STEPS IN DECODING A

A Global cost function Reading decoded value Position detection Model creation

STEPS IN BARCODE DECODING -Computation of Spacial location Compute the spatial location of each digit segment in the barcode. -Comparing intensity values Compare the intensity profile of the corresponding segment of the scanline with binary templates, each representing a symbol. -Deformable templates Measure how well a deformed (shifted and scaled) template explains the observed intensity. -Symbol generation For each digit segment produce a sequence of symbols.

-Global cost function This is to avoid the problems caused by blur, low resolution and noise. This function can be found using Dynamic Programming. -Model creation A model (or template)Mk is defined for a given symbol k as a continuous piecewise constant function that alternates between -1 and 1, where a value of -1 (1) represents a black (white) bar. -Position detection The approximate position of each digit segment of the barcode is computed.

-Reading decoded value To read the value of the digit, we simply compare the intensity I(n) within the segment with the models and pick the model that best fits the data. Length of the barcode is equal to 95 times the base width, and the first three bars are guard bars. Dynamic programming can be used to minimize the cost function C over the space of sequences.

IMPLEMENTATIONS AND TESTING  Matlab  Symbian OS MATLAB IMPLEMENTATION Localization: Assumptions: -User is holding the cell phone -Bars are vertical in the image -Produces good results when the phone is rotated at an angle. Localization comprises two steps: *Segmentation of the barcode image *Determination of the horizontal scanline segment used for decoding.

The localization algorithm assumes that the cell phone is held in a vertical fashion. However, it proves robust to a large deviation from the ideal setup. An image of a barcode at 37 degreesComputed energy map A image of barcode at 45 degrees Computed energy map

Decoding:  Scan lines with end points are taken as input.  Performance of the algorithm is accessed by testing on variety of images. 1) Dataset-1 -Images at high resolution (1,024 x768) -Taken by Nokia N95 cell phone -Autofocus capability 2) Dataset-2 -Images at resolution (640x480) -Taken by Nokia N95 cell phone -Highly compressed in JPEG 3) Dataset-3 -Images at high resolution (1,152x864) -Taken with an older Nokia 7610 cell phone -Fixed focus All three data sets have multiple pictures of several barcodes, taken from different distances and in different conditions.

Example of barcodes correctly decoded by our algorithm from the three data sets The crop outs in the first row are from 1,024 x768 images (data set-1) The crop outs in the second row are from 640 x480 images (data set-2) The crop outs in the third row from 1,152 x864 images (data set 3)  These crop outs are the output of the localization algorithm.  Failure was due to incorrect initial localization.  This decodes barcodes even when the image quality is extremely poor, as can be appreciated by zooming in on the images.

IMPORTANT DETAILS GATHERED 1) The energy in the area corresponding to the barcode is low for angles from 45 degrees and above. 1) Scanline intersect all of the bars, from the left to the right guard bars. 1) The scanline was correctly extracted for angles up to 30 degrees. 1) Manual selection of end points oL and oR and compared them with the output of our localization algorithm. 1) The execution time is only a function of the size of the image.

SYMBIAN IMPLEMENTATION Implemented in Symbian and tested it on a Nokia N95 8 GB device using VGA (640 x480) still images. Nokia N95 cell phone Localization: Localization is same as that in Matlab.

Decoding: Features noticed:  When their occur a failure at reading the barcode, the process can be quickly repeated.  Location or distance of the barcode is not depending, as long as the resolution is sufficient for decoding.  Our implementation can successfully localize and read barcodes that are 2.5 cm wide when they are imaged from up to 30 cm away.  Barcodes that are 4 cm wide can be decoded from up to 45 cm.  Advantage is not to place the phone in close proximity to the barcode

MATLAB SYMBIAN OS LOCALIZATION Segmentation Segmentation Scanline determination Polygon determination DECODING Scanline is taken and Polygon determination anddecode TIME seconds milliseconds PERFORMANCE HighHigh COMPARISON

CONCLUSION By this method we can decode barcode (localization and reading) images that are taken by mobile phones which are blurred, noisy, and with low resolution. Merits  Highly accurate  No binarization is needed  Reduce the risk of errors  Use deformable templates to represent each digit of the barcode  Improved performance  Datasets implemented are given as public  Reading can be done in less than 0.5 seconds(Localization+Decoding)

Demerits  Platform dependent  Apple iOS is not included  Problem occur when phone battery goes off  Handset diversity  Continues video streaming is needed for processing  Pressing keys

FUTURE SCOPE 1) Use in shops for barcode reading 2) Situable for mobile vision applications 3) Easy to handle 4) Reduce the hardware

THANK YOU…!