3D-Vision mit Halcon: Schnelle Objekterkennung in jeder Dimension

Das Softwareunternehmen MVTec bietet mit Halcon ein Rundumpaket für die industrielle Bildverarbeitung an. Doch welche Aufgaben kann die aktuelle Softwareversion in der Praxis übernehmen und wie unterscheiden sich die verschiedenen Funktionen? Welche Entwicklungen erwarten die Programmierer mit der folgenden Version der Bildverarbeitungs-Software, die im kommenden Sommer erscheinen soll?

Objekterkennung ist ein heiß umstrittener Markt in der Bildverarbeitung. Das ist bereits an den Patentstreitigkeiten zu erkennen, die der vergangenen Zeit zwischen Konkurrenten am Weltmarkt gefochten wurden. Um für nahezu jede Applikation eine Lösung zu bieten, hat MVTec bis zur aktuellen Version 10 seiner Software Halcon die Matching-Verfahren stetig ergänzt und weiterentwickelt. Nicht nur, dass jede momentan in der Industrie gestellte Frage zur Objekterkennung mit Halcon 10 gelöst werden kann, sondern die Software bietet dazu verschiedene Verfahren an, die die Flexibilität für den Programmierer erhöhen. Halcon gilt als umfassende Standardsoftware für die industrielle Bildverarbeitung und bietet entsprechend mehr als 1.600 Software-Operatoren an. 2D-Matching Sollen flächige Objekte erkannt werden, hat man mit Halcon unterschiedliche Methoden und Verfahren zur Verfügung. Das korrelationsbasierte Matching ist ein oft verwendetes Verfahren. Es basiert auf dem Vergleich von Grauwerten eines bekannten Objekts, das über das zu prüfende Bild geschoben wird. Bei hinreichenden Übereinstimmungen erkennt die Software so das gesuchte Objekt schnell und ist dabei robust gegenüber Unschärfe, Kantendeformation oder Texturen. Dabei spielen Rotation und Orientierung keine Rolle. Das subpixelgenaue formbasierte Matching findet Objekte präzise und robust in Echtzeit, sogar wenn sie rotiert, skaliert, perspektivisch verzerrt, lokal deformiert (Bild 1), teilweise überdeckt oder auch teilweise außerhalb des Bildes sind und nicht linearen Beleuch­tungsschwankungen unterliegen. Dieses Verfahren verarbeitet Bilder mit 8 oder 16Bit sowie Farb- und andere Mehrkanalbilder. Objekte können anhand von Bildvorlagen oder CAD-Daten trainiert werden. Darüber hinaus lokalisiert Halcons komponentenbasiertes Matching Objekte, die aus mehreren gegeneinander beweglichen Teilen bestehen wie beispielsweise Zangen, Scheren oder Schalter. Ein weiteres 2D-Verfahren ist das deskriptorbasierte Matching (Bild 2). Planare Objekte mit Textur wie Verpackungen können mit diesem Matchingverfahren schnell in beliebiger Rotation und Kippung gefunden werden. 3D-Matching In vielen Bereichen in der Industrie wird zunehmend 3D-Objekterkennung (3D-Matching) nachgefragt und angewendet. Vor allem die Robotik entdeckt 3D-Matching zunehmend als leistungsfähiges Verfahren, um Roboter zu sehenden Maschinen zu machen. Hier stellt Halcon 10 mit seinem 3D-Vision-Paket die notwendigen Verfahren in seiner Bibliothek bereit. Das formbasierte 3D-Matching bestimmt die 3D-Lage von beliebig angeordneten dreidimensionalen Objekten. Dieses Verfahren erkennt die Position und Orientierung von 3D-Objekten basierend auf ihrem CAD-Modell mit nur einer Kamera. Das geht auch in Kombination mit einem Stereoverfahren, wobei die Software die Genauigkeit erhöhen kann, indem das so genannte Mehrbild-Stereo beliebig viele Kamerabilder in die Information einfließen lassen kann. Das wird vor allem bei Bin Picking-Anwendungen, also der roboterbasierten Vereinzelung von Schüttgut, immer stärker eingesetzt. Was aber, wenn ein Objekt keine klaren Kanten und Konturen aufweist, also die Form sich nur schwer erfassen lässt? Halcon 10 bietet in dem Fall das oberflächenbasierte 3D-Matching als Alternative zum formbasierten 3D-Matching, wenn es um das optimierte Auffinden von gerundeten oder kantenlosen Objekten wie Rohren und anderen Bauteilen aus Distanzbildern geht (Bild 5 und 6). Schnelligkeit als Maßstab In der industriellen Bildverarbeitung ist neben Robustheit und Genauigkeit die Schnelligkeit das Hauptkriterium. In der Softwareentwicklung geht es daher vor allem darum, neue Möglichkeiten zu entdecken, um die Verarbeitung schneller zu machen. In der Entwicklungsabteilung von MVTec wird ständig versucht, die zugrunde liegenden Algorithmen so zu verbessern, dass sie nicht nur robust arbeiten, sondern gleichzeitig schneller werden. Allerdings gibt es auch andere Möglichkeiten, um für eine Beschleunigung zu sorgen. Mit der Version 10 verfügt Halcon über eine GPU-Beschleunigung, die auf dem OpenCL-Standard basiert. Das bedeutet, dass Teile der Bildverarbeitung auf den Graphikprozessor ausgelagert werden, über den so gut wie alle Rechner verfügen. Das ist an sich am Markt nichts Neues. Halcon aber ist in der Lage, das Auslagern von mehr als 50 Operatoren so zu organisieren, dass der Programmierer sich keine Gedanken über den Ablauf machen muss. Die Bildverarbeitungsteil eines Programms muss zu diesem Zweck nicht extra umgeschrieben werden; vielmehr kann der Programmierer es der Automatik überlassen, so viel wie möglich auszulagern. Dadurch erleichtert diese Automatik dem Programmierer die Arbeit. Außerdem können mit dieser Auslagerung subpixel-genaue Ergebnisse erzielt werden. Die Halcon verfügt schon lange über eine automatische Operator-Parallelisierung (AOP). Diese erkennt automatisch, über wie viele Prozessoren oder Cores ein Rechner verfügt und teilt die Threads entsprechend auf, ohne dass der Programmierer dazu etwas tun muss. Die Geschwindigkeit steigt dadurch nahezu linear proportional zur Anzahl der Prozessoren. Diese AOP wird mit jeder Version von Halcon weiter ausgedehnt. Halcon 10 benötigt außerdem weniger Hauptspeicherplatz als die vorhergehenden Versionen. Für Klassifikationsapplikationen bietet sie alternativ zum herkömmlichen Berechnung ein Look-Up-Table-basiertes Verfahren an, das zwar mehr Speicherplatz benötigt, aber im Gegenzug die Berechnung beschleunigt. Zuverlässige Identifikation Auch für Identifikationsapplikationen bietet Halcon fortschrittliche Verfahren an. So ist die Texterkennung (OCR) im industriellen Umfeld eine spezielle Herausforderung, weil die Zeichen, die erkannt werden sollen, oft beschädigt oder verschmutzt sind oder in einer Schriftart angebracht wurden, die die Software ganz einfach nicht kennen kann. Halcon verfügt jedoch über so viele vortrainierte Schriftsätze, dass ein Training von Schriften und Zeichen weitgehend wegfällt. Außerdem wurde die Segmentierung verbessert: Halcons Smart Text Finder erkennt im Bild die Region, in der Textzeichen vorhanden sind, und schlägt eine ROI (Region of Interest) vor. Das ermöglicht eine robuste und einfache Verarbeitung. Beim Lesen von Barcodes und Datacodes war jede Version von Halcon robust gestaltet. Die aktuelle Version kann darüber hinaus mehrere unterschiedliche Barcodes in einem Bild mit nur einem Aufruf auslesen (Bild 3). Außerdem wurde das Lesen von Composite-Codes beschleunigt. Schnelles Entwickeln In der industriellen Produktion ist die schnelle Marktverfügbarkeit (Time to Market) ein wichtiges Kriterium. Daher muss die Automatisierungsapplikation möglichst schnell entwickelt werden. Halcon hilft dabei mit seiner integrierten Entwicklungsumgebung HDevelop. Mit dieser IDE (integrated development environment) stehen dem Programmierer verschiedene Möglichkeiten zur Verfügung, die das Erstellen des Bildverarbeitungsprogrammcodes erleichtern und beschleunigen. So verfügt HDevelop über einen Measure-Assistenten, der entlang einer vorgewählten Linie Entfernungen zwischen Kanten misst (Bild 4), über Tools zum ROI-Handling oder zum Erstellen eines Grauwertprofils entlang einer vorgewählten Linie oder eines Kreisbogens, um nur einige zu nennen. Diese IDE wird in verschiedenen Sprachen angeboten. Was wird demnächst folgen? Die neue Version 11 von Halcon kommt im Sommer 2012 auf den Weltmarkt. Halcon war eine der ersten Standardsoftware-Produkte am Markt mit einem umfangreichen 3D-Vision-Paket. Auch mit der neuen Version wird daher vieles rund um 3D-Vision verbessert, beschleunigt und ergänzt werden. Auch bezüglich der integrierten Entwicklungsumgebung HDevelop wird es mit der Version 11 einige Innovationen geben. Zudem wird Halcon 11 eine Reihe neuer Datacodes lesen können und der Datacode-Leser wird schneller werden. Außerdem wird das gesamte Softwarepaket beschleunigt.

MVTec Software GmbH
http://www.mvtec.com

Das könnte Sie auch Interessieren

Weitere Beiträge

Bild: Ceratizit Deutschland GmbH
Bild: Ceratizit Deutschland GmbH
Werkzeuge – immer passend

Werkzeuge – immer passend

Eine digitalisierte Fertigung hat viele Gesichter… und Recker Technik aus Eschweiler setzt ihr auf jeden Fall einen Smiley auf. Dort bringt die Produktion mit digitalen Zwillingen mehr Effizienz in den Alltag sowie gleichzeitig mehr Überblick über das Toolmanagement und die Werkzeugkosten. Mit dabei: Zwei Tool-O-Maten, die intelligenten Werkzeugausgabesysteme von Ceratizit – dank denen immer das passende Werkzeug für den Job zur Hand ist.

mehr lesen
Bild: Hainbuch GmbH
Bild: Hainbuch GmbH
„Wie passende Spanntechnik die Automation voranbringt“

„Wie passende Spanntechnik die Automation voranbringt“

Zunehmend individuellere Kundenanforderungen, mehr Schwankungen im Auftragseingang und weniger Fachkräfte – diese Faktoren beeinflussen die Fertigungsplanung zunehmend. Gerade bei kleinen Herstellungschargen mit Losgrößen unter 100 macht in diesem Spannungsfeld die Automatisierung, etwa von Hainbuch, den Unterschied. Ein entscheidender Ansatzpunkt in der Umsetzung ist neben Maschine, Roboter und Bediener der Rüst- und Spannprozess.

mehr lesen
Bild: Schunk SE & Co. KG Spanntechnik
Bild: Schunk SE & Co. KG Spanntechnik
Futter für die Ewigkeit

Futter für die Ewigkeit

Siemens Energy setzt für die Präzisionsbearbeitung an einer Horizontaldrehmaschine Magnos Elektropermanent-Magnetspannfutter von Schunk ein. Dank der gleichmäßig dauerhaft wirkenden Magnetspannkraft erfolgt das Spannen der Werkstücke deformations- und vibrationsarm – für eine ausgezeichnete Bearbeitungs- und Oberflächenqualität. Mit der zugehörigen App lässt sich die Spannsituation simulieren und sicher parametrieren.

mehr lesen