We can reasonably assume it's nothing more complicated than what you can do using a combination of machine learning libraries and OpenCV (however if they have instead some new technique, I hope to find a paper from them in a few months :) ).
EDIT: Adding more details.
If you are looking for similar ideas, you should read papers in the area of object-class segmentation / classification[0][1][2], and generic supervised learning.
[0] https://arxiv.org/abs/1510.03727
[1] https://www.microsoft.com/en-us/research/publication/object-...
[2] https://www.ais.uni-bonn.de/papers/DAGM_NC2_2011_Schulz.pdf