But in fact this kind of database mechanism must be dropped, when the openCV DNN algorithm will be finalized and remaines as the only one to do the job.ĭuring the scan process, the following will be done (as described in root/core/utilities/facemanagement/README.FACE Thus it is necessary to clear the database, when you change the recognition algorithm in Face Scan dialogue. Histograms, Vector, Binary data, all are responsible for algorithm computation, and of course, not each of them is compatible to each other. This depends on the recognition algorithm used. Which kind of info is stored in the database?
#Digikam face recognition tutorial code#
In the past, this code was mainly written by Marcel Wiesweg. These are listed in the directory root/core/utilities/facemanagement for better visibility.
Unfortunately, the training and recognition process took too long and slowed down the application. The student who worked on the DNN project a few years ago has concluded that DNN was the best method to recognize faces with little error rate as possible.
#Digikam face recognition tutorial pdf#
pdf why so many different approaches? The idea why four different algorithms were implemented is simply to be able to make a comprehnsive assessment of the currently available technologies applicable in digiKam and eventually choose the best one. There is a paper explaining the difference between Fisher and Eigen Faces, see Eigenfaces and Fisherfaces - Presenter: Harry Chao - Multimedia Analysis and Indexing –Course 2010. It was introduced for the same purposes as Eigen Faces.Īccording to rumours, this one is not finalized, it is said that not all methods are implemented. It was introduced to have a different source of results for face detection, enabling to proof the DNN approaches.Īnother algorithm what uses the OpenCV backend. This one use OpenCV backend based on Towards Data Science - Face Recognition: Understanding LBPH Algorithm.Īn alternative algorithm what uses the OpenCV backend. This algorithm records a histogram of the face in the database, which is used later to perform the comparisons against new/non-tagged faces. It's not perfect and requires at least six faces already tagged manually by the user to identify the same faces in non-tagged images. Moreover, it is the oldest implementation of such an algorithm in digiKam. This is the most complete implementation of a face detection algorithm. OpenCV - Local Binary Patterns Histograms ( LBPH).The code of Dlib is mostly the machine learning core implementation of Dlib C++ Library and referenced in projects in the Dlib users list on SourceForge. Moreover, the documentation in the source code is non-existent. It is rather a proof of concept than being used for productive use. This code works, but it slow and complex to maintain.
This DNN is based on the DLib code, a low-level library used by OpenFace project. This is an experimental implementation of a neural network to perform faces recognition. The algorithms are complex but explained in more detail below.Ĭurrently implemented face recognition algorithms The goal is to be able to recognize automatically faces in images, which are not tagged, using a previous face tag registered in the face recognition database. The used algorithm can be chosen in the one Face Scan dialogue.
Thus it helps to understand the scope of these algorithms and where it need clarification about its structure and interfaces with other parties (code modules).Ĭurrently, there are four different methods using the corresponding algorithm, which are more or less operational. It is recommended to read Faces Management workflow improvements, as this describes the entire face management workflow. This article describes the current state of the face detection algorithms of digiKam and the desired outcome of the corresponding GSoC project. 6 Expected results of this GSoc 2019 project.2 currently implemented face recognition algorithms.