-
Querverweis auf verwandte Anmeldung
-
Die vorliegende Anmeldung beansprucht unter 35 U.S.C. §119(x) den Nutzen der
koreanischen Patentanmeldung Nr. 10-2016-0106266 , welche am 22. August 2016 beim Koreanischen Amt für geistiges Eigentum eingereicht wurde, und deren gesamter Inhalt durch Bezugnahme hierin aufgenommen ist.
-
Hintergrund der Erfindung
-
(a) Technisches Feld
-
Die vorliegende Offenbarung betrifft ein System und ein Verfahren zum Erzeugen einer Disparitätskarte durch Abgleich (anders ausgedrückt, Matching) von Stereobildern.
-
(b) Beschreibung der verwandten Technik
-
Die Technik des Abgleichs von Stereobildern wird weithin verwendet, um Situationen um ein Fahrzeug (z. B. ein Kraftfahrzeug) herum zu erkennen, einschließlich der Erkennung von Objekten (z. B. eines Fahrzeuges, eines Fußgängers, etc.) basierend auf dreidimensionalen (3D) Informationen, Berechnen eines befahrbaren Bereiches, und dergleichen. Um die Technik des Abgleichs von Stereobildern auf eine Fahrzeugumgebung anzuwenden, wird eine hohe Zuverlässigkeit für das Ergebnis des Abgleichs von Stereobildern benötigt.
-
Da ein Algorithmus zum Abgleich von Stereobildern basierend auf einem globalen Abgleich die 3D-Information mit hoher Qualität (z. B. hoher Auflösung) berechnen kann, jedoch eine hohe Rechenkomplexität aufweist, wird ein Algorithmus zum Abgleich von Stereobildern basierend auf einem lokalen Abgleich, das niedrigen Rechenaufwand benötigt, auf die Fahrzeugumgebung angewendet. Jedoch hat das lokale Abgleichungsverfahren den Nachteil, dass es ein genauer und dichter Abgleich für einen breiten Bereich, wie z. B. eine Fahrbahnoberfläche, nicht durchführen kann.
-
In letzter Zeit sind Untersuchungen basierend auf einem semi-globalen Abgleichungsverfahren durchgeführt worden, das von einer hohen Qualität im Vergleich zum Rechenaufwand ist. Jedoch setzt das semi-globale Abgleichungsverfahren, das konventionell angewendet wird, ein 3D-Geomterie-Element voraus, das nicht für die Fahrzeugumgebung geeignet ist. Dadurch gibt es das Problem, dass eine Leistungs-Verschlechterung in der Abgleich-Qualität und im Rechenaufwand auftritt. Insbesondere ist es schwierig, eine Fläche, die bezüglich einer Bildebene einer Kamera signifikant geneigt ist, wie z. B. eine Fahrbahnoberfläche, abzugleichen, und ist es schwierig, einen Stereo-Abgleich (Stereo-Matching) bei schlechten Wetterbedingungen, wie z. B. bei Regen oder Schnee, korrekt durchzuführen, welche oft während der Betriebszeit des Fahrzeuges auftreten.
-
Daher ist es notwendig, ein System und ein Verfahren zu entwickeln, welche fähig sind, eine ausgezeichnete Disparitätskarte durch Abgleich von Stereobildern sogar bei schlechten Wetterbedingungen zu erzeugen.
-
Zusammenfassung
-
Ein Aspekt der vorliegenden Offenbarung stellt ein Verfahren zum Erzeugen einer Disparitätskarte bereit, welches den Abgleich von Stereobildern sogar bei schlechten Wetterbedingungen durchführen kann.
-
Entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung, weist ein System zum Erzeugen einer Disparitätskarte auf: ein Bildgewinnungs-Element (z. B. ein Bild-Aufzeichnungs-Element), das ein linkes Bild und ein rechtes Bild gewinnt; einen Anpassungskosten-Berechner, der Anpassungskosten (anders ausgedrückt, Matching-Kosten; z. B. ein Unterschiedlichkeitsmaß) für jedes von einer Mehrzahl von Pixeln des linken Bildes und des rechten Bildes berechnet; einen Kumulations- und Additions-Berechner, der einen Kumulationswert eines der Pixel basierend auf den berechneten Anpassungskosten berechnet, und einen Relaxations-Kumulationswert berechnet, der ein Mittelwert von Werten ist, welche durch die Multiplikation jedes der Verhältniskoeffizienten zwischen einem Disparitätswert des einen Pixels und Disparitätswerten der Pixel, die das eine Pixel umgeben, mit dem Kumulationswert des einen Pixels erhalten werden; ein Disparitätswert-Ableitungselement, das einen Disparitätswert für jedes der Pixel basierend auf dem berechneten Relaxations-Kumulationswert ableitet; und einen Disparitätskarten-Erzeuger, der die Disparitätskarte basierend auf dem abgeleiteten Disparitätswert erzeugt.
-
Der Anpassungskosten-Berechner kann die Anpassungskosten durch Vergleichen von Grundbildern (z. B. Untergrundbildern, z. B. Bodenbildern) des linken Bildes und des rechten Bildes berechnen, und (kann) die Anpassungskosten durch Vergleichen der Bilder über einem Grund des linken Bildes und des rechten Bildes berechnen.
-
Wenn der Kumulations- und Additions-Berechner die Anpassungskosten in einer vertikalen Richtung kumuliert und addiert, kann der Kumulations- und Additions-Berechner einen aktuellen Kumulationswert durch Addieren eines Minimalwertes von einem Kumulationswert einer vorherigen Richtung der entsprechenden Disparität, einem Wert, der durch Addieren einer ersten Kumulationskonstante zu einem Kumulationswert einer Richtung um einen Disparitätswert herum erhalten wird, und einem Wert, der durch Addieren einer zweiten Kumulationskonstante zu einem Minimalwert von den Kumulationswerten der vorherigen Richtung erhalten wird, zu aktuellen Anpassungskosten berechnen, und wenn der Kumulations- und Additions-Berechner die Anpassungskosten in einer horizontalen Richtung kumuliert und addiert, kann der Kumulations- und Additions-Berechner den aktuellen Kumulationswert durch Addieren eines Minimalwertes von dem Kumulationswert der vorherigen Richtung der entsprechenden Disparität und dem Wert, der durch Addition der zweiten Kumulationskonstante zu dem Minimalwert der Kumulationswerte der vorherigen Richtung erhalten wird, zu den aktuellen Anpassungskosten berechnen.
-
Der Kumulations- und Additions-Berechner kann einen sich wiederholenden (z. B. rekursiven) Relaxations-Kumulationswert berechnen, der ein Mittelwert von Werten ist, welche durch Multiplikation jedes der Verhältniskoeffizienten zwischen dem Disparitätswert des einen Pixels und den Disparitätswerten von Pixeln, die das eine Pixel umgeben, mit dem Relaxations-Kumulationswert des einen Pixels erhalten werden, und das Disparitätswert-Ableitungselement kann den Disparitätswert für jedes der Pixel basierend auf dem sich wiederholenden Relaxations-Kumulationswert ableiten.
-
Das Disparitätswert-Ableitungselement kann einen Disparitätswert, dessen berechneter Kumulationswert ein Minimum annimmt, als den Disparitätswert des einen Pixels ableiten.
-
Das System kann ferner aufweisen: ein Stixel-anwendendes Element, das Pixel gruppiert, die den gleichen Disparitätswert in einer vertikalen Richtung oder einer horizontalen Richtung haben, um ein Stixel zu bilden, und die Disparitätswerte von Pixeln, die sich zwischen einer Mehrzahl von Stixeln befinden/konfigurieren, zu Disparitätswerten der Mehrzahl von Stixeln ändert, wenn ein Pixelabstand zwischen der Mehrzahl von Stixeln, die in der gleiche Richtung gebildet/konfiguriert sind, so dass sie auf der gleichen Linie positioniert sind und den gleichen Disparitätswert haben, ein vorbestimmter Pixelwert oder kleiner ist.
-
Entsprechend einer anderen beispielhaften Ausführungsform der vorliegenden Offenbarung weist ein Verfahren zum Erzeugen einer Disparitätskarte auf: Erhalten eines linken Bildes und eines rechten Bildes; Berechnen von Anpassungskosten für jedes einer Mehrzahl von Pixeln des linken Bildes und des rechten Bildes; Berechnen eines Kumulationswertes eines der Pixel basierend auf den berechneten Anpassungskosten; Berechnen eines Relaxations-Kumulationswertes, welcher ein Mittelwert von Werten ist, die durch Multiplizieren jedes der Verhältniskoeffizienten zwischen einem Disparitätswert des einen Pixels und den Disparitätswerten von Pixeln, die das eine Pixel umgeben, mit dem Kumulationswert des einen Pixels erhalten werden; Ableiten eines Disparitätswertes für jedes der Pixel basierend auf dem berechneten Relaxations-Kumulationswert; und Erzeugen der Disparitätskarte basierend auf dem abgeleiteten Disparitätswert.
-
Beim Berechnen der Anpassungskosten können die Anpassungskosten durch Vergleichen von Grundbildern des linken Bildes und des rechten Bildes berechnet werden, und die Anpassungskosten können durch Vergleichen der Bilder über einem Grund des linken Bildes und des rechten Bildes berechnet werden.
-
Beim Berechnen des Kumulationswertes, wenn die Anpassungskosten in einer vertikalen Richtung kumuliert und addiert werden, kann ein aktueller Kumulationswert durch Addieren eines Minimalwertes von einem Kumulationswert einer vorherigen Richtung der entsprechenden Disparität, einem Wert, der durch Addieren einer ersten Kumulationskonstante zu einem Kumulationswert einer Richtung um einen Disparitätswert herum erhalten wird, und einem Wert, der durch Addieren einer zweiten Kumulationskonstante zu einem Minimalwert der Kumulationswerte der vorherigen Richtung erhalten wird, zu den Anpassungskosten berechnet werden, und wenn die Anpassungskosten in einer horizontalen Richtung kumuliert und addiert werden, kann der aktuelle Kumulationswert durch Addieren eines Minimalwertes von dem Kumulationswert der vorherigen Richtung der entsprechenden Disparität und dem Wert, der durch Addieren der zweiten Kumulationskonstante zu dem Minimalwert der Kumulationswerte der vorherigen Richtung erhalten wird, zu den aktuellen Anpassungskosten berechnet werden.
-
Das Verfahren kann ferner aufweisen: nach dem Berechnen des Relaxations-Kumulationswertes Berechnen eines sich wiederholenden (z. B. rekursiven) Relaxations-Kumulationswertes, der ein Mittelwert von Werten ist, die durch Multiplizieren jedes der Verhältniskoeffizienten zwischen dem Disparitätswert des einen Pixels und den Disparitätswerten der Pixel, die das eine Pixel umgeben, mit dem Relaxations-Kumulationswert des einen Pixels erhalten werden, wobei beim Ableiten des Disparitätswertes für jedes der Pixel der Disparitätswert für jedes der Pixel basierend auf dem sich wiederholenden Relaxations-Kumulationswert abgeleitet wird.
-
Beim Ableiten des Disparitätswertes für jedes der Pixel kann ein Disparitätswert, dessen berechneter Kumulationswert zu einem Minimum wird, als der Disparitätswert des einen Pixels abgleitet werden.
-
Das Verfahren kann ferner aufweisen: Gruppieren von Pixeln, die den gleichen Disparitätswert in einer vertikalen Richtung oder einer horizontalen Richtung haben, um ein Stixel zu bilden, und Ändern von Disparitätswerten der Pixel, die sich zwischen einer Mehrzahl von Stixeln befinden, zu Disparitätswerten der Mehrzahl von Stixeln, wenn ein Pixelabstand zwischen der Mehrzahl von Stixeln, die in der gleichen Richtung gebildet sind, so dass sie auf der gleichen Linie positioniert sind und den gleichen Disparitätswert haben, ein vorbestimmter Pixelwert oder kleiner ist.
-
Ein dauerhaftes computerlesbares Medium, das Programm-Anweisungen enthält, die von einem Prozessor ausgeführt werden, kann aufweisen: Programm-Anweisungen, um ein linkes Bild und ein rechtes Bild zu erhalten; Programm-Abweisungen, um Anpassungskosten für jedes von einer Mehrzahl von Pixeln des linken Bildes und des rechten Bildes zu berechnen; Programm-Abweisungen, um einen Kumulationswert von einem der Pixel basierend auf den berechneten Anpassungskosten zu ermitteln; Programm-Anweisungen, um einen Relaxations-Kumulationswert, welcher ein Mittelwert von Werten ist, die durch Multiplizieren jedes der Verhältniskoeffizienten zwischen einem Disparitätswert des einen Pixels und Disparitätswerten der Pixel, die das eine Pixel umgeben, mit dem Kumulationswert des einen Pixels erhalten werden; Programm-Anweisungen, um einen Disparitätswert für jedes der Pixel basierend auf dem berechneten Relaxations-Kumulationswert abzuleiten, und Programm-Anweisungen, um eine Disparitätskarte basierend auf dem abgeleiteten Disparitätswert zu erzeugen.
-
Kurze Beschreibung der Abbildungen
-
Die obigen und andere Ziele, Merkmale und Vorteile der vorliegenden Offenbarung werden durch die folgende detaillierte Beschreibung in Verbindung mit den beigefügten Zeichnungen offensichtlicher.
-
1 ist ein Blockdiagramm eines Systems zum Erzeugen einer Disparitätskarte entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
-
2A ist ein Diagramm, das einen Prozess des Kumulierens und des Addierens der Anpassungskosten von oben nach unten in einer vertikalen Richtung entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
-
2B ist ein Diagramm, das einen Prozess des Kumulierens und des Addierens der Anpassungskosten von unten nach oben in einer vertikalen Richtung entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
-
3A ist ein Diagramm, das einen Prozess des Kumulierens und des Addierens der Anpassungskosten von links nach rechts in einer horizontalen Richtung entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
-
3B ist ein Diagramm, das einen Prozess des Kumulierens und des Addierens der Anpassungskosten von rechts nach links in einer horizontalen Richtung entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
-
4 ist ein Diagramm, das einen Prozess des Relaxations-Kumulierens und Addierens der Anpassungskosten entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
-
5A ist eine Anpassungskosten-Karte, die Anpassungskosten für jedes der Pixel entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
-
5B ist eine Kumulationswerte-Karte, die einen Kumulationswert für jedes der Pixel im Falle, dass die Kumulation und Addition einmal in einer Richtung von links nach rechts durchgeführt werden, entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
-
5C ist eine Kumulationswerte-Karte, die einen Kumulationswert für jedes der Pixel im Falle, dass die Kumulation und Addition zweimal in einer Richtung von links nach rechts durchgeführt werden, entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
-
5D ist eine Kumulationswerte-Karte, die einen Kumulationswert für jedes der Pixel im Falle, dass die Kumulation und die Addition dreimal in einer Richtung von links nach rechts durchgeführt werden, entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
-
6A ist eine Kumulationswerte-Karte, aus der ein Mittelwert von Kumulationswerten der jeweiligen Richtungen abgeleitet wird, entsprechend einer beispielhaften Ausführungsform der vorlegenden Offenbarung.
-
6B ist eine Kumulationswerte-Karte, in der die Relaxations-Kumulation und Addition einmal in der Kumulationswerte-Karte der 6A durchgeführt werden, entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
-
6C ist eine Kumulationswerte-Karte, in der die Relaxations-Kumulation und Addition noch einmal in der Kumulationswerte-Karte der 6B durchgeführt werden, entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
-
7A ist eine Kumulationswerte-Karte, die einen Relaxations-Kumulationswert, wenn ein Disparitätswert 0 ist, entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
-
7B ist eine Kumulationswerte-Karte, die den Relaxations-Kumulationswert, wenn der Disparitätswert 1 ist, entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
-
7C ist eine Kumulationswerte-Karte, die den Relaxations-Kumulationswert, wenn der Disparitätswert 9 ist, entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
-
8 ist ein Blockdiagramm, das ein System zum Erzeugen einer Disparitätskarte entsprechend einer weiteren beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
-
9 ist eine Disparitätskarte, auf welche ein Stixel, entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung, angewendet ist.
-
10 ist ein Ablaufschema, das ein Verfahren zum Erzeugen einer Disparitätskarte entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
-
11 ist ein Ablaufschema, das ein Verfahren zum Erzeugen eine Disparitätskarte entsprechend einer weiteren beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
-
12A ist ein linkes Bild, das mittels eines Bildgewinnungs-Elements entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung gewannen ist.
-
12B ist ein rechtes Bild, das mittels des Bildgewinnungs-Elements entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung gewonnen ist.
-
13 ist eine Disparitätskarte, die durch Verwenden des linken Bildes der 12A und des rechten Bildes der 12B nach dem Verfahren zum Matching der Stereo-Bilder entsprechend der verwandten Technik erzeugt ist.
-
14 ist eine Disparitätskarte, die durch Verwenden des linken Bildes der 12A und des rechten Bildes der 12B entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung erzeugt ist.
-
15 ist ein Blockdiagramm, das ein Computersystem, das ein Verfahren zum Erzeugen einer Disparitätskarte ausführt, entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
-
Detaillierte Beschreibung
-
Es ist zu verstehen, dass der Begriff „Fahrzeug” oder „Fahrzeug-” oder ein anderer ähnlicher Begriff, so wie er hierin verwendet ist, Kraftfahrzeuge im Allgemeinen mit einschließt, wie zum Beispiel Personenkraftwagen einschließlich Sport Utility Vehicles (SUV), Busse, Lastkraftwagen, verschiedene Nutzfahrzeuge, Wasserfahrzeuge einschließlich einer Mehrzahl von Booten und Schiffen, Luftfahrzeuge und dergleichen, und Hybridfahrzeuge, Elektrofahrzeuge, Plug-in-Hybridelektrofahrzeuge, mit Wasserstoff betriebene Fahrzeuge und andere, mit alternativen Kraftstoffen betriebene Fahrzeuge (z. B. Kraftstoffen, die aus anderen Rohstoffen als Erdöl gewonnen werden) einschließt. Hierin bezeichnet ein Hybridfahrzeug ein Fahrzeug, das zwei oder mehr Antriebsquellen aufweist, zum Beispiel Fahrzeuge, die sowohl mit Benzin als auch elektrisch betrieben werden.
-
Die hierin verwendete Terminologie dient nur dem Zweck des Beschreibens bestimmter Ausführungsformen und beabsichtigt nicht, die Offenbarung zu beschränken. Wie hierin verwendet, beabsichtigen die Singularformen „ein”, „eine”, „der”, „die” und „das”, auch die Pluralformen zu umfassen, sofern der Zusammenhang nicht eindeutig etwas anderes angibt. Es versteht sich ferner, dass die Begriffe „aufweisen” und/oder „aufweisend”, wenn in dieser Beschreibung verwendet, das Vorhandensein von angegebenen Merkmalen, Zahlen, Schritten, Tätigkeiten, Elementen und/oder Komponenten spezifizieren, jedoch nicht das Vorhandensein oder Hinzufügen von einem oder mehreren anderen Merkmalen, Zahlen, Schritten, Tätigkeiten, Elementen, Komponenten und/oder Gruppen davon ausschließen. Wie hierin verwendet, umfasst der Ausdruck „und/oder” irgendeine und alle Kombinationen von einem oder mehreren der zugehörigen, aufgelisteten Elemente. In der Beschreibung durchgehend, sofern nicht explizit anders beschrieben, wird das Wort „aufweisen” und Variationen, wie z. B. „weist auf” oder „aufweisend” so verstanden werden, dass das Einschließen der angegebenen Elemente, jedoch nicht das Ausschließen jeder anderen Elemente impliziert ist. Außerdem bedeuten die Begriffe ”Einheit”, „-er”, „-Element”, und „Modul”, die in der Beschreibung verwendet werden, Einheiten (z. B. Geräte) zum Ausführen mindestens einer Funktion und Operation, und können durch Hardware-Komponenten oder durch Software-Komponenten und Kombinationen davon ausgeführt werden.
-
Außerdem kann die Steuerlogik der vorliegenden Offenbarung als dauerhaftes, computerlesbares Medium auf einem computerlesbaren Medium/Datenträger enthalten sein, welches/welcher ausführbare Programmanweisungen, welche von einem Prozessor, Steuerung/Steuergerät oder dergleichen ausgeführt werden, enthält. Beispiele der computerlesbaren Datenträger schließen mit ein, sind aber nicht limitiert auf, ROM, RAM, Compact-Disk-(CD)-ROMs, Magnetbänder, Floppy Disks, Flash-Speicher, Smartcards und optische Datenspeichervorrichtungen. Das computerlesbare Medium kann auch in netzwerkgekoppelten Computersystemen verteilt sein, so dass die computerlesbaren Medien in einer verteilten Weise, z. B. durch einen Telematik-Server oder ein Controller-Area-Netzwerk (CAN), gespeichert und ausgeführt werden.
-
Nachstehend werden einige Ausführungsbeispiele der vorliegenden Offenbarung im Detail mit Bezugnahme auf die illustrativen Zeichnungen beschrieben. Es ist anzumerken, dass beim Vergeben der Bezugszeichen an Komponenten jeder der beigefügten Zeichnungen die gleichen Komponenten mit gleichen Bezugszeichen versehen werden, auch wenn sie in unterschiedlichen Zeichnungen dargestellt sind. Außerdem, beim Beschreiben der beispielhaften Ausführungsformen der vorliegenden Offenbarung, werden wohlbekannte Konstruktionen oder Funktionen nicht im Detail im Falle, dass sie das Verständnis der beispielhaften Ausführungsformen der vorliegenden Offenbarung unnötigerweise erschweren, beschrieben.
-
1 ist ein Blockdiagramm eines Systems zum Erzeugen einer Disparitätskarte entsprechend einer beispielhaften Ausführungsform der vorliegenden Erfindung.
-
Bezugnehmend auf 1, kann ein System 100 zum Erzeugen einer Disparitätskarte aufweisen: ein Bildgewinnungs-Element 110, einen Anpassungskosten-Berechner 120, einen Kumulations- und Additions-Berechner 130, ein Disparitätswert-Ableitungselement 140 und einen Disparitätskarten-Erzeuger 150. Das Bildgewinnungs-Element 110 kann eine Kamera oder ein Bildempfänger sein. Außerdem können der Anpassungskosten-Berechner 120, der Kumulations- und Additions-Berechner 130, das Disparitätswert-Ableitungselement 140 und der Disparitätskarten-Erzeuger 150 eine oder mehrere Steuerungseinheiten (Controller) sein, welche Prozessor(en) zum Ausführen der entsprechenden Operationen enthält (enthalten), und jedes/jeder kann in einem dauerhaften computerlesbaren Medium enthalten sein.
-
Jedoch sind die in 1 dargestellten Komponenten keine unerlässlichen Komponenten. Deswegen kann das System 100 zum Erzeugen einer Disparitätskarte mit mehr oder weniger Komponenten, als es in 1 dargestellt ist, implementiert werden.
-
Das Bildgewinnungs-Element 110 kann ein linkes Bild und ein rechtes Bild gewinnen. Das Bildgewinnungs-Element 110 kann eine Kamera sein, die ein Bild aufzeichnet, und kann auch ein Bildempfänger sein, der das Bild von der Kamera empfängt. In dem Fall, dass das Bildgewinnungs-Element 110 die Kamera ist, kann das Bildgewinnungs-Element 110 zwei Kameras sein, welche in einer horizontalen Richtung voneinander getrennt sind. Außerdem, in dem Fall, dass das Bildgewinnungs-Element 110 der Bildempfänger ist, kann die Kamera, die das empfangene Bild aufzeichnet, zwei Kameras sein, welche getrennt voneinander in einer horizontalen Richtung angeordnet sind.
-
An sich, auch wenn die zwei Kameras, welche in einer horizontalen Richtung voneinander getrennt sind, das Bild in der gleichen Richtung aufnehmen, haben die Bilder, die von den jeweiligen Kameras erhalten werden, einen Unterschied aufgrund eines räumlichen Abstandes der beiden Kameras, und erzeugt das System 100 zum Erzeugen einer Disparitätskarte entsprechend der vorliegenden Offenbarung die Disparitätskarte basierend auf dem vorstehend genannten Unterschied.
-
Der Anpassungskosten-Berechner 120 kann die Anpassungskosten für jedes der Pixel des linken Bildes und des rechten Bildes berechnen. Entsprechend der vorliegenden Offenbarung kann der Anpassungskosten-Berechner 120 einen Algorithmus des Abgleichs von Stereo-Bildern basierend auf einem Grund verwenden. Der Algorithmus des Abgleichs von Stereo-Bildern basierend auf dem Grund ist ein Algorithmus, der die Anpassungskosten durch Vergleichen der Grundbilder des linken Bildes und des rechten Bildes berechnet, und die Anpassungskosten durch Vergleichen der Bilder über dem Grund des linken Bildes und des rechten Bildes berechnet. Entsprechend dem Algorithmus des Abgleichs von Stereo-Bildern basierend auf dem Grund, da ein Grund-Disparitäts-Kennzeichen und ein Objekt-Disparitäts-Kennzeichen so berechnet werden, dass sie voneinander getrennt sind, kann die Disparitätskarte so erzeugt werden, dass sie robuster bezüglich des Grundes ist, als ein semiglobales Verfahren entsprechend der verwandten Technik.
-
Der Kumulations- und Additions-Berechner 130 kann einen Kumulationswert für jedes der Pixel basierend auf den berechneten Anpassungskosten berechnen, und kann eine Relaxations-Kumulation und eine Addition basierend auf Kumulationswerten um das Pixel herum durchführen, um dadurch einen Relaxations-Kumulationswert für jedes der Pixel zu berechnen.
-
Zuerst wird ein Verfahren zum Berechnen eines Kumulationswertes in einer vertikalen Richtung und einer horizontalen Richtung mittels des Kumulations- und Additions-Berechners 130 mit Bezugnahme auf 2A bis 3B beschrieben.
-
2A ist ein Diagramm, das einen Prozess des Kumulierens und Addierens der Anpassungskosten von oben nach unten in einer vertikalen Richtung entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt. 2B ist ein Diagramm, das einen Prozess des Kumulierens und Addierens der Anpassungskosten von unten nach oben in einer vertikalen Richtung entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
-
3A ist ein Diagramm, das einen Prozess des Kumulierens und Addierens der Anpassungskosten von links nach rechts in einer horizontalen Richtung entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt. 3B ist ein Diagramm, das einen Prozess des Kumulierens und Addierens der Anpassungskosten von rechts nach links in einer horizontalen Richtung entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
-
In dem Fall, dass die Anpassungskosten in der vertikalen Richtung kumuliert und addiert werden, kann der Kumulations- und Additions-Berechner einen aktuellen Kumulationswert durch Addieren eines Minimalwertes von einem Kumulationswert einer vorherigen Richtung der entsprechenden Disparität, einem Wert, der durch Addieren einer ersten Kumulationskonstante zu einem Kumulationswert einer Richtung um einen Disparitätswert herum erhalten wird, und einem Wert, der durch Addieren einer zweiten Kumulationskonstante zu einem Minimalwert des Kumulationswertes der vorherigen Richtung erhalten wird, zu aktuellen Anpassungskosten berechnen.
-
Das kann in der folgenden Gleichung 1 dargestellt werden:
-
[Gleichung 1]
-
-
LR(p, d) = C(p, d) + min(LR(p – r, d), LR(p – r, d – 1) + p1, LR(p – r, d + 1) + p1, min(LR(p – r, i) + p2))
-
Der Ausdruck LR(p, d) ist der Kumulationswert, p1 ist die erste Kumulationskonstante, p2 ist die zweite Kumulationskonstante, C(p, d) sind die Anpassungskosten, p ist eine Pixelkoordinate, d ist der Disparitätswert, und r ist eine Richtung der Kumulation und Addition.
-
2A stellt einen Prozess des Kumulierens und des Addierens der Anpassungskosten in einer Richtung von oben nach unten dar, und 2B stellt einen Prozess des Kumulierens und Addierens der Anpassungskosten in einer Richtung von unten nach oben dar.
-
Wie in 2A und 2B dargestellt, kann der Kumulations- und Additions-Berechner 130 den aktuellen Kumulationswert durch Addieren des Minimalwertes von dem Kumulationswert der vorherigen Richtung der entsprechenden Disparität, dem Wert, der durch Addieren der ersten Kumulationskonstante zu dem Kumulationswert der Richtung um den Disparitätswert herum erhalten wird, und dem Wert, der durch Addieren der zweiten Kumulationskonstante zu dem Minimalwert des Kumulationswertes der vorherigen Richtung erhalten wird, zu den aktuellen Anpassungskosten berechnen.
-
Die Kumulationskonstanten sind beliebige Konstanten, die zu dem Kumulationswert der vorherigen Richtung oder zu dem Kumulationswert der Richtung um den Disparitätswert herum addiert werden, und die Kumulationskonstanten werden addiert, wodurch ermöglicht wird, den vertikalen Zusammenhang zu verstärken.
-
Außerdem, im Falle, dass die Anpassungskosten in der horizontalen Richtung kumuliert und addiert werden, kann der Kumulations- und Additions-Berechner 130 den aktuellen Kumulationswert durch Addieren des Minimalwertes von dem Kumulationswert der vorherigen Richtung der entsprechenden Disparität und dem Wert, der durch Addition der zweiten Kumulationskonstante zu dem Minimalwert von Kumulationswerten der vorherigen Richtung erhalten wird, zu den aktuellen Anpassungskosten berechnen.
-
Das kann in der folgenden Gleichung 2 dargestellt werden:
-
[Gleichung 2]
-
-
LR(p, d) = C(p, d) + min(LR(p – r, d), min(LR(p – r, i) + p2)
-
Der Ausdruck LR(p, d) ist der Kumulationswert, p2 ist die zweite Kumulationskonstante, C(p, d) sind die Anpassungskosten, p ist eine Pixelkoordinate, d ist der Disparitätswert, und r ist eine Richtung der Kumulation und Addition.
-
3A stellt einen Prozess des Kumulierens und Addierens der Anpassungskosten in einer Richtung von links nach rechts dar, und 3B stellt einen Prozess des Kumulierens und Addierens der Anpassungskosten in einer Richtung von rechts nach links dar.
-
Wie in 3A und 3B dargestellt, kann der Kumulations- und Additions-Berechner 130 den aktuellen Kumulationswert durch Addieren des Minimalwertes von dem Kumulationswert der vorherigen Richtung der entsprechenden Disparität und dem Wert, der durch Addition der zweiten Kumulationskonstante zu dem Minimalwert des Kumulationswertes der vorherigen Richtung erhalten wird, zu den aktuellen Anpassungskosten berechnen.
-
Anders als bei der Kumulation und Addition in der vertikalen Richtung, wenn die Kumulation und Addition in der horizontalen Richtung durchgeführt wird, wird nur die zweite Kumulationskonstante verwendet, und wird die Kumulationskonstante addiert, wodurch ermöglicht wird, einen horizontalen Zusammenhang zu verstärken.
-
Der Kumulations- und Additions-Berechner 130 kann eine Relaxations-Kumulations- und Additionsberechnung basierend auf den Kumulationswerten durchführen, welche, wie vorstehend beschrieben, in der vertikalen Richtung und in der horizontalen Richtung kumuliert und addiert werden. Die Relaxations-Kumulations- und Additionsberechnung ist eine Kumulations- und Additionsberechnung basierend auf den Kumulationswerten um ein aktuelles Pixel herum, und ein Zusammenhang zwischen dem aktuellen Pixel und den umgebenden Pixeln kann durch Durchführen der Relaxations-Kumulations- und Additionsberechnung verstärkt werden. Nachstehend wird ein Verfahren zum Durchführen einer Relaxations-Kumulations- und Additionsberechnung unter Bezugnahme auf 4 und Gleichung 3 beschrieben.
-
4 ist ein Diagramm, das einen Prozess des Relaxations-Kumulierens und Addierens von Anpassungskosten entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
-
Der Kumulations- und Additions-Berechner 130 kann Verhältniskoeffizienten zwischen dem Disparitätswert des aktuellen Pixels und den Disparitätswerten der Pixel, die das aktuelle Pixel umgeben, mit dem Kumulationswert des aktuellen Pixels multiplizieren, und einen Mittelwert der multiplizierten Werte (anders ausgedrückt, der durch die Multiplikation erhaltenen Werte) als einen Relaxations-Kumulationswert berechnen. Außerdem kann der Kumulations- und Additions-Berechner 130 die Relaxations-Kumulation und Addition basierend auf dem berechneten Relaxations-Kumulationswert wiederholen. Das heißt, dass der Kumulations- und Additions-Berechner 130 die Verhältniskoeffizienten zwischen dem Disparitätswert des aktuellen Pixels und den Disparitätswerten der Pixel, die das aktuelle Pixel umgeben, mit dem Relaxations-Kumulationswert des aktuellen Pixels multiplizieren kann und einen Mittelwert der multiplizierten Werte (anders ausgedrückt, der durch die Multiplikation erhaltenen Werte) als einen Relaxations-wiederholenden(z. B. rekursiven)-Relaxations-Kumulationswert berechnen kann. Dabei ist der Verhältniskoeffizient (eine geschätzte Disparität eines aktuellen Pixels – eine geschätzte Disparität der umgebenden Pixel)/(einen insgesamt zulässigen Disparitätswertebereich).
-
Das kann in der folgenden Gleichung 3 dargestellt werden. [Gleichung 3]
-
Der Ausdruck Lr n(p, d) ist ein n-mal wiederholter Kumulationswert, n(r) ist die Anzahl der das aktuelle Pixel umgebenden Werte, q(p, p – r) ist der Relationskoeffizient zwischen dem Disparitätswert des aktuellen Pixels und den Disparitätswerten der umgebenden Pixel, und r ist eine Richtung der Kumulation und Addition, d ist der Disparitätswert, und p – r ist ein vorheriger Wert des aktuellen Pixels in der r-Richtung.
-
Ein Anfangswert des Kumulationswertes (Lr n(p, d)) sind die Anpassungskosten (Lr 0(p, d)) = C(p, d)), und ein Wert, der durch Multiplizieren der Verhältniskoeffizienten zwischen dem Disparitätswert des aktuellen Pixels und den Disparitätswerten der umgebenden Pixel mit den Anpassungskosten und Dividieren des durch die Multiplikation des erhaltenen Wertes durch die Anzahl der umgebenden Kumulationswerte erhalten wird, ist der Relaxations-Kumulationswert.
-
Der Kumulations- und Additions-Berechner 130 kann die sich wiederholende Relaxations-Kumulations- und Additions-Berechnung durch Substituieren des Relaxations-Kumulationswertes, der als der Kumulationswert (Lr n(p, d)) berechnet wird, durchführen.
-
Das Disparitätswert-Ableitungs-Element 140 kann einen Disparitätswert für jedes der Pixel basierend auf dem berechneten Kumulationswert ableiten. Das Disparitätswert-Ableitungs-Element 140 kann einen Disparitätswert, dessen berechneter Kumulationswert ein Minimum annimmt, als den Disparitätswert des aktuellen Pixels ableiten. In Gleichung 3, ist die Größe d, die für den Disparitätswert steht, enthalten, und das Disparitätswert-Ableitungs-Element 140 leitet die Größe d, die den Kumulationswert minimal macht, als den Disparitätswert des aktuellen Pixels ab.
-
Der Disparitätskarten-Erzeuger 150 kann die Disparitätskarte basierend auf dem abgeleiteten Disparitätswert erzeugen. Das heißt, dass das Disparitätswert-Ableitungs-Element 140 Disparitätswerte für alle Pixel eines Bildes ableiten kann, und das Bild, in dem die Disparitätswerte für jedes der Pixel dargestellt sind, zu der Disparitätskarte wird.
-
Nachstehend wird ein Beispiel eines Prozesses des Berechnens des Kumulationswertes basierend auf den Anpassungskosten, die mittels des Anpassungskosten-Berechners 120 berechnet werden, und des Ableitens des Disparitätswertes unter Bezugnahme auf 5A bis 7C beschrieben.
-
5A ist eine Anpassungskostenkarte, die Anpassungskosten für jedes der Pixel entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt. 5B ist eine Kumulationswerte-Karte, die einen Kumulationswert für jedes der Pixel in dem Fall, dass die Kumulation und Addition einmal in einer Richtung von links nach rechts entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung durchgeführt werden, darstellt. 5C ist eine Kumulationswerte-Karte, die einen Kumulationswert für jedes der Pixel in dem Fall, dass die Kumulation und Addition zweimal in einer Richtung von links nach rechts entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung durchgeführt werden, darstellt. 5D ist eine Kumulationswerte-Karte, die einen Kumulationswert für jedes der Pixel im Falle, dass die Kumulation und Addition dreimal in einer Richtung von links nach rechts entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung durchgeführt werden, darstellt.
-
6A ist eine Kumulationswerte-Karte, aus der ein Mittelwert von Kumulationswerten der jeweiligen Richtungen abgeleitet wird, entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung. 6B ist eine Kumulationswerte-Karte, in der die Relaxations-Kumulation und Addition einmal in der Kumulationswerte-Karte von 6A durchgeführt ist, entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung. 6C ist eine Kumulationswerte-Karte, in der die Relaxations-Kumulations- und Additions-Berechnung noch einmal in der Kumulationswerte-Karte von 6B durchgeführt wird, entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
-
7A ist eine Kumulationswerte-Karte, die einen Relaxations-Kumulationswert, wenn ein Disparitätswert 0 ist, entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt. 7B ist eine Kumulationswerte-Karte, die den Relaxations-Kumulationswert, wenn der Disparitätswert 1 ist, entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt. 7C ist eine Kumulationswerte-Karte, die den Relaxations-Kumulationswert, wenn der Disparitätswert 9 ist, entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
-
Bezugnehmend auf 5A sind die Anpassungskosten in allen Pixeln 1, falls die Disparität 1 ist. Der Kumulations- und Additions-Berechner 130 führt die Kumulations- und Additions-Berechnung für die jeweiligen Richtungen durch, und 5B bis 5D stellen ein Prozess des Durchführens einer Kumulations- und Additionsberechnung von links nach rechts in einer horizontalen Richtung dar.
-
Wie vorstehend beschrieben, da der Anfangswert des Kumulationswertes gleich den Anpassungskosten ist, ist der Kumulationswert der Pixel in der äußersten linken Spalte in 5B (gleich) 1.
-
Der Kumulations- und Additions-Berechner 130 kann einen Kumulationswert einer zweiten Spalte mit der Gleichung 2 ausrechnen. Der Kumulations- und Additions-Berechner 130 leitet einen Kumulationswert von 2, wie in 5C dargestellt, durch Addieren eines Wertes, der durch Addieren der zweiten Kumulationskonstante zu dem Minimalwert von den Kumulationswerten der vorherigen Richtungen aller Disparitätskennzeichen und (dem Wert) 1, welcher das Minimum aus den Kumulationswerten der vorherigen Richtungen mit einem aktuellen Disparitäts-Kennzeichen ist, erhalten wird, zu dem Wert 1 ab, der für die aktuellen Anpassungskosten steht.
-
Der Kumulations- und Additions-Berechner 130 kann einen Kumulationswert einer dritten Spalte wieder mit der Gleichung 2 berechnen. Der Kumulations- und Additions-Berechner 130 leitet einen Kumulationswert von 3, wie in 5D dargestellt, durch Addieren eines Wertes, der durch Addieren der zweiten Kumulationskonstante zu dem Minimalwert von den Kumulationswerten der vorherigen Richtungen aller Disparitätskennzeichen und dem Wert 2, welcher das Minimum aus den Kumulationswerten der vorherigen Richtungen mit dem aktuellen Disparitäts-Kennzeichen ist, erhalten wird, zu dem Wert 1 ab, welcher für die aktuellen Anpassungskosten steht.
-
Der Kumulations- und Additions-Berechner 130 kann die Kumulationswerte aller Richtungen und den Relaxations-Kumulationswert nach dem vorstehend beschriebenen Verfahren berechnen. 6A stellt die Kumulationswerte dar, die mittels des Kumulations- und Additions-Berechners 130 nach dem vorstehend beschriebenen Verfahren ermittelt werden.
-
Das heißt, dass der Kumulations- und Additions-Berechner 130 den aktuellen Kumulationswert des mittleren Pixels, welches das aktuelle Pixel in 6A ist, entsprechend der Gleichung 3 multipliziert und den Relaxations-Kumulationswert wie in 6B durch Dividieren des durch die Multiplikation erhaltenen Wertes durch die Anzahl der umgebenden Kumulationswerte ableitet.
-
Der Kumulations- und Additions-Berechner 130 kann die Relaxation-Kumulations- und Additions-Rechnung für den Relaxations-Kumulationswert, der sich aus der Gleichung 3 ergibt, erneut durchführen. Ein Ergebnis, das durch erneutes Durchführen der Relaxations-Kumulations- und Additions-Rechnung erhalten wird, ist in 6C gezeigt, und die Anzahl der Wiederholungen, bei denen der Kumulations- und Additions-Berechner 130 die Kumulations- und Additionsberechnung durchführen kann, ist nicht auf die vorstehend genannte Darstellung beschränkt.
-
Das Disparitätswert-Ableitungselement 140 kann einen Disparitätswert, dessen Relaxations-Kumulationswert, der mittels des Kumulations-Additions-Berechners 130 berechnet wird, ein Minimum annimmt, als den Disparitätswert des aktuellen Pixels ableiten. (Mit anderen Worten kann der Disparitätswert des aktuellen Pixels derjenige sein, bei dem der Relaxations-Kumulationswert minimal ist.)
-
7A stellt den Relaxations-Kumulationswert dar, wenn der Disparitätswert 0 ist, 7B stellt den Relaxations-Kumulationswert dar, wenn der Disparitätswert 1 ist, und 7C stellt den Relaxations-Kumulationswert dar, wenn der Disparitätswert 9 ist. Bezugnehmend auf 7A bis 7C, ist, wenn der Disparitätswert 9 ist, der Relaxations-Kumulationswert 3, was der Minimalwert ist, und das Disparitätswert-Ableitungselement 140 kann ableiten, dass der Disparitätswert 9 ist.
-
Unterdessen wird ein Stixel entsprechend einer weiteren beispielhaften Ausführungsform der vorliegenden Offenbarung angewendet, um einen Zusammenhang zwischen Pixeln zu erhöhen, wodurch es ermöglicht wird, Lücken zu beseitigen, welche in den Disparitätskarten vorhanden sein können, und die Disparitätskarte, die einen verstärkten Zusammenhang (z. B. glattere Übergänge zwischen den einzelnen Werten) aufweist, zu erzeugen.
-
8 ist ein Blockdiagramm eines Systems zum Erzeugen einer Disparitätskarte entsprechend einer weiteren beispielhaften Ausführungsform der vorliegenden Offenbarung.
-
Bezugnehmend auf 8 kann ein System 200 zum Erzeugen einer Disparitätskarte entsprechend einer weiteren beispielhaften Ausführungsform der vorliegenden Offenbarung ein Bildgewinnungs-Element 210, einen Anpassungskosten-Berechner 220, einen Kumulations- und Additions-Berechner 230, ein Disparitätswert-Ableitungs-Element 240, einen Disparitätskarten-Erzeuger 250 und ein Stixel-anwendendes Element 260 aufweisen.
-
Jedoch sind die in 8 dargestellten Komponenten keine unerlässlichen Komponenten. Deswegen kann die Vorrichtung 200 zum Erzeugen einer Disparitätskarte mit mehr oder weniger Komponenten, als es in 8 dargestellt ist, implementiert werden.
-
Da das Bildgewinnungs-Element 210, der Anpassungskosten-Berechner 220, der Kumulations- und Additions-Berechner 230, das Disparitätswert-Ableitungs-Element 240 und der Disparitätskartenerzeuger 250 dieselben sind, wie die unter Bezugnahme auf 1 beschriebenen, wird eine Beschreibung davon weggelassen.
-
Das Stixel-anwendende Element 260 kann die Pixel, die den gleichen Disparitätswert in der vertikalen Richtung oder der horizontalen Richtung haben, gruppieren, um ein Stixel zu bilden/konfigurieren. In dem Fall, dass ein Pixelabstand zwischen einer Mehrzahl von Stixeln, die in der gleichen Richtung gebildet/konfiguriert sind, so dass sie auf der gleichen Linie positioniert sind und den gleichen Disparitätswert haben, ein vorbestimmter Pixelwert oder kleiner ist, kann das Stixel-anwendende Element 260 die Disparitätswerte von Pixeln, die sich zwischen der Mehrzahl von Stixeln befinden, zu Disparitätswerten der Mehrzahl von Stixeln ändern.
-
Das Stixel-anwendende Element 260 kann die Pixel, die den gleichen Disparitätswert in der vertikalen Richtung oder in der horizontalen Richtung haben, zu einer Gruppe verbinden, um ein Stixel zu bilden/konfigurieren. Falls der Disparitätswert normal abgeleitet wird, hat ein Grundbild denselben Disparitätswert in der horizontalen Richtung und enthält ein Stixel.
-
Jedoch, da es schwierig ist, den Disparitätswert normal bei schlechtem Wetter abzuleiten, hat ein Teil des Grundbildes denselben Disparitätswert in der horizontalen Richtung, aber andere Teile davon haben unterschiedliche Disparitätswerte. Deswegen kann das Grundbild nicht (nur) ein Stixel enthalten.
-
In dem Fall, dass der Pixelabstand zwischen der Mehrzahl von Stixeln, die in der gleichen Richtung gebildet/konfiguriert sind, so dass sie auf der gleichen Linie positioniert sind und den gleichen Disparitätswert haben, ein vorbestimmter Pixelwert oder kleiner ist, kann das Stixel-anwendende Element 260 die Disparitätswerte von Pixeln, die sich zwischen der Mehrzahl von Stixeln befinden, zu den Disparitätswerten der Mehrzahl von Stixeln ändern.
-
In dem Fall, dass die Mehrzahl von Stixeln, die in der gleichen Richtung konfiguriert sind, so dass sie auf der gleichen Linie positioniert sind, und ein Abstand zwischen der Mehrzahl von Stixeln klein ist, kann es so aufgefasst werden, dass Pixel mit unterschiedlichen Disparitätswerten, welche sich zwischen der Mehrzahl von Stixeln befinden, fehlerhafte Disparitätswerte aufgrund des schlechten Wetters haben. Durch Berücksichtigen des vorstehenden Aspekts kann das Stixel-anwendende Element 260 eine Korrektur durchführen, bei der der Disparitätswert der Pixel, die den fehlerhaften Disparitätswert haben, zu dem Disparitätswert der Mehrzahl von Stixeln geändert wird.
-
9 ist eine Disparitätskarte, auf die ein Stixel angewendet wird, entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
-
Wenn der Disparitätswert durch Anwenden des Stixels, wie vorstehend beschrieben, korrigiert wird, haben die Pixel zwischen der Mehrzahl von Stixeln denselben Disparitätswert wie die Mehrzahl von Stixeln. Deswegen kann die Mehrzahl von Stixeln ein Stixel enthalten, wie in 9 dargestellt.
-
Nachstehend wird ein Verfahren zum Erzeugen einer Disparitätskarte basierend auf den oben beschriebenen Anordnungen, unter Bezugnahme auf 10 beschrieben.
-
10 ist ein Ablaufschema, das ein Verfahren zum Erzeugen einer Disparitätskarte entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
-
Bezugnehmend auf 10 kann ein Verfahren zum Erzeugen einer Disparitätskarte entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung aufweisen: eine Operation (S110) des Erhaltens eines linken Bildes und eines rechten Bildes, eine Operation (S120) des Berechnens von Anpassungskosten des linken Bildes und des rechten Bildes, eine Operation (S130) des Berechnens eines Kumulationswertes für jedes der Pixel basierend auf den Anpassungskosten, eine Operation (S140) des Berechnens eines Relaxations-Kumulationswertes basierend auf dem Kumulationswert für jedes der Pixel, eine Operation (S150) des Ableitens eines Disparitätswertes für jedes der Pixel basierend auf dem Relaxations-Kumulationswert und eine Operation (S160) des Erzeugens der Disparitätskarte basierend auf dem Disparitätswert.
-
Nachstehend werden die Operationen (S110 bis S160) im Detail beschrieben.
-
Bei der Operation (S110) kann ein Bildgewinnungs-Element 110 ein linkes Bild und ein rechtes Bild gewinnen. Das linke Bild und das rechte Bild sind Bilder, die entsprechend von zwei Kameras aufgezeichnet werden, welche in einer horizontalen Richtung voneinander getrennt sind. Das Bildgewinnungs-Element 110 kann das Bild direkt als die Kamera aufnehmen und kann (alternativ) das Bild von der Kamera als ein Bildempfänger empfangen.
-
Bei der Operation (S120) kann der Anpassungskosten-Berechner 120 die Anpassungskosten für jedes der Pixel des linken Bildes und des rechten Bildes entsprechend einem Algorithmus zum Abgleich der Stereobilder basierend auf einem Grund berechnen. Wie vorstehend beschrieben, kann der Anpassungskosten-Berechner 120 die Anpassungskosten durch Vergleichen der Grundbilder des linken Bildes und des rechten Bildes berechnen und kann die Anpassungskosten durch Vergleichen der Bilder über dem Grund im linken Bild und im rechten Bild berechnen.
-
Bei der Operation (S130) kann der Kumulations-Additions-Berechner 130 den Kumulationswert für jedes der Pixel basierend auf den Anpassungskosten berechnen. Der Kumulations-Additions-Berechner 130 kann den Kumulationswert in der vertikalen Richtung und in der horizontalen Richtung, wie vorstehend beschrieben, berechnen.
-
Bei der Operation (S140) kann der Kumulations-Additions-Berechner 130 eine Relaxations-Kumulations- und Additions-Rechnung basierend auf dem Kumulationswert durchführen, um einen Relaxations-Kumulationswert zu berechnen. Der Kumulations-Additions-Berechner 130 kann den Relaxations-Kumulationswert berechnen, der ein Mittelwert von Werten ist, welche durch Multiplizieren jedes der Verhältniskoeffizienten zwischen einem Disparitätswert eines aktuellen Pixels und Disparitätswerten der umgebenden Pixel mit dem Kumulationswert des aktuellen Pixels erhalten werden, und da ein detailliertes Verfahren zum Berechnen eines Kumulationswertes vorstehend beschrieben ist, wird eine Beschreibung davon weggelassen. Außerdem kann der Kumulations-Additions-Berechner 130 den Relaxations-Kumulationswert wiederholend/rekursiv basierend auf dem berechneten Relaxations-Kumulationswert berechnen.
-
Bei der Operation (S150) kann das Disparitätswert-Ableitungselement 140 den Disparitätswert für jedes der Pixel basierend auf dem Relaxations-Kumulationswert ableiten. Das Disparitätswert-Ableitungselement 140 kann einen Disparitätswert, zu dem der berechnete Relaxations-Kumulationswert ein Minimum annimmt, als den Disparitätswert des aktuellen Pixels ableiten.
-
Bei der Operation (S160) kann der Disparitätskarten-Erzeuger 150 die Disparitätskarte basierend auf dem abgeleiteten Disparitätswert erzeugen. Das Bild, in dem der Disparitätswert für jedes der Pixel dargestellt ist, wird zu der Disparitätskarte.
-
Nachstehend wird ein Verfahren zum Erzeugen einer Disparitätskarte entsprechend einer weiteren beispielhaften Ausführungsform der vorliegenden Offenbarung unter Bezugnahme auf 11 beschrieben.
-
11 ist ein Ablaufschema, das ein Verfahren zum Erzeugen einer Disparitätskarte entsprechend einer weiteren beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
-
Bezugnehmend auf 11 kann das Verfahren zum Erzeugen einer Disparitätskarte entsprechend einer weiteren beispielhaften Ausführungsform der vorliegenden Offenbarung aufweisen: eine Operation (S210) des Erhaltens eines linken Bildes und eines rechten Bildes, eine Operation (S220) des Berechnens von Anpassungskosten des linken Bildes und des rechten Bildes, eine Operation (S230) des Berechnens eines Kumulationswertes für jedes der Pixel basierend auf den Anpassungskosten, eine Operation (S240) des Berechnens eines Relaxations-Kumulationswertes basierend auf dem Kumulationswert für jedes der Pixel, eine Operation (S250) des Ableitens eines Disparitätswertes für jedes der Pixel basierend auf dem Kumulationswert, eine Operation (S260) des Korrigierens des Disparitätswertes durch Anwenden eines Stixels und eine Operation (S270) des Erzeugens der Disparitätskarte basierend auf dem Disparitätswert.
-
Da die Operationen (S210 bis S250 und S270) die gleichen sind, wie die vorstehend beschriebenen Operationen (S110 bis 160), wird eine Beschreibung davon weggelassen.
-
Bei der Operation (S260) kann ein Stixel-anwendendes Element 260 Pixel gruppieren, die den gleichen Disparitätswert in der vertikalen Richtung oder der horizontalen Richtung haben, um ein Stixel zu bilden/konfigurieren. Im Falle, dass ein Pixelabstand zwischen einer Mehrzahl von Stixeln, die in der gleichen Richtung gebildet/konfiguriert sind, so dass sie auf der gleichen Linie positioniert sind und den gleichen Disparitätswert haben, ein vorbestimmter Pixelwert oder kleiner ist, kann eine Korrektur durchgeführt werden, bei der die Disparitätswerte der Pixel, die sich zwischen der Mehrzahl von Stixeln befinden, zu Disparitätswerten der Mehrzahl von Stixeln geändert werden.
-
Durch Hinzufügen der Operation (S260) werden Lücken entfernt, welche in der Disparitätskarte, welche ein Bild verwendet, das bei schlechtem Wetter aufgenommen ist, auftreten können, wodurch es ermöglicht wird, die Disparitätskarte mit verstärktem Zusammenhang zu erhalten.
-
12A ist ein linkes Bild, das von einem Bildgewinnungs-Element entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung gewonnen ist. 12B ist ein rechtes Bild, das von dem Bildgewinnungs-Element entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung gewonnen ist.
-
13 ist eine Disparitätskarte, die beim Verwenden des linken Bildes der 12A und des rechten Bildes der 12B nach dem Verfahren zum Abgleich/Matching von Stereobildern entsprechend der verwandten Technik erstellt ist. 14 ist eine Disparitätskarte, die beim Verwenden des linken Bildes der 12A und des rechten Bildes der 12B entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung erzeugt ist.
-
12A und 12B stellen das linke und das rechte Bild dar, welche von dem Bildgewinnungs-Element der Vorrichtung 100 oder 200 zum Erzeugen einer Disparitätskarte entsprechend der vorliegenden Offenbarung erhalten werden können. Bezugnehmend auf 12A und 12B kann es bestätigt werden, dass das Bild bei schlechtem, regnerischem Wetter aufgenommen ist.
-
Gemäß eines Verfahrens zum Abgleich von Stereobildern entsprechend der verwandten Technik (einem Bild-Matching basierend auf einem lokalen Matching, einem Bild-Matching basierend auf einem semiglobalen Matching, etc.) kann es bestätigt werden, dass fehlerhafte Disparitätswerte in die Disparitätskarte abgeleitet werden, wie in 13 dargestellt, wodurch die Lücken entstehen.
-
Hingegen kann es in dem Fall, dass die Disparitätskarte durch die Anordnung und das Verfahren entsprechend der vorliegenden Offenbarung, wie vorstehend beschrieben, erzeugt wird, bestätigt werden, dass die Disparität durchwegs horizontal zu einer Fahrbahnoberfläche dargestellt ist, und die Disparität vertikal zum Objekt dargestellt ist, wie in 14 gezeigt, wodurch es ermöglicht wird, eine ausgezeichnete Disparitätskarte sogar bei schlechtem Wetter zu erzeugen.
-
15 ist ein Blockdiagramm, das ein Computersystem darstellt, das das Verfahren zum Erzeugen einer Disparitätskarte entsprechend einer beispielhaften Ausführungsform der vorliegenden Offenbarung ausführt.
-
Bezugnehmend auf 15 kann ein Computersystem 1000 aufweisen: mindestens einen Prozessor 1100, einen Speicher (engl.: Memory) 1300, eine Benutzerschnittstellen-Eingabevorrichtung 1400, eine Benutzerschnittstellen-Ausgabevorrichtung 1500, einen Speicher (engl.: Storage) 1600 und eine Netzwerkschnittstelle 1700, welche durch einen Bus 1200 verbunden sind.
-
Der Prozessor 1100 kann eine zentrale Recheneinheit (Central Processing Unit (CPU)) oder eine Halbleitervorrichtung, die Prozesse für Programm-Anweisungen ausführt, die in dem Speicher 1300 und/oder in dem Speicher 1600 gespeichert sind. Der Speicher 1300 und der Speicher 1600 können verschiedene Arten von flüchtigen oder nicht flüchtigen Speichermedien aufweisen. Zum Beispiel kann der Speicher 1300 einen Read-Only-Memory(ROM)-Speicher und einen Random-Access-Memory(RAM)-Speicher aufweisen.
-
Demzufolge können Operationen in dem Verfahren oder Algorithmus, der im Zusammenhang mit beispielhaften Ausführungsformen in der vorliegenden Beschreibung offenbart ist, direkt in Hardware, einem Softwaremodul oder einer Kombination davon, die durch den Prozessor 1100 ausgeführt werden, realisiert werden. Das Softwaremodul kann sich auf einem Speichermedium (z. B. dem Speicher 1300 und/oder dem Speichereinheit 1600), wie z. B. einem Random-Access-Memory(RAM)-Speicher, einem Flash-Speicher, einem Read-Only-Memory(ROM)-Speicher, einem löschbaren programmierbaren Read-Only-Memory(EPROM)-Speicher, einem elektrisch löschbaren programmierbaren Read-Only-Memory(EEPROM)-Speicher, einem Register, einer Festplatte, einem Wechseldatenträger oder einem Compact-Disk-Read-Oniy-Memory(CD-ROM)-Speicher befinden. Ein veranschaulichendes Speichermedium kann mit dem Prozessor 1100 gekoppelt sein, und der Prozessor 1100 kann die Information aus dem Speichermedium auslesen und die Information auf das Speichermedium schreiben. Alternativ kann das Speichermedium ein integraler Bestandteil des Prozessors 1100 sein. Der Prozessor und das Speichermedium können sich auch innerhalb einer anwendungsspezifischen integrierten Schaltung (ASIC) befinden. Die ASIC kann sich innerhalb eines User-Terminals (z. B. eines Benutzer-Endgerätes) befinden. Alternativ können sich auch der Prozessor und das Speichermedium innerhalb eines User-Terminals als eine individuelle Komponente befinden.
-
In dem System und im Verfahren zum Erzeugen einer Disparitätskarte, wie vorstehend beschrieben, können die Anordnung und das Verfahren der vorstehend beschriebenen beispielhaften Ausführungsformen nicht einschränkend angewendet werden. Das heißt, dass alle oder einige der einzelnen beispielhaften Ausführungsformen konfiguriert werden können, um mit einander selektiv kombiniert zu werden, sodass sie auf verschiedene Weise modifiziert werden können.
-
Wie vorstehend beschrieben, entsprechend den beispielhaften Ausführungsformen der vorliegenden Offenbarung ist es möglich, das Verfahren zum Erzeugen einer Disparitätskarte bereitzustellen, das fähig ist, der Abgleich von Stereobildern sogar bei schlechten Wetterbedingungen ausgezeichnet auszuführen.
-
Unterdessen sind die Effekte, die mit der vorliegenden Offenbarung erhalten werden, nicht auf die vorstehend genannten Effekte limitiert. Das heißt, dass andere Effekte, die nicht genannt sind, vom Fachmann, den die vorliegende Offenbarung betrifft, aus der Beschreibung offensichtlich verstanden werden.
-
Obwohl vorstehend die vorliegende Offenbarung unter Bezugnahme auf beispielhafte Ausführungsformen und die beigefügten Zeichnungen beschrieben worden ist, ist die vorliegende Offenbarung nicht darauf limitiert, sondern kann durch den Fachmann, den die vorliegende Offenbarung betrifft, auf verschiedene Weise modifiziert und abgewandelt werden, ohne über den Umfang der in den folgenden Ansprüchen beanspruchten Offenbarung hinauszugehen.
-
Bezugszeichenliste
-
- 110
- Bildgewinnungs-Element
- 120
- Anpassungskosten-Berechner
- 130
- Kumulations- und Additions-Berechner
- 140
- Disparitätswert-Ableitungselement
- 150
- Disparitätskarten-Erzeuger
- 210
- Bildgewinnungs-Element
- 220
- Anpassungskosten-Berechner
- 230
- Kumulations- und Additions-Berechner
- 240
- Disparitätswert-Ableitungselement
- 260
- Stixel-anwendendes Element
- 250
- Disparitätskarten-Erzeuger
- 1100
- Prozessor
- 1300
- Speicher
- 1400
- Benutzerschnittstellen-Eingabevorrichtung
- 1500
- Benutzerschnittstellen-Ausgabevorrichtung
- 1600
- Speicher
- 1700
- Netzwerkschnittstelle
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-