Gesichtserkennung

  • Hallo Zusammen,
    Picasa bietet jetzt Gesichtserkennung auch für die Bilder auf der Festplatte und mir scheint es funktioniert ziemlich gut :nicken:. Zu Weihnachten wünsche ich mir das von Imabas :e045:.
    Picasa schreibt in IPTC.Schluesselwoerter (ohne Kommas)
    Toll wäre jetzt natürlich wenn imabas beim importieren die in dem IPTC Feld enthaltenen Personen zuordnen würde. Ist ein Skript/Aktion für sowas geeignet :?:?

  • Wie zuverlässig funktioniert denn das in Picasa? Funktioniert es auch, wenn sich Haarfarbe/Frisur/Bartwuchs/Fassadenanstrich ändern, und auch bei Aufnahmen im Profil?


    Al

  • Ich hebe das Thema nochmal hoch...
    Da ja nun schon 2 1/2 Jahre vergangen sind, möchte ich das Thema Gesichtserkennung/Personenzuordnung in Imabas noch einmal ansprechen.
    So wie jetzt die Personenzuordnung in Imabas ist, ist sie für mich leider nicht benutzbar.
    Picasa macht das seit 2009 sehr gut. Ich habe damit alle meine ca. 40000 Bilder erkennen lassen und zugeordnet.
    Wäre das nicht eine gute Idee diese Informationen von Picasa, die meines Wissens in den picasa.ini-Dateien im jeweiligen Bilder-Verzeichnis abgelegt sind, von Imabas beim Bilder-Import mit auszulesen.
    Als Beispiel, dass das bereits gemacht wird, kann ich Geo-Setter heranziehen. Das Programm zeigt mir die Picasa-Gesichtserkennung für jedes Bild mit an. Es ist dann ein Rechteck über jedem Gesicht, bei dem dann jeweils der Name angezeigt wird.
    Wenn Imabas diese Informationen ebenfalls importieren würde (also Personen anlegen, zuordnen und im Bild anzeigen), wäre das genial.


    Was meint ihr?

  • Hallo teimue,


    im Grunde nicht, da ich so etwas nicht implementieren werde. Ich werde in Imabas kein Feature einbauen die von einer anderen Software komplett abhängig ist. Stelle mir gerade vor: Imabas mit Gesichtserkennung, erstens laden Sie Picasa... :e030:


    Schade, dass du so eine Meinung vertrittst bzw. Vorstellung hast ...:e030: Genauer gesagt, bin ich sogar enttäuscht.


    Geosetter hat dazu auch keinerlei Optionen (ich habe zumindest keine gefunden) und zeigt gefundene Picasa-Gesichtserkennungsdaten einfach an, wenn welche da sind.


    Wo ist das Problem beim Import eine Option zu haben, eventuell vorhandene Gesichtserkennungsdaten von Picasa mit einzulesen.
    Mehr nicht. EXIF-Daten liest Imabas doch auch ein.
    Derjenige, der mit dem Namen Picasa was anfangen kann, weiß dann schon, was zu tun ist bzw. nutzt die Hilfe.


    Da von Imabas immer noch keine Gesichtserkennung unterstützt wird, ist deren Nutzwert mit den Jahren für mich halt immer geringer geworden.
    Über 20000 Gesichter werde ich nicht manuell ca. 300 manuell anzulegenden Personen zuordnen, wenn genau das beides (!) bei einem anderen Programm schon halbautomatisch mit sehr gutem Ergebnis geschehen ist.


    Gesichtserkennung ist heutzutage bei der zunehmenden Bilderflut ein KO-Kriterium. Nicht nur für mich. Über 2 Jahre habe ich deinem an sich sehr gutem Programm die Chance gegeben an dieser Stelle nachzuziehen.
    Das war aber scheinbar umsonst. Schade, dass du andere Prioritäten gesetzt hast.
    Gruß Heiko

  • Hallo Heiko,

    Geosetter hat dazu auch keinerlei Optionen (ich habe zumindest keine gefunden) und zeigt gefundene Picasa-Gesichtserkennungsdaten einfach an, wenn welche da sind.


    GeoSetter ist Freeware, und das gibt einem Entwickler viel Freiraum. Ich habe renommierte kommerzielle Kunden, die ich nicht in die Hände eines Unternehmens gebe, das sich aufs Datensammeln spezialisiert hat. Und Picasa ist aus Sicht von Google mit Sicherheit nur eine Spielwiese für interne Grafik-Cracks um Techniken zu entwickeln, die die breite Masse kostenlos testet. Zumal Picasa ja nicht mal eine Eigenentwicklung von denen ist!


    Na ja, wie dem auch sei. Gibt es irgendwann mal Sourcen oder Komponenten die das können und ich es in Imabas integrieren kann, werde ich es tun. Bis dahin sollte man halt sehen wo man seine persönlichen Vorlieben hat: Ein Desktop-Produkt das Gesichter erkennt oder eine netzwerkfähige Datenbank-Software.

  • :a015: Ich bin gerade an der gleichen Thematik.

    Ich beschreibe meine Erfahrungen und wie die Lösung aussieht ohne zu stark ins Detail zu gehen.

    Imabas bietet Zugang von Clients auf den SQL-Server. Die client-abhängigen Produkte à la Lightroom, ACDsee und Picasa sind ungeeignet. Imabas war daher gesetzt, für meine Bedürfnisse genau das Richtige. Die SQL-Datenbank von Imabas ist offen und als SQL-affine Person kann ich so problemlos aus anderen Datenbanken auf die Datenbank-Tabellen zugreifen, primafein :nicken:. Anderes baue ich darum herum.

    Bei den ersten 60'000 Bildern habe ich in Imabas die Zuweisung gemacht, das sind x Stunden Aufwand.


    Ich stellte mir die Fragen:

    • Kann ich die Gesichtserkennung à la Picasa nutzbringend einsetzen, um den Aufwand der Zuweisung Personen zu Bilder zu reduzieren?
    • Kann ich die Resultate der Gesichtserkennungs-Software auslesen, um sie in Imabas zu importieren?
    • Wie ist das Verhältnis, d.h. lohnt sich der Aufwand?

    Mir reicht die Zuordnung Bilder zu Personen, d.h. wer ist überhaupt abgebildet. Die Lage der Gesichter auf den Fotos interessiert mich nicht (noch nicht... :e010:). Den Vergleich mache ich mit 30'000 Bildern noch ohne Personenzuweisung.

    Da die Gesichtserkennung in Picasa gute Noten erhält habe ich mich für dieses (Hilfs-) Produkt entschieden. Da die Resultate (Zuordnungen) nicht 1:1 aus Picasa in die SQL-DB übernommen werden können ist ein Script zur Weiterverarbeitung notwendig.


    Der Umweg resp. die Hilfe via Picasa gliedert sich in die folgenden Phasen:

    • Bilder mit Picasa einlesen
    • in Picasa erkannte Gesichter zu Personen zuordnen
    • Script schreiben (in C#)
    • Mit Script die Datei contacts.xml sowie die .Picasa.ini-Dateien auslesen und aufbereitet in Resultat-Datei schreiben.
    • Resultat-Datei in SQL-DB von Imabas in die richtigen Tabellen importieren.

    Auch mit Picasa dauert die Zuweisung der Gesichter zu Personen eine Weile und mit den Vorschlags- und Cluster-Schwellenwerten in den Picasa-Optionen muss man etwas spielen, je nach Qualität und Grösse der Gesichter auf den Fotos.

    Ich bin gerade in Phase 2 und freue mich, nach der Fleissarbeit mal wieder etwas zu scripten und 'nen Bulk-Import in die DB zu machen. Entweder mit SQL-Tools oder MS Access als Client, mal sehen...

    Ich schätze die Zeitersparnis auf ca. 60%, insgesamt weniger (Fleiss-) Arbeit :nicken:.

    Fortsetzung folgt...

    (wenn C#-Programm fertig ist werde ich den Code zur Verfügung stellen)

  • Hallo LionT,
    genau so hatte ich mir das auch vorgestellt, die Picasa Gesichtserkennungsdaten zu nutzen.
    Die Kenntnisse wären bei mir zwar auch da, das selber zu scripten, nur leider fehlt es an der Zeit.
    Deswegen ist es schön zu hören, dass du an sowas arbeitest. Kai hat ja leider nur abgewunken.
    Wenn du jemanden zum Testen brauchst, bin ich bereit.
    Gruß Heiko

  • Hallo LionT


    ich hätte auch Interesse. Ich denke eine sehr wichtige Information ist wer auf dem Bild drauf ist, hatte schon öfters den Fall, dass ich Bilder von einer Person gesucht habe. Leider ist der Aufwand dies zu Pflegen sehr hoch, wenn nur eine Person drauf ist geht das noch, aber ab 2-3 wird das echt mühsam. Daher mache ich die Zuordnung eher selten in Imabas.
    Habe ein wenig mit Picasa gespielt und es geht wirklich sehr schnell.


    Bereitest Du auch gleich die Position des Gesichtes im Bild auf? Hier ein Quelle wie man den rect64 umrechnen kann.


    http://stackoverflow.com/quest…lef-to-a-picasa-face-hash


    Vielleicht können wir Kai überzeugen, zumindest ein Overlay mit Rechteck und Namen in Imabas einzubauen und die zugehörigen Namen einblenden


    Viele Grüsse
    Ralf

  • Hallo Wuensch

    Ich habe ein erstes Programm mit C# geschrieben (Konsolen-Programm), hat aber noch viel statisches drin und war hardcoded mit meinen Personen-Identifikatoren und Pfad-Angaben. Damit habe ich aus den Picasa-Dateien (30'000 Bilder mit ca. 16'000 erkannten Gesichtern, verteilt auf ca. 450 Personen) nur die Kontakte und Bild-Zuordnungen ausgelesen und als CSV-Dateien zur weiteren Verarbeitung gespeichert. Über ODBC habe ich die Datensätze in die Tabelle 'bildpersonen' importiert.

    Jetzt bin ich an einem Programm, welches keine statischen Werte (Pfade, etc.) mehr enthält, sondern offen ist und Verschiedenes über Optionen gesteuert werden kann sowie etwas Komfort bietet. Als noch unerfahrener C#-Programmierer lerne ich laufend dazu, braucht seine Zeit und in der Informatik ja meistens eh doppelt so viel als gedacht :schein:.

    Bisher habe ich nur an das Auslesen der Personen- und Bild-Infos gedacht, da die Lage des Gesichts auf dem Bild für mich bisher irrelevant war. Aber ich werde die Position des Gesichts auf dem Bild versuchen einzubauen (über Optionen aktivierbar), nehme es daher auf die Wunschliste. Danke für den Link.


    Aufgrund anderer nicht-beruflicher Aktivitäten - ein ICT-Konzept muss ich zwischenschieben und Mitte September abliefern - rechne ich realistischerweise mit ca. November, bis eine erste Version verfügbar sein wird. Ich freue mich aber jetzt schon, mich wieder mit diesem Thema zu beschäftigen -> jetzt, wo ich damit angefangen habe :-).

    Gruss
    Thomas

  • Hallo Thomas,


    find ich gut das an sowas dran gehst :nicken:


    Mal eine Frage: Kämst du auch mit Pascal/Delphi klar? Hintergrund ist das du das evtl. als Aktion in Imabas schreiben könntest? Das hätte den Vorteil man könnte den Code in Imabas laden und ausführen, also im Grunde von jedem PC im Netz, und vor allem du müsstest dich nicht um die Datenbank-Verbindung kümmern, die wäre vorhanden. Es würde damit auf jedem der von Imabas unterstützten Servern laufen, na ja fast, außer du nutzt spezifische Abfragen...

  • Hallo LionT,


    super das Du dran bist. Hat keine Eile.


    Ich habe mich noch gefragt ob es ggf. Sinn machen würde die Information auch gleich in das Bild zu schreiben (z.B. über Geosetter), dann wäre es im Bild und würde nicht verloren gehen. Für Standort mache ich das so, d.h. mit Geosetter den Werte setzen und dann in Imbas importieren und die automatische Zuordnung nutzen.



    Gruss
    Ralf

  • Hallo Kai

    Mit einem Borland-Produkt (PAL -> Paradox Application Language) habe ich vor ca. 22 Jahren eine erste einfache Film- und Fotoverwaltung erstellt. Aber das war noch nicht grafisch und nur prozedural ablaufgesteuert. Pascal oder Delphi kenne ich vom Namen her und hatte auch schon ein dickes Programmierbuch zu Delphi erhalten, war mir aber in den 90er-Jahren zu aufwändig. Interesse daran hätte ich schon, versuche aber erst mal, mit C# mehr Erfahrung aufzubauen und behalte es im Hinterkopf.

    Gruss
    Thomas

  • Guten Abend wuensch

    Ist eines meiner Ziele, Angaben in die EXIF/IPTC-Felder zu schreiben. Habe dabei primär an meine >40'000 analogen gescannten Bilder gedacht. Aber geht natürlich auch bei den digitalen. Als "Fan" von Optionen würde ich das "optional" steuerbar definieren. Von daher ja, macht Sinn.

    Gruss
    Thomas

  • das klingt doch sehr Interessant. Optimal wäre es wenn alles in Imabas abläuft und die Namen direkt in die Bilder geschrieben werden. Optimal wäre auch, wenn die Gesichtserkennung alla Google Picasa in Imabas selbst ablaufen würde, dann könnte es auf meinem Server laufen und ich kann mich von Zeit zu Zeit per Nezwerk einloggen und darauf die Gesichter dann bestätigen.


  • Meiner Ansicht nach schreibt Geosetter nichts in die Bilder. Das würde ich auch nicht für gut finden, wenn das Imabas machen würde.
    Geosetter liest einfach die Informationen aus den .picasa.ini Dateien und zeigt sie an.
    Imabas könnte diese Informationen optional auch einmalig bzw. beim Import lesen und in seine DB schreiben und auch nur anzeigen.
    Selbst die Verknüpfung mit Google-Kontakten (wie es Picasa macht) ist nicht notwendig, es reicht aus eine Person, die es noch nicht gibt, einfach bei sich mit Namen neu anzulegen.
    Gruß Heiko