-
Die, Erfindung betrifft ein Verfahren zur Tiefenfilterung von aus stereoskopisch erfassten Bildern erzeugten Tiefenbildern gemäß dem Oberbegriff des Anspruchs 1.
-
Aus dem Stand der Technik sind allgemein Verfahren zur Erzeugung von Tiefenbildern aus stereoskopisch erfassten Bildern bekannt.
-
Weiterhin sind aus dem Stand der Technik Verfahren zur Tiefenfilterung solcher Tiefenbilder bekannt.
-
Diese Verfahren umfassen so genannte Multi-View Stereoverfahren, welche aus mehreren Bildern einer unbewegten Szene ein einziges Tiefenbild oder eine Punktwolke generieren. Dabei wird eines der Bilder als Zielbild ausgewählt und es wird zwischen dem Zielbild und jedem weiteren Bild ein Disparitätsbild ermittelt. Die daraus resultierenden Punktwolken werden anhand ihrer Geometrie fusioniert.
-
Weiterhin umfassen die Verfahren zur Tiefenfilterung Ansätze, welche eine Sequenz von Videobildern oder eine Sequenz von Tiefenbildern zur Realisierung einer Qualitätsverbesserung zeitlich filtern. Solche Ansätze sind beispielsweise in ”Unger, Christian, et al.: Probabilistic disparity fusion for real-time motion-stereo; Asian Conference an Computer Vision (ACCV). 2010” beschrieben. Dabei werden zur Fusion mehrerer Tiefenbilder rein geometrische Betrachtungen verwendet, wobei die Tiefenbilder als Punktwolken betrachtet werden. Zu dieser rein geometrischen Betrachtung ist eine aufwändige Logik notwendig, um sichtbare Punkte von verdeckten Punkten zu unterscheiden und um Ausreißer zu erkennen.
-
Ferner ist aus ”Zhang, Guofeng, et al. Consistent depth maps recovery from a video sequence; Pattern Analysis and Machine Intelligence, IEEE Transactions an Pattern Analysis and Machine Intelligence, Vol. 31, No. 6, June 2009; pages 974–988” ein Verfahren bekannt, bei welchem zusätzlich photometrische Information zur Filterung verwendet wird. In diesem Verfahren wird iterativ eine Bündeloptimierung durchgeführt, wobei Farbähnlichkeit kombiniert mit einer Güte einer geometrischen Konsistenz als Optimierungsziel verwendet werden.
-
Der Erfindung liegt die Aufgabe zu Grunde, ein gegenüber dem Stand der Technik verbessertes Verfahren zur Tiefenfilterung von aus stereoskopisch mittels einer Kamera erfassten Bildern erzeugten Tiefenbildern anzugeben.
-
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.
-
In einem Verfahren zur Tiefenfilterung von aus stereoskopisch mittels einer Kamera erfassten Bildern erzeugten Tiefenbildern wird zur Tiefenfilterung photometrische Information herangezogen.
-
Erfindungsgemäß wird eine Sequenz von Tiefenbildern gemeinsam mit zeitlich synchronisierten Farbbildern gefiltert, in der Sequenz werden Bewegungsdaten der Kamera bestimmt und anhand der Bewegungsdaten werden die Tiefenbilder auf eine Position und Orientierung eines Zielbilds transformiert. Dabei werden Abweichungen und/oder Verdeckungen von Tiefenwerten im Zielbild entfernt, indem für jeden transformierten Tiefenbildpunkt ein zugehöriger Farbwert aus den Farbbildern mit einem Zielfarbwert im Zielbild an der transformierten Position verglichen wird, wobei bei einer Überschreitung einer vorgegebenen Abweichung zwischen Farbwert und Zielfarbwert der zugehörige Tiefenbildpunkt verworfen wird.
-
Unter Farbbildern werden vorliegend neben Farbbildern im herkömmlichen Sinn auch Schwarz-Weiß-Bilder oder Bilder einer Kamera mit anderen spektralen Eigenschaften verstanden.
-
Da die Farbbilder zumindest nahezu fehlerfrei sind, ist die gemeinsame Filterung mit den zeitlich synchronisierten Farbbildern sehr robust. Eine Kantenqualität des Tiefenbilds wird dabei erheblich erhöht. Die Filterung zeichnet sich durch eine solche Robustheit aus, dass selbst in Szenen mit bewegten Objekten, beispielsweise Verkehrsszenen mit sich bewegenden Verkehrsteilnehmern, Objektkanten scharf dargestellt sind. Die Filterung anhand des Farbbilds, welches eine hohe Winkelgenauigkeit besitzt, führt weiterhin zu einer hohen Robustheit bezüglich Fehlern in einer Bestimmung der Bewegung der Kamera.
-
Vorteilhaft ist weiterhin, dass eine Auflösung des gefilterten Tiefenbilds weder mit einer Auflösung der Farbbilder noch mit der Auflösung der Tiefenbilder übereinstimmen muss, sondern frei gewählt werden kann.
-
Im Unterschied zu vergleichbaren Verfahren, in welchen eine simultane Betrachtung mehrerer Datenpunkte erforderlich ist, um eine hohe Filterqualität zu erreichen, ist es weiterhin vorteilhaft, dass Tiefenbildpunkte als Eingangsdaten einzeln und unabhängig voneinander verarbeitet werden können. Somit können viele Tiefenbildpunkte schnell verarbeitet werden. Dies ist in einfacher Weise mit so genannter Streaming-Hardware, beispielsweise so genannten Streaming SIMD Extensions (kurz: SSE), Global Processing Units (kurz: GPU), Field Programmable Gate Arrays (kurz: FPGA), General Purpose Computation an Graphics Processing Units (kurz: GPGPU) und anderen Streaming-Prozessoren, in Echtzeit realisierbar.
-
In einer möglichen Ausgestaltung ist das Zielbild nicht Teil der Sequenz von Farbbildern. So kann beispielsweise in einer Implementation, in der nur für jedes zweite Paar von stereoskopisch erfassten Bildern ein Tiefenbild mittels eines Stereoalgorithmus berechnet wird, trotzdem für jedes Stereobildpaar die Tiefenfilterung durchgeführt werden. Ähnlich kann die Tiefenfilterung bereits dann durchgeführt werden, wenn nur das stereoskopisch erfasste Bild verfügbar ist. Hierbei muss nicht abgewartet werden, bis der Stereoalgorithmus ein Tiefenbild errechnet. Hierdurch können Latenzzeiten signifikant verringert werden.
-
Da mittels des Verfahrens fehlerbehaftete Tiefendaten verbessert werden, ist es auch denkbar, dass die Farbbilder nicht Teil der stereoskopisch erfassten Bilder sind, sondern insbesondere zeitsynchron von einer weiteren Kamera mit zumindest nahezu derselben Blickrichtung wie der Stereokamera erfasst wird. Dabei ist es auch möglich, anstatt einer Stereokamera ein LIDAR zu verwenden und das Verfahren zur Tiefenfilterung von LIDAR-Daten zu verwenden.
-
Weiterhin ermöglicht das Verfahren, dass sowohl eine Auflösung als auch eine Entfernungsgenauigkeit der Tiefenbilder erhöht werden kann. Insbesondere für LIDAR-Daten ist die Erhöhung der Auflösung interessant, da von einer Kamera erreichbare Auflösungen von einem LIDAR nur mit einem Vielfachen der Kosten erreicht werden können.
-
Ausführungsbeispiele der Erfindung werden im Folgenden anhand einer Zeichnung näher erläutert.
-
Dabei zeigt:
-
1 schematisch einen Ablauf eines Verfahrens zur Tiefenfilterung von aus stereoskopisch mittels einer Kamera erfassten Bildern erzeugten Tiefenbildern.
-
In der einzigen 1 ist ein Ablauf eines Verfahrens zur Tiefenfilterung von aus stereoskopisch mittels einer Kamera erfassten Bildern erzeugten Tiefenbildern TB dargestellt.
-
Hierbei wird eine Sequenz von Tiefenbildern TB gemeinsam mit zeitlich synchronisierten Farbbildern FB gefiltert. Die Farbbilder FB sind beispielsweise jeweils Bestandteil eines Stereobildpaars der Kamera. Anhand der Farbbilder FB und deren Farbwerte werden Bilder und Pixelwerte bestimmt, die aus einer Kameraaufnahme entstehen. Im Gegensatz hierzu werden die Tiefenbilder TB und Tiefenwerte in einem so genannten Stereoalgorithmus berechnet. Unter Farbbildern werden vorliegend neben Farbbildern FB im herkömmlichen Sinn auch Schwarz-Weiß-Bilder oder Bilder einer Kamera mit anderen spektralen Eigenschaften verstanden. Die verwendeten Daten der Farbbilder FB werden im Folgenden auch als Photometriedaten bezeichnet.
-
In dieser Sequenz werden Bewegungsdaten der Kamera bestimmt, wobei die Bestimmung beispielsweise anhand von mittels einer Inertialsensorik, einer Koppelortung, einer visuellen Odometrie oder ähnlichen Verfahren und Vorrichtungen ermittelten Daten erfolgt. Anhand der Bewegungsdaten werden die Tiefenbilder TB, welche Punktewolken darstellen, in einem Schritt S1 auf eine Pose eines Zielbilds ZB, d. h. eine Position und Orientierung des Zielbilds ZB, transformiert. Die Pose des Zielbilds ZB ergibt sich dabei aus einer Pose der Kamera, welche deren Position und Blickrichtung umfasst.
-
Eingabewerte des Verfahrens bestehen dabei aus einer Sequenz von alten Messdatensätzen sowie einem aktuellen Messdatensatz. Ein alter Messdatensatz umfasst dabei ein Farbbild FB und ein Tiefenbild TB, dessen Aufnahmezeitpunkt mit dem Farbbild FB übereinstimmt. Wurden das Farbbild FB und das Tiefenbild TB mittels Daten unterschiedlicher Kameras erzeugt, ist eine Ausrichtung der Kameras zueinander derart ausgebildet, dass eine Zuordnung von Farbwerten zu Tiefenwerten zumindest approximativ möglich ist. Weiterhin umfasst der alte Messdatensatz eine Messung einer Pose der die Farbbilder FB erfassenden Kamera zum Aufnahmezeitpunkt. Da lediglich eine relative Kamerabewegung relevant ist, ist keine absolute Pose erforderlich. Eine relative Pose ist ausreichend.
-
Ein aktueller Messdatensatz umfasst ein aktuelles Farbbild, welches ein Zielbild ZB darstellt sowie eine Messung der Pose der die Farbbilder FB erfassenden Kamera. Der aktuelle Messdatensatz ist in einer möglichen Ausgestaltung Teil eines der alten Messdatensätze. In diesem Fall ist zum aktuellen Farbbild, d. h. zum Zielbild ZB, auch ein Tiefenbild TB bekannt.
-
Ein Eingangsdatenpunkt für die Transformation im Schritt S1 besteht aus einer Bildkoordinate des Farbbilds FB und Tiefenbilds TB des alten Messdatensatzes sowie einem zugehörigen Farbwert und Tiefenwert. Die Bildkoordinate und der Tiefenwert bilden eine dreikomponentige Eingangskoordinate des Eingangsdatenpunkts. Diese Eingangskoordinate des Datenpunkts wird auf die Pose des Zielbilds ZB transformiert. Somit ergeben sich eine transformierte Bildkoordinate BK' und ein transformierter Tiefenwert TW' des Eingangsdatenpunkts und ein Tupel an Farbwerten FW aus den Farbbildern FB.
-
An der transformierten Bildkoordinate BK' wird nun in einem Schritt S2 ein Zielfarbwert ZFW des aktuellen Farbbilds, d. h. des Zielbilds ZB, bestimmt.
-
Eine Tiefenfilterung, welche ein gefiltertes Tiefenbild TB' zum Zielbild ZB erstellt, findet in zwei Schritten S3, S4 statt. In einem ersten Schritt S3 werden Abweichungen und Verdeckungen von Tiefenwerten im Zielbild ZB entfernt, indem für jeden transformierten Tiefenbildpunkt der zugehörige Farbwert FW aus den Farbbildern FB mit dem Zielfarbwert ZFW im Zielbild ZB an der transformierten Position verglichen wird.
-
Bei einer Überschreitung einer vorgegebenen Abweichung zwischen Farbwert FW und Zielfarbwert ZFW, d. h. falls sich Farbwert FW und Zielfarbwert ZFW zu stark unterscheiden, wird der zugehörige Tiefenbildpunkt verworfen.
-
In einem zweiten Schritt S4 werden nach der Verwerfung verbleibende Tiefenwerte TW'' für jeden Tiefenbildpunkt an der transformierten Position im Zielbild ZB gemittelt.
-
Das heißt, eine verbleibende transformierte Bildkoordinate BK'' sowie ein zugehöriger Tiefenwert TW'' des Eingangsdatenpunkts gehen in die Tiefenmittelung ein. Die Tiefenmittelung findet dabei für jeden Tiefenbildpunkt des zu erzeugenden gefilterten Tiefenbilds TB' statt. In die Mittelung an einem solchen Tiefenbildpunkt fließen diejenigen transformierten Bildkoordinaten BK'' Eingangsdatenpunkte ein, bei denen die transformierte Bildkoordinate BK'' mit der Bildkoordinate des gefilterten Tiefenbilds TB' übereinstimmt. Ein solcher Eingangsdatenpunkt wird im Folgenden als dem entsprechenden Tiefenbildpunkt des gefilterten Tiefenbilds TB' zugeordnet bezeichnet.
-
Die Tiefenmittelung erfolgt beispielsweise mittels einer arithmetischen Mittelung. Hierbei werden für Tiefenbildpunkte des gefilterten Tiefenbilds TB' zwei Variablen benötigt, so dass sich für eine Gesamtheit des gefilterten Tiefenbilds TB' ein zweikomponentiger Puffer bildet. Eine erste Variable ist eine Zählvariable, in der die Eingangsdatenpunkte gezählt werden, die dem Tiefenbildpunkt des gefilterten Tiefenbilds TB' zugeordnet sind. Eine zweite Variable ist eine Akkumulationsvariable, in der die Summe der zu mittelnden Tiefenwerte TV'' gebildet wird. Für jeden Eingangsdatenpunkt, der in die Tiefenmittelung eingeht wird zunächst aus der transformierten Bildkoordinate BK'' derjenige Tiefenbildpunkt des gefilterten Tiefenbilds TB' identifiziert, dem der Eingangsdatenpunkt zugeordnet ist. Dann wird die jeweilige Zählvariable inkrementiert und die zu mittelnde Größe des Eingangsdatenpunkts wird zur Akkumulationsvariable addiert. Nachdem alle Eingangsdatenpunkte derart verarbeitet sind, wird das arithmetische Mittel durch Division der Akkumulationsvariable und der Zählvariable ermittelt. Die Verarbeitung der Eingangsdatenpunkte von einer Extraktion aus den alten Messdatensätzen bis zum Einfließen in die Zähl- und Akkumulationsvariablen ist in einfacher Weise mit so genannten Streaming-Prozessoren, beispielsweise so genannten Streaming SIMD Extensions (kurz: SSE), Global Processing Units (kurz: GPU), Field Programmable Gate Arrays (kurz: FPGA), General Purpose Computation an Graphics Processing Units (kurz: GPGPU) und anderen Streaming-Prozessoren, massiv parallelisierbar. Dadurch, dass der Eliminationsschritt (= Schritt S3) vom Mittelungsschritt (= Schritt S4) getrennt ist, findet im Mittelungsschritt nur die Arithmetik der Mittelung statt. Dies ermöglicht hier ebenfalls die Umsetzung auf Streaming-Recheneinheiten. Insgesamt lässt sich das Verfahren so einfach in Echtzeit implementieren. Die Verarbeitung von Akkumulationsvariablen und Zählvariablen zum gemittelten Wert erfolgt nach Verarbeitung aller Eingangsdatenpunkte und ist ebenfalls in einfacher Weise parallelisierbar.
-
Neben dem arithmetischen Mittel können Mittelungsverfahren, in die höhere stochastische Momente als das erste Moment, d. h. als das arithmetische Mittel, einfließen, analog implementiert werden. Ebenso sind durch Anpassung der Zählvariable gewichtete Durchschnitte berechenbar. Durch Einbeziehung von Aufnahmezeitpunkten der Bilder kann beispielsweise bei bewegten Objekten eine Objektgeschwindigkeit zur Approximation einer aktuellen Position berücksichtigt werden. Mit diesen Methoden werden insbesondere ein so genanntes erstes und zweites Moment bestimmt, woraus die Varianz ermittelbar ist. Hierdurch werden Kompensationsmöglichkeiten von durch die arithmetische Mittelung bei Stereodaten erzeugten so genannten Bias-Effekten geschaffen.
-
Um weiterhin auch eine Änderung einer Größe einer ausgefüllten Fläche der Tiefenbildpunkte bei der Transformation zu beachten und somit so genannte Aliasing-Effekte zumindest zu verringern, geht ein unter der Transformation stark vergrößerter Eingangsdatenpunkt nicht nur an seinem Mittelpunkt in die Filterung, sondern mit jedem Tiefenbildpunkt, welcher von dem Eingangsdatenpunkt bedeckt wird.
-
Das sich oftmals in den alten Messdatensätzen große Flächen des alten Bilds außerhalb des Blickwinkels des aktuellen Bilds befinden, wird bei der Filterung mittels eines vorgeschalteten, gröberen Ansatzes ein großer Teil der Eingangsdatenpunkte verworfen. Somit werden nicht alle Eingangsdatenpunkte transformiert, so dass eine Rechenzeit verringert ist. Dies erfolgt beispielsweise dadurch, dass in den Messdatensätzen Gruppen von Bildpunkten gebildet werden und für diese jeweils ein so genanntes Bounding-Volume berechnet wird. Somit ist es möglich, vor das beschriebene Filterverfahren einen so genannten Frustum-Culling-Schritt zu schalten.
- BK'
- transformierte Bildkoordinate
- BK''
- transformierte Bildkoordinate
- FB
- Farbbild
- FW
- Farbwert
- S1
- Schritt
- S2
- Schritt
- S3
- Schritt
- S4
- Schritt
- TB
- Tiefenbild
- TB'
- gefiltertes Tiefenbild
- TW'
- Tiefenwert
- TW''
- Tiefenwert
- ZB
- Zielbild
- ZFW
- Zielfarbwert
-
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 Nicht-Patentliteratur
-
- Unger, Christian, et al.: Probabilistic disparity fusion for real-time motion-stereo; Asian Conference an Computer Vision (ACCV). 2010 [0005]
- Zhang, Guofeng, et al. Consistent depth maps recovery from a video sequence; Pattern Analysis and Machine Intelligence, IEEE Transactions an Pattern Analysis and Machine Intelligence, Vol. 31, No. 6, June 2009; pages 974–988 [0006]