• Keine Ergebnisse gefunden

Automatische Analyse von 2D-Barcodes

N/A
N/A
Protected

Academic year: 2022

Aktie "Automatische Analyse von 2D-Barcodes"

Copied!
21
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

2D-Barcodes

Uberblick¨

Automatische Analyse von 2D-Barcodes

Institut f ¨ur Informatik Mustererkennung und Bioinformatik

Angewandte Bildverarbeitung, SS 2007

(2)

2D-Barcodes

Uberblick¨

Uberblick ¨

1 Grundideen von 2D-Barcodes

2 Lokalisierung im Bild

3 Code-Segmentierung

4 Ausblick

(3)

2D-Barcodes

2D-Barcodes

Lokalisierung Segmentier.

Ausblick

2D-Barcodes

(4)

2D-Barcodes

2D-Barcodes

Lokalisierung Segmentier.

Ausblick

Allgemeines

2D-Barcodes sind Erweiterungen von 1D-Codes Kodierung von mehr Informationen

(mehrere tausend Zeichen)

Gr ¨oße skaliert mit Informationsgehalt

kleine Fl ¨ache, zu klein f ¨ur 1D-Code integrierte Fehlerdetektion/-korrektur f ¨ur hohe Robustheit

es gibt zahllose Codes, die meisten sind patentiert ArrayCode

AztecCode Maxi-/Minicode Ultracode

DataStrip Code DataMatrix PDF 417

· · ·

(5)

2D-Barcodes

2D-Barcodes

Lokalisierung Segmentier.

Ausblick

Klassifizierung

3 große Klassen von Codes:

Multi-Row-Codes

Kombination von 1D-Codes Codes mit Lokalisierungsmuster – enthalten ein fest definiertes Symbol Codes ohne Lokalisierungsmuster – Lokalisierung nur anhand interner Struktur Detektion und Dekodierung damit grunds ¨atzlich codeabh ¨angig, aber es gibt ¨Uberschneidungen

(6)

2D-Barcodes

2D-Barcodes

Lokalisierung Segmentier.

Ausblick

Barcode-Dekodierung: Systemaufbau

Lokalisierung Bildverbesserung

Dekodierung Segmentierung

Bildverbesserung:

Ausgleich von Unsch ¨arfen, Lichtartefakten Lokalisierung:

Detektion der Coderegion im Bild (muss robust sein gegen Rauschen, Verzerrungen, Rotationen. . . ) Segmentierung:

Detektion der einzelnenModuleund ihrer Intensit ¨ats- bzw. Farbwerte

Dekodierung:

Auslesen der enthaltenen Information

(7)

2D-Barcodes

2D-Barcodes

Lokalisierung Segmentier.

Ausblick

Bemerkungen & Probleme

Lokalisierung und Segmentierung k ¨onnen verzahnt sein bei Schwarz-Weiss-Codes kommt Binarisierung hinzu Algorithmik muss mit Problemen umgehen k ¨onnen:

variierende Gr ¨oße und Aufl ¨osung perspektivische Verzerrungen Ziel ist zumeist hohe Geschwindigkeit (trotz schlechter Bildqualit ¨at!)

⇒aktuelle Systeme schaffen≈15 Bilder/sec

(8)

2D-Barcodes

2D-Barcodes Lokalisierung

Segmentier.

Ausblick

Lokalisierung

Ziel:

Finden der Coderegion (z.B. Bounding Box) im Bild Problemkomplexit ¨at skaliert mit Bildstruktur. . .

Code vor weißem oder buntem Hintergrund?

Mehr als ein Code im Bild?

Wie groß ist der/sind die Code(s)?

Allgemeiner Ansatz:

”Coderegion ist gekennzeichnet durch hohen Anteil an Schwarz- bzw. Grau-Weiss- ¨Uberg ¨angen.”

(9)

2D-Barcodes

2D-Barcodes Lokalisierung

Segmentier.

Ausblick

Verfahren zur Lokalisation

1 Region-Growing

2 Binarisierung und morphologische Analyse

⇒zur Lokalisation der Coderegion

3 Auswertung des Gradientenbildes

⇒Lokalisation und Bestimmung der Orientierung

⇒rudiment ¨are Unterscheidung verschiedener Codes

4 Hough-Transformation

(10)

2D-Barcodes

2D-Barcodes Lokalisierung

Segmentier.

Ausblick

Region-Growing

Ziel: Finde den Umriss der Region

Achtung: die Kontur existiert nur virtuell!!!

(einfache) Ans ¨atze:

a) falls Code in normalisierter, achsenparalleler Lage

Projektionshistogramme b) sonst Region-Growing:

1 finde einen Startpixel (”Seed”) innerhalb des Codes 2 suche in definierter Nachbarschaft weitere Codepixel,

die mit dem Startpixel verbunden sind

3 berechne konvexe H ¨ulle aller gefundenen Pixel

4 suche Pixel in der H ¨ulle, die noch nicht zur Region geh ¨oren und mache mit 2. weiter

5 wenn es keine weiteren Pixel mehr gibt oder H ¨ulle stabil ist:

berechne 4-Seiten-Polygon, das konvexe H ¨ulle approximiert

(11)

2D-Barcodes

2D-Barcodes Lokalisierung

Segmentier.

Ausblick

Morphologische Analyse

Extraktion (des Umrisses) der Coderegion Algorithmus:

binarisiere das Bild (st ¨uckweise), z.B. mit Otsu:

”Maximiere Varianz zwischen den Gruppen bei minimaler Varianz innerhalb der Gruppen.”

σintra = P(g1)

t

X

i=1

(iµ1)2+P(g2)

T

X

i=t+1

(iµ2)2 σinter = P(g1)(µ1µ)2+P(g2)(µ2µ)2

maxσinter

σintra

Dilatation/Closing bis alle L ¨ucken geschlossen sind

(12)

2D-Barcodes

2D-Barcodes Lokalisierung

Segmentier.

Ausblick

Gradientenbild-Analyse I

2D-Barcodes weisen spezifische Vorzugsrichtungen f ¨ur die Gradienten im Bild auf

Algorithmus:

berechne lokale Gradienten mit Sobel-Filter

Sx= 2 4

−1 0 1

−2 0 2

−1 0 1 3 5 , Sy=

2 4

1 2 1

0 0 0

−1 −2 −1 3 5

berechne lokale Gradientenst ¨arkeGund -richtungΦ

G= q

Sx(x,y)2+Sy(x,y)2 , Φ =arctanSy

Sx

zerlege das Bild in disjunkte Bl ¨ocke

bestimme pro Block B PixelPGmit hohem GradientenG> θB berechne pro Block das Histogramm der

Gradientenrichtungen f ¨ur diePG

gruppiere Bl ¨ocke mit ¨ahnlichen Histogrammen zu Regionen

(13)

2D-Barcodes

2D-Barcodes Lokalisierung

Segmentier.

Ausblick

Gradientenbild-Analyse II

Histogramm-Analyse:

unimodal: 1D-Code, PDF

bimodal: Datamatrix-Code

sonst: Maxicode

aus bimodalen Histogrammen kann Orientierung (grob) gesch ¨atzt werden

⇒Hauptgradientenrichtungen entsprechen

(14)

2D-Barcodes

2D-Barcodes Lokalisierung

Segmentier.

Ausblick

Hough-Transformation

Ziel: Extraktion der Vorzugsgeraden im Code

⇒integrierte Segmentierung der ”Module”

Algorithmus:

berechne Gradientenbild

suche Pixel mit großem Gradientenbetrag Houghtransformation dieser Pixel

Maxima im Hough-Array geben Geraden an

max. Ausdehnung pro Gerade legt Region fest falls Bild des Codes fronto-parallel aufgenommen wurde gibt es zwei Scharen paralleler Geraden

bei perspektivischen Verzerrungen Fluchtpunkt-Kriterium

(15)

2D-Barcodes

2D-Barcodes Lokalisierung Segmentier.

Ausblick

Segmentierung der Module

Ziel: Detektion der Module und ihrer Farbwerte Segmentierung ist st ¨arker Code-abh ¨angig

Maxicode:

Zerlegung des Codes in Strukturprimitiva wie Punkte, Liniensegmente und B ¨ogen

Datamatrix:

finde orthogonales Raster

(16)

2D-Barcodes

2D-Barcodes Lokalisierung Segmentier.

Ausblick

Maxicode-Segmentierung

Algorithmus:

detektiere Kantenpixel (Sobel, etc.) Chaining mit Hystereseschwellwert und Non-Maximum-Suppression

ein Pixel breite, markante Konturverl ¨aufe Extraktion von Segmenten und B ¨ogen

Anwendung von Regeln wie. . .

”Suche Punkt im Zentrum konzentrischer B ¨ogen.”

(17)

2D-Barcodes

2D-Barcodes Lokalisierung Segmentier.

Ausblick

Datamatrix-Segmentierung

gesucht ist das Raster, d.h. die Breite und H ¨ohe der einzelnen Module

Ans ¨atze:

Analyse der Verteilung der Schwarz-Weiß- ¨Uberg ¨ange und Suche nach passender Modulgr ¨oße

gemeinsamer Teiler, der ¨aquidistante Zerlegung erlaubt expliziteCorner-Detectionkombiniert mit

Hough-Transformation (auch f ¨ur Lokalisierung)

finde Eckpunkte des Rasters und leite Modulgr ¨oße ab

Quasi-Standard f ¨ur Corner-Detection: Harris-Detektor

(18)

2D-Barcodes

2D-Barcodes Lokalisierung Segmentier.

Ausblick

Harris-Corners I

der Corner-Detektor detektiert nicht nur ”Corners”

⇒”Corners” sind alle lokal markanten Punkte Auswertung der lokalen Autokorrelations-Funktion Ausgangspunkt: Moravec’s Detektor

gegeben ein Operatorfenster im Bild

analysiere Grauwert ¨anderungen unter Verschiebung a) falls Umgebung homogen, nur geringe ¨Anderungen b) falls Kante, geringe ¨Anderungen entlang der Kante und

große ¨Anderungen orthogonal dazu

c) falls (isolierter) Eckpunkt, große ¨Anderungen in allen Richtungen

⇒E(x,y) =X

u,v

wu,v · |Ix+u,y+v−Iu,v|2

Corner-Detection durch Suche nach lokalen Maxima in E (oberhalb eines Schwellwertes)

(19)

2D-Barcodes

2D-Barcodes Lokalisierung Segmentier.

Ausblick

Harris-Corners II

Nachteile von Moravec:

Ansatz ist anisotropisch, d.h. richtungsabh ¨angig

Berechnung ist rauschempfindlich durch Rechteckfenster zu viele Punkte werden gefunden,

weil nur Absolutwert von E z ¨ahlt, aber nicht Varianz

⇒Harris-Detector behebt diese Probleme:

kontinuierliche Ableitungen statt richtungsabh ¨angiger Gauss-Glocke als Operatorfenster

Ber ¨ucksichtigung der lokalen Varianz von E

⇒E(x,y) = (x,y)

A C C B

(x,y)T

A= δ2I

δx2 , B= δ2I

δy2 , C= δ2I δxδy

(20)

2D-Barcodes

2D-Barcodes Lokalisierung Segmentier.

Ausblick

Harris-Corners III

Detektion durch Auswertung der Eigenwerte:

wenn beide ann ¨ahernd 0, ist Punkt uninteressant wenn einer groß und der andere klein, dann Kante wenn beide groß, dann Ecke

vereinfachte Berechnung:

Tr(M) = A+B Det(M) = AB−C2

⇒R = Det−k·Tr2 f ¨ur R gilt:

R0 nahe Ecken R0 nahe Kanten R0 in flachen Regionen

Ecken und Kanten resultieren aus lokalen Minima/Maxima

(21)

2D-Barcodes

2D-Barcodes Lokalisierung Segmentier.

Ausblick

Ausblick

Einfluss der Kamera bislang unber ¨ucksichtigt

alle Ans ¨atze bislang auf Fronto-Parallelit ¨at ausgelegt

⇒Was passiert, wenn das nicht gilt?

daher demn ¨achst

Kamerageometrie und Kalibrierung Linsenverzerrungen

Bildtransformationen Korrektur der Perspektive

Referenzen

ÄHNLICHE DOKUMENTE

Bildquelle: William Stallings, „Data and Computer Communications“, Ninth Edition, 2011..

Die IBAN beginnt mit einem zweibuchstabigen Länderkennzeichen, dann folgt eine zweistellige Kontrollzahl und danach die eigentliche Bank- und Kontoinformation, die in Deutschland

Die IBAN beginnt mit einem zweibuchstabigen Länderkennzeichen, dann folgt eine zweistellige Kontrollzahl und danach die eigentliche Bank- und Kontoinformation, die in Deutschland

User Action: If the failure continues, contact the system programmer or source node support personnel to correct the error in the source node.. The session must be re-initiated

Mit dem Hauptsatz f¨ur endlich erzeugte Moduln ¨uber Hauptidealringen (Satz... Es

Ein gewisser Sch¨onheitsmangel des Verfahrens von Feng und Rao ist, daß nicht alle Stellen vom Grad eins f¨ur die Auswertung verwendet

The aim is—given a prescribed matrix space and a fixed number as lower bound for the minimum distance—to classify codes which reach the maximum possible size and to improve lower

In particular, by using rank metric codes in different variants, we are able to obtain CDCs that either give improved lower bounds for many parameters, including A 2 (12, 4; 4), A