CUFCTL / face-recognition

A GPU-accelerated real-time face recognition system based on classical machine learning algorithms
MIT License
23 stars 11 forks source link

Voting system for feature-classifier pairs #36

Open bentsherman opened 7 years ago

bentsherman commented 7 years ago

For a while we've had this idea about "combining" PCA and LDA and ICA, meaning that they would all perform prediction in parallel, make separate decisions, and we would somehow combine these decisions into a single decision which might be more accurate.

The original idea was that each algorithm has it's own strengths and weaknesses, so we could give priority to one algorithm or another based on the conditions of the test image. However, there isn't really any way to know these conditions during prediction. So that idea was a flop and we dropped the idea for a while.

However, Jesse pointed out the other day that since we have three algorithms, we could do a simple voting system: each algorithm makes a decision, then we take the majority decision. If there is no majority, then we say "inconclusive" and discard the test image, which is reasonable in a real-time environment since the system will probably receive many images of the same person over time.

Furthermore, now that we have two classifiers, we actually have six feature-classifier "pairs", so we could extend the voting system to all six, depending on how the Bayes classifier turns out.