用于追踪光代码的系统和方法与流程

文档序号:24287315发布日期:2021-03-17 00:34阅读:69来源:国知局
用于追踪光代码的系统和方法与流程

本申请是申请号为“201510670126.4”,申请日为“2015年10月9日”,题目为“用于追踪光代码的系统和方法”专利申请的分案申请。

相关申请的交叉引用

本发明涉及于2014年10月9日提交的、申请号为tbd、申请人为ivana.bachelder和savithrivaidyanathan、发明名称为“条形码解码”的美国申请,该申请的内容以引用的方式并入本申请中。

本发明涉及追踪目标,更具体而言、涉及预测光代码的可能的将来位置的范围。



背景技术:

自动识别与目标的追踪、例如在使用光代码的产品中有很多应用。光代码是根据一些预定规则装配的、具有不同光反射或光发射的元素的图案。已知的光代码是用在不同消费品中的线性条形码。线性条形码包括以线性方式的条或空格。光代码还可以是二维的。线性且二维条形码总体上被称为符号。二维光代码可以包括以二维矩阵代码的打开/闭合图案。条形码或符号可以被印刷在放置在产品包装上的标记上或者直接被印刷在产品本身上。

可以通过使用固定架设备或便携式手持装置中的光阅读器对在条形码或符号中编码的信息进行解码。例如,在固定架设备的情形中,传输线使标记有代码或符号的目标在固定架阅读器的范围中移动,这可以产生代码或符号的图像。基于图像的阅读器装置典型地包括能够产生视野(fov)的二维图像的至少一个照相机。例如,一些系统当前使用二维电荷耦合装置(ccd)图像传感器,其获取随后被处理器接收的图像。所述处理器编程为检查图像数据以识别代码候选物(比如条形码候选物或符号候选物)并且对那些代码候选物进行解码。阅读器装置可以编程为在快速演替中获取视野(fov)的图像并且尽可能快地对任意获取的代码候选物进行解码。处理器运行一个或多个解码算法以对代码候选物进行解码。

在固定架设备中,光阅读器可以获取相同目标和应用代码的大量图像。目标和应用代码可以在沿穿过fov的方向上的不同位置中。此外,图像中的一些目标和应用代码对于fov是新的,例如,在先前图像期间被定位在fov外部的那些,并且其他目标和应用代码在产生后续图像之前离开fov。

当获得代码的图像时,图像的质量取决于几个因素、例如阅读器相对于代码被施加的表面的角度、代码被施加的表面的材料和纹理、标记之后的代码标记质量或损坏、环境和装置照明特征、应用符号中的扭曲、传输线速度、距代码被施加的表面的距离、光学模糊、照相机分辨率、传感器噪声、运动模糊(传感器曝光期间的部分运动)等。图像质量影响了运行具体算法以对代码进行解码的处理器的能力。例如,在很多情形中,单一解码算法不能成功地对图像中的代码进行解码,除非包围图像获取的环境本质上是理想的。此外,图像也许不包括全部代码,但仅包括其片段。



技术实现要素:

代码的多个图像对于重建整个代码是必需的。为了补偿代码的不完全和不完整的图像获取,追踪算法可以有助于定位在何处代码是在后续捕捉到的图像中。在相同代码的不同片段在后续图像中被识别之后,拼接算法(stitchingalgorithms)可以被用于拼接不同片段以产生整个代码。

在一些方面中,提供了一种用于定位施加到目标的条形码的方法。所述方法包括由处理器接收在第一时间处由照相机捕捉到的施加到第一目标的第一条形码片段的第一图像,并且由所述处理器基于所述第一图像来识别第一条形码片段的第一位置。所述方法还包括由所述处理器接收在第二时间处由所述照相机捕捉到的第二条形码片段的第二图像,并且由所述处理器基于所述第二图像来识别第二条形码片段的第二位置。所述方法包括由所述处理器基于追踪模型来预测第一条形码片段在第二时间处的可能位置的范围,其中所述追踪模型基于所述第一位置来追踪第一条形码片段,并且由所述处理器确定出:如果所述第二位置位于第一条形码片段在所述第二时间处的可能位置的范围内,则所述第一条形码片段和第二条形码片段对应于施加到第一目标的相同条形码。

在一些方面中,提供了一种用于定位施加到系统中的目标的条形码的方法,所述系统构造为扩展由具有图像传感器的照相机成像的场景的视野,所述方法包括:接收在第一时间处由所述照相机捕捉到的第一图像,所述第一图像包括第一视野和第二视野,其中所述第一图像的第一视野描绘第一条形码片段并且所述第一图像的第二视野描绘第二条形码片段;基于所述第一图像来识别在所述第一图像的第一视野内的第一条形码片段的第一位置;基于所述第一图像来识别在所述第一图像的第二视野内的第二条形码片段的第一位置。所述方法可以包括:接收在第二时间处由所述照相机捕捉到的第二图像,所述第二图像包括第一视野和第二视野,其中,所述第二图像的第一视野描绘第三条形码片段并且所述第二图像的第二视野描绘第四条形码片段;基于所述第二图像来识别在所述第二图像的第一视野内的第三条形码片段的第二位置;基于所述第二图像来识别在所述第二图像的第二视野内的第四条形码片段的第二位置。所述方法包括:基于第一追踪模型来预测第一条形码片段在第二时间处的可能位置的范围,其中所述第一追踪模型基于所述第一条形码片段的第一位置来追踪第一条形码片段;基于第二追踪模型来预测第二条形码片段在第二时间处的可能位置的范围,其中所述第二追踪模型基于第二条形码片段的第一位置来追踪第二条形码片段;确定所述第三条形码片段的第二位置是否位于所述第一条形码片段在第二时间处的可能位置的范围内;确定所述第四条形码片段的第二位置是否位于所述第二条形码片段在第二时间处的可能位置的范围内;并且如果第三条形码片段的第二位置位于第一条形码片段在第二时间处的可能位置的范围内并且第四条形码片段的第二位置位于第二条形码片段在第二时间处的可能位置的范围内,则确定出第一条形码片段、第二条形码片段、第三条形码片段以及第四条形码片段对应于相同的条形码。

在一些方面中,提供了一种用于定位施加到目标的条形码的系统。所述系统包括:照相机,其构造为捕捉施加到目标的条形码的图像;以及处理器,其与所述照相机通信。所述处理器被构造为:接收在第一时间处由所述照相机捕捉到的施加到第一目标的第一条形码片段的第一图像;基于所述第一图像来识别第一条形码片段的第一位置;接收在第二时间处由所述照相机捕捉到的第二条形码片段的第二图像;基于所述第二图像来识别第二条形码片段的第二位置;基于追踪模型来预测第一条形码片段在第二时间处的可能位置的范围,其中所述追踪模型基于所述第一位置来追踪第一条形码片段;并且如果所述第二位置位于所述第一条形码片段在第二时间处的可能位置的范围内,则确定出所述第一条形码片段和第二条形码片段对应于施加到第一目标的相同条形码。

在一些方面中,提供了一种用于定位施加到目标的条形码的系统。所述系统构造为扩展由具有图像传感器的照相机成像的场景的视野。所述系统包括:照相机,其构造为捕捉施加到目标的条形码的图像;以及处理器,其与所述照相机通信。所述处理器被构造为:接收在第一时间处由所述照相机捕捉到的第一图像,所述第一图像包括第一视野和第二视野,其中所述第一图像的第一视野描绘第一条形码片段并且所述第一图像的第二视野描绘第二条形码片段;基于所述第一图像来识别在所述第一图像的第一视野内的第一条形码片段的第一位置;基于所述第一图像来识别在所述第一图像的第二视野内的第二条形码片段的第一位置;接收在第二时间处由所述照相机捕捉到的第二图像,所述第二图像包括第一视野和第二视野,其中,所述第二图像的第一视野描绘第三条形码片段并且所述第二图像的第二视野描绘第四条形码片段;基于所述第二图像来识别在所述第二图像的第一视野内的第三条形码片段的第二位置;基于所述第二图像来识别在所述第二图像的第二视野内的第四条形码片段的第二位置。所述处理器被构造为:基于第一追踪模型来预测第一条形码片段在第二时间处的可能位置的范围,其中所述第一追踪模型基于所述第一条形码片段的第一位置来追踪第一条形码片段;基于第二追踪模型来预测第二条形码片段在第二时间处的可能位置的范围,其中所述第二追踪模型基于第二条形码片段的第一位置来追踪第二条形码片段。所述处理器被构造为:确定所述第三条形码片段的第二位置是否位于所述第一条形码片段在第二时间处的可能位置的范围内;确定所述第四条形码片段的第二位置是否位于所述第二条形码片段在第二时间处的可能位置的范围内;并且如果第三条形码片段的第二位置位于第一条形码片段在第二时间处的可能位置的范围内并且第四条形码片段的第二位置位于第二条形码片段在第二时间处的可能位置的范围内,则确定出第一条形码片段、第二条形码片段、第三条形码片段以及第四条形码片段对应于相同的条形码。

参考附图,这些和其他实施例在说明书剩余部分中将被更详细地描述。

附图说明

图1示出了根据一些实施例的示例性图像处理系统;

图2示出了根据一些实施例的示例性适应性追踪模型;

图3示出了根据一些实施例的示例性适应性追踪模型。

具体实施方式

参考所附附图,现在描述本发明的多个方面,其中,相同参考数字贯穿多个附图以对应相似的元件。应该理解的是,然而此后涉及其的附图和详细描述并非旨在将要求保护的主题限制至公开的特定形式。相反,目的是覆盖落入要求保护的主题的精神和保护范围的所有修改、等同体和可选方式。

本发明涉及用于追踪光阅读器系统中的代码的系统和方法。根据本公开的多个方面,基于相同光代码或组的至少一个或多个先前测量的姿态,追踪模型预测可能的范围、并且有时候预测光代码或光代码组的姿态的相对似然(likehood)。追踪模型的这种预测能力约束可能对应的范围或者在移动的光代码和在随后次数或不同空间参考帧处被识别的光代码之间进行匹配。更具体地,追踪模型可以约束兴趣组和在随后次数或不同空间参考帧处被识别的候选光代码组之间的可能对应的范围。根据本公开的可选方面,为了同时追踪一个或多个明显的、但可能相似的光代码或光代码组,追踪模型可以通过似然把可能的对应区分优先次序。

姿态可以包括光代码或组的位置、方向、和/或外观尺寸(比例)。姿态的范围可以由与一些不确定性相关的单一预测姿态来指示出,例如,除了由分布(例如正态分布)描述的那个位置的期望误差之外的位置。利用联合概率分布(例如均匀分布),姿态的范围可以可选地由可能姿态的集合或轨迹(例如由表示可能位置的线段或圆形区域)来简单指示出。

参考图1,本发明的多个方面在示例性成像系统/传输线10的背景中将被描述,其中,传输线30沿行进方向25来移动目标26a,26b、26c等。本领域技术人员应该理解的是,成像系统10是本发明的示例性应用并且用于追踪目标上的光代码的公开的系统和方法可应用在其他应用中。

在当前示例中,每个目标具有相似的物理特征,并且因此仅一个目标、例如目标26b将被详细描述。具体地,目标26包括表面27,当目标26b被传输线30移动时,该表面27大体上向上朝向。矩阵代码24a被施加到顶面27以用于识别目的。相似类型的矩阵代码24a被施加到每个目标26a和26c的顶面上。

参考图1,图像处理系统包括具有光学器件24的照相机22,光学器件24限定传输线30将目标26a,26b、26c等移动通过其的、并且在照相机22下方的视野28。因此,当目标沿行进方向25移动时,每个顶面27进入视野28。视野28可以足够大以使得整个顶面27处于视野28内的一个点或另一点处,并且因此施加到目标的顶面27的任意代码通过视野28并且可以由照相机22捕捉在图像中。当目标沿行进方向25移动时,照相机22可以捕捉施加到顶面27的代码的部分片段。本领域技术人员应该理解的是,视野可以足够的大以使得其可以捕捉一个以上的目标。此外,图像处理系统10可以包括一个以上照相机和/或具有视野扩展器的照相机,其在u.s.8,646,690、名称为“systemandmethodforexpansionoffieldviewinavisionsystem”、申请人为nunnink等人的文献中被描述,该申请的内容以引用的方式并入本申请中。u.s.8,646,690、例如在第8栏43行至第9栏28行以及附图5-7处提供了视野扩展器的细节。

图像处理系统10还包括计算机或处理器14(或者多个处理器),该计算机或处理器14从照相机22接收图像、检查图像以识别可以包括作为代码候选物的矩阵代码的实例的图像的子部分、并且随后努力尝试对每个代码候选物进行解码以识别当前位于视野28内的目标。为此目的,照相机22链接到处理器14。接口装置16/18也可以链接到处理器14以向系统用户提供视觉和音频输出,以及为用户提供输入以控制成像系统、设置成像系统操作参数、查找成像系统问题等。在至少一些实施例中,成像系统还包括定位在靠近传输线30的转速表(编码器)33,其可以被用于识别行进方向25和/或传输线30使目标传输通过视野的速度。

图2示出了根据本发明多个方面的用于基于适应性追踪模型来预测光代码姿态或者组姿态的示例性方法200。具体地,过程起始于202,通过确定初始追踪模型204来预测下一个可能姿态的范围。该方法确定初始光代码特征或者光代码组特征和姿态206并且预测可能的下一个被追踪的光代码(或组)姿态208的范围。关于该方法如何预测可能的下一个光代码姿态的范围的细节在以下被提供。该方法随后识别具有在预测范围210内的姿态的候选光代码并且、例如通过将候选光代码的特征匹配至被追踪的光代码的特征212来确定新的光代码姿态。该方法可以随后可选地修改追踪模型214。该方法可以迭代地重复以确定针对特定的光代码或组的姿态的后续范围。

根据本发明的多个方面,公开的系统和方法可以追踪单个物理线性(条形码)或者2d识别代码/符号,或者在视野或一个或多个图像内的这种符号的集体布置。公开的系统和方法可以基于以下中的至少一个来追踪光代码:运动方向(在图像坐标或物理坐标中)、光代码速度(在图像或物理坐标中)、运动或移动的范围(在图像之间、像素中或物理空格中)、光代码加速或减速、运动的平滑度、旋转速度或特定系统的特征。

根据本发明的多个方面,系统参数可以包括光阅读器系统(比如照相机系统)的特征。例如,照相机系统可以包括多个照相机。可选地,照相机系统可以包括具有视野扩展器的照相机,其特征可以包括在获取的图像中的视野之间的准确或近似的边界、在获取的图像中的准确或适当的方向、具有像素-像素对应信息的任意校准。附加照相机系统参数可以包括在多照相机系统中的、照相机相对于其他照相机的相对照相机位置和校准、相对输送带的相对照相机位置(比如方向、视角、距离、校准,可以包括与照相机和输送带之间的距离有关的像素尺寸),并且大致上地,输送机平面和图像平面之间的任意关系。照相机校准可以包括传感器成像器像素至物理空格的映射。这种校准可以包括镜头、视野扩展器和其他光学扭曲的建模。

其他系统特征可以包括关于输送机系统的信息,其可以包括例如、输送带速度(在图像坐标或物理坐标中)、输送带宽度和长度。

公开的追踪系统和方法可以基于代码相关的输入来追踪与目标相关联的代码。例如,当目标在输送带上移动时,追踪模型可以基于关于代码运动的信息来追踪光代码。照相机拍摄的图像可以包括指示出图像被捕捉到的时间的时间戳。图像捕捉典型地指示出传感器被被曝光的时间,但可以指示出图像被传送到存储器的时间、或者在图像捕捉序列内的另一个一致的事件。信息可以包括源于编码器读取的代码的位置和速度、包括由追踪模型追踪的特定代码的图像的时间戳。

可以由追踪模型使用的代码特征还可以包括不变的测量结果或者涉及代码的身份和外观而不考虑其姿态的信息。这个信息可以包括例如代码的类型,所述代码的类型可以由符号体系或代码分类(比如二维符号、多宽度条形码、两宽度条形码)来限定。如果在设置中存在一个以上的代码,则附加信息可以包括代码的维度属性、例如纵横比、初始长度、宽度、以及任意公知的数据串信息,包括例如字段长、字符值的范围、字符特征、或者与对其他代码的空间关系。

根据本发明的多个方面,可以由公开的追踪系统和方法使用的附加参数可以包括关于特定代码姿态的信息。这个信息可以包括例如在图像中的任意类型坐标(x,y)中的中心的位置、拐角或者代码上的一些可识别点。典型地,在线性条形码中,图像中的位置在平行于它的条的方向上是不精确的,并且在垂直于条的方向上、在半个字符内是精确的。对于二维符号而言,位置典型地在x和y中的半个模块内是精确的。附加的与代码相关的信息可以包括图像中的代码的方向,代码的任意歪斜或翘曲,以及代码的比例(比如外观模块尺寸)。外观模块尺寸是在每模块像素(ppm)的单位中的最小代码单位的尺寸(比如条或二维模块)。

图3示出了根据本发明多个方面的、基于适应性追踪模型来预测可能的代码姿态的范围的示例性方法300。具体地,过程起始于302,通过确定初始追踪模型304来预测下一个可能姿态的范围并且获取初始视野图像305。该方法随后通过使用例如、符号候选物查找算法来确定在初始fov图像中的初始追踪的代码特征和姿态306。查找算法在以下文献中被描述:美国专利号4,948,955,申请人bodnár等人的名称“anovelmethodforbarcodelocalizationinimagedomain,”,申请人zhang等人的名称“automaticreal-timebarcodelocalizationincomplexscenes,”,申请人kutiyanawala等人的名称“asimpleandefficientapproachtobarcodelocalization,”,申请人juett等人的名称“barcodelocalizationusingabottomhatfilter,”,以及申请人kutiyanawala等人的名称“asimpleandefficientapproachtobarcodelocalization,”,其所有内容以引用的方式并入本申请中。在这一点,对每个候选代码进行解码并不是必须的,仅仅将符号识别为可能的代码。此外,公开的方法和系统可以追踪代码,即使仅一部分代码是可见的,只要其被识别为可行代码即可。

随后,例如基于当前追踪的代码姿态、可选的代码运动输入、可选的系统输入、和/或代码追踪模型,公开的方法可以预测可能的下一个被追踪代码姿态308。根据本发明的多个方面,范围可以可选地包括在预测范围内的姿态的相对似然。方法随后可以获取下一个fov图像309,并且随后识别具有在预测姿态范围内的姿态的下一个fov图像中的可能代码310。在这个步骤处,方法可以通过例如、寻找具有条的证据的候选物来过滤错误的候选物、处理候选物以测量特征(例如可以被用于与被追踪代码进行比较的条的边缘或证据、包括符号体系的类型、模块尺寸和长度),并且尝试对候选物进行解码以附加地识别并且移除错误的候选物以及提供附加信息以用于代码片段的匹配。

在识别可能代码之后,方法可以随后将候选代码的特征匹配至被追踪代码特征以确定出追踪光代码的新的当前姿态312。此外,在这个步骤处,方法可以通过使用姿态似然来消除两个或多个匹配候选代码的歧义,并且,比如当由于重复的子字符串而使字符偏移是引起歧义的时,可以使用姿态来消除方式歧义以将追踪的条形码的字符串字符与候选物进行匹配。

方法可以随后适应代码特征和/或追踪模型314。例如,方法可以基于代码的预测姿态和在预测区域内的实际姿态之间的误差来修改代码追踪模型。方法可以通过、例如结合解码的或部分解码的字符串和/或测量到的代码特征来修改代码特征。最后,方法可以可选地、例如通过对代码特征进行比较或者通过使用照相机或视野校准来使得在一个视野中的被追踪代码与在另一个视野中的被追踪代码相关联。这个方法可以迭代地重复以确定针对特定代码的姿态的后续范围。

追踪模型的示例

追踪模型的以下示例被提供为仅用于示例性目的并且并非是限定性的。针对以下每个示例,提供了物理环境并且讨论了追踪模型的参数。

根据本公开的多个方面,公开的系统和方法可以追踪被施加到箱体上的代码,其中箱体在系统中的输送带上移动并且单一照相机提供单一视野。在每个箱体上、在“尖桩篱栅”的方向上存在两个线性条形码,并且带相对照相机竖向移动。尖桩篱栅方向是这样一种方向,在其中条形码本质上是水平的(条竖向)。

追踪模型可以使用运动的方向、图像之间的最小和最大移动量、以及在竖向移动中的最大误差(在像素中)以预测可能的下一个代码姿态的范围。追踪模型可以进一步假设为:下一个代码姿态可以在均匀分布条件下位于预测范围内。初始追踪模型可以是这样一种追踪模型,在其中,运动的方向等于90度,最小移动量为0米/秒,并且最大移动量可以为图像高度的一半。

基于示例性模型的简单预测可以识别每个条形码的下一个位置。例如,模型可以预测:“y”位置可以是沿分别起始于并结束在距每个条形码的当前位置的最小和最大移动距离处的竖直线段,并且“x”位置不超过距竖直线的最大误差。模型中的可能校正可以包括将模型中的运动的方向替换为最后两个位置之间的实际测量的角度或者可能地角度的运行平均值。

根据本公开的一些方面,公开的系统和方法可以追踪施加到在传输带上随机移动的箱体上的代码,其中,在单一次数处,多达两个箱体可以是可见的。假设系统包括具有视野扩展器并且没有校准信息的单一照相机,如在美国申请8,646,690描述的那样,输送机具有定向编码器以及输送带具有恒定速度并且不停地移动箱体。此外,在这个示例中,每个代码具有未知方向,其并不随箱体在输送带上移动而发生改变。

公开的系统和方法可以使用例如、在输送机处和最高的箱体高度处的每像素物理单元中的关于编码器(输送机位置)的信息、在捕捉到的图像中的视野的相对方向和区域、可能的箱体高度的范围以及照相机校准信息。

追踪模型可以使用运动的方向、图像中的箱体的速度、关于距期望位置的最大偏差的信息来预测在每个视野中的每个被追踪代码的可能的下一个代码姿态的范围。追踪模型还可以将高斯似然假设为距期望位置的距离的函数以预测可能的下一个代码姿态的范围。

初始追踪模型可以包括等于90度的运动的方向、等于20个像素的最大偏差以及等于输送机的速度的平均值的图像中的速度以及最大箱体高度,其中,每一个均通过使用合适的照相机校准来计算对应每个编码单元的运动从而被确定出。

基于示例性模型的简单预测可以识别每个代码的下一个位置。例如,模型可以通过使速度次数与当前编码器读取和先前编码器读取之间的差异相乘来预测代码的下一个位置,其中具有类似于在代码特征中的方向的方向。位于预测范围内的代码的似然可以相对预测位置由高斯似然函数来确定。对模块的可能校正可以包括:通过采用测量到的方向的运行平均值来校正在代码特征中的符号的方向以及通过使用由编码器变化划分的位于先前位置和当前位置之间的测量到的距离的运行平均值来校正速度。

根据本公开的一些方面,公开的系统和方法可以追踪施加到箱体并且由手持阅读器或者展示阅读器(比如在食品杂货店结账处的阅读器)来读取的代码。在这个示例中,每个箱体具有带有混乱文本的单一条形码,并且存在相对于照相机的代码的任意但平稳的定向变化以及未知但平稳变化的代码方向和速度。

针对x和y速度以及角速度,追踪模型可以使用离散且独立的卡尔曼滤波器。卡尔曼滤波作为用于对象追踪的方法在本领域是众所周知的。使用卡尔曼滤波用于追踪的示例可以在gutman,p.,velger,m.,的“trackingtargetsusingadaptivekalmanfiltering,”,ieeetransactionsonaerospaceandelectronicsystemsvol.26,no.5:pp.691-699(1990).中被发现。初始追踪模型可以将x和y维度中速度设置为都等于零,角速度也等于零、将针对速度的方差测量结果设置为大值,并且将针对位置的方差测量结果设置为近似定向测量误差的某值(比如半个字符宽度)。

基于示例性模型的简单预测可以应用恒定速度或加速模块来预测代码的下一个位置。可能的追踪模型校正可以包括以标准模式简单地更新卡尔曼滤波器方差。

根据本公开的一些方面,公开的系统和方法可以包括施加到在传输带上随机移动的箱体上的标记。每个标记具有一簇印刷的条形码以及二维符号,其中,一些条形码和符号被堆叠、比如被印刷为平行于其他条形码和符号。标记可以位于箱体的顶部或侧边,并且一些标记位于其他标记的顶部。输送带具有恒定速度,但是可以周期性地停止。照相机设置有倾斜的视角。光学系统具有两个照相机,其中每个照相机都具有视野扩展器,并且不存在校准信息。每个标记处于未知独立的方向上,其可以随箱体赶上输送机的侧边而平稳地变化。

公开的系统和方法可以使用图像中的视野的相对方向和区域以及每个图像的时间戳来预测标记的姿态的可能范围。追踪模型可以进一步将在捕捉到的图像中的标记的运动方向、在捕捉到的图像中的标记的速度、标记的角速度、距期望位置的最大偏差以及最大角偏差用作为参数。追踪模型还可以将高斯似然假设为距期望位置的距离和角偏差的函数。

初始追踪模型可以包括等于90度的运动的方向(具有15度不确定性)、用于在捕捉的图像中的速度和角速度的未知值、以及20个像素的最大偏差。模块还可以假设在每个视野中的标记上的代码空间布置(如在第一图像中测量到的)。

基于示例性模块的简单预测可以在不同假设条件下识别标记中心的下一个位置。如果速度是未知的,则标记可以处于沿着位于先前标记中心和沿运动的方向的视野的边缘之间的线段的任何地方处。可选地,如果速度是已知的,则标记中心可以位于线段上的点处,其远离使速度与当前图像和先前图像之间的时间戳中的差异相乘而被确定出的距离。模型还可以预测下一个标记的取向。具体地,如果角速度是未知的,则下一个标记可以具有任意取向。如果角速度是已知的,则标记处于这样一种角度,该角度通过使角速度与当前图像和先前图像之间的时间戳中的差异相乘并且加上先前角度来被确定。

在姿态的预测范围内的标记的似然可以相对于预测位置和角度由高斯似然函数来确定。可以通过使用空间布置来确定在标记上的每个代码的预测位置。可以被施加到模块的可能校正可以包括通过使被发现的代码(或者至少是可见的代码)的空间布置适于原始空间布置来确定标记的姿态,通过采用测量取向的运行平均值来校正在代码特征中的标记的取向、通过使用位于由时间戳变化划分的先前位置和当前位置之间的测量距离的运行平均值来校正角速度和线速度,以及通过对测量的相对位置和在设置中的每个代码的方向进行平均来校正空间布置。

在基于图像的自动识别系统中,基于图像的阅读器有时候也许不能基于捕捉到的图像读取光代码。例如,一些捕捉到的图像可以不包括光代码。现代基于图像的光代码阅读器中的照相机典型地操作在高频下。由于捕捉图像的高速率,一些图像可以不包括光代码(比如当其进入视野时图像可以具有输送带或箱体,或者进入视野的条形码)。自然地,在那些情形中,分析捕捉到的图像将不会识别图像中的光代码。在其他情形中,捕捉到的图像可以包括光代码,该光代码可以由或者不能由基于图像的系统来定位。此外,甚至在其中光代码已经由基于图像的系统来定位的一些情形中,基于图像的系统也许不能对光代码进行解码。

根据本公开的多个方面,公开的系统和方法可以在图像中识别具有光代码的图像并且可以存储这些图像。这可以被完成以改善图像缓冲。图像中的光代码可以被解码或者不可以被解码。此外,公开的系统和方法可以识别二次图像,例如在其中没有光代码已经位于图像内的图像。公开的系统和方法可以收集保存的图像并且确定不成功的光代码读取的原因。

典型的光阅读器系统存储并且传送所有捕捉到的图像至处理单元以用于进一步处理,例如用于分析为什么特定光代码没有解码的原因。然而,那些系统具有用于图像的限制的带宽和限制的存储空间。因此,将脱机的所有图像传送至处理单元或者将所有捕捉到的图像存储在光阅读器系统存储器中是不实际的。此外,并非所有捕捉到的图像也许有用于处理单元来识别解码失败的原因,因此,当传送或存储那些图像时,重要的光阅读器源可以终结浪费。公开的系统和方法可以仅识别捕捉到的图像的子集,例如以分析为什么特定代码解码失败。

根据公开的一些方面,光阅读器可以在它的视觉范围内具有带有施加到目标上的光代码的目标。具体地,光阅读器可以捕捉目标的多个图像或帧。通过整个集合的捕捉到的图像,公开的系统可以首先识别具有光代码的图像并且将它们与不具有光代码的其他图像分隔开。

公开的系统和方法可以尝试对包括有光代码的图像进行解码。公开的方法可以成功地对包含代码的一些图像进行解码。包含代码但没有被成功解码的其他图像可以被用于分析解码失败的原因。根据公开的一些方面,具有代码但没有成功解码的图像可以被分为两个组。第一组可以包括最感兴趣的图像,并且第二组包括冗余图像。第一组和第二组的图像可以被存储在不同存储器位置中。最感兴趣的图像可以被存储在例如内部存储器中或者例如通过互联网或局域网被传递到远程位置。第二组的冗余图像被存储在其中的存储器位置可以被再次使用以存储其他图像。

在典型的应用中,针对于被识别但是并未被成功解码每个代码而言,光阅读器构造为识别最感兴趣的单一图像。然而,单一图像也许不能够提供关于特定代码没有解码的原因的足够信息。例如,一个图像可以包括代码的片段,然而第二个图像可以包括代码的不同片段。此外,除了实际代码之外,可以存在也许不能被单一图像捕捉并且可以对处理系统是有用的其他信息,比如地址块。根据公开的一些方面,系统识别最感兴趣的多个图像,其中可以基于不同准则将最感兴趣的多个图像与冗余图像分隔开,不同准则可以包括例如距视野的中心的条形码片段的距离、在图像中可见的一部分符号、条形码质量、一部分可解码字符、可解码字符的置信水平以及条形码区域中的图像质量等。根据公开的方面,上述讨论的追踪模型可以被用于识别最感兴趣的图像。例如,追踪模型可以被用于识别哪些图像对应于没有解码的相同代码。

图像可以具有整个光代码或者甚至光代码的片段。兴趣图像帧的集合可以包括用于每个未成功解码符号的一个图像帧。此外,图像被匹配以识别具有光代码的复制图像。

公开的系统可以包括一个以上光阅读器。所有光阅读器可以被构造为具有在它们视觉范围内的目标。系统可以使从对应于相同目标的不同光阅读器捕捉到的图像同步。如果在系统中存在一个以上的光阅读器,则光阅读器可以操作在主/从阵列中。这可以有助于图像同步,例如共享可兼容照明、或者避免不兼容照明。此外,主/从阵列中的系统可以例如、在多阅读器扫描隧道中提供结合的数据结果。

公开的阅读器可以将解码结果以及未能对光代码进行解码的图像候选物进行匹配。在系统已经成功解码的图像中,公开的系统和方法可以分析图像以确定最佳图像从而用于记录和保存。此外,公开的系统确定没有成功解码的图像中的最佳图像。

根据本公开的多个方面,没有成功解码的图像可以被用于提供关于解码已经失败的原因的反馈。例如,为什么图像没有解码的可能原因可以包括条形码阅读器系统的一个或多个特性以及物理代码和相邻的特性。可以导致解码失败的光阅读器特性包括不足的照明、非均匀照明、传感器噪音、相对条形码的高观察方向等。可以导致解码失败的条形码的物理特性和场景包括:标记之后的代码标记质量或损坏、应用符号中的扭曲、不足的静止区、例如太接近“开始”字符或“结束”字符的特征或边缘。开始字符和结束字符是分隔符字符,也被称为保护图案,其出现在条形码的开始和结束处。“开始”字符和“结束”字符可以被用于使阅读器来确定出哪里开始读取以及哪里结束读取。

根据公开的一些方面,公开的系统还可以识别包括代码以及被成功解码的多个图像。系统可以将被成功解码的多个图像传递至处理器以用于进一步分析。例如,处理器可以分析被成功解码的图像中的代码质量。在成功地对代码进行解码的图像中,公开的系统可以识别最感兴趣的图像、比如可以提供最多信息以用于分析代码质量的那些图像。追踪模型可以被用于识别哪些图像对应于被成功解码的相同代码。

根据一些实施例,照相机和阅读器图像捕捉是同步的,因此来自于读取的照明光线可以被用于照相机图像的照明。阅读器阵列将读取的状况(比如是否存在好的或坏的读取)传达至照相机以将好的读取/坏的读取状况都提供至照相机。随后,照相机可以基于读取状况来存储、传送或者丢弃图像。

公开的系统可以将系统性能的实时的/历史的概况以及任意聚集收集的数据提供至阅读器组。公开的系统可以被建立在分布式架构上,该分布式架构可以使网络载荷最小化和分发计算并且存储多个阅读器以及收集到的数据。

公开的系统可以包括数据收集模块,该数据收集模块负责从多个阅读器收集读取性能数据并且还可以收集未读取的图像。历史数据被存储以使得系统检查读取性能如何发生变化以及服务过程的干涉(例如置换打印机)如何影响读取性能。读取性能可以由、例如解码率(百分比)来测量出。针对读取性能的附加准则可以包括评估条形码解码的质量或置信水平。

公开的系统可以进一步包括图像分析和分类模块以及数据同步模块。图像分析和分类模块可以在一个或多个对应图像上执行分析并且产生针对解码失败的分类。解码失败可以包括在触发序列期间的箱体的缺失、箱体上的标记的缺失、标记的误放(比如其是否悬浮在箱体上)以及标记糟糕打印质量。数据同步模块可以负责使系统的不同单元之间的数据同步。

收集性能数据以及收集来自于一个或多个代码读取装置的图像的示例性系统为cognexexplorerrtm。

根据本发明的一些方面,公开的系统和方法可以改善收益、例如光学读取器系统的成功读取的收益。可能的下一个被追踪代码姿态的预测范围被用于使解码尝试在代码候选物上成序列。例如,在先前图像中被解码的代码可以以后被成序列或者被完全忽略,从而在初期使其他潜在代码的解码候选物成序列。在诸如用于光代码读取的、基于照相机的高帧率区域的系统中,可用于对各个图像进行解码的时间是有限的。在这个情形下,改善分析代码候选物(以及避免先前解码的符号的不必要的处理)的序列可以改善光读取器系统收益。类似的,可能的下一个被追踪代码姿态的预测范围可以被用于改善并未被成功解码的代码的候选物的序列。基于可能的下一个被追踪代码姿态的预测范围而定制代码候选物的其他方法被预期。

本文中描述的主题可以以数字电子电路或者以计算机软件、固件或硬件或者它们各项组合来实现,该计算机软件、固件或者硬件包括在该说明书中公开的结构装置及其结构等同体或它们的组合。本文中描述的主题可以实现为一个或者多个计算机程序产品,例如在信息载体(例如在机器可读存储装置中)体现的或者在用于传播信号中体现的一个或者多个计算机程序,由控制数据处理设备(例如可编程处理器、计算机或者多个计算机)的操作执行或者用以控制该数据处理设备的操作。计算机程序(也称为程序、软件、软件应用或者代码)可以以任何形式的编程语言(包括编译代码或者翻译代码)来重写,并且可以以任何形式部署该编程程序,包括部署为独立程序或者模块、组件、子程序或者适合于用在计算环境中的其它单位。计算机程序未必与文件对应。程序可以存储在保持其它程序或者数据的文件的一部分中、用于讨论中的程序的单个文件中或者在多个协调的文件(例如存储一个或者多个模块、子程序或者代码的一部分的文件)中。计算机程序可以被部署,以在一个站点处的或者跨多个站点上分布的并由通信网络互连的一个计算机上或者多个计算机上执行。

在本说明书中描述的、包括本文中所述主题的方法步骤的处理和逻辑流程可以由一个或者多个可编程处理器来执行,该可编程处理器运行一个或者多个计算机程序以通过操作输入数据且生成输出来执行本文所述的主题的功能。处理和逻辑流程也可以通过专用逻辑电路例如fpga(现场可编程门阵列)或者asic(专用集成电路)来执行,并且本文中描述的主题的设备可以实现为专用逻辑电路例如fpga(现场可编程门阵列)或者asic(专用集成电路)。

适合于执行计算机程序的处理器包括例如通用微处理器和专用处理器以及任何种类数字计算机的任何一个或者多个处理器。通常,处理器将接收来自只读存储器或者随机存取存储器或者二者的指令和数据。计算机的基本元件为用于执行指令的处理器和用于存储指令和/或数据的一个或者多个存储器设备。通常,计算机也将包括或者可操作地耦接,以便于接收来自用于存储数据的一个或者多个大量存储器装置(例如磁性光盘或者磁力光盘)的数据并且向一个或者多个大量存储器装置(例如磁性光盘或者磁力光盘)转移数据或者二者。适合于体现计算机程序指令和数据的信息载体包括所有形式的非易失性存储器,包括例如半导体存储器设备(例如eprom,eeprom和闪存装置);磁盘,(例如内置硬盘或者可移除盘);磁光盘;以及光盘(例如cd和dvd盘)。处理器和存储器可以通过专用逻辑电路增补或者并入到专用逻辑电路中。

为了提供与用户的交互,本文所描述的主题可以在具有用于向用户显示信息的显示装置例如crt(阴极射线管)或者lcd(液晶显示)监视器以及键盘和定点装置(例如鼠标或者轨迹球)的计算机上实现,用户可以通过键盘和定点装置向计算机提供输入。其它种类的装置也可以用于提供与用户的交互。例如,提供给用户的反馈可以为任何形式的传感反馈(例如视觉反馈、听觉反馈或者触觉反馈),并且来自用户的输入可以任何形式接收,包括声音、演讲或触觉输入。

本文所描述的主题可以计算系统来实现,该计算系统包括后端组件(例如数据服务器)、中间组件(例如应用服务器)或者前端组件(例如具有图形用户接口的客户端计算机或者用户可以通过其与本文所述的主题的实现交互的网页浏览器)或者这种后端组件、中间组件以及前端组件的任意组合。该系统的组件可以通过数字数据通信的任何形式或者介质例如通信网络来互连。通信网络的示例包括局域网(“lan”)或者广域网(“wan”),例如互联网。

应当理解的是,所公开主题不限于到构建的细节的应用和到下面描述中给出的或者附图中示出的组件的布置的应用。所公开主题能够用于其它实施例并且能够以各种方式来实施和执行。此外,应当理解的是,本文中使用的措辞和术语是出于描述的目的,并且不应当理解为限制。

像这样,本领域的技术人员将明白本公开基于的概念可以容易用作用于设计执行所公开主题的几个目的的其它结构、方法和系统的基础。因此,权利要求被认为包括没有脱离所公开主题的精神和范围的这种等同结构是重要的。

虽然所公开主题在前述示例性实施例中描述并且示出了,但是要理解,仅通过举例完成了本公开,并且可以在不脱离所公开主题的精神和范围的情况下做出所公开主题的实现方式的细节方面的大量变化,其仅由下面的权利要求来限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1