Bildverarbeitung
ASIC statt Embedded-Board
In Embedded-Vision-Systemen findet die Bildverarbeitung in der Regel auf dem Embedded-Board statt. Eine Alternative ist eine Lösung, die auf einen speziell entwickelten ASIC mit integriertem Image Signal Processor und eigener Bildverarbeitungsbibliothek setzt.
Bislang werden für Embedded-Vision-Anwendungen meist sehr einfache Sensormodule eingesetzt, die überwiegend für Anwendungen aus der Unterhaltungselektronik entwickelt und nicht für industrielle Anwendungen konzipiert wurden. Entwickler von Embedded-Systemen mussten daher Abstriche bei der Bildqualität und der Leistungsfähigkeit der Kameras zugunsten von Größe, Stromaufnahme und Preis hinnehmen. Doch die Vorteile von Embedded-Lösungen, wie etwa geringere Kosten, niedriger Energieverbrauch und kompaktes Design machen einen Wechsel von PC-basierten zu Embedded-Lösungen auch im industriellen Bereich interessant und erfordern neue Lösungsansätze.
Bildqualität versus Rechenkapazität
Bei der Integration von Vision in Embedded-Systeme setzen Entwickler aktuell oft auf CMOS-Sensormodule, um Bilder zu erfassen. Die Funktionalität dieser Geräte ist auf die Anbindung des Bildsensors an den Host beschränkt – in der Regel ein Embedded-Board. Integriert in Smartphones, Tablets und Laptops liefern diese kleinen und preiswerten Module eine akzeptable Bildqualität.
Doch genau hier liegt ein Nachteil dieser Kamera-Option für Embedded Vision: Solche Sensor-Boards verfügen über sehr geringe Bildverarbeitungskapazitäten in der Kamera und erlauben lediglich eine minimale Vorverarbeitung. Die Embedded-Community hat sich mit der Verlagerung wichtiger Bildverarbeitungsaufgaben auf die CPUs (Central Processing Units) oder dedizierte ISPs (Image Signal Processors) wie GPUs (Graphics Processing Units) oder MPUs (Media Processing Units) auf dem Embedded-Board arrangiert. Sowohl Bildkorrekturen zur Verbesserung der Bildqualität als auch die anwendungsspezifische Bildverarbeitung laufen auf dem Embedded-Board. Dies reduziert die verfügbare Leistungs- und Rechenkapazität der zentralen Prozessoren des Embedded-Boards, sodass für die wichtigen Bildverarbeitungsalgorithmen weniger Rechenleistung zur Verfügung steht. Um dieses Manko auszugleichen oder zum Erhalt der gewünschten Leistungsfähigkeit werden immer leistungsfähigere und damit teurere Boards notwendig.
Anforderungen an die Bildverarbeitung
Die heute bevorzugt verwendeten CMOS-Sensormodule wurden ursprünglich für Mobiltelefone entwickelt, eignen sich aufgrund ihres attraktiven Preises, ihrer geringen Größe und ihrer geringen Leistungsaufnahme jedoch auch für andere Anwendungen. Die meisten Module verfügen über eine Reihe grundlegender Algorithmen und automatischer Bildkontrollfunktionen für die Bildverarbeitung wie zum Beispiel automatische Belichtung, Weißabgleich oder Schwarzwertkalibrierung. Vor allem aber nutzen sie einfache Algorithmen, um die Bildqualität zu verbessern, indem sie beispielsweise Optimierungen für die Bildschärfe, Linsen- und Defektpixel-Korrekturen oder Rauschunterdrückungen durchführen. Dies sind Standardfunktionalitäten in modernen CMOS-Sensormodulen, die von Designern so konfiguriert werden, dass das Embedded-Board akzeptable Bilder liefert.
Für viele Anwendungen und Aufgaben reicht die damit erzielbare Bildqualität jedoch nicht mehr aus. Der Bedarf an leistungsfähigeren Bildverarbeitungssystemen auf dem Niveau von Machine-Vision-Kameras nimmt rasant zu. Die industrielle Bildverarbeitung setzt sich dabei aus drei Stufen der Bildverarbeitung zusammen: Vorverarbeitung, erweiterte Bildverarbeitung und anwendungsspezifische nachgelagerte Verarbeitung. In jedem Schritt werden verschiedene Algorithmen angewendet, um das Bild zu bearbeiten und zu analysieren.
Als erster Schritt nach der Aufnahme eines noch nicht von Algorithmen veränderten RAW-Bildes findet zunächst die Bildvorverarbeitung statt. Diese Bildkorrektur und -optimierung ist die Summe der durchgeführten Verarbeitungsaufgaben, die die vom Sensor gelieferten Rohbilddaten in ein Bild umwandeln, dessen Qualität den Anforderungen der jeweiligen Systemanwendung entspricht. Derartige Bildvorverarbeitungsfunktionen können zum Beispiel Algorithmen zur Pixelkorrektur, zum Weißabgleich, zur Verstärkung oder zur Rauschunterdrückung beinhalten, die das Bild für die vorliegende Aufgabe der Bildverarbeitungssoftware optimieren. Nach diesen Schritten zur Bildoptimierung ermöglicht die erweiterte Verarbeitung – manchmal auch nur Bildverarbeitung genannt – komplexere Verbesserungen, um die anwendungsspezifische Bildanalyse zu erleichtern. Beispiele für solche fortgeschrittenen Bearbeitungen sind Schärfe- oder Farbkorrekturen mit Hilfe von Look-up-Tabellen.
Der letzte Schritt ist die Nachbearbeitung, die je nach Systemvorgabe verschiedenste Aufgaben übernimmt und beispielsweise Gesichter in Bildern identifiziert, Nummernschilder in Verkehrsüberwachungsanwendungen lokalisiert und liest oder die Qualität von Objekten in einer industriellen Inspektionsanwendung überprüft. Diese Aufgaben werden durch komplexe, anwendungsspezifische Software-Algorithmen auf dem Hauptprozessor des Embedded-Boards gelöst.
Mehr Leistungsfähigkeit gefordert
Beim Einsatz eines Sensormoduls erfolgt sowohl die erweiterte als auch die anwendungsspezifische Bildverarbeitung auf dem Embedded-Board. Das bedeutet, dass das Embedded-Board einen Großteil der Aufgaben und die notwendige Rechenleistung übernimmt, da das Sensor-Modul dies nicht leisten kann. Dies belastet die Leistungsfähigkeit des Embedded-Boards: Es wird nicht nur langsamer, es steht auch weniger Leistungskapazität für eventuell wichtigere andere Aufgaben zur Verfügung.
Wenn keine anspruchsvollen Algorithmen angewendet werden müssen, mag dies durchaus von einem einfachen Board ohne große Leistungseinbußen zu bewältigen sein. Werden jedoch die Anforderungen an die Bildverarbeitungsalgorithmen und an die Bildqualität größer, bedarf es eines zusätzlichen Co-Prozessors oder eines dedizierten ISP auf dem Embedded-Board – denn wenn es um weitergehende Algorithmen und Bildverarbeitung wie spezielle Filter-, Pixel- und Signalverarbeitungsprozesse geht, stoßen CPUs frühzeitig an ihre Grenzen.
Eine Alternative, um diesen Kapazitäts-Engpass zu überwinden, ist die Wahl eines leistungsfähigeren Embedded-Boards. Bei der Entwicklung von kostensensitiven Embedded-Systemen stellen diese teureren Boards jedoch häufig keine akzeptable Option dar, weswegen nicht selten Abstriche bei der Bildqualität in Kauf genommen werden.
Verlagerung der Bildverarbeitung auf das Kameramodul
Eine andere Möglichkeit, die Anforderungen an die Bildverarbeitung zu erfüllen, ohne zu teureren Embedded-Boards greifen zu müssen, ist die Verlagerung der Bildverarbeitungsaufgaben auf die Kamera. Diesem Ansatz folgend hat Allied Vision ein neuartiges Kameramodul entwickelt, das die Vorteile eines Embedded-Sensormoduls mit der Leistungsfähigkeit industrieller Bildverarbeitungskameras verbindet. Die Kameraserie basiert auf der von Allied Vision entwickelten ‚Alvium‘-Technologie, einem Application-Specific Integrated Circuit (ASIC) mit integriertem ISP und einer eigenen Bildverarbeitungsbibliothek, die das gesammelte Machine-Vision-Know-how des Unternehmens enthält.
Kern der 'Alvium'-Serie ist der integrierte, robuste ASIC, der sich durch seine niedrige Stromaufnahme perfekt für Embedded Vision-Anwendungen eignet.
© Allied Vision TechnologiesEin großer Vorteil des Konzepts, mehr Bildverarbeitung in der Kamera statt auf dem Embedded-Board durchzuführen, besteht in der Reduzierung der Prozessor- und Co-Prozessorlast. Dies schafft freie Ressourcen für potenziell andere Aufgaben.
Diese Technologie führt zu diversen weiteren Vorteilen der ‚Alvium‘-Kameramodule, die alle auf dem proprietären ASIC-Chip basieren. Dabei bietet die Serie ‚Alvium 1500‘ einen eingeschränkten Funktionsumfang, der speziell auf die Bedürfnisse der Embedded-Vision-Community ausgerichtet ist, die Serie ‚Alvium 1800‘ bedient mit einem erweiterten Funktionsumfang alle Anforderungen an einfache Machine-Vision sowie Industrial-Embedded-Vision-Anwendungen.
Im Gegensatz zu Field Programmable Gate Arrays (FPGAs), die häufig in Bildverarbeitungskameras verwendet werden, weist der Alvium-ASIC eine wesentlich höhere Integrationsdichte auf, was ihn sehr energieeffizient macht. Zudem verfügt er über ein intelligentes Power-Management, bei dem nur die aktuell verwendete Funktionalität Strom benötigt und der Rest abgeschaltet wird. Dies bewirkt einen geringeren Anstieg der Temperatur und die Kamera läuft nicht Gefahr, zu heiß zu werden.
In der Kameraserie steckt die Erfahrung aus unzähligen Projekten der industriellen Bildverarbeitung; sie spiegelt sich in der Industrietauglichkeit des Kameramoduls für Embedded Vision wider. Die Alvium-Kameraplattform basiert auf einem ultrakompakten Single-Board-Design mit allen elektronischen Komponenten auf beiden Seiten einer 27 mm x 27 mm großen Platine, die als Bare-Board-Modul erhältlich ist. Dies gewährleistet geringe Größe und niedriges Gewicht und ist zudem die robusteste Lösung für Anwendungen, die Stößen und Vibrationen ausgesetzt sind.
Die ‚Alvium‘-Kamera schlägt sozusagen die Brücke zwischen industrieller Bildverarbeitung und Embedded-Systemen. Dank immer leistungsfähigerer Boards stellt der Wechsel von PC-basierten zu Embedded-Systemen auf diese Weise auch für anspruchsvolle industrielle Computer-Vision-Anwendungen eine gute Option dar.
Autor:
Gion-Pitschen Gross ist Product Manager bei Allied Vision Technologies in Ahrensburg.











