People tagging design

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

People tagging design

Aditya Bhatt
Hi everyone,

Since I'm ready to start digiKam+libface integration, I need to discuss how the face detection+recognition GUI is to be done in digiKam.

Detection:
I'm tweaking the peopletag project at the moment. It draws it's own backgound picture and it is possible to draw and move around rectangles on it. I'm completely trashing the nepomuk code from this widget. 
iPhoto does it like this : http://www.popgadget.net/images/iphoto_1_blurred.jpg . Unrecognized faces are tagged with "unknown".

Question: digiKam draws it's own preview. Would it be possible to have a widget in digiKam that draws the little tag boxes over this preview widget? I don't find the idea of opening a separate window for region tagging very appealing.

Recognition:
Here's how iPhoto does it: http://support.apple.com/kb/HT3427 
I don't think this should be much of an issue, both iPhoto and Picasa do it (almost) this way.
In Picasa, you can identify unnamed people this way : http://farm4.static.flickr.com/3442/3947433848_e32996d70b.jpg
(All revealed by google search)
Note the people list in the left pane.

I think recognition should be implemented as shown above. I find it perfect. And I think we should also have a people list on the left, like in picasa.

As for detection, I'm waiting for advice. By the way, the face detection in F-Spot (never implemented, incomplete GSoC project) seems to have coded the region tagging directly into the main photo viewer widget (as gleaned from the student's blog). Should I do that?


Cheers
--
Aditya Bhatt
Blog : http://adityabhatt.wordpress.com
Bitbucket: http://bitbucket.org/aditya_bhatt 
Face Recognition Library : http://libface.sourceforge.net

_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: People tagging design

Aditya Bhatt
And some issues have been discussed in this thread: https://bugs.kde.org/show_bug.cgi?id=146337 (see the 2010 year's posts)

On Sat, May 22, 2010 at 2:47 AM, Aditya Bhatt <[hidden email]> wrote:
Hi everyone,

Since I'm ready to start digiKam+libface integration, I need to discuss how the face detection+recognition GUI is to be done in digiKam.

Detection:
I'm tweaking the peopletag project at the moment. It draws it's own backgound picture and it is possible to draw and move around rectangles on it. I'm completely trashing the nepomuk code from this widget. 
iPhoto does it like this : http://www.popgadget.net/images/iphoto_1_blurred.jpg . Unrecognized faces are tagged with "unknown".

Question: digiKam draws it's own preview. Would it be possible to have a widget in digiKam that draws the little tag boxes over this preview widget? I don't find the idea of opening a separate window for region tagging very appealing.

Recognition:
Here's how iPhoto does it: http://support.apple.com/kb/HT3427 
I don't think this should be much of an issue, both iPhoto and Picasa do it (almost) this way.
In Picasa, you can identify unnamed people this way : http://farm4.static.flickr.com/3442/3947433848_e32996d70b.jpg
(All revealed by google search)
Note the people list in the left pane.

I think recognition should be implemented as shown above. I find it perfect. And I think we should also have a people list on the left, like in picasa.

As for detection, I'm waiting for advice. By the way, the face detection in F-Spot (never implemented, incomplete GSoC project) seems to have coded the region tagging directly into the main photo viewer widget (as gleaned from the student's blog). Should I do that?


Cheers
--
Aditya Bhatt
Blog : http://adityabhatt.wordpress.com
Bitbucket: http://bitbucket.org/aditya_bhatt 
Face Recognition Library : http://libface.sourceforge.net



--
Aditya Bhatt
Blog : http://adityabhatt.wordpress.com
Bitbucket: http://bitbucket.org/aditya_bhatt
Face Recognition Library : http://libface.sourceforge.net

_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: People tagging design

Aditya Bhatt
And Michael's ideas from the previous sprint look good, this in particular : http://bugsfiles.kde.org/attachment.cgi?id=43086

On Sat, May 22, 2010 at 2:55 AM, Aditya Bhatt <[hidden email]> wrote:
And some issues have been discussed in this thread: https://bugs.kde.org/show_bug.cgi?id=146337 (see the 2010 year's posts)


On Sat, May 22, 2010 at 2:47 AM, Aditya Bhatt <[hidden email]> wrote:
Hi everyone,

Since I'm ready to start digiKam+libface integration, I need to discuss how the face detection+recognition GUI is to be done in digiKam.

Detection:
I'm tweaking the peopletag project at the moment. It draws it's own backgound picture and it is possible to draw and move around rectangles on it. I'm completely trashing the nepomuk code from this widget. 
iPhoto does it like this : http://www.popgadget.net/images/iphoto_1_blurred.jpg . Unrecognized faces are tagged with "unknown".

Question: digiKam draws it's own preview. Would it be possible to have a widget in digiKam that draws the little tag boxes over this preview widget? I don't find the idea of opening a separate window for region tagging very appealing.

Recognition:
Here's how iPhoto does it: http://support.apple.com/kb/HT3427 
I don't think this should be much of an issue, both iPhoto and Picasa do it (almost) this way.
In Picasa, you can identify unnamed people this way : http://farm4.static.flickr.com/3442/3947433848_e32996d70b.jpg
(All revealed by google search)
Note the people list in the left pane.

I think recognition should be implemented as shown above. I find it perfect. And I think we should also have a people list on the left, like in picasa.

As for detection, I'm waiting for advice. By the way, the face detection in F-Spot (never implemented, incomplete GSoC project) seems to have coded the region tagging directly into the main photo viewer widget (as gleaned from the student's blog). Should I do that?


Cheers
--
Aditya Bhatt
Blog : http://adityabhatt.wordpress.com
Bitbucket: http://bitbucket.org/aditya_bhatt 
Face Recognition Library : http://libface.sourceforge.net



--
Aditya Bhatt
Blog : http://adityabhatt.wordpress.com
Bitbucket: http://bitbucket.org/aditya_bhatt
Face Recognition Library : http://libface.sourceforge.net



--
Aditya Bhatt
Blog : http://adityabhatt.wordpress.com
Bitbucket: http://bitbucket.org/aditya_bhatt
Face Recognition Library : http://libface.sourceforge.net

_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: People tagging design

Michael G. Hansen
In reply to this post by Aditya Bhatt
On 05/21/2010 11:17 PM, Aditya Bhatt wrote:

> Hi everyone,
>
> Since I'm ready to start digiKam+libface integration, I need to discuss how
> the face detection+recognition GUI is to be done in digiKam.
>
> *Detection*:
> I'm tweaking the peopletag project at the moment. It draws it's own
> backgound picture and it is possible to draw and move around rectangles on
> it. I'm completely trashing the nepomuk code from this widget.
> iPhoto does it like this :
> http://www.popgadget.net/images/iphoto_1_blurred.jpg . Unrecognized faces
> are tagged with "unknown".
>
> Question: digiKam draws it's own preview. Would it be possible to have a
> widget in digiKam that draws the little tag boxes over this preview widget?
> I don't find the idea of opening a separate window for region tagging very
> appealing.

IMHO, being able to edit tag boxes in the preview would be perfect.
Since it would make sense anyway to display them there, when browsing
photos.

However, depending on how the actual detection/recognition is
implemented, and since it looks like it will be a time consuming
process, maybe an extra non-modal window would be nice, which just shows
all images where the system wants to ask the user what to do with the
persons. As an alternative, one could add a new tab on the left side,
call it "Ongoing face recognition", and the user can check the status
now and then while he works on other photos, and interact with the
tagging process.

Michael

_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: People tagging design

alexjironkin
From usability point of view having an extra window that does the same job as preview, but draws rectangles and writes names, is a bit annoying and personally I think should be avoided at all costs as it will make digikam bulky.

If we can't bring detection speed to something manageable, on my dual core it takes 2.5 secs but not everyone has dual core, then I think Michael's idea of adding extra tab on left side is a very sensible one. Perhaps that is also where found/known faces/people should go too.


Alex

On 21 May 2010, at 22:51, Michael G. Hansen wrote:

> On 05/21/2010 11:17 PM, Aditya Bhatt wrote:
>> Hi everyone,
>>
>> Since I'm ready to start digiKam+libface integration, I need to discuss how
>> the face detection+recognition GUI is to be done in digiKam.
>>
>> *Detection*:
>> I'm tweaking the peopletag project at the moment. It draws it's own
>> backgound picture and it is possible to draw and move around rectangles on
>> it. I'm completely trashing the nepomuk code from this widget.
>> iPhoto does it like this :
>> http://www.popgadget.net/images/iphoto_1_blurred.jpg . Unrecognized faces
>> are tagged with "unknown".
>>
>> Question: digiKam draws it's own preview. Would it be possible to have a
>> widget in digiKam that draws the little tag boxes over this preview widget?
>> I don't find the idea of opening a separate window for region tagging very
>> appealing.
>
> IMHO, being able to edit tag boxes in the preview would be perfect.
> Since it would make sense anyway to display them there, when browsing
> photos.
>
> However, depending on how the actual detection/recognition is
> implemented, and since it looks like it will be a time consuming
> process, maybe an extra non-modal window would be nice, which just shows
> all images where the system wants to ask the user what to do with the
> persons. As an alternative, one could add a new tab on the left side,
> call it "Ongoing face recognition", and the user can check the status
> now and then while he works on other photos, and interact with the
> tagging process.
>
> Michael
>
> _______________________________________________
> Digikam-devel mailing list
> [hidden email]
> https://mail.kde.org/mailman/listinfo/digikam-devel

If we knew what we were doing, it wouldn't be called research, would it?
-- Albert Einstein



_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: People tagging design

Marcel Wiesweg
In reply to this post by Aditya Bhatt

> *Detection*:
> I'm tweaking the peopletag project at the moment. It draws it's own
> backgound picture and it is possible to draw and move around rectangles on
> it. I'm completely trashing the nepomuk code from this widget.
> iPhoto does it like this :
> http://www.popgadget.net/images/iphoto_1_blurred.jpg . Unrecognized faces
> are tagged with "unknown".
>
> Question: digiKam draws it's own preview. Would it be possible to have a
> widget in digiKam that draws the little tag boxes over this preview widget?

Yes it's possible. In the GSoC SVN branch, you'll find a shiny new preview
widget written with this usecase in mind. I'll send you a mail with some more
hints.

Btw, I have also made up some ideas on the libface Qt wrapper (named libkface
for now). I'll send you a mail today or tomorrow.

>
> *Recognition:*

I would like to define the workflow here first.
I have never tried any of the other apps.

Is this how it is intended to work:
For a batch of all images, or a group of images:
- load the image (background)
- detect faces (background)
- try to recognize faces (background)
- if recognized: tag them preliminarily (need approval);
  if not recognized: tag the region as unknown face (background)
- in a dedicated icon view, show the detected regions with suggested person,
  with the option to remove the region, approve it, assign a different person.

Additionally, there is a "single photo workflow" like in the screenshot you
gave for detection: On a photo shown as a whole, all detected regions are
marked, with the suggested person drawn underneath.

_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: People tagging design

Aditya Bhatt
 
Yes it's possible. In the GSoC SVN branch, you'll find a shiny new preview
widget written with this usecase in mind. I'll send you a mail with some more
hints.

Btw, I have also made up some ideas on the libface Qt wrapper (named libkface
for now). I'll send you a mail today or tomorrow.

That's great.
 
I would like to define the workflow here first.
I have never tried any of the other apps.

Is this how it is intended to work:
For a batch of all images, or a group of images:
- load the image (background)
- detect faces (background)
- try to recognize faces (background)
- if recognized: tag them preliminarily (need approval);
 if not recognized: tag the region as unknown face (background)
- in a dedicated icon view, show the detected regions with suggested person,
 with the option to remove the region, approve it, assign a different person.

Additionally, there is a "single photo workflow" like in the screenshot you
gave for detection: On a photo shown as a whole, all detected regions are
marked, with the suggested person drawn underneath. 

Yes, that's correct. I vote for both the "single photo workflow" and the "dedicated icon view". The icon view is indispensable IMO.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: People tagging design

alexjironkin
Is the dedicated icon view the separate tab that Michael was talking about earlier? As an addition to that you should be able to drag and drop tagged face/name from icon view to a tagged region in an image.

After recognition and detection how are tags/regions displayed in a photo? Are the actual tags (Bob, Alice, unknown) only displayed in photo/icon view/both?

Also I guess no meta data will be written until tag is approved, as you don;t want to be re writing tag every time something changes. Which means that there needs to be some temporary tag save location in digikam. Is that going to fit in the new config table in database?

Alex

On 22 May 2010, at 11:51, Aditya Bhatt wrote:

 
Yes it's possible. In the GSoC SVN branch, you'll find a shiny new preview
widget written with this usecase in mind. I'll send you a mail with some more
hints.

Btw, I have also made up some ideas on the libface Qt wrapper (named libkface
for now). I'll send you a mail today or tomorrow.

That's great.
 
I would like to define the workflow here first.
I have never tried any of the other apps.

Is this how it is intended to work:
For a batch of all images, or a group of images:
- load the image (background)
- detect faces (background)
- try to recognize faces (background)
- if recognized: tag them preliminarily (need approval);
 if not recognized: tag the region as unknown face (background)
- in a dedicated icon view, show the detected regions with suggested person,
 with the option to remove the region, approve it, assign a different person.

Additionally, there is a "single photo workflow" like in the screenshot you
gave for detection: On a photo shown as a whole, all detected regions are
marked, with the suggested person drawn underneath. 

Yes, that's correct. I vote for both the "single photo workflow" and the "dedicated icon view". The icon view is indispensable IMO. _______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel

If we knew what we were doing, it wouldn't be called research, would it?
-- Albert Einstein




_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: People tagging design

Marcel Wiesweg
In reply to this post by Aditya Bhatt


> Yes, that's correct. I vote for both the "single photo workflow" and the
> "dedicated icon view". The icon view is indispensable IMO.

All right for me. One question: I guess in the icon view, only the part of the
picture containing the face is displayed? Is this really fast in the other
applications, I mean, do they pregenerate these parts of the picture as
thumbnails?
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: People tagging design

Marcel Wiesweg
In reply to this post by alexjironkin
> Is the dedicated icon view the separate tab that Michael was talking about
> earlier? As an addition to that you should be able to drag and drop tagged
> face/name from icon view to a tagged region in an image.

I'm thinking of a tab on the left hand side listing faces/people, in the
middle area an icon view showing faces for approval. This is for the process
of face-tagging so far.

>
> After recognition and detection how are tags/regions displayed in a photo?
> Are the actual tags (Bob, Alice, unknown) only displayed in photo/icon
> view/both?

I'd suggest displaying (approved) tags in the icon view as today, for the
picture as a whole, and the regions only in the preview. Drawing the regions
already over the thumbnails in the icon view would be possible, but there are
questions about performance and UI clutter.

>
> Also I guess no meta data will be written until tag is approved, as you
> don;t want to be re writing tag every time something changes. Which means
> that there needs to be some temporary tag save location in digikam. Is
> that going to fit in the new config table in database?

Good point. I think yes, it fits - in fact we could not even do a real tag
assignment at all (in the ImageTags table), but only record the assignment in
the ImageTagProperties table.

Marcel
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: People tagging design

Paristo
In reply to this post by alexjironkin


On 22 May 2010 11:18, Alex Jironkin <[hidden email]> wrote:
From usability point of view having an extra window that does the same job as preview, but draws rectangles and writes names, is a bit annoying and personally I think should be avoided at all costs as it will make digikam bulky.

Much as possible, the functions should be kept in digiKam main window. If we can keep external windows in minimal it is better. Now we have digiKam mainwindow, showFoto (Image Editor when launched from digiKam main), Batchmanager, Advanced Search, HDR (Bracketing photos) at least.
By my opinion, we would need a somekind "task" manager what would show all sub-tasks going. The separated window is nice some cases, like album and editor. Where you can have them both open in two monitor sets. But I think the batchmanager and advanced search could be merged to digiKam main window if we could have a "progress going" -list easily accessible.

I believe that would help in most cases as well. Like the other GSoC project of non-destructive editing and the editing in whole. You could set wanted edits for preview in very fast way, and then they would be calculated to full image in background. And user could easily just change to next photo to edit it, without need to wait the calculations to be ended. The separated window does is for me like a "hack" for this. Because we can do something else in other window when waiting other. But we can not do on same window different tasks. 

In this case the face tagging is something what can do things automatically and it should go in background, but in error cases (and those will happend) there is need to allow user to interact well. And in that case, there is no need to continue the task in other window. (we humans can not do a multitasking at all with computers). But as the face tagging process does not pause when there is unrecognised face, we can continue other tasks and return to problems in later. So if we can not get anykind "task progress -list", the separated window is needed. But I would take it only if there is impossible way to get tasks-list in time but only later so we can integrate separated windows tasks to it and so get rid off the separated window. 
 
If we can't bring detection speed to something manageable, on my dual core it takes 2.5 secs but not everyone has dual core, then I think Michael's idea of adding extra tab on left side is a very sensible one. Perhaps that is also where found/known faces/people should go too.

The sidepanel is better choise than separated window. We could use the main window for "unrecognised faces" thumbnails and selecting names etc. But what if we would separate it to two tabs? Like right now we have the powerfull tag function on both sides. We can manage in such manner the tags what is not possible any other application. We can select wanted tags and add/remove tags to/from those easily.

Is there a need for such function for faces? In the end, they are tags and the face tags has need to have tag-tree (family trees etc). But what separates the face tag from other tags, is that they does not change after they have once set. John does not turn to be Lisa in some photos (unless change names or sex ;) ) while in some it would stay such.

So is there need for left being a "persons" tab while on right there would be the face tagging tab? The left one only would filter and search persons. Just like now we can use it very easily as only sidepanel when showing photos for friends and family. No need to bring edit functions to shown, what all are located to right side of digiKam.

On right side tab we could have the face tagging and what would work more like the tagging, user drops photos over tag or tag over selected photos. 
And top of the tag-list on _left_ side panel is the the entry "unrecognised" what shows recognised faces but unfamiliar faces. And then user could easily just tag them from right side. Under the thumbnail could be guess who is the person and accept it or not.


_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: People tagging design

Gilles Caulier-4
In reply to this post by Aditya Bhatt
2010/5/21 Aditya Bhatt <[hidden email]>:

> Hi everyone,
> Since I'm ready to start digiKam+libface integration, I need to discuss how
> the face detection+recognition GUI is to be done in digiKam.
> Detection:
> I'm tweaking the peopletag project at the moment. It draws it's own
> backgound picture and it is possible to draw and move around rectangles on
> it. I'm completely trashing the nepomuk code from this widget.
> iPhoto does it like this
> : http://www.popgadget.net/images/iphoto_1_blurred.jpg . Unrecognized faces
> are tagged with "unknown".
> Question: digiKam draws it's own preview. Would it be possible to have a
> widget in digiKam that draws the little tag boxes over this preview widget?
> I don't find the idea of opening a separate window for region tagging very
> appealing.

I'm agree. All must be done in preview mode (F3). Do not open a new
dialog dedicated for face tagging, as Picasa do if i rememeber (i will
take shot about)


> Recognition:
> Here's how iPhoto does it: http://support.apple.com/kb/HT3427
> I don't think this should be much of an issue, both iPhoto and Picasa do it
> (almost) this way.
> In Picasa, you can identify unnamed people this way
> : http://farm4.static.flickr.com/3442/3947433848_e32996d70b.jpg
> And you can vote yes/no this way
> : http://andywolf.com/wp-content/uploads/2009/10/PicasaFaceFinder.png

yes, it's really suitable

> (All revealed by google search)
> Note the people list in the left pane.
> I think recognition should be implemented as shown above. I find it perfect.
> And I think we should also have a people list on the left, like in picasa.
> As for detection, I'm waiting for advice. By the way, the face detection in
> F-Spot (never implemented, incomplete GSoC project) seems to have coded the
> region tagging directly into the main photo viewer widget (as gleaned from
> the student's blog). Should I do that?

I think preview and editor must support face tagging, as keyword
tagging do. We must be homogenous there. Note that LightTable use also
preview widget and face tagging must work there too.

In GOsC branch, Marcel has started to implement a common and pure Qt4
widget for preview and editor canvas with layer support.

Gilles Caulier
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

Re: People tagging design

Gilles Caulier-4
In reply to this post by Aditya Bhatt
Aditya,

Please resume Face Recognition works to KDE wiki at this place :

http://community.kde.org/Digikam/GSoC2010/

As all others subject relevant of GOsC 2010, create a new sub-page...

Thanks in advance

Gilles Caulier



2010/5/21 Aditya Bhatt <[hidden email]>:

> Hi everyone,
> Since I'm ready to start digiKam+libface integration, I need to discuss how
> the face detection+recognition GUI is to be done in digiKam.
> Detection:
> I'm tweaking the peopletag project at the moment. It draws it's own
> backgound picture and it is possible to draw and move around rectangles on
> it. I'm completely trashing the nepomuk code from this widget.
> iPhoto does it like this
> : http://www.popgadget.net/images/iphoto_1_blurred.jpg . Unrecognized faces
> are tagged with "unknown".
> Question: digiKam draws it's own preview. Would it be possible to have a
> widget in digiKam that draws the little tag boxes over this preview widget?
> I don't find the idea of opening a separate window for region tagging very
> appealing.
> Recognition:
> Here's how iPhoto does it: http://support.apple.com/kb/HT3427
> I don't think this should be much of an issue, both iPhoto and Picasa do it
> (almost) this way.
> In Picasa, you can identify unnamed people this way
> : http://farm4.static.flickr.com/3442/3947433848_e32996d70b.jpg
> And you can vote yes/no this way
> : http://andywolf.com/wp-content/uploads/2009/10/PicasaFaceFinder.png
> (All revealed by google search)
> Note the people list in the left pane.
> I think recognition should be implemented as shown above. I find it perfect.
> And I think we should also have a people list on the left, like in picasa.
> As for detection, I'm waiting for advice. By the way, the face detection in
> F-Spot (never implemented, incomplete GSoC project) seems to have coded the
> region tagging directly into the main photo viewer widget (as gleaned from
> the student's blog). Should I do that?
>
> Cheers
> --
> Aditya Bhatt
> Blog : http://adityabhatt.wordpress.com
> Bitbucket: http://bitbucket.org/aditya_bhatt
> Face Recognition Library : http://libface.sourceforge.net
>
> _______________________________________________
> Digikam-devel mailing list
> [hidden email]
> https://mail.kde.org/mailman/listinfo/digikam-devel
>
>
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel