-
Die Erfindung betrifft ein System, bei dem Konfidenz- und/oder Fehlerwerte berechnet werden sowie ein Verfahren zur Berechnung von Konfidenz- und/oder Fehlerwerten.
-
Kameras, insbesondere Stereokameras, werden in einer Vielzahl von industriellen Anwendungen eingesetzt. Ein Anwendungsfall ist die Bewegungsplanung und Navigation von Geräten, beispielsweise Robotern, Roboterarmen oder Fahrzeugen. Kameras helfen einem Roboter bei der Bewegungsplanung und Navigation innerhalb einer vorgegebenen Umgebung und ermöglichen das Auffinden, Greifen und Bearbeiten von Objekten. Stereokameras sind in diesem Zusammenhang besonders vorteilhaft, da sie aufgrund von zwei nebeneinander angeordneten Objektiven ein Erfassen der Umwelt mit Tiefeninformationen ermöglichen.
-
Üblicherweise werden anhand der mittels der Stereokamera gewonnenen Bilddaten, beispielsweise Bildern, Disparitätsbilder generiert, die in jedem Bildpunkt eine Entfernung von der Kamera und/oder einem optischen Zentrum zum jeweiligen Punkt in der Szene/Umgebung angeben. Betrachtet man beispielsweise ein linkes und ein rechtes Bild, so gibt das Disparitätsbild beispielsweise für die Bildpunkt im linken Bild die Verschiebungsdistanz zum rechten Bild an: d(p) = xL(p) – xR(p). Die räumliche Entfernung Z errechnet sich also nach der folgenden Formel: Z = b·F/d
-
Die räumliche Entfernung Z ist also umgekehrt proportional zu Disparität d, wobei b den sogenannten Basisabstand zwischen den beiden Optiken, und F einen Brennweitenfaktor angibt.
-
Es sind zahlreiche Verfahren zur Bestimmung von Disparitätsbildern bekannt. Ein Verfahren, das in der Industrie immer größere Akzeptanz findet, ist das Semi-Global Matching, wie dies beispielsweise in einem Artikel von Heiko Hirschmüller mit dem Titel „Accurate and Efficient Stereoprocessing by Semi-Global Matching and Mutual Information" beschrieben wird (IEEE Conference on Computer Vision and Pattern Recognition (CVPR), San Diego, CA, USA, June 20–26, 2005).
-
Grundsätzlich müssen entsprechende Verfahren sehr performant sein, da für eine Navigation aktuelle Disparitätsbilder quasi in Echtzeit zur Verfügung stehen müssen. Demgegenüber gibt es die Forderung nach hochverlässlichen Daten, um bei sicherheitsrelevanten Anwendungen, beispielsweise autonomes Fahren, ein Versagen oder einen Fehler auszuschließen. Letztendlich handelt es sich hierbei um widerstreitende Interessen, da für die Verlässlichkeit mehr Daten gewonnen und verarbeitet werden müssen und für die Performanz so wenige Rechenoperationen wie möglich durchgeführt werden sollten.
-
Ausgehend von diesem Stand der Technik ist es Aufgabe der vorliegenden Erfindung, ein verbessertes System zur Gewinnung und Verarbeitung von Umgebungsinformationen anzugeben. Des Weiteren soll ein entsprechendes Verfahren bereitgestellt werden.
-
Die Aufgabe wird durch den Gegenstand des Anspruchs 1 gelöst.
-
Insbesondere wird die Aufgabe durch ein System gelöst, das umfasst:
- – mindestens eine Stereokamera mit einer ersten Optik und einer zweiten Optik;
- – mindestens eine Verarbeitungseinrichtung, die in kommunikativer Verbindung mit der Stereokamera steht, um von der Stereokamera erste Bilddaten, die der ersten Optik zugeordnet sind, und zweite Bilddaten, die der zweiten Optik zugeordnet sind, zu empfangen;
- – mindestens einen Speicher mit Instruktionen;
wobei die Instruktionen die Verarbeitungseinrichtung veranlassen:
- – basierend auf den ersten und zweiten Bilddaten mindestens ein Disparitätsbild mit Disparitätswerten für eine Vielzahl von Bildpunkten zu berechnen;
und
- – für mindestens einige der Bildpunkte basierend auf den Bilddaten einen Konfidenzwert und/oder einen Fehlerwert zu berechnen.
-
Ein wesentlicher Punkt der vorliegenden Erfindung besteht also darin, dass neben dem Disparitätsbild weitere Informationen bereitgestellt werden, die Angaben über die Belastbarkeit der gewonnenen Informationen (z.B. Konfidenzwert und/oder Fehlerwert) liefern. Anders als aus dem Stand der Technik bekannt, sollen Konfidenzwerte und/oder Fehlerwerte nicht statisch angegeben werden, sondern individuell für das jeweilige Disparitätsbild berechnet werden.
-
Vorzugsweise erfolgt eine Berechnung der Konfidenzwerte und/oder Fehlerwerte für einige oder alle Bildpunkte des Disparitätsbilds individuell.
-
Durch diese individuelle Berechnung der Konfidenzwerte und/oder Fehlerwerte ist es einem das Disparitätsbild verarbeitenden Programm möglich, Entscheidungen basierend auf der Zuverlässigkeit des gewonnenen Disparitätsbilds zu treffen.
-
Wird beispielsweise ein Roboter oder ein Roboterarm gesteuert, so kann das entsprechende Programm feststellen, dass die gewonnenen Disparitätsbilder, insbesondere in einem hochrelevanten Bereich Disparitätswerte enthalten, die nicht ausreichend zuverlässig sind. In diesem Fall kann sich das Programm dazu entscheiden, den Roboter oder Roboterarm zu verfahren, so dass weitere Bildinformationen, beispielsweise in Form der ersten und zweiten Bilddaten gewonnen werden. Durch diesen Ansatz kann ein zuverlässigeres und/oder mit geringeren Fehlern belastetes Disparitätsbild gewonnen werden. Im Automotive-Sektor wäre es beispielsweise denkbar, bei unzuverlässigen Disparitätsbildern, die durch die Bildverarbeitung gewonnen werden, auf andere Sensoren, beispielsweise Laser und/oder Ultraschall zurückzugreifen. In einer (weiteren) Ausführungsform kann auf Basis der Konfidenz ein Roboter und/oder Fahrzeug entscheiden, ob ein bestimmter Bereich sicher zu befahren ist. Messwerte mit hoher Konfidenz können bedeuten, dass ein Bereich zuverlässig frei gemessen wurde. Der Roboter oder das Fahrzeug kann so sukzessiv eine vorgegebene Strecke abfahren.
-
Letztendlich ermöglicht es das erfindungsgemäße System, Programmabläufe sicher zu gestalten. Des Weiteren können sehr schnelle und ressourcensparende Algorithmen zur Gewinnung der Disparitätsbilder eingesetzt werden, wobei unter bestimmten Bedingungen eine detailliertere Analyse erfolgen kann. So können Rechenressourcen eingespart werden.
-
In einer Ausführungsform handelt es sich bei den ersten Bilddaten und den zweiten Bilddaten um rektifizierte Bilddaten, die basierend auf Kalibrierungsdaten der Stereokamera gewonnen werden. Bei den Bilddaten kann es sich um ein Graustufenbild handeln. Ebenso können Farbbilder als Bilddaten verwendet werden, wobei in einer Ausführungsform Intensitätswerte für unterschiedliche Farbkanäle (beispielsweise 3) gespeichert werden.
-
Das Disparitätsbild kann eine Disparitätsmatrix sein. Unabhängig von der gewählten Datenstruktur können die Disparitätswerte in 1 Bit-, 2 Bit-, 3 Bit-, ..., 8 Bit-Datenfeldern gespeichert werden. Vorzugsweise werden 4 Bit-Werte verwandt. In einer Ausführungsform gilt, dass die räumliche Entfernung Z umgekehrt proportional zu dem jeweiligen Disparitätswert ist. In diesem Fall kann der Wert null eine unendliche Entfernung angeben.
-
Erfindungsgemäß kann der Begriff „Bildpunkte“ derart verstanden werden, dass dieser vorzugsweise zweidimensionale Koordinaten in einem Raster angibt. Ein Bildpunkt kann beispielsweise einen x- und einen y-Wert für entsprechende x- und y-Achsen angeben.
-
Sowohl die Fehlerwerte, wie auch die Konfidenzwerte können in entsprechenden Matrizen gespeichert werden. Beispielsweise kann für die Fehlerwerte eine Fehlermatrix und/oder für die Konfidenzwerte eine Konfidenzmatrix vorgesehen sein. In einer Ausführungsform weist die Datenstruktur der Fehlerwerte und/oder der Konfidenzwerte für jeden Eintrag in dem Disparitätsbild einen entsprechenden Eintrag (Fehlerwert oder Konfidenzwert) auf.
-
In einer Ausführungsform hat das Disparitätsbild gleich viele Zeilen und Spalten wie die Fehlermatrix und/oder die Konfidenzmatrix. Diese hohe Auflösung hinsichtlich der Fehler und/oder Konfidenzwerte erlaubt eine sehr genaue Auswertung des Disparitätsbilds.
-
Das Disparitätsbild, die Konfidenzwerte und/oder Fehlerwerte können in bekannten Grafikformaten, beispielsweise GIF oder TIFF, gespeichert werden, die mehrere Bildebenen („multilayer“) unterstützen. Beispielsweise können in einer ersten Ebene die Disparitätswerte und/oder in einer zweiten Ebene die Konfidenzwerte und/oder in einer dritten Ebene die Fehlerwerte gespeichert werden. Das Verwenden bekannter Formate ermöglicht es, dass Rechenoperationen auf den Daten mittels der dafür etablierten Hardware ausgeführt werden können. Beispielsweise erlauben moderne Grafikkarten eine sehr schnelle, teilweise parallelisierte Verarbeitung von entsprechenden Bildformaten.
-
Die Instruktionen können die Verarbeitungseinrichtung veranlassen, mindestens einen ersten Kandidatendisparitätswert und mindestens einen zweiten Kandidatendisparitätswert zu bestimmen. Beispielsweise werden beim Semi-Global Matching-Verfahren vor der Auswahl eines bestimmten Disparitätswerts als Ergebnisdisparitätswert für den entsprechenden Bildpunkt Kandidatendisparitätswerte über acht oder vier unabhängige Pfade berechnet.
-
Das heißt, dass für jeden Bildpunkt acht oder vier Kandidatendisparitätswerte bestimmt werden, die zumindest teilweise unabhängig von den anderen Kandidatendisparitätswerten bestimmt werden. Das Semi-Global Matching kann acht oder vier Pfade aus acht oder vier unterschiedlichen Richtungen berücksichtigen. Zur Bestimmung der Disparität werden die acht oder vier Pfade bei jedem Bildpunkt kombiniert, indem die Pfadkosten summiert werden und danach das Minimum gesucht wird. Letztendlich kann in diesem Schritt nach der Bestimmung der einzelnen Pfadkosten eine erneute Suche nach einem Minimum der Summe der Zielfunktionen über jeden Pfad beginnen, wobei jedoch vorzugsweise die „Zwischenergebnisse“ für die Kandidatenfindung auf den einzelnen Pfaden zur Bestimmung dieses semi-globalen Minimums verwendet werden. Vorzugsweise wird im gesamten möglichen Ergebnisraum nach dem Disparitätswert gesucht, der das semi-globale Minimum liefert. Dieser Disparitätswert kann erfindungsgemäß als Ergebnisdisparitätswert definiert sein.
-
Häufig wird der Ergebnisdisparitätswert einem der Kandidatendisparitätswerte entsprechen. Es kann aber auch ein Disparitätswert als Ergebnisdisparitätswert bestimmt werden, der mit keinem der Kandidatendisparitätswerte übereinstimmt. Für die Bestimmung des Ergebnisparitätswerts muss nicht zwangsläufig ein semi-globales Minimum bestimmt werden. Es ist erfindungsgemäß möglich statt einer Bestimmung des semi-globales Minimums als Ergebnisdisparitätswert einen der Kandidatendisparitätswerte, beispielsweise den Kandidatendisparitätswert mit den geringsten Kosten auf dem zugehörigen Pfad auszuwählen.
-
Die Kandidatendisparitätswerte und deren Ähnlichkeit zueinander kann verwendet werden, um einen entsprechenden Konfidenzwert zu ermitteln. Beispielsweise kann eine Streuung bestimmt werden, die in einen skalierten Konfidenzwert umgerechnet werden kann.
-
In einer Ausführungsform wird für jeden Bildpunkt die Anzahl der Kandidatendisparitätswerte bestimmt, die mit dem ausgewählten Ergebnisdisparitätswert übereinstimmen oder nur sehr geringfügig abweichen, z.B. um einen Betrag von weniger als eins. Der Schwellwert kann als absoluter Wert, z.B. 1 oder 2, oder als relativer Wert, z.B. 10% oder 20%, angegeben werden. Die Anzahl der geringfügig abweichenden Kandidatendisparitätswerte kann durch die Gesamtanzahl der zur Verfügung stehenden Kandidatendisparitätswerte für den jeweiligen Bildpunkt geteilt werden. Das Ergebnis kann als Ausganswert dienen, um einen Konfidenzwert für den jeweiligen Bildpunkt zu errechnen. Beispielsweise kann von einer Grundkonfidenz G von 0,5 ausgegangen werden, wobei auf diese Grundkonfidenz G das Ergebnis der oben beschriebenen Berechnung aufaddiert wird. Vorzugsweise wird dieses Ergebnis der oben aufgeführten Berechnung mit dem Faktor F, z.B. 0,5, multipliziert.
-
Allgemein kann der Konfidenzwert gemäß der nachfolgenden Formel berechnet werden:
-
Der Faktor F kann zwischen 0,2 und 0,6 liegen. Bevorzugt liegt der Faktor wie oben bereits angegeben bei 0,5. Der Wert n kann die Anzahl der Kandidatendisparitätswerte für den Bildpunkt p angeben. Die Variable di kann der i-te Kandidatendisparitätswert für den Bildpunkt p sein.
-
Wenn bei einer Bestimmung eines Ergebnisdisparitätswerts mehrere Disparitätswerte berücksichtigt werden, so erfolgt die Auswahl des Ergebnisdisparitätswerts vorzugsweise mittels einer Zielfunktion. Die Zielfunktion kann jedem Disparitätswert einen Beurteilungswert bzw. Wert zuordnen. In einer Ausführungsform wird der Disparitätswert ausgewählt, bei dem die angewandte Zielfunktion einen möglichst geringen Wert liefert. Letztendlich handelt es sich also um ein Optimierungsproblem, bei dem es darum geht, die Zielfunktion zu minimieren.
-
In einer Ausführungsform wird die Zielfunktion derart gewählt, dass Kosten und/oder Glattheitskriterien berücksichtigt werden. Erfindungsgemäß können Kostenkriterien Kriterien sein, die Aussagen über die Ähnlichkeit von bestimmten Intensitätswerten und/oder Farbwerten innerhalb der Bilddaten liefern, z.B.: C(p, d(p))
-
Beim Stereo-Matching wird versucht, Bildpunkte aus den ersten Bilddaten (erste Optik) Bildpunkten aus den zweiten Bilddaten (zweite Optik) zuzuordnen, so dass ein Versatz – die Disparität – zwischen den Bildpunkten bestimmt werden kann. Aufgrund unterschiedlicher Lichtverhältnisse und der verwendeten Optik können die jeweiligen Bildpunkte unterschiedliche Intensitätswerte und/oder Farbwerte haben. Die Zielfunktion bestraft derartige Unterschiede.
-
Weiterhin geht man beim Stereo-Matching üblicherweise davon aus, dass benachbarte Bildpunkte in den Bilddaten einen identischen oder ähnlichen Abstand zur Optik haben. Das heißt, es wird erwartet, dass hier ähnliche Disparitätswerte ermittelt werden. Eine bevorzugte Zielfunktion bestraft Disparitätsunterschiede in der Nachbarschaft Np. Eine erfindungsgemäße Zielfunktion kann folgendermaßen aufgebaut sein:
-
Die Funktion T liefert vorzugsweise den Wert 1, wenn die in den eckigen Klammern angegebene Bedingung erfüllt ist. Im anderen Fall liefert die Funktion T den Wert null. Np kann die Menge der Bildpunkte bzw. Disparitätswerte in der unmittelbaren Nachbarschaft eines Bildpunkts p sein.
-
In einer Ausführungsform werden die Fehlerwerte in einem hierarchischen Ansatz berechnet. Die Instruktionen können die Verarbeitungseinrichtung veranlassen:
- – mindestens einen ersten Disparitätswert des Disparitätsbilds basierend auf den ersten Bilddaten und zweiten Bilddaten zu berechnen und dem ersten Disparitätswert einen ersten konstanten Fehlerwert, z.B. 0,5, zu zuordnen, wobei die ersten und zweiten Bilddaten mit einer ersten (hohen) Auflösung vorliegen;
- – die ersten Bilddaten zu dritten Bilddaten und der zweiten Bilddaten zu vierten Bilddaten zu komprimieren, wobei die dritten Bilddaten und vierten Bilddaten eine zweite Auflösung haben, die niedriger ist als die erste Auflösung;
- – mindestens einen zweiten Disparitätswert des Disparitätsbilds basierend auf den dritten und vierten Bilddaten zu berechnen und dem ersten Disparitätswert einen zweiten konstanten Fehlerwert, z.B. 1, zu zuordnen.
-
Die Bestimmung des erfindungsgemäßen Messfehlers beruht vorzugsweise auf einem hierarchischen Ansatz, um den sich praktisch jedes Stereo-Matching-Verfahren erweitern lässt. So weisen Disparitätsbilder, die in voller Bildauflösung berechnet werden, oft Löcher auf. Ein Loch bezeichnet einen Bildpunkt innerhalb des Disparitätsbilds, für den kein zulässiger Disparitätswert ermittelt werden kann.
-
Bei einem hierarchischen Ansatz versucht man diese Löcher dadurch zu füllen, dass eine entsprechende Analyse auf Bilddaten durchgeführt wird, die eine geringere Auflösung haben. Beispielsweise können mit bekannten Verfahren zwei oder vier benachbarte Bildpunkte in den ersten Bilddaten zu einem einzigen Bildpunkt, beispielsweise in den dritten Bilddaten zusammengefasst werden. Entsprechend können zwei oder vier Bildpunkte aus den zweiten Bilddaten zu einem Bildpunkt in den vierten Bilddaten zusammengefasst werden. Letztendlich wird durch ein entsprechendes Verfahren die Bildschärfe erhöht. Bei erhöhter Bildschärfe ist es zu erwarten, dass ein zugehöriges Disparitätsbild weniger Löcher aufweist. Erfindungsgemäß können auf der gröberen Hierarchieebene ermittelte Disparitätswerte auf eine höhere Hierarchieebene übernommen werden. Somit lassen sich beispielsweise Löcher in einem Disparitätsbild, das auf der vollen Bildauflösung basiert, füllen. Bei einer Übernahme auf eine höhere Hierarchieebene kann eine Anpassung des ermittelten Disparitätswerts notwendig sein. Vorzugsweise ist ein zu multiplizierender Anpassungsfaktor das inverse Element des zur Skalierung verwandten Skalierungsfaktors. Arbeitet man beispielsweise in der nächst höheren Hierarchieebene mit der halben Bildauflösung (Skalierungsfaktor = ½), dann ist der gewonnene Disparitätswert bei der Übernahme mit dem Faktor zwei zu multiplizieren (Anpassungsfaktor = 2).
-
In einer Ausführungsform wird bei dem hierarchischen Verfahren die Bildauflösung jeweils halbiert. Es ist möglich, mit mehreren Hierarchieebenen zu arbeiten:
- 1. Hierarchieebene: volle Bildauflösung;
- 2. Hierarchieebene: halbe Bildauflösung;
- 3. Hierarchieebene: ¼-Bildauflösung;
-
In einer erfindungsgemäßen Ausführungsform wird jeder Hierarchieebene ein bestimmter, beispielsweise konstanter Fehlerwert zugewiesen. Je nachdem, aus welcher Hierarchieebene ein bestimmter Disparitätswert übernommen wird, kann der entsprechende Fehlerwert gemäß der nachfolgenden Formel gewonnen werden: 0,5·2n-1
-
Wie bereits angesprochen, kann das System einen Roboter und/oder einen Roboterarm umfassen, an dem/den die Stereokamera befestigt ist. Das System kann eine Steuereinheit zur Steuerung des Roboters und/oder Roboterarms umfassen, wobei die Steuereinheit in Abhängigkeit von den Konfidenzwerten und/oder Fehlerwerten entscheidet, ob der Roboter und/oder Roboterarm bewegt wird, um ein bestimmtes Objekt und/oder einen bestimmten Abschnitt der Umgebung mittels der Stereokamera aus einer weiteren Position und/oder Ausrichtung zu erfassen. Alternativ oder zusätzlich kann die Steuerung einen Roboter oder ein Fahrzeug nur dann veranlassen einen bestimmten Bereich zu befahren, wenn das zugehörige Disparitätsbild anzeigt, dass der Bereich frei von Hindernissen ist und die Konfidenz für den relevanten Bereich des Disparitätswerts hoch ist, z.B. größer als 50%.
-
Das eingangs geschilderte Problem wird weiterhin durch ein Verfahren gemäß dem Anspruch 12 gelöst.
-
Insbesondere wird die Aufgabe durch ein Verfahren gelöst, das die folgenden Schritte umfasst:
- – Erfassen oder Empfangen von ersten und zweiten Bilddaten einer Stereokamera;
- – Errechnen, basierend auf den ersten und zweiten Bilddaten mindestens ein Disparitätsbild mit Disparitätswerten für eine Vielzahl von Bildpunkte; und
- – Berechnen, für mindestens einige der Bildpunkte einen Konfidenzwert und/oder einen Fehlerwert.
-
Das Verfahren hat ähnliche Vorteile, wie diese bereits in Verbindung mit dem erfindungsgemäßen System beschrieben wurden. Das Verfahren kann von dem erfindungsgemäßen System insbesondere von der dort beschriebenen Verarbeitungseinrichtung implementiert werden.
-
Das Verfahren kann weiterhin einige oder alle verfahrenstechnischen Merkmale umsetzen, die im Zusammenhang mit dem System beschrieben wurden.
-
Die eingangs genannte Aufgabe wird weiterhin durch einen computerlesbaren Speicher mit Instruktionen zur Implementierung des beschriebenen Verfahrens gelöst, wobei die Instruktionen dazu ausgebildet sind, eine Recheneinheit zu veranlassen, dieses Verfahren umzusetzen, wenn die Instruktionen auf der Recheneinheit ausgeführt werden.
-
Weitere vorteilhafte Ausführungsformen ergeben sich anhand der Unteransprüche.
-
Nachfolgend wird die Erfindung mittels mehrerer Ausführungsbeispiele beschrieben, die anhand von Abbildungen näher erläutert werden. Hierbei zeigen:
-
1 einen Roboter mit Stereokamera, der kommunikativ mit einem Computer verbunden ist (Frontansicht);
-
2 den Roboter aus 1 mit der Stereokamera in einer schematischen Seitenansicht;
-
3 eine Ausführungsform der Stereokamera;
-
4 eine schematische Darstellung eines Verarbeitungsverfahrens, bei dem aus einem linken und einem rechten Bild ein Disparitätsbild, eine Fehlermatrix und eine Konfidenzmatrix ermittelt wird;
-
5 eine schematische Darstellung eines Verfahrens, bei dem Fehlerwerte in einem hierarchischen Ansatz ermittelt werden;
-
6 ein Ergebnisbild mit mehreren Ebenen.
-
In der nachfolgenden Beschreibung werden für gleiche und gleichwirkende Teile dieselben Bezugsziffern verwendet.
-
1 zeigt eine schematische Ansicht eines Systems innerhalb dessen das erfindungsgemäße Verfahren eingesetzt werden kann. Das System umfasst einen Computer 10, eine Stereokamera 20 und einen Roboter 30. Der Computer 10 verfügt über eine Verarbeitungseinrichtung 14, eine Anzeigeeinrichtung 12 und einen computerlesbaren Speicher 13. Die Verarbeitungseinrichtung 14 führt Instruktionen aus, die den Computer 10 veranlassen, das nachfolgend beschriebene erfindungsgemäße Verfahren zu implementieren.
-
Die Stereokamera 20 ist wie anhand der 1 und 2 ersichtlich, an dem Roboter 30 befestigt. Der Roboter 30 hat einen Roboterarm 31, an dessen Ende die Stereokamera 20 angebracht ist. Der Roboterarm 31 verfügt des Weiteren über ein Roboterwerkzeug 32. Rein beispielhaft kann davon ausgegangen werden, dass es sich bei dem Roboterwerkzeug 32 um einen Greifer zum Fassen eines Gegenstands handelt. Der Roboterarm 31 verfügt über ein Gelenk, so dass die Stereokamera 20 zusammen mit dem Roboterarm 31 verschwenkt werden kann.
-
Die Stereokamera 20 weist ihrerseits eine erste Optik 21 und eine zweite Optik 22 auf. Die Stereokamera 20 ist dazu geeignet, eine Serie von linken Bildern ImgL und rechten Bildern ImgR (vgl. 4) zu erfassen. Die Stereokamera 20 ist derart ausgerichtet, dass deren Blickrichtung entlang der Ausrichtung des Roboterwerkzeugs 32 verläuft. Erfindungsgemäß kann die Stereokamera 20 auch an einer anderen Stelle am Roboter 30 befestigt sein. Beispielsweise kann die Stereokamera 20 so ausgerichtet sein, dass sie den Roboterarm 31 und das Roboterwerkzeug 32 erfasst. In diesem Ausführungsbeispiel kann es notwendig sein, den gesamten Roboter 30 zu verfahren, um die Stereokamera 20 in geeigneter Weise auszurichten. Im vorhergehend beschriebenen Fall reicht es aus, den Roboterarm 31, der mit der Stereokamera 20 verbunden ist, zu bewegen, um ein zu greifendes Objekt aus einer anderen Richtung und/oder Position zu erfassen.
-
Das beschriebene System ist insgesamt dazu geeignet, in einer unbekannten Umgebung ein Objekt zu erkennen und mittels des Roboterwerkzeugs 32 zu greifen.
-
Hierfür ist es notwendig, dass der Computer 10 oder die Stereokamera 20 die linken und rechten Bilder ImgL, ImgR verarbeitet.
-
3 verdeutlicht, dass die Stereokamera 20 neben der ersten und zweiten Optik 21, 22 eine eigene Verarbeitungseinrichtung 24 aufweist. Diese Verarbeitungseinrichtung 24 kann einige Schritte oder alle Schritte des erfindungsgemäßen Verfahrens durchführen. In der nachfolgenden Beschreibung werden einige wesentliche Verfahrensschritte von der Verarbeitungseinrichtung 24 ausgeführt. In einem anderen Ausführungsbeispiel ist es möglich, dass die Verarbeitungseinrichtung 14 des Computers 10 diese Verarbeitungsschritte ausführt.
-
Erfindungsgemäß wird anhand eines linken Bilds ImgL und eines rechten Bilds ImgR durch die Verarbeitungseinrichtung 24 ein Disparitätsbild DM, eine Fehlermatrix FM und eine Konfidenzmatrix KM erzeugt. In diesem Zusammenhang sind Bilder ImgL, ImgR, Disparitätsbilder DM, Fehlermatrizen FM und Konfidenzmatrizen üblich, die mehrere hunderte Einträge aufweisen. So kann das Disparitätsbild DM für mehrere hunderte Bildpunkte p Disparitätswerte d(p) angeben. Die Fehlermatrix FM kann für jeden dieser Bildpunkte p Fehlerwerte f(p) bereitstellen. Ebenso kann die Konfidenzmatrix KM für jeden der Bildpunkte p einen Konfidenzwert k(p) angeben. Für das in Verbindung mit 4 beschriebene Ausführungsbeispiel wird aus Illustrationsgründen davon ausgegangen, dass die jeweilige Datenstruktur nur vier Einträge hat. So ergeben sich für das Disparitätsbild DM ein erster Disparitätswert d(p1), ein zweiter Disparitätswert d(p2), ein dritter Disparitätswert d(p3) und ein vierter Disparitätswert d(p4). Die jeweiligen Disparitätswerte d(p1), d(p2), d(p3) und d(p4) sind einem ersten Bildpunkt p1, einem zweiten Bildpunkt p2, einem dritten Bildpunkt p3 und einem vierten Bildpunkt p4 zugeordnet.
-
Dementsprechend liefert nach der Anwendung des erfindungsgemäßen Verfahrens die Konfidenzmatrix KM für jeden der Bildpunkte p1, p2, p3, p4 einen Konfidenzwert k(p1), k(p2), k(p3) bzw. k(p4).
-
Ebenso liefert die Fehlermatrix FM einen Fehlerwert für jeden Bildpunkt p1, p2, p3, p4, nämlich die Fehlerwerte f(p1), f(p2), f(p3) bzw. f(p4).
-
Im beschriebenen Ausführungsbeispiel wird zur Bestimmung des Disparitätsbilds DM ein Semi-Global Matching durchgeführt, wie dies in dem bereits erwähnten Artikel von Heiko Hirschmüller erläutert wird (vgl. „Accurate and Efficient Stereoprocessing by Semi-Global Matching and Mutual Information" (IEEE Conference on Computer Vision and Pattern Recognition (CVPR), San Diego, CA, USA, June 20–26, 2005).
-
Ein besonderer Vorteil des Semi-Global Matchings besteht darin, dass eigentlich für jeden Bildpunkt p1, p2, p3, p4 acht Kandidatendisparitätswerte zur Verfügung stehen. Aufgrund der Tatsache, dass in dem beschriebenen Ausführungsbeispiel lediglich vier Bildpunkte berücksichtigt werden, gibt es hier für jeden Disparitätswert d(p1), d(p2), d(p3), d(p4) nur drei Kandidatendisparitätswerte. Rein exemplarisch wird davon ausgegangen, dass für den ersten Bildpunkt p1 die folgenden Kandidatendisparitätswerte nach der Minimierung der folgenden Zielfunktion
zur Verfügung stehen: d(p1), d‘(p1), d‘‘(p1).
-
Der Semi-Global Matching-Algorithmus wählt den Disparitätswert aus, der bei einer Anwendung der Zielfunktion E(M) den geringsten Wert liefert, wobei jedem Kandidatendisparitätswert gemäß dem Semi-Global Matching-Algorithmus eine andere Bewertungsmenge M von Bildpunkten zugeordnet ist, z.B. M1 für d(p1), M2 für d‘(p1), M3 für d‘‘(p1). Die Bewertungsmenge M1 kann die Bildpunkte p1, p2, die Bewertungsmenge M2 die Bildpunkte p1, p4 und die Bewertungsmenge M3 p1, p3 umfassen.
-
Rein exemplarisch wird davon ausgegangen, dass im vorliegenden Fall der Ergebnisdisparitätswert der Kandidatendisparitätswert d(p1) ist. Insofern würde das erfindungsgemäße Verfahren als Ergebnisdisparitätswert in das Disparitätsbild DM d(p1) eintragen.
-
Zur Veranschaulichung der Erfindung wird davon ausgegangen, dass für den ersten Bildpunkt p1 folgende Kandidatendisparitätswerte errechnet wurden: d(p1) = 1; d‘(p1) = 2; d‘‘(p1) = 1.
-
Zur Bestimmung des Konfidenzwerts k(p1) wird erfindungsgemäß die nachfolgende Formel angewandt:
-
Die Funktion T[] ist 1, wenn ihr Argument wahr ist und ansonsten 0. n gibt die Anzahl der Kandidatendisparitätswerte d(p1), d‘(p1), d‘‘(p1) an. Im vorliegenden Beispiel ist n=3. Im Ergebnis ergibt sich für k(p1) = 0,5 + 0,5 1 + 0 + 1 / 3 ≈ 83%
-
Der erfindungsgemäße Algorithmus würde als dem Disparitätswert d(p1) = 1 eine Wahrscheinlichkeit von ca. 83 % zuordnen. Das heißt, dass die Zuverlässigkeit des entsprechenden Werts relativ hoch ist.
-
In ähnlicher Weise lassen sich Konfidenzwerte d(p2), d(p3), d(p4) für die weiteren Bildpunkte p2, p3, p4 errechnen. Das erfindungsgemäße Verfahren lässt sich ohne weiteres auch auf wesentlich größere Matrizen anwenden.
-
Die Bestimmung der Fehlermatrix FM basiert auf einem hierarchischen Ansatz. Geht man davon aus, dass in dem Disparitätsbild DM der 4 für alle Disparitätswerte d(P1), d(p2), d(p3), d(p4) ein Wert bestimmt werden kann, so würden in der Fehlermatrix FM alle Fehlerwerte f(p1), f(p2), f(p3), f(p4) mit einem identischen Wert, beispielsweise 0,5 besetzt werden.
-
In der Realität ist es aufgrund der Bildqualität des linken Bilds ImgL und des rechten Bilds ImgR häufig nicht möglich, dass alle Disparitätswerte d(p1), d(p2), d(p3), d(p4) bestimmt werden. Es ergeben sich Lücken bzw. Löcher, die sich mittels eines hierarchischen Ansatzes füllen lassen. Bei diesem hierarchischen Ansatz werden Bildpunkte aus den Bildern ImgL, ImgR zu neuen Bildpunkten zusammengefasst. In einer Ausführungsform, wie sie exemplarisch anhand der 5 erläutert wird, wird die Bildauflösung in jeder Hierarchieebene halbiert.
-
Die 5 zeigt ein erstes linkes Bild ImgL und ein erstes rechtes Bild ImgR mit einer 4 × 4-Auflösung, d.h. jedes Bild ImgL, ImgR hat jeweils 16 Bildpunkte p (volle Bildauflösung in der 1. Hierarchieebene). Geht man davon aus, dass sich beispielsweise der obere linke Wert des Disparitätsbilds DM (z.B. d(p1)) nicht berechnen lässt, so wird erfindungsgemäß eine Abbildungsfunktion auf das erste linke Bild ImgL und das erste rechte Bild ImgR angewandt. Diese Abbildungsfunktion führt dazu, dass sich die Auflösung der Bilder halbiert (=halbe Bildauflösung in der 2. Hierarchieebene). Es ergeben sich ein zweites linkes Bild ImgL‘, sowie ein zweites rechtes Bild ImgR. Ausgehend von dem zweiten linken Bild ImgL‘ und dem zweiten rechten Bild ImgR‘ lässt sich ein zweites Disparitätsbild DM‘ vollständig bestimmen. Das heißt, dass auch der linke obere Bildpunkt bestimmt werden kann. In dem in 5 gezeigten Beispiel wird davon ausgegangen, dass für diesen Disparitätswert d(p1‘) der Wert 4 ermittelt wird. Dieser Disparitätswert kann auf die höhere Hierarchieebene (vgl. Disparitätsbild DM, das der 1. Hierarchieebene zugeordnet ist) übernommen werden, wobei der Wert mit einem vorgegebenem Anpassungsfaktor – im Ausführungsbeispiel ist der Anpassungsfaktor 2 – multipliziert wird. Für die 1. Hierarchieebene ergibt sich also der Disparitätswert 8.. Das heißt, dass das frühere Loch in dem Disparitätsbild DM an der Stelle des ersten Pixels p1 mit dem Disparitätswert aufgefüllt wird, der für das zweite Disparitätsbild DM‘ ermittelt wurde.
-
Erfindungsgemäß wird davon ausgegangen, dass ein Fehlerwert F(p) zunimmt, wenn Disparitätswerte aus entsprechend höheren Hierarchieebenen übernommen werden müssen. Allgemein ergibt sich eine erfindungsgemäße Fehlerwertabschätzung von f(p) = 0,5·2l−1 wobei l die Hierarchieebene angibt, aus der der entsprechende Disparitätswert entnommen bzw. übernommen wurde.
-
Für das beschriebene Ausführungsbeispiel würde sich für den ersten Bildpunkt p1 ein Fehlerwert F(p1) = 0,5 × 21 = 1 ergeben. Geht man davon aus, dass der untere rechte Bildpunkt des Disparitätsbilds DM der 5 in der 1. Hierarchieebene ermittelt werden konnte, so ergibt sich für den entsprechenden Fehlerwert F(p4) = 0,5 × 20 = 0,5. In entsprechender Weise lassen sich erfindungsgemäß alle Fehlerwerte für die Fehlermatrix FM errechnen. Erfindungsgemäß können auch Disparitätswert d(p) aus höheren Hierarchieebenen übernommen werden, wobei die zu entsprechend höheren Fehlerwerten f(p) führt.
-
Die gewonnenen Daten können in üblichen Bildformaten gespeichert werden. Beispielsweise zeigt die 6 eine exemplarische Darstellung, bei der die gewonnenen Daten in drei sich unterscheidenden Ebenen gespeichert werden. In der ersten Ebene wird das Disparitätsbild DM gespeichert, in der zweiten Ebene die Konfidenzmatrix KM und in der dritten Ebene die Fehlermatrix FM.
-
In dem vorhergehenden Ausführungsbeispiel wurden sowohl eine Konfidenzmatrix-Ermittlung sowie eine Fehlermatrix-Ermittlung vorgenommen. Erfindungsgemäß ist es möglich, ein Disparitätsbild DM nur in Verbindung mit der erfindungsgemäßen Fehlermatrix FM oder nur in Verbindung mit der erfindungsgemäßen Konfidenzmatrix KM zu berechnen. Je nach Anwendungsfall kann also auf die Ermittlung der Konfidenzmatrix KM oder die Ermittlung der Fehlermatrix FM verzichtet werden.
-
Des Weiteren wurde in dem vorausgehenden Ausführungsbeispiel der Semi-Global Matching-Algorithmus verwendet, um die Konfidenzwerte zu bestimmen. Theoretisch ist es möglich, den allgemeinen erfindungsgemäßen Gedanken zur Ermittlung von Konfidenzwerten auf diverse Verfahren anzuwenden, bei denen mehrere Kandidatendisparitätswerte bestimmt werden. Ebenso wurde bei dem beschriebenen Ausführungsbeispiel davon ausgegangen, dass der Semi-Global Matching-Algorithmus üblicherweise zusätzlich zum Ergebnisdisparitätswert acht Kandidatendisparitätswerte für einen Bildpunkt ermittelt. Das Verfahren kann aber erfindungsgemäß ebenfalls so abgeändert werden, dass lediglich vier oder gar nur zwei Kandidatendisparitätswerte pro Bildpunkt p ermittelt werden. Auch hier lassen sich entsprechende Konfidenzmatrizen errechnen.
-
An dieser Stelle sei darauf hingewiesen, dass alle oben beschriebenen Teile für sich allein gesehen und in jeder Kombination, insbesondere der in den Zeichnungen dargestellten Details, als erfindungswesentlich beansprucht werden. Entsprechendes gilt für die erläuterten Verfahrensschritte.
-
Bezugszeichenliste
-
- ImgL, ImgR, ImgL‘, ImgR‘
- Bild
- DM
- Disparitätsbild
- d(p), d(p1), d(p2), d(p3), d(p4)
- Disparitätswert
- d(p), d‘(p), d‘‘(p)
- Kandidatendisparitätswert
- FM
- Fehlermatrix
- f(p), f(p1), f(p2), f(p3), f(p4)
- Fehlerwert
- KM
- Konfidenzmatrix
- k(p), k(p1), k(p2), k(p3), k(p4)
- Konfidenzwert
- Erg
- Ergebnisbild
- E(M)
- Zielfunktion
- M, M1, M2, M3
- Bewertungsmenge (Teilmenge von Bildpunkten)
- 10
- Computer
- 12
- Anzeigeeinrichtung
- 13
- Computerlesbarer Speicher
- 14
- Verarbeitungseinrichtung
- 20
- Stereokamera
- 21
- Erste Optik
- 22
- Zweite Optik
- 24
- Verarbeitungseinrichtung
- 30
- Roboter
- 31
- Roboterarm
- 32
- Roboterwerkzeug
- 33
- Roboterverarbeitungseinrichtung
-
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
-
- Titel „Accurate and Efficient Stereoprocessing by Semi-Global Matching and Mutual Information“ beschrieben wird (IEEE Conference on Computer Vision and Pattern Recognition (CVPR), San Diego, CA, USA, June 20–26, 2005) [0005]
- „Accurate and Efficient Stereoprocessing by Semi-Global Matching and Mutual Information“ (IEEE Conference on Computer Vision and Pattern Recognition (CVPR), San Diego, CA, USA, June 20–26, 2005) [0062]