1.眼睛看到页面 计算机获取图像

星博讯 AI基础认知 1
  1. 找到文字区域 -> 计算机文字检测
  2. 认出每个字 -> 计算机文字识别
  3. 理解句子意思 -> 计算机后处理与纠错

现代OCR技术,尤其是深度学习兴起之后,已经变得高度自动化且准确,其核心流程可以概括为以下几个关键步骤:

1.眼睛看到页面 计算机获取图像-第1张图片-星博讯网络科技知识-SEO优化技巧|AI知识科普|互联网行业干货大全


第一步:图像预处理

在识别之前,需要对输入的原始图像进行优化,为后续步骤扫清障碍,就像在看书前先擦干净眼镜一样。

  • 灰度化/二值化:将彩色或灰度图像转换为纯黑白图像,突出文字与背景的对比。
  • 降噪:去除图像中的斑点、划痕、背景纹理等干扰信息。
  • 倾斜校正:检测并矫正文档的倾斜角度,保证文字行是水平的。
  • 对比度增强:提高文字与背景的对比度,使文字更清晰。

第二步:文本检测

这是定位图像中文字区域的位置,就像在一张复杂的海报上,先找出所有包含文字的文字块。

  • 传统方法:利用文字区域的纹理、边缘、笔画密度等特征,使用滑动窗口、连通域分析等技术。
  • 深度学习方法(主流)
    • CTPNTextBoxes++ 等模型可以精确检测水平或多方向的文本行。
    • Pixel LinkPSENet 等方法在像素级别预测文本区域,能更好地处理弯曲文本。
    • 最终输出通常是文本行的边界框

第三步:文本识别

这是核心环节,将检测到的文字图像区域,转换成计算机可编辑的字符编码(如UTF-8)。

  • 传统方法(单字识别)
    1. 字符分割:将一行文字图像切割成单个字符的图像,这对粘连、断裂字符非常敏感,是传统方法的瓶颈。
    2. 特征提取:对每个字符图像提取特征(如笔画方向、轮廓、投影特征等)。
    3. 分类匹配:将提取的特征与预先训练好的字符模板库进行比较,选择最匹配的字符,这就像查字典。
  • 深度学习方法(主流,端到端识别)
    • 无需单独切割字符!直接将整个文本行图像输入神经网络。
    • 主流架构:CNN + RNN + CTC/Attention
      1. 卷积神经网络:充当“视觉特征提取器”,从图像中提取出强大的序列化特征图。
      2. 循环神经网络:充当“序列建模器”,理解特征之间的上下文关系(看到“苹”之后,后面是“果”的概率更高)。
      3. 解码器
        • CTC:一种高效的机制,允许网络在不精确对齐的情况下输出字符序列,非常适合这类任务。
        • Attention:让网络学会在识别当前字符时“注意”图像的相关部分,对不规则文本效果更好。
    • 模型输出直接就是字符串,如 “Hello World”。

第四步:后处理

利用语言模型和上下文信息对识别结果进行修正和优化,提升准确率。

  • 拼写检查:纠正明显的拼写错误(如 “0ffice” -> “office”)。
  • 语言模型:利用词频、N-gram或更先进的BERT等模型,选择在语言上最合理的句子,识别出“今大天气很好”,语言模型会将其修正为“今天天气很好”。
  • 结构化输出:对于特定格式的文档(如发票、名片),可以按照预设模板提取关键信息(姓名、金额、日期等),形成结构化数据。

技术演进与挑战

  • 从传统到深度学习:早期OCR依赖手工设计特征和规则,复杂场景下效果差,深度学习(特别是CNN和RNN)让OCR实现了从“特征工程”到“表示学习”的飞跃,准确率和鲁棒性大幅提升。
  • 从水平文本到复杂场景:现代OCR不仅要处理扫描文档,还要处理自然场景中的文字,面临诸多挑战:
    • 复杂背景:文字与背景混杂。
    • 字体多样:艺术字、手写体、极端字体。
    • 不规则排列:弯曲、旋转、透视变形文字(如瓶子上的标签)。
    • 多语言混合:中英文、公式混合排版。
  • 端到端OCR:最新的趋势是将检测和识别两个步骤合并到一个统一的深度网络中,实现更快的速度和更优的全局性能。

OCR的文字识别原理,简单说就是: 先通过图像处理技术“找到”文字区域,再利用深度学习模型(特别是CNN+RNN+CTC/Attention的架构)“读懂”这些区域里的图像序列,将其转换为字符序列,最后通过语言知识进行“润色”得到最终文本。

这个过程完美融合了计算机视觉、自然语言处理和机器学习等多个AI领域的知识。

标签: 视觉感知 图像获取

抱歉,评论功能暂时关闭!

微信咨询Xboxun188
QQ:1320815949
在线时间
10:00 ~ 2:00