5 ms·
To overcome these shortcomings, we used a modern machine learning-based algorithm. The algorithm is trained on images where humans annotate the most significant
by Omnipresent 10y ago
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?
- edran 10y agoWe 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 https://arxiv.org/abs/1510.03727 [1] https://www.microsoft.com/en-us/research/publication/object-class-segmentation-using-random-forests/ https://www.microsoft.com/en-us/research/publication/object-... [2] https://www.ais.uni-bonn.de/papers/DAGM_NC2_2011_Schulz.pdf https://www.ais.uni-bonn.de/papers/DAGM_NC2_2011_Schulz.pdf
- Omnipresent 10y agoYup, there aren't any ML built into OpenCV but perhaps they use a ML library on top of OpenCV.
- jdc 10y agoOpenCV 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.
- lovelearning 10y agohttps://github.com/opencv/opencv/blob/master/modules/ml/src/ https://github.com/opencv/opencv/blob/master/modules/ml/src/
- hahaker 10y agoObviously it is a convolutional neural net. Here you can find source code for one of the latest work: https://github.com/s9xie/hed https://github.com/s9xie/hed
- saverio-murgia 10y agoNot so obvious. In fact, I believe they are using Random Forest.
- hahaker 10y agoGood point
- saverio-murgia 10y agoHi, they are using Random Forest to get the edges :)