PICTORIAL BARCODING USING SNAPTAG BY SPYDERLYNK LLC.

advertisement
PICTORIAL BARCODING USING
SNAPTAG BY SPYDERLYNK LLC.
B Y J O N AT H A N P R I TC H A R D
OUTLINE
What is SnapTag?
Project Goals and Assumptions
Concepts Utilized
Hough Circular Transform
Hu Moment Invariants
Arithmetic Coding
Results
Future Work
WHAT IS SNAPTAG?
Proprietary 2D barcode developed by SpyderLync LLC
Created as a replacement for QR codes for marketing
applications
Source: http://www.spyderlynk.com/portfolio-item/orbit/
Code is a combination of the company logo and the
code ring around the logo
QR CODE VS. SNAPTAG
QR Code
• Mostly meaningless
to human observers
SnapTag
• Logo carries meaning
for human observers
QR CODE VS. SNAPTAG
QR Code
SnapTag
• Relatively simple to
recognize
• More complex to
recognize
• Information encoded
in binary sequences
• Information encoded in
logo and code ring, not
directly in binary
• General Use
• Integrated with
SpyderLynk ‘marketing
engagement’ platform
• Open source
• Proprietary
PROJECT GOALS AND ASSUMPTIONS
• Create an algorithm to ‘decode’ SnapTags
• Since SnapTag platform is proprietary, find
a consistent way to receive the same code
from the same tag.
• Algorithm should be robust to changes in
scale and rotation
• SnapTags taken from online sources
• All tags observed have minimal noise
CONCEPTS UTILIZED
Hough Circular Transform
Locate center and radius of SnapTag coding
ring
Hu Moment Invariants
 Characterize logo inside of SnapTag using only
a few numbers
 Invariant to scale and rotation
Arithmetic Coding
Decode ring around logo consistently
HOUGH CIRCULAR TRANSFORM
•
•
Same premise as the linear Hough transform
Edge points vote for a circular center at a given
radius
•
Light Gaussian blur added to image to smooth
out circles before detection.
Source: T.J. Atherton and D.J. Kerbyson, (1993), The Coherent Circle Hough Transform. British Machine Vision Conference
RESULT OF HOUGH CIRCULAR TRANSFORM
• Gives both the radius and the center of the
detected circle.
• If multiple circles are detected, use the one
with the largest radius
• Extremely useful since all snap tags have the
same proportions and structure.
HU MOMENT INVARIANTS
Image Moment
Normalized Moment Invariants
Normalized Moment
Issues:
1.) In practice, the invariants ironically do vary because quantization error changes
the image function
2.) Some invariants are affected more by rotation, and others more by scaling.
Source: Z. Huang and J. Leng, (2010), Analysis of Hu's Moment Invariants on Image Scaling and Rotation. Proceedings of 2010 2nd
International Conference on Computer Engineering and Technology (ICCET). (pp. 476-480)
ARITHMETIC CODING
My algorithm uses 3 bits
(8 possible codes) per arc length.
Individual arcs
Arc lengths
1.0
0.0
10
10
Arc lengths are normalized
by the circumference of the ring
divided by the number of arcs in
the ring. Only decimal portion is used.
This method has a tolerance of
1/8 = 0.125
01
00
Output Code:
10010010
Source: http://www.arl.wustl.edu/projects/fpx/cse535/projects/projects.html
Can be made orientation invariant
by shifting the largest detected arc
to the first position.
Issues:
1.) Two longest arc lengths of same or
similar length can confuse the decoder
2.) Normalized arc lengths that are close to
multiples of 0.125 are easily misinterpreted
RESULTS – VARYING SCALE
Logo
75% (r = 94 pix)
Scale
50% (r = 63 pix)
25% (r = 31 pix)
Bud Light
Caress
Coke Zero
Dasani
Facebook
Ocean Spray
Sprint
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Code
Code
Code
Code
Code
Code
Code
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Code
Code
Code
Code
Code
Code
Code
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Code
Code
Code
Code
Code
Code
Code
Using a weighted combination of the 1st, 6th, and 7th moment invariants for logo detection
75%
50%
25%
RESULTS – VARYING ORIENTATION
Logo
25 deg
Rotation 45 deg
125 deg
Bud Light
Caress
Coke Zero
Dasani
Facebook
Ocean Spray
Sprint
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Code
Code
Code
Code
Code
Code
Code
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Code
Code
Code
Code
Code
Code
Code
Logo
Logo
Logo
Logo
Logo
Logo
Logo
Code
Code
Code
Code
Code
Code
Code
Using a weighted combination of the 1st and 2nd moment invariants for logo detection
25 degrees
45 degrees
125 degrees
CONTINUING AND FUTURE WORK
• Attempt to make algorithm capable of decoding a tag
with a simultaneous scaling and orientation shift.
• Already doable for ring decoding, but recognizing the logo will take
experimentation with different weighting/combinations of Hu moment
invariants.
• Currently works for small changes in orientation and rotation
• Test algorithm on more images taken with a camera.
• Investigate using SIFT for logo recognition.
• Create an ring encoder and attempt to create more
precise codes (4-bits per arc length).
• Use a Modified Hough Transform to look for, and
correct, circles affected by out of plane rotation.
i.e. Ellipses
QUESTIONS?
Download