-
Die Erfindung betrifft eine 3D-Kamera, insbesondere eine Industriekamera, mit mindestens einem Bildsensor zur Erfassung von dreidimensionalen Bilddaten nach dem Oberbegriff von Anspruch 1.
-
Im Gegensatz zu einer herkömmlichen Kamera nimmt eine 3D-Kamera auch eine Tiefeninformation auf und erzeugt somit dreidimensionale Bilddaten mit Abstands- oder Entfernungswerten für die einzelnen Pixel des 3D-Bildes, das auch als Entfernungsbild oder Tiefenkarte bezeichnet wird. Die zusätzliche Entfernungsdimension lässt sich in einer Vielzahl von Anwendungen nutzen, um mehr Informationen über Objekte in der von der Kamera erfassten Szenerie zu gewinnen und so verschiedene Aufgaben im Bereich der Industriesensorik zu lösen.
-
In der Automatisierungstechnik können anhand solcher Bildinformationen Objekte erfasst und klassifiziert werden, um weitere automatische Bearbeitungsschritte davon abhängig zu machen, welche Objekte vorzugsweise einschließlich ihrer Position und Orientierung erkannt wurden. Damit kann beispielsweise die Steuerung von Robotern oder verschiedenartigen Aktoren an einem Förderband unterstützt werden.
-
In mobilen Anwendungen gewinnt ein Fahrzeug über dreidimensionale Bilddaten Informationen über seine Umgebung und insbesondere einen geplanten Fahrweg. Dies kann für eine autonome Fortbewegung oder eine Fahrassistenz genutzt werden.
-
Wenn eine Anwesenheit von Personen möglich oder, wie an einem sogenannten kooperativen Arbeitsplatz, sogar erwünscht und vorgesehen ist, treten häufig sicherheitstechnische Aspekte hinzu. Eine typische sicherheitstechnische Anwendung besteht in der Absicherung einer gefährlichen Maschine, wie etwa einer Presse oder eines Roboters, wo bei Eingriff eines Körperteils in einen Gefahrenbereich um die Maschine herum eine Absicherung erfolgt. Dies kann je nach Situation die Abschaltung der Maschine oder das Verbringen in eine sichere Position sein. Mit der zusätzlichen Tiefeninformation lassen sich dreidimensionale Schutzbereiche definieren, die genauer an die Gefahrensituation anpassbar sind als zweidimensionale Schutzfelder, und es kann auch besser beurteilt werden, ob sich eine Person in kritischer Weise an die Gefahrenquelle annähert. Zu den sicherheitstechnischen Anwendungen zählt auch die Absicherung der Bewegung eines Fahrzeugs.
-
Zur Ermittlung der Tiefeninformationen sind verschiedene Verfahren bekannt, wie Lichtlaufzeitmessungen (Time-of-Flight), Interferometrie oder Triangulation. Unter den Triangulationsverfahren wiederum können Lichtschnitt- und Projektionsverfahren sowie Stereoskopie unterschieden werden. Beim Lichtschnittverfahren wird das Objekt unter dem Sensor bewegt und aus den gewonnenen streifenbasierten Tiefeninformationen eine 3D-Punktewolke erzeugt. Beim Projektionsverfahren wird beispielsweise ein Streifenmuster auf die abzutastende Oberfläche projiziert und aus Veränderungen des Musters durch die Objekte in der Szene eine Tiefeninformation abgeleitet. Alternativ wird ein sogenanntes selbstunähnliches, also örtlich eindeutiges Muster projiziert. Das Projektionsverfahren mit einem strukturierten Muster wird beispielsweise in der
US 7 433 024 verwendet. Dabei wird eine Vielzahl von Referenzbildern des strukturierten Beleuchtungsmusters in unterschiedlichen Abständen eingelernt. Ein später aufgenommenes Bild wird mit diesen Referenzbildern verglichen, um Objektabstände zu schätzen. Stereoskopieverfahren sind dem räumlichen Sehen mit zwei Augen angelehnt und suchen in zwei aus unterschiedlicher Perspektive aufgenommenen Bildern einander zugeordnete Bildelemente, aus deren Disparität in Kenntnis der optischen Parameter der Stereokamera die Entfernung durch Triangulation geschätzt wird.
-
Intelligente 3D-Kameras oder 3D-Sensoren haben das Problem, dass ein Großteil ihrer Rechenkapazität dafür aufgewendet wird, die Rohdaten des Messkopfes in verwendbare 3D-Daten umzuwandeln. Das gilt besonders dann, wenn die Bildsensorik zunächst nur 2D-Bilddaten liefert, aus denen die 3D-Daten überhaupt erst in einem aufwändigen Rechenverfahren erzeugt werden. Die zu verarbeitende Informationsmenge ist aber in jedem Fall deutlich größer als bei einer reinen 2D-Kamera. Das bedeutet, dass es eine hohe Anforderung an Rechenleistung im Sensor gibt, während die Rechenkapazitäten im Gerät per se eingeschränkt sind. Dies wiederum führt dazu, dass entweder sehr teure und leistungsintensive Bauteile verwendet werden müssen, oder die Möglichkeiten der Applikationslösung mittels intelligenter Algorithmen eingeschränkt sind. Trotzdem werden nur einfache Auswertungen wie Schwellwertbildung auf dem Gerät angeboten.
-
Herkömmliche 3D-Kameras bieten außerdem nur eine reine Datenausgabe etwa per USB oder Ethernet an. Eine Visualisierung dieser Rohdaten beispielsweise zur Diagnose durch den Nutzer ist nur mit Hilfe von zusätzlichen Recheneinheiten möglich.
-
Daher ist Aufgabe der Erfindung, die Bilddatenverarbeitung in einer 3D-Kamera zu verbessern.
-
Diese Aufgabe wird durch eine 3D-Kamera mit mindestens einem Bildsensor zur Erfassung von dreidimensionalen Bilddaten nach Anspruch 1 gelöst. Die 3D-Kamera weist einen Bildsensor auf, der je nach Ausführungsform zweidimensionale Ausgangsdaten oder schon dreidimensionale Bilddaten liefert. Eine Auswertungseinheit der 3D-Kamera erzeugt dementsprechend dreidimensionale Bilddaten aus den Ausgangsdaten und/oder bereitet dreidimensionale Bilddaten auf oder wertet sie aus, etwa um Objekte zu segmentieren oder dergleichen. Die Erfindung geht nun von dem Grundgedanken aus, die 3D-Kamera mit einem integrierten Grafikprozessor (GPU, Graphics Processing Unit) zu erweitern, der gegebenenfalls einen eigenen Grafikspeicher aufweist.
-
Die Erfindung hat den Vorteil, dass durch den Einbau einer GPU die Rechenleistung in dem Gerät enorm erhöht wird. Die Verarbeitung der Bilddaten kann auf der GPU parallelisiert werden. Dies ermöglicht eine effizientere Umsetzung von Algorithmen. Im Gegensatz zu einem sonst üblichen FPGA ist die GPU viel flexibler und zur Laufzeit programmierbar. Im laufenden Betrieb werden Programme (Shader) auf die GPU geladen, die eine parallelisierte Verarbeitung der Bilddaten ermöglichen. Hinzu kommt der Vorteil, dass eine GPU bei vergleichbarer Leistung deutlich kostengünstiger ist als ein FPGA. Die Integration der GPU bedeutet, dass die Bilddaten nicht erst in ein angeschlossenes Gerät übertragen werden müssen, beispielsweise einen PC. Dieser bisherige Flaschenhals in der Datenverarbeitung, nämlich die Übertragung nach extern, wird also durch die Erfindung beseitigt. Die zusätzliche Hardware wird auch gar nicht erst benötigt.
-
Die 3D-Kamera ist vorzugsweise eine Industriekamera. Solche industrietauglichen Geräte sind besonders robust und langlebig, um dem industriellen Umfeld mit seinen hohen Anforderungen gerecht zu werden. Die erfindungsgemäße 3D-Kamera mit integrierter GPU vereinfacht deren Einsatz als Sensor zur Steuerung einer Industrieanlage deutlich, da kein Zusatzgerät zur Datenauswertung und keine entsprechende Datenübertragung nötig ist.
-
Die Auswertungseinheit weist bevorzugt einen Prozessor auf. Damit ist ein üblicher Prozessor gemeint (CPU, Central Processing Unit), kein Grafikprozessor. Die GPU ist sehr gut geeignet, gleichartige Berechnungen für eine große Vielzahl von Pixeln parallelisiert abzuarbeiten. Für sonstige Aufgaben, etwa die Steuerung der 3D-Kamera oder die Kommunikation mit einem übergeordneten System oder dem Benutzer, ist ein anderer Prozessor oft geeigneter, so dass die GPU vorzugsweise nicht die einzige Prozessoreinheit der 3D-Kamera ist. Die 3D-Kamera hat vorzugsweise einen Systemspeicher, auf den der Prozessor zugreifen kann.
-
Prozessor und Grafikprozessor sind vorzugsweise als Prozessor mit integriertem Grafikprozessor kombiniert. Dadurch wird nur ein gemeinsamer Chip benötigt, die 3D-Kamera ist insgesamt weniger komplex. Die Funktionalität ist aber prinzipiell die gleiche. Lediglich wenn höchste Performance der GPU erforderlich ist, kann es Einschränkungen geben, weil solche GPUs nur als eigenständige Chips und nicht in einen Prozessor integriert erhältlich sind.
-
Die 3D-Kamera ist vorzugsweise mit dem Grafikprozessor in einem Gehäuse untergebracht. Die gesamte 3D-Kamera samt ihrer Komponenten, wie Optik, Bildsensoren und Anschlusselektronik, befindet sich also einschließlich GPU in ein und demselben Gehäuse.
-
Der Grafikprozessor ist vorzugsweise an einen Datenbus der 3D-Kamera angebunden, insbesondere per PCI-Express. Damit ist die GPU auf sehr einfache Weise in die 3D-Kamera eingebunden, so dass sie Daten austauschen und angesteuert werden kann.
-
Der Grafikprozessor ist bevorzugt dafür ausgebildet, aus den dreidimensionalen Bilddaten ein auf einem Anzeigegerät darstellbares Bild zu erzeugen. Die dreidimensionalen Bilddaten sind nämlich in aller Regel nicht direkt darstellbar, sondern beispielsweise Voxel oder Tupel. Ein darstellbares Bild ist ein übliches 2D-Bild, das aber durch perspektivische Darstellung, Falschfarben oder ähnliche Verfahren die Tiefenrichtung der dreidimensionalen Bilddaten ebenfalls anzeigt. Denkbar ist auch ein Bild, das auf einem 3D-Monitor oder mittels 3D-Projektor angezeigt wird.
-
Die 3D-Kamera weist vorzugsweise einen Videoanschluss zur Ausgabe von den dreidimensionalen Bilddaten entsprechenden darstellbaren Bildern auf. Der Videoanschluss ist nach einem gängigen Standard ausgebildet, wie HDMI oder DVI, und die interne Auswertungseinheit der 3D-Kamera mit ihrer internen GPU ist dafür verantwortlich, die dreidimensionalen Bilddaten so aufzubereiten, dass ein Bild bereitgestellt wird, das diesem Standard genügt. Es kann dann direkt und ohne zwischengeschalteten Computer oder dergleichen ein Anzeigegerät, wie ein Monitor, an die 3D-Kamera angeschlossen werden. Das eröffnet neuartige Möglichkeiten der Diagnose im laufenden Betrieb, denn es ist möglich, unmittelbar einen Eindruck der Messdaten zu bekommen. Die aktuellen Messdaten können nicht nur in ihrer Rohform visualisiert werden, sondern es ist möglich, sie mittels Grafikprogrammierung so aufzubereiten, dass dem Nutzer sämtliche interessierenden Diagnoseinformationen bereitgestellt werden. Aufgrund des verwendeten Standardausgangs ist auch hier eine sehr kostengünstige Lösung möglich, da herkömmliche Monitore direkt verwendet werden können.
-
Die 3D-Kamera ist bevorzugt als Stereokamera ausgebildet und weist dazu mindestens zwei Kameramodule mit jeweils einem Bildsensor in zueinander versetzter Perspektive auf, wobei die Auswertungseinheit eine Stereoskopieeinheit umfasst, in der mittels eines Stereoalgorithmus‘ einander zugehörige Teilbereiche in von den beiden Kameramodulen aufgenommenen Bilddaten erkannt werden und deren Entfernung anhand der Disparität berechnet wird. Der Stereoalgorithmus kann vorzugsweise hoch parallelisiert auf der GPU ablaufen. Die Stereokamera kann eine Beleuchtungseinheit zur Erzeugung eines strukturierten Beleuchtungsmusters aufweisen, um unabhängig von Umgebungsbedingungen zu werden.
-
Eine denkbare Alternative zu einer Stereokamera ist eine 3D-Kamera nach dem Projektionsverfahren beziehungsweise mit aktiver Triangulation, die zur Aufnahme von dreidimensionalen Bildern eine Triangulationseinheit aufweist, welche zur Berechnung des dreidimensionalen Bildes ein projiziertes strukturiertes Beleuchtungsmuster mit Bilddaten des Bildsensors korreliert. Hier ist die Beleuchtungseinheit nicht optional, sondern Teil des 3D-Verfahrens.
-
Nochmals alternativ ist die 3D-Kamera als Lichtlaufzeitkamera ausgebildet und weist dazu eine Beleuchtungseinheit auf, wobei die Auswertungseinheit eine Lichtlaufzeiteinheit aufweist, um die Lichtlaufzeit eines Lichtsignals zu bestimmen, das von der Beleuchtungseinheit ausgesandt, an Objekten in dem Überwachungsbereich remittiert und in dem Bildsensor erfasst wird. Statt der Lichtlaufzeit durch die Auswertungseinheit, insbesondere deren GPU, kann schon der Bildsensor selbst in seinen intelligenten Pixeln die Laufzeiten bestimmen.
-
Die Erfindung wird nachstehend auch hinsichtlich weiterer Merkmale und Vorteile beispielhaft anhand von Ausführungsformen und unter Bezug auf die beigefügte Zeichnung näher erläutert. Die Abbildungen der Zeichnung zeigen in:
-
1 ein Blockdiagramm einer ersten Ausführungsform einer 3D-Kamera mit GPU, die nach einem Stereoskopieverfahren ausgebildet ist;
-
2 ein Blockdiagramm einer weiteren Ausführungsform einer 3D-Kamera ähnlich 1, jedoch mit in die CPU integrierter GPU; und
-
3 ein Blockdiagramm einer weiteren Ausführungsform einer 3D-Kamera, die nach einem Lichtlaufzeit- oder Projektionsverfahren ausgebildet ist.
-
1 zeigt eine schematische Darstellung einer 3D-Kamera 10 zur Aufnahme von dreidimensionalen Bildern eines Überwachungsbereichs 12 in einer Ausführungsform als Stereokamera. In der 3D-Kamera 10 sind zwei Kameramodule 14a–b in einem bekannten festen Abstand zueinander montiert und nehmen jeweils Bilder des Überwachungsbereichs 12 auf. In jeder Kamera ist ein Bildsensor 16a–b vorgesehen, üblicherweise ein matrixförmiger Aufnahmechip, der ein rechteckiges Pixelbild aufnimmt, beispielsweise ein CCD- oder ein CMOS-Sensor. Den Bildsensoren 16a–b ist jeweils ein Objektiv mit einer abbildenden Optik zugeordnet, welches als Linse 18a–b dargestellt ist und in der Praxis als jede bekannte Abbildungsoptik realisiert sein kann.
-
In der Mitte zwischen den beiden Kameramodulen 14a–b ist eine Beleuchtungseinheit 20 mit einer Lichtquelle 22 dargestellt, wobei diese räumliche Anordnung nur als Beispiel zu verstehen ist. Die Beleuchtungseinheit 20 kann abweichend von der Darstellung anders und auch extern angeordnet sein. Für passive Stereoskopie könnte auf die Beleuchtungseinheit 20 sogar verzichtet werden. Die Beleuchtungseinheit 20 erzeugt mit Hilfe eines Mustererzeugungselements 24 in dem Überwachungsbereich 12 ein strukturiertes Beleuchtungsmuster. Das Beleuchtungsmuster sollte vorzugsweise zumindest lokal eindeutig oder selbstunähnlich in dem Sinne sein, dass Strukturen des Beleuchtungsmusters nicht zu Scheinkorrelationen führen, beziehungsweise einen Beleuchtungsbereich eindeutig kennzeichnen.
-
Mit den beiden Bildsensoren 16a–b und der Beleuchtungseinheit 20 ist eine kombinierte Steuerungs- und Auswertungseinheit verbunden, die im Folgenden nur Auswertungseinheit genannt und insgesamt mit dem Bezugszeichen 26 bezeichnet wird. Mittels der Auswertungseinheit 26 wird über die Beleuchtungseinheit 20 das strukturierte Beleuchtungsmuster erzeugt, und sie empfängt Bilddaten der Bildsensoren 16a–b. Aus diesen Bilddaten berechnet die Auswertungseinheit 26 mit einem an sich bekannten Stereoskopiealgorithmus dreidimensionale Bilddaten (Entfernungsbild, Tiefenkarte) des Überwachungsbereichs 12, und zusätzlich können Bildauswertungsalgorithmen implementiert sein.
-
Die Auswertungseinheit 26 weist eine CPU 28 mit zugehörigem Systemspeicher 30 und eine GPU 32 mit Videoschnittstelle 34 und Bildspeicher 36 auf. Entsprechende Speichermanager sind der Übersicht nicht mit gezeigt. Die GPU ist beispielsweise per PCIExpress an den Datenbus in der Auswertungseinheit 26 angebunden. Der Bildspeicher 36 ist vorzugsweise sehr schnell les- und schreibbar und relativ groß.
-
Die 3D-Kamera 10 weist ein Gehäuse 38 auf, das vorzugsweise robust ist, um eine Industriekamera in ihrem rauen Arbeitsalltag zu schützen. Die GPU 32 ist mit in das Gehäuse 38 integriert. Durch ihre Rechenleistung insbesondere für vielfach zu wiederholende Operationen an den zahlreichen Pixeln oder Pixelgruppen der Bilddaten ist die GPU 32 in der Lage, die CPU 28 erheblich zu entlasten und der 3D-Kamera 10 so entsprechende Rechenkapazität zur Verfügung zu stellen. Deshalb kann auf einen externen Rechner verzichtet werden, die 3D-Kamera 10 ist mit erweitertem Funktionsumfang autark. Die GPU 32 fungiert insbesondere als Stereoskopieeinheit, d.h. der Stereoskopiealgorithmus’ ist zumindest teilweise dort implementiert.
-
Die GPU 32 ist insbesondere in der Lage, aus den dreidimensionalen Bilddaten darstellbare Bilder zu erzeugen und an ihrer Videoschnittstelle 34 zur Verfügung zu stellen. Extern erfolgt der Zugriff auf diese Bilddaten über einen mit der GPU 32 verbundenen Videoausgang 40 der 3D-Kamera 10 vorzugsweise nach einem gängigen Standard wie HDMI oder DVI. Die GPU 32 mit Videoschnittstelle 34 ermöglicht so durch einfachen Anschluss eines üblichen Monitors oder anderen Anzeigegeräts eine direkte Visualisierung und damit einem menschlichen Betrachter einen direkten, intuitiven Einblick in die Messdaten etwa für Diagnosezwecke.
-
2 zeigt eine alternative Ausführungsform der 3D-Kamera 10. Im Unterschied zu 1 ist hier ein integrierter Grafikprozessor eingesetzt, der CPU 28 und GPU 32 kombiniert. Entsprechend ist auch ein kombinierter System- und Videospeicher 42 vorgesehen.
-
3 zeigt in einer weiteren Blockdarstellung eine alternative Ausführungsform der 3D-Kamera 10 als Lichtlaufzeitkamera. Auf der relativ groben Ebene der Darstellung unterscheidet sich die Lichtlaufzeitkamera von einer Stereokamera hauptsächlich durch das Fehlen eines zweiten Kameramoduls. Ein solcher Aufbau ist auch derjenige einer 3D-Kamera nach einem einleitend erläuterten Projektionsverfahren, die Entfernungen aus entfernungsabhängigen Veränderungen des Beleuchtungsmusters schätzt. Natürlich sind auch die auf der CPU 28 beziehungsweise GPU 32 ablaufenden Bildverarbeitungen zumindest in der Phase bis zur Erzeugung dreidimensionaler Bilddaten unterschiedlich, nämlich hier durch Bestimmung der Lichtlaufzeit zwischen Aussenden und Empfangen eines Lichtsignals beziehungsweise Auswertung abstandsabhängiger Eigenschaften eines Projektionsmusters. Die Lichtlaufbestimmung kann auch zumindest teilweise in den Bildsensor 16 integriert sein, beispielsweise in einem PMD-Chip (Photonmischdetektion). In späteren Verarbeitungsschritten, nachdem dreidimensionale Bilddaten erzeugt sind, können die diversen Ausführungsformen dann auch gleiche Verfahren nutzen, beispielsweise zur Erzeugung von visualisierbaren Bildern für den Videoausgang 40 aus dreidimensionalen Rohdaten.
-
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
-