OCR技术
OCR是计算机视觉重要方向之一。传统的OCR是光学字符识别,是指电子设备检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;即针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。传统的OCR一般是面向扫描文档类对象,而现在我们常说的OCR一般指场景文字识别主要面向自然场景。
目前随着OCR技术的快速发展,OCR也不止于停留于科研实验和论文中,开始进行商用进入人们的日常生活中,OCR技术有着丰富的应用场景,一类典型的场景是日常生活中广泛应用的面向垂类的结构化文本识别,比如车牌识别、银行卡信息识别、身份证信息识别、火车票信息识别等等。
目前OCR的技术难点可以分为算法层和应用层两方面。对于算法层来说,在现实场景中字体大小不一致、文字弯曲、拍摄模糊、多种语言、背景干扰等都会对算法提出更高的要求;对于应用层来说,在现实场景中海量数据要求OCR能够实时处理,OCR应用常部署在移动端或嵌入式硬件,所以要求OCR模型足够轻量,识别速度足够快。
OCR主要可以分成文本检测和文本识别。
文本检测的任务是定位出输入图像中的文字区域。目前文本检测算法主要分为两种,一类方法将文本检测视为目标检测中的一个特定场景,基于通用目标检测算法进行改进适配,如TextBoxes[1]、CTPN[3]。由于文本检测与目标检测在目标信息以及任务本身上仍存在一些区别,如文本一般长宽比较大,往往呈“条状”,文本行之间可能比较密集,弯曲文本等,因此又衍生了很多专用于文本检测的第二类算法,如EAST[5]、PSENet[6]、DBNet[7]等等。
文本识别的任务是识别出图像中的文字内容,一般输入来自于文本检测得到的文本框截取出的图像文字区域。文本识别一般可以根据待识别文本形状分为规则文本识别和不规则文本识别两大类。规则文本主要指印刷字体、扫描文本等,文本大致处在水平线位置;不规则文本往往不在水平位置,存在弯曲、遮挡、模糊等问题。规则文本识别的算法根据解码方式的不同可以大致分为基于CTC和Sequence2Sequence两种,不规则文本的识别算法相比更为丰富,如STAR-Net[12]、RARE[13]等。
- 点赞
- 收藏
- 关注作者
评论(0)