[Bug 271030] New: Windows Live Photo Gallery people tagging Compatibility

classic Classic list List threaded Threaded
35 messages Options
12
Reply | Threaded
Open this post in threaded view
|

[Bug 271030] New: Windows Live Photo Gallery people tagging Compatibility

harry
https://bugs.kde.org/show_bug.cgi?id=271030

           Summary: Windows Live Photo Gallery people tagging
                    Compatibility
           Product: digikam
           Version: 2.0.0
          Platform: Unlisted Binaries
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: wishlist
          Priority: NOR
         Component: Face Detection
        AssignedTo: [hidden email]
        ReportedBy: [hidden email]


Version:           2.0.0
OS:                Linux

It would be really good if digiKam was compatible with the way WLPG stores
people tags, it would make it a lot easier to migrate to digikam.
WLPG uses XMP to store people tags and digiKam also uses XMP so it can't be to
complicated?
The specs for how WLPG stores people tags is here:
http://msdn.microsoft.com/en-us/library/ee719905%28VS.85%29.aspx

Reproducible: Didn't try

--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 271030] Windows Live Photo Gallery people tagging Compatibility

Gilles Caulier-4
https://bugs.kde.org/show_bug.cgi?id=271030


Gilles Caulier <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[hidden email],
                   |                            |[hidden email]




--- Comment #1 from Gilles Caulier <caulier gilles gmail com>  2011-04-16 09:40:29 ---
This M$ paper talk about XMP Win7 photo properties. I cannot see this schema in
Exiftool :

http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/XMP.html

Gilles Caulier

--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 271030] Windows Live Photo Gallery people tagging Compatibility

harry
In reply to this post by harry
https://bugs.kde.org/show_bug.cgi?id=271030





--- Comment #2 from  <harry dayfamilyweb com>  2011-04-16 10:40:30 ---
The schema is here:
http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/Microsoft.html#MP

example exiv2 output (exiv2 -PX) for a photo with one person tag:
 Xmp.MP.RegionInfo                            XmpText     0  type="Struct"
 Xmp.MP.RegionInfo/MPRI:Regions               XmpText     0  type="Bag"
 Xmp.MP.RegionInfo/MPRI:Regions[1]            XmpText     0  type="Struct"
 Xmp.MP.RegionInfo/MPRI:Regions[1]/MPReg:Rectangle XmpText    38  0.817434,
0.427997, 0.055099, 0.073465
 Xmp.MP.RegionInfo/MPRI:Regions[1]/MPReg:PersonDisplayName XmpText     3  Bob
 Xmp.MP.RegionInfo/MPRI:Regions[1]/MPReg:PersonEmailDigest XmpText    40
AD6224CAD65B77EB326CB7E846DD21256E45169A
 Xmp.MP.RegionInfo/MPRI:Regions[1]/MPReg:PersonSourceID XmpText    13
FB:1612692345

In the Microsoft document it looks like tags starting with MP: are actually in
Xmp.MP.

--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 271030] Windows Live Photo Gallery people tagging Compatibility

Gilles Caulier-4
In reply to this post by harry
https://bugs.kde.org/show_bug.cgi?id=271030





--- Comment #3 from Gilles Caulier <caulier gilles gmail com>  2011-04-16 11:48:11 ---
Great. Can you attach to this entry an image with these information set by M$
software ?

Gilles Caulier

--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 271030] Windows Live Photo Gallery people tagging Compatibility

harry
In reply to this post by harry
https://bugs.kde.org/show_bug.cgi?id=271030





--- Comment #4 from  <harry dayfamilyweb com>  2011-04-16 13:12:23 ---
Created an attachment (id=59036)
 --> (http://bugs.kde.org/attachment.cgi?id=59036)
Example image from Windows Live Photo Gallery w/ 1 tagged face

The emotion in this image is tagged Example, no extra data (email address, etc)
is added.
Exiv2 -PX output for this file:
Xmp.MP.RegionInfo                            XmpText     0  type="Struct"
Xmp.MP.RegionInfo/MPRI:Regions               XmpText     0  type="Bag"
Xmp.MP.RegionInfo/MPRI:Regions[1]            XmpText     0  type="Struct"
Xmp.MP.RegionInfo/MPRI:Regions[1]/MPReg:Rectangle XmpText    38  0.328185,
0.445
860, 0.397683, 0.328025
Xmp.MP.RegionInfo/MPRI:Regions[1]/MPReg:PersonDisplayName XmpText     7
Example

--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 271030] Windows Live Photo Gallery people tagging Compatibility

harry
In reply to this post by harry
https://bugs.kde.org/show_bug.cgi?id=271030





--- Comment #5 from  <harry dayfamilyweb com>  2011-04-16 13:26:18 ---
Created an attachment (id=59038)
 --> (http://bugs.kde.org/attachment.cgi?id=59038)
Sample Image with two faces tagged including email addresses

In this photo I've tagged two faces.
The red one is tagged Bob with email address [hidden email]
The green one is tagged Example Face (input as: first name last name) and had
the email address [hidden email]

exiv2 -PX
Xmp.MP.RegionInfo                            XmpText     0  type="Struct"
Xmp.MP.RegionInfo/MPRI:Regions               XmpText     0  type="Bag"
Xmp.MP.RegionInfo/MPRI:Regions[1]            XmpText     0  type="Struct"
Xmp.MP.RegionInfo/MPRI:Regions[1]/MPReg:Rectangle XmpText    38  0.438073,
0.301
923, 0.185780, 0.311538
Xmp.MP.RegionInfo/MPRI:Regions[1]/MPReg:PersonDisplayName XmpText    12
Example
 Face
Xmp.MP.RegionInfo/MPRI:Regions[1]/MPReg:PersonEmailDigest XmpText    40
E43A034
3081CABFE3D1ED5C9F414B68E9F1D7EF8
Xmp.MP.RegionInfo/MPRI:Regions[2]            XmpText     0  type="Struct"
Xmp.MP.RegionInfo/MPRI:Regions[2]/MPReg:Rectangle XmpText    38  0.126147,
0.232
692, 0.178899, 0.300000
Xmp.MP.RegionInfo/MPRI:Regions[2]/MPReg:PersonDisplayName XmpText     3  Bob
Xmp.MP.RegionInfo/MPRI:Regions[2]/MPReg:PersonEmailDigest XmpText    40
F4F6C93
8D35ACA3A4B5EBFD68A2A4B207EB327EE

--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 271030] Windows Live Photo Gallery people tagging Compatibility

Bugzilla from leif@dkstat.com
In reply to this post by harry
https://bugs.kde.org/show_bug.cgi?id=271030


Leif Huhn <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[hidden email]




--- Comment #6 from Leif Huhn <leif dkstat com>  2011-07-09 23:05:17 ---
*** Bug 277429 has been marked as a duplicate of this bug. ***

--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 271030] Windows Live Photo Gallery people tagging Compatibility

Bugzilla from leif@dkstat.com
In reply to this post by harry
https://bugs.kde.org/show_bug.cgi?id=271030





--- Comment #7 from Leif Huhn <leif dkstat com>  2011-07-10 07:33:52 ---
Created an attachment (id=61747)
 --> (http://bugs.kde.org/attachment.cgi?id=61747)
DigiKam having correctly parsed the face tags from image

I have created a patch that will load the data from windows live photo gallery
tags.  It needs a little cleaning up (probably will do this tomorrow).  For
now, here is a screenshot of DigiKam showing the tagged faces from comment #5.

--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 271030] Windows Live Photo Gallery people tagging Compatibility

Gilles Caulier-4
In reply to this post by harry
https://bugs.kde.org/show_bug.cgi?id=271030





--- Comment #8 from Gilles Caulier <caulier gilles gmail com>  2011-07-10 09:24:41 ---
These data are load _and_ registered to digiKam database ?

The typical case is to restore a DB using image metadata, if necessary.

Also, the goal is to be compatible with M$ photo management software
(read/write)

Do you know an another software which manage face tags in metadata, as picasa
for ex ? Where information are recorded ?

Gilles Caulier

--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 271030] Windows Live Photo Gallery people tagging Compatibility

Bugzilla from leif@dkstat.com
In reply to this post by harry
https://bugs.kde.org/show_bug.cgi?id=271030





--- Comment #9 from Leif Huhn <leif dkstat com>  2011-07-10 17:00:31 ---
Hi Gilles,

Right now my patch forces a load of the faces data each time (for testing).  I
found it surprising that the menu option "Image, Reread Metadata from Image"
did not reload most of the metadata (but only a small amount).  At least I
think that's what's happening (I didn't test that much).

How do we handle the situation where a user already has the image in DigiKam
(and so we tend not to reload the metadata) but we want to pick up these WLPG
tags now?  I'd be inclined to make the "Reread Metadata from Image" always load
the face data (and more).

I haven't written write support yet.  I would like to hear your comments on my
patch before I continue to write code, in case you can give me some pointers on
how DigiKam arranges functions, etc.

Personally, I do not use Windows Live Photo Gallery.  I merely wanted DigiKam
to read and write faces to tags.  My web research indicated that there are only
few programs that write faces to XMP, and most of them understand WLPG.  I do
not have time now to summarize my research right now but I will try later today
or tomorrow.

I think Picasa only keeps its face data inside its own database (and not in
tags).  I have seen web postings that say that.  It may have changed (I have
not tested).

I will upload the patch now.

--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 271030] Windows Live Photo Gallery people tagging Compatibility

Bugzilla from leif@dkstat.com
In reply to this post by harry
https://bugs.kde.org/show_bug.cgi?id=271030





--- Comment #10 from Leif Huhn <leif dkstat com>  2011-07-10 17:02:40 ---
Created an attachment (id=61763)
 --> (http://bugs.kde.org/attachment.cgi?id=61763)
Initial read support for WLPG face tags

--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 271030] Windows Live Photo Gallery people tagging Compatibility [patch]

Gilles Caulier-4
In reply to this post by harry
https://bugs.kde.org/show_bug.cgi?id=271030


Gilles Caulier <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Windows Live Photo Gallery  |Windows Live Photo Gallery
                   |people tagging              |people tagging
                   |Compatibility               |Compatibility [patch]




--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 271030] Windows Live Photo Gallery people tagging Compatibility [patch]

Bugzilla from leif@dkstat.com
In reply to this post by harry
https://bugs.kde.org/show_bug.cgi?id=271030


Leif Huhn <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #61763|0                           |1
        is obsolete|                            |




--- Comment #11 from Leif Huhn <leif dkstat com>  2011-07-10 19:51:57 ---
Created an attachment (id=61766)
 --> (http://bugs.kde.org/attachment.cgi?id=61766)
Minor fix to previous patch

--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 271030] Windows Live Photo Gallery people tagging Compatibility [patch]

Bugzilla from leif@dkstat.com
In reply to this post by harry
https://bugs.kde.org/show_bug.cgi?id=271030





--- Comment #12 from Leif Huhn <leif dkstat com>  2011-07-10 20:09:37 ---
You asked about what other programs are using for face tags on images.

iPhoto doesn't export faces to tags at all (says the web...I haven't tested).
However, the program "Phoshare" (formerly iphotoexport) is a program that
allows you to export iPhoto photos.  It is apache 2.0 licensed.  It uses the
same WLPG tags that we are adding to DigiKam.

https://sites.google.com/site/phosharedoc/
"Faces: exports the face tags and face regions using the Microsoft Photo Region
Schema, and merge the face tags with your other keywords, and written in the
keywords field in the image meta data (JPEG only)"

--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 271030] Windows Live Photo Gallery people tagging Compatibility [patch]

Gilles Caulier-4
In reply to this post by harry
https://bugs.kde.org/show_bug.cgi?id=271030


Gilles Caulier <[hidden email]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[hidden email]




--- Comment #13 from Gilles Caulier <caulier gilles gmail com>  2011-07-11 11:13:26 ---
You patch sound in the good way.

About your question:

+        // FIXME is there a function to build this string somewhere?
+        QString imageTagProperty("<rect x=\"%1\" y=\"%2\" width=\"%3\"
height=\"%4\"/>");

I'm not sure. I don't know if Marcel has factored this code somewhere. grep do
not give results here.

In your loop :

while(1) {
+        // FIXME QString::ascii() deprecated...use latin1 instead?
+        QString person = getXmpTagString(personPath.arg(i).ascii(), false);
+        QString rect   = getXmpTagString(rectPath.arg(i).ascii(), false);
+        if (person.isEmpty())
+            break;
+        i++;
+        faces[person] = rect;
+    }

XMP support UTF-8. We must use it to get person name. For rect, it sound fine.
Need to test of course. Do you have any test picture faced with M$ tags ?

Your patch implement face scanning at startup. It miss some mechanism to read
and write face tags on the fly when face are edited in digiKam. In order :

- implement DMetadata::setImageFacesPath()
- in digiKam, there are 2 classes named MetadataHub and MetadataManager used to
play info to read/store in image depending of user actions. Look in
digikam/digikam/metadata dir. You will see that face tags are not yet managed.

In Exiv2, some code need to be written too to handle XMP M$ face tags as well.
I can take a look.

Gilles Caulier

--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 271030] Windows Live Photo Gallery people tagging Compatibility [patch]

Gilles Caulier-4
In reply to this post by harry
https://bugs.kde.org/show_bug.cgi?id=271030





--- Comment #14 from Gilles Caulier <caulier gilles gmail com>  2011-07-11 12:00:02 ---
Leif,

About Exiv2 code to handle XMP M$ Face Tags, code to patch is here :

http://dev.exiv2.org/projects/exiv2/repository/entry/trunk/src/properties.cpp

Currently, only ExpressionMedia schema is know :

http://dev.exiv2.org/projects/exiv2/repository/entry/trunk/src/properties.cpp#L119
http://dev.exiv2.org/projects/exiv2/repository/entry/trunk/src/properties.cpp#L931

... which is this one in Exiftool :

http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/Microsoft.html#XMP

The M$ MP schema is not yet implemented :

http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/Microsoft.html#MP

...but "RegionInfoMP Tags" and "Regions Tags" structure details are not yet
available in Exiftool web site...

Gilles Caulier

--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 271030] Windows Live Photo Gallery people tagging Compatibility [patch]

Marcel Wiesweg
In reply to this post by harry
https://bugs.kde.org/show_bug.cgi?id=271030





--- Comment #15 from Marcel Wiesweg <marcel wiesweg gmx de>  2011-07-11 16:57:34 ---
Thanks a lot for digging through all this.
Some comments on your patch:

1) I would suggest to return a map name -> QRectF from DMetadata, so that all
string parsing of the specific storage format is done in the DMetadata class
and we get a rectangle in relative coordinates

2)There is elaborate code in FaceIFace to create a tag for a given name and
assign it, mostly FaceIface::FaceIfacePriv::tagForName and
FaceIface::FaceIfacePriv::add.
It seems now we need this in libdigikamdatabase. So we'd need another refactor
of this class (removing the Priv class, which holds no more data, just create
the FaceIface on the stack, give the class a better name) and splitting it,
because some methods call MetadataManager which is not in the libraries.

> I'd be inclined to make the "Reread Metadata from Image" always load
> the face data (and more).

Yes. This is scan mode Rescan (in ImageScanner) which mostly uses the same code
paths as NewScan, but at some places take care not to overwrite existing
information if there is no information from the metadata.

--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 271030] Windows Live Photo Gallery people tagging Compatibility [patch]

Bugzilla from leif@dkstat.com
In reply to this post by harry
https://bugs.kde.org/show_bug.cgi?id=271030





--- Comment #16 from Leif Huhn <leif dkstat com>  2011-07-11 17:49:26 ---
Thank you Gilles, Marcel,

I will take your suggestions and update my patch tonight.  When I am finished I
will post another revision.

--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 271030] Windows Live Photo Gallery people tagging Compatibility [patch]

Gilles Caulier-4
In reply to this post by harry
https://bugs.kde.org/show_bug.cgi?id=271030





--- Comment #17 from Gilles Caulier <caulier gilles gmail com>  2011-07-11 17:55:55 ---
Great. thanks Leif for your help

Gilles Caulier

--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 271030] Windows Live Photo Gallery people tagging Compatibility [patch]

Bugzilla from leif@dkstat.com
In reply to this post by harry
https://bugs.kde.org/show_bug.cgi?id=271030





--- Comment #18 from Leif Huhn <leif dkstat com>  2011-07-12 05:30:49 ---
Gilles,

Re: comment #13.  The name in my code is retrieved via unicode.  The .ascii()
call was converting the QString representing the XMP path to const char *.  I
don't know if there is a better way to do it (but it does produce a warn).

Thanks for looking up the info for Exiv2.

I spent most of today reading the code trying to understand how it all fits
together.  I am confused about what situations MetadataHub::load is called.
When I click "Reread metadata" it seems to call ImageScanner::rescan.  In what
situation is MetadataHub::load called?

I have written a new patch.  There is not much new.

Marcel,

I used QRectF for passing the image info and I have merged FaceIface and
FaceIfacePriv (moving the methods from FaceIfacePriv into private methods in
FaceIFace).  I think that is what you wanted.  What methods should be broken
off?  Only the ones that use MetadataManager?

--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
12