摘要:好多年前吧,最早的OCR技术出现了,那时候挺笨的,识别率不高,后来慢慢进步了,深度学习加入,现在厉害多了,能在各种地方用,手机APP,金融系统,政府部门,都离不开它,技术一直在发展,一直在进步,所有人都觉得它以后不得了。
开源的眼睛,OCR项目纵览与未来
好多年前吧,最早的OCR技术出现了,那时候挺笨的,识别率不高,后来慢慢进步了,深度学习加入,现在厉害多了,能在各种地方用,手机APP,金融系统,政府部门,都离不开它,技术一直在发展,一直在进步,所有人都觉得它以后不得了。
但是商业的API,也不是完美无缺的,虽然用起来方便,大公司提供,稳定,可是也有问题,比如收费,比如安全,我们自己的东西,交给别人识别,总觉得不放心,有些公司就想,要是能自己搞一套OCR就好了,安全,还能定制,想怎么改就怎么改,可是在那种环境下,谁能受得了,自己搞一套,得花多少钱,多少人力。
开源OCR引擎就出现了,解决了这个问题,Tesseract OCR,一个老牌的开源项目,历史很长了,跨平台的,能在各种操作系统上跑,特点也挺多,支持很多语言,文档数字化需要它,古籍整理也需要它,一个很常见的应用场景,就是把纸质书扫描成电子版,方便保存,方便查阅,大家都觉得,这个工具真好用,可惜有点慢。
Tesseract.js,是Tesseract的Web版本,在浏览器里就能用,不用安装软件,很方便,有个好处,就是离线也能用,上传图片,直接识别,不用传到服务器,保护用户隐私,大家都在想,这到底是怎么一回事,怎么能做到离线识别,技术真是越来越厉害了,用户体验也越来越好。
PaddleOCR,百度开源的,功能很全面,它的技术特点,是集成了很多功能,文本检测,文本识别,都有,还提供了很多工具,方便训练模型,好多公司都在用,用它来解决实际问题,比如识别车牌,识别身份证,有些公司还会自己训练模型,针对自己的场景,提高识别精度。
EasyOCR,也挺好用的,基于Tesseract,用Python写的,很简单,容易上手,支持很多语言,在Python项目里,很容易集成,写个脚本,就能批量识别图片里的文字,比如批量处理发票,批量提取合同信息,可以实现办公自动化了。
MMOCR,更高级一点,是面向复杂场景的,基于PyTorch,功能很强大,可以做文本检测,可以做文本识别,还能处理各种复杂的版面,比如表格,比如公式,在科研领域,很有价值,可以用来做各种实验,验证新的算法。
simple-ocr-opencv,很轻量级,基于OpenCV和NumPy,设计理念很简单,就是要做一个轻量级的OCR引擎,适用于资源有限的设备,比如嵌入式系统,可以根据自己的需求,进行二次开发,定制自己的OCR功能。
OCR工具的应用,不只局限于识别文字,还能提升PDF文档质量,OCRmyPDF,就是用来做这个的,它基于Tesseract-OCR,把PDF里的文字提取出来,让PDF可以搜索,可以复制,以前扫描的PDF,都是图片,不能搜索,现在可以了,方便多了,在文档归档,信息检索方面,用处很大。
Umi-OCR,是个桌面OCR工具,基于PaddleOCR,用起来很简单,功能也挺多,可以截图识别,可以批量识别,在日常办公中,用处很大,可以识别各种图片,各种文档,能节省很多时间,开发者也一直在收集用户反馈,不断优化识别效果,提高用户体验。
开源社区的共建,对OCR技术的发展,起到了很大的推动作用,大家一起贡献代码,一起分享经验,让OCR技术越来越成熟,越来越强大,如果能结合OpenCV等图像处理工具,就能进一步提升OCR识别效果,比如对图片进行预处理,去除噪声,提高清晰度。
定制化字库训练也很重要,针对特定场景,训练自己的字库,可以大大提高识别率,比如识别医学报告,识别法律文书,这些场景的文字,都有自己的特点,用通用字库,识别率不高,用定制字库,效果就好很多,很多人看完这个故事,都会去想,OCR的未来会怎样。
OCR技术在智能化时代,面临着很多机遇,也面临着很多挑战,机遇是,应用场景越来越广泛,挑战是,需要不断提高识别精度,不断适应新的场景,OCR技术在各领域的应用前景,非常广阔,比如智能客服,比如自动驾驶,比如智能家居,都需要OCR技术,作为基础支撑,总而言之,路还很长,OCR的未来,值得期待,OCR技术会越来越好。
来源:电子小课堂一点号
