To overcome these shortcomings, we used a modern machine learning-based algorithm. The algorithm is trained on images where humans annotate the most significant edges and object boundaries.
Does anyone know which "modern machine-learning algorithm" they are referring to here? Is there something like this available in OpenCV?
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.
OpenCV doesn't have any ML algorithms builtin that I know of, but the article is pretty vague there eh? Either way, document-scanning from a phone camera is no picnic.
I tried a little while ago. Memory is kind of hazy, but depending on how well you do the image transformation (automatically[ish] skew to rectangle, etc), image quality might get poor. Then you have to do the actual OCR. Now the only complete OSS solution is Tesseract and it's not a state-of-the-art one. There's also ocrpy, but it's more of a toolkit and it's model needs to be trained (one single-line text when I last checked). So yeah, it's fairly hard to do.
Does anyone know which "modern machine-learning algorithm" they are referring to here? Is there something like this available in OpenCV?