patrikhuber / superviseddescent

C++11 implementation of the supervised descent optimisation method
http://patrikhuber.github.io/superviseddescent/
Apache License 2.0
402 stars 188 forks source link

Training with 10K images #58

Open eloi-loomai opened 5 years ago

eloi-loomai commented 5 years ago

Hi Patrick,

I'd like to know if you think that the supervised descent method can be trained with 10000 images + landmarks?

Do you have any advise to do so?

Thanks!

patrikhuber commented 5 years ago

Hi,

Yes definitely, you shouldn't have any problems. I've trained it with around 3-5k images or so with 5-10x augmentation if I recall correctly, which would make around 15-50k training items or so. You will probably just need enough RAM (32 or 64 GB or something like that). And make sure to compile in release mode and with OpenMP enabled (I think the CMake script does it for the demo training app). (See also here for Eigen's solvers and which ones support parallelisation. IIRC superviseddescent uses PartialPivLU by default so you should be fine). I think it might be possible to go even higher with the number of training images, but maybe there's a point where you'd have to use an iterative solver, but that could be incorporated easily.