CN109255271A - 用于读取光码的光电代码阅读器和方法 - Google Patents

用于读取光码的光电代码阅读器和方法 Download PDF

Info

Publication number
CN109255271A
CN109255271A CN201810528155.0A CN201810528155A CN109255271A CN 109255271 A CN109255271 A CN 109255271A CN 201810528155 A CN201810528155 A CN 201810528155A CN 109255271 A CN109255271 A CN 109255271A
Authority
CN
China
Prior art keywords
code
classifier
image data
conventional decoder
read
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.)
Granted
Application number
CN201810528155.0A
Other languages
English (en)
Other versions
CN109255271B (zh
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.)
Sick AG
Original Assignee
Sick AG
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 Sick AG filed Critical Sick AG
Publication of CN109255271A publication Critical patent/CN109255271A/zh
Application granted granted Critical
Publication of CN109255271B publication Critical patent/CN109255271B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/10861Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices sensing of data fields affixed to objects or articles, e.g. coded labels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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/1404Methods for optical code recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14131D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1482Methods for optical code recognition the method including quality enhancement steps using fuzzy logic or natural solvers, such as neural networks, genetic algorithms and simulated annealing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1491Methods for optical code recognition the method including quality enhancement steps the method including a reconstruction step, e.g. stitching two pieces of bar code together to derive the full bar code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Quality & Reliability (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Automation & Control Theory (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Fuzzy Systems (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)
  • Character Discrimination (AREA)

Abstract

本申请涉及用于读取光码的光电代码阅读器和方法。提出了光电代码阅读器(10),特别是条形码阅读器,其具有用于从接收光生成图像数据的至少一个光接收元件(24)和评估单元(26),在该评估单元中实现将代码信息分配给图像数据的代码区域(20)的分类器(30),其中分类器(30)被构造用于机器学习,并通过受监控的学习根据所读取的传统解码器(28)的代码进行训练,该传统解码器通过没有机器学习的方法工作。

Description

用于读取光码的光电代码阅读器和方法
本发明涉及根据权利要求1或14的前序部分所述的用于读取光码的光电代码阅读器和方法。
代码阅读器由于超市收银台而被知道用于自动包裹识别、邮件分类、机场行李处理和其它物流应用。在代码扫描仪中,通过旋转镜或多棱镜轮引导读取光束横向穿过代码。基于相机的代码阅读器通过图像传感器捕获其上有代码的对象的图像,并且图像分析软件从这些图像中提取代码信息。基于相机的代码阅读器也可以轻松应对除一维条形码以外的其它代码类型,这些其他代码类型与矩阵代码一样也被构造成二维的并提供更多信息。
在重要的应用组中,携带代码的对象经过代码阅读器来输送。在这种情况下,代码扫描仪检测被分别依次引导到其读取区域中的代码。可替代地,在基于相机的代码阅读器中,行扫描相机(Zeilenkamara)通过相对移动连续且逐行地读入具有代码信息的对象图像。通过二维图像传感器有规律地捕获图像数据,这些图像数据根据捕获频率和输送速度或多或少重叠。为了使对象可以在任何方向布置在传送带上,通常在读取通道上设置多个代码阅读器,以便从多个侧面或所有侧面捕获对象。
对于代码阅读器或读取通道来说,高的读取速率是最重要的质量标准之一。读取错误迫使进行繁琐的错误排除,如重新手动扫描或重新分类。用于条形码的传统解码器在所谓的边缘位置阵列(Kantenpositionsfeld)上工作,该边缘位置阵列通过二值化技术从灰度值分布(Grauwertprofile)中生成。边缘位置的确定和二值化方法密切相关,因为边缘确定对应于二元分类,而无论边缘是否存在。然后,基于相应条形码类型的规格基本上以1位向量基于与边缘位置顺序对应的条与间隙的比例来进行实际的解码。
这是图像处理链中的关键点,因为从初始检测的灰度值信号中获取黑白图像或二值化与显著的信息丢失(例如,每像素八位灰度值到只还有一位)相关联。因为边缘位置的生成始终是有错误的。一些示例性的错误源是与像素分辨率有关的较小的条宽、非常嘈杂或模糊的信号、缺少对比度和打印错误。由此,某些边缘未被找到或未被准确定位,结果是根据这类错误的程度无法再读取代码(NoRead)。虽然该示例涉及条形码,但二维代码会出现类似的问题。
EP 1 096 416 B1公开了一种方法,通过该方法可以从多次连续的扫描重建条形码。为此,将仅覆盖部分代码的灰度值分布合并成整体分布,然后对其进行解码。因此,这涉及预处理步骤,因为接着会如此前那样出现对整体分布进行解码的问题。
从EP 3 009 984 A1已知一种用于光码的检测系统,其中在具有代码的对象的输送移动过程期间捕获了一系列图像。然后,确定两个连续的图像之间的位移向量,以便可以跟踪跨越多次捕获的图像区域。解码本身不会由此而改变。
已经提出了使用神经网络来读取条形码。例如,US 8 905 314 B2涉及通过分类器进行条形码识别,该分类器可以被设计成学习神经网络。但是,该分类器使用包含边缘位置的特征向量工作。因此,分类器的输入数据早已遭受了先前所述的由于二值化或边缘检测的信息丢失。分类器根据模拟的特征向量进一步进行训练。为此,缺少与真实数据的联系。此外,即使没有机器学习,传统解码器也实现了高性能。因此,US 8 905 314 B2中的这些已知方法没有充分利用通过机器学习来真正提高读取速率的潜力。
因此,本发明的任务在于,通过机器学习来改进代码读取。
该任务通过根据权利要求1或14的用于读取光码的光电代码阅读器和方法来实现。该代码阅读器具有光接收元件并从而检测图像数据,优选是具有灰度值的图像数据。被构造用于机器学习的分类器将代码信息分配给图像数据的代码区域以便进行评估。优选地,代码区域通过预处理来找到,该预处理例如根据对比度对图像数据进行分段。
现在,本发明基于使用传统解码器或其解码结果用于分类器的基本思想。分类器根据所读取的传统解码器的代码通过受监控的学习(受监督的学习)进行训练。在这种情况下,传统解码器应意味着,与可训练的分类器相反,该传统解码器通过没有机器学习的方法工作。因此,在这里,机器学习的反义词应该是传统的。在这种情况下,即使在传统解码器中也可以设置和调整参数,仅此还不是机器学习。重要的实际区别是传统解码器已经通过其编程为其任务做好了准备,且不需要经验或训练,并且其性能从一开始直到整个运行时间几乎是恒定的。相比之下,分类器的性能显然不仅取决于其编程的结构,而且仅与训练和训练数据的质量有关。
本发明的优点在于,通过机器学习提高相对于传统解码器和已知分类器的读取速率来读取代码。即使在有诸如分辨率低、代码模糊,有缺陷和噪声的干扰影响时也运作。分类器可以适应代码的特殊的读取情况和应用特定的特点,诸如分开的条(split bars)、因超压或低压引起的对比度问题、模糊的代码等。在最初的训练中,甚至在读取操作期间也可以在线进行调整。那么这么说,传统解码器是负责标记训练数据,因此,可以以非常简单的方式生成初始训练或调整所需的高质量的训练数据。
优选地,代码阅读器被构造成代码扫描仪,并具有光发射器和可移动的偏转单元,该光发射器具有用于发射读取光束的发射光学器件,该偏转单元为了在检测范围内周期性地偏转读取光束。从该扫描中产生相应的扫描角度的反射率值,从而使得代码扫描仪也逐行检测图像数据。可替代地,代码阅读器是基于相机的。在许多重要的应用中,代码阅读器和检测区域处于相对移动,例如当手持设备旋转经过检测区域时,或者当代码阅读器安装在传送带上以读取在其上传送的物体上的代码时。这种相对移动确保了对象和代码区域被连续逐行地检测,从而不仅产生了图像行,而且还产生了二维图像。这同样适用于代码扫描仪和基于相机的代码阅读器中的行扫描相机。但还可以设想直接捕获较大的图像部分的二维图像传感器。为了读取条形码,考虑穿过图像数据的线,该线可以但不必对应于扫描方向或相机扫描行。沿着这些线,图像数据提供应解码的灰度值分布。
优选地,传统解码器被构造用于处理黑白图像信息。因此,设置了预处理,其也可以是传统解码器的一部分,以便从灰度值分布中获取相应的黑白信息。这种传统解码器是可用的,甚至在存在前述问题时也能实现非常高的读取速率。
优选地,传统解码器被构造用于二值化图像数据和/或确定图像数据中的边缘位置。因此,正如引言所阐述的那样,传统解码器从灰度值分布中有效地确定1位向量,并且从这种可用的条和间隙的序列中确定代码内容。
分类器基于图像数据的灰度值信息将代码信息分配给代码区域。因此,分类器是灰度值解码器,与在优选的实施方式中的传统解码器不同,该灰度值解码器不使用1值二进制数据而是使用灰度值分布来工作。在这种情况下,可以设想减少灰度级的位深度,但其中也会出现信息丢失。因此,分类器也用灰度值分布进行训练,而不是用仅提供代码结果或标签的传统解码器的二值化数据或边缘位置进行训练。因此,分类器最终使用比评估训练数据的传统解码器更多的信息,即更多的灰度值信息。这是根据本发明的提高的读取速率的原因:该分类器使用灰度值分布的全部的输入信息直到代码或单个字符的解码,使得通过二值化或边缘确定的已知问题不再生效。
优选地,分类器具有神经网络或支持向量机。这些都是机器学习的经过验证的示例,其中许多合适的算法和架构可供使用。也可以考虑诸如随机森林树的机器学习的其它方法。
优选地,分类器也确定代码信息到代码区域的相应分配的可靠性度量。迄今,只有在读取代码失败时看成是读取错误(NoRead)。但此外也有这种可能性,即读取了具有错误的值的至少一个字符(Misread)。在某种程度上,这种错误可以通过校正方法和校验和来检测或者甚至消除,并且这些方法也可用于具有基于机器学习的分类器的代码阅读器。但只有当分类器已经评估完错读概率时,这才是有用的。然后,甚至例如通过阈值对错度概率进行参数化,方式是指定所需的错读的概率并将其与可靠性度量进行比较。
优选地,评估单元被构造用于将代码区域划分成各个代码元素,其中分类器分别在一个步骤中仅解码一个代码元素。分类通常不是时间敏感的,否则也可以让分类器的多个实例并行地解码代码元素。原则上,分类器也可以学习较长的序列,然后进行区分,但为此有可能得区分更多的分类并且进行更加复杂的训练。因此,有利的是逐件地分别只为一个代码元素进行分类。
优选地,评估单元被构造用于通过传统解码器和/或分类器的方法找到起始字符和/或终止字符,并将位于其间的代码区域划分成各个代码元素。各个代码元素在常规的标准中具有相等的长度,使得在了解到代码开始和代码结束时可以将其间的区域分布到同样根据代码类型已知数量的代码元素上。可以设想通过传统解码器以及分类器找到起始字符和终止字符,为此,优选地,该分类器从灰度值分布的两端开始搜索到中间。
优选地,传统解码器也在评估单元中实现。可替代地,可以设想通过其它设备或从外部基于图像数据得到传统解码器的读取结果。在学习阶段之后,经训练的分类器对于代码阅读器的操作就足够了。然而,当在同一台设备中除了分类器之外还有传统解码器可供使用时,出于不同的原因是有用的。
优选地,评估单元被构造用于通过使用传统解码器和分类器将代码信息分配给图像数据的代码区域来读取代码。因此,试图以两种方式读取代码,无论是并行还是连续。如果只有一种方法可以读取代码,则使用该结果。如果存在不同的读取结果,则例如可以根据可靠性度量来决定分类器是否实际上否决了传统解码器。也可以设想的是,从一开始就为这些情况确定谁占上风。如果两种方法只在部分解码成功了,则可以合并部分结果。
优选地,分类器只用于读取不能用传统解码器读取的代码。使用传统解码器,读取速率已经可以达到99%。通过仅为其余情况插入分类器,已经实现的解码器质量不会受到损害,相反,它只能变得更好,因为分类器仍然可以破译迄今为止不可读的代码。即使1%的错误率似乎很低,但有进一步减小它的很大的经济利益。顺便提及,其中代码已经由传统解码器读取的众多的读取过程可用于验证或再训练分类器。由此,特别实现了对缓慢漂移的适应,这些漂移在操作过程中会改变代码或图像捕获的质量或其他性质。
优选地,评估单元被构造用于通过图像数据对于不同的线重复代码信息到代码区域的分配,然后将部分结果组合成共同的代码内容,特别是以投票方法进行组合。虽然条形码中的信息只是一维编码的,但该条形码也有横向于此的扩展,使得可以放置不同的读取线,从而可以获得多个灰度值分布。根据图像错误和图像变化,这些灰度值分布可能允许解码不同的子区域。可靠性度量作为来自相应的读取中的投票或各个部分贡献的加权特别有用,以便完全不会首先考虑不可靠的、从而可能错误的部分结果。
优选地,评估单元被构造用于跨图像的代码读取,为了读取代码在不同时间点生成的图像数据之间的跟踪代码区域,为由此而多次捕获的代码区域分别将代码信息分配给各个代码元素,并接着将代码信息组合成代码内容。在某些情况下,从同一图像评估几个灰度值分布是不够的,例如,因为图像错误在整个高度上延伸。在二维代码中,不管怎样在有图像错误时会产生问题,这些图像错误仅在局部延伸且不在整个宽度或高度上延伸。在许多应用中,例如在读取通道中,在相对移动的过程中多次检测同一代码区域。然后,可以根据相对移动对代码区域进行跟踪(Tracking),并且从各个照片中的部分解码跨图像地组成整个代码。为此,也可以设想根据经由同一图像中的多条读取线进行部分解码的投票方法。也可以将同一图像中的和跨图像的多个部分读取的组合结合起来。
根据本发明的方法可以以类似的方式进一步发展并同时显示出类似的优点。这种有利的特征在从属于独立权利要求的从属权利要求中示例性地但不详尽地进行描述。
附图说明
下面将示例性地根据实施方式并参考附图对本发明的其它特征和优点进行更详细的阐述。附图中示出:
图1是在传送带上方示例性安装代码阅读器的示意性三维概览图,在该传送带上输送具有待读取的代码的对象;
图2是具有多条扫描线的代码的图像数据的示例,沿着该扫描线获得用于解码代码的灰度值分布;
图3是示例性的灰度值分布;
图4是用于说明代码元素或单个字符的示例性条形码的图示;
图5是多个灰度值分布和相应的代码内容的表格图示,以用于图示具有机器学习的分类器的训练和操作;
图6是多个解码尝试的表格图示及其通过投票方法的共同评估;
图7是类似于图6的多个解码尝试的表格图示,但是是在多个图像上而不是在同一图像中的进行的多次读取尝试;以及
图8是具有相同代码的两个图像的示例,其中由于不同的捕获情况而导致的图像错误变化。
图1示出了安装在传送带12上方的光电代码阅读器10,如箭头16所示,该传送带将对象14输送通过代码阅读器10的检测区域18。对象14在其外表面上携带代码区域20,该代码区域由代码阅读器10检测并进行评估。这些代码区域20只有在它们安装在上侧或至少从上方可见时才可以被代码阅读器10识别。因此,不同于图1中的图示,为了读取比方说在侧面或下面安装的代码22可以从不同方向安装多个代码阅读器10,以便能够从所有方向实现所谓的全方位读取。在实践中,多个代码阅读器10到读取系统的布置通常实现为读取通道。代码阅读器10在传送带上的这种固定应用在实践中是非常普遍的。然而,本发明首先涉及代码阅读器10本身及其解码方法,因此该示例不应被限制性地理解。
代码阅读器10使用光接收器24检测所输送的对象14和代码区域20的图像数据,该图像数据由评估单元26通过图像评估和解码方法进一步处理。对本发明而言重要的不是具体的成像方法,从而使得可以根据任何已知的原理构造代码阅读器10。例如,无论是通过行形图像传感器还是扫描方法,每次仅检测一行,并且评估单元将在输送移动过程中检测到的行组合成图像数据。使用矩阵形图像传感器早已可以在捕获中检测到更大的区域,其中在这里也既可以在输送方向上也可以在横向于输送方向的方向上对照片进行组合。
代码阅读器10的主要任务是识别代码区域20并读出安置在那里的代码。为此,在评估单元26中实现传统解码器28和根据机器学习原理工作的分类器30。下面将根据图2至图8对解码方法进行详细的阐述。传统解码器28主要用于训练分类器30,使得在一些实施方式中不同于图1,在代码阅读器10中不存在传统解码器28。然而,在优选的实施方式中,传统的解码器28在操作中还用于读取代码、简化训练特别是再训练或验证、或至少执行诸如划分成代码元素的子任务。代码阅读器10经由接口32输出诸如所读取的代码或图像数据的信息。传统解码器28和/或分类器的功能还可以在利用接口32的情况下例如通过连接到网络或云被至少部分地在外部提供。例如,耗时的训练是在外部完成的。然后,分类器30仅接收诸如神经网络的加权因子的学习结果,然后可以用于代码读取。
图2示出了使用代码阅读器10检测到的代码区域20的图像数据的示例。只要图像行没有恰好平行于代码元素,该图像行就已足够用于解码条形码。因此,当定向适当时,可以使用多条读取线34。用于将代码区域20定位在图像数据中以及找出读取线34的合适定向的先前分割本身是已知的并在此是假定的。
目前,考虑限于这些读取线34中的一条。图3示出了相应的灰度值分布,即强度分布或沿着读取线34的图像行。解码意味着根据代码类型的规格将代码内容分配给灰度值分布。在这种情况下,存在所读取的代码信息直接对应于字符的代码类型,如交错(Interleaved)2/5。在其他情况下,如代码128,代码信息还取决于内部的解码器模式(CodeC表,诸如切换(Shift)的模式转换、功能字符FNC)的状态,并且仅以原始格式检测,该原始格式随后还必须进行转换。随后,在这些情况之间不再有区别,而是简单地假定相关的代码信息已经是期望的结果了。
分类器30应用于相对于传统解码器28提高读取速率。为此,首先训练分类器30。训练可以被设想为在用传统解码器28进行读取操作期间的在线训练,特别是以用于进一步调整的再训练形式的在线训练。然后,通过经训练的分类器30来改进解码是可能的。
下面首先在优选的实施例中描述学习或训练阶段,然后描述操作或评估阶段。本发明允许许多变型,以从属权利要求的特征为特征的优选实施方式。
在学习阶段,传统解码器28被用作分类器30的监督者或训练者。为此,从代码阅读器10或类似的设备所检测到的图像数据生成许多灰度值分布作为训练数据。传统解码器28在绝大多数情况下都能够读取相应的代码,使得灰度值分布的含义是已知的。优选地,具有传统解码器28的错误读取(NoRead)的灰度值分布在该学习阶段被丢弃。除了代码阅读器10的常规操作之外还可以产生训练数据,并且该训练数据也可以直接在线用于连续训练。然而,也可以设想在数据库中收集训练数据和与操作无关的学习阶段,其中传统解码器28选择性地将其读取结果一并存储在数据库中或者首先在训练期间生成该读取结果。原则上,训练数据的这种标签化,即将正确的代码内容分配给灰度值分布,也可以以任何其他方式来实现,但是使用传统解码器28已经是可用的简单且可靠的可行途径,本发明优选使用这种可行途径。
在通过传统解码器28进行解码期间,相当传统地生成边缘位置阵列并逐个字符地对其进行处理,直到出现完整的读取结果。由于代码内容、边缘位置阵列和代码类型,已知各个代码元素位于哪里。图4在示例代码中对此进行了图示,其中开始绘制了各个代码元素的一些连字符。在此之下是相应代码元素的解码的字符。然后,可以由此获得对应于相应的字符的灰度值分布的节段。
因此,每个读取的代码提供对应于代码长度的多个训练数据集,其中每个训练数据集包含灰度值分布的节段连同其正确的分类,即连同含义或代码内容。在实践中,在示教之前还应将灰度值分布的节段在大小和对比度方面标准化,以便随后在评估阶段独立于应用参数,诸如变化的条宽度、读取间隔、对象高度、对比度波动和类似的效果。
图5再次示出了表格式的概览图。在表格的左侧部分,灰度值分布的节段分别位于行中,而相关的代码内容位于右侧。在学习阶段中,该关系在分类器30中进行训练。灰度值分布的节段是输入(特征),代码内容提供相关联的和已知的标签或分类(目标变量)。
在这种情况下,考虑具有机器学习(machine learning)的多类(multi-class)分类器30的不同算法或实施,诸如神经网络、多类支持向量机、随机森林树等。除了实施花费和所需的硬件之外,选择标准首先是质量(即读取速率的实际改进)以及评估速度。原则上,还可以设想相关器,其不使用机器学习,并直接使新读取的灰度值分布的节段与存储的已知内容的节段直接相关。通过相关系数也可以为解码字符的正确性提供置信水平。然而,这种蛮力算法需要大量的计算工作量,并且由于运行时间长的原因而会较差。此外,该相关器对机器学习的新的和未知的情况缺乏适应性。
在有足够的单字符结果(优选对于待读取的条形码类型的字符集的每个字符)的训练阶段之后是评估阶段,即读取操作,其中分类器30实际上用于解码和提高读取速率。如果分类器30被预先训练,则省略学习阶段。例如,当已经训练过的分类器30从设备直接转移到另一设备或通过网络/云转移到另一设备时,可以考虑这一点。
图5的图示也适合评估阶段的这种情况。区别在于,表格的左侧示出的灰度值分布是新的未分类的数据。因此,与训练相比,右侧所示的代码内容不再是已知的,而是由分类器30估计或预测。现在,将训练数据的关系映射到分类器30的模型中,例如以神经网络的加权因子的形式进行映射。
在评估阶段不再强制性需要传统解码器28。然而,在优选的实施方式中,解码可以继续主要通过传统解码器28来实现。只有在解码失败时,才接着使用分类器30,以便还可以读取代码。使用机器学习的方法进行分类在这里可以说仅用作扩展,具体而言是用作传统解码器28错误读取(NoReads)时的重试尝试。这具有的优点是,传统解码器28的已经实现的高读取速率和短解码时间不会受到损害。
此外,还可以设想将传统解码器28用于子任务,诸如识别相应的代码类型的起始字符位置和终止字符位置。为此,传统解码器28应提供相应的输出功能。对此,不强制性地需要传统解码器28,因为分类器30自身也可以发现起始字符和终止字符,它们如所有其它字符一样是具有相应的代码内容的灰度值分布。然后,优选地,在两端开始搜索并继续向中间进行。
若发现了起始字符和终止字符,则根据像素中具体的代码类型以及起始字符和终止字符的尺寸来估计字符数量,然后,将起始字符和终止字符之间的灰度值分布等距离地划分成相应数量的灰度值分布的节段。类似于学习阶段,灰度值分布的各个节段被标准化。通过这种方式,根据图5的左侧部分获得灰度值分布,并且分类器30向它们分配了在右侧部分示出的代码内容。
在理想情况下,分类器30成功解码灰度值分布的所有节段。但并不总是存着这种理想情况,特别是当分类器30仅用于补偿传统解码器28的罕见读取错误并从而定期处理特别成问题的情况时。此外,分类器30还可以如此实施,使得总是存在分类结果,但该分类结果并不一定是客观正确的。
因此,当分类器30除了分类外还提供了可靠性度量(得分、置信水平)时是有利的。因此,一方面可以评估来自单个灰度值分布的读取结果是否足够可靠(无误读)。
如图2所示,在条形码的情况下不只存在一条可能的读取线34。这种冗余可以用来进一步减少读取错误。为此,重复通过各读取线34的灰度值分布执行解码。然后,由此为每个代码元素得到多个灰度值分布的多个相关的节段。
这些解码结果例如以表格形式在图6中示出。该表格也被称为投票矩阵。其中,Pos1...PosN表示不同的代码元素。在行Scan1...ScanJ中记入分别沿另一读取线34的不同重复的读取尝试。表格的各个值具有格式代码内容/可靠性度量。因此,例如在Scan1Pos3中可以以0.94的可靠性来解码值01。
现在,每一列都做出多数决定(投票)。可以设想具有可靠性度量的权重。图6最下方的一行示出了结果,即显示了共同确定的代码内容。
在该示例中,可靠性<0.5已经被认为是不安全的,即被认为是错误的分配或不可安全分类的。一列只具有不安全的分配也是可能的。在这样的列位置处,分类器30即使通过多条读取线34最终也不能读取代码,至少不能以所要求的可靠性来读取。
根据更严格的标准,甚至应超过i次进行安全分类。因此,如果在列中只列入i次可靠性≥0.5,则认为总体结果是无效的。可以通过i(多次读取或代码安全性)和阈值0.5来设置错误之间的比例(NoRead,Misread)。
如果图像错误在条形码的整个高度上延伸,则跨多条读取线34来组合读取结果并没有帮助。即使如此,还可以跨图像地读取代码。图7以表格形式示出了一个示例。该表格对应于图6,区别在于,行现在不再对应于同一图像内的不同读取线34,而是分别对应于同一代码的另一图像中的读取线34。也可以通过评估多个图像中的多条读取线34将两者组合。
为了进行说明,图8中示出了同一代码在不同的捕获情况下(特别是处于彼此足够接近的两个连续的输送位置)的两个图像,使得两次检测到相同代码。由于反射,在每种情况下都不可识别代码区域。但由此而影响到的图像区域不同。
可以借助跟踪算法从图像到图像地确定移动向量。由此,灰度值分布似乎可以越过图像以正确的方式叠加并从而用于多次读取。如果由于漂移的缺陷造成间隙或解码的代码字符不足够可靠,诸如经常在检测反射膜下方的代码时那样,则有一定数目的帧之后仍有可能读取代码。在图7的示例中,虽然所有有贡献的单次读取可能都是不完整的,但根据投票方法的共同的代码不再包含任何间隙。因此,所有单个图像的读取错误(NoRead)仍然得到补偿。
使用条形码的示例来描述本发明。在这种情况下,有时示出了具体的代码类型,但是本发明不限于任何特定的代码类型。如果要读取2D代码,则存在一些差异,诸如行形的灰度值分布不再代表整个代码。相反,根据待读取的2D代码的标准,各个代码字符的灰度值信息必须被不同地分段。尽管如此,仍然会产生对应于代码字符的灰度值模式。因此,本发明可以很容易应用于2D代码,特别是诸如PDF417的堆叠式代码类型,其中分类器30分类相应的三个集群的PDF417代码字。

Claims (15)

1.一种光电代码阅读器(10),特别是条形码阅读器,具有评估单元(26)和用于从接收光生成图像数据的至少一个光接收元件(24),在所述评估单元中实现将代码信息分配给所述图像数据的代码区域(20)的分类器(30),其中,所述分类器(30)被构造用于机器学习,
其特征在于,
所述分类器(30)根据传统解码器(28)的读取的代码通过受监控的学习来进行训练,所述传统解码器通过没有机器学习的方法工作。
2.根据权利要求1所述的代码阅读器(10),其中,所述传统解码器(28)被构造用于处理黑白图像信息。
3.根据权利要求1或2所述的代码阅读器(10),其中,所述传统解码器(28)被构造用于二值化所述图像数据和/或确定所述图像数据中的边缘位置。
4.根据前述权利要求中任一项所述的代码阅读器(10),其中,所述分类器(30)基于所述图像数据的灰度值信息将代码信息分配给代码区域。
5.根据前述权利要求中任一项所述的代码阅读器(10),其中,所述分类器(30)具有神经网络或支持向量机。
6.根据前述权利要求中任一项所述的代码阅读器(10),其中,所述分类器(30)也确定代码信息到代码区域(20)的相应分配的可靠性的度量。
7.根据前述权利要求中任一项所述的代码阅读器(10),其中,所述评估单元(26)被构造用于将代码区域(20)划分成各个代码元素,其中所述分类器(30)分别在一个步骤中仅解码一个代码元素。
8.根据权利要求7所述的代码阅读器(10),其中,所述评估单元(26)被构造用于通过所述传统解码器(28)和/或所述分类器(30)的方法找到起始字符和/或终止字符,并将位于其间的所述代码区域(20)划分成所述各个代码元素。
9.根据前述权利要求中任一项所述的代码阅读器(10),其中,所述传统解码器(28)也在所述评估单元(26)中实现。
10.根据权利要求9所述的代码阅读器(10),其中,所述评估单元(26)被构造用于通过使用所述传统解码器(28)和所述分类器(30)将代码信息分配给所述图像数据的代码区域(20)来读取代码。
11.根据权利要求9或10所述的代码阅读器(10),其中,所述分类器(30)只用于读取不能够使用所述传统解码器(28)来读取的代码。
12.根据前述权利要求中任一项所述的代码阅读器(10),其中,所述评估单元(26)被构造用于通过所述图像数据对于不同的线(34)重复代码信息到代码区域(20)的所述分配,然后将部分结果组合成共同的代码内容,特别是以投票方法来组合。
13.根据前述权利要求中任一项所述的代码阅读器(10),其中,所述评估单元(26)被构造用于跨图像的代码读取,为了所述代码读取在不同时间点生成的图像数据之间跟踪所述代码区域(20),为由此而多次捕获的代码区域(20)分别将代码信息分配给各个代码元素,并接着将所述代码信息组合成所述代码内容。
14.一种用于从图像数据中读取光码的方法,所述光码特别是条形码,其中,通过被构造用于机器学习的分类器(30)将代码信息分配给图像数据的代码区域(20),
其特征在于,
首先通过传统解码器(28)读取所述代码,所述传统解码器通过没有机器学习的方法工作,并且所述分类器(30)根据所读取的代码通过受监控的学习来进行训练。
15.根据权利要求14所述的方法,其中,所述传统解码器(28)基于二值化的图像数据或所述图像数据中的边缘检测来读取代码,以及其中,所述分类器(30)根据所述图像数据的灰度值信息将代码信息分配给代码区域(20)。
CN201810528155.0A 2017-07-12 2018-05-25 用于读取光码的光电代码阅读器和方法 Active CN109255271B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP17180889.2A EP3428834B1 (de) 2017-07-12 2017-07-12 Optoelektronischer codeleser und verfahren zum lesen von optischen codes
EP17180889.2 2017-07-12

Publications (2)

Publication Number Publication Date
CN109255271A true CN109255271A (zh) 2019-01-22
CN109255271B CN109255271B (zh) 2022-01-21

Family

ID=59325193

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810528155.0A Active CN109255271B (zh) 2017-07-12 2018-05-25 用于读取光码的光电代码阅读器和方法

Country Status (5)

Country Link
US (1) US11176454B2 (zh)
EP (1) EP3428834B1 (zh)
JP (1) JP6869208B2 (zh)
KR (1) KR102010494B1 (zh)
CN (1) CN109255271B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112446225A (zh) * 2019-09-05 2021-03-05 西克股份公司 光学代码的模块尺寸的确定
CN112699697A (zh) * 2019-10-22 2021-04-23 西克股份公司 读码器和用于读取光学代码的方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3081355B1 (fr) * 2018-05-24 2020-06-12 Solystic Procede de tri de bagages en aeroport avec videocodage optimise
JP7058053B2 (ja) * 2020-01-31 2022-04-21 株式会社オプティム コンピュータシステム、情報コード読取方法及びプログラム
DE102020108910B3 (de) * 2020-03-31 2021-07-22 Sick Ag Austausch einer Kamera
EP3916633A1 (de) * 2020-05-25 2021-12-01 Sick Ag Kamera und verfahren zum verarbeiten von bilddaten
EP3916618B1 (en) * 2020-05-27 2023-06-28 Siemens Aktiengesellschaft A method of reading a tag located on an object using a model and an industrial device therefor
EP3926519B1 (de) * 2020-06-18 2024-05-29 Leuze electronic GmbH + Co. KG Optischer sensor und verfahren zur erfassung von codes
EP4030337B1 (de) * 2021-01-18 2024-03-13 Leuze electronic GmbH + Co. KG Optischer sensor und verfahren zur erfassung von codes
CN113962231B (zh) * 2021-10-13 2024-03-26 杭州胜铭纸业有限公司 包装箱信息码光学识别比对方法及系统
DE102021126906A1 (de) 2021-10-18 2023-04-20 Sick Ag Kamerabasierter Codeleser und Verfahren zum Lesen optischer Codes
EP4231195B1 (de) 2022-02-21 2024-07-10 Sick Ag Auffinden von codebildbereichen in einem bild eines codetragenden objekts
EP4290403A1 (de) * 2022-06-07 2023-12-13 Sick Ag Lesen eines eindimensionalen optischen codes

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120080515A1 (en) * 2010-09-30 2012-04-05 Apple Inc. Barcode Recognition Using Data-Driven Classifier
US20140185933A1 (en) * 2012-12-28 2014-07-03 Yibin TIAN Document image compression method and its application in document authentication
CN104268498A (zh) * 2014-09-29 2015-01-07 杭州华为数字技术有限公司 一种二维码的识别方法及终端
CN105160339A (zh) * 2015-08-06 2015-12-16 四川大学 一种二维码打印质量在线评估方法
JP2016151800A (ja) * 2015-02-16 2016-08-22 株式会社ウェルキャット コード読取学習システム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06119480A (ja) 1992-09-17 1994-04-28 Ncr Internatl Inc バーコード読取装置
JP2793453B2 (ja) 1992-10-26 1998-09-03 日本電気精器株式会社 ニューラル・ネットワークを用いたバーコード・シンボルの認識方法
ATE453899T1 (de) * 1999-10-26 2010-01-15 Datalogic Spa Verfahren zum wiederaufbau eines streifenkodes durch aufeinanderfolgende abtastungen
DE10137093A1 (de) * 2001-07-30 2003-02-13 Sick Ag Verfahren zum Erkennen eines Codes und Codeleser
US20130107938A9 (en) * 2003-05-28 2013-05-02 Chad Fogg Method And Apparatus For Scalable Video Decoder Using An Enhancement Stream
JP2008021009A (ja) 2006-07-11 2008-01-31 Fuji Xerox Co Ltd バーコード認識装置、方法及びプログラム
US7946491B2 (en) * 2006-08-03 2011-05-24 Nokia Corporation Method, apparatus, and computer program product for providing a camera barcode reader
JP5262869B2 (ja) * 2009-03-12 2013-08-14 株式会社リコー 画像処理システム、画像処理サーバ、mfp及び画像処理方法
US8851382B2 (en) * 2009-09-24 2014-10-07 Ebay Inc. System and method for estimation and classification of barcodes using heuristic and statistical measures
KR20120019964A (ko) 2010-08-27 2012-03-07 주식회사 모빌리언스 바코드 생성 알고리즘을 이용하는 휴대폰 결제 시스템 및 휴대폰 결제 방법
US8905314B2 (en) 2010-09-30 2014-12-09 Apple Inc. Barcode recognition using data-driven classifier
KR101293703B1 (ko) 2011-11-28 2013-08-06 (주)이컴앤드시스템 스큐된 데이터 매트릭스 바코드 디코딩 장치와 이를 위한 방법
WO2015017796A2 (en) 2013-08-02 2015-02-05 Digimarc Corporation Learning systems and methods
EP3009984A1 (de) 2014-10-14 2016-04-20 Sick Ag Detektionssystem für optische Codes
US9361503B2 (en) * 2014-10-30 2016-06-07 Datalogic IP Tech Srl Systems, methods and articles for reading highly blurred machine-readable symbols
CN113888761A (zh) * 2017-05-19 2022-01-04 谷歌有限责任公司 使用环境传感器数据的高效的图像分析
US11334731B2 (en) * 2018-04-24 2022-05-17 University of Pittsburgh—of the Commonwealth System of Higher Education System and method of decoding a barcode using machine learning

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120080515A1 (en) * 2010-09-30 2012-04-05 Apple Inc. Barcode Recognition Using Data-Driven Classifier
US20140185933A1 (en) * 2012-12-28 2014-07-03 Yibin TIAN Document image compression method and its application in document authentication
CN104268498A (zh) * 2014-09-29 2015-01-07 杭州华为数字技术有限公司 一种二维码的识别方法及终端
JP2016151800A (ja) * 2015-02-16 2016-08-22 株式会社ウェルキャット コード読取学習システム
CN105160339A (zh) * 2015-08-06 2015-12-16 四川大学 一种二维码打印质量在线评估方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112446225A (zh) * 2019-09-05 2021-03-05 西克股份公司 光学代码的模块尺寸的确定
CN112446225B (zh) * 2019-09-05 2024-05-10 西克股份公司 光学代码的模块尺寸的确定
CN112699697A (zh) * 2019-10-22 2021-04-23 西克股份公司 读码器和用于读取光学代码的方法
CN112699697B (zh) * 2019-10-22 2024-03-22 西克股份公司 读码器和用于读取光学代码的方法

Also Published As

Publication number Publication date
EP3428834A1 (de) 2019-01-16
JP6869208B2 (ja) 2021-05-12
CN109255271B (zh) 2022-01-21
JP2019049967A (ja) 2019-03-28
KR20190007380A (ko) 2019-01-22
US20190019086A1 (en) 2019-01-17
EP3428834B1 (de) 2019-06-12
US11176454B2 (en) 2021-11-16
KR102010494B1 (ko) 2019-08-13

Similar Documents

Publication Publication Date Title
CN109255271A (zh) 用于读取光码的光电代码阅读器和方法
JP6878575B2 (ja) 紙幣管理方法、システム、プログラム及び記録媒体
CN107617573B (zh) 一种基于多任务深度学习的物流编码识别和分拣方法
AU2009305437B2 (en) Method and system for item identification
US5770841A (en) System and method for reading package information
CN101925905B (zh) 根据特征图像流程识别和验证未知文档
US6424728B1 (en) Method and apparatus for verification of signatures
TWI381321B (zh) 重組多張影像與辨識方法以及影像擷取與辨識系統
CN101339607B (zh) 人脸识别方法及系统、人脸识别模型训练方法及系统
EP3244349B1 (en) System and method for detecting forgeries
CN107146088A (zh) 来自标记的特征的唯一识别信息
US20140180981A1 (en) System and methods for computerized machine-learning based authentication of electronic documents including use of linear programming for classification
US5555313A (en) Method and apparatus for characterizing the performance of a printer or an imaging system
CN105160339A (zh) 一种二维码打印质量在线评估方法
CN112434544A (zh) 一种条烟编码检测识别方法及装置
US20080008376A1 (en) Detection and identification of postal indicia
CN102194275A (zh) 一种车票自动检票方法
CN109741551A (zh) 一种商品识别结算方法、装置及系统
KR20100129133A (ko) 바코드 처리 장치 및 바코드 처리 방법
AU767936B2 (en) Method of processing a document in an image-based document processing system and an apparatus therefor
KR20150108118A (ko) 영상 인식 기반 계량기 원격 검침 시스템
CN115302963A (zh) 一种基于机器视觉的条形码印刷控制方法、系统及介质
US8267322B2 (en) Method and apparatus for correcting decoding errors in machine-readable symbols
US20180173989A1 (en) Process and system of identification of products in motion in a product line
Rahman et al. Automated sorting of recycled paper using smart image processing

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