This is my first post on Planet KDE – so I’ll start with a brief intro of myself:
I’m Aditya Bhatt (adityab on IRC), and I’m an 18-year old, second-year (almost third-year) undergrad student, living in Ahmedabad, India. I’ve been selected to work on digiKam in GSoC 2010. I’ll be enabling digiKam to automatically tag people in photographs by facial recognition. This feature request has been around since a looong time ( 5 years ?). Bugzilla reveals that this is the #1 voted bug in digiKam, and #26 overall for KDE. It’s time this gets done :) For anyone who’s interested, my GSoC proposal is here.
I’ve been using Linux and FOSS in general since about 1999. I think I used a rudimentary form of KDE back then :) I’ve been a longtime KDE user since many years now, and was beginning to feel the urge to give back to the community. I love taking photos whenever I’m with my family, so digiKam was a natural choice to start with.
GSoC is a wonderful opportunity for students as it acts as a kick-start for many to start contributing to open-source. I couldn’t apply for GSoC last year because I wasn’t 18 back then, and my knowledge was also pretty limited. Over the year, I started playing with the awesome Qt API, and also ventured into the KDE API, so that I could start committing real stuff.
Being a second-year student, I’m self-taught in Image Processing and Pattern Recognition. I love those fields because of my liking for Math and AI.
About two months ago (I think), I started hacking on libface, a cross-platform library for face detection and recognition. libface was started by Alex Jironkin (my mentor). It is one of the very few( 2-3 ?) open-source libs for facial recognition. Alex, Marcel, Gilles, and the rest of the digiKam team helped me to improve my proposal.
As a result, I got selected in GSoC. Since my Indian state of Gujarat is a dry state, there was no beer and we had to do with a nice Pepsi party :) A really awesome thing worth noting is that 3 (yes, three) people from my (small) university got selected in GSoC this year, and that too for KDE! The other two: Nikhil Marathe (nsm), who’s in my batch, has already been working with the Kwin team to implement tiling, and he’ll be integrating UPnP support into KDE; Sai Dinesh (saidinesh5) is a year senior to me in the university, and will be working on mobile phone stuff for KDE – something that involves SyncML and Akonadi.
It was awesome to know that KDE got 50 slots this year, with 11 Indians amongst them! I got to know while celebrating on the channel #kde-in.
Integrating libface into digiKam would mean that digiKam would automatically know who’s in which photo and tag their faces, and that makes searching for stuff a lot easier, especially after nepomuk interfaces good with digiKam. Imagine searching in dolphin for the name of your best friend – the search results would show her photos. Or you can search for photos of your mom and dad together :) A nice possibility is that akonadi integration could enable linking your addressbook contacts with photographs – automatically-generated avatar pics for people in your addressbook. You might not need to use facebook’s tagging mechanism is you could upload auto-tagged photos via digiKam (I don’t know for sure if the KIPI plugin for exporting to facebook also exports tags, though).
After adding one more algorithm (fisherfaces) to libface, I’ll be making a tagging widget for pictures. There’s already something in nepomuk playground, and I think I’ll be using that as a starting point. After that, I’ll link libface , digiKam, and the widget together. Some more work must also be done with respect to the tagging style used by digiKam. As of now, digiKam can only tag entire photos with keywords, not regions. Storing tags as metadata needs to be worked upon, without breaking backwards-compatibility.
Lots of hacking to do, yay!