Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND SYSTEM OR DEVICE FOR RECOGNIZING AN OBJECT IN AN ELECTRONIC IMAGE
Document Type and Number:
WIPO Patent Application WO/2022/018019
Kind Code:
A1
Abstract:
The invention relates to a method for machine vision and image recognition, for recognizing an object in an electronic image, which is captured by means of an optical sensor (1). According to the invention, a reference image of the object to be recognized is taught in a learning phase (L) and is compared with the image of the scene in a working phase (A); the pattern comparison (5) between the object and the scene is carried out by means of a modified census transform (4) with determination of maximum (6), and, for a positive statement (8), the degree of correspondence must exceed a threshold value (7).

Inventors:
ENGEL MICHAEL (DE)
Application Number:
PCT/EP2021/070133
Publication Date:
January 27, 2022
Filing Date:
July 19, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
VISION COMPONENTS GES FUER BILDVERARBEITUNGSSYSTEME MBH (DE)
International Classes:
G06K9/00; G06K9/62; G06T7/00
Foreign References:
US20150169638A12015-06-18
EP3118812A12017-01-18
EP3258442A12017-12-20
US20150003736A12015-01-01
Other References:
"Chapter 1: Vision, the challenge ED - Davies E R", 31 December 2018 (2018-12-31), XP009530806, ISBN: 978-0-12-809284-2, Retrieved from the Internet [retrieved on 20211021]
SZELISKI RICHARD: "Computer Vision", COMPUTER VISION: ALGORITHMS AND APPLICATIONS, 3 September 2010 (2010-09-03), London [u.a.], XP055853782, ISBN: 978-1-84882-934-3, Retrieved from the Internet [retrieved on 20211021]
SPERKER HANS-CHRISTIAN ET AL: "Feature-based object recognition - A case study for car model detec", 2013 11TH INTERNATIONAL WORKSHOP ON CONTENT-BASED MULTIMEDIA INDEXING (CBMI), IEEE, 17 June 2013 (2013-06-17), pages 127 - 130, XP032474484, ISSN: 1949-3983, ISBN: 978-1-4799-0955-1, [retrieved on 20130807], DOI: 10.1109/CBMI.2013.6576568
AHLBERG ET AL.: "The genetic algorithm census transform: evaluation of census windows of different size and level of sparseness through hardware in-the-loop training", JOURNAL OF REAL-TIME IMAGE PROCESSING, vol. 18, 2021, pages 539 - 559, XP037460603, DOI: 10.1007/s11554-020-00993-w
BERNHARD FRÖBAANDREAS ERNST: "Face Detection with the Modified Census Transform", PROCEEDINGS OF THE SIXTH IEEE INTERNATIONAL CONFERENCE ON AUTOMATIC FACE AND GESTURE RECOGNITION (FGR'04, 2004
Attorney, Agent or Firm:
JANY, Peter (DE)
Download PDF:
Claims:
Patentansprüche

1. Verfahren zum maschinellen Sehen und Bilderkennen für das Erken nen eines Objektes in einem elektronischen Bild, bei dem mittels eines optischen Sensors (1) eine Szene aufgenommen und ein elek tronisches Bild der Szene (9) erzeugt wird und mittels eines Korrela tionsverfahrens das elektronische Bild der Szene (9) auf das Vorhan densein des Objektes überprüft wird, indem mit dem Korrelations verfahren das elektronische Bild der Szene (9) mit einem Referenz bild des Objektes verglichen wird, umfassend eine Lernphase (L), in der ein Referenzbild des zu erkennenden Objektes mittels einer modifizierten Census-Transformation (4) transformiert und binarisiert wird, indem Pixel des transformierten Referenzbil des mit dem aus diesen Pixeln gebildeten Mittelwert (avg) des transformierten Referenzbildes verglichen werden und der Wert eines Pixels auf 1 gesetzt wird, wenn es größer als der Mittelwert (avg) ist, und auf 0 gesetzt wird, wenn es klei ner als der Mittelwert (avg) ist, und das Ergebnis dieser Transformation in einem transformierten, binarisierten Referenz vektor (R) abgespeichert wird, und umfassend eine Arbeitsphase (A), in der mittels eines optischen Sensors (1) ein Bild einer Szene (9) aufgenommen wird, die auf das Vorhandensein des zu erken nenden Objektes geprüft werden soll, das Bild der Szene (9) oder Bildausschnitte des Bildes mittels einer modifizierten Census-Transformation (4) transformiert und binarisiert werden, indem Pixel des transformierten Bil des oder Bildausschnittes mit dem aus diesen Pixeln gebilde- ten Mittelwert (avg) des transformierten Bildes bzw. Bildaus schnitts verglichen werden, wobei der Wert eines Pixels auf 1 gesetzt wird, wenn es größer als der Mittelwert (avg) ist, und auf 0 gesetzt wird, wenn es kleiner als der Mittelwert (avg) ist, und die Ergebnisse dieser Szenentransformation als transfor mierte, binarisierte Szenevektoren mit dem transformierten, binarisierten Referenz vektor (R) verglichen werden, indem die Hamming-Distanzen zwischen den transformierten, bina- risierten Szenevektoren und dem transformierten, binarisier ten Referenz vektor (R) als Maß der Übereinstimmung bestimmt werden und derjenige transformierte, binarisierte Szenevektor bestimmt wird, der die höchste Übereinstim mung mit dem transformierten, binarisierten Referenz vektor (R) aufweist, und das zu erkennende Objekt als in der Szene erkannt klas sifiziert wird, wenn der Grad der Übereinstimmung des trans formierten, binarisierten Szenevektors, der die höchste Über einstimmung mit dem transformierten, binarisierten Refe- renzvektor (R) aufweist, einen vorgegebenen Schwellwert (7) übersteigt.

2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass in der Lernphase (L) das Referenzbild des zu erkennenden Objektes mittels eines optischen Sensors (1) aufgenommen wird.

3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass in der Lernphase (L) das Referenzbild des zu erkennenden Objektes theoretisch berechnet oder das Referenzbild des zu erkennenden Objektes oder der transformierte, binarisierte Referenz vektor (R) aus einer Datenbank eingelesen wird. 4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass in der Lernphase (L) jeweils ein Referenzbild mehrerer zu erkennender Objekte mittels einer modifizierten Census- Transformation (4) transformiert und binarisiert wird und die Ergeb- nisse dieser Transformationen jeweils in transformierten, binarisier- ten Referenzvektoren (R) abgespeichert werden, und in der Arbeits phase (A) die Ergebnisse der Szenentransformation als transfor mierte, binarisierte Szenevektoren nacheinander mit den transfor mierten, binarisierten Referenzvektoren (R) verglichen werden, um die mehreren zu erkennenden Objekte in der Szene zu erkennen.

5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass in der Lernphase (L) jeweils ein Referenzbild mehrerer zu erkennender Objekte mittels einer modifizierten Census- Transformation (4) transformiert und binarisiert wird und die Ergeb nisse dieser Transformationen jeweils in transformierten, binarisier ten Referenzvektoren (R) abgespeichert werden, und in der Arbeits phase (A) die Ergebnisse der Szenentransformation als transfor mierte, binarisierte Szenevektoren parallel mit den transformierten, binarisierten Referenzvektoren (4) verglichen werden, um gleichzei tig die mehreren zu erkennenden Objekte in der Szene zu erkennen.

6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das von dem optischen Sensor (1) aufgenom- mene Bild der Szene (9) nicht in einem Schritt vollständig auf das

Vorhandensein des Objektes überprüft wird, sondern mittels eines Suchfensters (10), das jeweils einen Bildausschnitt (11) der Szene beinhaltet und das derart über das Bild der Szene (9) geführt wird, dass das Suchfenster (10) das Bild der Szene (9) überstreicht, wobei sequentiell jeweils ein Suchfenster (10) mittels transformierter, bina- risierter Szenevektoren auf das Vorhandensein des Objektes über prüft wird. 7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass das Such fenster (10) eine Größe zwischen 8 x 8 und 128 x 128, vorzugsweise von 48 x 48 Pixeln hat.

8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Anzahl der Pixel in dem von dem optischen Sensor (1) aufgenommenen Bild der Szene (9) reduziert wird, bevor die transformierten, binarisierten Szenevektoren gebildet werden.

9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass aus dem von dem optischen Sensor (1) aufgenommenen Bild der Szene ein Teilbild ausgewählt wird, wobei nur das Teilbild auf das Vorhanden sein des Objektes überprüft wird und die anderen Teile der Szene unberücksichtigt bleiben.

10. Verfahren nach einem der Ansprüche 8 und 9, dadurch gekennzeich net, dass das von dem optischen Sensor (1) aufgenommene Bild der Szene (9) in der Auflösung verringert wird.

11. Verfahren nach dem vorhergehenden Anspruch, dadurch gekenn zeichnet, dass das von dem optischen Sensor (1) aufgenommene Bild der Szene (9) durch ein Binning oder eine Bildpyramide in der Auflösung verringert wird.

12. Verfahren nach einem der Ansprüche 8 bis 11, dadurch gekennzeich net, dass das von dem optischen Sensor (1) aufgenommene Bild der Szene (9) durch Unterabtastung verarbeitet wird, wobei nur einzelne bzw. manche Pixel des Bildes der Szene (9) ausgelesen und zu trans- formierten, binarisierten Szenevektoren verarbeitet und die anderen ausgelassen werden. 13. Verfahren nach dem vorhergehenden Anspruch, dadurch gekenn zeichnet, dass die Pixel des Bildes der Szene (9), aus denen transfor mierte, binarisierte Szenevektoren gebildet werden, nach einem fes ten Schema oder nach einem zufälligen oder pseudozufälligen Schema, bevorzugt unter Verwendung einer Zufallsfolge aus phy sikalischem Rauschen ausgewählt werden.

14. Verfahren nach einem der Ansprüche 12 und 13, dadurch gekenn zeichnet, dass zwischen 5 % und 50 %, bevorzugt zwischen 10 % und 40 %, besonders bevorzugt zwischen 20 % und 30 % der Pixel des Bildes der Szene (9) ausgelesen und zu transformierten, binari- sierten Szenevektoren verarbeitet und die anderen Pixel ausgelassen werden. 15. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass es in zwei Stufen durchgeführt wird, wobei in der ersten Stufe das Objekt mit einem Verfahren nach einem der vorhergehenden Ansprüche schnell gesucht und erkannt wird und in der zweiten Stufe das in der ersten Stufe gefundene Ergebnis verifi- ziert wird, indem in dem Bereich des Bildes der Szene (9), in dem in der ersten Stufe das Objekt erkannt wurde, zusätzlich eine genauere Objekterkennung durchgeführt wird.

16. Verfahren nach Anspruch 15, dadurch gekennzeichnet, dass es in der ersten Stufe mit den Merkmalen des Anspruch 8 durchgeführt wird, und in der zweiten Stufe die genauere Objekterkennung mit einem Verfahren nach einem der vorhergehenden Ansprüche erfolgt, wobei die Anzahl der Pixel in dem von dem optischen Sensor (1) aufge nommenen Bild der Szene (9) nicht oder in geringerem Umfang als in der ersten Stufe reduziert wird, bevor die transformierten, binari- sierten Szenevektoren gebildet werden. 17. Verfahren nach Anspruch 15, dadurch gekennzeichnet, dass in der zweiten Stufe die genauere Objekterkennung mittels eines gebräuch lichen, aus dem Stand der Technik bekannten Verfahrens zum maschinellen Sehen und Bilderkennen für das Erkennen eines Objek- tes in einem elektronischen Bild durchgeführt wird.

18. Anwendung eines Verfahrens nach einem der vorhergehenden Ansprüche auf dem Gebiet des maschinellen Sehens in einer indus triellen Umgebung, Fertigung oder Anwendung, insbesondere zum Erkennen des Vorhandenseins eines Objektes (Musters), zum Erken nen der Position eines Objektes, zum Erkennen der Drehlage eines Objektes oder zum Durchführen eines Mustervergleiches.

19. Computerprogrammprodukt, insbesondere ein computerlesbares digitales Speichermedium, mit gespeicherten, computerlesbaren, computerausführbaren Anweisungen zum Durchführen eines Verfah rens nach einem der vorhergehenden Ansprüche, das heißt mit Anweisungen, die, wenn sie in einen Prozessor, einen Computer oder ein Computernetzwerk geladen wurden und ausgeführt werden, den Prozessor, den Computer oder das Computernetzwerk veranlassen,

Verfahrensschritte und Operationen gemäß einem der vorhergehen den Ansprüche durchzuführen.

20. System oder Vorrichtung zum Erkennen eines Objektes in einem elektronischen Bild einer Szene (9), umfassend einen optischen Sen sor (1) zum Aufnehmen eines elektronischen Bildes einer Szene (9) und eine digitale Datenverarbeitungseinheit zum Bearbeiten von Bilddaten, dadurch gekennzeichnet, dass das System bzw. die Vor richtung ausgebildet ist, ein Verfahren gemäß einem der vorher- gehenden Ansprüche durchzuführen. 21. Vorrichtung nach dem vorhergehenden Anspruch, dadurch gekenn zeichnet, dass die Vorrichtung ein Bildverarbeitungssensor ist, der auf einer Platine integriert zusammengefasst einen optischen Sensor (1) für das Aufnehmen eines elektronischen Bildes einer Szene (9) und eine digitale Datenverarbeitungseinheit zum Bearbeiten von

Bilddaten gemäß einem der vorhergehenden Ansprüche umfasst.

22. Vorrichtung nach dem vorhergehenden Anspruch, dadurch gekenn zeichnet, dass die digitale Datenverarbeitungseinheit ein FPGA- Modul, einen Prozessor, einen Speicher und eine Peripherie-Schnitt stelle (28) umfasst.

Description:
Verfahren und System bzw. Vorrichtung zum Erkennen eines Objektes in einem elektronischen Bild

Die Erfindung betrifft ein Verfahren und ein System bzw. eine Vorrichtung zum maschinellen Sehen und Bilderkennen für das Erkennen eines Objek tes in einem elektronischen Bild. Sie bezieht sich auf das Gebiet der Mustererkennung (englisch pattern recognition), bei der allgemein in einer Menge von Daten Regelmäßigkeiten, Wiederholungen, Ähnlichkeiten oder Gesetzmäßigkeiten erkannt werden müssen. Typische Beispiele für die Anwendungsgebiete einer Mustererkennung sind Spracherkennung, Text erkennung und Gesichtserkennung. Die Mustererkennung ist auch für all- gemeinere Gebiete wie die Künstliche Intelligenz oder das Data-Mining von zentraler Bedeutung.

Ein Mustererkennungsprozess lässt sich in mehrere Teilschritte zerlegen, bei denen am Anfang die Erfassung und am Ende eine ermittelte Klassifi- kation stehen. Bei der Erfassung werden Daten oder Signale mittels Sen soren aufgenommen und digitalisiert, z. B. ein digitales Bild einer Szene mittels einer Digitalkamera aufgenommen. Aus den meist analogen Signa len werden Muster gewonnen, die sich mathematisch in Vektoren, soge nannten Merkmalsvektoren, und Matrizen darstellen lassen. Zur Daten- reduktion und zur Verbesserung der Qualität findet eine Vorverarbeitung der Signale statt. Durch Extraktion von Merkmalen werden die Muster bei der Merkmalsgewinnung anschließend in einen Merkmalsraum transfor- miert. Die Dimension des Merkmalsraums, in dem die Muster nun als Punkte repräsentiert sind, wird bei der Merkmalsreduktion auf die wesent lichen Merkmale beschränkt. Der abschließende Kernschritt ist die Klassifi kation durch einen Klassifikator, der die Merkmale verschiedenen Klassen zuordnet. Das Klassifikationsverfahren kann auf einem Lernvorgang mit Hilfe einer Stichprobe basieren.

Um in den erfassten Signalen oder Daten Muster besser erkennen zu kön nen, findet in der Regel eine Vorverarbeitung statt. Die Entfernung bzw. Verringerung unerwünschter oder irrelevanter Signalbestandteile führt nicht zu einer Reduktion der zu verarbeitenden Daten, dies geschieht erst bei der Merkmalsgewinnung. Mögliche Verfahren der Vorverarbeitung sind unter anderem die Signalmittelung, Anwendung eines Schwellwertes und Normierung. Gewünschte Ergebnisse der Vorverarbeitung sind die Verrin- gerung von Rauschen und die Abbildung auf einen einheitlichen Werte bereich.

Nach der Verbesserung des Musters durch Vorverarbeitung lassen sich aus seinem Signal verschiedene Merkmale gewinnen. Dies geschieht in der Regel empirisch nach durch Intuition und Erfahrung gewonnenen Verfah ren, da es wenige rein analytische Verfahren (z. B. die automatische Merkmalsynthese) gibt. Welche Merkmale wesentlich sind, hängt von der jeweiligen Anwendung ab. Merkmale können aus Symbolen beziehungs weise Symbolketten bestehen oder mit statistischen Verfahren aus ver- schiedenen Skalenniveaus gewonnen werden. Bei den numerischen Ver fahren unterscheidet man Verfahren im Originalbereich und Verfahren im Spektralbereich. Mögliche Merkmale sind beispielsweise Kennzahlen der Verteilungsfunktion, Momente wie Erwartungswert und Varianz, Korre lation und Faltung.

Mittels Transformationen wie der diskreten Fourier-Transformation (DFT) und diskreten Kosinustransformation (DCT) können die ursprünglichen Signalwerte in einen handlicheren Merkmalsraum gebracht werden. Die Grenzen zwischen Verfahren der Merkmalsgewinnung und Merkmals reduktion sind fließend. Da es wünschenswert ist, möglichst wenige, aber dafür umso aussagekräftigere Merkmale zu gewinnen, können Beziehun- gen wie die Kovarianz und der Korrelationskoeffizient zwischen mehreren Merkmalen berücksichtigt werden. Mit der Karhunen-Loeve-Transforma- tion (Hauptachsentransformation) lassen sich Merkmale dekorrelieren.

Zur Reduktion der Merkmale auf die für die Klassifikation wesentlichen wird geprüft, welche Merkmale für die Klassentrennung relevant sind und welche weggelassen werden können. Verfahren der Merkmalsreduktion sind die Varianzanalyse, bei der geprüft wird, ob ein oder mehrere Merk male Trennfähigkeit besitzen, und die Diskriminanzanalyse, bei der durch Kombination von elementaren Merkmalen eine möglichst geringe Zahl trennfähiger nichtelementarer Merkmale gebildet wird.

Der letzte und wesentliche Schritt der Mustererkennung ist die Klassifizie rung der Merkmale in Klassen. Dazu existieren verschiedene Klassifika tionsverfahren.

Die Erfindung richtet sich auf ein Teilgebiet der Mustererkennung (englisch pattern recognition) und der Bildverarbeitung (englisch digital image Pro cessing), nämlich auf die Bilderkennung (englisch image analysis). In der Bilderkennung versucht man, aus einem digitalen Bild durch automatische Bildverarbeitungstechniken, z. B. mittels eines Computers, einer elektri schen Schaltung, einer Digitalkamera oder eines Mobilphones, eine nütz liche Information zu extrahieren. Beispielweise werden zweidimensionale Bilder beim maschinellen Sehen und dreidimensionale Bilder in der Medi zin erkannt. Zu den dabei angewandten Bildverarbeitungstechniken zäh- len u.a. das Erkennen von zwei- und dreidimensionalen Objekten (eng lisch object recognition) und die Segmentierung. Die Segmentierung ist ein Teilgebiet der digitalen Bildverarbeitung und des maschinellen Sehens. Die Erzeugung von inhaltlich zusammenhän genden Regionen durch Zusammenfassung benachbarter Pixel (Bildpunkt in einem zweidimensionalen Bild) oder Voxel (Bildpunkt in einem drei- dimensionalen Gitter) entsprechend einem bestimmten Homogenitätskri terium bezeichnet man als Segmentierung. Dabei werden Objekte in einem Bild segmentiert. Diesen wird eine symbolische Beschreibung zuge wiesen. Die Segmentierung ist im Prozess des maschinellen Sehens übli cherweise der erste Schritt der Bildanalyse, deren Ablauf wie folgt ist: Szene, Bildaufnahme, Bildvorverarbeitung, Segmentierung, Merkmals extraktion, Klassifizierung, Aussage.

Es sind viele Verfahren zur automatischen Segmentierung bekannt. Grundsätzlich werden sie oft in pixel-, kanten- und regionenorientierte Verfahren eingeteilt. Zusätzlich unterscheidet man modellbasierte Verfah ren, bei denen man von einer bestimmten Form der Objekte ausgeht, und texturbasierte Verfahren, bei denen auch eine innere homogene Struktur der Objekte berücksichtigt wird. Die Grenzen zwischen den Verfahren sind oft fließend. Auch kann man verschiedene Verfahren kombinieren, um bessere Ergebnisse zu erzielen.

Von Segmentierung spricht man, wenn auf einem binarisierten Bild ein zelne Objekte abzählbar werden. Jedes segmentierte Objekt wird dann z. B. durch eine Lauflängencodierung der binarisierten Pixel beschrieben. Die Binarisierung ist die Vorstufe einer Segmentierung. Das verbreitetste Binarisierungsverfahren ist sicherlich das Schwell wert- Verfahren. Dieses Verfahren beruht auf einem Schwellwert, der am besten über ein Histo gramm bestimmt wird. Ein Problem vieler Segmentierungsalgorithmen ist die Anfälligkeit für wechselnde Beleuchtung innerhalb des Bildes. Dies kann dazu führen, dass immer nur ein Bildteil korrekt segmentiert wird, in den anderen Bildteilen die Segmentierung aber unbrauchbar ist. Die Erfindung betrifft das Gebiet des maschinellen Sehens bzw. des Bild- erkennens (auch Bildverstehen genannt). Diese Begriffe beschreiben im Allgemeinen die computergestützte Lösung von Aufgabenstellungen, die sich an den Fähigkeiten des menschlichen visuellen Systems orientieren. Typische Aufgaben des maschinellen Sehens sind die Objekterkennung und die Vermessung der geometrischen Struktur von Objekten sowie von Bewegungen (Fremdbewegung, Eigenbewegung). Dabei wird auf Algorith men aus der Bildverarbeitung zurückgegriffen, zum Beispiel die Segmen tierung, und auf Verfahren der Mustererkennung, beispielsweise zur Klas- sifizierung von Objekten. Die Objekterkennung wird vereinfacht auch als Mustererkennung bezeichnet.

Maschinell sehende Systeme und Vorrichtungen werden vor allem in industriellen Herstellungsprozessen in den Bereichen Automatisierungs- technik und Qualitätssicherung eingesetzt. Weitere Einsatzgebiete finden sich zum Beispiel in der Verkehrstechnik - von der einfachen Radarfalle bis hin zum "sehenden Fahrzeug" - und in der Sicherheitstechnik (Zu trittskontrolle, automatische Erkennung von Gefahrensituationen). Dabei werden beispielsweise folgende Aufgabenstellungen gelöst: Produktkon- trolle durch automatische optische Inspektion, Defekterkennung unter Oberflächen, Form- und Maßprüfung, Lageerkennung, Oberflächeninspek tion, Objekterkennung, Schichtdickenmessungen, Vollständigkeitsprüfung.

In industriellen Umgebungen werden Techniken des Bildverstehens einge- setzt. Computer unterstützen beispielsweise die Qualitätskontrolle und vermessen einfache Gegenstände. Die Vorteile können ein höheres Quali tätsniveau, Analyse von Störgrößen und Prozessverbesserung, weniger Ausschuss, Absicherung der Lieferanten kette, Überwachung hochdynami scher Produktionsprozesse und eine Kostenoptimierung sein. Wichtig für ein fehlerfreies Ablaufen der Algorithmen ist dabei im Stand der Technik die weitgehende Einhaltung vorgegebener Umgebungsbedingungen (Ka- meraposition, Beleuchtung, Geschwindigkeit des Fließbandes, Lage der Objekte usw.).

Beispiele für den Einsatz maschinellen Sehens in industriellen Umgebun- gen, Fertigungen und Anwendungen sind:

Auf einem Förderband werden Beilegscheiben kontrolliert, um die Maßhaltigkeit zu überprüfen und die Fehlerquote des Endprodukts um mehrere Zehnerpotenzen zu verkleinern.

Schweißroboter werden an die richtige Schweißposition gesteuert.

Automatische optische Qualitätskontrolle von Werkstücken (zum Beispiel: Ist das Bohrloch an der richtigen Stelle?)

Sortierung und Fehlererkennung von Teilen und Werkstücken, bei spielsweise von Schüttgut, Platinen, Fotodrucken.

In der Fabrikautomation gibt es häufig Vorgänge, bei denen Teile sortiert oder defekte von guten Teilen unterschieden werden müs sen. Beispielsweise ist es beim Zuführen von Teilen mit einem Schwingförderer oft erforderlich, eine oder mehrere Drehlagen von Teilen zu detektieren, um Teile in ungeeigneter Drehlage vor der Verarbeitung auszuschleusen.

Weitere ähnliche Aufgaben gibt es zum Beispiel bei dem Erkennen von Mustern auf Etiketten, etwa um Etiketten zu zählen, die Kor rektheit der Aufschrift zu prüfen oder um Rückschlüsse auf die Schnittkante zwischen zwei Etiketten zu schließen, bei denen diese auseinandergeschnitten werden können. Eine weitere Aufgabenstellung ist das Erkennen von Passermarken (englisch fiducial marker) zum Beispiel auf Leiterplatten oder inte grierten Schaltungen. Es werden elektronische Bauteile und Pas sermarken vermessen, um eine möglichst genaue Bestückung zu erzielen. Bei integrierten Schaltungen wird oft auch nur ein ein deutig identifizierbares Muster auf dem Chip zur Positionsbestim mung (englisch image registration) verwendet.

Für derartige Aufgaben werden zunehmend als abbildende Sensorik elek- ironische Sensoren verwendet, die eine integrierte Bildverarbeitung auf weisen. In der Regel wird mit dieser Art von Bildverarbeitungssensoren ein zweidimensionales Bild der Szene aufgenommen. Dabei ist es wün schenswert, wenn die Erkennung bereits auf Teilen des kompletten Mus ters erfolgen könnte, weil in der Praxis die Teile oft partiell verdeckt sein können.

Ein erstes bekanntes Verfahren für die Objekterkennung basiert auf einer konturbasierten Mustererkennung von Objekten in einem Bild, beispiels weise mittels des Sensors "VISOR® Object" der SensoPart Industriesen- sorik GmbH mit Canny Edge Detektion und generalisierter Hough-Trans- formation. Der Vorteil dieses Verfahrens ist seine hochauflösende, präzise Teilefindung und Lagebestimmung (Position und Drehlage), und zwar weitgehend unabhängig von Drehlage und Skalierung des Objektes. Seine Nachteile sind jedoch, dass es einen hohen apparativen Aufwand und Rechenbedarf erfordert und daher kostenaufwändig und langsam ist.

Ein anderes bekanntes Verfahren für die Objekterkennung basiert auf einem Mustervergleich mittels der normierten Kreuzkorrelation (NCF), bei der für jedes Muster ein Pixel-zu-Pixel Vergleich (Skalarprodukt der Grau- werte von Bild und Muster) durchgeführt werden muss. Dieses Verfahren wird beispielsweise bei Die- und Wafer-Bondern und bei Leiterplatten bestückungsmaschinen angewendet. Es hat die Vorteile, dass es ein jahr- zehntelang angewendeter Standard ist und eine gute Performance für nichtrotierte und nichtskalierte Muster (Objekte) aufweist. Seine Nachteile sind jedoch, dass es ebenfalls einen hohen apparativen Aufwand und Rechenbedarf erfordert und daher kostenaufwändig und langsam ist.

Die bekannten Verfahren, Systeme und Vorrichtungen erfordern allgemein einen hohen apparativen Aufwand und Rechenbedarf und sind somit kostenaufwändig und langsam. In der EP 3 118 812 Al wurde daher ein Sensor mit Hintergrundvergleich vorgeschlagen, bei dem zur Bildverarbei- tung eine Bildreduktion, Glättung, Gradientenberechnung und ein zweistu figes Suchverfahren verwendet werden. Auch in der EP 3 258 442 Al wurde ein Bildverarbeitungssensor mit einer integrierten Bildverarbeitung beschrieben, bei dem Objekte durch den Vergleich mit einem Hinter grundbild erkannt werden. Die dort vorgeschlagenen Lösungen haben den Vorteil, dass sie kostengünstig realisiert werden können und sehr schnell arbeiten. Der Nachteil besteht jedoch darin, dass für die Objekterkennung ein konstanter Hintergrund erforderlich ist, was die praktische Nutzbarkeit einschränkt. Aus der US 2015/0003736 Al ist ein Verfahren zum Extrahieren von 3D- Daten bekannt. Diese Druckschrift bezieht sich auf ein Verfahren zum Auswerten von Stereo-Bildern. Bei derartigen Verfahren werden aus unterschiedlichen Positionen zwei Bilder einer Szene aufgenommen. Die beiden Bilder werden typischerweise zunächst epipolar-korrigiert (rektifi- ziert) und danach kann man die Bilder beider Kameras matchen, indem man sie zeilenweise mittels eines Korrelationsverfahrens vergleicht. Man wählt also ein Muster in dem einen Bild und sucht ein ähnliches in dem anderen. In dem Korrelationsverfahren kann beispielsweise eine Census- Transformation verwendet werden, siehe z. B. C. Ahlberg et al., The gene- tic algorithm census transform: evaluation of census Windows of different size and level of sparseness through hardware in-the-loop training, Journal of Real-Time Image Processing (2021) 18:539-559, published online on 6 July 2020.

In der US 2015/0003736 Al ist das Muster, das zum Matchen der beiden Stereo-Bilder verwendet wird, kein Teil des eines Objektes, das in der Szene aufgenommen wird, sondern hierzu dient ein vorgegebenes, ein faches Muster, beispielsweise ein heller Fleck mit einer zweidimensionalen Gaußschen Intensitätsverteilung, das beim Aufnehmen der Bilder auf die Szene projiziert wird, beispielsweise mittels eines Lasers. Beim Auswerten der Stereo-Bilder werden die Positionen der Punkte dieses projizierten Musters in den Bildern bestimmt. Dabei wird das projizierte Muster mittels der modifizierten Census-Transformation transformiert und abgespeichert. Die beiden Stereo-Bilder werden ebenfalls durch eine modifizierte Census- Transformation transformiert und die transformierten Bilder werden mit dem transformierten Muster verglichen, um es darin zu lokalisieren. Da das projizierte Muster relativ klein oder simpel ist, reichen für den Ver gleich kleine Fenster der Größe 3 x 3, 5 x 5 oder 7 x 7 Pixel aus. Das bekannte Verfahren wird iterativ durchgeführt, um die Punkte des proji zierten Musters sukzessiv in verschiedenen Vergrößerungsstufen der Bi I- der zu finden.

Mit dem aus der US 2015/0003736 Al bekannten Verfahren ist es zwar möglich, die Position eines in eine Szene projizierten Musters in von der Szene aufgenommenen Stereobildern zu bestimmen, aber es ist damit nicht möglich, eine Objekterkennung in einem Bild durchzuführen, d. h. ein elektronisches Bild einer Szene durch maschinelles Sehen und Bild erkennen darauf zu überprüfen, ob ein zu erkennendes Objekt (ein Gegenstand) in der Szene vorhanden ist oder nicht. Mit dem bekannten Verfahren kann nicht vorgegeben werden, welches Objekt in einer durch das Verfahren unveränderten Szene gesucht werden soll, sondern es kann nur die Position eines Musters bestimmt werden, von dem bekannt ist, te) dass es in der aufgenommenen Szene vorhanden ist, weil es zusätzlich in die Szene projiziert wird.

Ausgehend von diesem Stand der Technik liegt der vorliegenden Erfindung die Aufgabe zugrunde, ein Verfahren und ein System bzw. eine Vorrich tung zum maschinellen Sehen und Bilderkennen für das Erkennen eines Objektes in einem elektronischen Bild zu schaffen, mit denen ein Objekt in einem Bild einer Szene mit geringem apparativem Aufwand und Rechenbedarf und daher kostengünstig und schnell erkannt werden kann. Statt eines Objektes kann auch ein Muster erkannt werden. Im Folgenden werden die Begriffe Objekt und Muster bzw. Objekt- und Mustererkennung als gleichbedeutend behandelt.

Diese Aufgabe wird erfindungsgemäß durch ein Verfahren und ein System bzw. eine Vorrichtung mit den Merkmalen der beigefügten unabhängigen Ansprüche gelöst. Bevorzugte Ausgestaltungen, Weiterbildungen und Ver wendungen der Erfindung ergeben sich aus den abhängigen Ansprüchen und der nachfolgenden Beschreibung mit zugehörigen Zeichnungen. Ein erfindungsgemäßes Verfahren zum maschinellen Sehen und Bilderken nen für das Erkennen eines Objektes in einem elektronischen Bild, bei dem mittels eines optischen Sensors eine Szene aufgenommen und ein elektronisches Bild der Szene erzeugt wird und mittels eines Korrelations verfahrens das elektronische Bild der Szene auf das Vorhandensein des Objektes überprüft wird, indem mit dem Korrelationsverfahren das elek tronische Bild der Szene mit einem Referenzbild des Objektes verglichen wird, umfasst eine Lernphase, in der ein Referenzbild des zu erkennenden Objektes mittels einer modifizierten Census-Transformation transformiert und binari- siert wird, indem Pixel des transformierten Referenzbildes mit dem aus diesen Pixeln gebildeten Mittelwert des transformier ten Referenzbildes verglichen werden und der Wert eines Pixels auf 1 gesetzt wird, wenn es größer als der Mittelwert ist, und auf 0 gesetzt wird, wenn es kleiner als der Mittelwert ist, und - das Ergebnis dieser Transformation in einem transformierten, binarisierten Referenz vektor abgespeichert wird, und umfasst eine Arbeitsphase, in der mittels eines optischen Sensors ein Bild einer Szene auf genommen wird, die auf das Vorhandensein des zu erkennen- den Objektes geprüft werden soll, das Bild der Szene oder Bildausschnitte des Bildes mittels einer modifizierten Census-Transformation transformiert und binarisiert werden, indem Pixel des transformierten Bildes oder Bildausschnittes mit dem aus diesen Pixeln gebildeten Mittel- wert des transformierten Bildes bzw. Bildausschnitts vergli chen werden, wobei der Wert eines Pixels auf 1 gesetzt wird, wenn es größer als der Mittelwert ist, und auf 0 gesetzt wird, wenn es kleiner als der Mittelwert ist, und die Ergebnisse dieser Szenentransformation als transformierte, binarisierte Szenevektoren mit dem transformierten, binari sierten Referenz vektor verglichen werden, indem die Ham- ming-Distanzen zwischen den transformierten, binarisierten Szenevektoren und dem transformierten, binarisierten Refe renzvektor als Maß der Übereinstimmung bestimmt werden und derjenige transformierte, binarisierte Szenevektor bestimmt wird, der die höchste Übereinstimmung mit dem transformierten, binarisierten Referenz vektor aufweist, und das zu erkennende Objekt als in der Szene erkannt klassi fiziert wird, wenn der Grad der Übereinstimmung des trans- formierten, binarisierten Szenevektors, der die höchste Über einstimmung mit dem transformierten, binarisierten Referenz vektor aufweist, einen vorgegebenen Schwellwert übersteigt. Das erfindungsgemäße Verfahren weist die Besonderheit auf, dass als spezielles, vereinfachtes Korrelationsverfahren, mit dem zur Objekterken nung das elektronische Bild der Szene auf das Vorhandensein des Objek- tes überprüft wird, eine modifizierte Census-Transformation in Kombina tion mit einer Maximumsbestimmung und einer Schwellwertsetzung durchgeführt wird. Dies ermöglicht einen vereinfachten binarisierten Ver gleich, durch den die Erfindung gegenüber dem Stand der Technik mit erheblich geringerem Aufwand und geringeren Kosten realisierbar ist und zudem Ergebnisse mit extrem schneller Bildfolgefrequenz geliefert werden können, sodass eine Objekterkennung in Echtzeit möglich ist. Zudem eig net sich ein erfindungsgemäßes Verfahren sehr gut für die Implementie rung in einer elektronischen Schaltung, z. B. in einem Field Programmable Gate Array (FPGA).

Der Algorithmus eines erfindungsgemäßen Verfahrens zum Durchführen eines Mustervergleichs bzw. zum Erkennen eines Objektes in einer Szene umfasst die modifizierte Census-Transformation eines in der Lernphase eingelernten Musters (des zu erkennenden Objektes) und des aufgenom- menen Bildes der Szene, verbunden mit einer Binarisierung von transfor miertem Objekt und transformierter Szene, und anschließendem Binär vergleich (Exklusiv-Oder) mit Berechnung der Hamming-Distanz als Maß der Übereinstimmung zwischen dem eingelernten Muster und dem aufge nommenen Bild.

Bei einer Census-Transformation wird zu jedem Pixel eines Bildfensters die Umgebung des Pixels untersucht und das Pixel unter Einbeziehung dieser Umgebungsdaten transformiert. Sehr oft sind dies die acht Pixel um ein zentrales Pixel einer 3x3-Umgebung. Jedes der acht Pixel wird mit dem zentralen Pixel verglichen. Ist der Wert des Pixels größer oder gleich dem Wert des zentralen Pixels, so erhält man für das Pixel eine binäre 1 als Ausgabe der Census-Transformation, andernfalls eine 0. Bei einer Census- Transformation wird also in einem Bildfenster die Helligkeit verschiedener Pixel jeweils mit einem zentralen Pixel verglichen. Aus den jeweiligen Ver gleichen mit dem zentralen Pixel wird für jeden Vergleich ein Binärwert gebildet, wobei aus sämtlichen Binärwerten ein Census-Vektor gebildet wird, der die binarisierte relative Helligkeits- bzw. Grauwertverteilung in dem Bildfenster beschreibt. In einem Korrelationsverfahren können dann beispielsweise die erzeugten Census-Vektoren miteinander verglichen werden, um dasselbe Objekt möglichst sicher in dem Kamerabild und dem Referenzbild aufzufinden.

Bei der modifizierten Census-Transformation (siehe z. B. Bernhard Fröba, Andreas Ernst; Face Detection with the Modified Census Transform, in: Proceedings of the Sixth IEEE International Conference on Automatic Face and Gesture Recognition (FGR'04) 2004) verwendet man als Vergleichs- wert statt des zentralen Pixels den Mittelwert aller Pixel in der betrachte ten Umgebung. In einer 3x3-Umgebung sind dies also neun Pixel, aus denen man den Mittelwert berechnet. Bei der modifizierten Census-Trans formation in der 3x3-Umgebung erhält man somit neun 1- Bit Werte als Resultat; bei der klassischen Census-Transformation sind es nur 8.

Bei der klassischen modifizierten Census-Transformation erhält man als Ausgabe für das Pixel eine binäre 1, wenn der Wert des Pixels größer oder gleich dem Mittelwert aller Pixel in der betrachteten Umgebung ist, andernfalls eine 0. Bei einem erfindungsgemäßen Verfahren kommt es bei der modifizierten Census-Transformation nur darauf an, dass der Wert eines Pixels auf 1 gesetzt wird, wenn es größer als der Mittelwert ist, und auf 0 gesetzt wird, wenn es kleiner als der Mittelwert ist. Der Fall, dass das Pixel gleich dem Mittelwert ist, kann auf zwei alternative Weisen behandelt werden. Man kann das Verfahren so durchführen, dass der Wert eines Pixels auf 1 gesetzt wird, wenn es größer oder gleich dem Mittelwert ist, und auf 0 gesetzt wird, wenn es kleiner als der Mittelwert ist, oder man kann es so durchführen, dass der Wert eines Pixels auf 1 gesetzt wird, wenn es größer als der Mittelwert ist, und auf 0 gesetzt wird, wenn es kleiner oder gleich dem Mittelwert ist.

Es ist also möglich, mit Hilfe der modifizierten Census-Transformation ein n x m großes Grauwertmuster zu beschreiben. Dies erfolgt, indem jedes der n x m Pixel mit dem aus n x m Pixeln gebildeten Mittelwert verglichen wird und das binäre Ergebnis dieses Vergleichs in einem n x m Bit großen Ergebnisvektor abgelegt wird. Ein für das erfindungsgemäße Verfahren wichtiger Vorteil ist, dass der Ergebnisvektor dabei unabhängig gegenüber einer linearen Transformation der Eingangspixel ist, das heißt er ist unab hängig von Kontrast und Helligkeitsoffset der Bilddaten.

Aus n x m Pixeln des Ursprungsmusters mit jeweils typischen 8 oder 10 Bit Grauwertauflösung, also aus einem Muster mit n x m x 8 oder n x m x 10 Bit ergibt sich durch die modifizierte Census-Transformation ein Vektor mit nur noch n x m Bit. Dies entspricht einer Datenreduktion um den Faktor 8 bis 10. Dennoch bleiben wesentliche Eigenschaften des Ursprungsmusters bei der Transformation erhalten, die zudem noch unab hängig gegenüber einer linearen Transformation sind. Möchte man zwei Muster auf ihre Ähnlichkeit überprüfen, so genügt es, die Bitvektoren der beiden Muster nach der modifizierten Census-Transformation binär zu ver gleichen (über bitweises XOR bzw. EQUIV) und die Anzahl der überein stimmenden bzw. verschiedenen Bits zu zählen, was man als Hamming- Distanz bezeichnet.

Das erfindungsgemäße Verfahren ist damit besonders einfach und lässt sich sehr leicht auf Logikschaltkreisen wie z. B. CPLDs, FPGA, Standard- zellenarrays und Full-Custom ICs realisieren. Auch ist der Speicherbedarf für einen transformierten, binarisierten Referenz vektor eines Referenzbil- des mit n x m Bits vergleichsweise gering. Ein weiterer Vorteil der Erfindung besteht darin, dass Objekte auch erkannt werden können, wenn sie nicht vollständig in dem Bild der Szene vorhanden sind. Dies kommt in der Praxis oft vor, beispielsweise wenn ein Objekt am Bildrand platziert oder partiell von einem anderen Gegenstand überdeckt oder verdeckt ist. Da in dem erfindungsgemäßen Verfahren nicht nach einer vollständigen Übereinstimmung, sondern nur nach der maximalen Übereinstimmung gesucht wird, können Objekte auch anhand eines Teils des vollständigen Objekts erkannt werden, das heißt die Erken nung kann bereits auf Teilen des kompletten Musters erfolgen. In der Pra- xis hat sich gezeigt, dass Objekte auch erkannt werden können, wenn bis zu 10 % davon nicht in dem Bild der Szene sichtbar ist.

Gemäß einer Ausführungsform kann in der Lernphase das Referenzbild des zu erkennenden Objektes mittels eines optischen Sensors aufgenom- men werden. Dabei kann es sich zweckmäßigerweise um denselben opti schen Sensor handeln, mit dem in der Arbeitsphase die Szene aufgenom men wird, die auf das Vorhandensein des Objektes geprüft wird. Bei dem optischen Sensor zum Aufnehmen des Referenzbildes oder der Szene han delt es sich vorzugsweise um eine Bilderfassungseinrichtung, die digitale Grauwertbilder liefert, beispielsweise ein CCD oder ein CMOS-Sensor, ein Kameramodul, eine Platinenkamera, eine Gehäusekamera oder eine Digi talkamera.

Zum Aufnehmen des zu erkennenden Objektes in der Lernphase wird zunächst der optische Sensor oder das anzulernende Objekt so positio niert, dass das anzulernende Objekt in dem Bild des optischen Sensors liegt. Danach können der Bildausschnitt und die Zoomgröße so angepasst werden, dass das anzulernende Objekt das Bild gut ausfüllt. Das Objekt wird dann zum Anlernen ausgewählt und als Referenz gespeichert. Falls mehrere Objekte angelernt werden sollen, beispielsweise für spätere Sor tieraufgaben in der Arbeitsphase, wird dieses Anlernen für jedes Objekt separat durchgeführt. In der Arbeitsphase, beispielsweise bei Prüf- oder Sortieraufgaben, werden die aufgenommenen Szenen dann mit dem Refe renzobjekt bzw. den Referenzobjekten verglichen.

Gemäß einer anderen Ausführungsform kann in der Lernphase das Refe- renzbild des zu erkennenden Objektes theoretisch berechnet oder das Referenzbild des zu erkennenden Objektes oder der transformierte, bina- risierte Referenz vektor aus einer Datenbank eingelesen werden. Wenn das Referenzbild nicht mittels des optischen Sensors eingelesen wird, sondern aus Eigenschaften des Objektes, beispielsweise dessen Form oder Kontur, theoretisch berechnet wird oder das Referenzbild oder der transformierte, binarisierte Referenz vektor aus einer Datenbank bereitgestellt wird, bei spielsweise aus einer früheren Erfassung mittels eines optischen Sensors oder einer früheren theoretischen Berechnung, kann das erfindungs gemäße Verfahren sehr schnell und auf einfache Weise zwischen verschie- denen Erkennungsaufgaben (z. B. das Vorhandensein oder die Position eines geänderten zu erfassenden Objektes) umgeschaltet werden, ohne dass hierzu jeweils ein Bild des erkennenden Objektes mit dem optischen Sensor aufgenommen werden muss. Eine weitere vorteilhafte Ausführungsform kann darin bestehen, dass in der Lernphase jeweils ein Referenzbild mehrerer zu erkennender Objekte mittels einer modifizierten Census-Transformation transformiert und bina- risiert wird und die Ergebnisse dieser Transformationen jeweils in transfor mierten, binarisierten Referenzvektoren abgespeichert werden, und in der Arbeitsphase die Ergebnisse der Szenentransformation als transformierte, binarisierte Szenevektoren nacheinander mit den transformierten, binari sierten Referenzvektoren verglichen werden, um die mehreren zu erken nenden Objekte in der Szene zu erkennen. Ein weiterer Vorteil des erfin dungsgemäßen Verfahrens ist, dass auf diese Weise sehr einfach auch mehrere zu erkennende Objekte erkannt und die zugehörigen Muster ver glichen werden können. Dabei werden die Referenzbilder in der Lernphase mittels eines optischen Sensors aufgenommen und die transformierten, binarisierten Referenzvektoren daraus gebildet und abgespeichert, oder die Referenzbilder des zu erkennenden Objektes werden theoretisch berechnet oder die Referenzbilder der zu erkennenden Objekte oder die transformierten, binarisierten Referenzvektoren werden aus einer Daten- bank eingelesen.

Eine vorteilhafte Abwandlung dieser Ausführungsform kann darin beste hen, dass in der Lernphase jeweils ein Referenzbild mehrerer zu erken nender Objekte mittels einer modifizierten Census-Transformation trans- formiert und binarisiert wird und die Ergebnisse dieser Transformationen jeweils in transformierten, binarisierten Referenzvektoren abgespeichert werden, und in der Arbeitsphase die Ergebnisse der Szenentransformation als transformierte, binarisierte Szenevektoren parallel mit den transfor mierten, binarisierten Referenzvektoren verglichen werden, um gleichzei- tig die mehreren zu erkennenden Objekte in der Szene zu erkennen. Ein weiterer Vorteil des erfindungsgemäßen Verfahrens ist, dass auf diese Weise sehr einfach auch mehrere zu erkennende Objekte erkannt und die zugehörigen Muster gleichzeitig verglichen werden können. Dabei werden die Referenzbilder in der Lernphase mittels eines optischen Sensors auf- genommen und die transformierten, binarisierten Referenzvektoren dar aus gebildet und abgespeichert, oder die Referenzbilder des zu erkennen den Objektes werden theoretisch berechnet oder die Referenzbilder der zu erkennenden Objekte oder die transformierten, binarisierten Referenzvek toren werden aus einer Datenbank eingelesen.

In beiden Fällen braucht ein neu aufgenommenes Bild einer Szene nur einmal mit der modifizierten Census-Transformation bearbeitet zu werden, auch wenn mehrere verschiedene Objekte darin gesucht werden sollen, und der Vergleich mit den Referenzbildern erfolgt dann ohne großen Spei- cheraufwand entweder nacheinander oder parallel für alle Referenzbilder gleichzeitig. Dies ist ein großer Vorteil gegenüber Verfahren nach dem Stand der Technik, wie z. B. der normierten Kreuzkorrelation (NCF), bei der für jedes Muster ein Pixel-zu-Pixel Vergleich (Skalarprodukt der Grau werte von Bild und Muster) mit entsprechendem Rechenaufwand durch geführt werden muss. Statt einer Multiplikation von z. B. zwei 8-Bit Wer ten nach dem Stand der Technik erfordert die Erfindung nur einen 1- Bit Vergleich (XOR), und statt der Summation des Ergebnisses mit vielleicht 20 oder mehr Bits benötigt man nur die Bestimmung der Hamming- Distanz.

Diese zwei Ausführungsformen können nicht nur dazu dienen, unter- schiedlich geformte Objekte nacheinander oder gleichzeitig zu erkennen, sondern auch ein Objekt zu erkennen, das gedreht oder skaliert (ver größert oder verkleinert) ist. Das erfindungsgemäße Verfahren ist zwar in der Lage, ein Objekt unabhängig von seiner Position in dem Bild der Szene zu erkennen, es ist jedoch nicht darauf ausgelegt, größere Rota tionen oder Skalierungen des Objektes zu tolerieren. Sollen solche Rota tionen und/oder Skalierungen beim Erkennen eines Objektes berücksich tigt werden, kann man in der Lernphase Referenzbilder des Objektes in verschiedenen Skalierungen und Drehlagen aufnehmen oder diese aus einer Aufnahme synthetisch berechnen (oder theoretisch berechnen oder die Referenzbilder des zu erkennenden Objektes oder die transformierten, binarisierten Referenzvektoren aus einer Datenbank einiesen) und die modifizierte Census-Transformation dieser verschiedenen Ausprägungen desselben Objektes als mehrere transformierte, binarisierte Referenzvek toren abspeichern, die in der Arbeitsphase nacheinander oder gleichzeitig in der Szene gesucht werden. Der Vergleich kann dann genau so wie bei verschiedenen Objekten nacheinander oder - vorzugsweise in einer inte grierten Schaltung oder FPGA - sogar parallel erfolgen, und durch die Suche nach der höchsten Übereinstimmung wird nicht nur das Vorhanden sein und die Position des Objektes bestimmt, sondern auch seine Dreh- läge und/oder Skalierung. In der praktischen Anwendung der Erfindung kann es zum Verringern des Speicherbedarfs, zum Verringern des schaltungstechnischen Aufwandes, zum Verringern des Rechenaufwandes, zum Beschleunigen der Objekt erkennung oder zum Implementieren der Erfindung mit einer bestimmten Hardware vorteilhaft sein, einen oder mehrere der folgenden Schritte in Kombination durchzuführen. Die erläuterten Methoden zum Reduzieren der Bilddaten können in beliebiger Weise kombiniert und in beliebiger Rei henfolge durchgeführt werden. Dabei wird vorteilhafterweise eine Daten reduktion bei der Bildung der transformierten, binarisierten Referenzvek- toren in gleicher Weise wie bei der Bildung der transformierten, binarisier ten Szenevektoren durchgeführt, das heißt das Referenzbild und das Bild der Szene werden auf dieselbe Weise reduziert, um vergleichbare Vekto ren zu erhalten. Eine erste vorteilhafte Ausführungsform kann darin bestehen, dass das von dem optischen Sensor aufgenommene Bild der Szene nicht in einem Schritt vollständig auf das Vorhandensein des Objektes überprüft wird, sondern mittels eines Suchfensters, das jeweils einen Bildausschnitt der Szene beinhaltet und das derart über das Bild der Szene geführt wird, dass das Suchfenster das Bild der Szene überstreicht, wobei sequentiell jeweils ein Suchfenster mittels transformierter, binarisierter Szenevekto ren auf das Vorhandensein des Objektes überprüft wird. In dem Suchfens ter kann ein gleitender Mittelwert der Pixel bestimmt werden, und sowohl für die Berechnung des gleitenden Mittelwerts als auch für die modifizierte Census-Transformation ist die Speicherung der Bilddaten nur für so viele Zeilen nötig, wie sie der vertikalen Ausdehnung des Suchfensters ent spricht. Die Größe eines Suchfensters kann vorteilhafterweise zwischen 8 x 8 und 128 x 128 Pixel, vorzugsweise 48 x 48 Pixel betragen. Es ist damit groß genug, dass das Referenzbild des zu erkennenden Objektes bzw. das zu erkennende Objekt vollständig darin enthalten ist, auch wenn es sich um ein komplexes oder ausgedehntes Objekt handelt. Eine zweite vorteilhafte Ausführungsform kann darin bestehen, dass die Anzahl der Pixel in dem von dem optischen Sensor aufgenommenen Bild der Szene reduziert wird, bevor die transformierten, binarisierten Szene vektoren gebildet werden. In der Praxis ist es oft erforderlich, das Bild des optischen Sensors (z. B. eines CMOS-Sensors) für die Anwendung in dem erfindungsgemäßen Verfahren zu reduzieren. Das liegt daran, dass gebräuchliche, kommerziell erhältliche CMOS-Sensoren oft nicht unter einer gewissen Mindestauflösung erhältlich sind. Sehr verbreitet sind opti sche Sensoren mit VGA-Auflösung (640 x 480 Pixel), wobei eine deutliche Tendenz zu größeren Auflösungen (1280 x 800 Pixel oder mehr) besteht. Die große Anzahl an Pixeln führt ohne Reduktion der Bilddaten zu einem hohen Rechenaufwand bei der Verarbeitung, insbesondere vor dem Hin tergrund, dass für den Einsatz in der Fabrikautomation Bildraten von über 100 Bildern pro Sekunde wünschenswert sind. Aus diesem Grund kann in einem der ersten Verarbeitungsschritte die Anzahl der Pixel in dem von dem optischen Sensor aufgenommenen Bild der Szene reduziert werden. Dies kann auf verschiedene Weisen erfolgen, die einzeln oder in Kombina tion durchgeführt werden können. Eine erste Variante besteht darin, dass aus dem von dem optischen Sen sor aufgenommenen Bild der Szene ein Teilbild (sogenannte "region of interest") ausgewählt wird. Es wird dann nur das Teilbild auf das Vorhan densein des Objektes überprüft, die anderen Teile der Szene bleiben unberücksichtigt. Das Auswählen eines Teilbildes kann beispielsweise durch Setzen eines Fensters oder durch "Cropping" erfolgen.

Eine zweite Variante besteht darin, dass das von dem optischen Sensor aufgenommene Bild der Szene in der Auflösung verringert wird. Hiermit ist primär die Reduzierung der physikalischen Bildauflösung, das heißt die Anzahl der Bildelemente pro Länge bzw. die Pixeldichte, gemeint, es kann aber auch die Grauwertauflösung (z. B. von 16 auf 8 Bit) reduziert wer den. Die Reduzierung der Auflösung kann bevorzugt durch ein geeignetes Binning (Zusammenfassen benachbarter Bildelemente), beispielsweise durch Summation oder Mittelung benachbarter Pixel, oder eine Bildpyra mide (Glättung und Downsampling) erfolgen. Nach einem zusätzlichen vorteilhaften Merkmal kann die Reduzierung der Auflösung in veränderlich einstellbaren Schritten gewählt werden.

Eine dritte Variante besteht darin, dass das von dem optischen Sensor aufgenommene Bild der Szene durch Unterabtastung (englisch sub- sampling) verarbeitet wird, wobei nur einzelne bzw. manche Pixel des Bil- des der Szene ausgelesen und zu transformierten, binarisierten Szenevek toren verarbeitet und die anderen ausgelassen werden. Das Auslassen von Pixeln aus dem Bild der Szene, das auch als "ausdünnen" bezeichnet werden kann, sodass sie bei der erfindungsgemäßen Objekterkennung ignoriert und nicht berücksichtigt werden, kann verschiedene Vorteile haben.

Durch das Auslassen von Pixeln kann eine Größe der transformierten, binarisierten Szenevektoren erzielt werden, die sich besonders gut für eine digitale Verarbeitung eignet, beispielsweise indem ihre Wortgröße auf die der verwendeten Hardware abgestimmt ist. Wird beispielsweise der erfindungsgemäße Algorithmus mit einem Mikroprozessor oder digitalen Signalprozessor (DSP) realisiert, so ist es vorteilhaft, bei der Bildverarbei tung eine Größe zu verwenden, die ein Vielfaches der Wortgröße dieses Rechners ist (typisch 32 Bit). Dies ist von Vorteil, da sich damit der Ver- gleich (XOR, Hamming-Distanz) effizient in der Hardware implementieren lässt. Einige Mikroprozessorarchitekturen (z. B. TI TMS320C64xx, ARM NEON) haben zudem spezielle Befehle, mit denen sich auch die Hamming- Distanz effizient berechnen lässt. Ist es nicht möglich, die Größe von Bild, Bildausschnitt oder Suchfenster so zu wählen, kann man Pixel darin aus- lassen. So wurde beispielsweise ein erfindungsgemäßes Verfahren getes tet, das mit einem Suchfenster von 9 x 9 = 81 Pixeln arbeitet. Die mitt lere Zeile und die mittlere Spalte des Suchfensters wurden für den Ver- gleich ausgelassen, sodass ein sehr gut handhabbarer transformierter, binarisierter Szenevektor von 8 x 8 = 64 Bit erfolgreich verwendet werden konnte. Wird der erfindungsgemäße Algorithmus auf andere Weise, beispielsweise durch ein Complex Programmable Logic Device (CPLD), Field Program- mable Gate Array (FPGA), Application-Specific Integrated Circuit (ASIC) oder Custom-IC realisiert, gibt es in der Regel keine Beschränkung auf ein Vielfaches einer bestimmten Wortgröße. Das Auslassen von Pixeln ist aber dennoch oft sinnvoll. Einerseits reduziert sich dadurch der erforderliche Speicherbedarf für die Vergleichsvektoren, andererseits verringert sich auch der schaltungstechnische Aufwand bzw. der Zeitbedarf bei sequen tieller Verarbeitung. So ist es z. B. nur nötig, die ausgedünnten Pixel im Fenster mit dem Mittelwert des Fensters zu vergleichen.

Die Auswahl der Pixel des Bildes der Szene, aus denen transformierte, binarisierte Szenevektoren gebildet werden, kann auf verschiedene Weise erfolgen, beispielsweise nach einem festen Schema (z. B. bestimmte Zei len und Spalten oder bestimmte Bereiche) oder nach einem zufälligen oder pseudozufälligen Schema. Da gebräuchliche Pseudozufallsfolgen allerdings oft das Problem haben, dass sie in sich korreliert sind, ist die Verwendung einer Zufallsfolge aus physikalischem Rauschen bevorzugt.

Versuche haben ergeben, dass es in der Praxis zum sicheren Erkennen eines Objektes oft ausreicht, wenn zwischen 5 % und 50 %, bevorzugt zwischen 10 % und 40 %, besonders bevorzugt zwischen 20 % und 30 % der Pixel des Bildes der Szene ausgelesen und zu transformierten, binari- sierten Szenevektoren verarbeitet und die anderen Pixel ausgelassen wer den, je nachdem, welches Schema zum Auswählen der Pixel angewendet wird und wie die Objekte geformt sind. Ein besonders bedeutsamer Vorteil der Erfindung ist, dass damit sehr schnell und mit sehr hoher Frequenz eine Objekterkennung durchgeführt werden kann. In Fällen, in denen nicht eine besonders hohe Geschwindig keit, sondern auch eine besonders hohe Zuverlässigkeit der Objekterken- nung gewünscht wird, kann das erfindungsgemäße Verfahren in zwei Stu fen durchgeführt werden. Dabei wird in der ersten Stufe das Objekt mit einem erfindungsgemäßen Verfahren schnell gesucht und erkannt, gege benenfalls gemäß einer oder mehreren der vorteilhaften weiteren Aus gestaltungen, wobei beispielsweise die Anzahl der Pixel in dem von dem optischen Sensor aufgenommenen Bild der Szene reduziert wird, bevor die transformierten, binarisierten Szenevektoren gebildet werden. In der zweiten Stufe wird dann das in der ersten Stufe gefundene Ergebnis veri fiziert, indem in dem Bereich des Bildes der Szene, in dem in der ersten Stufe das Objekt erkannt wurde, zusätzlich eine genauere Objekterken- nung durchgeführt wird. Die genauere Objekterkennung in der zweiten Stufe kann beispielsweise mit einem erfindungsgemäßen Verfahren erfol gen, wobei die Anzahl der Pixel in dem von dem optischen Sensor auf genommenen Bild der Szene nicht oder in geringerem Umfang als in der ersten Stufe reduziert wird, bevor die transformierten, binarisierten Sze- nevektoren gebildet werden, oder mittels eines gebräuchlichen, aus dem Stand der Technik bekannten Verfahrens zum maschinellen Sehen und Bilderkennen für das Erkennen eines Objektes in einem elektronischen Bild. In der ersten Stufe wird somit das Objekt schnell und grob erkannt und in der zweiten Stufe wird dieses Ergebnis durch eine feinere oder genauere Bilderkennung überprüft. Wenn das Ergebnis der zweiten Stufe das aus der ersten Stufe bestätigt, wird es als verifiziert übernommen, andernfalls wird das Ergebnis verworfen. Da in der zweiten Stufe nicht mehr das gesamte Bild der Szene nach dem Objekt durchsucht werden muss, son dern nur noch das aus der ersten Stufe bereits vorliegende Ergebnis über prüft wird, ist der Zeitbedarf für die zweite Stufe sehr gering, sodass das gesamte Verfahren immer noch sehr schnell ablaufen kann und dennoch eine höhere Genauigkeit und Zuverlässigkeit der Objekterkennung erreicht wird. Ein erfindungsgemäßes Verfahren kann vorteilhafterweise auf dem Gebiet des maschinellen Sehens in industriellen Umgebungen, Fertigungen und Anwendungen eingesetzt werden, wie sie oben im einleitenden Teil dieser Patentanmeldung beschrieben wurden. Hierzu zählen insbesondere das Erkennen des Vorhandenseins eines Objektes (Musters), das heißt z. B. eine Unterscheidung zwischen Objekt anwesend und nicht anwesend oder eine qualitative Aussage über eine Szene wie gut/schlecht oder rich tig/falsch, das Erkennen der Position eines Objektes (z. B. für Bonder, Bestückungsmaschinen und Klebeprozesse), das Erkennen der Drehlage eines Objektes oder das Durchführen von Mustervergleichen (z. B. zum Heraussuchen eines Objektes unter vielen, beispielsweise für Sortierauf gaben).

Ein erfindungsgemäßes System bzw. eine erfindungsgemäße Vorrichtung zum Erkennen eines Objektes in einem elektronischen Bild einer Szene, umfassend einen optischen Sensor zum Aufnehmen eines elektronischen Bildes einer Szene und eine digitale Datenverarbeitungseinheit zum Bear beiten von Bilddaten, ist dadurch gekennzeichnet, dass das System bzw. die Vorrichtung ausgebildet ist, ein Verfahren gemäß einem der vorher gehenden Ansprüche durchzuführen.

Eine erfindungsgemäße Vorrichtung kann insbesondere ein Bildverarbei tungssensor sein, der auf einer Platine integriert zusammengefasst einen optischen Sensor für das Aufnehmen eines elektronischen Bildes einer Szene und eine digitale Datenverarbeitungseinheit zum Bearbeiten von Bilddaten gemäß dem erfindungsgemäßen Verfahren umfasst. Dabei kann vorzugsweise die digitale Datenverarbeitungseinheit ein FPGA-Modul, einen Prozessor, einen Speicher und eine Peripherie-Schnittstelle umfas sen.

Das erfindungsgemäße Verfahren kann in verschiedener Weise modifiziert werden. Zu diesen Abwandlungen rechnen beispielsweise folgende (statt modifizierter Census-Transformation und Vergleich):

Eine erste Abwandlung besteht darin, dass das Objekt in dem Bild der Szene nicht durch den Vergleich von mit der modifizierten Census-Trans- formation transformierten, binarisierten Vektoren, sondern mittels einer Absolute-Differenzen-Korrelation (ADF) gesucht wird. Bei diesem alterna tiven Korrelationsverfahren werden die Grauwerte von Bild der Szene und Objekt (Muster) im Suchfenster subtrahiert und der Betrag der Differenz wird als Fehlermaß aufsummiert. Das Verfahren funktioniert natürlich mit jeder Norm, z. B. auch mit der euklidischen Norm.

Eine zweite Abwandlung besteht darin, dass das Objekt in dem Bild der Szene nicht durch den Vergleich von mit der modifizierten Census-Trans formation transformierten, binarisierten Vektoren, sondern mittels einer Normalized Correlation Function (NCF) gesucht wird. Bei diesem alternati ven Korrelationsverfahren erfolgt eine Hel ligkeits- und Kontrastnormie rung sowohl für das Suchfenster im Bild der Szene als auch für das Objekt (Muster). Die Normierung des Objektes (Musters) kann bereits in der Lernphase erfolgen; die Normierung für das Suchfenster erfolgt mit einem Teleskopverfahren, das heißt mit einem gleitenden Mittelwert in einem Suchfenster.

Eine dritte Abwandlung besteht darin, dass bei einer Unterabtastung des Bildes der Szene die Pixel des Bildes der Szene, aus denen transformierte, binarisierte Szenevektoren gebildet werden, entlang einer Objektkontur liegend ausgewählt werden. Dies trägt der Tatsache Rechnung, dass Bild bereiche mit konstanter Bildhelligkeit insgesamt wenig Information ent- halten. Der Informationsgehalt liegt vielmehr in Bildbereichen mit starker Änderung, das heißt in den Konturen. Diese sind für ein bestimmtes Objekt markant. Man spart sich somit den Vergleich von Pixeln, die ohne hin wenig zur Beschreibung des Objekts beitragen. Der Nachteil des Ver- fahrens besteht darin, dass bei mehreren Vergleichsmustern die Vereini gungsmenge sämtlicher Konturpixel für jedes verwendeten Objekts vergli chen werden muss, da sonst die Maximumsbildung nicht funktioniert. Dies kann schnell dazu führen, dass diese Strategie ineffizient wird. Eine vierte Abwandlung kann folgende sein. Bei dem erfindungsgemäßen Verfahren werden typischerweise die zu suchenden Objekte (Muster) bzw. das zu suchende Objekt (Muster) einmal eingelernt und für eine Suchauf gabe nicht mehr geändert. Lässt man jedoch ein kontinuierliches Update des Suchmusters oder der Suchmuster zu, was bei einer Hardwareimple- mentierung zumeist durch eine einfache Änderung des Steuerprogramms auf dem Mikroprozessor möglich ist, kann man das erfindungsgemäße Verfahren nicht nur zum Bestimmen des Vorhandenseins, der Position und der Lage eines Objektes, sondern auch zum Messen der Bewegung und der Geschwindigkeit nutzen. Es lässt sich damit zur berührungslosen Geschwindigkeits- und Positionsmessung von Industrieprozessen, z. B. von Förderbändern, in der Handhabung und in der Robotik verwenden. Es kann auch als Bewegungsmesser für Drohnen eingesetzt werden, wenn die problematische Kopplung der X/Y- und Winkelfreiheitsgrade zutreffend gelöst wird. Auch die Anwendung in einer optischen Computermaus ist möglich. Da es leicht möglich ist, mehrere Muster parallel zu vergleichen, ist es mit diesem Verfahren möglich, nicht nur eine lineare Bewegung in X- und Y-Richtung, sondern auch eine Rotation zu messen.

Die Erfindung wird nachfolgend anhand in den Figuren dargestellter Aus- führungsbeispiele näher erläutert. Die darin beschriebenen Besonderhei ten können einzeln oder in Kombination miteinander eingesetzt werden, um bevorzugte Ausgestaltungen der Erfindung zu schaffen. Gleiche oder gleich wirkende Teile werden in den verschiedenen Figuren mit denselben Bezugszeichen bezeichnet und gewöhnlich nur einmal beschrieben, auch wenn sie bei anderen Ausführungsformen vorteilhaft eingesetzt werden können. Es zeigen:

Figur 1 ein vereinfachtes Schaubild eines erfindungsgemäßen Verfah rens,

Figur 2 eine Census-Transformation eines Suchfensters,

Figur 3 eine modifizierte Census-Transformation eines Suchfensters, Figur 4 eine modifizierte Census-Transformation mit einer zufälligen Auswahl von Pixeln in dem Suchfenster,

Figur 5 das Anwendungsprinzip eines Suchfensters,

Figur 6 ein Ausführungsbeispiel einer hardwaremäßigen Realisierung der Erfindung,

Figur 7 die Maximumsbestimmung im Detail,

Figur 8 die Beschleunigung des Verfahrens mittels mehrerer "Embed- ded Block RAMs" (EBR) und

Figur 9 eine beispielhafte Prinzipskizze von Komponenten eines erfin dungsgemäßen Systems.

Die Figur 1 veranschaulicht den prinzipiellen Ablauf eines erfindungs gemäßen Verfahrens der Mustererkennung für den Fall, dass in der Lern phase L das Referenzbild des zu erkennenden Objektes mittels eines opti schen Sensors 1 aufgenommen wird. Die Lernphase L ist im oberen Teil der Figur 1 dargestellt. Mittels eines optischen Sensors 1 wird eine Auf nahme 2 eines Referenzbildes des später in einer Szene zu erkennenden Objektes aufgenommen. Ein solches Objekt kann ein beliebiger Gegen stand sein, der insbesondere durch seine Form, Kontur, Größe oder Dreh lage gekennzeichnet ist, aber auch durch andere Parameter (Oberflächen beschaffenheit, Beschriftung, etc.) individualisiert sein kann. Ein ausgege benes Bild hat beispielsweise 1280 x 800 Pixel. Daran schließt sich eine Vorverarbeitung 3 der Bilddaten an, die insbesondere das Setzen eines Suchfensters oder die Datenreduktion durch das Auswahlen eines Teilbil des, das Verringern der Auflösung, beispielsweise durch Binning oder eine Bildpyramide, oder die Unterabtastung, beispielsweise durch Verwendung eines festen Schemas, eines zufälligen oder pseudozufälligen Schemas oder physikalischen Rauschens, umfassen kann. Die Bildgröße wird dadurch beispielsweise auf 128 x 128 Pixel reduziert.

Im Anschluss an die Vorverarbeitung 3 erfolgt die Merkmalsreduktion mit tels einer modifizierten Census-Transformation 4, und das Ergebnis dieser Transformation wird in einem transformierten, binarisierten Referenzvek tor abgespeichert. Die Lernphase L wird für ein zu erkennendes Objekt einmal durchgeführt. Für mehrere, verschiedene Objekte wird die Lern phase L jeweils einmal durchgeführt. In alternativen Ausführungsformen kann in der Lernphase L das Referenzbild des zu erkennenden Objektes theoretisch berechnet oder das Referenzbild des zu erkennenden Objektes oder der transformierte, binarisierte Referenz vektor aus einer Datenbank eingelesen werden.

Im unteren Teil der Figur 1 ist die Arbeitsphase A dargestellt. Dabei wird in analoger Weise zu der Lernphase L mittels eines optischen Sensors 1 eine Aufnahme 2 einer Szene erzeugt, die auf das Vorhandensein des in der Lernphase L eingelernten zu erkennenden Objektes überprüft wird. Ein ausgegebenes Bild hat beispielsweise 1920 x 1080 oder 1280 x 800 Pixel bei einer Bildwiederholfrequenz von 100 Hz. Diese Zahlen machen deutlich, dass es eine anspruchsvolle Aufgabe darstellt, diesen großen Datenstrom durch einen Mustervergleich in Echtzeit zuverlässig auf das Vorhandensein von einem oder mehreren Mustern zu prüfen. An die Auf nahme 2 schließt sich wiederum eine Vorverarbeitung 3 der Bilddaten an, die insbesondere das Setzen eines Suchfensters oder die Datenreduktion durch das Auswählen eines Teilbildes, das Verringern der Auflösung, bei spielsweise durch Binning oder eine Bildpyramide, oder die Unterabtas tung, beispielsweise durch Verwendung eines festen Schemas, eines zufälligen oder pseudozufälligen Schemas oder physikalischen Rauschens, umfassen kann. Das Bild kann auch entsprechend den vom Benutzer gewählten Einstellungen vergrößert oder verkleinert werden (Zoom-Funk tion). Die Bildgröße wird durch die Vorverarbeitung 3 beispielsweise auf 48 x 48 oder 128 x 128 Pixel reduziert. Im Anschluss daran erfolgt die

Merkmalsreduktion mittels einer modifizierten Census-Transformation 4, und die Ergebnisse dieser Szenentransformation werden als transfor mierte, binarisierte Szenevektoren abgespeichert und verarbeitet. In der Arbeitsphase A erfolgt auch die Klassifikation mit Aussage 8 anhand eines Mustervergleichs 5, in dem die transformierten, binarisier- ten Szenevektoren mit dem transformierten, binarisierten Referenz vektor verglichen werden, wobei die Hamming-Distanzen, das heißt die Zahl der übereinstimmenden Bits, zwischen den transformierten, binarisierten Sze- nevektoren und dem transformierten, binarisierten Referenz vektor als Maß der Übereinstimmung bestimmt werden und in einer Maximums ermittlung 6 derjenige transformierte, binarisierte Szenevektor bestimmt wird, der die höchste Übereinstimmung mit dem transformierten, binari sierten Referenz vektor aufweist. Um das Erkennen eines Objekts mit hoher Genauigkeit zu ermöglichen, wird ein Schwellwert 7 verwendet. Bil dern, bei denen der Schwellwert nicht erreicht wird, wird unterstellt, dass sie das Objekt nicht enthalten. Das Setzen des Schwellwertes 7 bestimmt also das für eine positive Aussage 8 geforderte Maß der Korrelation zwi schen Objekt und Szene. Das zu erkennende Objekt wird als in der Szene erkannt klassifiziert bzw. eine bejahende Aussage 8 getroffen, wenn der Grad der Übereinstimmung des transformierten, binarisierten Szenevek tors, der die höchste Übereinstimmung mit dem transformierten, binari sierten Referenz vektor aufweist, den vorgegebenen Schwellwert 7 über steigt.

Vereinfacht zusammengefasst betrifft die Erfindung ein Verfahren zum maschinellen Sehen und Bilderkennen für das Erkennen eines Objektes in einem elektronischen Bild, das mittels eines optischen Sensors 1 aufge nommen wird. Es wird vorgeschlagen, in einer Lernphase L ein Referenz bild des zu erkennenden Objekts einzulernen und in einer Arbeitsphase A mit dem Bild der Szene zu vergleichen, wobei der Mustervergleich 5 zwi- sehen Objekt und Szene mittels einer modifizierten Census-Transforma- tion 4 mit Maximumsermittlung 6 erfolgt und für eine positive Aussage 8 der Grad der Übereinstimmung einen Schwellwert 7 übersteigen muss. Die Erfindung bezieht sich somit auf das optische Erfassen von Objekten, wobei ein Bild einer Szene mit einem Referenzbild des Objektes verglichen und das Objekt in dem Bild mittels eines Korrelationsverfahrens identifi ziert wird. Erfindungsgemäß beruht das Korrelationsverfahren auf einer modifizierten Census-Transformation von Objekt und Bild der Szene, der Berechnung der Hamming-Distanz der aus der Transformation resultieren den Vektoren und einer Maximumsbestimmung mit Schwellwertsetzung, um das zu erkennende Objekt in dem Bild der Szene zu identifizieren.

Wenn mehrere Objekte gleichzeitig in der Aufnahme 2 erkannt werden sollen, kann der Mustervergleich 5 mit einer jeweiligen Maximumsuche für jedes Objekt parallelisiert zwischen den (nur einmal) transformierten, binarisierten Szenevektoren und dem jeweils zu einem Objekt gehörenden transformierten, binarisierten Referenz vektor durchgeführt werden. Beim Vergleich mehrerer abgespeicherter Objekte mit der Aufnahme 2 wird ein Übereinstimmungswert für jedes der abgespeicherten Objekte bestimmt. Diese Berechnung kann für alle Objekte parallel und gleichzeitig erfolgen. Eine solche Ausführungsform kann beispielsweise beim Durchführen einer Sortieraufgabe eingesetzt werden, wenn mehrere Objekte unterschieden werden müssen. In den jeweiligen Mustervergleichen 5 wird dann jeweils dasjenige Objekt ausgegebenen, das die größte Übereinstimmung zu dem aufgenommenen Bild aufweist. Auch hier muss der Übereinstimmungs- wert jeweils größer als ein Schwellwert sein, damit das Objekt als erkannt klassifiziert wird. Wenn in der Arbeitsphase A ein Objekt erkannt wird oder mehrere Objekte erkannt werden, kann nicht nur eine bejahende Aussage 8 getrof fen, sondern auch die Position (x- und y-Wert) des gefundenen Objektes in der Aufnahme 2, das heißt in dem Bild der Szene ausgegeben werden. Diese Positionsinformation kann für die weitere Verarbeitung wichtig sein, z. B. für Pick- und Place-Anwendungen eines Roboters. Entsprechendes gilt, wenn die tatsächliche Drehlage eines Objektes in einer Szene durch den Vergleich mit mehreren angelernten Rerefenzbildern des Objektes in verschiedenen Drehungen bestimmt wird

Wenn die in der Arbeitsphase A getroffene Aussage 8 zu einem erkannten Objekt verifiziert werden soll, kann für dieses Objekt die Arbeitsphase A mit transformierten, binarisierten Szenevektoren wiederholt werden, die in dem Bild der Szene zu dem Objekt und dessen unmittelbarer Umge- bung gehören. Dabei wird in der Vorverarbeitung 3 der Bilddaten keine oder eine geringere Datenreduktion als bei der ersten Aussage 8 durch geführt, sodass durch die genauere Wiederholung der Arbeitsphase A in dem zu dem gefundenen Objekt gehörenden Bereich der Szene die Aus sage 8 mit einer höheren Genauigkeit, beispielsweise einer höheren Auf- lösung, überprüft und dadurch zuverlässiger wird. Die Vorverarbeitung 3 in der vorausgehende Lernphase L ist hierzu gegebenenfalls entsprechend an die veränderte Vorverarbeitung der Arbeitsphase A anzupassen. Das zusätzliche Überprüfen eines bestimmten erkannten Bereichs erfordert nur sehr wenig zusätzliche Verarbeitungszeit.

Alternativ kann die Aussage 8 zu einem in der Arbeitsphase A erkannten Objekt statt mit einer genaueren Wiederholung der Arbeitsphase A für den zu dem erkannten Objekt gehörenden Bildbereich der Szene auch mittels der Aufnahme 2 oder deren Bilddaten nach einer Vorverarbeitung 3 durch ein gebräuchliches, aus dem Stand der Technik bekanntes Verfah ren zum maschinellen Sehen und Bilderkennen für das Erkennen eines Objektes in einem elektronischen Bild verifiziert werden. Die Figur 2 zeigt eine Census-Transformation für einen Bereich mit 3 x 3 Pixeln. Der Vergleich der Pixel "1", "2", "3" usw. erfolgt mit dem Pixel C, beispielsweise in dieser Reihenfolge.

Die Figur 3 zeigt eine modifizierte Census-Transformation für einen Bereich mit 3 x 3 Pixeln. Der Vergleich der Pixel I 0 Ii ... Is erfolgt mit dem Mittelwert avg Die Figur 4 zeigt eine modifizierte Census-Transformation in einem 48 x 48 großen Fenster. Der Vergleich der Pixel I 0 , Ii ... I k mit k < 2303 erfolgt mit dem Mittelwert avg

Es werden jedoch nicht alle Pixel transformiert, sondern nur eine Auswahl von Pixeln I,. Die Auswahl der Pixel I, erfolgt mittels einer physikalischen Zufallsfolge, wobei alle Pixel transformiert werden, das heißt das kom plette Fenster transformiert wird, wenn k = 2303 Pixel ausgewählt wer den. Die Figur 5 zeigt das Anwendungsprinzip eines Suchfensters in dem erfin dungsgemäßen Verfahren, bei dem der Mustervergleich mittels einer modifizierten Census-Transformation durchgeführt wird. Dabei wird das von dem optischen Sensor 1 aufgenommene Bild der Szene 9, das gege benenfalls in einer Vorverarbeitung 3 reduziert wurde, in dem dargestell- ten Ausführungsbeispiel in der Auflösung auf 128 x 128 Pixel, nicht in einem Schritt vollständig auf das Vorhandensein des Objektes überprüft, sondern mittels eines Suchfensters 10. Das Suchfenster 10 beinhaltet jeweils einen Bildausschnitt 11 der Szene, in dem dargestellten Ausfüh rungsbeispiel mit jeweils 48 x 48 Pixeln, und es wird derart über das Bild der Szene 9 geführt, dass es das Bild der Szene 9 überstreicht, wobei sequentiell jeweils ein Suchfenster 10 mittels transformierter, binarisierter Szenevektoren auf das Vorhandensein des Objektes überprüft wird. Die transformierten, binarisierten Szenevektoren in dem Suchfenster 10 wer den dabei der Figur 4 entsprechend zufällig ausgewählt. Der Mittelwert avg ist dabei der Mittelwert aller Pixel in dem 48 x 48 Pixel großen Such fenster 10, und die Bits b, des Szenevektors, dessen Länge k < 2303 Bits beträgt, werden auf 0 gesetzt, falls I, < avg, und auf 1 gesetzt, falls I, > avg. Alternativ ist es ebenso möglich, die Bits b, des Szenevektors auf 0 zu setzen, falls I, < avg, und auf 1, falls I, > avg, das heißt, den Fall I, = avg anders zu behandeln. Die Figur 6 zeigt ein Ausführungsbeispiel einer hardwaremäßigen Realisie rung der Erfindung. Als optischer Sensor 1 dient ein CMOS-Sensor mit einer Auflösung von 1280 x 800 Pixeln und global shutter. Dessen Video- Daten werden beispielsweise als "Mipi CSI2" ausgegeben. Mittels einer Vorverarbeitung 3 werden die von dem optischen Sensor 1 ausgegebenen Bilddaten reduziert. Die Vorverarbeitung 3 umfasst dabei zwei Bereiche, nämlich das Selektieren 12 von Bilddaten auf dem optischen Sensor 1 selbst bzw. das Begrenzen der von dem optischen Sensor 1 aufgenomme nen Bilddaten, und das Reduzieren 13 der von dem optischen Sensor 1 ausgegebenen Bilddaten. In dem Ausführungsbeispiel werden zum Selek- tieren 12 ein Binning auf 640 x 400 Pixel und die Auswahl eines Teilbildes der Szene ("region of interest") durch "Cropping" mit der Steuerung von Shutter und Gain durchgeführt. Das Reduzieren 13 erfolgt mittels einer Bildpyramide. Um das Verhältnis von kompletter Bildansicht und Such mustergröße variabel zu gestalten, kann es vorgesehen sein, den Faktor der Bildreduktion in veränderlich einstellbaren Schritten, z. B. Ganzzahl schritten, zu wählen. In der dargestellten konkreten Realisierung erfolgt das Selektieren 12 direkt auf dem CMOS-Sensor und das Reduzieren 13 (Mittelwertbildung, Pyramide) in einer Stufe, die in dem FPGA der Vorrich tung realisiert ist, wie alle in der Figur 6 mit (*) markierten Funktions blöcke. Das resultierende Graubild an Videodaten des reduzierten Bildes 14 hat dann nur noch eine Auflösung von 128 x 128 Pixeln. Das Such- fenster wurde in der konkreten Realisierung mit einer festen Größe von 48 x 48 Pixeln realisiert.

Im Suchfenster wird zunächst der gleitende Mittelwert avg bestimmt. Dies geschieht vorzugsweise mit einem sogenannten Teleskop, das heißt nach- dem einmal der Mittelwert für alle Bildfenster in der obersten Zeile berechnet wurde, werden für jedes weitere Ergebnis nur noch zwei Addi tionen und zwei Subtraktionen sowie eine Normierung benötigt, weil die meisten Pixel und auch deren Summe mit den benachbarten Suchfenstern übereinstimmen. Dies beschleunigt die Berechnung des Mittelwertes, da er nicht komplett neu für alle darin berücksichtigten Pixel berechnet wer den muss, sondern nur noch die sich durch das Verschieben des Such fensters ergebenden geänderten Pixel in der gleitenden Berechnung berücksichtigt werden. Für das Berechnen des gleitenden Mittelwerts und auch für die modifi zierte Census-Transformation ist das Speichern der Bilddaten für so viele Zeilen nötig, wie sie der vertikalen Ausdehnung des Suchfensters ent spricht. Dies sind im konkreten Fall 48 Zeilen mit je 128 Pixeln, was einem Speicherbedarf von 6 kByte entspricht. Diese Speicherung erfolgt in einem Speicher 15, der nach dem First-In - First Out Prinzip (FIFO) arbeitet. Der Speicher 15 wird von einem Input-Adressgenerator 16 und einem Output-Adressgenerator 17 (auch als Random möglich) gesteuert.

Der Speicher 15 wurde als "Embedded Block RAM" in einem FPGA real i- siert, und zwar in sechs EBR Blöcken ä 1 kByte, die jeweils als dual-port RAM konfiguriert sind. Für die Berechnung der modifizierten Census- Transformation wird das RAM sequenziell über eine beschriebene Zufalls- folge adressiert. Dabei ist die Position der ausgewählten Pixel im Such fenster zwar möglichst zufällig und gleichmäßig im Fenster verteilt; die Folge ist aber für alle Suchfenster gleich, weshalb sie im FPGA fest abge legt werden kann, z. B. in einem ROM.

Ein Adressgenerator erzeugt für jede x-y- Position des Suchfensters die Zufallsfolge für das RAM, das die entsprechende Grauwertinformation für das Pixel ausgibt. Dieses wird in der Mustervergleichsstufe 18 mit dem zuvor berechneten gleitenden Mittelwert avg verglichen, was ein Bit der modifizierten Census-Transformation für das Suchfenster liefert.

Dieses Ergebnisbit kann sofort mittels eines XOR-Logikvergleichs mit dem entsprechenden Bit eines zuvor abgelegten transformierten, binarisierten Referenz vektors RI verglichen werden, der zu dem gesuchten Objekt gehört. Der Referenz vektor RI ist vorzugsweise in einem Schieberegister abgelegt. Die Anzahl der übereinstimmenden Pixel wird in einem Zähler ZI gezählt. Nachdem genügend (fester Wert k) "Stichproben" verglichen wurden, bewegt sich das Suchfenster um ein Pixel nach rechts bzw. beim letzten Pixel in einer Zeile an den Anfang (links) der nächsten Zeile.

In Figur 6 ist auch veranschaulicht, dass es mit relativ geringem Aufwand möglich ist, gleichzeitig mehrere abgespeicherte Objekte mit der modifi zierten Census-Transformation des Suchfensters zu vergleichen und somit gleichzeitig in dem Suchfenster bzw. dem Bild der Szene zu suchen. Hier- zu wird für jedes zu überprüfende Objekt ein transformierter, binarisierter Referenz vektor abgelegt (in dem Ausführungsbeispiel RI, R2, R3 und R4) und der Vergleich XOR mit dem Suchfenster erfolgt parallel und gleichzei tig, wobei die Anzahl der jeweils übereinstimmenden Pixel in einem jewei ligen Zähler (in dem Ausführungsbeispiel ZI, Z2, Z3 und Z4) abgelegt wird. Es ist auch möglich, die Anzahl der Zufallsstichproben k zwar für eine konkrete Suchaufgabe fest, von der Bedienung her aber variabel zu halten. So ist es z. B. auch möglich, das komplette Muster zu vergleichen, ohne die Bildreduktion durch das Zufallsmuster. Nach k Takten steht in den jeweiligen Zählern die Anzahl der Übereinstimmungen für das jeweils verglichene Muster zur Verfügung. In der beispielhaften konkreten Realisierung werden mit einer anschlie ßenden Maximumsbestimmung das jeweilige gleitende Maximum für den Zähler- bzw. Übereinstimmungswert sowie dessen Position in x- und y- Richtung und die Identifikation des entsprechenden Objektes gespeichert. Nach Bearbeitung eines kompletten Bildes werden diese Werte bzw. Ergebnisse global für das ganze Bild gültig und können von einem Mikro prozessor über die Auslesung 19 ausgelesen werden. Es ist auch möglich, Teilwerte sofort bei der Entstehung mit dem Mikroprozessor auszulesen und die Maximumsbestimmung über ein Programm zu realisieren. Die Auslesung 19 erfolgt über einen DMA-Kanal 20 für den Mikroprozessor, über den auch die Videodaten für das reduzierte Bild 14 übertragen wer den können.

Diese Art der Maximumsbestimmung wird auch als "Winner-Takes-AN"- Strategie bezeichnet. Um das Erkennen eines Objekts mit hinreichender Genauigkeit zu ermöglichen, wird ein Schwellwert verwendet. Bildern der Szene, bei denen der Schwellwert nicht erreicht wird, wird unterstellt, dass sie das Objekt nicht enthalten.

Die Figur 7 veranschaulicht die Maximumsbestimmung im Detail. In den XOR-Logikvergleichen werden die aktuellen modifizierten Census-Transfor- mations-Werte 21, die von der Mustervergleichsstufe bereitgestellt wer den, mit den Referenzvektoren R verglichen und die Anzahl der überein stimmenden Pixel wird in einem jeweiligen Zähler Z gezählt. Die aktuelle Bildposition 22 wird aus dem x- und y-Register bereitgestellt. In der Maximumsbestimmung 23 wird die jeweilige maximale Übereinstimmung bestimmt und die x-Position, die y-Position, die Identifikation n des zuge hörigen Objektes und der Zählerwert 24 für das gefundene Maximum werden gespeichert. Uber die Auslesung 19 erfolgt einmal pro Bild die Ausgabe dieser Werte an einen Mikroprozessor zur weiteren Auswertung. Alternativ kann die Maximumsbestimmung auch im FPGA statt in einem Mikroprozessor durchgeführt werden.

In Figur 8 ist dargestellt, wie das Verfahren mittels mehrerer "Embedded Block RAMs" (EBR) beschleunigt werden kann. In der konkreten Realisie rung wird eine zusätzliche Beschleunigung dadurch erreicht, dass jedes der verwendeten EBRs (insgesamt sechs Block-RAMs) parallel auslesbar ist, und zwar jeweils mit zwei Ports, womit eine Parallelisierung und Geschwindigkeitssteigerung mit dem Faktor 12 möglich wird. Für das Speichern von 48 Zeilen mit 128 Pixeln (ä 8 Bit) werden 6144 Byte Puffer speicher benötigt. Das verwendete FPGA stellt EBR-Speicher mit je 1024 Byte zur Verfügung. Die EBRs können als Dual-Port-RAM konfiguriert wer- den. Der Pixelinput 25 wird mittels der sechs EBRs und zwölf Komparato ren 26 parallelisiert mit dem Vergleichswert avg verglichen. Auf diese Weise können pro Takt jeweils zwölf Vergleiche gleichzeitig ausgeführt werden, was eine Beschleunigung um den Faktor zwölf bedeutet. Lediglich für das Eingeben und das Weiterschieben neuer Pixel muss pro Verarbei- tungsschritt ein Takt reserviert werden.

Die Figur 9 zeigt eine beispielhafte Prinzipskizze von Komponenten eines erfindungsgemäßen Systems. Der optische Sensor 1 hat beispielsweise eine Auflösung von 1280 x 800 Pixel. Die Vorverarbeitung 3 der Bilddaten erfolgt mit einem FPGA, beispielsweise durch eine Bildpyramide oder die Steuerung von Binning und Cropping des optischen Sensors 1. Die Video- Daten des optischen Sensors 1 werden über zwei Mipi CSI2 Lanes an den FPGA übertragen, der den optischen Sensor über eine I 2 C-Schnittstelle steuert. Die reduzierten Videodaten werden von dem FPGA parallel an einen Mikroprozessor 27 bzw. Mikrocontroller mit Datenspeicher (RAM), Programmspeicher (QSPI) und DMA übertragen. Der Mikroprozessor steu ert das FGPA über eine I 2 C- und SPI-Schnittstelle. Diverse Peripherie- Schnittstellen 28 (z. B. Ethernet, LAN, I 2 C, SPI, seriell, IO-Link, Profinet) können die Kommunikation des Mikroprozessors mit der Peripherie ermöglichen. Optional ist eine Display- und Bedieneinheit 29 vorgesehen. Eine Stromversorgung 30 kann als Power-Sequenzer, zum Überwachen und zum Reset dienen.

Bezugszeichenliste

I Optischer Sensor 2 Aufnahme

3 Vorverarbeitung

4 Modifizierte Census-Transformation

5 Mustervergleich

6 Maximumsermittlung 7 Schwellwert

8 Aussage

9 Bild der Szene

10 Suchfenster

II Bildausschnitt 12 Selektieren

13 Reduzieren

14 Reduziertes Bild

15 Speicher

16 Input-Adressgenerator 17 Output-Adressgenerator

18 Mustervergleichsstufe

19 Auslesung

20 DMA- Kanal

21 Aktueller Census-Transformations-Wert 22 Aktuelle Bildposition

23 Maximumsbestimmung

24 Zählerwert

25 Pixelinput

26 Komparatoren 27 Mikroprozessor

28 Peripherie-Schnittstellen

29 Display- und Bedieneinheit 30 Stromversorgung

A Arbeitsphase avg Mittelwert

EBR Embedded Block RAM L Lernphase n Identifikation

R Referenzvektor

XOR Logikvergleich

Z Zähler