CN110309796A - 面单识别方法、装置和设备 - Google Patents

面单识别方法、装置和设备 Download PDF

Info

Publication number
CN110309796A
CN110309796A CN201910602328.3A CN201910602328A CN110309796A CN 110309796 A CN110309796 A CN 110309796A CN 201910602328 A CN201910602328 A CN 201910602328A CN 110309796 A CN110309796 A CN 110309796A
Authority
CN
China
Prior art keywords
text identification
target
result
model
face
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910602328.3A
Other languages
English (en)
Inventor
于浩然
曾江海
龚亮
林辉明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Tunji Network Technology Co Ltd
Shanghai Zhongtongji Network Technology Co Ltd
Original Assignee
Shanghai Tunji Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Tunji Network Technology Co Ltd filed Critical Shanghai Tunji Network Technology Co Ltd
Priority to CN201910602328.3A priority Critical patent/CN110309796A/zh
Publication of CN110309796A publication Critical patent/CN110309796A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/243Aligning, centring, orientation detection or correction of the image by compensating for image skew or non-uniform image deformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

本发明涉及一种面单处理方法、装置和设备,通过获取面单轮廓图像;将面单轮廓图像进行扶正处理,得到目标图像;将目标图像迁移至目标处理器中预先训练的目标定位模型,得到目标定位结果;分别将关键图像迁移至目标处理器中预先训练的第一文本识别模型和预先训练的第二文本识别模型,得到第一文本识别结果和第二文本识别结果;若第一文本识别结果与第二文本识别结果一致,则将第一文本识别结果或第二文本识别结果作为关键图像对应的关键内容,降低了面单识别对识别版面的要求和识别结果对字符的切分效果的依赖,提高了识别结果的准确率,还实现了通过训练学习模型识别面单中的内容,降低了CPU的占用率,进而提高了识别速度。

Description

面单识别方法、装置和设备
技术领域
本发明涉及自动识别技术领域,具体涉及一种面单识别方法、装置和设备。
背景技术
随着人们购买力的不断提高,物流在人们的生活中越来越重要。快递面单的识别在快件转运过程中非常重要,快速、准确地识别出快递面单中的内容能够有效提高快件运转的速度。目前的面单识别方式基于光学字符识别(Optical Character Recognition,OCR)技术,通过图像预处理,文本块的提取,文本识别三个阶段完成识别。图像预处理一般是通过图像的旋转扶正,图像的清晰度进行处理;文本块的提取则是通过二值化图像后框选出符合固定比例大小的文本框;文本识别则是通过Tesseract-OCR开源的文本识别库识别。
但是,目前的面单识别对识别版面要求较高,识别结果过分依赖于字符的切分效果,如果字符连接、扭曲、污点则导致切分的结果很不理想,使得识别结果准确率较低;而且,目前的OCR整个流程都是在中央处理器(Central Processing Processor,CPU)上进行计算,对CPU的占用率极高,使得识别速度缓慢。因此,目前的面单识别方式存在识别结果准确率较低和识别速度缓慢的问题。
发明内容
有鉴于此,本发明的目的在于提供一种面单识别方法、装置和设备,以克服目前面单识别方式存在识别结果准确率较低和识别速度缓慢的问题。
为实现以上目的,本发明采用如下技术方案:
一种面单识别方法,所述方法包括:
获取面单轮廓图像;
将所述面单轮廓图像进行扶正处理,得到目标图像;
将所述目标图像迁移至目标处理器中预先训练的目标定位模型,得到目标定位结果;
若检测到所述目标定位结果表示完整,则将所述目标定位结果作为所述目标图像中的关键图像;
分别将所述关键图像迁移至所述目标处理器中预先训练的第一文本识别模型和预先训练的第二文本识别模型,得到所述关键图像的所述第一文本识别模型的第一文本识别结果,以及所述关键图像的所述第二文本识别模型的第二文本识别结果;
若判断出所述第一文本识别结果与所述第二文本识别结果一致,将所述第一文本识别结果或所述第二文本识别结果作为所述关键图像对应的关键内容。
进一步地,以上所述面单识别方法,所述获取面单轮廓图像,包括:
获取快件图像;
将所述快件图像二值化,得到面单轮廓;
提取所述面单轮廓内的所有图像信息,得到所述面单轮廓图像。
进一步地,以上所述面单识别方法,所述将所述面单轮廓图像进行扶正处理,得到目标图像,包括:
获取所述面单轮廓图像的特征信息;
在预设的所有面单模板中,确定与所述特征信息相匹配的目标面单模板;
以所述目标面单模板为基准,将所述面单轮廓图像扶正,得到所述目标图像。
进一步地,以上所述面单识别方法,所述将所述目标图像迁移至目标处理器中预先训练的目标定位模型,得到目标定位结果之后,还包括:
若所述识别结果表示不完整,则获取所述面单轮廓图像的旋转次数;
判断所述旋转次数是否达到预设旋转次数;
若所述旋转次数达到所述预设旋转次数,则生成失败警报,以提醒工作人员进行人工识别;
若所述旋转次数未达到所述预设旋转次数,则将所述面单轮廓图像按照预设方向和预设角度进行旋转,得到旋转后的旋转面单轮廓图像;
对应地,将所述面单轮廓图像进行扶正处理,得到目标图像,包括:
将所述旋转面单轮廓图像进行扶正处理,得到目标图像。
进一步地,以上所述面单识别方法,所述得到所述关键图像的所述第一文本识别模型的第一文本识别结果,以及所述关键图像的所述第二文本识别模型的第二文本识别结果之后,还包括:
若判断出所述第一文本识别结果与所述第二文本识别结果不一致,则获取所述旋转次数;
判断所述旋转次数是否达到所述预设旋转次数;
若所述旋转次数达到所述预设旋转次数,则生成所述失败报警,以使所述工作人员进行人工识别;
若所述旋转次数未达到所述预设旋转次数,则按照所述预设方向和所述预设角度对所述面单轮廓图像进行旋转,得到旋转后的所述旋转面单轮廓图像;
对应地,将所述面单轮廓图像进行扶正处理,得到目标图像,包括:
将所述旋转面单轮廓图像进行扶正处理,得到目标图像。
进一步地,以上所述面单识别方法,还包括:
获取预设周期内所述失败报警的生成率;
判断所述生成率是否大于预设生成率;
若所述生成率大于所述预设生成率,则生成故障警报。
进一步地,以上所述面单识别方法,预先训练的所述目标定位模型的训练过程包括:
获取第一预设数量的目标图像样本和对应的目标定位结果样本作为第一训练样本;
将所述第一训练样本输入YOLO模型进行训练,得到所述目标定位模型。
进一步地,以上所述面单识别方法,预先训练的所述第一文本识别模型和预先训练的所述第二文本模型的训练过程包括:
获取第二预设数量的关键图像样本和对应的关键内容样本作为第二训练样本;
将所述第二训练样本输入卷积循环神经网络CRNN模型进行训练,得到所述第一文本识别模型;
将所述第二训练样本输入密集卷积网络DenseNet模型进行训练,得到所述第二文本识别模型。
本发明还提供了一种面单识别装置,所述装置包括获取模块、扶正模块、迁移模块和确定模块;
所述获取模块,用于获取面单轮廓图像;
所述扶正模块,用于将所述面单轮廓图像进行扶正处理,得到目标图像;
所述迁移模块,用于将所述目标图像迁移至目标处理器中预先训练的目标定位模型,得到目标定位结果;
所述确定模块,用于若检测到所述目标定位结果表示完整,则将所述目标定位结果作为所述目标图像中的关键图像;
所述迁移模块,还用于分别将所述关键图像迁移至所述目标处理器中预先训练的第一文本识别模型和预先训练的第二文本识别模型,得到所述关键图像的所述第一文本识别模型的第一文本识别结果,以及所述关键图像的所述第二文本识别模型的第二文本识别结果;
所述确定模块,还用于若判断出所述第一文本识别结果与所述第二文本识别结果一致,则将所述第一文本识别结果或所述第二文本识别结果作为所述关键图像对应的关键内容。
本发明还提供了一种面单识别设备,包括主处理器、目标处理器和存储器;
所述主处理器和所述目标处理器分别与所述存储器相连;
所述主处理器和所述目标处理器相连;
所述主处理器用于调用并执行以下程序:
获取面单轮廓图像;
将所述面单轮廓图像进行扶正处理,得到目标图像;
将所述目标图像迁移至目标处理器中预先训练的目标定位模型,得到目标定位结果;
若检测到所述目标定位结果表示完整,则将所述目标定位结果作为所述目标图像中的关键图像;
分别将所述关键图像迁移至所述目标处理器中预先训练的第一文本识别模型和预先训练的第二文本识别模型,得到所述关键图像的所述第一文本识别模型的第一文本识别结果,以及所述关键图像的所述第二文本识别模型的第二文本识别结果;
若判断出所述第一文本识别结果与所述第二文本识别结果一致,则将所述第一文本识别结果或所述第二文本识别结果作为所述关键图像对应的关键内容;
所述目标处理器,用于调用并执行以下程序:
通过预先训练的所述目标定位模型,处理输入的所述目标图像,输出所述目标定位结果;
通过预先训练的所述第一文本识别模型,处理输入的所述关键图像,输出所述第一文本识别结果;
通过预先训练的所述第二文本识别模型,处理输入的所述关键图像,输出所述第二文本识别结果;
所述存储器用于存储以上所述处理器和所述目标处理器执行的程序。
本发明的面单识别方法、装置和设备,采用以上技术方案,通过获取面单轮廓图像;将面单轮廓图像进行扶正处理,得到目标图像;将目标图像迁移至目标处理器中预先训练的目标定位模型,得到目标定位结果;若检测到目标定位结果表示完整,则将目标定位结果作为目标图像中的关键图像;分别将关键图像迁移至目标处理器中预先训练的第一文本识别模型和预先训练的第二文本识别模型,得到关键图像的第一文本识别模型的第一文本识别结果,以及关键图像的第二文本识别模型的第二文本识别结果;若判断出第一文本识别结果与第二文本识别结果一致,则将第一文本识别结果或第二文本识别结果作为关键图像对应的关键内容,降低了面单识别对识别版面要求,同时还降低了识别结果对字符的切分效果的依赖,提高了识别结果的准确率,还实现了通过训练学习模型以识别面单中的内容,降低了CPU的占用率,进而提高了识别速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的面单识别方法实施例一的流程图;
图2是本发明的面单识别方法实施例二的流程图;
图3是本发明的面单识别装置实施例一的结构示意图;
图4是本发明的面单识别装置实施例二的结构示意图;
图5是本发明的面单识别设备实施例的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
图1是本发明的面单识别方法实施例一的流程图;如图1所示,本实施例的面单识别方法具体可以包括如下步骤:
S101、获取面单轮廓图像;
获取面单的轮廓图像,具体地,面单的轮廓图像包括快递面单中的所有信息,例如收件人信息、寄件人信息等。
S102、将面单轮廓图像进行扶正处理,得到目标图像;
获取到的面单轮廓图像中的信息可能是歪斜的,无法对其进行内容提取和内容识别,或者导致提取或识别错误。因此,需要对面单轮廓图像进行扶正处理,使面单轮廓图像中的信息不再歪斜,进而可以进行内容提取和识别。
S103、将目标图像迁移至目标处理器中预先训练的目标定位模型,得到目标定位结果;
本实施例中,可以预先训练目标定位模型,并将目标定位模型存储至目标处理器中,以降低CPU的占用率,本实施例目标处理器优选图形处理器(Graphics ProcessingUnit,GPU)。本实施例的目标定位模型的作用是在输入的目标图像中获取目标位置的图像作为目标定位结果。具体地,目标定位模型可以是经过训练的深度学习模型。
具体地,得到目标图像之后,把目标图像迁移至目标处理器中预先训练的目标定位模型中,得到目标定位结果。
进一步地,本实施例优选通过面单识别方法获取收件人电话号码和寄件人号码。因此,在得到目标图像之后,把目标图像迁移至目标处理器中预先训练的目标定位模型中,经过目标定位模型处理后,输出收件人电话号码区域的图片和寄件人号码区域的图片作为目标定位结果。
S104、若检测到目标定位结果表示完整,则将目标定位结果作为目标图像中的关键图像;
得到目标定位结果后,如果检测到目标定位结果表示完整,那么将目标定位结果作为目标图像中的关键图像。
具体地,本实施例中,如果检测到收件人电话号码区域的图片中的电话号码是完整的,那么将收件人电话号码区域的图片作为目标图像中的关键图像。
对应地,如果检测到寄件人电话号码区域的图片中的电话号码是完整的,那么也将寄件人电话号码区域的图片作为目标图像中的关键图像。
S105、分别将关键图像迁移至目标处理器中预先训练的第一文本识别模型和预先训练的第二文本识别模型,得到关键图像的第一文本识别模型的第一文本识别结果,以及关键图像的第二文本识别模型的第二文本识别结果;
本实施例中预先训练了第一文本识别模型和第二文本识别模型,并将第一文本识别模型和第二文本识别模型存储于目标处理器中。分别将关键图像迁移至第一文本识别模型和第二文本识别模型中,得到关键图像的第一文本识别模型的第一文本识别结果,以及关键图像的第二文本识别模型的第二文本识别结果。
具体地,第一文本识别模型和第二文本识别模型均可以是经过训练的深度学习模型,需要注意的是,本实施例的第一文本识别模型和第二文本识别模型采用不同的深度学习模型。
S106、若判断出第一文本识别结果与第二文本识别结果一致,则将第一文本识别结果或第二文本识别结果作为关键图像对应的关键内容。
获得第一文本识别结果和第二文本识别结果之后,如果判断出第一文本识别结果与第二文本识别结果是一致的,那么将第一文本识别结果或第二文本识别结果作为关键图像对应的关键内容。
具体地,将收件人电话号码区域的图片分别输入第一文本识别模型和第二文本识别模型,得到第一文本识别模型和第二文本识别模型输出的两个结果,如果这两个结果是相同的,也就是通过两个文本识别模型识别出的收件人电话号码是相同的,则把识别出的收件人手机号码作为关键图像对应的关键内容;对应的,将寄件人电话号码区域的图片分别输入第一文本识别模型和第二文本识别模型,得到第一文本识别模型和第二文本识别模型输出的两个结果,如果这两个结果是相同的,也就是通过两个文本识别模型识别出的寄件人电话号码是相同的,则把识别出的寄件人手机号码作为关键图像对应的关键内容。
本实施例采用以上技术方案,通过获取面单轮廓图像;将面单轮廓图像进行扶正处理,得到目标图像;将目标图像迁移至目标处理器中预先训练的目标定位模型,得到目标定位结果;若检测到目标定位结果表示完整,则将目标定位结果作为目标图像中的关键图像;分别将关键图像迁移至目标处理器中预先训练的第一文本识别模型和预先训练的第二文本识别模型,得到关键图像的第一文本识别模型的第一文本识别结果,以及关键图像的第二文本识别模型的第二文本识别结果;若判断出第一文本识别结果与第二文本识别结果一致,则将第一文本识别结果或第二文本识别结果作为关键图像对应的关键内容,降低了面单识别对识别版面要求,同时还降低了识别结果对字符的切分效果的依赖,提高了识别结果的准确率,还实现了通过训练学习模型以识别面单中的内容,降低了CPU的占用率,进而提高了识别速度。
图2是本发明的面单识别方法实施例二的流程图;如图2所示,本实施例的面单识别方法具体可以包括如下步骤:
S201、获取快件图像;
本实施例中,可以获取快件的完整图像。具体地,可以通过高清摄像机拍摄快件贴有快递面单一侧的快件图像。需要注意的是,快件图像可以是歪斜的,但是要尽量包含快递面单中的所有信息,保证快件图像是完整的,快件图像可以在分拣中心进行拍摄。
进一步地,本实施例中,获取高清摄像机拍摄的快件图像。
S202、将快件图像二值化,得到面单轮廓;
本实施例中,将快件图像进行二值化处理,得到面单轮廓。
具体地,本实施例中基于OpenCV图像二值化函数cvThreshold将快件图像二值化处理,得到白色的面单轮廓,面单轮廓中包含有黑色的图像信息内容。
S203、提取面单轮廓内的所有图像信息,得到面单轮廓图像;
提取面单轮廓内所有的图像信息,然后对其进行拼接处理,使其成为正规的矩形,将矩形多余的白色部分去除,将矩形缺少的部分用白色补充,进而得到矩形的面单轮廓图像。面单轮廓图像中包含快递面单的所有信息,例如收件人信息、寄件人信息、物流公司的标志、二维码等。
具体地,本实施例优选获取收件人信息中的收件人电话号码和寄件人信息中的寄件人电话号码,优选收件人电话号码和寄件人电话号码均为11位0-9的***数字。
S204、获取面单轮廓图像的特征信息;
获取面单轮廓图像的特征信息。本实施例中,特征信息可以包括物流公司商标logo的位置、logo与正文的距离比例等能够确定面单版式的关键版式信息。
S205、在预设的所有面单模板中,确定与特征信息相匹配的目标面单模板;
本实施例预先存储有面单模板,获取到面单轮廓图像的特征信息后,可以采用opencv的特征匹配,将特征信息与预存储的面单模板的特征信息进行比对,进而确定与该特征信息版式相同,也就是与之相匹配的目标面单模板。
进一步地,本实施例中,还可以借助opencv的特征匹配的思想,将opencv中特征匹配的算法算子采用cuda编程,将其迁移到目标处理器中,提高计算速度。
S206、以目标面单模板为基准将面单轮廓图像扶正,得到目标图像;
本实施例中,可以将上述步骤中确定的目标面单模板作为基准,获取面单轮廓图像与目标面单模板之间相差的角度,按照该角度旋转调整面单轮廓图像,将面单轮廓图像扶正,得到目标图像。本实施例中,面单轮廓图像能够成功扶正的图像扶正率可以达到97%。
S207、将目标图像迁移至目标处理器中预先训练的目标定位模型,得到目标定位结果;
本实施例中,预先训练目标定位模型,并将目标定位模型存储至目标处理器中,以降低CPU的占用率,本实施例目标处理器优选为GPU。本实施例的目标定位模型的作用是在输入的目标图像中获取目标位置的图像作为目标定位结果。具体地,目标定位模型可以是深度学习模型,此处优选为YOLO模型,YOLO模型将整个检测过程作为一个回归问题处理,处理速度比Rosetta方案中的Faster-RCNN模型快很多。
具体地,得到目标图像之后,把目标图像迁移至目标处理器中预先训练的目标定位模型中,得到目标定位结果。
进一步地,本实施例优选获取收件人电话号码和寄件人号码,可以将收件人电话号码和寄件人号码总称为电话号码。具体地,在得到目标图像之后,可以把目标图像迁移至目标处理器中预先训练的目标定位模型中,经过目标定位模型处理后,输出收件人电话号码区域的图片和寄件人号码区域的图片作为目标定位结果。
进一步地,可以将收件人电话号码区域的图片和寄件人号码区域的图片分别作为单独的目标定位结果,也可以将收件人电话号码区域的图片和寄件人号码区域的图片共同作为一个目标定位结果。本实施例中,优选将收件人电话号码区域的图片和寄件人号码区域的图片分别作为单独的目标定位结果。
进一步地,目标定位模型的训练过程如下:获取第一预设数量的目标图像样本和对应的目标定位结果样本作为第一训练样本,将第一训练样本输入YOLO模型进行训练,得到目标定位模型。具体地,为了保证模型能够很好的收敛和泛化,需要收集2万对左右的第一训练样本。本实施例的第一训练样本主要通过以下阶段积攒:
第一个阶段:通过传统的OCR技术,将快件图像二值化处理后,提取矩形轮廓的目标图像,然后按照矩形轮廓的长宽比和电话号码的大致位置筛选出可能是电话号码的区域,然后使用Tesseract-OCR识别该区域,如果成功识别出是11位电话号码,则保留该目标图像作为目标图像样本,保留该识别出电话号码的区域坐标作为目标定位结果,进而得到第一阶段的第一训练样本。
第二个阶段:通过第一个阶段累积运行一段时间积累上千量级的第一训练样本之后,可以作为第一初级训练样本对YOLO模型进行初步训练,将初步训练好的YOLO初级模型直接接入快件分拣机,针对产生的目标图像,进行电话号码定位。本实施例使用倒推方法,将识别正确结果的坐标和对应的目标图像保存下来,将识别正确结果的坐标作为目标定位结果,将识别正确结果的坐标对应的目标图像作为目标图像样本,进而得到第二阶段的第一训练样本。
第三个阶段:通过第二个阶段累积运行一段时间可以积累上万量级的第一训练样本。但是这些样本都是正向的样本,本实施例中,训练YOLO模型还需要一部分没有识别成功样本。将没有识别成功的目标图像导入labelme进行手工绘图标注,将手工绘图标注的坐标作为目标定位结果,将其对应的目标图像作为目标图像样本,进而得到第三阶段的第一训练样本。但需要注意的是,手工绘图标注要尽可能包括多种场景,同时将具有干扰性质的样本剔除,例如,定位的时候将没有定位准确,提取的号码区域图像倾斜很大或者截取了一半,还有一些样本是由于拍摄曝光或者相机抖动模糊,人眼都无法识别,这部分样本要果断剔除。
结合上述三个阶段累计的第一训练样本,将第一训练样本输入YOLO模型进行训练,得到目标定位模型。本实施例的目标定位模型采用论文yolo模型思想,工程化采用darknet框架训练模型,将batch设置为64,图像的输入width和height都设置为416,保证了面单图像相对适中的尺寸。将max_batches设置为50020,训练达到max_batches后停止学习,经过样本多轮机积攒训练模型,达到很好的收敛,在测试集上的目标定位模型的定位率可以达到96%。
进一步地,本实施例中,还可以使用tensorflow模型代替darknet模型作为框架训练模型,以提高模型的稳定性。
S208、检测目标定位结果是否表示完整,若是,执行S209,若否,执行S210;
获取到目标定位结果后,检测目标定位结果是否为完整的。本实施例中,优选检测目标定位结果是否为完整的11位手机号码,若是,执行S209,若否,执行S210。
S209、将目标定位结果作为目标图像中的关键图像;
具体地,本步骤的执行过程与图1所示S104的执行过程相同,此处不做赘述。
S210、获取面单轮廓图像的旋转次数;
如果识别结果表示不完整,或者第一文本识别结果和第二文本识别结果不一致,则获取面单轮廓图像的旋转次数。
S211、判断旋转次数是否达到预设旋转次数,若是,执行S212,若否执行S213;
具体地,为了不重复识别,提高识别效率,本实施例预设允许面单轮廓图像旋转一周,每次旋转的角度为45°,进一步可以得出,本实施例中允许面单轮廓图像旋转的最大次数为8次。
如果识别结果表示不完整,或者第一文本识别结果和第二文本识别结果不一致,则判断面单轮廓图像的旋转次数是否达到预设旋转次数。进一步地,本实施例中判断面单轮廓图像的旋转次数是否达到8次,如果面单轮廓图像的旋转次数达到8次,则执行S212,如果面单轮廓图像的旋转次数并没有达到8次,则执行S213。
S212、生成失败警报;
进一步地,如果旋转次数达到预设旋转次数,也就是本实施例中面单轮廓图像旋转至第8次,依旧不能够获取完整的11位手机号码,或者第一文本识别结果和第二文本识别结果依旧不一致,则确认识别失败,生成失败警报,以提醒工作人员进行人工识别,并且提醒工作人员确认无法识别的原因,进行针对性的维修处理。
S213、将面单轮廓图像按照预设方向和预设角度进行旋转,得到旋转后的旋转面单轮廓图像;
如果旋转次数未达到预设旋转次数,则将面单轮廓图像按照预设方向和预设角度进行旋转,旋转之后得到旋转面单轮廓图像。
具体地,本实施例中,优选按照顺时针方向旋转,每次旋转的角度为45°。即将面单轮廓图像按照顺时针旋转45°,得到旋转面单轮廓图像。
S214、将旋转面单轮廓图像进行扶正处理,得到目标图像;
本实施例中,可以获取旋转面单轮廓的特征信息,在预设的所有面单模板中,确定与特征信息相匹配的目标面单模板;以目标面单模板为基准,获取旋转面单轮廓图像与目标面单模板之间相差的角度,按照该角度旋转调整旋转面单轮廓图像,将面单轮廓图像扶正,得到目标图像,得到目标图像后可以继续执行S207。
S215、分别将关键图像迁移至目标处理器中预先训练的第一文本识别模型和预先训练的第二文本识别模型,得到关键图像的第一文本识别模型的第一文本识别结果,以及关键图像的第二文本识别模型的第二文本识别结果;
本实施例中预先训练了第一文本识别模型和第二文本识别模型,并将第一文本识别模型和第二文本识别模型存储于目标处理器中。分别将关键图像迁移至第一文本识别模型和第二文本识别模型中,得到关键图像的第一文本识别模型的第一文本识别结果,以及关键图像的第二文本识别模型的第二文本识别结果。
具体地,可以将收件人电话号码区域的图片分别输入第一文本识别模型和第二文本识别模型,得到第一文本识别模型和第二文本模型输出的两个结果;对应的,也可以将寄件人电话号码区域的图片分别输入第一文本识别模型和第二文本识别模型,得到第一文本识别模型和第二文本识别模型输出的两个结果。
具体地,第一文本识别模型和第二文本识别模型均可以是深度学习模型,本实施例中,第一文本识别模型优选为CRNN网络模型,第二文本模型优选为DenseNet网络模型。
进一步地,第一文本识别模型与第一文本识别模型的训练过程如下:获取第二预设数量的关键图像样本和对应的关键内容样本作为第二训练样本;将第二训练样本输入CRNN网络模型进行训练,得到第一文本识别模型;将第二训练样本输入DenseNet网络模型进行训练,得到第二文本识别模型。本实施例中,第一文本识别模型与第一文本识别模型起到的作用相同,为了提高模型的训练速度,第一文本识别模型与第一文本识别模型均采用第二训练样本,并且采用同样的训练方式进行训练。
具体地,为了保证模型能够很好的收敛和泛化,需要收集10万对左右的第二训练样本。本实施例的第二训练样本主要通过以下阶段积攒:
第一个阶段:通过传统的OCR识别方案,将快件图像二值化处理后,提取矩形轮廓的目标图像,然后按照矩形轮廓的长宽比和电话号码的大致位置筛选出可能是电话号码的区域作为关键图像,然后使用Tesseract-OCR识别关键图像得到关键内容,如果关键内容为正确识别出的11位电话号码,则将关键图像作为关键图像样本,将关键内容作为关键内容样本,进而获得了第一阶段的第二训练样本。
进一步地,为了提高样本积攒的效率,可以通过同一快件图像同时积攒第一训练样本和第二训练样本。具体地,本实施例中,如果关键内容为正确识别出的11位电话号码,则保留该目标图像作为目标图像样本,保留该识别出电话号码的区域坐标作为目标定位结果样本,进而可以同时得到第一阶段的第一训练样本。
第二个阶段:通过第一个阶段累积运行一段时间积累上千量级的第二训练样本之后,可以作为初级第二训练训练样本对CRNN网络模型和DenseNet网络模型进行初步训练,将初步训练好的CRNN网络模型和DenseNet网络模型接入快件分拣机,进行识别。本实施例中,将目标图像中定位出来的号码区域的关键图像块传入初步训练好的CRNN网络模型和DenseNet网络模型,当初步训练好的CRNN网络模型和DenseNet网络模型的识别结果一致时,才认为识别正确。本实施例采用倒推的方法,将识别正确的电话号码作为关键内容样本,将识别正确的电话号码对应关键图像作为关键图像样本,进而获得了第二阶段的第二训练样本。
进一步地,为了提高样本积攒的效率,第二个阶段也可以通过同一快件图像同时积攒第一训练样样本和第二训练样本。具体地,可以将识别正确的关键图像相对于目标图像的坐标作为目标定位结果样本,将目标图像作为目标图像样本,进而便同时获得了第二阶段的第一训练样本。
第三个阶段:通过第二个阶段累积运行一段时间可以积累上万量级的第二训练样本。但是这些样本都是正向的样本,本实施例中,训练CRNN网络模型和DenseNet网络模型还需要一部分没有识别成功样本。本实施例中,把第二阶段CRNN网络模型和DenseNet网络模型识别结果不一致的关键图像,进行手工标注处理,标注出正确的电话号码,将结果不一致的关键图像作为关键图像样本,将标注后的电话号码作为关键内容样本,进而获得了第三阶段的第二训练样本。但需要注意的是,手工绘图标注要尽可能包括多种场景,同时将具有干扰性质的样本剔除。
进一步地,为了提高样本积攒的效率,第三个阶段也可以通过同一快件图像同时积攒第一训练样样本和第二训练样本。可以获取结果不一致的目标图像作为目标图像样本,将没有识别成功的目标图像导入labelme进行手工绘图标注,使其作为目标定位结果样本,进而便同时获得了第三阶段的第一训练样本。
结合上述三个阶段训练的累计的第二训练样本,将第二训练样本输入CRNN网络模型进行训练,得到第一文本识别模型,将第二训练样本输入DenseNet网络模型进行训练,得到第二文本识别模型。本实施例采用crnn和densenet模型思想,结合CTC损失函数,分别实现了end-to-end的两套神经网络模型,这两个模型也是预测结果准确率的保证。模型采用tensorflow框架来开发。设置batch为32,采用全量训练,图像的输入width设置为200,height都设置为60,保证了号码区域图像相对适中的尺寸。经过2000轮的训练,两个模型分别可以达到很好的收敛。CRNN网络模型在测试集上的准确率可以到98.5%,DenseNet网络模型在测试集上的准确率可以到98.1%。
S216、判断第一文本识别结果与第二文本识别结果是否一致,若是,执行S217,若否,执行S210;
具体地,本实施例中,通过第一文本识别模型获取关键图像的第一文本识别结果,通过第二文本识别模型获取关键图像的第二文本识别结果之后,判断第一文本识别结果和第二文本识别结果是否一致,如果第一文本识别结果和第二文本识别结果一致,执行S217,如果第一文本识别结果和第二文本识别结果不一致,执行S210。
S217、将第一文本识别结果或第二文本识别结果作为关键图像对应的关键内容。
具体地,本步骤的执行过程与图1所示实施例的S106的执行过程相同,此处不做赘述。
进一步地,本实施例可以设置人机交互设备,通过人机交互设备,工作人员可以查看快件图像、目标图像、面单轮廓图像、关键图像等内容。
进一步地,本实施例的面单识别方法可以通过数据处理中心的CPU处理执行,以及通过CPU控制GPU进行处理执行。为了缓解数据处理压力,S202和S203还可以通过部署在分拣中心的CPU虚拟机处理执行,CPU虚拟机可以与高清摄像机相连。CPU虚拟机通过S203获取到面单轮廓图像后,可以将面单轮廓图像发送至数据处理中心的CPU。
进一步地,本实施例中,可以存储识别正确的目标图像及其对应的关键图像、关键内容,作为训练样本不断优化目标定位模型、第一文本识别模型和第二文本识别模型。在处理过程中,如果出现目标定位结果表示不完整或者第一文本识别结果与第二文本识别结果不相同等识别错误的情况,除了使用人工识别之外,还可以将出现识别错误的目标图像、人工识别后的目标图像坐标和关键内容存储下来,同样作为训练样本不断优化目标定位模型、第一文本识别模型和第二文本识别模型。
进一步地,本实施例中整体流程可以通过指标定位率、文本识别模型识别率、最终识别率和最终准确率这四个指标来进衡量:
指标定位率:指标定位率是指预设周期内,经过目标定位模型后获取的关键图像在快件图像中占有的比例。指标定位率还可以通过下述公式计算:
指标定位率=图像扶正率×目标定位模型定位率
进一步地,本实施例中,图像扶正率为97%,目标定位模型定位率为96%,指标定位率=97%×96%=94%
文本识别模型识别率:是通过CRNN和DenseNet两个独立的网络识别结果一致的关键内容占经过第一文本识别模型和第二文本识别模型处理的关键图像的比例。本识别模型识别率还可以通过下述公式计算:
文本识别模型识别率=第一文本识别模型在测试集上的准确率×第二文本识别模型在测试集上的准确率
进一步地,第一文本识别模型在测试集上的准确率为98.5%,第二文本识别模型在测试集上的准确率为98.1%,文本识别模型识别率=98.5%×98.1%=96%。
最终识别率:最终识别率是指最终能够识别出结果的概率,计算公式为:
最终识别率=指标定位率×文本识别模型识别率
进一步地,本实施例中,指标定位率为94%,文本识别模型识别率为96%,则最终识别率=94%×96%=90%。
最终准确率:最终准确率是指在能够识别出结果的情况下,识别出结果的准确率。本实施例应用的地区每天识别的单量为200万左右,将这200万单和业务***订单库中近1个月的订单号进行匹配,那么能匹配的单号在10万单左右,那么可以以这能够匹配的10万单位作为基数。在这10万单,业务***订单库的电话号码和通过面单识别方法进行识别,获得的关键内容一致的数量除以10万单,就是最终的准确率,本实施例中,最终准确率可以到99.2%。
本实施例的面单识别方法,获取快件图像后,将快件图像二值化处理,再抽取面单轮廓图像,能够快速获取面单轮廓内的所有图像信息。本实施例还通过将面单轮廓图像的特征信息与目标面单模板比对,以目标面单模板为基准,进行旋转扶正,得到目标图像。本实施例的面单识别方法,在获取关键图像或者获取关键内容失败后,可以将面单轮廓图像按照预设角度和预设方向旋转,重新进行扶正处理,如果判断得出面单轮廓图像已经旋转至预设次数,则发出警报提醒工作人员,进而保证了能够将面单轮廓图像的每个角度均识别,避免遗漏,同时还能够避免重复识别,提高识别效率。本实施例的面单识别方法降低了面单识别对识别版面要求,同时还降低了识别结果对字符的切分效果的依赖,提高了识别结果的准确率,还实现了通过训练学习模型识别面单中的内容,降低了CPU的占用率,进而提高了识别速度。
进一步地,本实施例的面单识别方法,在以上实施例的基础上,还可以包括:获取预设周期内失败报警的生成率;判断生成率是否大于预设生成率;若生成率大于预设生成率,则生成故障警报。
具体地,本实施例的预设周期优选为2小时。本实施例,每天获取一次失败报警的生成率,将失败报警的生成率与预设生成率进行比对,判断生成率是否大于预设生成率,如果失败报警的生成率大于预设生成率,则表示快递面单的识别失败次数较多,在某些环节可能出现错误,需要工作人员进行处理。本实施例中,还可以监测图片的数据的流量,以方便工作人员了解目前的处理速度。本实施例的面单识别方法通过对失败报警的生成率进行监测,如果出现错误能够及时提醒工作人员进行处理,提高识别效率。本实施例的面单识别方法降低了面单识别对识别版面要求,同时还降低了识别结果对字符的切分效果的依赖,提高了识别结果的准确率,还实现了通过训练学习模型识别面单中的内容,降低了CPU的占用率,进而提高了识别速度。
为了更全面,对应于本发明实施例提供的面单识别方法,本申请还提供了面单识别装置。
图3是本发明的面单识别装置实施例一的结构示意图,如图3所示,本发明的面单识别装置可以包括获取模块101、扶正模块102、迁移模块103和确定模块104;
获取模块101,用于获取面单轮廓图像;
扶正模块102,用于将面单轮廓图像进行扶正处理,得到目标图像;
迁移模块103,用于将目标图像迁移至目标处理器中预先训练的目标定位模型,得到目标定位结果;
确定模块104,用于若检测到目标定位结果表示完整,则将目标定位结果作为目标图像中的关键图像;
迁移模块103,还用于分别将关键图像迁移至目标处理器中预先训练的第一文本识别模型和预先训练的第二文本识别模型,得到关键图像的第一文本识别模型的第一文本识别结果,以及关键图像的第二文本识别模型的第二文本识别结果;
确定模块104,还用于若判断出第一文本识别结果与第二文本识别结果一致,则将第一文本识别结果或第二文本识别结果作为关键图像对应的关键内容。
本实施例的面单识别方法,通过获取模块101获取面单轮廓图像;扶正模块102将面单轮廓图像进行扶正处理,得到目标图像;迁移模块103将目标图像迁移至目标处理器中预先训练的目标定位模型,得到目标定位结果;若检测到目标定位结果表示完整,则确定模块104将目标定位结果作为目标图像中的关键图像;迁移模块103分别将关键图像迁移至目标处理器中预先训练的第一文本识别模型和预先训练的第二文本识别模型,得到关键图像的第一文本识别模型的第一文本识别结果,以及关键图像的第二文本识别模型的第二文本识别结果;若判断出第一文本识别结果与第二文本识别结果一致,确定模块104将第一文本识别结果或第二文本识别结果作为关键图像对应的关键内容,降低了面单识别对识别版面要求,同时还降低了识别结果对字符的切分效果的依赖,提高了识别结果的准确率,还实现了通过训练学习模型识别面单中的内容,降低了CPU的占用率,进而提高了识别速度。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图4是本发明的面单识别装置实施例二的结构示意图。如图4所示,本实施例的面单识别装置是在图3实施例的基础上,进一步更加详细地对本发明的技术方案进行描述。
进一步地,获取模块101,具体用于获取快件图像;将快件图像二值化,得到面单轮廓;提取面单轮廓内的所有图像信息,得到面单轮廓图像。
进一步地,扶正模块102,具体用于获取面单轮廓图像的特征信息;在预设的所有面单模板中,确定与特征信息相匹配的目标面单模板;以目标面单模板为基准,将面单轮廓图像扶正,得到目标图像。
进一步地,本实施例的面单获取装置,还可以包括判断模块105、报警模块106和旋转模块107;
获取模块101,还可以用于若识别结果表示不完整,则获取面单轮廓图像的旋转次数;
判断模块105,具体用于判断旋转次数是否达到预设旋转次数;
报警模块106,具体用于若旋转次数达到预设旋转次数,则生成失败警报,以提醒工作人员进行人工识别;
旋转模块107,具体用于若旋转次数未达到预设旋转次数,则将述面单轮廓图像按照预设方向和预设角度进行旋转,得到旋转后的旋转面单轮廓图像;
扶正模块102,还用于将旋转面单轮廓图像进行扶正处理,得到目标图像。
进一步地,本实施例的获取模块101,还用于若判断出第一文本识别结果与第二文本识别结果不一致,则获取旋转次数。
进一步地,本实施例的获取模块101,还用于获取预设周期内失败报警的生成率;
本实施例的判断模块105,还用于判断生成率是否大于预设生成率;
本实施例的报警模块106,还用于若生成率大于预设生成率,则生成故障警报。
进一步地,本实施例的面单识别装置,还可以包括第一训练模块108和第二训练模块109;
本实施例的获取模块101,还用于获取第一预设数量的目标图像样本和对应的目标定位结果样本作为第一训练样本;
第一训练模块108,用于将第一训练样本输入YOLO模型进行训练,得到目标定位模型;
本实施例的获取模块101,还用于获取第二预设数量的关键图像样本和对应的关键内容样本作为第二训练样本;
第二训练模块109,用于将第二训练样本输入CRNN网络模型进行训练,得到第一文本识别模型;将第二训练样本输入DenseNet网络模型进行训练,得到第二文本识别模型。
本实施例的面单识别方法,获取模块101获取快件图像后,将快件图像二值化处理,再抽取面单轮廓图像,能够快速获取述面单轮廓内的所有图像信息。本实施例还通过扶正模块102将面单轮廓图像的特征信息与目标面单模板比对,以目标面单模板为基准,进行旋转扶正,得到目标图像。本实施例的面单识别方法,在获取关键图像或者获取关键内容失败后,可以通过旋转模块107将面单轮廓图像按照预设角度和预设方向旋转,重新进行扶正处理,如果判断模块105判断得出面单轮廓图像已经旋转至预设次数,则报警模块106发出警报提醒工作人员,进而保证了能够将面单轮廓图像的每个角度均识别,避免遗漏,同时还能够避免重复识别,提高识别效率。本实施例的面单识别方法降低了面单识别对识别版面要求,同时还降低了识别结果对字符的切分效果的依赖,提高了识别结果的准确率,还实现了通过训练学习模型识别面单中的内容,降低了CPU的占用率,进而提高了识别速度。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是本发明的面单识别设备实施例的结构示意图,如图5所示,为了更全面,对应于本发明实施例提供的面单识别方法,本申请还提供了面单识别设备。
本实施例的面单识别设备,包括主处理器21、目标处理22和存储器23;主处理器21和目标处理器22分别与存储器23相连,主处理器21和目标处理器22相连;
本实施例中,主处理器21优选CPU,目标处理器22优选为GPU。
主处理器21用于调用并执行以下程序:
获取面单轮廓图像;
将面单轮廓图像进行扶正处理,得到目标图像;
将目标图像迁移至目标处理器中预先训练的目标定位模型,得到目标定位结果;
若检测到目标定位结果表示完整,则将目标定位结果作为目标图像中的关键图像;
分别将关键图像迁移至目标处理器中预先训练的第一文本识别模型和预先训练的第二文本识别模型,得到关键图像的第一文本识别模型的第一文本识别结果,以及关键图像的第二文本识别模型的第二文本识别结果;
若判断出第一文本识别结果与第二文本识别结果一致,则将第一文本识别结果或第二文本识别结果作为关键图像对应的关键内容;
目标处理器22用于调用并执行以下程序:
通过预先训练的目标定位模型,处理输入的目标图像,输出目标定位结果;
通过预先训练的第一文本识别模型,处理输入的关键图像,输出第一文本识别结果;
通过预先训练的第二文本识别模型,处理输入的关键图像,输出第二文本识别结果;
存储器23用于存储以上主处理器21和目标处理器22执行的程序。本实施例的面单识别设备降低了面单识别对识别版面要求,同时还降低了识别结果对字符的切分效果的依赖,提高了识别结果的准确率,还实现了通过训练学习模型识别面单中的内容,降低了CPU的占用率,进而提高了识别速度。
进一步地,在以上实施例的基础上,本实施例的主处理器21可以包括前端处理器和中心处理器,前端处理器和中心处理器相连,中心处理器还分别与目标处理器22和存储器23相连,存储器23还与目标处理器22相连。可以将前端处理器部署在分拣中心,将中心处理器、目标处理器22和存储器23部署在数据处理中心,前端处理器和中心处理器使用无线网络传输。
本实施例中,前端处理器用于调用并执行以下程序:获取面单轮廓图像;
中心处理器用于调用并执行以下程序:
将面单轮廓图像进行扶正处理,得到目标图像;
将目标图像迁移至目标处理器中预先训练的目标定位模型,得到目标定位结果;
若检测到目标定位结果表示完整,则将目标定位结果作为目标图像中的关键图像;
分别将关键图像迁移至目标处理器中预先训练的第一文本识别模型和预先训练的第二文本识别模型,得到关键图像的第一文本识别模型的第一文本识别结果,以及关键图像的第二文本识别模型的第二文本识别结果;
若判断出第一文本识别结果与第二文本识别结果一致,则将第一文本识别结果或第二文本识别结果作为关键图像对应的关键内容;
目标处理器22和存储器23的执行过程与图5所示的面单识别设备相同,此处不再赘述。
进一步的,随着5G技术的不断发展,可以采用边缘云计算,将目标处理器22、中心处理器和存储器23也部署到分拣中心,将处理完成后的关键内容发送给数据处理中心,数据处理中心可以直接接收关键内容,进而减少无线网络数据传输的压力。
具体地,本实施例将获取面单轮廓图像这一程序分派给前端处理器执行,进一步缓解了中心处理器的工作压力,降低了中心处理器的占用率,进而进一步提高识别速度。同时降低了面单识别对识别版面要求和识别结果对字符的切分效果的依赖,提高了识别结果的准确率。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种面单识别方法,其特征在于,所述方法包括:
获取面单轮廓图像;
将所述面单轮廓图像进行扶正处理,得到目标图像;
将所述目标图像迁移至目标处理器中预先训练的目标定位模型,得到目标定位结果;
若检测到所述目标定位结果表示完整,则将所述目标定位结果作为所述目标图像中的关键图像;
分别将所述关键图像迁移至所述目标处理器中预先训练的第一文本识别模型和预先训练的第二文本识别模型,得到所述关键图像的所述第一文本识别模型的第一文本识别结果,以及所述关键图像的所述第二文本识别模型的第二文本识别结果;
若判断出所述第一文本识别结果与所述第二文本识别结果一致,将所述第一文本识别结果或所述第二文本识别结果作为所述关键图像对应的关键内容。
2.根据权利要求1所述面单识别方法,其特征在于,所述获取面单轮廓图像,包括:
获取快件图像;
将所述快件图像二值化,得到面单轮廓;
提取所述面单轮廓内的所有图像信息,得到所述面单轮廓图像。
3.根据权利要求1所述面单识别方法,其特征在于,所述将所述面单轮廓图像进行扶正处理,得到目标图像,包括:
获取所述面单轮廓图像的特征信息;
在预设的所有面单模板中,确定与所述特征信息相匹配的目标面单模板;
以所述目标面单模板为基准,将所述面单轮廓图像扶正,得到所述目标图像。
4.根据权利要求1所述面单识别方法,其特征在于,所述将所述目标图像迁移至目标处理器中预先训练的目标定位模型,得到目标定位结果之后,还包括:
若所述识别结果表示不完整,则获取所述面单轮廓图像的旋转次数;
判断所述旋转次数是否达到预设旋转次数;
若所述旋转次数达到所述预设旋转次数,则生成失败警报,以提醒工作人员进行人工识别;
若所述旋转次数未达到所述预设旋转次数,则将所述面单轮廓图像按照预设方向和预设角度进行旋转,得到旋转后的旋转面单轮廓图像;
对应地,将所述面单轮廓图像进行扶正处理,得到目标图像,包括:
将所述旋转面单轮廓图像进行扶正处理,得到目标图像。
5.根据权利要求4所述面单识别方法,其特征在于,所述得到所述关键图像的所述第一文本识别模型的第一文本识别结果,以及所述关键图像的所述第二文本识别模型的第二文本识别结果之后,还包括:
若判断出所述第一文本识别结果与所述第二文本识别结果不一致,则获取所述旋转次数;
判断所述旋转次数是否达到所述预设旋转次数;
若所述旋转次数达到所述预设旋转次数,则生成所述失败报警,以使所述工作人员进行人工识别;
若所述旋转次数未达到所述预设旋转次数,则按照所述预设方向和所述预设角度对所述面单轮廓图像进行旋转,得到旋转后的所述旋转面单轮廓图像;
对应地,将所述面单轮廓图像进行扶正处理,得到目标图像,包括:
将所述旋转面单轮廓图像进行扶正处理,得到目标图像。
6.根据权利要求5所述面单识别方法,其特征在于,还包括:
获取预设周期内所述失败报警的生成率;
判断所述生成率是否大于预设生成率;
若所述生成率大于所述预设生成率,则生成故障警报。
7.根据权利要求1所述面单识别方法,其特征在于,预先训练的所述目标定位模型的训练过程包括:
获取第一预设数量的目标图像样本和对应的目标定位结果样本作为第一训练样本;
将所述第一训练样本输入YOLO模型进行训练,得到所述目标定位模型。
8.根据权利要求1所述面单识别方法,其特征在于,预先训练的所述第一文本识别模型和预先训练的所述第二文本模型的训练过程包括:
获取第二预设数量的关键图像样本和对应的关键内容样本作为第二训练样本;
将所述第二训练样本输入卷积循环神经网络CRNN模型进行训练,得到所述第一文本识别模型;
将所述第二训练样本输入密集卷积网络DenseNet模型进行训练,得到所述第二文本识别模型。
9.一种面单识别装置,其特征在于,所述装置包括获取模块、扶正模块、迁移模块和确定模块;
所述获取模块,用于获取面单轮廓图像;
所述扶正模块,用于将所述面单轮廓图像进行扶正处理,得到目标图像;
所述迁移模块,用于将所述目标图像迁移至目标处理器中预先训练的目标定位模型,得到目标定位结果;
所述确定模块,用于若检测到所述目标定位结果表示完整,则将所述目标定位结果作为所述目标图像中的关键图像;
所述迁移模块,还用于分别将所述关键图像迁移至所述目标处理器中预先训练的第一文本识别模型和预先训练的第二文本识别模型,得到所述关键图像的所述第一文本识别模型的第一文本识别结果,以及所述关键图像的所述第二文本识别模型的第二文本识别结果;
所述确定模块,还用于若判断出所述第一文本识别结果与所述第二文本识别结果一致,则将所述第一文本识别结果或所述第二文本识别结果作为所述关键图像对应的关键内容。
10.一种面单识别设备,其特征在于,包括主处理器、目标处理器和存储器;
所述主处理器和所述目标处理器分别与所述存储器相连;
所述主处理器和所述目标处理器相连;
所述主处理器用于调用并执行以下程序:
获取面单轮廓图像;
将所述面单轮廓图像进行扶正处理,得到目标图像;
将所述目标图像迁移至目标处理器中预先训练的目标定位模型,得到目标定位结果;
若检测到所述目标定位结果表示完整,则将所述目标定位结果作为所述目标图像中的关键图像;
分别将所述关键图像迁移至所述目标处理器中预先训练的第一文本识别模型和预先训练的第二文本识别模型,得到所述关键图像的所述第一文本识别模型的第一文本识别结果,以及所述关键图像的所述第二文本识别模型的第二文本识别结果;
若判断出所述第一文本识别结果与所述第二文本识别结果一致,则将所述第一文本识别结果或所述第二文本识别结果作为所述关键图像对应的关键内容;
所述目标处理器,用于调用并执行以下程序:
通过预先训练的所述目标定位模型,处理输入的所述目标图像,输出所述目标定位结果;
通过预先训练的所述第一文本识别模型,处理输入的所述关键图像,输出所述第一文本识别结果;
通过预先训练的所述第二文本识别模型,处理输入的所述关键图像,输出所述第二文本识别结果;
所述存储器用于存储以上所述处理器和所述目标处理器执行的程序。
CN201910602328.3A 2019-07-05 2019-07-05 面单识别方法、装置和设备 Pending CN110309796A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910602328.3A CN110309796A (zh) 2019-07-05 2019-07-05 面单识别方法、装置和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910602328.3A CN110309796A (zh) 2019-07-05 2019-07-05 面单识别方法、装置和设备

Publications (1)

Publication Number Publication Date
CN110309796A true CN110309796A (zh) 2019-10-08

Family

ID=68079191

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910602328.3A Pending CN110309796A (zh) 2019-07-05 2019-07-05 面单识别方法、装置和设备

Country Status (1)

Country Link
CN (1) CN110309796A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112434544A (zh) * 2020-12-09 2021-03-02 广东烟草阳江市有限责任公司 一种条烟编码检测识别方法及装置
CN112507801A (zh) * 2020-11-14 2021-03-16 武汉中海庭数据技术有限公司 车道路面数字颜色识别方法、限速信息识别方法及***
CN112668955A (zh) * 2020-09-03 2021-04-16 浙江万里学院 一种现代物流费用智慧结算方法
CN112926563A (zh) * 2021-02-23 2021-06-08 辽宁科技大学 一种钢卷喷印标记故障诊断***
EP4131100A4 (en) * 2020-03-30 2024-04-17 Beijing Wodong Tianjun Information Technology Co., Ltd. METHOD AND DEVICE FOR POSITIONING EXPRESS PARCEL PACKAGES

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108121982A (zh) * 2016-11-30 2018-06-05 杭州海康机器人技术有限公司 面单图像的获取方法及装置
CN108573202A (zh) * 2017-03-17 2018-09-25 北京旷视科技有限公司 身份认证方法、装置和***以及终端、服务器和存储介质
CN108846379A (zh) * 2018-07-03 2018-11-20 南京览笛信息科技有限公司 面单识别方法、***、终端设备及存储介质
CN109034155A (zh) * 2018-07-24 2018-12-18 百卓网络科技有限公司 一种文字检测及识别的方法及***
CN109919037A (zh) * 2019-02-01 2019-06-21 汉王科技股份有限公司 一种文本定位方法及装置、文本识别方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108121982A (zh) * 2016-11-30 2018-06-05 杭州海康机器人技术有限公司 面单图像的获取方法及装置
CN108573202A (zh) * 2017-03-17 2018-09-25 北京旷视科技有限公司 身份认证方法、装置和***以及终端、服务器和存储介质
CN108846379A (zh) * 2018-07-03 2018-11-20 南京览笛信息科技有限公司 面单识别方法、***、终端设备及存储介质
CN109034155A (zh) * 2018-07-24 2018-12-18 百卓网络科技有限公司 一种文字检测及识别的方法及***
CN109919037A (zh) * 2019-02-01 2019-06-21 汉王科技股份有限公司 一种文本定位方法及装置、文本识别方法及装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
《软件村》编写组编: "《软件村/办公系列 扫描识别专家OCR7.0》", 31 July 1998 *
李长云等: "《智能感知技术及在电气工程中的应用》", 31 May 2017, 电子科技大学出版社 *
蒋先刚: "《数字图像模式识别工程项目研究》", 31 March 2014, 西南交通大学出版社 *
郭春燕: "《办公自动化应用》", 28 February 2009, 北京:中央广播电视大学出版社 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4131100A4 (en) * 2020-03-30 2024-04-17 Beijing Wodong Tianjun Information Technology Co., Ltd. METHOD AND DEVICE FOR POSITIONING EXPRESS PARCEL PACKAGES
CN112668955A (zh) * 2020-09-03 2021-04-16 浙江万里学院 一种现代物流费用智慧结算方法
CN112668955B (zh) * 2020-09-03 2023-09-22 浙江万里学院 一种现代物流费用智慧结算方法
CN112507801A (zh) * 2020-11-14 2021-03-16 武汉中海庭数据技术有限公司 车道路面数字颜色识别方法、限速信息识别方法及***
CN112434544A (zh) * 2020-12-09 2021-03-02 广东烟草阳江市有限责任公司 一种条烟编码检测识别方法及装置
CN112926563A (zh) * 2021-02-23 2021-06-08 辽宁科技大学 一种钢卷喷印标记故障诊断***
CN112926563B (zh) * 2021-02-23 2024-01-02 辽宁科技大学 一种钢卷喷印标记故障诊断***

Similar Documents

Publication Publication Date Title
CN110309796A (zh) 面单识别方法、装置和设备
CN106960195B (zh) 一种基于深度学习的人群计数方法及装置
EP4033403A1 (en) System and method for attention-based surface crack segmentation
CN107341523A (zh) 基于深度学习的快递单信息识别方法和***
CN112052850B (zh) 车牌识别方法、装置、电子设备及存储介质
CN110363091A (zh) 侧脸情况下的人脸识别方法、装置、设备及存储介质
CN109472262A (zh) 车牌识别方法、装置、计算机设备及存储介质
CN111523439B (zh) 一种基于深度学习的目标检测的方法、***、设备及介质
CN111861990B (zh) 一种产品不良外观检测的方法、***及存储介质
CN110781882A (zh) 一种基于yolo模型的车牌定位和识别方法
CN111680690A (zh) 一种文字识别方法及装置
CN111767908B (zh) 字符检测方法、装置、检测设备及存储介质
CN110349167A (zh) 一种图像实例分割方法及装置
CN113033543A (zh) 曲形文本识别方法、装置、设备及介质
CN113222063B (zh) 快递纸箱垃圾分类方法、装置、设备及介质
CN116168351B (zh) 电力设备巡检方法及装置
CN105184225A (zh) 一种多国纸币图像识别方法和装置
CN105335760A (zh) 一种图像数字字符识别方法
CN108171229B (zh) 一种空心粘连验证码的识别方法及***
CN110378351A (zh) ***鉴别方法及装置
CN110659563A (zh) 基于改进YOLOv3网络的电网调度图纸自动识别方法、***及介质
CN116597466A (zh) 一种基于改进YOLOv5s的工程图纸文字检测识别方法及***
CN112446375A (zh) 车牌识别方法、装置、设备及存储介质
CN112966687B (zh) 图像分割模型训练方法、装置及通信设备
CN113870196A (zh) 一种基于锚点切图的图像处理方法、装置、设备和介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20191008

RJ01 Rejection of invention patent application after publication