It's a combination of deep learning and traditional computer vision algorithms. We do a lot of basic research, evaluate many different approaches, train them in dozens of variants and ultimately combine what performs best, then try to make it as easy to use as possible