Echtzeitfähige Vision-Applikationen übernehmen Steuerungsaufgaben
Computer Vision in der Steuerung
Der Ruf nach intelligenten Lösungen für die Produktionstechnik wird immer größer. Bauteile sollen automatisch erkannt und individuell verarbeitet werden. Dabei spielt Computer Vision eine entscheidende Rolle, jedoch fehlt es noch an Lösungen zur steuerungsnahen Ausführung. Wegen der komplexen Rechenvorgänge ist die Ausführung intelligenter Vision-Algorithmen in einer konventionellen Steuerung meist nicht in Echtzeit möglich. Die Lösung? Eine hardwarebeschleunigte Soft-SPS.
Bild: ISW Institut für Steuerungstechnik der

Heute ist KI aus der Welt der Industrie 4.0 nicht mehr wegzudenken. Angefangen von Forschungsvorhaben wie FabOS und Service-Meister über Start-Ups bis hin zu Industrielösungen wie TwinCat Vision wird überall versucht, intelligente Methoden gewinnbringend in der Produktion einzusetzen. Ein Kernelement produktionstechnischer KI-Anwendungen ist die Computer Vision, also die maschinelle Verarbeitung und Analyse von Bildmaterial. Hierbei ergeben sich vielfältige Anwendungsmöglichkeiten. Zwei bekannte Beispiele sind die Qualitätsüberwachung von Produkten durch Bilder und die Manipulation von Gegenständen in unbekannter Position, der sogenannte Griff in die Kiste. Beide Beispiele lassen sich im statischen Fall gut in die Produktion integrieren, die Berechnung läuft hierbei auf einem ausreichend starken Server, der die Ergebnisse bereitstellt. Doch was passiert, wenn der Vision-Algorithmus direkt mit einer steuerungstechnischen Aufgabe verknüpft ist? Wie kann Computer Vision den Echtzeitanforderungen einer klassischen Steuerung gerecht werden?

Bildverarbeitende Algorithmik

Computer Vision beschreibt im Allgemeinen jegliche Form von bildverarbeitender Algorithmik, die computerbasiert ausgeführt wird. Ein praxisnahes Beispiel hierfür ist ein Schwarz-Weiß-Filter. Dabei wird das Bild pixelweise binär eingefärbt, also schwarz oder weiß. Ausschlaggebend für die Färbung ist ein statischer Schwellenwert, der die Farbe des Pixels mit einer festgelegten Schwelle abgleicht. Um die Segmentierung durchzuführen bedarf es demnach einer einzelnen Vergleichsoperation pro Pixel.

Im Kontrast dazu stehen Algorithmen, die Zusammenhänge zwischen Pixeln oder Segmenten nutzen, um abstrakte Muster zu erkennen und daraus Informationen über Inhalte des Bilds abzuleiten. Ein produktionstechnisches Beispiel ist die Erkennung eines Bauteils auf einem Förderband. Hierzu reicht es nicht aus, den zuvor betrachteten Segmentierungsalgorithmus zu nutzen und dann so lange eine Schablone des Bauteils über das segmentierte Bild zu legen, bis sie vollständig mit einem Segment übereinstimmt, da hierbei einige Störfaktoren unbeachtet bleiben: Je nach Position im Bild wird die Projektion des Bauteils durch die Kameralinse unterschiedlich verzerrt; dies müsste die Schablone abbilden können. Außerdem können Teile des Bauteils verdeckt sein, sodass nur Teile der Schablone mit dem Bauteil übereinstimmen. Laufen über das Förderband gleich mehrere Bauteilvarianten, müssen diese unterschieden werden können. Dabei steigt die Komplexität des erdachten Schablonenalgorithmus stark an. Diese Herausforderungen werden von einer weiteren Kategorie bildverarbeitender Algorithmen angegangen: intelligente, selbstlernende Objektdetektoren.

Diese Detektoren bestehen aus einer Aneinanderreihung komplexer Filter und Entscheidungsschwellen, die auf den Anwendungsfall speziell eingestellt werden. Das bedeutet, dass der Detektor vor dem Einsatz im Produktivsystem einem Training unterzogen wird und anhand bekannter Bilder der Bauteile lernt, das Objekt zu erkennen. Im Falle eines faltenden neuronalen Netzes (CNN, engl. für Convolutional Neural Network) werden in diesem Schritt die Kantengewichte zwischen den nichtlinearen Neuronen eingestellt.

Ist das Training abgeschlossen, kann der Detektor im Produktivsystem eingesetzt werden, um sensorische Aufgaben zu übernehmen, die mit herkömmlicher Sensorik kaum erfassbar sind. Damit der Detektor analog zu herkömmlichen Sensoren im Steuerungstakt genutzt werden kann, muss eine direkte Einbindung in die SPS erfolgen. Da der fertige Detektor im Falle eines neuronalen Netzes aus einer Aneinanderreihung mathematischer Operationen besteht, ist die Implementierung des Netzes in Sprachen der IEC61131-3 möglich. Verschiedene SPS-Hersteller bieten hierfür bereits vorgefertigte Programmbausteine. Dabei kann das neuronale Netz mittels eines Austauschformats wie ONNX in den Baustein geladen und über einen Trigger oder Funktionsaufruf ausgeführt werden.

Soft-SPSen für Vision-Anwendungen

Konträr zur einfachen Implementierung des Detektors besteht die Herausforderung in der Inferenzzeit, also der Ausführungsdauer des neuronalen Netzes, um aus einem gegebenen Eingang den Ausgang zu berechnen. Wird die Inferenz in der SPS durchgeführt, muss die Ausführung innerhalb der Zykluszeit der SPS möglich sein. Dies ist für die entsprechend großen faltenden neuronalen Netze der Objektdetektion auf konventioneller Steuerungshardware nicht gegeben. Einen Vorteil bieten hier Soft-SPSen: da diese als Software in ein Host-Betriebssystem integriert werden, können Hardwareressourcen auf den Anwendungsfall zugeschnitten erweitert werden. In der Forschung wird aktuell untersucht, wie GPUs als Hardwarebeschleunigung für Soft-SPSen ideal genutzt werden können, um die Inferenz zu beschleunigen. Zwar können aktuelle Soft-SPSen nicht direkt Berechnungen auf eine GPU auslagern – das entspricht nicht dem klassischen Anwendungsfall einfacher logischer Verschaltungen innerhalb der Steuerung – allerdings ermöglichen spezielle Werkzeuge die Inferenz von CNNs auf der GPU, beispielsweise TensorRT auf Nvidia Grafikkarten. Mithilfe einer Schnittstellenimplementierung können diese aus der Steuerung angesprochen und die Inferenz ausgeführt werden. Das Ergebnis wird nach der erfolgreichen Inferenz zurück an die SPS gegeben. Untersuchungen zeigen, dass die Inferenz aktueller CNNs zur Objektdetektion in dieser Konfiguration unter 10ms möglich ist, im Falle eines Host-Betriebssystems mit Echtzeitscheduling liegt der Jitter von 5.000 Inferenzen bei 203,2µs. Verwendet wurde für diese Messungen eine Nvidia GTX 980 und das Betriebssystem Ubuntu 18.04 mit dem Preempt-RT patch rt17, um die Inferenz von Yolo-v2 durchzuführen.

Vorteile von GPUs

Bei Betrachtung des eigentlichen Anwendungsfalls von Grafikkarten wird klar, warum diese einen solchen Mehrwert für die Inferenz neuronaler Netze bieten. Um ein Bild auf einem Bildschirm zu erzeugen, muss dieses aus Millionen von Pixeln zusammengesetzt werden. Deren Farbwerte werden jedoch nicht von der CPU oder einem Programm direkt vorgegeben, sondern müssen in der GPU aus Formeln berechnet werden. Hier spielen Effekte wie Shading, Lighting und verschiedene Farbkonfigurationen eine Rolle, die benachbarte Pixel beeinflussen und über einen Verlauf beschrieben werden können. Abstrahiert bedeutet dies, dass die GPU Millionen Berechnungen gleichzeitig ausführen muss, um alle Pixelwerte vor dem Bildaufbau zu bestimmen. Dies wird ermöglicht durch die Auslegung der Recheneinheiten: anstatt wenigen großen Recheneinheiten (CPU) werden viele kleine Recheneinheiten verbaut, sodass parallelisierbare Rechenaufgaben auch parallelisiert ausgeführt werden können. Diese Eigenschaft kann auch für neuronale Netze genutzt werden. Diese setzen sich aus Schichten von Neuronen zusammen, die jeweils einfache parallelisierbare Rechenoperationen beinhalten, analog zu Pixeln in einem Bild.

Seiten: 1 2Auf einer Seite lesen

ISW Institut für Steuerungstechnik der

Das könnte Sie auch Interessieren

Bild: Eaton Industries GmbH
Bild: Eaton Industries GmbH
Fertigbeton à la Carte

Fertigbeton à la Carte

Die Getec Servicegesellschaft realisiert einen Drive-in für kleine Mengen Frischbeton für Selbstabholer. Die Anlage funktioniert automatisiert und liefert verschiedene Betonmischungen in gleichbleibend hoher Qualität. Kern des Systems ist das Kombigerät XV300 mit integrierter SPS-Funktion und Touchdisplay.