社区讨论LinuxDo 最新
【学习笔记】从零开始的OCR-1
引入OCR,以及对OCR整体流程的解释。 该系列为学习OCR的过程,后续会发布有关OCR经典论文的讲解以及技术探讨 OCR是什么 Optical Character Recognition,全称为光学字符识别,简称OCR。是目前各个公司都在发展的技术,基本上聊到VLM就绕不开OCR。例如 百度(PaddleOCR 系列),阿里巴巴(LayoutLM 系列),商汤(ABCNet),旷视(DBNet),合合信息,腾讯(优图)… 核心就是一句话,把 图片上的文字信息 转化为 计算机的文字 难点在于,图片中的各种不稳定因…
内容摘要
作者:#xuancx
板块:#文档共建
引入OCR,以及对OCR整体流程的解释。
该系列为学习OCR的过程,后续会发布有关OCR经典论文的讲解以及技术探讨
OCR是什么
Optical Character Recognition,全称为光学字符识别,简称OCR。是目前各个公司都在发展的技术,基本上聊到VLM就绕不开OCR。例如 百度(PaddleOCR 系列),阿里巴巴(LayoutLM 系列),商汤(ABCNet),旷视(DBNet),合合信息,腾讯(优图)…
核心就是一句话,把 图片上的文字信息 转化为 计算机的文字
难点在于,图片中的各种不稳定因素(遮挡,光照,角度,字体(多语言,多样性,大小))
分类
一般根据用途,可以是
文档文字识别,例如报纸,图书,PDF
自然场景识别,例如车牌,广告
票据,表格,证件等识别。其中表格还是很重要的,因为大部分做不好都是因为表格的问题。
按照文字的形成方式,又有:
标准印刷体
手写文字
艺术体,复杂文字,或者上述的混合体
OCR技术的实现,总体上可以分为四步:预处理图片、切割字符、识别字符、文字后处理。
预处理图片:例如对于一张有光影的图片,可以转化为黑白图;或者对于斜着的文字,可以用minAreaRect,HoughLinesP等方法进行转正。
切割字符:可以按照投影法,从横着或者竖着进行
识别字符:神经网络
文字后处理:对识别后的文字进行版面还原或者文本矫正(利用先验知识)
现在基本上分成两大类。传统OCR,即需要划分出“定位”和“识别”两个步骤的OCR(尤其在视频中常用,因为视频通常需要跨帧处理,把不同帧定位到的word串联);现代OCR,OCR的功能和定位逐渐向着全知全能的方向靠近,越来越靠近VLM,比如做DocumentVQA任务的OCR,或者OCR With Agent,或者DeepseekOCR这类。就基本上会给OCR的Decoder加上语义先验,语义先验要不是为了更好的识别字符,要不是为了更好地回答问题。
资讯来源
LinuxDo