Indexieren von Image-Metadaten

Ideen und Vorschläge sind willkommen.

Indexieren von Image-Metadaten

Beitragvon dulcedo » Do Mai 14, 2009 8:33 am

Das driftet jetzt OT, das EXIF-Feature möchte ich allerdings haben, und wenn ich es selber coden (lassen) muss.
Eine grobe Suche nach der Seriennummer meiner Canon bringt bei google überhaupt nichts, wenn ich aber mit einer Eigenbastelei über die Wiki-Suche nach JPGs suche und mir die EXIF-Info manuell hole, dann finde ich etliche (itGrl: sehr gute Themen-Umsetzung, dein Wallpaper!).
Natürlich kann man diese Informationen durch Bearbeitung der Datei entfernen/ändern aber die wenigsten wissen überhaupt dass dort abgelegt, Standardprogramme belassen sie beim Speichern.

Muss so ein Parser in Java programmiert sein bzw. wo ist das dokumentiert?
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Indexieren von Image-Metadaten

Beitragvon Low012 » Do Mai 14, 2009 9:00 am

Jetzt wirds wirklich völlig OT, aber vielleicht kann ja ein Moderator den Thread teilen.

Ja, ein Parser muss in Java programmiert werden. Theoretisch besteht auch die Möglichkeit, Bibliotheken zu nutzen, die nicht in Java geschrieben sind und nur einen Wrapper in Java zu schreiben, der die Schnittstelle zwischen YaCy und einem nicht-Java-Programm darstellt, aber das wäre dann nicht mehr systemunabhängig, was YaCy ja eigentlich sein soll.

Wie ein Parser zu programmieren ist, ist auf http://www.yacy-websearch.net/wiki/inde ... :NewParser beschrieben. Die Anleitung ist schon etwas älter und ist möglicherweise in Details nicht mehr korrekt, im Großen udn Ganzen gibt sie aber einen guten Überblick, was man zu tun hat. Ein Blick in die aktuellen Parser sollte helfen, die Unterschiede zu sehen. Ich denke, dass es fertige Java-Bibliotheken gibt, die EXIF parsen, damit man sich nicht mit Bitschubserei und Binärfrickelei rumschlagen muss.

Was mir noch nicht ganz klar ist, ist wo die Informationen dann gespeichert werden. Soweit ich weiß, ist es möglich, meta-Informationen von Webseiten zu speichern. Ich denke, es wäre der korrekte Weg, das auch für EXIF-Daten zu benutzen. In der Ecke kenn ich mich aber bei YaCy nicht aus. Möglicherweise ergibt sich das notwendige Vorgehen aus dem Code, aber vielleicht muss Orbiter da auch mit einem heißen Tipp helfen.
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: Indexieren von Image-Metadaten

Beitragvon dulcedo » Do Mai 14, 2009 10:30 am

Meine Überlegung von "aussen" ist sie einfach als Worte zu indexieren, ein EXIF-Tag hat ja eine Beschreibung und einen Inhalt, die beiden durch Doppelpunkt getrennt als Wort? Das Datum ja auch enthalten also jedes Bild eindeutig indexiert.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Indexieren von Image-Metadaten

Beitragvon Orbiter » Do Mai 14, 2009 3:46 pm

hab das hier vom OpenStreetMap Topic viewtopic.php?p=14867#p14867 abgetrennt.

Zum Indexieren von Image-Metadaten: das ist eine tolle Sache, nur wie Low012 schon schreibt ist momentan keine Lösung da, wo ein Index denn hin geschrieben werden soll, denn bislang werden ja nur Webseiten Indexiert, und zu Images dort nur rudimentär Informationen untergebracht (img alt-Name).

Was wir hier brauchen wäre ein Image-Index, das wollte ich ja schon immer mal machen, aber kam nie dazu. Um das zu machen werden wir aber in Zukunft das Index-Segment Konzept benutzten können. Dann kann man bei jeder Indexierung angeben, was denn das indexiert wird und in welchen Index-Segment das rein kommen soll. Muss ich mal sehen wie aufwändig das ist.

Parser ist wieder ein anderes Thema.
Orbiter
 
Beiträge: 5797
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Indexieren von Image-Metadaten

Beitragvon Low012 » Do Mai 14, 2009 4:16 pm

Notiz für wenn es einen Image-Index gibt:

Ich habe eben kurz gesucht und das hier gefunden:

http://www.drewnoakes.com/code/exif/

Das ist eine relativ kleine Java-Bibliothek, die es erlaubt, EXIF-Daten aus Bildern auszulesen. Damit einen Parser zu bauen, dürfte nicht besonders schwer sein.

Das hier ist die Lizenz:

Code: Alles auswählen
* This is public domain software - that is, you can do whatever you want
* with it, and include it software that is licensed under the GNU or the
* BSD license, or whatever other licence you choose, including proprietary
* closed source licenses.  I do ask that you leave this header in tact.
*
* If you make modifications to this code that you think would benefit the
* wider community, please send me a copy and I'll post it on my site.
*
* If you make use of this code, I'd appreciate hearing about it.
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: Indexieren von Image-Metadaten

Beitragvon Low012 » Di Mai 19, 2009 2:38 pm

Noch ein paar mehr theoretische Gedanken, die unter die Rubrik "Brainstorming" fallen:

Wenn man auch eine Suche realisieren möchte, die Geoinformationen beinhaltet, benötigt man neben der einfachen Speicherung von lon/lat (und eventuell Höheninformationen) Code, der sich darum kümmert, dass man mit diesen Koordinaten auch etwas Sinnvolles machen kann.

Dass man bei einer Suche nach Koordinaten genau die Werte angibt, wo es auch Informationen zu gibt, ist eher unwahrscheinlich. Also müsste man eine etwas unscharfe Suche implementieren, die im Umfeld von Koordinaten sucht. Bei Datenbanken mit Spatial-Erweiterungen (z.B. Oracle Spatial oder PostGIS) gibt man bei einer Suche nach Koordinaten immer auch einen maximalen Offset an. Man sucht also nicht die genaue Koordinate, sondern in ihrem Umkreis. Damit sowas schnell funktioniert, benötigt man die x- und y-Koordinaten entweder mindestens in einer geordneten Liste oder in einer besser dafür geeigneten Datenstruktur, wie z.B. einem R-Tree.

Ein weiteres Problem sind die verschiedenen Referenzsysteme, in denen Koordinaten vorliegen können. Entweder man beschränkt sich nur auf WGS84, was am häufigsten vorkommen dürfte und verwirft alle anderen Informationen oder man muss die Koordinaten umrechenen, wobei es tausende von Referenzsystemen gibt, auch wenn manche wirklich exotisch sind. Eventuell gibt es da ja schon fertige Bibliotheken für, das weiß ich aber nicht.

edit: Dieses Posting bezieht sich auf die Erfassung von Koordinaten, die in Fotos, aber auch in anderen Dokumenten vorkommen könne. Passt nicht so ganz hierher, wäre aber im urspünglichen Thread, von dem dieser hier abgetrennt wurde noch mehr offtopic.

editedit: Änderung in fetter Schrift.
Zuletzt geändert von Low012 am Di Mär 09, 2010 2:54 pm, insgesamt 1-mal geändert.
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: Indexieren von Image-Metadaten

Beitragvon Low012 » Mi Okt 14, 2009 3:32 pm

Habe eben entdeckt, dass es wohl mittlerweile auch möglich ist, Geoinformationen in PDFs einzubetten: http://blogs.adobe.com/acrobat/2008/07/ ... atial.html
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: Indexieren von Image-Metadaten

Beitragvon dulcedo » Di Mär 09, 2010 2:58 am

GPS weiss wo das ist, ein einfacher OCR-Parser könnte noch den semantischen Bezug herstellen.
Fraunhofer hätte für das erste Bild noch eine allgemeine Typisierung der Person beizusteuern, was aber beschreibt den Inhalt das ersten Bildes, gibt es sowas wie einen geometrischen Parser?
Dateianhänge
IMG_8677.jpg
IMG_8677.jpg (52.42 KiB) 3253-mal betrachtet
IMG_8638.jpg
IMG_8638.jpg (67.21 KiB) 3250-mal betrachtet
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Indexieren von Image-Metadaten

Beitragvon Orbiter » Di Mär 09, 2010 2:44 pm

wenn du mir eine Library nennst die da was machen kann dann kann ich das leicht einbauen.
Orbiter
 
Beiträge: 5797
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Indexieren von Image-Metadaten

Beitragvon dulcedo » Di Mär 09, 2010 4:45 pm

GPS kommt über normale EXIF-Informationen, die würde ich komplett als Volltext oder key/value in die Metadaten übernehmen, da sind einige Programme sehr kreativ.
Die Person/Gesichtserkennung habe ich schon für ID-Management genutzt; hier müsste man sich grundsätzlich überlegen welche Informationen wichtig und vorallem erwünscht sind: Geschlecht, Alter, ...

OCR und Geometrie war als Frage gedacht weil es sehr interessant wäre.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Indexieren von Image-Metadaten

Beitragvon Orbiter » Di Mär 09, 2010 5:35 pm

naja schön und gut aber ich weiss immer noch keinen parser der exif aus images rauszieht. hab ja mit java-hausmitteln versucht die images zu parsen. da gibts sogar properties die man am java image ablesen kann, da steht nur nix drin. dagegen könnte ich schon ein wenig bildanalyse machen, wie farbverteilung messen.
Orbiter
 
Beiträge: 5797
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Indexieren von Image-Metadaten

Beitragvon dulcedo » Di Mär 09, 2010 6:12 pm

Dann hatte ich dich missverstanden ich dachte ein vorhandener Parser wäre buggy. Einen funktionierenden exif-parser zu finden dürfte kein Problem sein, werde das Intergrieren angehen und auch nach weiteren Möglichkeiten schaun. Sind solche Parser denn kaskadierbar, einer für jedes Bildmerkmal?
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Indexieren von Image-Metadaten

Beitragvon Orbiter » Fr Mär 12, 2010 10:22 am

was du mit kaskadierbar meinst weiss ich nicht.

Ein kleiner Hinweis hier wo es um Parser geht: man kann das Ergebnis des Parsers für beliebige Dokumente nun auch über das /ViewFile.html servlet kontrollieren. Da ist nun ein Eingabefeld für URLs im Servlet und man kann dort auch URLs angeben die bislang weder in YaCys Index noch im Cache drin sind, sie werden bei bedarf nun gelesen. Unten dran sieht man was der Parser über die Datei herausbekommen hat. Bei Images sind das bislang immerhin nur die Größen.

Falls du ein Link zu einem Image mit exif-Daten hast bitte hier posten. Dann schauen wir mal wie weit wir da mit dem Parser kommen.
Orbiter
 
Beiträge: 5797
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Indexieren von Image-Metadaten

Beitragvon dulcedo » Fr Mär 12, 2010 12:18 pm

Im Wiki ist eines abgelegt, auch GPS-Koordinaten enthalten.
dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Indexieren von Image-Metadaten

Beitragvon Orbiter » Fr Mär 12, 2010 1:28 pm

in SVN 6745 habe ich nun den exif-parser, den Marc oben vorgeschlagen hat eingebaut. Das liest die exif-properties aus jpgs (andere Dateiformate sind noch nicht unterstützt) und versucht aus den Informationen die Hauptmerkmale für DC zu extrahieren. Hier gibts dann folgendes mapping:
title = props.get("Image Description");
if (title == null || title.length() == 0) title = props.get("Headline");
if (title == null || title.length() == 0) title = props.get("Object Name");

author = props.get("Artist");
if (author == null || author.length() == 0) author = props.get("Writer/Editor");
if (author == null || author.length() == 0) author = props.get("By-line");
if (author == null || author.length() == 0) author = props.get("Credit");
if (author == null || author.length() == 0) author = props.get("Make");

keywords = props.get("Keywords");
if (keywords == null || keywords.length() == 0) keywords = props.get("Category");
if (keywords == null || keywords.length() == 0) keywords = props.get("Supplemental Category(s)");

description = props.get("Caption/Abstract");
if (description == null || description.length() == 0) description = props.get("Country/Primary Location");
if (description == null || description.length() == 0) description = props.get("Province/State");
if (description == null || description.length() == 0) description = props.get("Copyright Notice");

Wie man sieht versuche ich hier ein Mappen der exif-Metadaten auf unsere Metadatenstruktur.
GPS-Positionsangaben werden noch nicht erfasst, hierfür müsste ein entsprechendes Speicherkonzept her so dass man eine Suche über Entfernungen zu angegebenen Punkten bekommen kann.
Orbiter
 
Beiträge: 5797
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: Indexieren von Image-Metadaten

Beitragvon dulcedo » Mi Mai 12, 2010 9:38 am

dulcedo
 
Beiträge: 1006
Registriert: Do Okt 16, 2008 6:36 pm
Wohnort: Bei Karlsruhe

Re: Indexieren von Image-Metadaten

Beitragvon Quix0r » Do Jun 03, 2010 2:44 am

Ich verlinke hier mal die sf.net-Suche um die Suche zu beschleunigen:
http://sourceforge.net/search/?type_of_ ... rove%3A198
Quix0r
 
Beiträge: 1345
Registriert: Di Jul 31, 2007 9:22 am
Wohnort: Krefeld


Zurück zu Wunschliste

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron