Abstract
Face recognition is an element of many smartphone apps, e.g. face unlocking, people tagging and games. Sparse Representation Classification (SRC) is a state-of-the-art face recognition algorithm, which has been shown to outperform many classical face recognition algorithms in OpenCV. The success of SRC is due to its use of l1, which makes SRC robust to noise and occlusions. Since l1 optmisation is computationally intensive, SRC uses random projection matrices to reduce the dimension of the l1 problem. However, random projection matrices do not give consistent classification accuracy. In this paper, we propose a method to optimise the projection matrix for l1-based classification1. Our evaluations, based on publicly available databases and real experiment, show that face recognition based on the optimised projection matrix can be 5-17% more accurate than its random counterpart and OpenCV algorithms. Furthermore, the optimised projection matrix does not have to be re-calculated even if new faces are added to the training set. We implement the SRC with optimised projection matrix on Android smartphones and find that the computation of residuals in SRC is a severe bottleneck, taking up 85-90% of the computation time. To address this problem, we propose a method to compute the residuals approximately, which is 50 times faster but without sacrificing recognition accuracy. Lastly, we demonstrate the feasibility of our new algorithm by the implementation and evaluation of a new face unlocking app and show its robustness to variation to poses, facial expressions, lighting changes and occlusions.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have