2

I am busy developing an android application that requires real-time On-device Text Recognition which should also work offline, so cloud recognition is not an option. I am currently making use of Firebase ML Kit (On Device) to perform the Text Recognition Tasks. I also use a Camera Previewer to process images from the camera real time, and each frame needs to my analyzed.

ML Kit works great for detecting plain text (even in very small details), but the issue I am facing is to detect numeric values.

Take the following Image: Image To Scan

I have no problem detecting all the text on this image, but for some reason the numeric values are very inaccurate. I will get results ranging from: 21 to 216 to 2180.

I have done some research on MNIST for hand drawn digits but not 100% sure if that will work for my scenario since this is not hand drawn and this contains much more detail than just digits. I have also tried scaling the Image, Grayscale (takes extremely long), removing image noise etc.

Some of the above attempts increased accuracy but takes way to long for a "Real-Time" experience, and the other attempts sometimes made it even more inaccurate.

What I am trying to achieve is to either implement another type of "Text Recognition" or to modify the image in such a way that it will be able to detect numeric values much more accurate. I would have thought since the numeric values are 99% of the time the "biggest text", it should not have an issue detecting the value, but is seems the difference in font-sizes might complicate things.

Any advise on this situation would be much appreciated.

Ibrahim Ulukaya
  • 12,767
  • 1
  • 33
  • 36
Ruan
  • 175
  • 1
  • 9

0 Answers0