cmusatyalab / openface

Face recognition with deep neural networks.
http://cmusatyalab.github.io/openface/
Apache License 2.0
15.14k stars 3.6k forks source link

running openface on a large dataset >1000 image #268

Closed boulabiar closed 7 years ago

boulabiar commented 7 years ago

Context of the issue.

Many images in the DB.

Expected behavior.

Having linear performance instead of exponential.

Actual behavior.

after adding many pictures to the database, performance becomes low. This is what I get in the SVM training step.

16 faces : 0.15s 226 faces : 2.8s 550 faces : 40 to 50s 1500 faces : ??

Steps to reproduce.

just add about 1000 face to the database

bamos commented 7 years ago

You can try using a different classifier.

boulabiar commented 7 years ago

Sorry for bugging, what do you suggest to be used while still giving good results? Thanks

bamos commented 7 years ago

A neural network with a single hidden layer should scale better.

decoded4620 commented 7 years ago

@bamos It will only scale slightly better. Facial Recognition Data Convergence on any number of hidden layers is simply not linear. The only way to get better performance is with some form of map-reduce to train the layers where parallel operations can be achieved. This is why frameworks like CUDA are farming all of the AI training to the GPU clusters (there can be literally thousands of GPU's on a VC), rather than your dinky little 4 core processor :-1:

MLDSBigGuy commented 6 years ago

Try kdtrees of knn classifier