Sorry, not my area. Which are the current best algorithms? (Bonus points if they are open source so the OP can add them to the benchmark.)
https://news.ycombinator.com/item?id=25455314
https://news.ycombinator.com/item?id=25455314