Overview of the problem can be found here

Pipeline details can be found here