Entwicklung und Evaluation einer Fotografie-Assistenz App – Motivation – Umsetzung der Beispielanwendung



Entwicklung und Evaluation einer Fotografie-Assistenz App – Motivation – Umsetzung der Beispielanwendung

1 0


angular_presi


On Github CoffeeCode / angular_presi

Entwicklung und Evaluation einer Fotografie-Assistenz App

Andreas Penner

Übersicht

Motivation Umsetzung der Beispielanwendung Technische Umsetzung Verfahren zur Fokusbestimmung Fazit/Ausblick

Motivation

Wozu einen Fotoassistenten?

  • Kameras mit sehr hohen Auflösungen
  • Hohe Ansprüche an die Qualität der Bilder
  • Höchste Qualität nur unter idealen Bedingungen: Belichtung, ISO, Blende, Fokussierung, …
  • Fotograf verbringt viel Zeit mit dem Prüfen

Umfrage

Prüfen Sie Ihre Fotos auf Schärfe/Ausschnitt/Belichtung nach der Aufnahme auf dem Kameradisplay?

(1 = gar nicht, 3 = neutral, 5 = häufig)

Umfrage

Nutzen Sie beim überprüfen der Fotos die Vergößerungs-Funktion?

(1 = gar nicht, 3 = neutral, 5 = häufig)

Umfrage

Wäre es für Sie hilfreich, wenn Sie ein Signal von Ihrem Smartphone bekommen ob das Foto ihren Ansprüchen entspricht.

(1 = gar nicht, 3 = neutral, 5 = häufig)

Wie kann der Fotograf unterstützt werden?

  • Feedback zur Bildqualität
  • Exif-Date vor Ort einpflegen
  • GPS-Daten und Personen in Bildmetadaten speichern
  • Visualisierung der Schärfe
  • Verwalten und Organisieren der Bilder

Fehlfokusierung

Fehlfokusierung

Idealer Fotoassistent

  • Sollte in der Kamera verbaut sein
  • Kameras jedoch nur eingeschränkt programmierbar
  • Lösung: Smartphone nutzen

Smartphone als Photoassistent

  • Bildübertragung per WLAN
  • WLAN in Kamera eingebaut
  • Oder über SD-Karte

Bisherige Apps

  • Übertragung der Bilder
  • LiveView - Kamerasteuerung
  • Bildbetrachtung

Diese Arbeit versucht das Smartphone nicht nur passiv sonder aktiv zu nutzen.

Beispielanwendung

  • Machbarkeit
  • Testen der BV-algorithmen

Umsetzung der Beispielanwendung

Android Smartphone

Transcend WI-FI SD Karte + DSLR

Anforderungen

  • WLAN-Verbindung aufbauen
  • Bild übertragen und speichern
  • Bild in voller Auflösung darstellen
  • Gallerie, Sammlungen, Bildinformationen
  • Hardwarebeschleunigte Bildverarbeitung

Bildbetrachtung

  • Darstellen empfangener Bilder
  • pinch, swipe, double tap
  • Teilen, Löschen, Informationen
  • Kompositionsgitter
  • Heatmap

Gallerie, Sammlungen, Bildinformationen

Navigation, Optionen

Technische Umsetzung

WLAN-Verbindung

Funktionsweise durch Reverse Engineering mit netcat[1] und einem Perl-Skript[2] rekonstruiert.

  • Android-Service für Verbindungsaufbau
  • Registrierung mittels UDP-Paket
Transcend WiFi SD - interface=mlan0
ip=192.168.11.254
netmask=255.255.255.0
router=0.0.0.0
Mode=server
essid=WlanSD
    
[1] http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man1/nc.1 [2] http://sourceforge.net/projects/transsvr/

Bild Download

  • TCP-Paket informiert über neue Bilder
  • HTTP-Server läuft auf der SD-Karte
  • HTTP/GET für Bilderdownload
/mnt/sd/DCIM/109_0302/IMGP0102.JPG
    
http://admin:admin@192.168.11.254/sd/DCIM/109_0302/IMGP0102.JPG
    

Hardwarebeschleunigte Bildverarbeitung unter Android

Lange verzögerungen würden den Fotoassistenten praxisuntauglich machen.

  • Verarbeitung mit Java-VM sehr langsam
  • Alternativen: RenderScript, NDK, JavaCPP + JavaCV

Entscheidung fiel auf RenderScript.

Heatmap Beispiel 1

Heatmap Beispiel 2

Heatmap

Verfahren zur Fokusbestimmung

Data Mining

Wissensgewinnung aus großen Datenmengen, durch die geeignete Auswahl von Verfahren und Algorithmen.

CRISP-DM

Cross Industry Standard Process for Data Mining

  • Business Understanding
  • Data Unterstanding
  • Data Preparation
  • Modeling
  • Evaluation
  • Deployment

Business Understanding

Business Understanding

Chromatische Aberration

  • In der Fotografie : Unerwünschtes beeinflussen → herausrechnen
  • Muhammad Atif 2013 : Tiefenbild über CA's bestimmen
  • Garcia et. al. 2000 : Chromatische Aberration für die Gewinnung von Bildinformationen nutzen

Business Understanding

Chromatische Aberration

Business Understanding

Chromatische Aberration

Data Unterstanding

Data Unterstanding

Bildaufnahme

  • Hardware: Pentax K5, Pentax M 50mm f/1.7, Stativ
  • Szene: verschiedene Orte, Personen, Lichtsituationen, fester Abstand
  • Einstellungen: Zeitautomatik, ISO200, f/1.7, Blendenreihe, keine Bildoptimierung durch die Kamera

Data Unterstanding

Klassifizierung

  • scharf, unscharf mit Frontfokus, unfscharf mit Backfokus

Datenqualität

  • Jede Aufnahme wird bei der Klassifizierung überprüft
  • viele beschränkungen: Blende, ISO, Fokussierungen

Data Preparation

Data Preparation

Vorverarbeitung

  • 5x5 Laplace Operator
  • rgb-Faltung

Data Preparation

Vorverarbeitung

Data Preparation

Augendetektion

  • Augendetektion
  • Position, Abstand
  • Rechteck um Augen für Weiterverarbeitung

Data Preparation

Merkmalsextraktion

  • Histrogramm für jeden Farbkanal
  • Wertebereich [-6120,..,6120] auf [0,..,255] abgebildet

Links: Back-Fokus, Rechts: Fokus auf Augen

Data Preparation

Merkmalsextraktion

1. Moment Verhältnisse der Momente

Modeling

Modeling

Verfahren

  • Logistische Regression
  • k-nächste-Nachbar-Klassifikator
  • 10-fachen Kreuzvalidierung

Evaluation

Evaluation

Logistische Regression

Vorhersage über Momente

  • Ac = 91,1 %
  • Ra = 98 %
  • Rbc = 88 %

Evaluation

Logistische Regression

Vorhersage über Verhältnisse

  • Ac = 85,1 %
  • Ra = 91 %
  • Rbc = 86 %

Evaluation

Markante merkmale

Klassen: back, front, eye

Evaluation

Vergleich

  • Implementation rein über Kantenkontraste
Logistische Regression:

k-nächste-Nachbar-Klassifikator:

Deployment

Deployment

  • Implementation über k-Nächste-Nachbarn-Klassifikator und logistische Regression in APP möglich
  • Test mit verschiedenene Kamereaobjektiven
  • Test mit unterschiedlichen Belenden, ISO, Fokussierungen
  • Weiterer CRISP-DM Durchlauf

Fazit

Umsetzung der App

  • Verbindung mit Kamera, Übertragung von Bildern
  • Darstellung von Bildern, Gallerie, Sammlungen
  • Heatmap, Kompositionsgitter

Verfahren zur Fokusdetektion

  • Auflösungs unabhängig
  • Logistische Regression > 90% Genauigkeit
  • Unterscheidung Frontfokus/Backfokus
  • Andere Optiken?

Ausblick

  • Heatmap: Stark rauschanfällig -> Median-Filter und weitere Vorverarbeitung
  • Fokusdetektion: Testen diverser Objektive (Achromaten), weitere Merkmale
  • Fotoassistent: Kommunikation mit Nutzer wie Vorschläge für Verbesserung und Einstellungen