Future improvements


Limitations Go back to the indexReferences

While the presented algorithm shows a good performance in terms of accuracy, there are several lines of research that could be followed in order to improve the software capabilities. Here we will list only some of the most promising lines:

1) Multiple-pass correlation: In order to improve the face recognition ability of the software the following procedure could be applied: after obtaining the image formed by the sum of the combined correlations, we could correlate it with a set of templates containing the correlations obtained when there is a face present in a certain area. This would further enhance the faces, and attenuate the noise in the correlations image.


2) Multiple face sizes: Another improvement that needs to be addressed is the ability of the software to recognize faces with different sizes in the photo. This would have heavier computation requirements, as the algorithm would have to carry a list of the maximum correlation values obtained in each area for the different sizes and guess from which size it should take each area when computing the final result.


3) Tilted face recognition: As with the previous one, this would be a very computationally demanding improvement. Multiple sets of templates containing tilted faces would have to be used to guess if there is a tilted face in certain area. The final result would have to take correlations from different sets for different areas of the photo, before applying the detection algorithm.


4) Optimize computation time: In the current version, no effort has been made to optimize the code to reduce the computation time. For this reason, the software takes around 20 minutes to process each photo. It is believed that, by optimizing the Matlab code, this time could be reduced 20-30%. Furthermore, changing the image size to a smaller one, has a very important effect on the computation time, at the cost of lower performance. Reducing the number of sizes or templates also reduces the computation cost, but performance is degraded. Finally, the algorithm could be implemented in a compiled programming language, which could decrease the computation time by 50-80%.

Limitations Go back to the indexReferences