nw  

Komponenten

Dataflow-Komponenten beinhalten die von der Dataflow-Runtime nutzbare Programmlogik und lassen sich in Ausgangs-, Transformations- und Endkomponenten kategorisieren. Im Rahmen des Forschungsprojektes und nach Anforderungen der mit der avisec AG entwickelten IoT-Applikation wurden die nachfolgenden Komponenten entwickelt.

Kamerakomponenten

Zur Erfassung von Bilddaten auf unterschiedlichste Arten wurden verschiedenste miteinander kombinierbare und austauschbare Komponenten implementiert. Nennenswert sind dabei die Komponenten zur Kameraeinstellung/-bildauslösung, zur Bildauslösung nach fixem Intervall oder gemäss einem Zeitplan (z.B. "während allen Arbeitstagen soll von 6.00 bis 18.00 h alle 10 Minuten ein Bild gemacht werden"). Die Kamerakomponente bauen auf libgphoto2 auf, wodurch die über 2100 unterstützten Kameratypen (siehe hier) genutzt werden können.

Datenübertragungskomponenten

Die Bild- und Metadaten werden mittels MQTT, einem leichtgewichtigen zuverlässigen publish-/subscribe-basierten Datenübertragungsprotokoll, übertragen. Nebst der Implementierung zweier Komponenten zum optional verschlüsselten (mittels SSL/TLS) Versand und Empfang von Daten, wurden binäre (De-)serialisierungs- sowie (De-)kompressionskomponenten implementiert. Letztere erlauben die Datenübertragungsmenge pro Bild um bis zu ca. 30 % zu reduzieren und somit Datenübertragungskosten massgeblich zu verringern.

Bildbearbeitungs- und analysekomponenten

Die nachfolgende Auswahl an Bildbearbeitungs- und Analysekomponenten repräsentieren die Hauptprogrammierlogik des entwickelten Dataflow-Frameworks. Sie werden zur Realisierung unterschiedlicher Wertschöpfungsketten von Echtzeitbildaufnahmen verwendet und ermöglichen neuartige Umgebungsdokumentationslösungen.

Einfache Bildbearbeitungs- und analysekomponenten

- Skalierung (Anwendungen: Datenreduktion, Vorprozessierung für Userapplikationen):

alternate text

- Auschnittextraktion (Anwendungen: Datenreduktion, Privacy):

alternate text

- Perspektivische Transformation (Anwendungen: Korrektur von Weitwinkelaufnahmen):

alternate text

- Rotation (Anwendung: Korrektur von montage- oder zeitlichbedingten Schrägaufnahmen):

alternate text

- Spiegelung (Anwendungen: Korrektur von montagebedingten Schrägaufnahmen):

alternate text

Komplexere Bildbearbeitungs- und analysekomponenten

- Bewegungsfilterung / Anonymisierung von Personen und Fahrzeugen (Anwendungen: Privacy):

alternate text

Abb. 1: Bewegungsfilterung mit Ausgangsbilder links und anonymisierte Bilder rechts.

- Dichtekartengenerierung von Personenbewegungen (Anwendungen: Marketing, Datenexploration).

- Detektion von defokusierten Bildern (Anwendungen: Vorprozessierung für Userapplikationen und Zeitraffererstellung).

- Detektion von Bildern mit Regentropfen (Anwendungen: Vorprozessierung für Userapplikationen und Zeitraffererstellung).

Abschliessend ist zu erwähnen ist, dass eine Vielzahl von weiteren nutzbringende Bildbearbeitungs- und Analysekomponenten aufbauend auf Ansätzen aus den Bereichen der Computervision, dem Machine Learning, Data Mining und Information Retrieval implementierbar wären und im Rahmen des Forschungsprojektes angedacht und als kleine Prototypen implementiert wurden (siehe Studierenden Projekte).

Datenspeicherungskomponenten

Abschliessend werden die prozessierten und / oder rohen Meta- und Bilddaten in einer eigens entwickelten Cloudlösung zur Speicherung von temporalen Datensätzen mit beliebigen Anhängen (z.B. Bilder, Text) abgespeichert. Die abgespeicherten Datensätze stehen via eines RESTful Web Services verschiedenen Userapplikationen danach zur Verfügung.