VERFAHREN ZUM ERKENNEN VON OBJEKTEN IN DIGITALISIERTEN ABBILDUNGEN
Gebiet der Erfindung
Die Erfindung betrifft ein Verfahren zum automatisierten Erkennen einer oder mehrerer Strukturen bzw. eines oder mehrerer Objekte in digitalisierten Bilddaten.
Stand der Technik
Verfahren zum automatisierten Erkennen eines Objekts in digitalisierten Bilddaten sind im Stand der Technik bekannt.
So ist beispielsweise aus der DE 44 06 020 ein Verfahren zur Gesichtserkennung bekannt. Gemäß diesem Verfahren werden aus einem digitalisierten Bild mit Gaborfiltern verschiedener Größe und Orientierung, sogenannte Jets extrahiert, die an den Knoten eines verschiebbaren, skalierbaren und deformierbaren Gitters angeordnet werden. Dieser Graph, d.h. die Struktur des Gitters und die mit den Knoten des Gitters assoziierten Jets, werden mit einem Referenzgraphen, der die zu erkennende Struktur umfaßt, verglichen. Hierzu wird die optimale Form des Gitters durch eine zweistufige Optimierung einer Graphenvergleichsfunktion bestimmt. In der ersten Phase werden Größe und Position des Graphen simultan optimiert; in der zweiten Phase wird die intrinsische Form des Graphen optimiert.
Es hat sich allerdings gezeigt, daß ein erfolgreiches Erkennen einer Struktur oder eines Objekts mit diesem Verfahren sehr stark von der Qualität, insbesondere der Beschaffenheit des Hintergrunds, der Bilddaten, welche die zu erkennende Struktur beinhalten, abhängt. So können mit diesem Verfahren zwar gute Ergebnisse
erzielt werden, wenn die Struktur und das Objekt vor einen neutralen Hintergrund aufgenommen worden sind. In Anwendungen, in denen es jedoch nicht möglich ist, die Bilddaten vor einem neutralen Hintergrund aufzunehmen, können bei dem bekannten Verfahren allerdings Probleme auftreten, die letztlich dazu führen können, daß Strukturen und Objekte nur mangelhaft erkannt werden.
Aus dem Gebiet der Gesichtserkennung, ist ein weiteres Verfahren bekannt, bei dem der Vergleich zwischen dem mit einer Videokamera aufgenommenen Bild eines Kopfes und mehreren in einer Datenbank in gespeicherten Bildern von Köpfen durch einen flexiblen Abbildungsmechanismus realisiert wird, wobei die bestmögliche Abbildung durch ein Optimierungsverfahren bestimmt wird (siehe Lades et al., IEEE Transactions on Computers, 42, 300-311 ).
Ein Nachteil dieses Verfahrens, ist es allerdings, daß das Verfahren nicht zur Bearbeitung großer Datenmengen geeignet scheint. So konnten Lades et al. zwar ein Bild eines Kopfes aus einer Datenbank, die aus Bildern von 87 Personen bestand, erkennen; bei einer Vielzahl von Anwendungen ist allerdings mit wesentlich größeren Referenzdatenbanken zu rechnen.
Darüber hinaus wurde das Verfahren von Lades et al. nur mit einer speziellen Hardware-Konfiguration, nämlich mit Transputem, d.h. mit mehreren in vorbestimmter Weise miteinander verschalteten Mikroprozessoren, realisiert.
Angesichts dieser Nachteile der Verfahren gemäß dem Stand der Technik liegt der Erfindung die Aufgabe zugrunde, die bekannten Verfahren dahingehend zu verbessern, daß ihre Robustheit gegenüber weniger optimalen Bilddaten im Vergleich zum bekannten Verfahren erhöht wird, wobei zusätzlich gewährleistet sein soll, daß das Verfahren mit herkömmlichen Mitteln realisiert werden kann.
Beschreibung der Erfindung
Diese oben stehende Aufgabe wird gelöst durch ein Verfahren zum automatisierten Erkennen einer oder mehrerer Strukturen in digitalisierten Bilddaten mit den Schritten:
(a) Zurverfügungstellen wenigstens eines Referenzgraphen aus digitalisierten Referenzbilddaten entsprechender Referenzbilder, wobei der oder jeder Referenzgraph eine netzartige Struktur, die jeweils dadurch definiert wird, daß bestimmten Referenzbilddaten Knoten, die durch Links in vorbestimmter Weise miteinander verbunden sind, zugewiesen werden, und Jets umfaßt, wobei jedem Knoten ein Jet zugeordnet ist und jeder Jet wenigstens einen Teiljet umfaßt, der durch Faltungen wenigstens einer Klasse von Filterfunktionen mit verschiedenen Größen und/oder Orientierungen mit den Referenzbilddaten des entsprechenden Referenzbildes an dem bestimmten Knoten oder durch Faltungen wenigstens einer Klasse von Filterfunktionen mit verschiedenen Größen und/oder Orientierungen mit farbseg- mentierten Referenzbilddaten des entsprechenden Referenzbildes an dem bestimmten Knoten oder durch Farbinformation über die Referenzbilddaten an dem bestimmten Knoten oder durch mit statistischen Verfahren gewonnenen Texturbeschreibungen der Referenzbilddaten an dem bestimmten Knoten oder durch aus zeitlich aufeinanderfolgenden Referenzabbildungen extrahierten Beweguπgsvekto- ren an dem bestimmten Knoten ermittelt wird,
(b) Ermitteln eines optimalen Bildgraphen aus den digitalisierten Bilddaten für jeden Referenzgraphen, wobei der optimale Bildgraph für einen bestimmten Referenzgraphen die optimale Anpassung an diesen darstellt und ermittelt wird durch ein Projizieren der netzartigen Struktur des bestimmten Referenzgraphen in die Bilddaten, wodurch die Struktur des Bildgraphen definiert wird, und Ermitteln von Teiljets des Bildgraphen an den durch seine Struktur definierten Knoten, wobei die
Teiljets mindestens einem Teil der ermittelten Teiljets des bestimmten Referenzgraphen entsprechen, und wobei die Projektion der netzartigen Struktur des bestimmten Refereπzgraphen, so lange variiert wird, bis eine Graphenvergleichsfunktion, welche die Jets des Bildgraphen mit den entsprechenden Jets des bestimmten Referenzgraphen vergleicht, optimal wird,
(c) Zuordnen der oder jeder Struktur zu dem Referenzbild, das dem Referenzgraphen entspricht, für den die Graphenvergleichsfunktion in Bezug auf den für ihn ermittelten optimalen Bildgraphen optimal ist.
Durch dieses Verfahrens kann gleichzeitig qualitativ unterschiedliche Bildinformation, wie sie beispielsweise Faltungen der Klasse/Klassen von Filterfunktionen mit beliebigen Größen und/oder Orientierungen mit den Bilddaten und/oder Faltungen der Klasse/Klassen von Filterfunktionen mit beliebigen Größen und/oder Orientierungen mit farbsegmentierten Bilddateπ und/oder Farbinformation über die Bilddaten und/oder durch mit statistischen Verfahren gewonnenen Texturbeschreibungen der Bilddaten und/oder durch aus zeitlich aufeinanderfolgenden Abbildungen extrahierten Bewegungsvektoren darstellen, genutzt werden. Dies führt dazu, daß gegenüber dem Stand der Technik eine verbesserte Strukturerkennungsrate verwirklicht werden kann.
Außerdem läßt sich durch die Kombination qualitativ unterschiedlicher Bildinformation eine höhere Robustheit gegenüber den aus dem Stand der Technik bekannten Verfahren erzielen.
Gemäß einer Weiterbildung der Erfindung können weiterhin mehrere Referenzgraphen zur Verfügung gestellt werden, und diejenigen Referenzgraphen, welche netzartige Strukturen aufweisen, die topologisch identisch sind, d.h. sich nur durch
die Längen einander entsprechender Links unterscheiden, können zu einem Refe- renzbündelgrapheπ zusammengefaßt werden. Ein derartiger Referenzbündelgraph umfaßt hierbei eine netzartige Struktur, die durch Knoten, welche den Knoten der Referenzgraphen entsprechen, und durch Links, die durch Mittelung der entsprechenden Links der Referenzgraphen ermittelt werden, definiert wird, und Bündeljets, wobei jeder Bündeijet aus den Teiljets, die den Jets an den jeweiligen Knoten der in dem Referenzbündelgraphen zusammengefaßten Referenzgraphen entsprechen, zusammengesetzt wird. Weiterhin wird gemäß dieser Weiterbildung ein optimaler Bildgraph für den oder jeden Referenzbündelgraphen ermittelt. Hierbei stellt der optimale Bildgraph für einen bestimmten Referenzbündelgraphen die optimale Anpassung an diesen dar und wird ermittelt durch ein Projizieren der netzartigen Struktur des bestimmten Referenzbündelgraphen in die Bilddaten, wodurch die Struktur des Bildgraphen definiert wird, und ein Ermitteln von Teiljets, die mindestens einem Teil der Teiljets entsprechen, die zur Ermittlung der Teiljets der dem bestimmten Referenzbündelgraphen zugrunde liegenden Referenzgraphen verwendet worden sind. Weiterhin wird die Projektion der netzartigen Struktur des bestimmten Referenzbündelgraphen, so lange variiert, bis eine Graphenvergleichsfunktion, welche die Jets des Bildgraphen mit den entsprechenden Bündeljets des bestimmten Referenzbündelgraphen vergleicht, optimal wird, wobei Teiljets des Bildgraphen mit Teiljets in dem entsprechenden Bündeljet des bestimmten Referenzbündelgraphen verglichen wird. Schließlich wird jede Struktur dem Referenzbild zugeordnet, das dem Referenzgraphen bzw. dem Referenzgraphen aus dem oder den Referenzbündelgraphen entspricht, für den die Graphenvergleichsfunkti- oπ in Bezug auf den für ihn ermittelten optimalen Bildgraphen optimal ist.
Durch die Verwendung von Referenzbündelgraphen können bei gleicher Anzahl von Referenzbildern die Menge der für den Vergleich zur Verfügung stehenden Strukturen erhöht werden, oder anders ausgedrückt erlaubt es ein Referenzbündelgraph eine komplexe Strukturobjektklasse mit wenigen Beispielen zu repräsen-
tieren. Außerdem können durch Referenzbündelgraphen solche Strukturobjektklassen durch Beispiele von Individuen modelliert werden.
Hierbei kann, in Abhängigkeit von der jeweiligen Anwendung, also von den zu erkennenden Strukturen, lediglich ein Teil der zur Verfügung gestellten Referenzgraphen zu einem oder zu mehreren Referenzbündelgraphen zusammengefaßt werden. Hierdurch können Sonderfälle innerhalb einer Objektklasse separat behandelt werden oder unberücksichtigt bleiben.
Alternativ lassen sich auch alle zur Verfügung gestellten Referenzgraphen zu einem oder zu mehreren Referenzbündelgraphen zusammenfassen.
Die vorstehend beschriebenen Verfahren können derart weitergebildet werden, daß die Struktur der den Knoten zugeordneten Jets, die durch die Teiljets bestimmt ist, vom jeweiligen Knoten abhängig ist.
Hierdurch läßt sich ein a priori Wissen über die zu erkennenden Strukturen ausnützen. So kann beispielsweise bestimmte Bildinformation nur in einem Bereich, in dem sie tatsächlich signifikant ist, ausgewertet werden. Weiterhin können beispielsweise Kantenfilter am Strukturrand eingesetzt werden.
Alternativ kann die Struktur der den Knoten zugeordneten Jets, die durch die Teiljets bestimmt ist, für alle Knoten identisch sein.
Diese Weiterbildung zeichnet sich insbesondere dadurch aus, daß sie eine homogene Datenstruktur aufweist. Demnach kann das Verfahren durch eine relativ einfache Hard- und/oder Softwareimplementierung realisiert werden.
In den zuvor beschriebenen Verfahren läßt sich vorteilhafterweise eine Graphenvergleichsfunktion einsetzen, die eine Jetvergleichsfunktion umfaßt, welche die Ähnlichkeit der einander entsprechenden Jets berücksichtigt.
Darüber hinaus kann die Graphenvergleichsfunktion eine Vergleichsfunktion für die netzartige Struktur umfassen, welche die metrische Ähnlichkeit des Bildgraphen mit dem entsprechenden Referenzgraphen bzw. dem entsprechenden Referenzbündelgraphen berücksichtigt. Zweckmäßigerweise wird die Graphenvergleichsfunktion in diesem Fall als gewichtete Summe der Jetvergleichsfunktion und der Vergleichsfunktion für die netzartige Struktur definiert.
Die Jetvergleichsfunktion kann als Funktion von Einzeljetvergleichsfunktionen einander entsprechender Jets definiert werden.
Hierzu kann die Jetvergleichsfunktion vorteilhafterweise als gewichtete Summe aus den Einzeljetvergleichsfunktionen und/oder als gewichtetes Produkt aus den Einzeljetvergleichsfunktionen definiert werden.
Zweckmäßigerweise lassen sich zur Ermittlung eines Einzeljetvergleichs Teiljets der entsprechenden Jets berücksichtigen, und eine Einzeljetvergleichsfunktion als Funktion von Teiljetvergleichsfunktionen definieren.
Vorteilhafterweise kann die Einzeljetvergleichsfunktion als gewichtete Summe der Teiljetvergleichsfunktionen und/oder als gewichtetes Produkt der Teiljetvergleichsfunktionen.
Insbesondere können auch unterschiedliche, knotenabhängige bzw. Einzeljetvergleichsfunktionen bzw. Teiljetvergleichsfunktionen eingesetzt werden.
Im Zusammenhang mit den obenbeschriebenen Referenzbündelgraphen können die Bύndeljets des Referenzbündelgraphen Bω in Teilbündeljets ] geteilt werden, und die Jetvergleichsfunktion zwischen den Teilbündeljets \ des Referenzbündelgraphen und den entsprechenden Teiljets jn' des Bildgraphen G' für n Knoten für m Rekursionen gemäß folgender Formeln berechnet werden:
SJet(BM,G) = ∑ωnSn(B:Jn') , oder n
SJet(BM, ) = π(S π(B π . n ,) - Obei n
ωnein Wichtungsfaktor für den n-ten Knoten n ist und die Vergleichsfunktion Sn(B", Jn') für den n-ten Knoten des Referenzbündelgraphen mit dem n-ten Knoten des Bildgraphen gegeben ist durch:
S(BM,J') = Ω({Skl(bϊ1il ,)}) =:Ω(M)l mit
Ω( ) = ∑ωlΩ}1 (Mj1)) , oder
Ω(M) = max(ω ,Ω[1) (M<1) )] , oder
Ω(M) = min{ω ,Ω[1) (M|1) ) j , wobei jj M[1) = M
Ω[
m-
1)(M
1)) = π(ΩS
m)(Mf ^ , oder i
Ω(m-1) (M(m-D sj = mgχ^ (m) (M(m) ^ _ odθr
Ω[m-1)( }m-1 ) = min{ω jΩ HM 5)} , wobei jjM<m) = M^ und mit
1 i
S(bM, j' ) = ∑ωnSnÜn , D . oder n
S(b
M 1i') = min{ω
BS
n(iϊ
ιr)}.
In diesem Fall können die Teilbündeljets des oder der Referenzbündelgraphen nur Merkmale enthalten, die durch Faltungen wenigstens einer Klasse von Filterfunktionen mit verschiedenen Größen und/oder Orientierungen mit den Referenzbilddaten des entsprechenden Referenzbildes an dem bestimmten Knoten oder durch Faltungen wenigstens einer Klasse von Filterfunktionen mit verschiedenen Größen und/oder Orientierungen mit farbsegmentierten Referenzbilddaten des entsprechenden Referenzbildes an dem bestimmten Knoten oder durch Farbinformation über die Referenzbilddaten an dem bestimmten Knoten oder durch mit statistischen Verfahren gewonnenen Texturbeschreibungen des entsprechenden Referenzbildes an dem bestimmten Knoten oder durch aus zeitlich aufeinanderfolgenden Referenzbildern extrahierten Bewegungsvektoren an dem bestimmten Knoten ermittelt worden sind.
Alternativ können die Teilbündeljets des oder der Referenzbündelgraphen nur Merkmale enthalten, die aus einem Referenzgraphen resultieren.
Darüber hinaus können die Teilbündeljets des oder der Referenzgrpahenbündel auch Mischungen aus diesen beiden zuvor genannten Merkmalen umfassen.
Diese unterschiedlichen Vergleichsfunktionen ermöglichen es, das Verfahren an- wendungsorientiert so zu optimieren, daß eine möglichst hohe Erkennungsrate und eine möglichst hohe Geschwindigkeit erzielt wird.
Gemäß einer bevorzugten Weiterbildung der oben beschriebenen Verfahren kann nach dem Erkennen jeder Struktur ein Schritt zur Ermittlung der Signifikanz des Erkennung vorgesehen werden. Hierzu kann beispielsweise ein Schätzer verwendet werden, der sowohl die optimale Graphenvergleichsfunktion als auch die nicht optimalen Graphenvergleichsfunktionen berücksichtigt.
Besonders zeichnet sich hierbei ein Schätzer aus, bei dem der Abstand der Werte der nicht optimalen Graphenvergleichsfunktionen von dem Wert der optimalen Graphenvergleichsfunktion ermittelt wird.
Durch diese Maßnahmen erhält man neben der Objekt- bzw. Strukturerkennung auch eine Angabe über die Qualität der Strukturerkennung.
Gemäß einer weiteren vorteilhaften Weiterbildung der zuvor genannten Verfahren, kann jede Struktur den Referenzbildern zugeordnet werden, die den Referenzgraphen bzw. den Referenzgraphen aus den Referenzbündelgraphen entsprechen, für die die Werte der Graphenvergleichsfunktionen in einem vorbestimmten Bereich liegen. Falls die Werte nicht in dem vorbestimmten Bereich liegen, bedeutet dies, daß eine Struktur nicht hinreichend identifiziert werden kann. Demnach eig-
net sich diese Weiterbildung für Anwendungen, in denen aufgrund des Erkennungsvorgangs Entscheidungen getroffen werden sollen, wie beispielsweise bei einer Zugangskontrolle.
Vorteilhafterweise kann in den vorstehend beschriebenen Verfahren die Farbinformation aus den Referenzbilddaten bzw. den Bilddaten ermittelte Farbtonwerte und/oder Farbsättigungswerte und/oder Helligkeitswerte umfassen.
Obwohl die Referenzgraphen bzw. die Referenzbündelgraphen vor jeder Anwendung neu berechnet werden können, was bei Anwendungen zweckmäßig ist, in den sich die Referenzdaten häufig ändern, insbesondere aktualisiert werden, ist es in den meisten Anwendungen zweckmäßig, daß der Schritt des Zurverfügungstel- lens der Referenzgraphen bzw. der Referenzbündelgraphen das Abrufen der Referenzgraphen bzw. der Referenzbündelgraphen aus einer zentralen Datenbank und/oder einer dezentralen Datenbank, wie beispielsweise von Chipkarten, umfaßt.
In den oben beschriebenen Verfahren kann gemäß einer bevorzugten Weiterbildung die netzartige Struktur des Referenzgraphen in Form eines regelmäßigen Gitters verwendet werden, dessen Knoten und Links rechtwinklige Maschen bilden.
Alternativ kann als netzartige Struktur des Referenzgraphen ein unregelmäßiges Gitter verwendet wird, dessen Knoten und Links an die zu erkennende Struktur angepaßt sind. Hierbei können den Knoten charakteπstische Punkte, sogenannten Landmarken, der zu erkennenden Struktur zugeordnet werden.
In dieser Weiterbildung werden die Jets demnach an den charakteristischen Punkten der Struktur ermittelt. Dadurch werden in erster Linie die charakteristi-
sehen Punkte beim Vergleich der Bilddateπ mit den Referenzdaten berücksichtigt, wodurch die Signifikanz, mit der eine Struktur erkannt wird, erhöht werden kann.
Vorzugsweise können in den oben beschriebenen Verfahren als Klasse der Filterfunktionen zur Faltung mit den Referenzbilddaten bzw. Bilddaten und/oder als Klasse der Filterfunktionen zur Faltung mit den farbsegmentierten Referenzbilddaten bzw. Bilddaten Gabor-Filterfunktionen und/oder Mallat-Filterfunktionen verwendet werden.
Gemäß einer bevorzugten Weiterbildung der beschriebenen Verfahren kann die Projektion der netzartigen Struktur des bestimmten Referenzgraphen bzw. des bestimmten Referenzbündelgraphen eine Zentrierung des Referenzgraphen bzw. des bestimmten Referenzbündelgraphen in der Abbildung umfassen.
Es hat sich weiterhin als vorteilhaft erwiesen, wenn die Projektion der netzartigen Struktur des bestimmten Referenzgraphen bzw. des bestimmten Referenzbündelgraphen eine Verschiebung und/oder eine Drehung des zentrierten Referenzgraphen bzw. des zentrierten Referenzbündelgraphen umfaßt.
Hierdurch kann ein Erkennen der Struktur beschleunigt werden.
Insbesondere kann die Projektion der netzartigen Struktur des bestimmten Referenzgraphen bzw. des bestimmten Referenzbündelgraphen eine Skalierung des zentrierten Referenzgraphen bzw. des zentrierten Referenzbündelgraphen umfassen. Hierdurch kann insbesondere die Signifikanz und Geschwindigkeit eines Er- kennens erhöht werden, wenn die zu erkennende Struktur in den Bilddaten und den Referenzdaten eine unterschiedliche Größe aufweist.
Die Verschiebung und/oder die Drehung sowie die Skalierung des zentrierten Re- ferenzgrapheπ bzw. des zentrierten Referenzbündelgraphen können hierbei simultan durchgeführt werden, wodurch das Erkennen einer Struktur beschleunigt werden kann.
Weiterhin kann die Projektion der netzartigen Struktur lokale Verzerrungen des zentrierten Referenzgraphen umfassen. Diese Ausführung eignet sich insbesondere, wenn Bilddaten und Referenzdaten unter verschiedenen Aufnahmewinkeln aufgenommen worden sind.
Eine derartige lokale Verzerrung kann zweckmäßigerweise durch eine lokale Verschiebung eines entsprechenden Knotens des zentrierten Referenzgraphen bewirkt werden.
Vorteilhafterweise können die Verschiebung bzw. die Skalierung bzw. die Drehung aus dem Vergleich des Bildgraphen mit dem entsprechenden Referenzgraphen bzw. dem entsprechenden Referenzbündelgraphen ermittelt werden. Dies führt zu einer wesentlichen Erhöhung der Geschwindigkeit des Erkennens.
Weitere bevorzugte Ausgestaltungen ergeben sich aus den Unteransprüchen sowie aus der Beschreibung bevorzugter Ausführungsformen des erfindungsgemäßen Verfahrens, die im folgenden unter Bezugnahme auf die Zeichnung beschrieben werden.
In der Zeichnung zeigen:
Fig. 1 eine Abbildung einer Handstellung mit einem Referenzgraphen zur Erläuterung einer Ausführungsform der Erfindung;
Fig. 2 den Referenzgraphen von Fig. 1 ;
Fig. 3 eine schematische Darstellung zur Ermittlung eines Graphen aus einer Referenzabbildung gemäß einer Ausführungsform der Erfindung;
Fig. 4 eine schematische Darstellung zur Erläuterung einer weiteren Ausfüh- ruπgsfomn der Erfindung;
Fig. 5 Abbildungen von Handstellungen, aus denen eine Referenzgraphen- Datenbank ermittelt wurde;
Fig. 6 Beispiele von Abbildungen einer Handstelluπg mit verschiedenen Hintergründen, die mit den Abbildungen von Fig. 4 mittels einer Ausführung des erfindungsgemäßen Verfahrens verglichen wurde.
Im folgenden werden die verschiedenen Ausführungsformen der Erfindung anhand eines Verfahrens zum Erkennen der Stellung einer Hand, im folgenden als Handstellung bezeichnet, beschrieben. Diese Beschreibung ist allerdings nicht als Einschränkung zu verstehen, sondern nur als ein Beispiel eines Verfahrens zum Erkennen von Strukturen bzw. Objekten in Abbildungen.
In Fig. 1 ist als Beispiel eine Abbildung 20 einer Hand in einer bestimmten Stellung dargestellt.
Zur Durchführung des erfindungsgemäßen Verfahrens muß die Abbildung 20 in digitalisierter Form vorliegen. Die digitalisierte Form kann hierbei entweder aus dem verwendeten Aufnahmeverfahren direkt resultieren, beispielsweise bei
Verwendung einer CCD-Kamera, oder muß durch Konvertierung eines analogen Bildes, wie beispielsweise einer herkömmlichen Fotografie, digitalisiert werden.
Ein digitalisiertes Bild liegt typischerweise in der Form eines Pixelfeldes einer vorbestimmten Größe vor. Jedem Pixel ist hierbei eine horizontale und eine vertikale Position x zugeordnet. Deshalb wird im folgenden unter dem Pixel x das Pixel verstanden, dem die Position x zugeordnet worden ist. Weiterhin ist jedem Pixel ein Grauwert und/oder Farbinformationswert, wie beispielsweise ein HSI- Wert zugewiesen.
Aus der digitalisierten Abbildung 20 bzw. den der digitalisierten Abbildung entsprechenden Bilddaten wird nun im Rahmen des erfindungsgemäßen Verfahrens an vorbestimmten Pixeln lokale Bildinformation, sogenannte Merkmale, die ihrerseits zu sogenannten Jets zusammengefaßt werden, extrahiert. Diese extrahierten Merkmale werden in Form eines Graphen angeordnet.
Die vorbestimmten Pixel werden dadurch erhalten, daß zunächst eine netzförmige Struktur 21 , die im folgenden der Einfachheit halber als Gitter bezeichnet wird, in die Abbildung 20 projiziert wird.
Wie aus Fig. 2, welche dieses Gitter 21 im Detail zeigt, ersichtlich, umfaßt das in der ersten Ausführungsform verwendete Gitter 15 Knotenpunkte 22a, 22b, 22c, ... und 19 Links, d.h. Verbindungen zwischen jeweils zwei Knotenpunkten. In Fig. 2 sind die Links zwischen den Knotenpunkten 22a und 22b bzw. 22b und 22c mit den Bezugszeichen 23ab und 23bc versehen.
Schließlich werden die vorbestimmten Pixel dadurch erhalten, daß die Pixel, die der Projektion der Knotenpunkte entsprechen, bestimmt werden.
In der ersten Ausführungsform wird ein objektangepaßtes Gitter verwendet, d.h. die Knotenpunkte werden charakteristischen Punkten in der Abbildung zugeordnet. Zum Erkennen der Stellung einer Hand sind die Knotenpunkte, wie in Fig. 1 zu sehen ist, demnach den beiden Fingern und dem Handrücken zugeteilt.
Die Erfindung ist allerdings nicht auf derartige objektangepaßte Gitter beschränkt. Es lassen sich vielmehr auch Gitter im eigentlichen Sinn, also regelmäßige Gitter verwenden. Die Entscheidung, welche Gitterform zweckmäßig ist, hängt von der jeweiligen Anwendung ab. Objektangepaßte Gitterformen führen gegenüber regelmäßigen Gittern in der Regel zu einer signifikanteren Erkennung, sind allerdings in ihrer Handhabung komplizierter.
In Fig. 3 ist eine schematische Darstellung gegeben, anhand der erklärt wird, wie man aus der Abbildung 20 eine Darstellung in Graphenform erhält, die, wie noch erläutert wird, mit anderen Graphen, insbesondere mit Referenzgraphen, verglichen werden kann.
Nachdem durch das Gitter bestimmte Pixel festgelegt sind, wie in Fig. 3(a) gezeigt, wird die Extraktion der Merkmale in diesen Pixeln wie folgt durchgeführt.
In der ersten Ausführungsform werden zwei verschiedene Klassen 28 und 29 von Merkmalen zum Vergleich der Abbildung mit einer Referenzabbildung verwendet.
Die erste Klasse von Merkmalen 28a, ..., 28i ist als das Ergebnis einer Faltung der Abbildung an einem vorbestimmten Pixel mit einer gegebenen Filterfunktion definiert.
Gemäß der ersten Ausführungsform werden hierbei sogenannte komplexe Gabor-Filter als Filterfunktionen verwendet. Diese Filter lassen sich durch folgende Formel darstellen:
Die durch Gleichung (1 ) dargestellten Gabor-Filter haben die Form einer durch einen Wellenvektor i beschriebenen ebenen Welle, die durch eine Gauß- Funktion mit einer Breite σ / k beschränkt ist, wobei σ = 2π . Durch Wahl des Wellenvektors k, kann die Größe und die Orientierung der Filterfunktion bestimmt werden.
Darüber hinaus erfüllen die Filterfunktionen die Bedingung:
∑ Ψ, = 0 . (2)
In Fig. 3(c) sind mit 24a und 24b die Realteile zweier derartiger verschiedener Filterfunktionen dargestellt. Der Wert 0 ist hierbei durch ein mittleres Grau dargestellt; positive Werte sind heller und negative Werte sind dunkler. Die in Fig. 3(c) dargestellte Filterfunktion 24a hat hierbei eine niedrige Frequenz bzw. einen kleinen Wellenvektor k, mit einer Orientierung von ungefähr 60 Grad gegenüber der Horizontalen. Die Filterfunktion 24b hat eine größere Frequenz bzw. einen größeren Wellenvektor k, mit einer Orientierung von ungefähr 90 Grad gegenüber der Horizontalen.
Für einen vorgegebenen Wellenvektor kj , d.h. durch Wahl der Größe und der Orientierung der Filterfunktion, läßt sich somit das Merkmal J^x) an einem vorbestimmten Pixel x berechnen durch:
J,(x) = ∑l(x' )Ψj(x - x' ) . (3) ϊ'
I (x) bezeichnet hierin die Intensität.
In Abhängigkeit von dem Wellenvektor kj können nun für jedes Pixel x verschiedene Merkmale J,(x) berechnet werden, die in der ersten Ausführungsform in einem Teiljet für das Pixel x zusammengefaßt werden.
In den Abbildungen in Fig. 3(d), die mit 26a bzw. 26b bezeichnet sind, sind die Ergebnisse der Faltungen der Abbildung 20 mit den Filterfunktionen 24a bzw. 24b für alle Pixel x gezeigt.
Stellt man den Wellenvektor k, dar durch:
^kkvvccoossφφμ v+2 π k, v = 2 2 π , φu I nφJ μ 8 ' (4)
wobei v der Größenindex und μ der Orientierungsindex der Filterfunktion sind, werden entsprechend der ersten Ausführungsform die Merkmale für die Indizes μ e {0,...,7) und v e {0, ...,4) in einem Teiljet 28 des Jets 27 zusammengefaßt.
Insgesamt umfaßt der Teiljet 28 für das Pixel x somit n=40 Merkmale.
In Fig. 3 ist ein Teil dieser Merkmale schematisch in dem Teiljet 28 dargestellt. Hierbei sind die Merkmale 28a, 28b und 28c durch eine Filterfunktionen mit konstanter Größe und, wie durch die Schraffur dargestellt, mit unterschiedlicher Orientierung erhalten worden. Gleiches gilt für die Merkmale 28d, 28e und 28f sowie 28g, 28h und 28i. Im Vergleich zu den Merkmalen 28a, 28b und 28c resultieren die Merkmale 28d, 28e und 28f sowie 28g, 28h und 28i aus einer Faltung mit einer kleineren Filterfunktion.
Neben den oben beschriebenen Gabor-Filterfunktionen lassen sich auch beliebige andere Filterfunktionen einsetzen. Als ein weiteres Beispiel einer Filterfunktionsklasse werden entsprechend einer weiteren Ausführungsform der Erfindung sogenannte Mallat-Filter verwendet werden.
Die Faltung der Abbildung mit diesen Mallat-Filtern läßt sich durch folgende Formel darstellen:
wobei * die Faltungsoperation bezeichnet, h und v für horizontal und vertikal stehen und s, (s, = s
02', i eN) die Breite einer Gauß-Funktion darstellt, deren Ableitungen als Filterfuπktionen verwendet werden.
Die zweite Klasse von Merkmalen 29a, ..., 29i ist als Ergebnis einer Faltung an einem vorbestimmten Pixel von Daten, die aus einer herkömmlichen Farbraumsegmentierung der Bilddaten resultieren, mit einer gegebenen Filterfunktion definiert. Im vorliegenden Fall wurde die Farbraumsegmentierung bezüglich der Hautfarbe durchgeführt. Selbstverständlich kann die Farbraumsegmentierung, in
Abhängigkeit von der Anwendung bezüglich anderer Farben durchgeführt werden. In Fig. 3(b) sind die Bilddaten 22 nach der Farbraumsegmentierung dargestellt.
In der vorliegenden Ausführungsform wurde die Faltung der farbraumsegmen- tierten Daten analog zur Faltung der Bilddaten, d.h. mit denselben Gabor-Filtern gleicher Größe und Orientierung durchgeführt. Daher erübrigt sich eine detaillierte Beschreibung dieser Faltuπgsoperation und es wird in diesem Zusammenhang auf die entsprechenden Abschnitte zur Faltung der Bilddaten mit den Gabor-Filtern verwiesen.
In diesem Zusammenhang bleibt noch anzumerken, daß in Fig. 3(e) die mit den Filterfunktionen gefalteten farbraumsegmentierten Bilddaten dargestellt sind. Die Abbildungen 25a und 25b in Fig. 3(e) stellen hierbei die Realteile einer Faltung der farbsegmentierten Bilddaten mit den Filtern dar, deren Realteile in Fig. 3(c) mit 24a und 24b bezeichnet sind.
Analog zu den durch Faltung der Bilddaten mit den Gabor-Filtern resultierenden Merkmale werden auch die durch Faltung der farbraumsegmentierten Bilddaten mit den Gabor-Filtern erhaltenen Merkmale in einem Teiljet 29 zusammengefaßt. Da der Größenindex und der Orientierungsindex der Filterfunktionen in dieser Ausführungsform wie oben beschrieben gewählt worden ist, enthält der Teiljet 29 ebenfalls n=40 Merkmale für das Pixel x , von denen die Merkmale 29a, ..., 29i repräsentativ dargestellt sind.
Selbstverständlich können auch in diesem Fall anstelle der Gabor-Filter andere Filterfunktionen, wie beispielsweise die bereits genannten Mallat-Filter eingesetzt werden.
Die Teiljets 28 und 29 bilden den Jet 27 in der ersten Ausführungsform. Der Jet 27 umfaßt in dieser Ausführungsform schließlich 80 Merkmale.
Führt man die Extraktion der Merkmale an allen Gitterpunkten durch, erhält man schließlich den erwünschten Graphen, der die Struktur des Gitters 21 widerspiegelt und die Jets an den Punkten, die den Gitterpunkten entsprechen, aufweist.
Gemäß einer weiteren Ausführungsform werden als zweite Klasse nicht die Faltungen der Filterfunktionen mit den farbsegmentierten Daten sondern aus den Bilddaten erhaltene Farbinformation, wie beispielsweise Farbton, Farbsättigung und Intensität (HSI) für das Pixel verwendet. Ein einzelner Jet setzt sich gemäß dieser Ausführungsform demnach aus 40 Merkmalen, die aus der oben beschriebenen Faltung der Bilddaten mit den Gaborfilterfunktionen resultieren und aus dem HSI-Tripel zusammen und umfaßt somit 43 Merkmale.
Als Vergleichsfunktion zwischen zwei HSI-Tripeln wird zweckmäßigerweise ein gewichteter euklid'scher Abstand im HSI-Farbraum verwendet.
Darüber hinaus setzt sich in einer weiteren Ausführungsform ein Jet aus drei Klassen zusammen. Die erste Klasse umfaßt die Merkmale, die aus der Faltung der Bilddaten mit den Gabor-Filtern resultieren (Gabor-Merkmale); die zweite Klasse umfaßt die Merkmale, die aus der Faltung der farbraumsegmentierten Bilddaten mit den Gabor-Filtern resultieren (Farbgabor-Merkmale); und die dritte Klasse umfaßt die aus den Bilddaten gewonnenen HSI-Tripel (Farbinformation).
Gemäß einer weiteren Ausführungsform kann alternativ oder zusätzlich zu den oben beschriebenen Klassen eine Texturbeschreibung, die durch statistische Verfahren gewonnen wird, verwendet werden. Derartige Texturbeschreibungen sind
beispielsweise der mittlere Grauwert, die Varianz der Grauwertverteilung, die Ko- varianzmatrix der Grauwertverteilung, die Entropie, die Orientierung der Grauwertstruktur, mittlere Skalen der Struktur in verschiedenen Richtungen, die Variationsbreite der lokalen Orientierung, die Variationsbreite der räumlichen Skalen, die Reihenfolge und die Anordnung verschiedener Strukturelemente.
Darüber hinaus, wiederum alternativ oder zusätzlich zu den oben beschriebenen Klassen werden in einer weiteren Ausführungsform Bewegungsvektoren (Verschiebungsvektoren) als Klasse definiert. Derartige Bewegungsvektoren lassen sich durch differentialgeometrische Methoden (differentielle Verfahren), Korrelationsverfahren und Filterverfahren aus zwei aufeinanderfolgenden Abbildungen berechnen. Darüber hinaus ist es auch möglich, Bewegungsvektoren aus zwei Gabor-Jets zu berechnen.
Neben den im Detail beschriebenen Ausführungsformen sind, in Abhängigkeit von dem Anwendungsgebiet, d.h. von der Struktur, der Qualität und der Komplexität des Inhalts der zu vergleichenden Bilddaten, eine Vielzahl von Kombinationsmöglichkeiten der oben beschriebenen Klassen möglich. So können insbesondere auch die Merkmale von lediglich einer der oben beschriebenen fünf Klassen zum Vergleich verwendet werden. Es ist insbesondere auch möglich, daß Merkmale, die aus Faltungen der Bilddaten mit einer ersten Filterklasse resultieren, die erste Klasse definieren, und Merkmale, die aus Faltungen der Bilddaten mit einer zweiten Filterklasse resultieren, die zweite Klasse definieren.
Im folgenden wird beschrieben, wie eine Abbildung mit einer Referenzabbildung verglichen wird. Hierbei bezieht sich das Präfix "Vergleichs-" jeweils auf die aufgenommene Abbildung, in der die Struktur oder das Objekt erkannt werden soll.
Zunächst muß eine Referenzabbildung in Form eines Graphen, d.h. in Form eines Referenzgraphen, zur Verfügung gestellt werden. Dies kann beispielsweise durch Abrufen des Referenzgraphen aus einer zentralen Datenbank oder einer dezentralen Datenbank, beispielsweise von Chipkarten, geschehen.
Beim Erstellen der Datenbank wird dieser Referenzgraph G nach einem der oben beschriebenen Verfahren ermittelt. Im vorliegenden Fall wird demnach ein Gitter, wie es beispielsweise in Fig. 2 dargestellt ist, in die Referenzabbildung projiziert. An den Knotenpunkten des Gitters werden, wie ebenfalls bereits oben erläutert, die Jets ermittelt. Hierbei sollten die Jets der Referenzgraphen zumindest die Merkmalsklassen enthalten, die auch für den Vergleichgraphen ermittelt werden sollen.
Im nächsten Schritt projiziert man das Gitter der Referenzabbildung (Referenzgitter) in die Vergleichsabbildung und berechnet die diesem Gitter entsprechenden Jets für das Vergleichsbild. Hierbei sind zumindest teilweise Filterfunktioπen, d.h. dieselbe Klasse von Filterfunktionen, dieselben Größen und/oder dieselben Orientierungen, mit denen der Referenzgraph erstellt worden ist, zu verwenden. Die derart berechneten Jets bilden zusammen mit der Struktur des projizierten Gitters schließlich den Vergleichsgraphen G'.
Zur Projektion des Referenzgitters in die Vergleichsabbildung lassen sich in Abhängigkeit von den zu erwartenden Unterschieden zwischen Referenzabbildungen und Vergleichsabbildungen verschiedene Abbildungen einsetzen.
Die einfachste Projektion, nämlich eine Zentrierung des Referenzgitters in der Vergleichsabbildung, eignet sich beispielsweise, wenn Referenzabbildung und Vergleichsabbildung dieselbe Größe und Position in bezug auf das Bildzentrum haben und unter demselben Winkel aufgenommen worden sind.
Zu dieser einfachen Projektion können wahlweise die folgenden Projektionen ausgeführt werden.
Eine Verschiebung des Refereπzgitter in seiner Gesamtheit:
Diese Abbildung eignet sich, wenn die Positionen von Referenzabbildung und
Vergleichsabbildung in bezug auf das Bildzentrum unterschiedlich sind.
Eine Skalierung des Referenzgitters:
Diese Abbildung kann vorgesehen werden, wenn die Größen von Referenzabbildung und Vergleichsabbildung unterschiedlich sind.
Eine Drehung des Referenzgitters:
Ein Drehung läßt sich in dem Fall einsetzen, in dem Referenzabbildung und
Vergleichsabbildung gegeneinander verdreht sind.
Eine lokale Verzerrung des Referenzgitters:
Bei dieser Abbildung werden jeweils einzelne Gitterpunkte gegenüber ihrer Position im Referenzgitter verschoben. Diese Abbildung eignet sich insbesondere, wenn zu erwarten ist, daß die Vergleichsabbildung gegenüber der Referenzabbildung lokale Verzerrungen aufweist.
Selbstverständlich sind auch beliebige Kombinationen der oben beschriebenen Projektionen möglich.
Die Bewertung der Ähnlichkeit beider Graphen, wird mittels einer Graphenvergleichsfunktion durchgeführt, die folgende allgemeine Form aufweist:
S = SJet + λSMetrik ■ (6)
SJet bezeichnet hierbei die Jetvergleichsfunktion, d.h. eine geeignete Funktion, welche die Ähnlichkeit der Jets an korrespondierenden Punkten der beiden Graphen bewertet, und SMetrιk bezeichnet eine geeignete Funktion, welche die Ähnlichkeit der Metrik der beiden Gitter miteinander vergleicht. SMβtπk hängt hierbei stark von der verwendeten Projektion ab.
λ ( λ > 0 ) bezeichnet die Gewichtung der beiden Vergleichsfunktion zueinander, λ kann auch gleich Null gesetzt werden; dies bedeutet, daß die Ähnlichkeit der Metrik der Graphen nicht berücksichtigt wird. Dieser Wert bietet sich insbesondere an, wenn lediglich Zentrierung oder Verschiebung als Projektion gewählt werden, oder anders ausgedrückt, wenn die Topologie von Referenzgraph und Vergleichsgraph identisch ist.
Zur Berechnung der Jetvergleichsfunktion SJet sind zunächst die Vergleichsfunktionen der Teiljets für die jeweiligen Klassen k zu berechnen. Im Fall der ersten Ausführungsform, deren Merkmale aus einer Faltung der Bilddaten und der im Farbraum segmentierten Bilddaten mit Gabor-Filtern resultieren, wäre k = 2.
Zur Bewertung der Ähnlichkeit zweier korrespondierender Teiljets jk und jk' der Jets j bzw. j' des Referenzgraphen G bzw. des Vergleichsgraphen G', wird eine Teiljetvergleichsfunktion verwendet, d.h. eine Funktion, die von den Amplituden a und a,' der beiden Teiljets abhängt und die folgende Form hat:
Die vorliegende Erfindung ist allerdings nicht auf diese Vergleichsfunktion beschränkt, es kann auch eine phasenempfindliche Vergleichsfunktion eingesetzt werden, beispielsweise mit folgender Form:
wobei kj der Wellenvektor der entsprechenden Gabor-Filter ist und d ein geschätzter Verschiebungsvektor ist, der schnelle Phasenverschiebungen kompensiert, d wird dadurch bestimmt, daß Sφ in seiner Taylorentwicklung inner¬
halb eines kleinen Quadrats, daß in d = 0 zentriert ist, maximiert wird. Der Term d-kj mit dem geschätzten Verschiebungsvektor d kompensiert schließlich schnelle Phasenverschiebungen aufgrund kleiner Variationen in den Positionen x und x' der zwei Jets, die miteinander verglichen werden.
aj(x) und φj(x) ergeben sich hierbei aus Jj(x) = aj(x)exp(iφj(x)) .
Aus den Teiljetvergleichsfunktionen für die einander entsprechenden Teiljets, also für die Merkmale einer Klasse, läßt sich eine Einzeljetvergleichsfunktion für entsprechende einzelne Jets bilden:
S(J, J' ) = Ω({Sk(jk, jk' )}) . (9)
In Abhängigkeit von der Anwendung lassen sich verschiedene Funktionen Ω verwenden, beispielsweise
Ω({Sk(Jk,Jk')}) = ∑ωkSk(jk,jk'),oder (10) k
Ω({s„(jk. jk f)}) = π si(ik.iι«, )β,k . odθr (11) k
Ω({Sk(jk,jk')}) = min{ωkSk(jk,jk')} (13)
Sk(j .jk') sind hierbei die Teiljetvergleichsfunktionen, die sich gemäß der Gleichungen (7) oder (8) berechnen lassen; ωksind Wichtuπgskoeffizienten, die den Beitrag eines einzelnen Teiljets zu der Einzeljetvergleichsfunktion S(j, j' ) beschreiben.
Aus den Einzeljetvergleichsfunktionen für die einzelnen Jets wird schließlich die Jetvergleichsfunktion SJet für alle entsprechenden Jets eines Referenzgraphen G und eines Vergleichsgrapheπ G' gebildet. Hierzu können ebenfalls in Abhängigkeit von der Anwendung verschiedene Funktionen eingesetzt werden. Beispielsweise kann die Vergleichsfunktion für n Jets gebildet werden nach:
SJet(G,G') = ∑ωnSn(Jπ,Jn'),oder (14) n
SJβl(C3iCΪ) = π(Sn(Jn.Jπ,))"B. (15) n
Sn(Jn, Jn' ) sind hierbei die Einzeljetvergleichsfunktionen, die sich gemäß der Gleichungen (10) bis (13) berechnen lassen; ω.sind Wichtungskoeffizienten,
die den Beitrag eines einzelnen Jets zu der Jetvergleichsfunktion SJel beschreiben.
Als Funktion zum Vergleichen der Metrik der beiden Graphen können beispielsweise die Beträge der Differenzvektoren zweier einander entsprechender Links, d.h. der Verbindungen zweier einander entsprechender Knoten, aufsummiert werden; für Graphen mit E Links, die mit Δxβ bzw. Δxe' bezeichnet werden, ergibt sich somit eine Metrikvergleichsfunktion:
SMe,πk(G, G' ) = ^∑(Δxe - Δxe)2. (16)
Welche der Vergleichsfunktionen im Detail verwendet und insbesondere welcher Faktor für λ gewählt wird, hängt im wesentlichen von der Struktur der Referenzgraphen und der Vergleichsgraphen, also letztendlich von der Struktur der Vergleichsabbildungen und der Referenzabbildungen, ab.
Die Auswahl der geeigneten Vergleichsfunktion für eine gegebene Struktur der Vergleichsabbildungen und der Referenzabbildungen kann hierbei durch Vergleichsversuche mit den Vergleichsabbildungen und den Referenzabbildungen ermittelt werden und liegt somit im Bereich des durchschnittlichen Könnens eines Fachmanns.
Mit Hilfe der Graphenvergleichsfunktion (6) kann nun der Vergleichsgraph an den Referenzgraphen optimal angepaßt werden. Hierzu wird die Projektion des Referenzgitters in die Vergleichsabbildung solange variiert, bis die Graphenvergleichsfunktion einen optimalen Wert (im Fall der oben beschriebenen Vergleichsfunktionen ist dies ein Minimum) annimmt.
Mit der Vergleichsabbildung lassen sich selbstverständlich auch mehrere Referenzabbildungen vergleichen.
Diese Referenzabbildungen können in Form einer Datenbank vorliegen. In diesem Fall müssen dann allerdings bei jedem Vergleich die Referenzgraphen erneut berechnet werden.
Zweckmäßiger ist es deshalb, die Datenbank gleich in Form einer Referenzgraph-Datenbank vorzusehen, in denen die Referenzgitter mit ihren entsprechenden Jets gespeichert sind und lediglich abgerufen werden müssen. Allerdings ist eine solche Referenzgraph-Datenbank nicht so flexibel wie eine Refe- renzabbilduπgs-Datenbank, da diese für jede Änderung bei der Berechnung der Jets neu kompiliert werden muß.
Zum Vergleich der Vergleichsabbildung mit einer beliebigen Anzahl von Referenzabbildungen ermittelt man für die Vergleichsabbildung mit dem oben beschriebenen Verfahren die optimale Anpassung an jede Referenzabbildung und die Graphenvergleichsfunktion für diese optimale Anpassung.
Aufgrund eines Vergleichs der Graphenvergleichsfunktionen, die jeweils den besten Anpassungen der Referenzabbildungen an die Vergleichsabbildung entsprechen, kann die Referenzabbildung ermittelt werden, welche die größte Ähnlichkeit mit der Vergleichsabbildung aufweist.
Darüber hinaus kann durch Auswertung der Graphenvergleichsfunktionen für alle Referenzabbildungen ein Maß der Signifikanz der Ähnlichkeit ermittelt werden. Hierzu lassen sich, entsprechend dem erforderlichen Grad an Ähnlichkeit, verschiedene Definitionen für eine signifikante Erkennung verwenden.
Beispielsweise können aus allen Graphenvergleichsfunktionen für die nicht optimalen Referenzgraphen der Mittelwert S und die Varianz σs gebildet werden. Eine signifikante Ähnlichkeit könnte dann angenommen werden, wenn
'opt > s (17)
oder
'opt > s (18) σs erfüllt ist, wobei s ein fest gewählter Parameter ist und S2 der zweitkleinste Wert aller Graphenvergleichsfunktionen ist.
In Fig. 4 ist eine weitere Ausführungsform der vorliegenden Erfindung dargestellt.
Diese Ausführungsform unterscheidet sich von den bisher beschriebenen Ausführungsformen durch den Aufbau der Referenzgraphen, die mit dem Vergleichsgraphen verglichen werden.
Während in den bisher beschriebenen Ausführungsformen ein Referenzgraph aus einer einzelnen Referenzabbildung erstellt worden ist, resultiert in dieser Ausführungsform ein Referenzbündelgraph aus mehreren Referenzabbildungen.
Hierzu werden aus M Abbildungen M Modellgraphen erstellt, die in einem sogenannten Referenzbündelgraph zusammengefaßt werden.
Alle M Modellgraphen haben qualitativ dieselbe Struktur, d.h. sie haben jeweils N Knoten, die durch ein vorbestimmtes Gitter miteinander verbunden sind. Hierbei ist es allerdings zulässig, daß die Längen zweier einander entsprechen-
der Links unterschiedlich sind. Es ist demnach lediglich topologische Identität der Modellgraphen gefordert. Die Struktur des Gitters kann eine reguläre Form, wie hier gezeigt, oder ein irreguläre Form aufweisen.
Insbesondere können demnach die in den zuvor diskutierten Ausführungsformen eingesetzten Gitter, also ein reguläres nxm-Gitter oder ein irreguläres objektangepaßtes Gitter, verwendet werden.
Neben den Längen zweier entsprechender Links unterscheiden sich außerdem die einander entsprechenden Jets der M Modellgraphen.
Die M Modellgraphen werden schließlich, wie im folgenden erläutert, zu einem Bündelgraphen zusammengefaßt.
Zuerst werden die mittleren Entfernungsvektoren Δ-tl zwischen den Knoten i und j in dem Bündelgraphen ermittelt durch:
wobei Δ™ der Entfernungsvektor zwischen den Knoten i und j in dem Modellgraphen m ist.
Diese Entfernungsvektoren bestimmen nun die Struktur des Bündelgraphen, die zum Vergleich schließlich im folgenden in die Vergleichsabbildung projiziert wird.
Den Knoten des Bündelgraphen werden außerdem noch Bündeljets der M Modellgraphen zugewiesen. Diese Bündeljets umfassen alle Teiljets, die bei der jeweiligen Erstellung der Referenzgraphen ermittelt worden sind. Demnach umfaßt ein Jet des Bündelgraphen die M einander entsprechenden Jets der M Modellgraphen. Anders ausgedrückt, ist ein Jet des Referenzbündelgraphen aus den Teiljets, die jeweils den Teiljets der Modellgraphen entsprechen, aufgebaut.
Die derart erhaltenen Struktur ist in Fig. 4 schematisch dargestellt. Mit G,,...^ sind hierin die M Modellgraphen bezeichnet, die zu dem Bündelgraphen BM 40 zusammengefaßt sind.
Zur Durchführung des Vergleichs werden die Bündeljets Teilbündeljets zugeordnet. Als Zuordnungskriterium lassen sich beispielsweise die Merkmalsklassen, die Referenzabbildungen oder Mischformen der beiden einsetzen. Bei einer Zuordnung nach Merkmalsklassen, umfassen die Teilbündeljets lediglich die Merkmale einer einzigen Merkmalsklasse.
Zum Vergleich eines auf diese Weise erhaltenen derart erhaltenen Bündelgraphen BM 40 mit einem aus einer Abbildung 42 resultierenden Vergleichsgraphen G' 45 wird gemäß dieser Ausführungsform eine zu Gleichung (6) analoge Bündelgraphenvergleichsfunktion verwendet.
Die Jetvergleichsfunktion SJet wird hierbei, wie im folgenden ausgeführt wird, bestimmt.
Zuerst wird eine Vergleichsfunktion zwischen einem Teiljets j' der Abbildung und den entsprechenden Teilbündeljets bM ermittelt. Hierbei können beispielsweise
die folgenden, zu Gleichungen (10) bis (13) analogen Gleichungen verwendet werden:
S(bM,j,) = ∑ωnSn(Jn.J,).odθr (20) n
S(bM,j,) = π(Sn(Jn.J') .0der (21) n
S(bM,j') = max{ωnSn(J ,)}.oder (22)
= mjn{ωnSπ(tf..')}■ (23)
j' ist hierbei ein Teiljet der Abbildung und j^1 der entsprechende Teiibündeljet; die Sn(jn, j') bestimmen sich beispielsweise nach Gleichung (7) oder (8).
Die Vergleiche der Teiljets mit denTeilbündeljets stehen mit der Vergleichsfunti- on für den Jet J mit dem Bündelgraphen BMin funktionalem Zusammenhang Ω:
S(BM,J') = Ω(}Skl(bk,jl')})-:Ω(M). (24)
Die Funktion Ω kann hierbei nach folgender Rekursion ermittelt werden:
Ω(0) (M) = ∑ ω ,Ω[1) (M[1) ) , oder (25)
Ω(0)(M) = π(Ω[1)(M[1)))ω' , oder (26)
Ω(0) (M) = max{ω ,Ω<1) (M1) )} , oder (27)
Ω(0)(M) = min{ω,Ωf1)(M[))} , wobei (JM,1 = M> und (28)
Ω(m-1) (M(m-1) ) = £ ω jΩ (M(m) ) _ oder 9)
1
Ω (m-D (M (D ) = τj (Ωjm) (Mjm) ))ω' , oder (30)
1
Ω[m-1)(M[m"1)) = max{ω ;m)(Mim))} , oder (31 )
Ωf
m-
1)(M
m-
1 ) = = Mf-
1* . (32)
Die Rekursion kann, in Abhängigkeit von der Anwendung solange durchgeführt werden, bis für M(m) die folgende Bedingung erfüllt ist:
M(m)| = 1.
Aus den Vergleichsfunktionen für den Jet J mit dem Bündelgraphen BM für die einzelnen Jets wird schließlich die Jetvergleichsfunktion SJet für alle entsprechenden Jets eines Referenzbündelgraphen BM und eines Vergleichsgraphen G' gebildet. Hierzu können ebenfalls in Abhängigkeit von der Anwendung verschiedene Funktionen eingesetzt werden. Beispielsweise kann die Vergleichsfunktion für n Knoten gebildet werden nach:
SJet(BM G, ) = ∑ω nSn(Br , Jπ' ) , oder (33) π
SJet(BM G') = π(Sπ(Bn . Jn' ) - (34) n
Diese Vergleichsfunktion kann zur Ermittlung der Graphenvergleichsfunktion schließlich in Gleichung (6) eingesetzt werden.
In Worten ausgedrückt, werden bei dem Vergleich des Bündelgraphen BM mit einem Vergleichsgraphen G also die Jets mit der maximalen Ähnlichkeit aus dem Bündelgraphen ausgewählt.
In Fig. 4 ist diese Tatsache dadurch dargestellt, daß Pfeile, die von dem entsprechenden Knoten des Vergleichsgraphen G ausgehen, an verschiedenen Modellgraphen enden.
Neben der oben angegebenen Bündelgraphenvergleichsfunktion lassen sich auch andere geeignete Vergleichsfunktionen einsetzen.
Wie bei einem Vergleich mit einem einzelnen Referenzgraphen, wird auch im Fall eines Büπdelgraphen dieser zuerst in die Abbildung des Vergleichsgraphen projiziert, und anschließend wird die optimale Projektion durch Auswertung der Bündelgraphenvergleichsfunktion bestimmt.
Da ein Bündelgraph wie ein einzelner Graph behandelt werden kann, ist es auch möglich, mehrere Refereπzbündelgraphen, einen Referenzbündelgraphen und einen oder mehrere Referenzgraphen in einer Datenbank, mit der die Vergleichsgraphen verglichen werden sollen, zusammenzufassen.
Unter Bezugnahme auf Fig. 4 und Fig. 5 wird im folgenden ein konkretes Beispiel einer Handstellungserkennung vor komplexem Hintergrund gemäß dem zuvor beschriebenen Verfahren, in dem Merkmale, die aus einer Faltung der Bilddaten mit Gabor-Filtern (Gabor-Merkmale), einer Faltung farbsegmentierter Bilddaten mit Gaborfiltern (Farbgabor-Merkmale) und aus der HSI-lnformation (HSI-Merkmal) resultieren, verwendet werden. Dieses Beispiel wird mit einem Erkennungsverfahren verglichen, in dem jeweils nur eine einzelne Klasse be-
rücksichtigt ist, d.h. die entsprechenden Wichtungskoeffizienten ω k sind gleich Null.
In Fig. 5 sind die repräsentative Referenzabbildungen dargestellt, aus denen nach dem oben beschriebenen Verfahren Referenzgraphen erstellt worden sind. Jeder Referenzgraph umfaßt 15 Knoten und 20 Links bzw. Verbindungen. Die Knoten wurden manuell an anatomisch signifikanten Punkten verteilt.
In Fig. 6 sind verschiedene Beispiele einer Handstellung vor verschiedenen Hintergründen dargestellt. Insgesamt wurden 29 Hintergründe verwendet, von denen fünf ein hohes Maß an Hautfarbe, elf ein mittleres Maß an Hautfarbe und acht ein geringes Maß an Hautfarbe enthielten.
Mit diesen Hintergründen wurden 1000 verschiedene Vergleichsgraphen erstellt.
Aus den Referenzdaten wurden 18 Referenzgraphen für jede der in Fig. 5 dargestellten Handstellungen ermittelt, die Gabor-Merkmale oder Farbgabor- Merkmale oder HSI-lnformation enthalten haben. Für die Faltung wurden Gabor- Filter mit drei verschiedenen Größen und acht verschiedenen Richtungen verwendet.
Aus den jeweils 18 Referenzgraphen wurden drei Bündelgraphen mit jeweils sechs Modellen gebildet. Als Kriterium für die Zuordnung der Teiljets zu den Referenzgraphen wurden die Merkmale der Teiljets verwendet. Demnach enthielt der erste Referenzbündelgraph alle Gabor-Merkmale, der zweite Referenzbündelgraph alle Farbgabor-Merkmale und der dritte Referenzbündelgraph alle HSI-Merkmale.
Bei der Projektion der Referenzbüπdelgraphen wurde eine Drehung bis zu 15°, eine Skalierung von bis zu 20% und eine lokale Verzerrung um maximal ein Pixel zugelassen.
Die Graphenvergleichsfunktion wurde mittels der Gleichungen (6; λ = 0 ), (33; mit gleichen ω n), (24), (25; mit ω Gabor = 0,25 , ω Farbgabor = 0,25 , ω HSI = 0.5 ), (33; mit gleichen ωn ), (8) für die Gabor- und Farbgabor-Merkmale und einem gewichte- ten euklid'schen Abstand für die HSI-Farbinformation berechnet.
Die Ergebnisse des Vergleichs der 1000 Vergleichsabbildungen ist in folgender Tabelle zusammengefaßt:
Gewichtung einfacher Hintergrund komplexer Hintergrund nur GaborMerkmale 82,6% 70,4% nur FarbgaborMerkmale 39,7% 34,6% nur HSIMerkmale 88,2% 76,3% optimale Wichtung 92,9% 85,8%