CN111368576B - 一种基于全局优化的Code128条码自动识读方法 - Google Patents
一种基于全局优化的Code128条码自动识读方法 Download PDFInfo
- Publication number
- CN111368576B CN111368576B CN202010170884.0A CN202010170884A CN111368576B CN 111368576 B CN111368576 B CN 111368576B CN 202010170884 A CN202010170884 A CN 202010170884A CN 111368576 B CN111368576 B CN 111368576B
- Authority
- CN
- China
- Prior art keywords
- probability
- character
- maximum
- bar code
- information entropy
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1413—1D bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1443—Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种基于全局优化的Code128条码自动识读方法,涉及条形码识别领域,将概率值变换为信息熵的表达方式,从而使得求取最大概率的乘积计算等价变换成求取最大信息熵的加和计算,首先在得到某一字元中六个字符的概率值即信息熵之后,采用全局概率优化的方式得到其最大概率可能对应的字元,让字元识别结果不仅仅依赖于对每个单一字符的准确识别,其次各字元之间利用code128校验规则进行结果的修正,以识别结果在满足编码规则的前提下达到最大全概率为目标,最终解码结果也不仅仅依赖于对每个字元的准确识别,解决了条形码会因为诸多因素进而导致条形码图片成像受损,现有的条形码处理方案有较高的条形码拒识率的问题。
Description
技术领域
本发明涉及条形码识别领域,特别涉及一种基于全局优化的Code128条码自动识读方法。
背景技术
Code128条形码于1981年推出,因其字元较多,编码信息丰富,尤其是其具有编码长度较短、允许双向扫描、自动校验纠错等优点,在工业、物流、零售等行业得到了广泛的应用。
在Code128编码规则中,用等宽的黑线或白线表示一个模块,其中连续的1到4个同色模块组成一个字符,每个字元依据编码表中的既定规则分为黑白相间的多个字符。
Code128编码表中共有107个字元,其中除结束位(STOP)由13个模块(7个字符)组成之外,其他字元均由11个模块(6个字符)组成,而每一个字元又具有Code128A、Code128B和Code128C三种识读方式。
Code128编码规则包含“开始位+数据位+校验位+结束位”,其中校验位的计算规则为:
目前主流的Code128条码识读装置,一般采用扫描成像的方式拍摄条码区域,然后利用传统图像处理方式进行识别和解码。Code128条码的识读,首先是需要分割各字符,当前的技术方案主要包含两种:1)通过检测黑白字符之间的灰度跳变完成分割;2)通过黑白字符之间的整体灰度差异进行分割。在字符分割完成后,一般以其中某一字符的宽度为标准,比较其余字符宽度与该字符的比例关系,从而确定对应字元,最终依据编码规则和校验规则进行判定和识读。
众所周知,条码的使用场景非常广泛,其中不乏一些较为恶劣的使用环境,因此如印刷质量问题、运输过程污损、条码区域形变或反光等诸多因素,都会对以上任何一种传统图像处理方案的识读造成不可逆转的影响,最终影响到对整体编码的识别,造成较高的拒识率,不得不进行再次识读或手动输入,极大地降低了工作效率。
发明内容
本发明的目的在于:提供了一种基于全局优化的Code128条码自动识读方法,利用全局概率优化的方法,让解码结果不仅仅依赖于对每个单一字符的准确识别,而且各字符、各字元之间可利用规则进行结果的修正,以识别结果在满足编码规则的前提下达到最大全概率为目标,解决了条形码会因为诸多因素进而导致条形码图片成像受损,现有的条形码处理方案有较高的条形码拒识率的问题。
本发明采用的技术方案如下:
一种基于全局优化的Code128条码自动识读方法,主要包括依次进行的以下步骤:
步骤(1)对每一个字符计算出其可能为1到4的四个概率值{p1,p2,p3,p4};
步骤(3)采用全局概率优化的方式得到其最大概率可能对应的字元;
步骤(4)依据步骤(3)在最大全概率条件下的所有数据位取值,对应Code128编码表,译出相应条码编码信息。
Code128编码表的示例如表1所示,表1为Code128编码表的示例表,其中模块b代表黑线,s代表白线:
字元 | 字符构成 | 模块构成 | Code128A | Code128B | Code128C |
0 | 212222 | bbsbbssbbss | SP | SP | 00 |
1 | 222122 | bbssbbsbbss | ! | ! | 01 |
2 | 222221 | bbssbbssbbs | “ | “ | 02 |
… | … | … | … | … | … |
104 | 211214 | bbsbssbssss | StartB | StartB | StartB |
105 | 211232 | bbsbssbbbss | StartC | StartC | StartC |
106 | 2331112 | bbsssbbbsbsbb | STOP | STOP | STOP |
表1
首先,区别于将Code128条码中每一个字符直接识读为1到4之间的某一个具体值的传统方案,在本发明中,对每一个字符计算出其可能为1到4的四个概率值{p1,p2,p3,p4},这可以通过使用任何一种统计机器学习手段实现,如人工设计函数、支持向量机、深度神经网络等。然后利用公式wi=log pi将概率值变换为信息熵的表达方式,从而使得求取最大概率的乘积计算等价变换成求取最大信息熵的加和计算:
其次,在得到某一字元中6个字符的概率值即信息熵之后,在本发明中采用全局概率优化的方式得到其最大概率可能对应的字元。对于包含7个字符的结束位,处理方法与此类似;另外由于结束位的前6个字符“233111”并不对应其他任何字元,因此也可以截断其前6个字符并按相同方法处理。
然后依据在最大全概率条件下的所有数据位取值,对应Code128编码表,译出相应条码编码信息。
由于每个字元对应的字符构成完全固定,且数量极为有限,因此本发明采用以下步骤完成全局概率优化得到其最大概率可能对应的字元,主要包括依次进行的以下步骤:
步骤(3-1)根据Code128编码表手动设计一个24×107的稀疏权重矩阵G,其中每一列对应一个字元,每一列的24个数据元素均分为6个单元,对应于6个字符,每个单元中均含有4个数据元素分别对应于该字符四个可能的取值;当第i位字符按编码规则取值为j时,其在第4i+j列中对应字符的对应数据元素取值为1,否则为0,因此对于权重矩阵G的每一列来说,均包含6个值为1的数据元素和其余18个值为0的数据元素;
步骤(3-2)将依概率求得的6个字符的各4个信息熵拼接记作一个24x1的向量将其与步骤(3-1)中所述权重矩阵G叉乘,得到1×107的向量U=WTG,则U中每一个数据元素均表达了对应于某一字元的信息熵,其中熵越大则表示取为对应字元的概率越高;
步骤(3-3)对向量U中的数据元素还原为概率并进行归一化处理后,再次变换为信息熵的形式。
所述步骤(3)中采用的全局概率优化的方式在步骤(3-3)得到信息熵后,采用全局概率优化的方式得到各字元包括校验位的最大概率对应取值,假设对于开始位+数据位+校验位共有N位字元的Code128条码,其全概率空间共有106N种可能的取值,使用以下的优化算法对其进行快速求解:
步骤(3-4)保持M种全局概率最大的候选情况,最终校验完成后再选取其中概率最大的一种,M为小于等于N的自然数;
步骤(3-5)从开始位的所有106个信息熵中选取最大的M个,按从大到小的顺序排列,记录其信息熵{S1,S2,...,SM}作为总信息熵,并记录对应字元与校验值{v1,v2,...,vM};
步骤(3-6)从数据位中的第一个字元开始,从当前位的所有106个信息熵中选取最大的M个,分别与记录的M个总信息熵交叉相加,并从这M2个值中选取最大的M个,按从大到小的顺序排列更新总信息熵{S1,S2,...,SM},加入并更新记录的对应字元序列,以及按Code128校验位计算规则更新校验值{v1,v2,...,vM},重复本步骤至遍历完所有数据位;
步骤(3-7)根据所记录的M个校验值{v1,v2,...,vM},按Code128校验位计算规则对103取模后,得到分别对应的M个校验字元,取得这M个校验字元的对应信息熵,加和到总信息熵{S1,S2,...,SM}之上;
步骤(3-8)从以上M个总信息熵中选取最大的一个,与人工设定的概率接受阈值相比较,小于阈值则触发拒识,否则从记录的对应字元序列中读取出从开始位到所有数据位的最大全概率对应取值。
最后,再依据在最大全概率条件下含开始位的所有数据位取值,对应Code128编码表,译出相应条码编码信息。
进一步地,所述步骤(3)中的步骤(3-1)到步骤(3-3)及步骤(3-4)到步骤(3-8),还可以替换采用HMMs、MRFs、二部图、图割或TVL1优化的方式得到各字元包括校验位的最大概率对应取值。
这里可以采用其他的HMMs、MRFs优化算法方式代替上述步骤3中的两个优化步骤,仍应受本发明权利要求保护。更具体来说,上述步骤(3)采用的是一种对此问题而言较为高效的一个HMMs优化方法,但其他优化算法包括但不限于例如二部图、图割、TVL1等算法可对其进行替代,但由于其只是对本发明的步骤(3)做出的一个没有创造性的修改或简单替代,因此这些优化方法仍受本发明保护。
进一步地,在进行所述Code128条码自动识读的步骤(1)之前还包括依次进行的以下步骤:
步骤a:利用传感器或摄像头采集条码图像;
步骤b:定位条形码。
在Code128条码识别的过程中,由于印刷质量问题、运输过程污损、条码区域形变或反光等环境因素的影响,容易出现在个别字符的识别上出现错误的问题,最终导致设备拒识。但在识别过程中,Code128编码规范有两点较强的规则可兹利用,一是每个字元固定包含11个模块,二是校验码与校验规则的存在;传统方法往往仅利用这两个规则来判定识别是否正确,因此产生了较高的拒识率。
但更合理地利用这两点规则,可以让识别过程具备较强的自动纠错的能力。在本发明中,利用全局概率优化的方法,让解码结果不仅仅依赖于对每个单一字符的准确识别,而且各字符、各字元之间可利用规则进行结果的修正,以识别结果在满足编码规则的前提下达到最大全概率为目标,极大程度上抑制了个别字符识别错误对整体解码结果造成的恶劣影响,因此在保证识读正确率的基础上显著降低了设备的拒识率和识别错误率,有利于提高***自动化程度与工作效率。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
1.本发明一种基于全局优化的Code128条码自动识读方法,在得到某一字元中六个字符的概率值即信息熵之后,采用全局概率优化的方式得到其最大概率可能对应的字元,让解码结果不仅仅依赖于对每个单一字符的准确识别,而且各字符、各字元之间可利用规则进行结果的修正,以识别结果在满足编码规则的前提下达到最大全概率为目标,极大程度上抑制了个别字符识别错误对整体解码结果造成的恶劣影响,因此在保证识读正确率的基础上显著降低了设备的拒识率,有利于提高***自动化程度与工作效率;
2.本发明一种基于全局优化的Code128条码自动识读方法,在得到某一字元中六个字符的概率值即信息熵之后,采用全局概率优化的方式得到其最大概率可能对应的字元,让解码结果不仅仅依赖于对每个单一字符的准确识别,而且各字符、各字元之间可利用规则进行结果的修正,以识别结果在满足编码规则的前提下达到最大全概率为目标,极大程度上减少了个别字符识别错误导致的整体编码识别错误。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1是本发明的工作流程图;
图2是本发明的一个实施例的条形码示意图。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
下面结合图1、图2对本发明作详细说明。
实施例1
一种基于全局优化的Code128条码自动识读方法,如图1,主要包括依次进行的以下步骤:
步骤(1)对每一个字符计算出其可能为1到4的四个概率值{p1,p2,p3,p4};
步骤(3)采用全局概率优化的方式得到其最大概率可能对应的字元;
步骤(4)依据步骤(3)在最大全概率条件下的所有数据位取值,对应Code128编码表,译出相应条码编码信息。
在Code128条码识别的过程中,由于印刷质量问题、运输过程污损、条码区域形变或反光等环境因素的影响,容易出现在个别字符的识别上出现错误的问题,最终导致设备拒识。但在识别过程中,Code128编码规范有两点较强的规则可兹利用,一是每个字元固定包含11个模块,二是校验码与校验规则的存在;传统方法往往仅利用这两个规则来判定识别是否正确,因此产生了较高的拒识率。
但更合理地利用这两点规则,可以让识别过程具备较强的自动纠错的能力。在本发明中,利用全局概率优化的方法,让解码结果不仅仅依赖于对每个单一字符的准确识别,而且各字符、各字元之间可利用规则进行结果的修正,以识别结果在满足编码规则的前提下达到最大全概率为目标,极大程度上抑制了个别字符识别错误对整体解码结果造成的恶劣影响,因此在保证识读正确率的基础上显著降低了设备的拒识率和识别错误率,有利于提高***自动化程度与工作效率。
首先,区别于将Code128条码中每一个字符直接识读为1到4之间的某一个具体值的传统方案,在本发明中,对每一个字符计算出其可能为1到4的四个概率值{p1,p2,p3,p4},这可以通过使用任何一种统计机器学习手段实现,如人工设计函数、支持向量机、深度神经网络等。然后利用公式wi=log pi将概率值变换为信息熵的表达方式,从而使得求取最大概率的乘积计算等价变换成求取最大信息熵的加和计算:
其次,在得到某一字元中6个字符的概率值即信息熵之后,在本发明中采用全局概率优化的方式得到其最大概率可能对应的字元。对于包含7个字符的结束位,处理方法与此类似;另外由于结束位的前6个字符“233111”并不对应其他任何字元,因此也可以截断其前6个字符并按相同方法处理。
然后依据在最大全概率条件下的所有数据位取值,对应Code128编码表,译出相应条码编码信息。
实施例2
本实施例与实施例1的区别仅在于,由于每个字元对应的字符构成完全固定,且数量极为有限,因此本发明采用以下步骤完成全局概率优化得到其最大概率可能对应的字元,主要包括依次进行的以下步骤:
步骤(3-1)根据Code128编码表手动设计一个24×107的稀疏权重矩阵G,其中每一列对应一个字元,每一列的24个数据元素均分为6个单元,对应于6个字符,每个单元中均含有4个数据元素分别对应于该字符四个可能的取值;当第i位字符按编码规则取值为j时,其在第4i+j列中对应字符的对应数据元素取值为1,否则为0,因此对于权重矩阵G的每一列来说,均包含6个值为1的数据元素和其余18个值为0的数据元素;
步骤(3-2)将依概率求得的6个字符的各4个信息熵拼接记作一个24x1的向量将其与步骤(3-1)中所述权重矩阵G叉乘,得到1×107的向量U=WTG,则U中每一个数据元素均表达了对应于某一字元的信息熵,其中熵越大则表示取为对应字元的概率越高;
步骤(3-3)对向量U中的数据元素还原为概率并进行归一化处理后,再次变换为信息熵的形式。
所述步骤(3)中采用的全局概率优化的方式在步骤(3-3)得到信息熵后,采用全局概率优化的方式得到各字元包括校验位的最大概率对应取值,假设对于开始位+数据位+校验位共有N位字元的Code128条码,其全概率空间共有106N种可能的取值,使用以下的优化算法对其进行快速求解:
步骤(3-4)保持M种全局概率最大的候选情况,最终校验完成后再选取其中概率最大的一种,M为小于等于N的自然数;
步骤(3-5)从开始位的所有106个信息熵中选取最大的M个,按从大到小的顺序排列,记录其信息熵{S1,S2,...,SM}作为总信息熵,并记录对应字元与校验值{v1,v2,...,vM};
步骤(3-6)从数据位中的第一个字元开始,从当前位的所有106个信息熵中选取最大的M个,分别与记录的M个总信息熵交叉相加,并从这M2个值中选取最大的M个,按从大到小的顺序排列更新总信息熵{S1,S2,...,SM},加入并更新记录的对应字元序列,以及按Code128校验位计算规则更新校验值{v1,v2,...,vM},重复本步骤至遍历完所有数据位;
步骤(3-7)根据所记录的M个校验值{v1,v2,...,vM},按Code128校验位计算规则对103取模后,得到分别对应的M个校验字元,取得这M个校验字元的对应信息熵,加和到总信息熵{S1,S2,...,SM}之上;
步骤(3-8)从以上M个总信息熵中选取最大的一个,与人工设定的概率接受阈值相比较,小于阈值则触发拒识,否则从记录的对应字元序列中读取出从开始位到所有数据位的最大全概率对应取值。
最后,再依据在最大全概率条件下含开始位的所有数据位取值,对应Code128编码表,译出相应条码编码信息。
实施例3
本实施例与实施例2的区别仅在于,进一步地,所述步骤(3)中的步骤(3-1)到步骤(3-3)及步骤(3-4)到步骤(3-8),还可以替换采用HMMs、MRFs、二部图、图割或TVL1优化的方式得到各字元包括校验位的最大概率对应取值。
这里可以采用其他的HMMs、MRFs优化算法方式代替上述步骤3中的两个优化步骤,仍应受本发明权利要求保护。更具体来说,上述步骤(3)采用的是一种对此问题而言较为高效的一个HMMs优化方法,但其他优化算法包括但不限于例如二部图、图割、TVL1等算法可对其进行替代,但由于其只是对本发明的步骤(3)做出的一个没有创造性的修改或简单替代,因此这些优化方法仍受本发明保护。
实施例4
本实施例与实施例1的区别仅在于,在进行所述Code128条码自动识读的步骤(1)之前还包括依次进行的以下步骤:
步骤a:利用传感器或摄像头采集条码图像;
步骤b:定位条形码。
实施例5
如图2所示的一例code128条形码,该条码包含五位字元,即:开始位(105,StartC)、数据位1(20)、数据位2(48)、校验位(15=(105+20x1+48x2)%103)和结束位(106,STOP)。
首先,以开始位为例说明本发明利用全局概率优化完成字元识别的过程,开始位105的6个字符编码为211232。正常来说,若某一个字符识别准确,其计算得到的四个概率值{p1,p2,p3,p4}应该满足正确类别的概率值显著大于其他三个错误类别的概率值,如表2“字符1”一列所示,由于字符1的编码为2,因此p2显著大于其余的p1、p3和p4。但受图像噪声的影响,某些字符在识别错误时将违反这一条件,例如表2“字符5”这列,正常编码为3,但由于受到图像噪声的干扰,可能导致该字符的错误识别,例如对p2和p3分别计算得到了0.6和0.38,在传统方案下,这就会造成识读错误。
注:表2为图2条形码的开始位识别概率及信息熵图
表2
在本发明的方案中,将上述概率值转换为信息熵后,依据Code128编码表设计了一个24x107的稀疏权重矩阵G,将其与上表的24个信息熵向量叉乘U=WTG,从而计算出整体信息熵,其中最大的三个值分别为:字元105熵为-1.246,字元24熵为-4.294,字元0熵为-5.178。我们选择信息熵最大的105作为该字元的识别结果。可见,在字符识别受到图像噪声干扰时,由于本方案采用全局概率优化方法,具体来说利用了“每个字元固定包含11个模块”的规则,从而使得开始位的字元105仍然得到了正确识读。
其次,在本例中,在字元识别的级别能够利用规则在一定程度上对抗图像噪声的影响,但当图像噪声较大时,仍然可能影响到字元识别。以该条码的数据位2为例,字元48的编码为313121,假设图像发生了连续的扭曲变形,字符的宽度受到形变影响,可能被识别为与其近似的字元,如60(编码为314111),将这样的例子展示于表3中。
注:表3为图2条形码的开始位+数据位+校验位的识别字元及信息熵表
表3
对每一位字元来说,都具有106个信息熵,分别对应了106种可能的字元取值。在表3中为了简化,在开始位、数据位1和数据位2上分别展示了信息熵最大的3个字元取值,校验位展示了在本例中会用到的3个信息熵的值。按本发明的方案,运算过程如下(为了简化表示,这里M取为3):
1、取开始位最大的M个信息熵,记录总信息熵S为{-1.246,-4.294,-5.178},记录字元序列为{[105],[24],[0]},记录校验值为{105,24,0};
2、取数据位1最大的M个信息熵,与S交叉相加后得到最大的M个信息熵,更新总信息熵S为{-1.577=-1.246-0.331,-4.625=-4.294-0.331,-5.509=-5.178-0.331},更新字元序列为{[105,20],[24,20],[0,20]},更新校验值为{125=105+20,44=24+20,20=0+20};
3、取数据位2最大的M个信息熵,与S交叉相加后得到最大的M个信息熵,更新总信息熵S为{-2.926=-1.577-1.349,-3.418=-1.577-1.841,-5.974=-4.625-1.349},更新字元序列为{[105,20,60],[105,20,48],[24,20,60]},更新校验值为{245=125+60x2,221=125+48x2,164=44+60x2};
4、校验值{245,221,164}分别对应字元{39=245%103,15=221%103,61=164%103},因此更新总信息熵S为{-23.55=-2.926-20.624,-3.709=-3.418-0.291,-31.323=-5.974-25.349},其中最大的信息熵为-3.709,因此取得其对应的最优字元序列[105,20,48]。
从上述示例与计算过程可见,由于本方案采用全局概率优化方法,具体来说利用了Code128校验码与校验规则,因此在条码图像受到较强干扰,甚至已经引起部分字元识别错误的情况下,本方案仍可恢复出正确的条码值而不会引起***拒识。
以上所述,仅为本发明的优选实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域的技术人员在本发明所揭露的技术范围内,可不经过创造性劳动想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书所限定的保护范围为准。
Claims (3)
1.一种基于全局优化的Code128条码自动识读方法,其特征在于:主要包括依次进行的以下步骤:
步骤(1)对每一个字符计算出其可能为1到4的四个概率值{p1,p2,p3,p4};
步骤(3)采用全局概率优化的方式得到其最大概率可能对应的字元;
步骤(4)依据步骤(3)在最大全概率条件下的所有数据位取值,对应Code128编码表,译出相应条码编码信息;
所述步骤(3)中采用的全局概率优化的方式主要包括依次进行的以下步骤:
步骤(3-1)根据Code128编码表手动设计一个24×107的稀疏权重矩阵G,其中每一列对应一个字元,每一列的24个数据元素均分为6个单元,对应于6个字符,每个单元中均含有4个数据元素分别对应于该字符四个可能的取值;当第i位字符按编码规则取值为j时,其在第4i+j列中对应字符的对应数据元素取值为1,否则为0,因此对于权重矩阵G的每一列来说,均包含6个值为1的数据元素和其余18个值为0的数据元素;
步骤(3-2)将依概率求得的6个字符的各4个信息熵拼接记作一个24x1的向量 将其与步骤(3-1)中所述权重矩阵G叉乘,得到1×107的向量U=WTG,则U中每一个数据元素均表达了对应于某一字元的信息熵,其中熵越大则表示取为对应字元的概率越高;
步骤(3-3)对向量U中的数据元素还原为概率并进行归一化处理后,再次变换为信息熵的形式;
所述步骤(3)中采用的全局概率优化的方式在步骤(3-3)得到信息熵后,采用全局概率优化的方式得到各字元包括校验位的最大概率对应取值,假设对于开始位+数据位+校验位共有N位字元的Code128条码,其全概率空间共有106N种可能的取值,使用以下的优化算法对其进行快速求解:
步骤(3-4)保持M种全局概率最大的候选情况,最终校验完成后再选取其中概率最大的一种,M为小于等于N的自然数;
步骤(3-5)从开始位的所有106个信息熵中选取最大的M个,按从大到小的顺序排列,记录其信息熵{S1,S2,…,SM}作为总信息熵,并记录对应字元与校验值{v1,v2,…,vM};
步骤(3-6)从数据位中的第一个字元开始,从当前位的所有106个信息熵中选取最大的M个,分别与记录的M个总信息熵交叉相加,并从这M2个值中选取最大的M个,按从大到小的顺序排列更新总信息熵{S1,S2,…,SM},加入并更新记录的对应字元序列,以及按Code128校验位计算规则更新校验值{v1,v2,…,vM},重复本步骤至遍历完所有数据位;
步骤(3-7)根据所记录的M个校验值{v1,v2,…,vM},按Code128校验位计算规则对103取模后,得到分别对应的M个校验字元,取得这M个校验字元的对应信息熵,加和到总信息熵{S1,S2,…,SM}之上;
步骤(3-8)从以上M个总信息熵中选取最大的一个,与人工设定的概率接受阈值相比较,小于阈值则触发拒识,否则从记录的对应字元序列中读取出从开始位到所有数据位的最大全概率对应取值。
2.根据权利要求1所述的一种基于全局优化的Code128条码自动识读方法,其特征在于:所述步骤(3)中的步骤(3-1)到步骤(3-3)及步骤(3-4)到步骤(3-8),还可以替换采用HMMs、MRFs、二部图、图割或TVL1优化的方式得到各字元包括校验位的最大概率对应取值。
3.根据权利要求1所述的一种基于全局优化的Code128条码自动识读方法,其特征在于:在进行所述Code128条码自动识读的步骤(1)之前还包括依次进行的以下步骤:
步骤a:利用传感器或摄像头采集条码图像;
步骤b:定位条形码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010170884.0A CN111368576B (zh) | 2020-03-12 | 2020-03-12 | 一种基于全局优化的Code128条码自动识读方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010170884.0A CN111368576B (zh) | 2020-03-12 | 2020-03-12 | 一种基于全局优化的Code128条码自动识读方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111368576A CN111368576A (zh) | 2020-07-03 |
CN111368576B true CN111368576B (zh) | 2023-04-21 |
Family
ID=71210436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010170884.0A Active CN111368576B (zh) | 2020-03-12 | 2020-03-12 | 一种基于全局优化的Code128条码自动识读方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111368576B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114417904A (zh) * | 2022-01-18 | 2022-04-29 | 南京信息职业技术学院 | 一种基于深度学习的条形码识别方法及图书检索*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0830732A (ja) * | 1994-07-15 | 1996-02-02 | Ricoh Co Ltd | 文字認識方法 |
CN108416412A (zh) * | 2018-01-23 | 2018-08-17 | 浙江瀚镪自动化设备股份有限公司 | 一种基于多任务深度学习的物流复合码识别方法 |
CN110837436A (zh) * | 2019-11-05 | 2020-02-25 | 成都信息工程大学 | 有限域上高效纠删码轻量化自动解码方法、智能终端模块 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1236623C (zh) * | 2003-12-14 | 2006-01-11 | 浙江大学 | 信息熵保持解码方法与装置 |
JP2008009907A (ja) * | 2006-06-30 | 2008-01-17 | Fuji Xerox Co Ltd | バーコード認識装置、方法及びプログラム |
CN101093547B (zh) * | 2007-05-18 | 2010-06-09 | 上海邮政科学研究院 | 基于高度参数的条码和数字协同识别物品的方法 |
WO2013124837A1 (en) * | 2012-02-21 | 2013-08-29 | Eyeconit Ltd | Readable matrix code |
CN104573600B (zh) * | 2013-10-24 | 2017-12-19 | 成都市三宇仪表科技发展有限公司 | 一种基于静态轮式编码的识别方法 |
CN104239878B (zh) * | 2014-08-30 | 2017-05-10 | 电子科技大学 | 一种基于概率极值搜索的车牌字符识别方法 |
JP6545740B2 (ja) * | 2017-03-08 | 2019-07-17 | 株式会社東芝 | 生成装置、プログラム、認識システムおよび生成方法 |
CN107862234A (zh) * | 2017-10-23 | 2018-03-30 | 广东数相智能科技有限公司 | 一种彩色条形码的识别方法、电子设备及存储介质 |
CN108345880B (zh) * | 2018-01-26 | 2021-07-27 | 金蝶软件(中国)有限公司 | ***识别方法、装置、计算机设备和存储介质 |
CN109670364A (zh) * | 2018-12-24 | 2019-04-23 | 艾体威尔电子技术(北京)有限公司 | 一种模板识别信息校对方法 |
CN109902529B (zh) * | 2019-03-01 | 2022-05-03 | 成都信息工程大学 | 一种基于波形匹配的一维条码识别方法及*** |
-
2020
- 2020-03-12 CN CN202010170884.0A patent/CN111368576B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0830732A (ja) * | 1994-07-15 | 1996-02-02 | Ricoh Co Ltd | 文字認識方法 |
CN108416412A (zh) * | 2018-01-23 | 2018-08-17 | 浙江瀚镪自动化设备股份有限公司 | 一种基于多任务深度学习的物流复合码识别方法 |
CN110837436A (zh) * | 2019-11-05 | 2020-02-25 | 成都信息工程大学 | 有限域上高效纠删码轻量化自动解码方法、智能终端模块 |
Also Published As
Publication number | Publication date |
---|---|
CN111368576A (zh) | 2020-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10956673B1 (en) | Method and system for identifying citations within regulatory content | |
CN111222513B (zh) | 车牌号码识别方法、装置、电子设备及存储介质 | |
CN112163092B (zh) | 实体及关系抽取方法及***、装置、介质 | |
CN116127953B (zh) | 一种基于对比学习的中文拼写纠错方法、装置和介质 | |
CN112560484A (zh) | 一种改进bert训练模型及一种命名实体识别方法、*** | |
CN113657098B (zh) | 文本纠错方法、装置、设备及存储介质 | |
CN111368576B (zh) | 一种基于全局优化的Code128条码自动识读方法 | |
CN115100668A (zh) | 识别图像中表格信息的方法和装置 | |
CN109617864B (zh) | 一种网站识别方法及网站识别*** | |
CN114913487A (zh) | 一种基于多模态学习的目标识别检测方法及相关组件 | |
CN114417904A (zh) | 一种基于深度学习的条形码识别方法及图书检索*** | |
CN111539414A (zh) | 一种ocr图像字符识别和字符校正的方法及*** | |
CN113128504A (zh) | 一种基于校验规则的ocr识别结果纠错方法、设备 | |
CN116954113B (zh) | 智能机器人驱动传感智能控制***及其方法 | |
CN116310581A (zh) | 一种半监督变化检测洪涝识别方法 | |
CN114612919B (zh) | 一种票据信息处理***及方法、装置 | |
CN114677689B (zh) | 一种文字图像识别纠错方法和电子设备 | |
CN111461109B (zh) | 一种基于环境多种类词库识别单据的方法 | |
CN115937862A (zh) | 一种端到端的集装箱号码识别方法及*** | |
CN113449524B (zh) | 一种命名实体识别方法、***、设备以及介质 | |
CN113762160A (zh) | 一种日期提取方法、装置、计算机设备及存储介质 | |
CN114330323A (zh) | 实体关系联合抽取方法、装置、计算机终端及存储介质 | |
CN116229493B (zh) | 跨模态的图片文本命名实体识别方法、***及电子设备 | |
CN117912037B (zh) | 一种ocr模型后处理方法、***及存储介质 | |
CN113837129B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |