[Digikam-devel] [Bug 146288] Face detection / recognition for digikam

Gilles Caulier caulier.gilles at gmail.com
Tue Apr 27 09:33:23 BST 2010


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





--- Comment #113 from Gilles Caulier <caulier gilles gmail com>  2010-04-27 10:33:00 ---
digiKam IRC talk between me and Aditya Bhatt about face detection.

[19:55] <cauliergilles> Adityab: ping ?
[19:55] <Adityab> cauliergilles: Yes?
[19:56] <cauliergilles> Adityab: hi. Just 2 questions
[19:56] <Adityab> cauliergilles: sure
[19:56] <cauliergilles> Adityab: 1. Do you recieve your svn account as
developper ?
[19:57] <cauliergilles> Adityab: 2. in digikam-devel mailing list, do
you recieve my mail about digiKam database problem today (i'm not sure
if this message is passed right because it's long)
[19:57] <Adityab> cauliergilles: No, I'm applying tomorrow. They give
higher priority to GSoC students. And even if I don't get into GSoC,
I'm still applying.
[19:57] <cauliergilles> Adityab: ok. let's me hear if you have some pb
about. I can contact right admin accordingly
[19:58] <cauliergilles> Adityab: and don't forget to add you in coding
sprint oo.org document from svn.
[19:59] <cauliergilles> Adityab: I will need quickly all info from
contributors to book hotel and restaurant at Aix en Provence
[19:59] <Adityab> cauliergilles: Thank you :) Yes, I received the mail
and I read it, but I didn't try to analyse everything as my final
exams are from tomorrow
[20:00] <Adityab> cauliergilles: Yes, I'll update the document soon.
I'll be renewing my passport also, and that will take a max of one
month.
[20:01] <cauliergilles> Adityab: ok. no problem. I just want to be
sure if mail is posted right through KDE server. Normally Marcel must
respond about
[20:01] <cauliergilles> Adityab: great.
[20:01] <cauliergilles> Adityab: currently, i don't share a lots of
time with GoSC, because i change my home, and i very busy.
[20:02] <Adityab> cauliergilles: That's okay :)
[20:02] <cauliergilles> Adityab: i also, contribute a lots in Exiv2
project to finalize Sony Makernotes support.
[20:02] <Adityab> cauliergilles: Thanks :) If you can act as my
referrer to the sysadmins, I'll apply just now.
[20:02] <cauliergilles> Adityab: i'm also teacher at Aix en provence,
in a computer science school
[20:03] <cauliergilles> Adityab: so my free time is limited... (:=)))
[20:03] <Adityab> cauliergilles: Must be a hectic job :)
[20:03] <cauliergilles> Adityab: but i will switch indeep to digiKam
and follow GoSC more seriously in few week
[20:04] <cauliergilles> Adityab: i'm sure that Marcel will follow you
properly. He is serious developer
[20:04] <Adityab> cauliergilles: Yes, he is very helpful. He replied
to my every query
[20:04] <cauliergilles> Adityab: Anyway, if you have question or a
problem don't hesitate to mail me.
[20:05] <cauliergilles> Adityab: i'm not online frequently in this
channel, due my external job
[20:05] <cauliergilles> Adityab: but i read my mail each day
[20:05] <Adityab> cauliergilles: Sure, thanks :)
[20:06] <cauliergilles> Adityab: yesterday, i do a presentation of
digiKam in a LUG at Aix en provence
[20:07] <Adityab> Yes, I saw your update on facebook :)
[20:07] <cauliergilles> Adityab: ah yes.
[20:08] <cauliergilles> Adityab: and a lots of people ask me if face
detection will be implemented soon, to provide the same feature than
Picasa
[20:08] <cauliergilles> Adityab: i said ... yes of course
[20:08] <cauliergilles> Adityab: so people are very impatient to test
this feature
[20:08] <Adityab> cauliergilles: Yes, currently there is no
open-source suite with this feature
[20:09] <Adityab> cauliergilles: Apple, M$, and Google all have it in
their suites
[20:11] <-- allee-k a quitté ce serveur (Read error: Connection reset by peer).
[20:11] <Adityab> cauliergilles: Have you checked libface?
[20:11] <cauliergilles> Adityab: no. i must do it now ?
[20:12] <cauliergilles> Adityab: where is the code ?
[20:12] <-- tro a quitté ce serveur (Read error: Connection timed out).
[20:12] <Adityab> cauliergilles: No, take your time
[20:12] <Adityab> cauliergilles: It's here :
http://sourceforge.net/projects/libface/
[20:12] <cauliergilles> Adityab: i'm not able to judge algorithm, but
to review code, coding style doc, api etc, yes, i can guide you
[20:13] <Adityab> cauliergilles: It's okay, the intefrace for libface
is very friendly
[20:13] <cauliergilles> Adityab: i wil checkout the code and give you
a first feedback
[20:14] <Adityab> cauliergilles: and the API is documented by doxygen too
[20:14] <cauliergilles> Adityab: Q : how do you will use this lib with
digiKam ? directly in core implementation or through a plugin ?
[20:14] <Adityab> cauliergilles: I think a plugin would be a better idea
[20:15] <cauliergilles> Adityab: do you use CMake to compile it. Do
you take a care about portability (Windows especially) ?
[20:16] <cauliergilles> Adityab: i think that a plugin will be
difficult to handle by user, from usuability viewpoint
[20:16] <Adityab> cauliergilles: Yes, we use CMake. It works on Mac
and linux. I haven't tested compilation on windows, but probably it
will need only some on-line change for that
[20:16] <cauliergilles> Adityab: if the goal is to learn to digiKam
face, and later to be able to tags automatically image during
downloading (or with BQM), digiKam core must be patched as well
[20:17] <Adityab> cauliergilles: Then I'll consider core
implementation. I haven't had much time to analyse digikam's
architecture, but my exams will end next thursday
[20:17] <cauliergilles> Adityab: about windows, i already have MinGW
and MSVC compiler ready to test. No need to waste time about for the
moment
[20:18] <cauliergilles> Adityab: just ping me when you want to check
compilation under Win32, i will do it
[20:18] <cauliergilles> Adityab: ok, no problem, take your time
[20:18] <cauliergilles> Adityab: I just want to know which workflow
will be used with face detection
[20:19] <Adityab> cauliergilles: Thanks :) And I think It'd be better
to implement it as the fuzzy search, so we can tell it to generate
face "fingerprints"
[20:19] <cauliergilles> Adityab: also, making batch plugin in kipi is
deprecated now, since Batch Queue Manager is ready to use in digiKam
core
[20:19] <Adityab> cauliergilles: But I'm able to say for sure only
after I will finish exams :(
[20:20] <cauliergilles> Adityab: ok.
[20:20] <Adityab> cauliergilles: Does the KIPI batch uploader also
take care of tags?
[20:20] <Adityab> cauliergilles: That would be useful if autotagged
pictures could be uploaded to facebook/flickr
[20:20] <cauliergilles> Adityab: also, take a look into digiKam core
how we have implemented Haar interface to register and play
fingerprint dedicated to search duplicate items in DB
[20:21] <Adityab> cauliergilles: Okay
[20:21] <cauliergilles> Adityab: and i recomend to register your Face
fingerprnt to digiKam DB. No need to re-invent the wheel (:=)))
[20:22] <Adityab> cauliergilles: You
[20:22] <cauliergilles> Adityab: they are some code ready to use about
Haar stuff from digiKam DB interface
[20:22] <Adityab> re right
[20:22] <Adityab> cauliergilles: You're right, but I think the
eigenfaces database might be too big
[20:22] <cauliergilles> Adityab: about kipi uploader and tags, yes,
kipi api is ready to take tags from kipi host application
[20:23] <-- ciskje a quitté ce serveur (Read error: Connection reset by peer).
[20:23] <Adityab> cauliergilles: Okay.
[20:23] <cauliergilles> Adityab: it's not a problem. just create a
dedicated DB file about
[20:23] <cauliergilles> Adityab: in digiKam we have already a main DB
file and a thumb DB file
[20:23] <Adityab> cauliergilles: That seems good
[20:24] <Adityab> cauliergilles: Should we store the face tags in the
image metadata itself, or a separate file?
[20:24] <Adityab> cauliergilles: picasa uses a separate file
[20:25] <cauliergilles> Adityab:  i'm not sure if Flickr uploader
plugins is able to tags items in flickr iface. But i think yes
[20:25] <cauliergilles> Adityab: i don't kow how to work Picasa about
face detection, but this is my personnal vision for digiKam. Fix me if
i'm wrong :
[20:26] <cauliergilles> Adityab: make face learning GUI, probably in
preview mode
[20:26] <cauliergilles> Adityab: register face fingerprint to a dedicated DB
[20:27] <cauliergilles> Adityab: the goal is to have a list of people
registered in DB, ready to be identified in images
[20:27] <Adityab> cauliergilles: Yes, that I how I think of it too...
[20:28] <cauliergilles> Adityab: of course something like Facebook
face tag editor must be done in preview mode
[20:28] <cauliergilles> Adityab: for that, code from Nepomuk widget
can be used here (do you know ?)
[20:29] <Adityab> cauliergilles: Plus, about libface - the face
detection and recognition is slow at the moment, but don't be
disappointed. I already have faster code in my bitbucket and laptop,
I'll be commiting it to libface after I clean it up
[20:29] <cauliergilles> Adityab: when face DB is ready to use, we can
implement something in Camera GUI to tags face during download from
camera,
[20:29] <Adityab> cauliergilles: Yes, I saw the nepomuk widget
[20:29] <Adityab> cauliergilles: Okay
[20:29] <cauliergilles> Adityab: and in Batch Queue Manager, we can
add a new Batch tool to analyse a set of image to detect face and tag.
[20:30] <Adityab> cauliergilles: right
[20:30] <cauliergilles> Adityab: a important point : libface must be
re-entrant and support multithreading
[20:30] <cauliergilles> Adityab: BQM use thread everywhere
[20:30] <Adityab> cauliergilles: All right. That is something I'll
have to look into
[20:31] <cauliergilles> Adityab: the registration in DB is another
stuff. Marcel know the problem with thread and DB (uncompatibility
with sqlite), but he know the solution using lock
[20:32] <Adityab> cauliergilles: okay. And does digiKam already have
support to share tags with nepomuk?
[20:32] <cauliergilles> Adityab: Note : with Mysql, there is no thread
problem. But it's the future : DB interface is under finalization to
be compatble with Mysql. So we must support Sqlite first, as weel
[20:33] <Adityab> cauliergilles: Yes, I read about the DB support in
the Mailing list
[20:33] <cauliergilles> Adityab: yes, digiKam share tags with nepomuk.
In fact, it's a copy a digiKam DB. In all case, we will _never_ use
nepomuk to replace digiKam DB
[20:34] <cauliergilles> Adityab: nepomuk is synchronized with digiKam
DB, that all
[20:34] <Adityab> cauliergilles: That is good, as even GNOME people use
digiKam.
[20:34] <cauliergilles> Adityab: marcel has written this code few month ago
[20:35] <cauliergilles> Adityab: yes a lots of people use digiKam
under Gnome. Look all feedback from ubuntu for ex (:=)))
[20:35] <cauliergilles> Adityab: in fact Gnome people need to install
KDELibs. that all. No need whole KDE4 desktop
[20:35] <Adityab> cauliergilles: But they don't get updated version
all the time, so we also get old Beta feedback :)
[20:36] <cauliergilles> Adityab: yes. it's Ubuntu packager problem,
not digiKam project
[20:36] <cauliergilles> Adityab: with Ubuntu F-spot is the default photo
manager
[20:37] <cauliergilles> Adityab: but a lots of people think that
F-spot is not suitable. It crash a lots, and use dot net API from M$.
It's not very clear from Open Source viewpont (;=)))
[20:37] <Adityab> cauliergilles: Yes, but F-Spot is not as
feature-rich, but just my opinion
[20:38] <Adityab> cauliergilles: I think people need to stay away from
mono when something like Qt is there :)
[20:38] <cauliergilles> Adityab: difficult to see if F-Spot is
interresting or not. I tried to test a lots of time, and i can crash
it very quickly (:=)))
[20:38] <Adityab> cauliergilles: By the way, I could not get the
peopletag widget to compile properly. It's in playground and the
developer ( I don't know who ) has abandoned it.
[20:39] <cauliergilles> Adityab: Q Gnome will switch to Mono API in the future
?
[20:40] <Adityab> cauliergilles: Yes, it looks like that. Not
entirely, but they want to make OOP programming the norm for all GNOME
project, it seems
[20:41] <cauliergilles> Adityab: well, Gnome is dead (:=)))
[20:41] <Adityab> cauliergilles: For us :)
[20:41] <-- tro a quitté ce serveur (Ping timeout: 245 seconds).
[20:41] <Adityab> cauliergilles: Okay, I shall talk later, it is late
night here and I have my first exam tomorrow. Nice to talk to you :)
[20:42] <cauliergilles> Adityab: ok. good night

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.


More information about the Digikam-devel mailing list