-
HINTERGRUND
-
Verwandter Stand der Technik
-
Oft ist es nützlich, auf rasche und effiziente Weise Objekte in Bildern erkennen zu können. Die Bandbreite der Objekterkennungstechniken reicht von der Gesichtsdetektion zum Identifizieren von Personen auf Bildern bis zur optischen Zeichenerkennung (Optical Character Recognition, OCR) zum Identifizieren von Text in gescannten Dokumenten.
-
Es ist bereits eine große Anzahl von unterschiedlichen Systemen zum Erkennen von Objekten in Bildern entwickelt worden. Jedoch besitzen typische Bilderkennungssysteme (speziell Systeme für OCR) nur beschränkte Fähigkeiten, die Auflösung und Ausrichtung eines Bildes zu justieren. Genauer gesagt, arbeiten die derzeit verfügbaren OCR-Systeme in der Regel nur mit einer festen Auflösung, zum Beispiel 300 dpi. Darüber hinaus wird ein schiefstehendes Bild in der Regel durch Analysieren linearer Merkmale in dem Bild detektiert. Infolge dessen haben Bilderkennungssysteme Schwierigkeiten beim Erkennen von Merkmalen mit beliebigen Maßstäben und Ausrichtungen. Des Weiteren tun sich Bilderkennungssysteme besonders schwer beim Umgang mit Bildern, die in drei Dimensionen gedreht sind (wo ein Teil des Bildes weiter vom Betrachter entfernt ist als andere Teile des Bildes).
-
Ein weiterer Nachteil vieler Bilderkennungssysteme ist, dass sie dafür konfiguriert sind, mit binären Bildern zu arbeiten. Das heißt, dass interessierende Merkmale von nicht-binären Bildern in der Regel eliminiert werden, bevor der Erkennungsprozess beginnt. Deshalb konkurrieren die Anbieter von OCR-Software derzeit um die Leistungsfähigkeit ihrer Binärumwandlungs-Engines, anstatt sich auf die Nutzung aller in den Bildern verfügbaren Daten zu konzentrieren.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Eine Ausführungsform der vorliegenden Erfindung stellt ein System zum Erkennen eines Merkmals eines Bildes unabhängig von der Ausrichtung oder dem Maßstab des Bildes bereit. Während des Betriebes empfängt das System ein Bild. Als Nächstes identifiziert das System ein Merkmal innerhalb des Bildes. Das System führt dann eine Hauptkomponentenanalyse(Principal Component Analysis, PCA)-Operation an dem Merkmal aus, um eine Ausrichtung einer Hauptkomponente des Merkmals und einer Sekundärkomponente des Merkmals zu bestimmen, wobei die PCA-Operation ausgeführt wird, während Quellendaten für das Bild beibehalten werden. Zum Schluss erkennt das System das Merkmal durch Analysieren der Hauptkomponente des Merkmals und der Sekundärkomponente des Merkmals.
-
In einigen Ausführungsformen der vorliegenden Erfindung normalisiert das System das Merkmal, vor dem Erkennen des Merkmals, durch Drehen des Merkmals mit Bezug auf die Hauptkomponente des Merkmals, um das Merkmal in einer kanonischen Form anzuordnen.
-
In einigen Ausführungsformen der vorliegenden Erfindung normalisiert das System das Merkmal durch Berechnen einer Begrenzungsbox um das Merkmal und Komprimieren des Merkmals, bis die Begrenzungsbox eine normalisierte Breite hat.
-
In einigen Ausführungsformen der vorliegenden Erfindung normalisiert das System das Merkmal durch Berechnen einer Begrenzungsbox um das Merkmal und Expandieren des Merkmals, bis die Begrenzungsbox eine normalisierte Breite hat.
-
In einigen Ausführungsformen der vorliegenden Erfindung beinhaltet das Erkennen des Merkmals des Weiteren das Teilen des Merkmals in zwei oder mehr Teilmerkmale. Als Nächstes wählt das System ein bestimmtes Teilmerkmal aus den zwei oder mehr Teilmerkmalen aus. Das System führt dann eine PCA-Operation an dem bestimmten Teilmerkmal aus, um eine Hauptkomponente des bestimmten Teilmerkmals und eine Sekundärkomponente des bestimmten Teilmerkmals zu bestimmen. Zum Schluss analysiert das System die Hauptkomponente des bestimmten Teilmerkmals und die Sekundärkomponente des bestimmten Teilmerkmals.
-
In einigen Ausführungsformen der vorliegenden Erfindung teilt das System das Teilmerkmal rekursiv in kleinere Teilmerkmale, bis das Merkmal erkannt ist.
-
In einigen Ausführungsformen der vorliegenden Erfindung beinhaltet das Teilen des Merkmals in zwei oder mehr Teilmerkmale das Teilen des Merkmals in Quadranten.
-
In einigen Ausführungsformen der vorliegenden Erfindung beinhaltet das Identifizieren des Merkmals mindestens eines von Folgendem: Auswählen des gesamten Bildes; Auswählen eines festgelegten Abschnitts des Bildes; Auswählen eines Abschnitts des Bildes einer festen Größe; Auswählen eines Satzes verbundener Komponenten aus dem Bild; Auswählen eines Ergebnisses einer Parallaxenanalyse des Bildes; und Auswählen eines Ergebnisses einer Bewegungsflussanalyse des Bildes.
-
In einigen Ausführungsformen der vorliegenden Erfindung beinhaltet das Ausführen der PCA-Operation analem Merkmal das Verwenden begrenzter Informationen von jedem Pixel innerhalb des Merkmals.
-
In einigen Ausführungsformen der vorliegenden Erfindung beinhaltet das Ausführen der PCA-Operation an dem Merkmal das Verwenden aller Informationen von jedem Pixel innerhalb des Merkmals.
-
In einigen Ausführungsformen der vorliegenden Erfindung beinhaltet das Ausführen der PCA-Operation an dem Merkmal das Analysieren des Merkmals gemäß einem Farbton-Sättigung-Hellwert-Farbmodell (”hue-saturation-value color model”).
-
In einigen Ausführungsformen der vorliegenden Erfindung beinhaltet das Ausführen der PCA-Operation an dem Merkmal das Analysieren des Merkmals gemäß einem Farbton-Sättigung-Intensität-Farbmodell (”hue-saturation-intensity color model”).
-
In einigen Ausführungsformen der vorliegenden Erfindung beinhaltet das Empfangen des Bildes das Empfangen des Bildes von einem Bildscanner oder einer Fotokamera oder einer Videokamera.
-
In einigen Ausführungsformen der vorliegenden Erfindung beinhaltet das Erkennen des Merkmals des Weiteren das Bestimmen eines Zeichens aus einer Zeichenbibliothek, die das Merkmal darstellt.
-
KURZE BESCHREIBUNG DER FIGUREN
-
1 veranschaulicht eine Computerumgebung gemäß einer Ausführungsform der vorliegenden Erfindung.
-
2 veranschaulicht ein System gemäß einer Ausführungsform der vorliegenden Erfindung.
-
3A–3D veranschaulichen Bildmerkmale gemäß einer Ausführungsform der vorliegenden Erfindung.
-
4 zeigt ein Flussdiagramm, das den Prozess des Erkennens eines Merkmals gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht.
-
DETAILLIERTE BESCHREIBUNG
-
Die folgende Beschreibung soll es dem Fachmann ermöglichen, die Erfindung zu praktizieren und zu nutzen, und erfolgt im Kontext einer konkreten Anwendung und ihrer Anforderungen. Dem Fachmann fallen ohne weiteres verschiedene Modifizierungen an den offenbarten Ausführungsformen ein, und die im vorliegenden Text beschriebenen allgemeinen Prinzipien können auch auf andere Ausführungsformen und Anwendungen angewendet werden, ohne vom Geist und Geltungsbereich der vorliegenden Erfindung abzuweichen. Die vorliegende Erfindung ist also nicht auf die gezeigten Ausführungsformen beschränkt; vielmehr ist ihr im Rahmen der im vorliegenden Text offenbarten Prinzipien und Merkmale der breitestmögliche Geltungsbereich einzuräumen.
-
Die Datenstrukturen und der Code, die in dieser detaillierten Beschreibung dargelegt sind, sind in der Regel auf einem computerlesbaren Speichermedium gespeichert, bei dem es sich um eine beliebige Vorrichtung bzw. ein beliebiges Medium handeln kann, die bzw. den Code und/oder Daten zur Verwendung durch ein Computersystem speichern können. Zu solchen computerlesbaren Speichermedien zählen beispielsweise flüchtiger Speicher, nicht-flüchtiger Speicher, magnetische und optische Speichervorrichtungen wie zum Beispiel Diskettenlaufwerke, Magnetbänder, CDs (Compact Discs), DVDs (Digital Versatile Discs oder Digital Video Discs) oder sonstige derzeit verfügbare oder noch zu entwickelnde Medien, die in der Lage sind, Code und/oder Daten zu speichern.
-
Die in der detaillierten Beschreibung beschriebenen Verfahren und Prozesse können als Code und/oder Daten verkörpert sein, die auf einem nicht-transitorischen computerlesbaren Speichermedium, wie oben beschrieben, gespeichert werden können. Wenn ein Computersystem den Code und/oder die Daten, die auf dem nicht-transitorischen computerlesbaren Speichermedium gespeichert sind, liest und ausführt, so führt das Computersystem die Verfahren und Prozesse aus, die als Datenstrukturen und Code verkörpert und auf dem nicht-transitorischen computerlesbaren Speichermedium gespeichert sind.
-
Des Weiteren können die unten beschriebenen Verfahren und Prozesse in Hardware-Modulen enthalten sein. Zu solchen Hardware-Modulen gehören beispielsweise Anwendungsspezifische Integrierte Schaltkreis(ASIC)-Chips, Feld-programmierbare Gate-Arrays (FPGAs) und andere Bausteine mit programmierbarer Logik, die derzeit verfügbar sind oder später noch entwickelt werden. Wenn die Hardware-Module aktiviert werden, so führen die Hardware-Module die in den Hardware-Modulen enthaltenen Verfahren und Prozesse aus.
-
Übersicht
-
Eine Ausführungsform der vorliegenden Erfindung stellt ein System zum Erkennen eines Merkmals eines Bildes unabhängig von der Ausrichtung oder dem Maßstab des Bildes bereit. Während des Betriebes empfängt das System ein Bild. Als Nächstes identifiziert das System ein Merkmal innerhalb des Bildes. Das System führt dann eine Hauptkomponentenanalyse(Principal Component Analysis, PCA)-Operation an dem Merkmal aus, um eine Ausrichtung einer Hauptkomponente des Merkmals und einer Sekundärkomponente des Merkmals zu bestimmen, wobei die PCA-Operation ausgeführt wird, während Quellendaten für das Bild beibehalten werden. Als Nächstes normalisiert das System das Merkmal durch Drehen des Merkmals mit Bezug auf die Hauptkomponente des Merkmals, um das Merkmal in einer kanonischen Form anzuordnen. Zum Schluss erkennt das System das Merkmal durch Analysieren der Hauptkomponente des normalisierten Merkmals und der Sekundärkomponente des normalisierten Merkmals.
-
Es ist zu beachten, dass der Schritt des Normalisierens des Merkmals in einigen Ausführungsformen nicht notwendig ist. Wenn das Bild zum Beispiel von einer gesteuerten Quelle, wie zum Beispiel einem Flachbettscanner, empfangen wird, wo die Ausrichtung des Merkmals bekannt ist, so ist es möglicherweise nicht notwendig, das Merkmal zu normalisieren. In diesem Beispiel können die Informationen in der Hauptkomponente helfen, das Merkmal zu klassifizieren, anstatt das Merkmal auszurichten.
-
Des Weiteren ist zu beachten, dass, obgleich die Beschreibung im vorliegenden Text das Verwenden der Primär- und Sekundärkomponenten des Merkmals zum Erkennen des Merkmals bespricht, auch andere Komponenten für den Klassifizierungsprozess von Bedeutung sein können. Wenn zum Beispiel in einigen Ausführungsformen Farbinformationen für jedes Pixel in dem Merkmal verfügbar sind, so kann das System zusätzliche Komponenten, die zu den Farbinformationen in Beziehung stehen, zum Erkennen des Merkmals verwenden. Darüber hinaus kann in einer weiteren Ausführungsform der vorliegenden Erfindung – wenn das Bild aus einem Video-Stream stammt – der Video-Stream zusätzliche Komponenten enthalten, die für das Erkennen des Merkmals von Nutzen sind.
-
Zum Beispiel wird in einer Ausführungsform der vorliegenden Erfindung, nachdem die PCA-Operation an dem Merkmal ausgeführt wurde, das Merkmal so gedreht, dass der Hauptkomponentenvektor des Merkmals gerade nach oben weist. An diesem Punkt kann eine Erstklassifizierung des Merkmals anhand des Hauptkomponentenvektors und des Sekundärkomponentenvektors vorgenommen werden. In einer Ausführungsform der vorliegenden Erfindung, bei der Text erkannt wird, kann eine einzige PCA-Operation ausreichen, um einige Zeichen zu erkennen. Es ist zu beachten, dass, obgleich sich die Beschreibung im vorliegenden Text auf Ausführungsformen zum Erkennen von Text bezieht, die Ausführungsformen der vorliegenden Erfindung keineswegs auf die Texterkennung beschränkt sein sollen. In einigen Ausführungsformen kann praktisch jede Art von Objekt erkannt werden.
-
Indem das Merkmal in einer solchen Weise gedreht wird, dass der Hauptkomponentenvektor gerade nach oben weist, spielt die ursprüngliche Ausrichtung des Merkmals in dem Bild keine Rolle. Es ist des Weiteren zu beachten, dass durch Drehen individueller Merkmale nicht die Ausrichtung des gesamten Bildes festgestellt zu werden braucht, wie es in vielen anderen Bilderkennungssystemen notwendig ist. Zum Beispiel haben der Buchstabe „A”, der sich in einer normalen Leseausrichtung befindet, und ein weiterer Buchstabe „A”, der um 90 Grad im Uhrzeigersinn gedreht ist, am Ende die gleichen PCA-Werte, nachdem die Zeichen zu einer kanonischen Form gedreht wurden. Es ist zu beachten, dass die kanonische Form nicht zur Folge haben muss, dass sich der Hauptkomponentenvektor in einer vertikalen Position befindet. Entscheidend ist hier, dass der Hauptkomponentenvektor immer in dieselbe Richtung weist. Für den Hauptkomponentenvektor kann jede beliebige Richtung gewählt werden.
-
In einigen Ausführungsformen der vorliegenden Erfindung normalisiert das System das Merkmal durch Berechnen einer Begrenzungsbox um das Merkmal und Komprimieren des Merkmals, bis die Begrenzungsbox eine normalisierte Breite hat. Auf diese Weise kann das System Zeichen Rechnung tragen, die im dreidimensionalen Raum geneigt sind. Nehmen wir zum Beispiel Text, der in einer Fotografie auf eine Wand geschrieben ist, wobei die Wand in einem Winkel zum Fotografen steht. Text auf der Wand, der sich sehr nahe beim Fotografen befindet, kann gedehnt oder länglich erscheinen – besonders, wenn er sich am Rand der Fotografie befindet.
-
In einigen Ausführungsformen der vorliegenden Erfindung normalisiert das System das Merkmal durch Berechnen einer Begrenzungsbox um das Merkmal und Expandieren des Merkmals, bis die Begrenzungsbox eine normalisierte Breite hat.
-
Das Gleiche, was oben mit Bezug auf die geneigten Merkmale, die gedehnt erscheinen, gesagt wurde, gilt auch für geneigte Merkmale, die gestaucht erscheinen. In dem obigen Beispiel kann auf die Wand geschriebener Text, der mehr in der Mitte der Fotografie und weiter vom Fotografen entfernt zu sehen ist, im Vergleich zu normalen Zeichen gequetscht oder gestaucht erscheinen. In diesem Beispiel kann das Zeichen auf eine normalisierte Breite expandiert werden, um die Erkennung zu erleichtern.
-
Es ist zu beachten, dass in einigen Ausführungsformen auch andere Formen der Normalisierung angewendet werden können. Zum Beispiel kann das System in einer Ausführungsform das Bild durch Justieren des Maßstabs des Bildes anhand der Hauptkomponente normalisieren.
-
In einigen Ausführungsformen der vorliegenden Erfindung beinhaltet das Erkennen des Merkmals des Weiteren das Teilen des Merkmals in zwei oder mehr Teilmerkmale. Als Nächstes wählt das System ein bestimmtes Teilmerkmal aus den zwei oder mehr Teilmerkmalen aus. Das System führt dann eine PCA-Operation an dem bestimmten Teilmerkmal aus, um eine Hauptkomponente des bestimmten Teilmerkmals und eine Sekundärkomponente des bestimmten Teilmerkmals zu bestimmen. Zum Schluss analysiert das System die Hauptkomponente des bestimmten Teilmerkmals und die Sekundärkomponente des bestimmten Teilmerkmals.
-
Wie zuvor beschrieben, nimmt das System eine Erstklassifizierung durch Ausführen der PCA-Operation an dem Merkmal vor. Das führt zu einer Erstklassifizierung. Nachdem diese Erstklassifizierung vorgenommen wurde, kann es notwendig sein, einige Zeichen weiter zu analysieren, um sie zu erkennen. Nehmen wir zum Beispiel die Zeichen ”M” und ”W”. Bei diesen beiden Zeichen ist (in den meisten Schriftarten) der Hauptkomponentenvektor vor der Drehung horizontal, und der Sekundärkomponentenvektor ist vertikal. Es ist zu beachten, dass bei PCA-Operationen der Sekundärkomponentenvektor immer orthogonal zu dem Hauptkomponentenvektor verläuft. Oder anders ausgedrückt: Nach der ersten PCA-Operation sind die Komponentenvektoren für das ”M” und das ”W” einander so ähnlich, dass eine weitere Analyse erforderlich ist.
-
In einigen Ausführungsformen der vorliegenden Erfindung teilt das System das Teilmerkmal rekursiv in kleinere Teilmerkmale, bis das Merkmal erkannt ist. Es ist zu beachten, dass das System bis zur Identifizierung des Merkmals die Teilmerkmale weiter in immer kleinere Teile aufbricht.
-
In einigen Ausführungsformen der vorliegenden Erfindung beinhaltet das Teilen des Merkmals in zwei oder mehr Teilmerkmale das Teilen des Merkmals in Quadranten. Es ist zu beachten, dass jedes beliebige System zum Unterteilen des Merkmals verwendet werden kann.
-
In einigen Ausführungsformen der vorliegenden Erfindung beinhaltet das Identifizieren des Merkmals mindestens eines von Folgendem: Auswählen des gesamten Bildes; Auswählen eines festgelegten Abschnitts des Bildes; Auswählen eines Abschnitts des Bildes einer festen Größe; Auswählen eines Satzes verbundener Komponenten aus dem Bild; Auswählen eines Ergebnisses einer Parallaxenanalyse des Bildes; und Auswählen eines Ergebnisses einer Bewegungsflussanalyse des Bildes.
-
Es ist zu beachten, dass praktisch jeder beliebige Prozess zum Identifizieren eines Merkmals verwendet werden kann. In einigen Ausführungsformen der vorliegenden Erfindung kann das Merkmal sogar durch einen Benutzer ausgewählt werden.
-
In einigen Ausführungsformen der vorliegenden Erfindung beinhaltet das Ausführen der PCA-Operation an dem Merkmal das Verwenden begrenzter Informationen von jedem Pixel innerhalb des Merkmals. Zum Beispiel braucht die PCA-Operation in einer Ausführungsform nur die Intensität jedes Pixels zu analysieren, während die PCA-Operation in einer weiteren Ausführungsform nur den Farbton zu analysieren braucht.
-
In einigen Ausführungsformen der vorliegenden Erfindung beinhaltet das Ausführen der PCA-Operation an dem Merkmal das Verwenden aller Informationen von jedem Pixel innerhalb des Merkmals. Zum Beispiel kann die PCA-Operation die Farbe jedes Pixels während der Analyse analysieren.
-
In einigen Ausführungsformen der vorliegenden Erfindung beinhaltet das Ausführen der PCA-Operation an dem Merkmal das Analysieren des Merkmals gemäß einem Farbton-Sättigung-Wert-Farbmodell, während in anderen Ausführungsformen der vorliegenden Erfindung das Ausführen der PCA-Operation an dem Merkmal das Analysieren des Merkmals gemäß einem Farbton-Sättigung-Intensität-Farbmodell beinhaltet. Es ist zu beachten, dass jedes beliebige Farbmodell mit Ausführungsformen der vorliegenden Erfindung für das Ausführen der PCA-Operation verwendet werden kann.
-
In einigen Ausführungsformen der vorliegenden Erfindung beinhaltet das Empfangen des Bildes das Empfangen des Bildes von einem Bildscanner oder einer Fotokamera oder einer Videokamera. Es ist zu beachten, dass jede beliebige Quelle zum Empfangen eines digitalen Bildes verwendet werden kann.
-
In einigen Ausführungsformen der vorliegenden Erfindung beinhaltet das Erkennen des Merkmals des Weiteren das Bestimmen eines Zeichens aus einer Zeichenbibliothek, die das Merkmal darstellt. Wie zuvor besprochen, können sich Ausführungsformen der vorliegenden Erfindung für OCR-Zwecke gegenseitig unterstützen.
-
Computerumgebung
-
1 veranschaulicht eine Computerumgebung 100 gemäß einer Ausführungsform der vorliegenden Erfindung. Die Computerumgebung 100 enthält eine Anzahl von Computersystemen, die allgemein jeden beliebigen Typ eines Computersystems enthalten können, das auf einem Mikroprozessor, einem Großrechner, einem digitalen Signalprozessor, einem tragbaren Computergerät, einem Personal Organizer, einem Geräte-Controller oder einer Rechen-Engine in einer Netzwerkkomponente basiert. Genauer gesagt, enthält die Computerumgebung 100 – wie in 1 zu sehen – Clients 110–112, Nutzer 120 und 121, Server 130–150, ein Netzwerk 160, eine Datenbank 170, Endgeräte 180 und eine Netzwerkkomponente 190.
-
Die Clients 110–112 können einen beliebigen Knoten in einem Netzwerk enthalten, der Rechenfähigkeiten besitzt und einen Mechanismus zum Kommunizieren in dem Netzwerk enthält.
-
Darüber hinaus können die Clients 110–112 eine Schicht in einer n-Schichten-Anwendungsarchitektur umfassen, wobei die Clients 110–112 als Server fungieren (die Anfragen von niedrigeren Schichten oder von Nutzern bearbeiten) und die Clients 110–112 als Clients fungieren (die Anfragen zu einer höheren Schicht weiterleiten).
-
Gleichermaßen können die Server 130–150 allgemein jeden beliebigen Knoten in einem Netzwerk enthalten, der einen Mechanismus zum Bearbeiten von Anfragen von einem Client bezüglich Rechen- und/oder Datenspeicherressourcen enthält. Die Server 130–150 können an einem höheren Rechencluster beteiligt sein oder können als eigenständige Server fungieren. In einer Ausführungsform der vorliegenden Erfindung ist der Server 140 ein Online-„Hot Spare” des Servers 150.
-
Die Nutzer 120 und 121 können sein: eine Einzelperson; eine Gruppe von Personen; eine Organisation; einen Gruppe von Organisationen; ein Rechensystem; eine Gruppe von Rechensystemen; oder eine beliebige andere Entität, die mit der Computerumgebung 100 interagieren kann.
-
Das Netzwerk 160 kann jeden beliebigen Typ eines verdrahteten oder drahtlosen Kommunikationskanals enthalten, der Rechenknoten miteinander koppeln kann. Dazu gehören beispielsweise ein Nahbereichsnetz, ein Fernbereichsnetz oder eine Kombination von Netzwerken. In einer Ausführungsform der vorliegenden Erfindung umfasst das Netzwerk 160 das Internet. In einigen Ausführungsformen der vorliegenden Erfindung umfasst das Netzwerk 160 Festnetz- und Mobilfunknetze.
-
Die Datenbank 170 kann einen beliebigen Typ eines Systems zum Speichern von Daten in nicht-flüchtigem Speicher enthalten. Dazu zählen beispielsweise Systeme, die auf magnetischen, optischen oder magneto-optischen Speichervorrichtungen basieren, sowie Speichervorrichtungen auf der Basis von Flash-Speicher und/oder batteriegestütztem Speicher. Es ist zu beachten, dass die Datenbank 170 mit einem Server (wie zum Beispiel dem Server 150), einem Client oder direkt mit einem Netzwerk gekoppelt sein kann.
-
Die Endgeräte 180 können ein beliebiger Typ elektronischer Endgeräte sein, die mit einem Client, wie zum Beispiel dem Client 112, gekoppelt werden können. Dazu zählen beispielsweise Zelltelefone, Personal Digital Assistants (PDAs), Smartphones, persönliche Musikwiedergabegeräte (wie zum Beispiel MP3-Player), Spielesysteme, Digitalkameras, Videokameras, tragbare Speichermedien oder alle sonstigen Endgeräte, die mit dem Client gekoppelt werden können. Es ist zu beachten, dass die Endgeräte 180 in einigen Ausführungsformen der vorliegenden Erfindung direkt mit dem Netzwerk 160 gekoppelt werden können und in der gleichen Weise wie Clients 110–112 fungieren können.
-
Bei der Netzwerkkomponente 190 kann es sich um einen beliebigen Typ einer Netzwerkkomponente handeln, die mit dem Netzwerk 160 gekoppelt werden kann. Dazu gehören beispielsweise Router, Switches, Lastausgleicher, Netzwerkbeschleuniger und Spezialprozessoren. Die Netzwerkkomponente 190 kann als ein Gateway, ein Proxy oder ein Umsetzer zwischen Server 140 und Netzwerk 160 fungieren.
-
Es ist zu beachten, dass verschiedene Ausführungsformen der vorliegenden Erfindung mit verschiedenen Systemkonfigurationen arbeiten können und nicht auf die Systemkonfiguration beschränkt sind, die in der Computerumgebung 100 veranschaulicht ist. Generell kann jede Vorrichtung, die über das Netzwerk 160 kommunizieren kann, Elemente der vorliegenden Erfindung enthalten.
-
System
-
2 veranschaulicht ein System 200 gemäß einer Ausführungsform der vorliegenden Erfindung. Wie in 2 veranschaulicht, kann das System 200 einen Server 150, eine Datenbank 170, eine Netzwerkkomponente 190, einen Client 110, Endgeräte 180 oder beliebige Kombinationen davon umfassen. Das System 200 kann außerdem einen Empfangsmechanismus 202, einen Identifikationsmechanismus 204, einen Analysemechanismus 206, einen Normalisierungsmechanismus 208, einen Erkennungsmechanismus 210, einen Prozessor 220 und einen Speicher 222 enthalten.
-
Bildmerkmale
-
Die 3A–3D veranschaulichen Bildmerkmale gemäß einer Ausführungsform der vorliegenden Erfindung. Insbesondere veranschaulicht 3A ein Bildmerkmal, das ein Kleinbuchstabe ”b” ist, während 3C ein Bildmerkmal veranschaulicht, das ein Großbuchstabe ”F” ist.
-
3B veranschaulicht den Kleinbuchstaben ”b” von 3A, nachdem eine PCA-Operation ausgeführt wurde. Wie zu sehen ist, weist der Hauptkomponentenvektor des Kleinbuchstabens ”b” nach unten und ein wenig nach rechts, was die primäre Variabilität in dem Bildmerkmal anzeigt. Der Sekundärkomponentenvektor, der immer orthogonal ist, weist ein wenig nach oben und nach rechts, um die sekundäre Variabilität des Bildmerkmals anzuzeigen.
-
Gleichermaßen veranschaulicht 3D den Großbuchstaben ”F” von 3C, nachdem eine PCA-Operation ausgeführt wurde. Wie veranschaulicht, weist der Hauptkomponentenvektor des Großbuchstabes ”F” nach oben und ein wenig nach rechts, was die primäre Variabilität in dem Bildmerkmal anzeigt. Der Sekundärkomponentenvektor ist weist ein wenig nach unten und nach rechts, um die sekundäre Variabilität des Bildmerkmals anzuzeigen.
-
Es ist zu beachten, dass, wenn das Ausführen der PCA-Operation an diesen zwei Merkmalen nicht genug Informationen erbringt, um die Zeichen zu identifizieren, die Merkmale dann in Teilkomponenten unterteilt werden und weitere PCA-Operationen an den Teilkomponenten ausgeführt werden. Dieser Prozess wird rekursiv wiederholt, bis die Zeichen identifiziert sind.
-
Wie zuvor angesprochen, wird – um die Drehung und Neigung im Originalbild zu berücksichtigen – in einigen Ausführungsformen der vorliegenden Erfindung jedes Merkmal nach der PCA-Operation so gedreht, dass der Hauptkomponentenvektor nach oben weist, um jedes Merkmal in eine kanonische Form zu bringen. Es ist zu beachten, dass nicht jedes Merkmal wirklich gedreht zu werden braucht, sondern dass jede beliebige Verarbeitungstechnik das Merkmal so verarbeiten kann, als wäre es gedreht worden. Es ist des Weiteren zu beachten, dass, nachdem das Merkmal zu einer kanonischen Form gedreht wurde, dieser Drehungsschritt nicht für Teilkomponenten des Merkmals wiederholt wird.
-
Erkennen eines Merkmals
-
4 zeigt ein Flussdiagramm, das den Prozess des Erkennens eines Merkmals gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht. Während des Betriebes empfängt der Empfangsmechanismus 202 ein Bild (Operation 402) von einer Quelle, wie zum Beispiel von Endgeräten 180, der Netzwerkkomponente 190 oder auch einem Benutzer 120. Als Nächstes identifiziert der Identifikationsmechanismus 204 ein Merkmal innerhalb des Bildes (Operation 404). Dieses Merkmal kann alles enthalten: von einem Textzeichen über das Gesicht einer Person bis hin zu einem Strichcode auf einem Produkt. Wie zuvor beschrieben, beinhaltet das Identifizieren des Merkmals mindestens eines von Folgendem: Auswählen des gesamten Bildes; Auswählen eines festgelegten Abschnitts des Bildes; Auswählen eines Abschnitts des Bildes einer festen Größe; Auswählen eines Satzes verbundener Komponenten aus dem Bild; Auswählen eines Ergebnisses einer Parallaxenanalyse des Bildes; und Auswählen eines Ergebnisses einer Bewegungsflussanalyse des Bildes.
-
Nachdem ein Merkmal identifiziert wurde, führt der Analysemechanismus 206 eine Hauptkomponentenanalyse(Principal Component Analyse, PCA)-Operation an dem Merkmal aus, um eine Ausrichtung einer Hauptkomponente des Merkmals und einer Sekundärkomponente des Merkmals zu bestimmen (Operation 406), wobei die PCA-Operation ausgeführt wird, während Quellendaten für das Bild beibehalten werden. Als Nächstes normalisiert der Normalisierungsmechanismus 208 in einigen Ausführungsformen das Merkmal durch Drehen des Merkmals mit Bezug auf die Hauptkomponente des Merkmals, um das Merkmal in einer kanonischen Form anzuordnen (Operation 408). Es ist zu beachten, dass, wie zuvor beschrieben, eine Normalisierung nicht unbedingt in allen Ausführungsformen erforderlich sein muss. Zum Schluss erkennt der Erkennungsmechanismus 210 das Merkmal durch Analysieren der Hauptkomponente des normalisierten Merkmals und der Sekundärkomponente des normalisierten Merkmals sowie jeglicher weiteren Komponenten, die in dem Merkmal gefunden werden (Operation 410). Es ist zu beachten, dass es notwendig sein kann, das Merkmal rekursiv in Teilkomponenten zu unterteilen und PCA-Operationen an den Teilkomponenten auszuführen, bis eine Erkennung vorgenommen werden kann. Es ist des Weiteren zu beachten, dass in einigen Ausführungsformen der vorliegenden Erfindung das System eine Bibliothek aus PCA-Vektorwerten für Merkmale und ihre Teilkomponenten verwaltet, die das Erkennen der Merkmale unterstützen.
-
Die obigen Beschreibungen von Ausführungsformen der vorliegenden Erfindung dienen nur dem Zweck der Veranschaulichung und Beschreibung. Sie sollen weder erschöpfend sein, noch sollen sie die vorliegende Erfindung auf die offenbarten Formen beschränken. Dementsprechend fallen dem einschlägig bewanderten Fachmann viele Modifizierungen und Variationen ein. Darüber hinaus soll die obige Offenbarung nicht die vorliegende Erfindung einschränken. Der Geltungsbereich der vorliegenden Erfindung wird durch die beigefügten Ansprüche definiert.