Mit 10GigE wird die industrielle Bildverarbeitung zuverlässig und erschwinglich – einschließlich Multi-Kamera-Setup

Übersicht

Mehrere Anwendungen für industrielle Bildverarbeitungssysteme, beispielsweise sich schnell bewegende Inspektionslinien, Halbleiterfabriken, intelligente Verkehrssysteme, Sportanalysen und volumetrische Erfassung, erfordern eine hohe Auflösung, BpS und Datenübertragung, um bessere Ergebnisse zu erzielen. Für Techniker von industriellen Bildverarbeitungssystemen, die den Output mit schnelleren Frameraten und Bildverarbeitungs-Kameras mit höherer Auflösung verbessern möchten, ist ein Upgrade von 1GigE auf 10GigE die offensichtliche Option. Nach Erkenntnissen der AIA (Automated Imaging Association) verlief die Einführung bislang jedoch ziemlich langsam. Dies ist verständlich, wenn man drei technische Herausforderungen berücksichtigt, die sich aus diesem Upgrade ergeben: Zuverlässigkeit (fehlende Pakete), hohe CPU-Auslastung und hohe Latenz. Dieser Artikel bietet ein Update darüber, wie die gebündelte Teledyne FLIR Oryx + Myricom-Lösung mit diesen Herausforderungen umgeht.

 

Update 1: Makellose Leistung

Während 10GigE Vision die Bandbreite gegenüber dem GigE Vision-Protokoll um das 10fache erhöht hat, hat die Leistung des 10GigE-Host-Adapters nicht mithalten können. Die Datenübertragung von der Kamera zum Host führt im Allgemeinen zu einer Überlastung der CPU, was zu Anwendungspuffer-Overflows und einen Paketverlust führt, der für anspruchsvolle Anwendungen inakzeptabel ist.

Durch die Verwendung von Host-Adaptern, um den Paketempfang und die Bildrekonstruktion direkt auf der Karte zu handhaben, muss die CPU diese Aufgaben nicht mehr verwalten. Das bebündelte Teledyne FLIR Oryx + Myricom wurde speziell entwickelt, um solche Situationen anzugehen. Wie in unseren Testergebnissen unten ersichtlich, kann die Systemzuverlässigkeit dramatisch zunehmen, was zu einem deutlich reduzierten Paketverlust und wiederum zu weniger verlorenen Frames führt.

Das Bündel arbeitet nahtlos mit unserem neuen individuellen SDK-Treiber zusammen, der sich der Handhabung von Daten widmet, die von der Myricom-Karte bereitgestellt werden. Mit dieser Kombination werden Bilddaten einwandfrei und zuverlässig von der Kamera auf den Host-PC übertragen. Siehe Testergebnisse unten im Anhang: Test auf Zuverlässigkeit und CPU-Nutzung.

Das Preis-Leistungs-Verhältnis unseres Teledyne FLIR Oryx + Myricom-Bündels macht es zu einer einfachen Wahl und bietet eine erschwingliche und äußerst zuverlässige Einrichtung im Vergleich zum separaten Kauf und zur Integration von Hardware.

 

Update 2: Nutzung von gemanagten CPUs

Theoretisch könnten CPUs bis zu 100 % eines Kerns für die Handhabung eingehender Daten von einer 10GigE-Verbindung widmen, und bei mehreren Anwendungen bzw. Kameras können mehrere Kerne verwendet werden. Durch die Verwendung der Myricom-Karte zur Verwaltung des Paketeingangs und der Bildrekonstruktion sinkt die CPU-Nutzung für jede Anwendung auf bis zu 1 %, sodass zusätzliche CPU-Zyklen für die Bildverarbeitung zur Verfügung stehen. Siehe Testergebnisse unten im Anhang: Test auf Zuverlässigkeit und CPU-Nutzung

 

Update 3: Geringere Latenz

Die Frame-Latenz von 10GigE Vision ist nicht deterministisch; das bedeutet, Frames können mit einem signifikanten Zeitjitter ankommen. Unter bestimmten Bedingungen (und vor allem bei Switches) kommt es nicht nur zu Paketverlust, sondern mitunter sogar zum Empfang von Frames in falscher Reihenfolge. Das Teledyne FLIR Oryx + Myricom-Bündel bewältigt dieses Problem mit rechtzeitiger Benachrichtigung von Frame-Vervollständigungen, und sorgt so für geringere Latenz und weniger Jitter.

 

Anhang: Test auf Zuverlässigkeit und CPU-Nutzung

 

Test 1: 7-Tage-Streaming mit hoher Bandbreite

Mit einer benutzerdefinierten Konsolenanwendung, die über die Teledyne FLIR Spinnaker API erstellt wurde, wurde eine 8.9MP Teledyne FLIR Oryx-Kamera eingerichtet, um Bilder kontinuierlich zu erfassen und unvollständige Bilder ohne zusätzliche Verarbeitung oder ressourcenintensive, gleichzeitig laufende Programme von Drittanbietern zu verfolgen.

Testergebnisse: ~40 Millionen aufgenommene Bilder; 0 unvollständige/fehlende Bilder erkannt.

Hinweis: Die CPU-Nutzung wurde während der 7 Tage des Tests überprüft, und es wurde festgestellt, dass sie konsistent bei 1 % lag. Da der neue Myricom-Treiber deaktiviert und ausschließlich auf den FLIR-Standardfiltertreiber angewiesen ist, blieb die CPU-Nutzung für den anwendungsrelevanten CPU-Kern bei etwa 100 %.

 

Test 2: Dual-Kamera-Streaming

Dieser Test umfasst zwei Oryx-Kameras (ORX-10G-123S6M und ORX-10G-89S6C), die in derselben benutzerdefinierten Konsolenanwendung laufen, wobei jede Bildaufnahme 24 Stunden lang kontinuierlich bei einer Bandbreite von 6,7 Gb/s erfolgt.

Testergebnisse: ~6 Millionen pro Kamera erfasste Bilder; 0 unvollständige/fehlende Bilder erkannt

 

Test 3: CPU-Stresstest über 24 Stunden

Dieser Test umfasst eine einzige Oryx-Kamera (ORX-10G-123S6M) mit den gleichen Einstellungen wie in Test 1.

Es wird die gleiche Konsolenanwendung wie in Test 1 verwendet, mit der Ausnahme, dass dieses Mal eine andere Anwendung gleichzeitig genutzt wird; diese benutzerdefinierte Anwendung soll einen hohen Workload simulieren und etwa 90 % der gesamten CPU-Auslastung (über alle acht Kerne hinweg) in Anspruch nehmen.

Testergebnisse: ~6 Millionen aufgenommene Bilder; 0 unvollständige/fehlende Bilder erkannt.

 

Spezifikationen der Hardware und Software des Testsystems:

i7-9700k mit 3,6 GHz | 16 GB | Windows 10 1809

Teledyne FLIR Spinnaker 2.1.0.82 und PgrLwf 2.7.3.397 im Vergleich zu benutzerdefiniertem 2.3.0.x-Build mit Myricom-Unterstützung

Oryx ORX-10G-123S6M

Oryx ORX-10G-89S6C

 

Zugehörige Artikel