< Digikam‎ | GSoC2019
Revision as of 21:49, 25 February 2019 by Smueller (talk | contribs)


Hello reader, We begin with the little story, explaining how all the digiKam face recognition related features became a GSoC project. All began in early 2018 as the thread either face recognition screen is buggy or I still don't understand it - at least I can say that more convenient bulk change of face tags (no auto refresh/set faces via context menu) is neccessary took off. Eventually if found its course in early 2019 what convinced the maintainer of digiKam to refurbish these features earlier than original considered. The post what made this change was written on the 01.Feb.2019 and describes quite well what has to be polished and redesigned, respectively. If you read the post, you will notice that it content goes beyond the pure face management workflow.

Under construction.png
Under Construction
This is a new page, currently under construction!

Hello 1 until when do you need let's say a dateiled specifcation of how the job shall be done?

2 It took me not little hours to get that email done, across two or three weeks, whenever I could spare some time. So I would suggest that I email the others who involved themselves in this matter this and last year and try to start to get the main goals on paper, properly in group on pixl.us (as I don't know a better tool what has been recently dicussed).

3 I would volunteer to get the current documentation about database and face management updated but I need to know what you think about my wording suggestions as I would have diffculites to stick to the word tag (I know is little attempt at blackmail 😋).

4 You mentioned in GSoC 2019 task descritpion, that it shall focus on face management not face detection. Can this really well sepaerated. I afraid that there will be some overlapping, how to deal with that?

FEB 4 Gilles Caulier sent the following messages at 9:12 AM View Gilles’ profile Gilles Caulier Gilles Caulier 9:12 AM I will respond not in your order :

4/ The DK faces management is separated in these parts :

- The faces detection : It's group algorithms to analyze images contents, identify the interest regions (eyes, nose, mouth, etc). Most of then are OpenCV based, and work mostly fine in background (excepted some technical issues with OpenGL cards acceleration used by OpenCV which introduce instability, but it's another Pb). These algorithms generate region where face can be found, typically a rectangle. This area is linked later in database as a "face tag". - The faces database : this is a separated engine dedicated to store faces information : areas, names, and histograms. There are more information, but the most important are there. These info are stored in a separated tables/files. - The faces recognition : This introduce 4 different methods based on different algorithms, more and less functional. The goal is to be able to recognize automatically a non tagged face from images, using a previous face tags registered in database. The algorithms are complex, and one is based on neural network, but it still experimental and not optimized. We have a GoSC project for this summer about this topic, but here again it's another stuff. - The faces workflow : this is the subject where we want to found a student for this summer, and i want to share the mentoring we somebody who know well DK in user space. This group all action, widget, methods given to the user to manage face tags by a non automatized way : rename, move, delete, group, register face in database, etc... There is no algorithms here, only the GUI.

View Gilles’ profile Gilles Caulier Gilles Caulier 9:18 AM 4/ (again) : the idea to mentoring a student about Face workflow is to separate 2 topics : the coding space, and the GUI/test/review. I propose to manage the first and to delegate the second. Typically, the student must review all bugzilla entries that i separated in a subsection. You know some of these (-:=))... He must identify the top level entries to fix, with the tips from the mentors of course. He must write a technical proposal, where he must list : the problematic, the code to patch, the coding tasks, the tests, the plan for this summer, and of course the documentation to write (mostly in code), etc.

View Gilles’ profile Gilles Caulier Gilles Caulier 9:23 AM 4/ (again 2) : while this summer, the student must analyze the code in details, identify the problems, and start to patch implementations. While these stage, he will ask Q about coding, and about functionalities. We must respond to both, and i will respond to code stuff in prior... The student must be autonomous technically. He must search responses by himself, and sometime, he can be blocked, an we must guide to the right direction. In all case, i review and validate the codes.. Important : students work in a separate development branch in git. It safe.

View Gilles’ profile Gilles Caulier Gilles Caulier 9:24 AM 1/ => se the response given for 4/, more and less...

View Gilles’ profile Gilles Caulier Gilles Caulier 9:29 AM 2/ if you talk about about the process to work together with a student, there are plenty of tools : - a wiki page that the student and us we will use to list all technical point for the project. - the [email protected] mailing list where student can ask Q, and where team respond as a community. We can use only this channel only when students are selected, not before, as students are in competition. - The private mail work well, but something the thread can be broken if somebody forget to respond to all people. So the mailing list is better, but we must use this way before the student final selection.

View Gilles’ profile Gilles Caulier Gilles Caulier 9:31 AM 3/ sure, the documentation about database already exists and need to be updated, but i don't understand the "word tag" problematic. I forget something ?

Stefan Müller sent the following messages at 9:17 PM View Stefan’s profile Stefan Müller Stefan Müller 9:17 PM 👍

Face workflow is to separate 2 topics : the coding space, and the GUI/test/review. I propose to manage the first and to delegate the second.👍

This page was last edited on 10 March 2019, at 14:44. Content is available under Creative Commons License SA 4.0 unless otherwise noted.