-
Die Erfindung betrifft ein Verfahren zur Bildverarbeitung von Stereobildern gemäß dem Oberbegriff des Anspruchs 1.
-
Tiefenberechnung auf Basis zweier Bilder ist ein Standardproblem der Bildverarbeitung, zu dessen Lösung im Stand der Technik verschiedene Algorithmen bekannt sind.
-
Zu diesen Algorithmen gehören beispielsweise globale und semi-globale Stereoalgorithmen, wie sie beispielsweise aus „Hirschmüller, H.: Accurate and Efficient Stereo Processing by Semi-Global Matching and Mutual Information; in: IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05), 2. Jg., S. 807-814“ bekannt sind. Diese erfordern jedoch einen hohen Rechenaufwand, der eine Echtzeitimplementierung verhindert.
-
Ein nahe liegender und verbreiteter Ansatz zur Rechenzeitreduktion ist die aus „Franke, U., Joss,A.: Real-time stereo vision for urban traffic scene understanding; in: Proceedings of the IEEE Intelligent Vehicles Symposium 2000, 3. bis 5. Oktober, Dearborn, MI, S. 273-278;“ bekannte Reduzierung der Bildgröße eines zu berechnenden Tiefenbildes (im Weiteren auch Tiefenkarte genannt). Bei üblicherweise verwendeten Reduktionen um einen Faktor zwei in Breite und Höhe wird zusätzlich eine Anzahl der zu berechnenden Disparitätswerte halbiert, so dass eine um einen Faktor acht reduzierte Rechenzeit erzeugt wird. Nachteilig ist jedoch, dass diese Bildgrößenreduktion zu ungenaueren Disparitäts- und/oder Tiefenwerten führt.
-
Aus der
DE 10 310 849 A1 ist ein Verfahren zur photogrammmetrischen Bestimmung der Abstände oder Positionen von Objekten relativ zu einem Bezugsort durch Auswertung eines Stereobildpaares der Objekte bekannt, bei welchem in einem ersten Schritt Bilddaten eines Originalbildes aus zwei Stereobildern ermittelt werden, anhand derer eine Tiefenkarte des Originalbildes mit einer reduzierten Auflösung bestimmt wird.
-
Aus „DAVIS, Robert L.: Screening of wide area search reconnaissance imagery. In Proceedings 2001 International Conference on Image Processing (Cat. No.01CH37205), vol. 1, 2001, S. 802-805“ ist bekannt, im Falle einer begrenzten Rechenleistung bzw. Datenübertragungsrate Bilddaten zuerst in geringerer Auflösung bereitzustellen und in einem zweiten Schritt die Daten eines wählbaren Ausschnitts zur Auswertung zu verwenden.
-
Aus der
WO 97 / 21 188 A1 ist ebenfalls ein System und Verfahren zur Erkennung eines breiten/engen Sichtfeldes bekannt.
-
Der Erfindung liegt daher die Aufgabe zugrunde, ein verbessertes Verfahren zur Bildverarbeitung von Stereobildern anzugeben, welches insbesondere einen Rechenaufwand bei gleichbleibender Qualität der Tiefenberechnung reduziert.
-
Die Aufgabe wird erfindungsgemäß mit einem Verfahren gelöst, welches die im Anspruch 1 angegebenen Merkmale aufweist.
-
Vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche.
-
Bei dem erfindungsgemäßen Verfahren zur Bildverarbeitung von Stereobildern zur Rechenzeitreduzierung von globalen Stereoalgorithmen werden in einem ersten Schritt Bilddaten eines Originalbildes aus zwei Stereobildern (= rechtes und linkes Eingangsbild) ermittelt, anhand derer eine Tiefenkarte des Originalbildes mit einer reduzierten Auflösung bestimmt wird. Erfindungsgemäß wird in einem zweiten Schritt eine Tiefenkarte eines wählbaren Ausschnittes des Originalbildes mit einer maximalen Auflösung ermittelt.
-
Erfindungsgemäß wird in dem zweiten Schritt eine maximale, in der Tiefenkarte darzustellende Disparität vorgegeben.
-
Gemäß einer sinnvollen Weiterführung der Erfindung werden Disparitäten mit größeren Werten als die maximale Disparität auf den Wert der maximalen Disparität gesetzt.
-
Daraus resultiert der Vorteil, dass mittels des Stereoalgorithmus korrekte Ergebnisse erzielt werden können.
-
Unter Disparität soll ein horizontaler Abstand gleicher Bildelemente auf beiden Teilbildern (= rechtes und linkes Eingangsbild) zueinander verstanden werden.
-
Zusammenfassend wird mit der Erfindung eine Reduktion der Rechenzeit bei einer Vergrößerung der Qualität oder zumindest gleich bleibender Qualität der Ergebnisse des Stereoalgorithmus erreicht. Daraus ergibt sich die Möglichkeit, einen semi-globalen Stereoalgorithmus auf im Stand der Technik bekannten FPGAs (= Field Programmable Gate Arrays) in Echtzeit auszuführen.
-
Ausführungsbeispiele der Erfindung werden im Folgenden anhand von Zeichnungen näher erläutert. Die Erfindung ist jedoch nicht auf die konkret angeführten Ausführungsbeispiele beschränkt, sondern es ergeben sich bereits aus Unterkombinationen der beschriebenen Ausführungsbeispiele vorteilhafte Reduktionen an Rechenaufwand.
-
Dabei zeigen:
- 1 schematisch ein rechtes und ein linkes Eingangsbild und in zwei Schritten berechnete Tiefenkarten,
- 2 schematisch mehrere Verteilungen von Disparitäten zur Ausführung einer Analyse eines Originalbildes in zwei Schritten,
- 3 schematisch mehrere Verteilungen von Disparitäten zur Ausführung einer Analyse eines Originalbildes in zwei Schritten mit veränderter dritter Verteilung, und
- 4 schematisch eine Zusammenfassung von jeweils vier Pfaden zu einem Scan, welcher ein Originalbild analysiert.
-
Einander entsprechende Teile sind in allen Figuren mit den gleichen Bezugszeichen versehen.
-
Nachfolgend ist ein Verfahren zur Bildverarbeitung von Stereobildern zur Rechenzeitreduktion für global optimierende Stereoalgorithmen beschrieben. Zu dieser Verfahrensklasse gehören auch semi-globale Stereoalgorithmen (= Semi-global Matching).
-
1 zeigt ein rechtes Eingangsbild R und ein linkes Eingangsbild L (= Stereobilder), beispielsweise von einer Straßenszene, welche insbesondere ein aus zwei verschiedenen Perspektiven, beispielsweise von zwei Kameras, aufgenommenes Motiv darstellen.
-
Erfindungsgemäß werden zur Rechenzeitreduzierung von globalen Stereoalgorithmen in einem ersten Schritt S1 Bilddaten eines Originalbildes O aus dem rechten und dem linken Eingangsbild R, L ermittelt, anhand derer eine Tiefenkarte T1 des Originalbildes O mit einer reduzierten Auflösung, vorzugsweise halber Auflösung, berechnet wird, wobei das gesamte Originalbild O mit Tiefeninformation abgedeckt wird.
-
In einem zweiten Schritt S2 wird eine weitere Tiefenkarte T2 eines wählbaren Ausschnittes AO des Originalbildes O mit einer maximalen Auflösung berechnet, so dass der Ausschnitt AO mit genaueren Tiefeninformationen abgedeckt wird.
-
2 zeigt mehrere Verteilungen D1 bis D3 von Disparitäten D zur Ausführung der Analyse des Originalbildes O in zwei Schritten S1, S2. Dabei stellt die erste Verteilung D1 die Disparitäten D mit einem Wert von bis zu „127“ im Originalbild O dar.
-
Bei der im ersten Schritt S1 durchgeführten Analyse des Originalbildes O und der Berechnung der Tiefenkarte T1 mit reduzierter, insbesondere halber Auflösung wird automatisch ein größerer Disparitätsbereich abgedeckt, jedoch mit einer reduzierten Genauigkeit. Da das Originalbild O gemäß der ersten Verteilung D1 insbesondere Disparitäten D mit Werten bis „127“ aufweist, resultiert aus der Untersuchung des Originalbildes O mit halbierter Auflösung eine zweite Verteilung D2 mit Werten von Disparitäten D bis „63“.
-
Die aus dem ersten Schritt S1 resultierenden Ergebnisse, d. h. die Tiefeninformationen der Tiefenkarte T1, werden zur Analyse des frei wählbaren Ausschnittes AO des Originalbildes O und zur Berechnung der zugehörigen Tiefenkarte T2 mit voller Auflösung, vorzugsweise Originalauflösung, im zweiten Schritt S2 wieder verwendet.
-
Dabei wird im zweiten Schritt S2 in der dritten Verteilung D3 der Disparitäten D zusätzlich eine maximale, in der Tiefenkarte T2 darzustellende Disparität Dmax vorgegeben. Im dargestellten Beispiel wird der Ausschnitt AO des Originalbildes O in der Originalauflösung mit einer maximalen Disparität Dmax von „63“ untersucht. Die Werte der Disparitäten D des ersten Schrittes S1 verdoppeln sich aufgrund der Verdopplung der Auflösung, so dass eine Disparität D mit dem Wert „31“ aus dem ersten Schritt S1 einer Disparität D mit dem Wert „62“ im zweiten Schritt S2 entspricht.
-
Dadurch werden Bereiche des Ausschnittes AO, welche im ersten Schritt S1 als Objekte mit sehr hohen Disparitäten D, insbesondere größer als „31“, erkannt wurden, im zweiten Schritt S2 ausgelassen und auf die vorgegebenen maximale Disparität Dmax mit dem Wert „63“ abgebildet. Dies wird insbesondere dadurch erreicht, dass die Ähnlichkeitskosten an der Position der maximalen Disparität Dmax auf den Wert „Null“ gesetzt werden, so dass der global optimierende Stereoalgorithmus immer die maximale Disparität Dmax als Lösung wählt.
-
In einer nicht näher dargestellten Nachbearbeitung des zweiten Schrittes S2 werden dann bevorzugt alle Bereiche mit der maximalen Disparität Dmax von „63“ durch die gefundene Disparität D aus dem ersten Schritt S1 ersetzt.
-
Für eine Berechnung einer nicht näher dargestellten Tiefenkarte des Originalbildes O mit maximaler Auflösung und einer Disparität Dmax von „128“ (= Werte von „0“ bis „127“) ergibt sich ein Aufwand X
1 wie folgt:
mit: N = Anzahl der Operationen pro Pixel-Disparität-Kombination, D = Disparität.
-
Für die beschriebene Berechnung der Tiefenkarten T1 und T2 des Originalbildes O in zwei Schritten S1, S2 mit einer reduzierten Disparität D von „64“ (= Werte von „0“ bis „63“) ergibt sich ein Aufwand X
2 wie folgt:
so dass in vorteilhafter Weise gemäß:
der Aufwand X
2 dem um den Faktor „4“ reduzierten Aufwand X
1 bei gleicher oder verbesserter Auflösung der Tiefenmessung in großen Entfernungen entspricht.
-
Alternativ zu der durchgeführten Berechnung der Tiefenkarte T2 mit Disparitäten D bis zu einem Wert von „63“ in der dritten Verteilung D3, kann der zweite Schritt S2 auch mit Disparitäten D in halben Disparitätsstufen gemäß einer in 3 dargestellten dritten Verteilung D3' durchgeführt werden.
-
Dabei werden für Disparitäten D, welche größer als die maximale Disparität Dmax mit dem Wert „31“ sind, die grob aufgelösten Disparitäten D, d. h. Disparitäten D mit Werten größer „16“, aus der Tiefenkarte T1 des ersten Schrittes S1 verwendet.
-
Für eine Generierung der Ähnlichkeitskosten wird zusätzlich eine Interpolation der Grauwerte durchgeführt, um für nicht ganzzahlige Disparitäten D Werte zu generieren. Die Disparitäten D mit Werten von „31“ bis „63“ werden weniger präzise als im ersten Schritt S1 vermessen, die Disparitäten D mit Werten von „0“ bis „31“ dagegen genauer.
-
Dadurch ist es in vorteilhafter Weise möglich, für die kleinsten Disparitäten D mit Werten von bis zu „31“ eine um einen Faktor „2“ verbesserte Genauigkeit zu erzielen.
-
Aus dem Stand der Technik [„Hirschmüller, H.: Accurate and Efficient Stereo Processing by Semi-Global Matching and Mutual Information; in: IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05), 2. Jg., S. 807-814“] ist ein semi-globaler Stereoalgorithmus (= Semi-global Matching) bekannt, der das globale zweidimensionale Optimierungsproblem der Stereoberechnung auf eine durch mehrere eindimensionale Pfade A1 bis A4, B1 bis B4 (= Richtungen) approximierte Optimierung reduziert. Dabei sind in einem Ursprungsalgorithmus für jeden Pfad A1 bis A4, B1 bis B4 externe lesende und schreibende Speicherzugriffe nötig, um die Pfadkosten zu akkumulieren. Eine bevorzugte Wahl als Kompromiss zwischen einem geringen Rechenaufwand und einer hohen Genauigkeit sind acht Pfade A1 bis A4, B1 bis B4.
-
4 zeigt eine Zusammenfassung von vier Pfaden A1 bis A4 zu einem Scan A und vier Pfaden B1 bis B4 zu einem Scan B, so dass die vier Pfade A1 bis A4 in dem Scan A und die vier Pfade B1 bis B4 in dem Scan B jeweils gleichzeitig verarbeitet werden. Daraus resultiert eine deutliche Beschleunigung des semi-globalen Stereoalgorithmus.
-
Die Analyse (= Scannen) des Originalbildes O zur Erfassung von Tiefeninformationen und zur Berechnung der Tiefenkarten T1, T2 ist möglich, da nur akkumulierte Pfadkosten für eine Zeile pro Pfad A1 bis A4, B1 bis B4 und alle möglichen Disparitäten D für die Berechnung notwendig sind. Damit können für die vier Pfade A1 bis A4 auf einmal alle Berechnungen in einer Recheneinheit RA bzw. für die vier Pfade B1 bis B4 in einer Recheneinheit RB intern verarbeitet werden, ohne auf einen nicht näher dargestellten externen Speicher zuzugreifen. Dabei wird anhand von Scan A das Originalbild O insbesondere von links oben nach rechts unten und anhand von Scan B von rechts unten nach links oben analysiert.
-
Durch die gleichzeitige Verarbeitung und eine interne Pufferung von mehreren Pfaden A1 bis A4, B1 bis B4 bzw. Richtungen, wobei nur eine Zeile Pufferung pro Pfad A1 bis A4, B1 bis B4 notwendig ist, verringert sich eine notwendige externe Speicher-Bandbreite um ein Vielfaches und eine Integration des semi-globalen Stereoalgorithmus in ein FPGA (= Field Programmable Gate Arrays) ist derart realisierbar, dass der Stereoalgorithmus auf diesem in Echtzeit ausführbar ist.
-
Bezugszeichenliste
-
- A
- Scan
- AO
- Ausschnitt
- A1 bis A4
- Pfad
- B
- Scan
- B1 bis B4
- Pfad
- D
- Disparität
- Dmax
- Maximale Disparität
- D1
- Erste Verteilung
- D2
- Zweite Verteilung
- D3
- Dritte Verteilung
- D3'
- Dritte Verteilung
- L
- Linkes Eingangsbild/Stereobild
- O
- Originalbild
- R
- Rechtes Eingangsbild/Stereobild
- RA
- Recheneinheit
- RB
- Recheneinheit
- S1
- Erster Schritt
- S2
- Zweiter Schritt
- T1
- Tiefenkarte
- T2
- Tiefenkarte
- X1
- Aufwand
- X2
- Aufwand