OCR is still a very hard problem. We don't have universal powerful solutions. We use the CTC loss function

An Intuitive Explanation of Connectionist Temporal Classification | Towards Data Science
Sequence Modeling With CTC | Distill

which is very popular, but it's still not enough.

The simple solution would be to use object detection algorithms for recognizing every single character and combine them to form words and sentences. We already have really powerful object detection algorithms like Faster-RCNN, YOLO, SSD. They can detect even very complicated objects that are not fully visible. But I read that these object detection algorithms are very poor if you use them for recognizing characters. It's very strange since these are very simple objects, just a few lines and circles. And mainly grayscale images. I know that we use object detection algorithms to detect the regions of text on big images. And then we recognize this text. Why can't we just use object detection algorithms (small versions of popular neural networks) for recognizing single characters?

Why we use CTC or other approaches (besides the fact that it would require much more labeling)? Why not object detection?


1 Answer 1


Good question! Using Yolo to recognise characters would be a good experiment to try. It may be because of the density of characters on a page -- systems like Yolo are very good at detecting a small number e.g. 2,3 or 10, objects, but don't work so well when the number of objects is the hundreds as you might have with OCR. A better approach might be to try face detection methods that work well with large crowds.


You must log in to answer this question.