快递面单信息识别

2022/05/14 Android 共 1694 字,约 5 分钟
riskycheng

需求背景

难点

针对快递面单信息提取需求,使用OCR 可以进行文本内容的提取(检测 & 识别 )。但却难以分解收件人、寄件人等具体信息。并且由于不同厂商、同一厂商不同时期的面单格式可能存在较大差异,从而使得后检测识别后的内容理解&分解变得更加复杂。

解决方案

通过三阶段方法模拟人工信息检索方式:

  • 阶段-1:搜索整个页面中目标区域锚点(收件人)
  • 阶段-2:针对感兴趣区域(收件人)进行文本检测和识别
  • 阶段-3:针对识别内容进行基于正则匹配实现内容分解
  • 阶段-4:支持外部json配置和结果输出

阶段-1 技术要点

  • 自训练检测模型 针对收件人区域存在的锚点图标(收字状的气泡)、符号(【收】)或者其他格式,选用NanoDet深度深度学习检测模型进行训练。 该项目中,要求覆盖不同收件人锚点格式,采集对应的数据集(10K+)进行数据标注,并完成模型训练和量化。
  • 检测模型部署 对于训练好的模型,通过ncnn实现端侧部署。ncnn由于其出色的性能,无论在移动端或服务端,在通用性推理框架中,性能方面十分均衡,故而是首选。 不过针对配有Nvidia显卡或者Intel CPU的机型,可以使用TensorRT或OpenVINO作为代替。

阶段-2 技术要点

  • OCR文本检测识别模型部署 在第一阶段确定收件人区域后,在该区域进行文本位置的检测,并识别内容。选用PaddleOCR方案,达到100ms/帧的识别速率(i5-10400F)。该方式可以避免对全文进行文本检测和识别,造成大量的无效计算,并且影响后续的页面分析提取收件人信息的负担。 对PaddleOCR实现基于c++的推理框架部署,可以便捷地部署到多平台。

阶段-3 技术要点

  • 正则匹配分解识别内容 识别出收件人区域的全部信息后,结合先验知识:手机号码的格式,收件人区域一般处于手机号码的前半部分,详细地址处于手机号码的后半部分,因此结合第一阶段的检测结果,对其相对位置进行排序筛选,可以解析出收件人的各字段信息。

阶段-4 技术要点

  • 外部json配置文件
    cameraID 1            // 指定不同相机
    angleRotation 0       // 图像旋转,支持0, 90, 180, 270
    flip 0                // 图像镜像翻转,1表示开启
    savePathPrefix ./     // 结果存储位置
    preLoadResult 0       // 是否加载已有结果用于去重
    hitCount 3            // 连续命中次数达标后写入结果
    hitThresh 0.8         // 命中判定阈值
    
  • 结果json输出
    {"sn":"1257012340251","name":"欢迎","phone":"13888542325","address":"云南省昆明市新发小区顺达里2栋3单元601","date":"2022-03-04 21:15:26"}
    {"sn":"1257004579851","name":"马锁娃","phone":"18419395859","address":"甘肃省天水市甘谷县安远镇北川村一组","date":"2022-03-04 21:16:22"}
    {"sn":"1256970659551","name":"黄志权","phone":"18825836307","address":"广东省梅州市大埔县枫朗镇枫朗村2队12号","date":"2022-03-04 21:16:46"}
    {"sn":"1257010269951","name":"周正思","phone":"18007864359","address":"广西壮族自治区百色市乡登高村陇水屯","date":"2022-03-04 21:17:04"}
    

效果演示

Animation.gif

运行程序

百度云:可执行程序下载

涉及内容

  • 重编译OpenCV (支持中文绘制)
  • PaddleOCR C++推理框架部署
  • NanoDet 模型模型训练
  • NanoDet基于NCNN部署
  • jsoncpp支持外部配置文件解析和结果输出
  • 基于检测结果的结构化信息分析
  • 基于Zbar C++实现条形码识别部署

定制合作

可支持需求定制部署,解决实际生产过程中遇到的问题,解放低效人力,高效低成本运作。
商务合作可联系:

  • 电话:17602171768
  • 邮箱:3029784716@qq.com

文档信息

Search

    Table of Contents