Posts Tagged ‘Ähnliche Fotos’

Hierarchische Merkmale zur Suche nach ähnlichen Fotos

Dienstag, März 22nd, 2016

Ich muss zugeben, es hat mal wieder deutlich länger gedauert, bis die jetzige BVASystem Version fertig war. Es lag allerdings nicht daran, das ich wenig Zeit hatte. Diesmal kreuzte mir eine Idee dazwischen, die mich einiges ausprobieren ließ und für einige Zweifel sorgte und auch immer noch sorgt. Froh bin ich aber darüber, das ich entschieden habe, trotz der neuen Idee an dem Programm, so wie ihr es kennt, weiterzuarbeiten.

Nach langer Zeit hab ich nun auch wieder etwas neues zu berichten. Seit einiger Zeit beschäftige ich mich wieder mehr mit der Suche nach ähnlichen Bildern. Die Verfahren, die ich bisher implementierte/ausprobierte , hatten alle den Nachteil, das man für jeden Vergleich eine Differenz berechnen musste. Das bedeutet, je mehr Fotos in der Datenbank sind, desto mehr Berechnungen müssen durchgeführt werden und desto länger muss man auf das Ergebnis warten.

Daher habe ich mir überlegt, die Berechnungen durch hierarchische Bildmerkmale zu vereinfachen bzw. ich hoffe gar darauf, das ich eine möglichst kleine, gut passende Bildmenge aus der Datenbank mit einem SQL-Befehl auswählen kann. In der Menge möchte ich dann die Berechnungen durchführen, damit die Ergebnisse schlussendlich nach Ähnlichkeit sortiert werden können.

Wie das Verfahren genau funktioniert, werde ich euch mitteilen, wenn ich es implementiert habe. Bisher habe ich nur den ersten Schritt getan. Ich habe nun eine Anzeige-Komponente mit der ich hierarchische Bildmerkmale darstellen kann. Sie soll mir in mehrerer Hinsicht helfen. Zum Ersten will ich die Merkmale sehen, damit ich prüfen kann, ob die Berechnung der Merkmale funktioniert und zum zweiten will ich mit der Ansicht entscheiden, wie viele Hierarchie-Stufen ich einsetzen will und wie diese aufgebaut sein sollen. Als nächstes steht nun also an, die eigentlichen Merkmale zu berechnen.

Bildmerkmal-Komponente mit zufälligenTestmerkmale

Bildmerkmal-Komponente mit zufälligenTestmerkmale

Die erste BVASystem Aktualisierung im Jahr 2016

Donnerstag, Januar 28th, 2016

Es fällt mir gerade schwer, etwas zur ersten Aktualisierung des BVASystems in diesem Jahr zu schreiben. Denn ich habe mal wieder mehrere große Baustellen begonnen, ohne das bei einer ein vorzeigbares Ergebnis erzielt wurde. Einzig eine kleine Funktion zum Zoomen in den Einzelbild-Komponenten ist fertig geworden. Sobald sich die Maus über dem Bild befindet, kann man nun mit Shift+Mausrad in das Foto hinein beziehungsweise hinauszoomen.

BVASystem Version 2.2.2.103-dev

BVASystem Version 2.2.2.103-dev

Nun möchte ich aber doch etwas zu den angefangenen Sachen schreiben:

Ähnliche Fotos suchen

Aktuell interessiere ich mich mal wieder mehr an der Suche nach ähnlichen Bildern. Beim Verwalten meiner Fotos kam mir nämlich oft die Frage, ob ich ein sehr ähnliches Bild nicht bereits in die Datenbank aufgenommen habe. Zwar ist beim Import bereits eine Doubletten-Detektion vorhanden, diese erkennt allerdings nur 2 komplett identische Bilder. In den letzten Wochen habe ich mir nun jedenfalls etwas überlegt, wie ich ähnliche Bilder in einer Datenbank detektieren möchte. Dazu benötige ich als erstes Bildmerkmale, die ich an jedem Foto auf gleiche Art und Weise berechne. Entstanden ist dafür bisher ein neues Bildinformationsfenster, in dem die Merkmale einmal dargestellt werden sollen. Außerdem habe ich eine Test-Funktion erstellt, die bereits zufällige Testmerkmale in der gewünschten Struktur erstellt.

Als nächstes habe ich vor, eine Komponente zu erstellen, mit der ich die Merkmale visualisieren kann. Denn eine visuelle Darstellung der Merkmale bringt vorerst deutlich mehr, als wenn ich in das Feld eine lange Zahlenfolge schreibe.

Lokale Datenbank

Die zweite große Baustelle ist immer noch die lokale Datenbank, mit dem Ziel alle bisher implementierten Datenbank-Funktionen auch für nicht importierte Fotos zu ermöglichen. Aktuell bin ich dafür gerade dabei, das Administrationstool anzupassen. Dort sind Script-Dateien hinterlegt, mit denen die Datenbank erzeugt werden kann. Für die lokale SQLite Datenbank benötige ich im BVASystem selbst eine ähnliche Funktionalität. Da ich nichts davon halte, Sachen doppelt zu implementieren, passe ich nun die Funktion im Administrationstool so an, das ich sie auch im BVASystem nutzen kann.