2D Barcode Recognition in Video
Written by Arik Weizman©


What is a 2D barcode (QR Code)?
Why 2D Barcode?
Project objectives
Challenges
Methods to be used
Assumptions on input data
Road map

What is a 2D barcode (QR Code)?

Wikipedia:

A bar code (also barcode) is a optical machine-readable representation of data. Originally, bar codes represented data in the widths (lines) and the spacings of parallel lines and may be referred to as linear or 1D ( 1 dimensional) bar codes or symbologies. But they also come in patterns of squares, dots, hexagons and other geometric patterns within images termed 2D (2 dimensional) matrix codes or symbologies. It is important to note that both the patterns (lines, squares, dots, etc.) and spacings constitute the data encodation schema.

 

QR Code

QR Code on Wikipedia

Why 2D barcode?

  • 2D barcodes have unique symbols which help the automated reader to determine the barcode's orientation.
  • 2D barcodes are mostly being read using a camera phone. It is very important that the recognition process
    will be fast and interactive - the preferred way: online video processing (video vs. stills images)

marker

Position Marker

Project objectives

  • Barcodes Recognition: Finding the location of each barcode in video frame and marking it.
  • Tracking: Tracking each barcode (each group of 3 markers) throughout the video
  • Objects Tracking: The above objectives will ultimatly lead to an object recognition by tracking the 2D barcode attached to it

Challenges

  • Markers Recognition: The markers can be in any size, rotation and skew.
  • Fast Recognition: Detect where a barcode is possibaly located without scanning the whole frame
  • Multi - Recognition: Numerous barcodes can appear in the video image.
  • Markers Association: Associating groups of markers to a single barcode.

Methods to be used

  • Initial Scan: The markers will be recognized by using correlation and/or other ways
  • Fast Scan & Tracking: The markers will be recognized by using redundant data from previous frame(s) and by location prediction.
  • Barcode Arrival Detection: Once a barcode is detected, a presence of a new barcode will be checked only when the changes from previous frames will exceed a certain threshold.

Assumptions on input data

  • The video is well illuminated.
  • No more than two concurrent barcodes in frame.
  • Barcode is reasonably close to the camera and not too skewed.

Road map

  • Detecting markers' location on a single frame
  • Detecting markers' location on a single frame using data from previous one(s)
  • Detecting if the markers are associated with a single barcode
  • Marking the barcode and uniquely identifying it
  • Detecting which parts of the image can be skipped
  • Detecting if additional barcode has entered the frame
  • Recognizing 2 different barcodes on each frame