Bilderfassung und Bildverarbeitung

Die industrielle Bildverarbeitung steht vor der ständigen Aufgabe, sowohl das Leistungsniveau zu erhöhen als auch sich dem Mainstream immer weiter zu öffnen. Gleichzeitig entwickelt sich ein steigender Echtzeitanspruch, um Bildverarbeitungslösungen in einem kurzen, vorgegebenen Zeitraum durchzuführen.

Mit Kithara RealTime Suite lassen sich diese Eckpunkte verbinden und so kosten- und auch leistungseffiziente Machine-Vision-Lösungen für industrielle Bereiche, wie automatisierte Qualitätssicherung, Robotik oder Medizintechnik, entwickeln. Dies umfasst die Bilderfassung, Bildverarbeitung sowie die darauffolgende Steuerungsreaktion in einem einzigen Echtzeitkontext.

In der industriellen Bildverarbeitung haben sich vor allem zwei zukunftsweisende Kamera-Standards durchgesetzt: GigE Vision und USB3 Vision. Beide Standards besitzen ähnliche Vorteile, die sie für ein besonders breites Spektrum industrieller Bereiche und Anwendungen optimal einsetzbar machen. Neben hohen Datenraten sind beide Schnittstellen auch durch die günstige und austauschbare Standardhardware für nahezu jede Aufgabe anwendbar. Beide Standards lassen sich mit GenICam 2.0 konfigurieren, wodurch neben allgemeinen Funktionen auch auf herstellerspezifische Features zugegriffen werden kann.

Bildverarbeitung in Echtzeit

Aufgabenstellung und Lösung

In der Bildverarbeitung ist der Einsatz von Windows unumgänglich, weil die meisten Anwendungsprogramme dieses Betriebssystem vorgeben. Ohne Einsatz einer Echtzeiterweiterung werden Entwickler jedoch in den meisten Fällen mit vermeidbaren Problemen konfrontiert:

  • Einzelne Datenpakete der Industriekameras fallen aus, damit sind Bilder unbrauchbar oder nur teilweise übertragen worden.
  • Die Reaktionszeit innerhalb der Windows-Anwendung ist zu lang und nicht deterministisch.

Ein Beispielszenario findet sich bei der Qualitätssicherung in der Verpackungsindustrie, wo eine Gut-Schlecht-Reaktion innerhalb einer bestimmten Zeit erfolgen muss, um ein fehlerhaftes Produkt rechtzeitig aus dem Prozess nehmen zu können. Das Camera Module von Kithara RealTime Suite löst dies auf beeindruckende Weise. Der Ausfall von Datenpaketen wird mit ausreichend groß dimensionierten Pufferspeichern und auf Basis der Echtzeit-Netzwerktreiber zuverlässig verhindert. Die Reaktion auf eingetroffene Bilder erfolgt im Kontext der Echtzeitumgebung innerhalb weniger Mikrosekunden. Dabei kann ein Echtzeit-Task aktiviert werden, um eine sofortige Steuerungsreaktion auszulösen.

Vor allem bei der Verarbeitung hochauflösender Bilder, kombiniert mit hohen Frameraten, kommen leicht Datenmengen zustande, die mit normalen Windows-Mechanismen nicht mehr beherrscht werden können.

Bildverarbeitung in Echtzeit

Module

Industrielle Bildverarbeitung besteht im modularen System von Kithara RealTime Suite aus folgenden Komponenten:

Camera Module

Bilderfassung von GigE-Vision- und USB3-Vision-Kameras in Echtzeit

  • Allgemein
  • Features
  • Erweiterungen

Das Camera Module dient der Erfassung von Bilddaten von industriellen Kameras nach dem GigE-Vision- oder dem USB3-Vision-Standard in Echtzeit. Es stellt alle Funktionen zur Erkennung, Verwaltung und zur Erzeugung von Echtzeit-Streams bereit.

Große Pufferspeicher in Verbindung mit den Echtzeit-Netzwerk- oder USB3-Treibern verhindern zuverlässig einen Ausfall von Datenpaketen. Die Reaktion auf eingetroffene Kamerabilder erfolgt im Kontext der Echtzeitumgebung innerhalb weniger Mikrosekunden. Dabei kann ein Echtzeit-Task aktiviert werden, um eine sofortige Steuerungsreaktion auszulösen.

Mit dem Camera Module ist dank der zugrundeliegenden Echtzeit-Treiber ein maximaler Datendurchsatz je nach Schnittstelle und Systemkonstellation bis zum theoretischen Maximum erreichbar. Zur Verarbeitung der Bilddaten siehe Halcon und OpenCV Extension.

Die Ergebnisse der Bildauswertung können noch im Echtzeitkontext verzögerungsfrei an den Prozess gegeben werden, zum Beispiel über EtherCAT oder CANopen. Dazu lassen sich Automatisierungslösungen im Rahmen von Kithara RealTime Suite mit verschiedenen anderen Themen kombinieren.

Das Camera Module benötigt für die Echtzeit-Schnittstelle weitere Module, zum Beispiel das Network Module für GigE Vision bzw. das USB RealTime Module für USB3 Vision.

Für maximal zwei Kameras, darüber Camera Device Extension erforderlich.

Erfordert Network Module und/oder USB RealTime Module

Funktionen

  • Bilderfassung von GigE-Vision- oder USB3-Vision-Kameras in Echtzeit
  • Abfrage- oder ereignisgesteuert
  • Mehrere Kameras gleichzeitig, Hot-Plug-fähig, Konfiguration nach GenICam 2.0
  • Jede standardkonforme Kamera wird unterstützt

Steuerung

  • Automatische Handhabung der Verbindungen
  • Voller Zugriff auf die Kamerakonfiguration
  • Schreiben und Lesen des Kameraspeichers
  • Setzen des Custom Heartbeat Timeout
  • Start und Stop der Erfassung von Bildern durch die Software
  • Einstellung des Erfassungsmodus durch die Software
  • GenICam-XML-Konfigurationsdatei wird automatisch heruntergeladen
  • Zugriff auf GenICam-Funktionen zum Konfigurieren der Kamera
  • Fehlerhandhabung

Streams

  • Ein oder mehrere Streams der Kamera sind möglich
  • Erfassung von Bildern in Echtzeit
  • Speicheroptimierter Bildempfang, kein unnötiges Kopieren
  • Einstellung der eigenen Buffer-Größe und Buffer-Anzahl
  • Informiert über entgangene oder unvollständige Bilder

GenICam Funktionen

  • Nummeriert alle Kategorien
  • Einstellung und Abfrage aller zugänglichen Kamerafunktionen wie Bildformat, Pixelformat, Frame Rate, Belichtungszeit und mehr

Bildverarbeitung

Zur Verarbeitung von Bilddaten in Echtzeit siehe: Halcon Extension oder OpenCV Extension

Camera Device Extension

Erweiterung für zusätzliche Kameras

  • Extended Level: bis 8
  • Unlimited Level (benötigt Extended Level): unbegrenzt

Camera Acceleration Extension

Die Camera Acceleration Extension stellt leistungsfähige Echtzeittreiber für die GigE-Vision-Framegrabber-Beschleunigerkarte PGC-1000 des Unternehmens PLC2 bereit. Eingebettet in Kithara RealTime Suite kann die PGC-1000 innerhalb von Machine-Vision-Applikationen die CPU bei Bilderfassungsprozessen fast vollständig entlasten. So ist die Karte beispielsweise in der Lage, gleichzeitig bis zu vier GigE-Vision-Kamera-Streams mit je 10 GBit/s im Echtzeitkontext zu erfassen. Auch die Echtzeitsynchronisation mehrerer Kameras über das PTP Module von Kithara ist möglich.

  • Echtzeitunterstützung für PGC-1000
  • Fast vollständige Entlastung der CPU bei GigE-Vision-Bilderfassung
  • Verbindungsgeschwindigkeit bis zu 4 × 10 GBit/s bzw. 64 × 1 GBit/s
  • Synchronisation mehrerer Kameras über PTP Module

Halcon Extension

Echtzeit-Bildverarbeitung mit Halcon

  • Allgemein
  • Features

Halcon des Münchener Unternehmens MVTec ist eine Programmbibliothek mit Algorithmen für Bildverarbeitung und maschinelles Sehen. Sie verfügt über die eigene integrierte Entwicklungsumgebung HDevelop mit über 2000 Operatoren. Die Halcon Extension ermöglicht die Anbindung der Programmbibliothek an das Kithara-Echtzeitsystem. Dies ermöglicht eine sofortige Steuerungsreaktion auf verarbeitete Bilder sowie deren Einbindung in Automatisierungssysteme mit EtherCAT oder CANopen.

Die Halcon-Lizenz ist gesondert bei der Firma MVTec zu erwerben.

  • Echtzeit-Bildverarbeitung mit Halcon
  • Über 2000 verschiedene Operatoren, darunter Anpassung, Segmentierung, 3D-Anpassung, OCR, Deep Learning und mehr
  • Integrierte Entwicklungsumgebung HDevelop
  • Automatische Parallelisierung
  • Direktes Ausführen der HDevEngine aus dem Echtzeitkontext
  • Unmittelbare Kontrollreaktion auf verarbeitete Bilddaten zum Beispiel über EtherCAT oder CANopen
  • Unterstützung von Halcon Version 10 bis 13, 18.11 sowie 20.11
  • Die Halcon Extension ist eine Erweiterung des Library Modules

OpenCV Extension

Echtzeit-Bildverarbeitung mit OpenCV

  • Allgemein
  • Features

OpenCV ist eine Open-Source-Programmbibliothek mit Algorithmen für Bildverarbeitung und maschinelles Sehen. Sie verfügt über Algorithmen, unter anderem für Gesichtserkennung, 3D-Funktionalität, Haar-Klassifikatoren, verschiedene schnelle Filter, sowie Funktionen zur Kamerakalibrierung. Die OpenCV Extension ermöglicht die Anbindung der Programmbibliothek an das Kithara Echtzeitsystem. Dies ermöglicht eine sofortige Steuerungsreaktion auf verarbeitete Bilder sowie deren Einbindung in Automatisierungssysteme mit EtherCAT oder CANopen.

  • Echtzeit-Bildverarbeitung mit OpenCV
  • Algorithmen unter anderem für Gesichtserkennung, 3D-Funktionalität, Haar-Klassifikatoren, Filter und Funktionen zur Kamerakalibrierung sowie Deep Learning
  • Automatische Parallelisierung
  • Unmittelbare Kontrollreaktion auf verarbeitete Bilddaten zum Beispiel über EtherCAT oder CANopen
  • Unterstützung von OpenCV 3.0, 3.4 und 4.1
  • Die OpenCV Extension ist eine Erweiterung des Library Modules


EtherCAT® und Safety over EtherCAT® sind eingetragene Marken und patentierte Technologien, lizenziert durch die Beckhoff Automation GmbH, Deutschland.
CANopen® ist ein registriertes Warenzeichen des CAN in Automation e. V.
GigE Vision® ist ein registriertes Warenzeichen der Automated Imaging Association.
USB3 Vision® ist ein registriertes Warenzeichen der Automated Imaging Association.