IEDDIP
Intelligent Environment Documentation Through Distributed Image Processing in Wireless Sensor Networks and Smart Spatio-Temporal Interfaces
Zusammenfassung
Detaillierte, bildbasierte Dokumentationen von, beispielsweise Baustellen oder meteorologischen Vorgängen, sind gefragt wie nie zuvor. Diese Bedürfnisse können heutzutage dank hochaufgelösten Kamerasystemen und grosser Bandbreite in der mobilen Datenübertragung bis zu einem gewissen Grad befriedigt werden. Jedoch sind diese Sensorinstallationen im Normalfall isolierte Einzellösungen und oft auf die spezifischen Anwendungen zugeschnittene teure Massanfertigungen. Die Entwicklungen der letzten Jahre von neuen Technologien für das Internet of Things (IoT) , zusammen mit der Rechenleistung von Kleinst-PCs und den Bandbreiten in der mobilen Datenübertragung, erlauben es heute die Kamerasystem-Massanfertigungen durch ein flexibel einsetzbares, modulares Netzwerk von Sensoren sowie Kommunikations-, Bearbeitungs- und Analysemodulen zu ersetzen. Neben Kameras können weitere Sensoren, z.B. für Helligkeitsmessungen, ins Netzwerk eingebunden und die gemessenen Werte unter anderem für die Steuerung von Ereignissen, wie der Kameraauslösung, verwendet werden. Ein solches System kann einfach an verschiedene Bedürfnisse angepasst, kostengünstig umgesetzt und wenn nötig modular erweitert werden.
Projektziele
Das Ziel des IEDDIP-Forschungsprojekts war die Entwicklung und prototyphafte Umsetzung eines Software-Frameworks zur verteilten Bilderfassung und -bearbeitung in drahtlosen Sensornetzwerken und smarter Benutzerschnittstellen zur Verwendung der Bildaufnahmen. Dadurch soll zum einen, der hohen Nachfrage nach qualitativ hochwertiger bildbasierter Umgebungsdokumentation unter Einhaltung des Datenschutzes Rechnung getragen, und zum anderen, neuartige bildbasierte Echtzeit-Anwendungen flexibel, erweiterbar und kostengünstig realisierbar gemacht werden.
Das vom Forschungsfonds Aargau finanzierte Forschungsprojekt wurde vom FHNW Institut Vermessung und Geoinformation und der avisec AG von Mai 2015 bis Mai 2016 durchgeführt und als kommerzielles Produkt yellow.webcam lanciert.
Framework
Das entwickelte Dataflow-Softwareframework besteht aus den nachfolgenden Hard- und Softwarekomponenten und erlaubt es verschiedenste neuartige Internet-of-Things-Applikationen mittels eines modularen Netzwerks von Sensoren sowie Kommunikations-, Bearbeitungs- und Analysekomponenten flexibel, erweiterbar und kostengünstig zu realisieren.
Hardware
Es werden verschiedene DSLR-Kamerasysteme mit bis zu 37 Megapixel in Kombination mit industriellen Kleinst-PCs und Mobilfunk Routern verwendet. Zum verbesserten Schutz in extremen Wettersituationen (u.a. Windgeschwindigkeiten von bis zu 200 km/h und grosse Temperaturschwankungen) wurde in Zusammenarbeit mit dem FHNW Institut für Industrial Design ein neues zweiteiliges Gehäuse entwickelt.
Abb. 1: Neu entwickeltes zweiteiliges Kameragehäuse.
Softwarekomponenten
Die Funktionsweise des entwickelten IoT-Dataflow-Softwareframeworks und eine damit realisierte Applikation ist in der nachfolgenden Abbildung dargestellt und besteht aus den folgenden Komponenten:
- Dataflow-Runtime: Ermöglicht die Definition verschiedener Prozessierungsketten / Applikationen durch die „Verdrahtung“ unterschiedlicher Dataflow-Komponenten. Die Definition der Prozessierungslogik und Gerätekommunikation kann u.a. zentral für alle Geräte in einer Webapplikation oder mittels einer Konfigurationssprache erfolgen.
- Dataflow-Komponenten: Beinhalten die von der Dataflow-Runtime nutzbare Programmlogik und lassen sich in Ausgangs-, Transformations- und Endkomponenten kategorisieren.
- RESTful Web Service: Dient der Verwaltung der umfangreichen, echtzeit-prozessierten, räumlich-zeitlichen Bild- und Metadaten in der Cloud und der Datenbereitstellung für Endapplikationen.
Abb. 2: Infografik der umgesetzten Softwarearchitektur unter Verwendung implementierter Softwarekomponenten.
Tooling
Zur Realisierung der in Abb. 2 dargestellten Softwarearchitektur wurden zusätzlich die nachfolgenden Softwaretools implementiert bzw. verwenden:
- Verwendung von Ansible für DevOps / Deployment.
- Verwendung des ELK-Stack für zentrales Logging.
- Verwendung eines Virtual Private Network's (VPN) um den Fernzugriff auf die Kamerarechner zu gewährleisten.
- Implementierung einer Private Key Infrakture (PKI) als Basis für die SSL/TLS verschlüsselte Datenübertragung.
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):
- Ausschnittextraktion (Anwendungen: Datenreduktion, Privacy):
- Perspektivische Transformation (Anwendungen: Korrektur von Weitwinkelaufnahmen):
- Rotation (Anwendung: Korrektur von montage- oder zeitlichbedingten Schrägaufnahmen):
- Spiegelung (Anwendungen: Korrektur von montagebedingten Schrägaufnahmen):
Komplexere Bildbearbeitungs- und analysekomponenten
- Bewegungsfilterung / Anonymisierung von Personen und Fahrzeugen (Anwendungen: Privacy):
Abb. 3: 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.
Publikationen
- Matti, E., 2016. Intelligent Environment Documentation Through Distributed Image Processing in Wireless Sensor Networks. Presentation at PyBasel, Starship Factory, Basel, Schweiz 10. Mai 2016.
- Matti, E., Bärtschi, D., Bleisch, S. und Nebiker, S. 2016. Intelligente Umgebungsdokumentation durch verteilte Bildbearbeitung in drahtlosen Sensornetzwerken und smarte räumlich-zeitliche Benutzerschnittstellen. Poster session at Geosummit 2016, Bern, Schweiz 8.-9. Juni 2016.
- Matti, E., Dainton, R., D., Bleisch, S. und Nebiker, S. 2016. Low-budget Image-based 3D-enviroment Documentation System. Poster session at DLT 2016, Bern, Schweiz 8.-9. Juni 2016.
Studierenden Projekte
Nachfolgend sind Arbeiten aufgeführt die von Master of Science in Engineering (MSE) Studierenden an der MRU Geoinformationstechnolgie im erweiterten Kontext des IEDDIP-Forschungsprojektes durchgeführt wurden.
Dainton, R., 2015. Low-budget Image-based 3D-enviroment Documentation System. Masterprojektarbeit 1. Muttenz: Institut Vermessung und Geoinformation, FHNW.
Abb. 4: Raspberry Pi (links) und entwickeltes Stereokamerasystem (rechts) .
Abb. 5: Darstellung der Disparitätskarte (mitte) und der Punktwolke (rechts) welches aus Stereobildaufnahme der Szene (links) abgeleitet wurde.
Rudolph, B., 2015. Bildbewertung und -analyse von statischen Webcam-Aufnahmen für die Detektion von langsamen Entwicklungen. Masterthesis. Muttenz: Institut Vermessung und Geoinformation, FHNW.
Abb. 6: Beispiel von detektierten Veränderungen in Webcam-Aufnahmen.
Studer, T., 2016. Anomaliedetektion in Datenströmen. Masterprojektarbeit 2. Muttenz: Institut Vermessung und Geoinformation, FHNW.
Abb. 7: Verlauf der Varianz der Laplace Bildfilterung (ein Mass um die Fokussierungsgüte von Bildern zu beschreiben) über die Zeit und Ausreisserwerte von defokussierten Bildern in rot.
Eckdaten des Projekts
Projektlaufzeit: | 2015 - 2016 |
Projektleiterin: | Prof. Dr. Susanne Bleisch |
Projektmitarbeitende: | Eric Matti |
Projektpartner
- Daniel BärtschiCEO avisec agRugghölzli 25453 Rementschwil, SchweizT +41 56 500 50 20