Verfahren zur Korrespondenzanalyse in Bilddatensätzen
Die Erfindung betrifft ein Verfahren zur Korrespondenzanalyse in Bilddatensätzen und eine zur Durchführung des Verfahrens geeignete Vorrichtung nach den Oberbegriffen der Patentansprüche 1 und 11.
Bei der Verarbeitung von Bilddaten bewegter Szenarien, insbesondere um darin befindliche Objekte zu erkennen und zu ver- folgen (Tracking) ist es notwendig, in den einzelnen zeitlich aufeinanderfolgenden Bilddatensätze miteinander korrespondierende Bildpunkte bzw. Bildbereiche zu identifizieren.
Es ist jedoch insbesondere bei monokularen Kamerasystemen schwer Objekte in von der Umgebung gewonnen Bilddaten zu erkennen und deren Bewegungsparameter zu vermessen. Eine Möglichkeit bietet sich jedoch durch die Analyse des Optischen Flusses von Objekten innerhalb der Bilddaten. Der Optische Fluss beschreibt die Verschiebung der zu einem Zeitpunkt i aufgenommenen Bildpunkte eines Objektes in Bezug zu den zum Zeitpunkt j aufgenommenen Bildpunkten. Das Problem welches sich hierbei stellt, besteht darin, festzulegen, welche der Bildpunkte zum Zeitpunkt i, mit welchen Bildpunkten des Kamerabildes zum Zeitpunkt j korrespondieren, also zum selben Ob- jekt gehören. Im Zusammenhang mit' diesem zu lösenden Korrespondenzproblem werden Hypothesen dahingehend aufgestellt, welche Paare von Bildpunkten (Bildpixel) aus den Bild zum
Zeitpunkt i und aus dem Bild zum Zeitpunkt j zusammengehören. Diese Hypothesen werden sodann zu weiteren Verarbeitung, wie der geometrischen Objektbildung und Objektverfolgung, in einer Hypothesen Liste abgelegt .
In den vergangen Jahren wurden eine Vielzahl von unterschiedlichen Algorithmen zum Optischen Fluss entwickelt, deren bekannteste Vertreter in einem Übersichtsartikel von Barron et . all () gegenübergestellt wurden. Barron unterscheidet - Differentielle Techniken, bei welchen der Optische Fluss auf Grundlage von örtlich und zeitlich begrenzten Intensitätsveränderungen („spatio-temporal derivatives of image in- tensities") der Bildpunkte berechnet wird,
- Matching-Techniken, bei welchen die Lageänderung von zu- meist mehrere Bildpunkte umfassenden Objekten im Bild beobachtet wird und in definierten Zeitabständen anhand der Lageverschiebung dieser Objekte deren Geschwindigkeit und somit der Optische Fluss bestimmt wird,
- Energie-basierte Techniken, bei welchen die Berechnung des Optischen Flusses auf der Ausgangsenergie von geschwindig- keits-optimierten Filtern basiert. Derartige Techniken werden auch als frequenz-basierte Techniken bezeichnet, da die geschwindigkeits-angepassten Filter im Frequenzbereich (Fou- rier Domain) definiert sind, - Phasen-basierte Techniken, welche auf dem Grundsatz basieren, dass sich Geschwindigkeit in Bilddaten in dem Phasenverhalten der AusgangsSignale von Bandpassfiltern wiederspiegelt .
Die bekannten Methoden beruhen in der Regel beruhen auf rechenintensiven Korrelationsansätzen und sind im allgemeinen nur in Lage kleine Verschiebungen von Objekten (geringer op-
tischer Fluss) von einer Bildaufnahme zur nächsten zu messen. Insbesondere bei der Verwendung derartiger Algorithmik bei der Bilderkennung in Kraftfahrzeugen stellt sich das Problem, dass die dort verwandten Steuergeräte nur begrenzte Rechen- ressourcen aufweisen und insbesondere bei starken Lenkbewegungen oder hohen Fahrgeschwindigkeiten große Optische Flüsse in den Bilddaten auftreten.
Neben der Verwendung der Korrespondenzanalyse bei der Bestimmung des Optischen Flusses von Objekten aus zeitlich aufein- ander folgenden Bilddatensätzen, ist es auch bei der Stereobildverarbeitung notwendig in zwei im wesentlichen zum selben Zeitpunkt aus unterschiedlichen Blickwinkeln aufgenommenen Bildern diejenigen Datenbereiche zu identifizieren, welche miteinander korrespondieren. Die als korrespondierend identi- fizierten Bereiche werden sodann einem Objekt zugeordnet, so dass aus den bekannten geometrischen Verhältnissen der Kamerapositionen und -blickrichtungen auf die Entfernung und Position dieses Objektes geschlossen werden kann. Da das Funktionsprinzip der Stereobildverarbeitung eben gerade darauf basiert, dass sich ein und dasselbe Objekt in den im wesentlich zeitgleich aufgenommenen Bilddaten an unterschiedlicher . Stelle abbildet, bildet die Korrespondenzanalyse den rechenintensivsten Teil der Bildauswertung und ist der Leistungsbeschränkende Faktor, insbesondere bei Anwendungen bei welchen nur eine begrenzte Menge an Rechenressource zur Verfügung gestellt werden kann.
Aufgabe der Erfindung ist es somit ein Verfahren zur Korrespondenzanalyse in Bilddatensätzen und ein zur Durchführung dieses Verfahrens geeignete Vorrichtung zu finden, welche Rechenzeit effizient arbeitet und auch in der Lage ist, große Optische Flüsse zu verarbeiten.
Die Aufgabe wird durch ein Verfahren und eine Vorrichtung zur Korrespondenzanalyse in Bilddatensätzen mit den Merkmalen der Patentansprüche 1 und 11 gelöst. Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung werden in den Unteransprü- chen beschrieben.
Bei dem neuartigen Verfahren zur Korrespondenzanalyse in Bilddatensätzen werden einzelne Bildpunkte innerhalb von zwei Bilddatensätzen i (20) und j (21) verglichen, um miteinander korrespondierende Bildpunkte (Pixel) u-j_v-j_ und JVJ zu identifizieren. Hierzu wird in erfinderischer Weise in einem ersten Schritt der Bilddatensatz i (20) mit einem Signaturoperator derart transformiert, dass für jedes Pixel u-j_v-j_ ein Signatur- string (27) berechnet und in einer Signaturtabelle (22) ge- meinsam mit den Pixelkoordinaten abgelegt wird. In besonderer Weise wird sodann in einem nächsten Schritt jedes Pixel U V des andere Bilddatensatzes j (21) mittels desselben Signaturoperators transformiert, worauf die resultierenden Signaturstrings (27) gemeinsam mit den jeweiligen Pixelkoordinaten in einer weiteren dem Bilddatensatz j (21) zugeordneten Signaturtabelle (23) abgelegt werden. Nachfolgend werden sodann die Einträge der beiden Signaturtabellen (22, 23) dahingehend untersucht, ob Signaturstrings (27) vorliegen, welche in beiden Tabellen aufzufinden sind, worauf in diesen Fällen für die diesen Signaturstrings (27) zugeordneten Koordinaten eine Korrespondenzhypothese (25) generiert und in einer Hypothesenliste (26) zur Weiterverarbeitung gespeichert wird. In einfachster Weise kann die Korrespondenzhypothese dergestalt definiert sein, dass dann wenn in beiden Signaturtabellen (22, 23) übereinstimmende Signaturstrings (27) aufgefunden wurden, davon ausgegangen wird, dass die jeweiligen Bildpunkte des Bildpunktpaares Abbilder des selben Objektes bzw. Teilen davon entsprechen. Es ist für das erfinderische Verfahren unerheblich, ob im Rahmen der erfindungsgemäßen Ausgestaltung
der Vorrichtung zur Korrespondenzanalyse die Speichereinheit zur Speicherung der den Bilddatens tzen i und j zugeordnete Signaturtabellen (22, 23) physikalisch oder virtuell in zwei Speicherbereiche gegliedert ist. Auf jeden Fall ist in einer solchen Vorrichtung dieser Speichereinheit eine Einheit zur Generierung von den Signaturstrings zugeordneten Korrespondenzhypothesen nachgeschaltet sein, welche mit einem Speicher zur Speicherung dieser Korrespondenzhypothesen (25) in Form einer Hypothesenliste (26) versehen ist.
Durch die Erfindung wird in vorteilhafter Weise eine in Bezug auf die Rechenzeit sehr effiziente Korrespondenzanalyse ermöglicht, welche auch in der Lage ist Bildpaare auch dann noch schnell zu verarbeiten, wenn sich einzelne Objekte in den beiden Bilddatensätzen an stark unterschiedlichen Stellen abbilden.
Nachfolgend soll anhand von Ausführungsbeispielen und mit Hilfe von Figuren die Erfindung und deren vorteilhaften Aus- gestaltungen näher erläutert werden.
Fig. 1 erläutert die Census-Transformation und die hieraus resultierenden Signaturstrings
Fig. 2 beschreibt schematisch den Ablauf der Korrespondenz- analyse .
In besonders vorteilhafter Weise wird der Signaturoperator zur Transformation der einzelnen Bildpunkte als Census- Operator ausgestaltet, welcher einer nichtlinearen Transformation der einen Bildpunkt umgebenden Bilddaten entspricht. Anhand der Figur 1 sie beispielhaft die Funktionalität der
Census-Transformation erläutert. Hierzu ist in Figur la) ein 3x3 Bildpunkte (Pixel) umfassender Ausschnitt aus einem Grau-
wertbild schematisch dargestellt. Jeder der 9 Bildpunkte beinhaltet einen bestimmten Grauwert, welcher hier als Wert an der entsprechenden Stelle des Bildpunktes angegeben ist; bei einem Grauwertebereich von 0-255 entspricht ein Wert von 157 einem recht hellen Pixel, während mit einem Grauwert von 18 ein sehr dunkles, annähernd Schwarzes Pixel beschrieben wird. Soll nun in Bezug auf den mittleren Bildpunkt eine Census- Transformation (hier: Grauwert 64) erfolgen, so wird dessen Grauwert mit den Grauwerten der benachbarten Bildpunkte ver- glichen. Hierbei wird die Differenz der Grauwerte gebildet und mit Schwellwerten verglichen, wobei die jeweiligen benachbarten Bildpunkt auf Grundlage dieses Vergleichs mit einem speziellen Wert belegt werden:
-> 0 , wenn der Grauwert des benachbarten Pixels kleiner als der des zu transformierenden Pixels ist,
- 1, wenn der Grauwert des benachbarten Pixels um weniger als einen bestimmten Wert (im allgemeinen um weniger als 16) vom zu transformierenden Pixel abweicht. - 2 , wenn der Grauwert des benachbarten Pixels größer als der des zu transformierenden Pixels ist.
Bei dem vorliegenden Beispiel ergibt sich im Rahmen der Transformation des zentralen Bildpunktes mit dem Gräuwert 64 die in Figur lb aufgezeigte Zuweisung von Werten zu den benachbarten Bildpunkten. Ausgehend von diesen Werten kann sodann auf einfache Weise ein den zentralen Bildpunkt beschreibender Signaturstring (27) generiert werden, indem beispielsweise die Werte reihum im Uhrzeigersinn ausgehend von oben, links aneinander gereiht werden; hier ergäbe sich somit ein Signaturstring (27) mit dem Wert „21002222". Selbstverständlich ist es auch möglich diesen Signaturstring nochmals zu
transformieren um, ihn an eine bestimmte Algorithmik oder Speicherhardware besser anzupassen. So könnte in diesem Fall der Signaturstring (27) beispielsweise von dem 3 -erZahlensystem in ein 10-er-Zahlensystem transformiert werden (hier: „5183") .
Selbstverständlich ist es denkbar den Vergleich des zu transformierenden Bildpunktes mit dessen Nachbarn auf Basis einer Anzahl andersgestufter Schwellwerten durchzuführen oder auch die Nachbarschaft anders zu definieren. So wäre es in gewinnbringender Weise auch möglich nicht die direkt benachbarten Bildpunkte sondern erst die übernächsten 15 Bildpunkte (Nachbarschaftsabstand 2) zur Transformation heranzuziehen. Hierdurch würde zwar ein längerer Signaturstring entstehen, die Grauwerte der miteinander verglichenen Bildpunkte wären jedoch wesentlich unkorrelierter. Auch besteht die Möglichkeit, dass benachbarte Bildpunkte nur teilweise herangezogen werden, wobei beispielsweise sternförmig nur jeder 2. Nachbarwert zur Transformation herangezogen- ird.
In besonders effizienter Weise lassen sich die Signaturtabellen (22,23) erstellen und verarbeiten, wenn sie in Form einer Hash-Tabelle organisiert werden. Eine Hash-Tabelle ermöglicht es den einzelnen Tabelleneintrag direkt ausgehend von einem bestimmten dort einzutragenden Wert (hier: Signaturstring (27)) zu adressieren; d.h. jedem Signaturstring (27) ist ein spezifischer Tabellen bzw. Speicherplatz zugeordnet. Die Länge der Tabelle kann jedoch unabhängig von der Anzahl unterschiedlicher Signaturstrings (27) dahingehend begrenzt wer- den, dass in einen einzelnen Tabellenplatz innerhalb der
Hash-Tabelle mehrere Eintrage miteinander verzeigert eingetragen werden. Die einzelnen Einträge werden hierbei mittels einer Rechenregel den vorhandenen Tabellenplätzen zugeordnet
und mit einer Verzeigerung mit den bereits dort vorhandenen Einträgen verbunden. Diese Abwandlung bietet den Vorteil, dass bei einer großen Anzahl unterschiedlicher Signatur¬ strings (27) nur ein begrenzter Speicherbereich vorreserviert werden muss.
Um den für die erfindungsgemäße Korrespondenzanalyse notwendigen Speicherplatz weiter zu optimieren kann in vorteilhafter Weise vor dem Ablegen eines Signaturstrings (27) mit des- sen zugeordneten Pixelkoordinaten in einer Signaturtabelle (22, 23), diese dahingehend untersucht wird, ob bereits ein dem Signaturstring entsprechender Signaturstring (27) in der Tabelle abgelegt ist. Ist dies der Fall, so wird infolge der neuerliche Signaturstring nicht abgelegt. Es werden stattdes- sen nur die diesem Signaturstring zugeordneten Pixelkoordinaten als zusätzliche Pixelkoordinaten zu dem bereits vorhanden Tabelleneintrag des gleichen Signaturstrings hinzugefügt .
In besonders gewinnbringender Weise lässt sich die Korrespondenzanalyse dadurch effizienter gestalten, dass dem Verfahren vor der dem Eintrag der Signaturstrings (27) in die Signaturtabellen (22, 23) beziehungsweise vor der Generierung der Korrespondenzhypothesen (25) Filter eingebaut werden, welche nur sinnvolle Signaturstrings eintragen bzw. nur plausible Korrespondenzhypothesen zulassen.
In diesem Sinne kann in besonderer Weise ein statischer, ap- plikations-spezifischer Filter geschaffen werden, indem im Rahmen der Korrespondenzanalyse vor dem Eintrag eines Signaturstrings (27) in die Signaturtabellen (22, 23) auf einen Speicher zugegriffen wird, in welchem Signaturstrings abgelegt sind, bei deren Auftreten davon ausgegangen werden kann, dass das einem solchen Signaturstring (27) zugeordnete Pixel bei der Korrespondenzanalyse nicht beachtet werden braucht .
Hierbei kann es sich beispielsweise um für Himmel- oder Straßenbereiche typische Signaturstrings handeln, welche in den meisten Anwendungen nicht weiter ausgewertet werden brauchen.. Auch ist es sehr wohl denkbar anwendungsspezifisch typische Signaturstrings nicht weiter auswertbarer geometrischer Objekte oder Objektfragmente in dem Speicher für nicht zu beachtende Signaturstrings abzulegen. Hierbei könnte es sich beispielsweise um einen Signaturstring handeln, welcher einem Kantenfragment ohne eine Eck- oder Abschlussinformation ent- spricht. Solche Kantenfragmente können anderen Kantenfragmenten in nachfolgenden Bildern nicht eindeutig zugeordnet werden (jedes Kantenfragment mit gleicher Signatur in einem korrespondierenden Bild könnte ein Abbild dieses einen Kantenfragmentes sein), so "dass keine sinnvolle Korrespondenzanaly- se für diese Bilddatenausschnitte durchgeführt werden kann. Es wird deshalb in vorteilhafter Weise vor de Ablegen eines Signaturstrings (27) mit dessen zugeordneten Pixelkoordinaten in einer Signaturtabelle (22,23), dieser dahingehend überprüft, ob er mit einem in diesem Speicher abgelegten Signa- turstring übereinstimmt. Ist dies der Fall, so wird der Signaturstring (27) und seine zugehörigen Pixelkoordinaten nicht in der Signaturtabelle (22, 23) abgelegt.
Es ist weiterhin ein dynamisch wirkender Filter denkbar, wel- eher die Effizienz der Korrespondenzanalyse im Hinblich auf die Generierung der Korrespondenzhypothesen (25) weiter steigert. Hierzu werden vor der Generierung der Korrespondenz- hypothesen die Einträge der Signaturstrings (27) in den Signaturtabellen (22, 23) daraufhin überprüft, ob ein Signatur- string in einer der Signaturtabellen (22, 23) häufig vorkommt. In diese Fall wird der betreffende Signaturstring (27) nicht zur Generierung einer Korrespondenzhypothese herangezogen wird. Auf diese Weise wird vermieden, dass eine Unzahl gleichartiger Korrespondenzhypot esen (25) generiert wird.
Welche Anzahl gleichartiger Signaturstrings (27) als häufig zu bezeichnen ist, ist insbesondere von der Art des Signaturoperators abhängig. Wird als Signaturoperator der Census- Operator verwendet, so hat sich bei einem Operator, welcher nur die nächsten Nachbarn betrachtet ein Schwellwert für die Häufigkeit von 10 bewährt, während es sich bei einer Nachbarschaftsbetrachtung mit den übernächsten Nachbarn ein Schluss auf häufiges Auftreten bei Überschreiten eines Häufigkeitsschwellwertes von 3 anbietet.
Ein weiterer dynamischer Filter im Hinblick auf die Generierung der Korrespondenzhypothesen (25) kann dadurch geschaffen werden, dass vor der Generierung der Korrespondenzhypothese aus in beiden Signaturtabellen (22, 23) übereinstimmend vor- kommenden Signaturstrings, zusätzliche die diesen Signaturstrings zugehörigen Bilddaten und/oder die Bildaufnahmesituation betreffenden Parameter beachtet werden. Als Ergebnis dieser Betrachtung wird nur dann, wenn diese zusätzlich zu beachtenden Parameter nicht über ein bestimmtes Maß voneinan- der abweichen, eine Korrespondenzhypothese generiert.
Hierbei könnte in besondere Weise einer der zusätzlich zu beachtenden Parameter die Helligkeit des einzelnen transformierten Bildpunktes beschreiben. Meist wertet der Signatur- Operator, so auch der Census-Operator, nur die relativen Helligkeitsunterschiede des zu transformierenden Bildpunktes zu den diesem benachbarten Bildpunkten aus. Der absolute Helligkeitswert des Bildpunktes geht hierbei im Rahmen der Transformation verloren, so dass es denkbar ist, dass zwei in ih- rer Grundhelligkeit deutlich unterschiedlichen Bildbereich denselben Signaturstring (27) aufweisen. Es ist jedoch in der Regel davon auszugehen, dass in diesem Fall diese beiden Bildbereiche in den beiden zur Korrespondenzanalyse herange-
zogenen Bilddatensätzen nicht tatsächlich miteinander korrespondieren, so dass eine auf diese beiden Bildpunkte basierende Korrespondenzhypothese (25) nicht sinnvoll und plausibel erscheint. Insbesondere aus den Gesichtspunkten der Effektivität der Korrespondenzanalyse sollte deshalb auf die Erzeugung einer einsprechenden Korrespondenzhpothese verzichtet werden.
In besonderer Weise könnte als zu beachtender Parameter auch die den Signaturstrings (27) zugeordneten Pixelkoordinaten herangezogen werden. Hierbei wäre von besonderem Interesse zu wissen, ob sich die betreffenden Bildpunkte im Zentrum oder im Randbereich des durch die Bilddaten i (20) oder j (21) beschriebenen Bildes befinden. Dies deshalb, da sich auf Grund der bekannten Bildaufnahme- und Abbildungsgeometrien diejenigen Objekte, welche sich im Randbereich der Bilddatensätze (20, 21) befinden bei identischer relativer Geschwindigkeit in Bezug auf die Bildaufnahmeeinrichtung im gleichen Zeitraum um einen größeren Bereich bewegen, als dies für Objekte, wel- ehe sich weiter im Zentrum der Bilddatensätze abbilden, der Fall ist. Dies bedeutet, dass die den Signaturstrings von Bildpunkten im Randbereich der Bilddatens tze bei aufeinanderfolgenden Bildern größere Abweichungen in ihren jeweiligen Pixelkoordinaten aufweisen dürfen, als dies für die Pixelko- ordinaten von Signaturstrings, welche Bildzentrumsnahen Bildpunkten zuzuordnen sind, in Bezug auf eine plausible Korrespondenzhypothese toleriert werden könnte.
Selbstverständlich ist die erfindungsgemäße Korrespondenzana- lyse nicht auf die Analyse von Kamerabilddaten (parallel aufgenommene Stereobilddaten oder sequentielle Bildinformation im Rahmen einer Objektverfolgung) beschränkt, sondern läßt sich in einer für den Fachmann naheliegender Weise auch auf
andere abbildenden Sensorsysteme übertragen; beispielsweise Radar- oder Lidar-Systeme oder kombinierte Systeme zur Sen¬ sorfusion von Radar und Kamera. Auch kann das Verfahren selbstverständlich durch geeignete naheliegende Adaption zur Korrespondenzanalyse von Kamerabilddaten genutzt werden, welche mit in unterschiedlichen Wellenlängenbereichen arbeiten¬ den Kamerasystemen erzeugt wurden.