分辨率标签定位

申请号 CN00817858.5 申请日 2000-11-29 公开(公告)号 CN1415103A 公开(公告)日 2003-04-30
申请人 美国联合包裹服务公司; 发明人 吴建新(音译); 格利戈里·P·思金尔; 王柴僧(音译); 詹姆斯·里克藤瓦尔特;
摘要 一种多 分辨率 标签 定位 器系统将输入的图像分成多个多 像素 单元。然后,该系统创建一个与输入图像相对应的抽样图像或低分辨率图像。抽样图像包括一个公共特性值,这个值对应于输入图像的多像素单元。系统 鉴别 抽样图像内的一个或多个区域,这些区域的特性与所关心的特性相对应。生成抽样图像的同时,系统还创建一个对应于输入图像的边缘显现图像。边缘显现图像包括对应于输入图像各个单元的边缘值。各个边缘值表示输入图像的对应单元的像素内边缘出现次数。系统鉴别输入图像内的一个或多个候选区域,这些区域的抽样图像特性和边缘显现图像特性与所关心特性相对应。然后,系统根据输入图像包含具有所关心特性的标记的可能性,对候选区域进行分类。最后,系统编辑候选区域列表,这些区域最可能包含具有所关心特性的标记。
权利要求

1.对衬底上具有所关心特性的标记进行定位的方法,包括以下步 骤:
获得由多个像素定义的视频信号,这些像素包含衬底的输入图像;
把输入的图像分成多个多像素单元;
创建一个与输入图像相对应的抽样图像,其中包含与输入图像的 各个单元相对应的公共特性值,各个公共特性值表示对应单元内一定 数量的像素;
鉴别抽样图像内的一个或多个区域,这些区域的特性对应于所关 心的特性;
创建一个与输入图像相对应的边缘显现图像,其中包含与输入图 像的各个单元相对应的边缘值,各个边缘值表示对应单元的像素内预 定边缘出现的次数;
鉴别输入图像内一个或多个候选区域,它们具有与所关心的特性 相对应的抽样图像特性和边缘显现图像特性;
根据包含具有所关心特性的标记的可能性,对候选区域进行分类; 以及
编辑一个候选区域优先次序列表,这些区域最可能包含具有所关 心特性的标记。
2.根据权利要求1的方法,其中,对于各个单元,创建抽样图像 的步骤包括以下步骤:
计算在单元内出现的像素值的直方图;
从直方图中选择一个模式值,对应于最频繁出现于该单元中的像 素值;以及
对于该单元,把抽样图像中的公共特性值设为所述模式值。
3.根据权利要求1的方法,其中,鉴别抽样图像内的一个或多个 候选区域(这些区域具有与标记的期望特性相对应的特性)的步骤包 括以下步骤:
计算对应于抽样图像的公共特性直方图;
用低通滤波器和自适应移动窗口滤波器,对所述公共特性直方图 进行平滑处理;
从滤波后的公共特性直方图中选择一个或多个峰值;
通过鉴别上面和下面的有边界谷值,分隔各个峰值附近的峰区;
通过把各峰区内的像素映射到一个与抽样图像相对应的空白图像 中,创建一个分段图像;以及
鉴别分段图像内一个或多个相连的部分。
4.根据权利要求1的方法,其中,对于各个单元,创建边缘显现 图像的步骤包括以下步骤:
二元化单元内的像素值;
鉴别单元内二元化的像素值中各期望方向的转换;
基于这些转换计算单元总的转换值;以及
将单元内像素值的总的转换值设置为单元的边缘值。
5.根据权利要求4的方法,其中,二元化单元内像素值的步骤包 括以下步骤:把自适应二元化技术应用到单元内的像素值,根据鉴别 的背景像素值选择一个阈值,来二元化这些像素值。
6.根据权利要求4的方法,其中,在单元内的二元化像素值中鉴 别各期望方向的转换的步骤包括以下步骤:把单元内的像素值与多个 模板进行比较,这些模板定义了所关心特性中的像素模式。
7.根据权利要求6的方法,其中,在单元内的二元化像素值中鉴 别各期望方向的转换的步骤包括以下步骤:
定义多个计数器,它们与各个方向相关联;以及
对各个模板,
把模板的样例与单元的部分进行比较,这些部分具有与模板 同样的大小,使单元的各个像素都可以与模板的至少一种样例相比较;
鉴别单元内一个或多个匹配的像素模式,它们对应于模板定 义的一个像素模式;
鉴别与所述像素模式相关联的方向;以及
随各个匹配像素模式的出现,递增一个或多个计数器的值。
8.根据权利要求7的方法,其中,计算一个单元总的转换值的步 骤包括以下步骤:
应用一个累加公式,过滤计数器值,以增加总的转换值,来响应 单元内正文的存在;同时,避免响应单元内条码和无关标记的存在增 加总的转换值。
9.根据权利要求3的方法,其中,鉴别输入图像内一个或多个候 选区域(这些候选区域具有与所关心特性相应的抽样图像特性和边缘 显现图像特性)还包括以下步骤:
计算分段图像内各相连部分周围的有边界窗口;以及
为各个有边界窗口计算一个或多个窗口特征值,计算对应于有边 界窗口内单元的一个或多个特征值,合成一个特征矢量,它包括窗口 特征值和有边界窗口内单元的特征值。
10.根据权利要求9的方法,其中,从下列组中选择窗口特征值:
规范化高度,表示有边界窗口定义的高度与分段图像定义的高度 之比;
规范化宽度,表示有边界窗口定义的宽度与分段图像定义的宽度 之比;
规范化区域,表示有边界窗口定义的区域面积与分段图像定义的 区域面积之比;
宽高比,表示有边界窗口定义的宽度与其定义的高度之比。
11.根据权利要求9的方法,其中,从下列组中选择所述特征值:
规范化的边缘显现密度,表示有边界窗口内各单元的边缘值之和 与有边界窗口内单元总数之比;
规范化的转换密度,表示有边界窗口内各单元的总转换值之和与 有边界窗口内定义的区域面积之比。
12.根据权利要求11的方法,还包括把有边界窗口内单元的预定 义阈值以下的总转换值归零,以去除计算规范化转换密度时的噪声。
13.根据权利要求9的方法,还包括通过应用以下条件之一对候 选区域进行预分类,这些条件包括:
去除一个或多个具有对应有边界窗口的候选区域,该窗口定义了 预定义最小阈值以下的区域;
去除一个或多个具有对应有边界窗口的候选区域,该窗口定义了 预定义最大阈值以上的区域;
修剪一个或多个与有边界窗口相对应的候选区域,该窗口具有预 先定义的大小,位于为相应候选区域的特征值计算的中心附近。
14.根据权利要求9的方法,其中,根据包含具有所关心特性的 标记的可能性来对候选区域进行分类的步骤,还包括通过比较它们各 自的特征矢量来列出候选区域的步骤。
15.根据权利要求14的方法,其中,为一个或多个特征矢量列出 候选区域的步骤还包括以下步骤:
通过比较窗口特征值和窗口特征值的期望值,计算对应于一个或 多个窗口特征值的第一个判定值,窗口特征值的期望值在所关心的特 性中;
通过比较单元特征值和单元特征值的期望值,计算对应于一个或 多个单元特征值的第二个判定值,单元特征值的期望值在所关心的特 性中。
16.根据权利要求15的方法,其中,列出候选区域的步骤包括以 下步骤:
定义一个判定空间,它包括多个判定子空间;
列出这些判定子空间;
基于窗口相对值和特征矢量的单元特征值,把特征矢量映射到判 定子空间。
17.一种计算机存储介质,它存储计算机可执行指令,来完成权 利要求1的方法。
18.一种计算机控制设备,可以用来完成权利要求1的方法。
19.一种视频图像处理器,用于接收包含定义输入图像的像素值 组成的数据流,并对像素值进行处理,来查找输入图像内具有所关心 特性的标记,这种处理器包括:
第一个视频处理器,它可以把输入图像分成多个多像素单元,创 建对应于输入图像的抽样图像,该抽样图像包括对应于输入图像各单 元的元素,各元素表示对应单元内一定数量的像素;
第二个视频处理器,它可以创建对应于输入图像的边缘显现图像, 该边缘显现图像包括对应于输入图像各单元的元素,各元素表示对应 单元的像素内边缘的出现次数;
第三个视频处理器,它可以鉴别主要特征图像内一个或多个区域, 这些区域具有与标记的期望特性相对应的特性,它根据包含具有所关 心特性的标记的可能性,对候选区域进行分类,它编辑候选区域的列 表,这些区域中最可能包含具有所关心特性的标记。
20.根据权利要求19的视频图像处理器,其中,第一个视频图像 处理器包括:
一个缓冲存储器,用于连续接收像素值;
一个连接到缓冲存储器的现场可编程阵列,可接收像素流;
一个静态存储设备,当像素流经现场可编程门阵列时,配置该设 备来完成其操作。
21.根据权利要求20的视频图像处理器,其中,缓冲存储器是一 个先进先出缓冲器,静态存储设备是一个静态随机存取的存储设备。
22.根据权利要求19的视频图像处理器,其中,第二个视频图像 处理器包括一个缓冲存储器,它连接到多个移位寄存器,所述的多个 移位寄存器连接到一个动态存储设备上操作。
23.根据权利要求22的视频图像处理器,其中,缓冲存储器是一 个先进先出缓冲器,动态存储设备是一个动态随机存取的存储设备。
24.根据权利要求19的视频图像处理器,其中,第三个视频图像 处理器包括一个中央处理单元和一个存储设备。
25.一种用于查找包裹上具有所关心特性的标签的系统,包括:
一个传送器,用于移动包裹;
一个安置在传送器附近的视频设备,可用于扫描所述的包以及设 置在所述包上的至少一个标签;
一个连接到所述视频设备上操作的视频处理器,用于生成包裹的 一个抽样图像和边缘显现图像;
一个连接到所述视频处理器上操作的微处理器,用于估算来自所 述的抽样图像和边缘显现图像的数据,并输出候选区域列表,这些区 域最可能包含至少一个具有所关心特性的标签。
26.根据权利要求25的系统,其中,所述视频处理器可用于
把输入的图像分成多个多像素单元,
创建一个对应于输入图像的抽样图像,它包括对应于输入图像各 单元的公共特性值,各个公共的特性值表示对应单元内一定数量的像 素数,
创建一个对应于输入图像的边缘显现图像,它包括对应于输入图 像各单元的边缘值,各个边缘值表示对应单元的像素内边缘的出现次 数。
27.根据权利要求25的系统,其中,所述微处理器是可用于
鉴别输入图像内的一个或多个候选区域,这些区域具有与所关心 特性相对应的抽样图像特性和边缘显现图像特性;
根据包含具有所关心特性的标记的可能性,对候选区域进行分类;
编辑候选区域的列表,这些区域最可能包含具有所关心特性的标 记。

说明书全文

技术领域

发明涉及图像处理,特别是自动包裹分类系统中的多分辨率标 签定位器。

背景技术

包裹的自动分类变得非常普遍,因为它在提供快速可靠的包裹递 送服务的同时,还减少了人工成本。但是,由于包裹很少有相同的大 小和形状,使用图像处理来识别地址标签的自动包裹分类变得非常复 杂,还易于出现标签读取错误。
为了捕捉一个包裹的优质的地址标签图像,供人工操作者读取, 然后键入目的地址,摄像机必须以相当高的分辨率来扫描包裹的表面。 高分辨率图像导致巨大的包裹图像,以及相应大的数据存储需求。在 包裹自动分类中的一个问题,是要以与自动包裹分类系统的机械部分 或传送系统的输出相匹配的速率,来处理高分辨率包裹图像。
除大图像处理时间之外,包裹的高分辨率图像处理中的另一个问 题是定位目的地址标签。即使是高分辨率的图像,人工操作者仍然必 须上下左右观看显示图像的屏幕,来鉴别目的地址标签的位置。这样 靠眼睛扫描,极大地降低了自动包裹分类系统的效率。
其他的自动包裹分类系统曾尝试通过消除人工操作者读取并键入 标签的目的地址的需要来提高效率。这些其他的系统包括使用受托标 记的设备,以及依靠具有已知形状的包裹前沿的系统。
使用受托标记的自动包裹分类系统,利用光学字符识别(OCR)来 确定附在一个对象上的目标或正文的位置和方向。例如,一个OCR 读取系统扫描一个带有受托标记的包裹,并查找受托标记的位置。 OCR系统可以以这样方式,利用受托标记来查找目的地址的位置, 受托标记的位置与目的地址块相关。类似地,OCR系统可以利用方向 明确的受托标记来确定正文的方向,受托标记的方向与目的地址块中 正文的方向有关。
尽管受托标记系统可以提高效率,但这些系统需要各个包裹接收 点都有相同的受托标记,使得各个OCR系统都能识别出特殊的受托 标记。因此,这样的系统一般要求包括受托标记并说明放置正文的可 标记区域的预打印标签或是包裹。预打印的标签和包裹都很昂贵,不 可避免地,有一定比例的用户将不会使用。
对于那些不使用受托标记和预打印标签的系统,利用形状已知的 包裹的前沿,来确定包裹上正文的方向和位置。但是,与受托标记系 统类似,这些系统在包裹的大小和形状方面不提供灵活性。
因此,自动包裹分类系统需要一项技术,不管包裹的大小和形状 怎样,它都能方便地鉴别出扫描的包裹图像中的目的地址标签。在自 动包裹分类系统中还需要一项技术,它能极大地减少处理图像或从扫 描图像获得目的地址标签数据所需的时间。

发明内容

本发明是一个多分辨率标签定位器,它提供所处理的包裹图像中 一个或多个区域的列表,其中可能包含所关心的标签。多分辨率标签 定位器是自动包裹分类系统中的典型部分。
自动包裹分类系统中通常包括一个视频摄像机,安放在与传送设 备相邻处。视频摄像机与两个视频处理器相连进行操作,这两个视频 处理器产生至少两种不同的包裹图像信号。视频处理器产生包裹的第 一抽样(低分辨率)图像和第二图像,第二图像对应于期望出现在标 签上的标记的边缘显现(如正文)。
由视频处理器产生的两个图像,鉴别初始高分辨率图像的不同特 性。例如,视频处理器的抽样图像硬件可以鉴别图像中具有代表标签 特性的区域,而边缘显现处理器可以鉴别具有代表正文特性的区域。
把这两个图像馈送到一个单独的微处理器中,它使用一个多分辨 率标签定位器程序来鉴别包裹上可能包含所关心标签的一个或多个区 域。然后,基于从视频处理器产生的第一和第二个图像中提取的数据, 多分辨率标签定位器程序把这些区域分类,编辑一个候选区域列表。
一般而言,本发明是用于自动包裹分类系统的一个多分辨率标签 定位器系统。该系统获得一个包括多个像素点的视频信号,这些像素 点定义了衬底的输入图像。系统把输入的图像分成多个多像素单元。 在后面的计算中,系统提取与预处理的抽样图像和边缘显现图像相对 应的特征值。
然后,多分辨率定位器系统创建与输入图像相对应的抽样图像(低 分辨率图像),以减少后面计算中的数据量。利用与输入图像的各个 多像素单元相对应的公共特性值,如单一像素,来生成这个抽样图像。 各个公共特性值表示对应单元内像素的抽样图像。例如,如果多分辨 率定位器系统设计成查找包或包裹上标签的位置,那么,由于标签相 对于包或包裹通常有不同的颜色或不同强度的反射光,该系统会寻找 包或包裹上很大的、相对较白的邻近区域(或是根据本发明的操作环 境具有不同颜色的区域)。给包裹或包上那些具有较高光亮度或不同 颜色值的区域,指配一个抽样图像值,然后把这个数据映射到一个图 像空间来创建抽样图像。
用这个抽样图像,在微处理器上执行的特征提取功能可以有效地 提取标签候选区域的特征参数。一些特征参数可能包括:标签候选的 规范化尺寸和区域,宽高比,以及由抽样图像得出的潜在标签候选区 域的相对平均光亮度。这些特征参数成为分类功能(以下要讨论)的 输入数据。
多分辨率定位器系统的第一个视频处理器生成抽样图像的同时, 第二个视频处理器创建一个与输入图像对应的边缘显现图像。边缘显 现图像包含一个边缘值,与输入图像的各单元相对应。各个边缘值表 示输入图像的相应单元的像素中边缘出现的数量。例如,如果多分辨 率定位器系统设计为查找包或包裹上地址标签的位置,定位器系统将 会寻找间隔紧密的黑白转换,因为地址标签上的正文具有这样的特性。 条形码也有黑白转换,但这些转换都在同一个方向上排列。另一方面, 标签上手书或键入的正文中的黑白转换往往具有随机方向。所以,多 分辨率定位器系统利用这些特性来区分条码标签和包含正文的地址标 签。
生成边缘显现和抽样图像后,多分辨率标签定位器系统鉴别这些 图像中的一个或多个候选区域,它们具有与所关心特性相对应的抽样 图像特性和边缘显现特性。该鉴别过程还包括对图像分别进行进一步 处理。具体来说,多分辨率标签定位器程序要根据输入图像包含具有 所关心特性的标记的可能性,对候选区域进行分类。基于这些特性, 多分辨率标签定位器模块再编辑一个候选区域列表,这些区域最可能 包含具有所关心特性的标记。
抽样图像属性
多分辨率标签定位器系统通过计算输入图像的各个单元内出现的 像素值的直方图,来创建抽样图像。例如,公共特性值或像素值可能 对应各像素近似的颜色。然后,系统从直方图中选择一个与像素值相 对应的模式值,该像素值在输入图像相应的单元中出现最频繁。接着, 系统将该模式值设置为单元的抽样图像中相应的公共特性值。
为了鉴别抽样图像中的一个或多个候选区域,这些区域具有与所 期望的标记特性相对应的特性,多分辨率标签定位器系统计算一个与 抽样图像相对应的公共特性直方图。然后,系统用低通滤波器和自适 应移动窗口滤波器来使公共特性直方图平滑。
为了把标签候选从包裹背景中分离出来,多分辨率标签定位器系 统从滤波后的公共特性直方图中选择一个或多个峰值,通过辨别上下 限波谷值隔离出一个各波峰值附近的峰区。然后,系统通过把各峰区 中的像素映射到与抽样图像相对应的空白图像,创建一个分段图像。 接下来,系统鉴别分段图像中一个或多个相连的部分,它们与所关心 特性相对应。这就产生了一个分段图像,其中,斑点或候选区域被有 边界窗口或框所限制。对于各个有边界窗口,多分辨率标签定位器模 块为有边界窗口内的单元计算一个或多个特征值,这些值可能包括有 边界窗口的几何特性和/或相对平均光亮度值。其他特征值可能包括有 边界窗口的规范尺寸、规范化区域以及宽高比。通常,这些特征值不 随摄像机的方向和光照而变化。换而言之,如果摄像机方向改变或是 背景光变化,这些特征值也不会改变。获得这些特征值后,多分辨率 标签定位器模块合成一个特征矢量,它包括有边界窗口特征值以及有 边界窗口内区域的特征值。
边缘显现图像属性
为了创建边缘显现图像,多分辨率标签定位器系统的第一个视频 处理器的黑/白阈值功能对输入图像各单元中的像素值进行二元化处 理。为了对输入图像的单元中的像素值进行二元化处理,多分辨率标 签定位器系统把自适应二元化技术应用到单元中的像素值上,基于鉴 别的背景像素值,来选择二元化像素值的阈值。然后,系统在各单元 二元化后的像素值中,鉴别在各期望方向上的转换。接着,系统基于 单元内的转换为各单元计算总的边缘显现值,并将各单元的边缘值设 置为单元内像素的总边缘显现值。
通过把单元中的像素值与多个模板相比较,系统鉴别特定单元中 的这些转换,那些模板定义了所关心特性中的像素模式。然后,系统 还通过定义各个方向的计数器,累计单元内二元化像素值中在所期望 方向上的转换。对于各个模板,系统把各模板的样例与单元的非重叠、 相邻部分相比较(该单元具有与模板同样的大小),使单元的各像素 与模板的至少一个样例相比较。然后,系统鉴别单元中一个或多个匹 配的像素模式,它们与模板定义的像素模式相对应。系统鉴别与该像 素模式相关联的方向,并递增一个或多个计数器的值,以响应每个匹 配的像素模式的出现。
为了在转换和相应的计数器值的基础上,为各单元计算总的边缘 显现值,系统应用了一个求和公式,过滤计数器值,以增加总的边缘 显现值来响应随机方向,这些方向表明单元中存在正文。利用这个求 和公式,系统避免了增加总的边缘显现值来响应统一的或是平行间距 的转换,这样的转换表明单元中存在条码。这就允许系统消除输入图 像中的一些候选区域,它们与条码标签相对应,这些条码标签不包括 正文和目的地址信息。
有边界窗口属性
多分辨率标签定位器系统可以为各个有边界窗口计算许多不同的 特征值。一个特征值是规范高度,表示由有边界窗口定义的高度与分 段图像定义的高度之比。另一个有边界窗口特征值是规范宽度,表示 由有边界窗口定义的宽度与分段图像定义的宽度之比。还有一个有边 界窗口特征值是规范区域面积,表示由有边界窗口定义的区域面积与 分段图像定义的区域面积之比。另一个有边界窗口特征值是宽高比, 表示由有边界窗口定义的宽度和高度之比。
除了有边界窗口特征值以外,多分辨率标签定位器系统可以为有 边界窗口内的单元计算许多不同的特征值,它们对应于平均光亮度。 基于规范化的边缘显现密度(它表示有边界窗口内各单元的边缘显现 值的和与有边界窗口内单元总数之比),系统可以计算特征值。基于 规范化的边缘显现密度(表示有边界窗口内各单元的总的边缘显现值 与有边界窗口定义的区域面积之比),系统也可以计算特征值。计算 规范化边缘显现密度(优选实施例的转换密度)时,为了去除噪声, 系统给低于预定义的阈值的有边界窗口内单元的总转换值赋零。
候选区域的预分类和分类
基于特征值特性,多分辨率标签定位器系统可以通过应用代表所 关心特性的阈值先对候选区域进行预分类。例如,如果把多分辨率定 位器设计为寻找包或包裹上的目的地址标签,由于标签通常具有最大 和最小尺寸,多分辨率定位器就可以根据区域的大小来消除一些候选 区域。然后,系统可以消除一个或多个具有相应有边界窗口的候选区 域,这些有边界窗口定义了预定义最小阈值以下的区域。类似地,系 统可以消除具有相应有边界窗口的一个或多个候选区域,这些有边界 窗口定义了预定义最大阈值以上的区域。另外,系统可以修剪一个或 多个候选区域,与具有预定义大小的有边界窗口相对应,该窗口的中 心在为相应候选区域特征值计算的块中间附近。
对候选区域进行预分类之后,通过比较各个候选区域相应的特征 矢量,根据包含具有所关心特性的标记的可能性,系统对候选区域进 行分类。为了创建一个对候选区域进行分类的列表,通过把有边界窗 口特征值与有边界窗口特征值的期望值相比较,系统计算对应于一个 或多个有边界窗口特征值的第一个判定值。在这种情况下,有边界窗 口特征值的期望值是所关心特性中的一个。例如,在标签定位器设计 中,一个实际标签的有边界窗口可能有一个预定的期望区域、一个预 定的期望周长和一个预定的期望宽高比。
在有边界窗口特征值的基础上计算出第一个判定值之后,系统再 通过比较特征值与特征值的期望值,计算出与一个或多个其余特征值 (也就是除有边界窗口特征值以外的)相对应的第二判定值。这些特 征值的期望值也在所关心特性之中。
计算完判定值之后,通过定义一个具有多个判定子空间的判定空 间,多分辨率标签定位器系统可以按优先次序列出候选区域列表。然 后,系统基于有边界窗口的相关值和特征矢量的特征值,计算判定空 间,并把特征矢量映射到判定空间。
硬件部分
本发明可以在视频图像系统中实施,用于接收由像素值组成的数 据流(这些像素值定义了一个输入图像),并处理这些像素值,以查 找输入图像中具有所关心特性的标记的位置。典型的视频图像系统包 括第一图像视频处理器,用于把输入的图像分成多个多像素单元。视 频图像系统还创建一个对应于输入图像的抽样图像,它包括与输入图 像的各单元相对应的元素。
抽样图像的各元素表示输入图像的对应单元内像素的公共特性, 如平均光亮度。为了生成抽样图像,第一视频图像处理器包括一个缓 冲存储器,可以连续接收像素值。第一视频图像处理器通常在与缓冲 存储器相连的现场可编程阵列(FPGA)中实现,可以接收像素流。 它还包括一个静态存储器设备,设定在像素流经FPGA时执行其操作。
除了第一视频处理器之外,视频图像系统通常还包括第二视频处 理器,用于创建一个与输入图像相对应的边缘显现图像,它包括与输 入图像的各单元相对应的元素。边缘显现图像的各个元素表示输入图 像的相应单元的像素内边缘出现的数量。
同第一视频处理器一样,第二视频处理器通常也在FPGA中实现。 为了创建边缘显现图像,第二视频图像处理器通常包括可与多个移位 寄存器相连的缓冲存储器。这些移位寄存器都连接到一个动态的存储 设备上。
第三视频处理器,最好作为在一般计算机上运行的软件系统进行 配置,它鉴别抽样图像中的一个或多个区域,这些区域具有与标记的 期望特性相对应的特性。第三视频处理器把抽样图像与边缘显现图像 结合起来,根据这些区域包含具有所关心特性的标记的可能性,对候 选区域进行分类。分类之后,第三视频处理器编辑候选区域的一个优 先次序列表,这些区域最可能包含具有所关心特性的标记。
为了结合第一和第二视频处理器中的数据,计算候选区域的优先 次序列表,第三视频图像处理器包括一个中央处理单元和存储设备。 第三视频图像处理器可鉴别输入图像中的一个或多个候选区域,它们 具有与所关心特性相对应的抽样图像特性和边缘显现图像特性。第三 视频图像处理器还可根据包含具有所关心特性的标记的可能性,对候 选区域进行分类,并编辑一个或多个候选区域的优先次序列表,这些 区域最可能包含具有所关心特性的标记。
示例操作环境
本发明提供了一套可操作系统,用于在移动的包裹或包上定位具 有所关心特性的标签。该系统包括一个包、一个可以移动包的传送器, 以及安置在上述传送器相邻位置(一般在上方)的视频设备。当各个 包经过视频设备时,视频设备对各个包进行扫描。与视频设备相连的 视频处理器生成包的抽样图像和边缘显现图像。
为了评估抽样图像和边缘显现图像,系统还包括一个与视频处理 器相连的微处理器。微处理器编辑候选区域的优先次序列表,这些区 域最可能包含具有所关心特性的标记。
从以下对示范性实施例的详细说明以及附图权利要求中,将很 清楚地了解本发明对早先的自动包裹分类系统的改进以及上述优点的 实现。
附图简要说明
图1是带上多分辨率标签定位器系统的功能方块图,它为本发明 说明的实施例提供操作环境。
图2是一个方块图,说明多分辨率标签定位器系统所关心的衬底。
图3是一个功能方块图,说明与本发明的示范实施例相一致的多 分辨率标签定位器系统。
图4是一个更加详细的逻辑流程图,为多分辨率标签定位器系统 鉴别硬件和软件。
图5说明了所关心包裹的衬底的抽样图像。
图6说明了从抽样图像生成的分段图像。
图7说明了由多分辨率标签定位器系统的一个视频图像处理器生 成的边缘显现图像。
图8说明了来自分段图像的有边界窗口,分段图像被映射到边缘 显现图像。
图9A是硬件的功能方块图,该硬件把从摄像机生成的原始高分辨 率图像限为一个黑/白二元图像。
图9B描述了图9A的黑/白二元化图像硬件的黑/白阈值逻辑。
图10是一个功能方块图,说明产生边缘显现图像的硬件。
图11是多分辨率标签定位器系统中负责生成抽样图像的硬件的 功能方块图。
图12的逻辑流程图,说明在边缘显现图像的单元内的二元化像素 值中,鉴别期望方向上的转换的过程。
图13的逻辑流程图,说明基于边缘显现图像内的转换,为一个单 元计算总的边缘显现值的过程。
图14的逻辑流程图,说明通过计算像素值的直方图来创建抽样图 像的过程,像素值的直方图出现在抽样图像的各个单元中。
图15的逻辑流程图,说明在抽样图像的各单元直方图中寻找波峰 的过程。
图16的逻辑流程图,说明鉴别抽样图像中的一个或多个候选区域 的过程,这些区域具有与衬底上的标记的期望特性相对应的特性。
图17说明了抽样图像的直方图。
图18是一个图表,说明如何通过高点和低点来确定抽样图像直方 图的峰区。
图19的逻辑流程图,说明鉴别输入图像中一个或多个候选区域的 过程,这些区域具有与所关心特性相对应的抽样图像特性和边缘显现 图像特性。
图20说明分段图像中各个相连部分周围形成的有边界窗口。
图21的逻辑流程图,说明通过应用一组限定条件对候选区域预分 类的过程。
图22的逻辑流程图,说明列出具有一个或多个特征矢量的候选区 域的过程。
示范实施例的详细描述
应当了解,这里所描述的程序、过程、方法等,不限于任何特定 的计算机、处理器或设备。相反,可以运用各种类型的计算设备来执 行本方法的步骤。特别是,这里所描述的优选实施例依靠一个或多个 现场可编程门阵列(FPGA)来完成所述的计算机执行过程。但是,其他 类型的计算设备,如传统的冯·纽曼处理器或其他类型的专用硬件系 统,同样可用于执行所述的方法步骤。
本发明优选实施例的操作环境说明
现在参照附图,图中相同的数字代表相同的部分。图1是多分辨 率标签定位器系统20,它为本发明所说明的实施例提供了操作环境。 多分辨率标签定位器系统20包括一个传送器22,它载送包裹24a- 24c。当包裹24a-24c在CCD摄像机26下通过时,CCD摄像机26 从反射光产生传送器22和包裹24a-24c表面的一个标准模拟视频 图像。
CCD摄像机26可以是单色、4096像素行扫描型的摄像机,比如 使用Thompson TH7833A CCD芯片的摄像机。穿过传送器22由CCD 摄像机26创建的模拟图像的分辨率约为187像素或“点”每英寸 (DPI)。实际上,可以从一个图像中消除每个其他像素,产生一个93 DPI 的视频图像,以减少要处理的数据量。
视频处理器28把CCD摄像机产生的模拟视频图像转换为一个8 位灰度级视频信号。然后视频处理器28把这个8位灰度级视频信号转 换为抽样图像信号30。视频处理器28还把这个8位灰度级视频信号 转换为边缘显现图像信号32。
视频处理器28把抽样图像信号30和边缘显现图像信号32传送给 主计算机或微处理器34,它包括一个多分辨率标签定位器程序36。程 序36编辑候选区域或标签候选38的优先次序列表,它们当中最可能 包含目的地址标签。
总而言之,多分辨率标签定位器系统20的视频处理器28把模拟 视频信号27转换为一个8位灰度级视频信号。然后,视频处理器28 把这个8位灰度级视频信号转换为一个抽样图像信号30。另外,视频 处理器28还把这个8位灰度级视频信号转换为一个边缘显现图像信号 32。接着,视频处理器28把抽样图像信号30和边缘显现图像信号32 传送给主计算机或微处理器34,在此,多分辨率标签定位器程序36 从抽样图像信号30和边缘显现图像信号32提取数据,来产生标签候 选38的优先次序列表。
图2说明由CCD摄像机26扫描的包裹24a的表面,其中,包 裹是抽样图像和边缘显现信号的对象。包裹24a包括一个目的地址标 签40和一个初始地址标签42。包裹24a带有条码44,它通常包括一 个与运输部分相对应的编码,以及由包裹运输公司指配给包的一个唯 一跟踪码。包裹24a还包括由CCD摄像机26扫描的邮资标记46和 外部标记25。外部标记25是包裹上的附带部分,通常发生在包处理 期间。标记25可以是在运输期间可能由于接触而给包裹做上标记的墨 印、斑点或其他残片。CCD摄像机26产生一个数字视频图像48, 它捕捉了上述的标签40和42、条码44、外部标记25以及邮资标记 46。
把二维像素化的图像48分成多个单元(如图5-8所示)。二维像 素化图像48的各个单元最好包括32个连续扫描行的32个共线像素, 形成32*32像素的正方形或长方形(如32行32列像素)。二维像素 化图像48的各单元是一个正方形,其各边约为三分之一英寸(0.85厘 米)。因此,32个扫描行包含128个单元,它们穿过传送器22并行 排列。这些单元提供了一个固定的参照结构,多分辨率标签定位器系 统在其中鉴别标签候选38。
多分辨率标签定位器系统概述
图3说明了多分辨率标签定位器系统20的一个更详细的功能方块 图。系统20的视频处理器28包括一个边缘显现图像电路50和抽样图 像电路52。边缘显现图像电路50和抽样图像电路52把187 DPI-8比 特/像素模拟视频信号转换为3 DPI-8比特/像素数字视频信号。存储设 备54(如SRAM)把从边缘显现图像电路50和抽样图像电路52接收 到的、处理过的3 DPI-8位/像素数字视频信号存储起来。
视频处理器28包括抽样图像电路50和边缘显现图像电路52,它 通常在FPGA这样的硬件中执行,当像素数据流经时,FPGA生成输 出图像。视频处理器28把3 DPI边缘显现图像信号32和3 DPI抽样 图像信号30传送给一个分类处理器,该处理器包括一个微处理器34 和多分辨率标签定位器程序36。分类处理器34、36可以是公共的工 作站或个人计算机,能够运行多分辨率标签定位器程序。
分类处理器34、36鉴别输入图像内的一个或多个候选区域,输入 图像有抽样图像特性和边缘显现图像特性。分类处理器34、36根据包 含所关心标签的可能性,对候选区域进行分类。分类处理器34、36编 辑包裹24a的输入图像内候选区域的优先次序列表,它们当中最可能 包含目的地址标签。然后,分类处理器34、36输出预定数量的候选标 签定位38。
本发明的其它实施例
由于处理器速度和大小的增加,熟悉本发明的人们会承认,多分 辨率标签定位器程序也可以在单一处理器的其他程序模块中执行。一 般来说,程序模块包括例行程序、运行程序、组成部分、数据结构等 等,它们完成特殊任务或实现特殊的理论数据类型。而且,人们还会 赞赏,本发明可以与其他计算系统配置一起实施,包括手提设备、多 处理器系统、基于微处理器的或可编程的用户电子设备、微型计算机、 大型机以及其他类似的设备。本发明还可以在通过远程处理设备完成 任务的分布式计算环境中实施,这些远程处理设备通过通信网络相连 接。
尽管本发明最好在自动包裹分类系统中使用,但它不限于这种应 用,还可以用于其他需要鉴别第一对象或存在于第二对象上的第一组 对象的领域。例如,本发明可用于查找特殊元素的位置,如电路板上 的导电线或微芯片。在此应用中,抽样图像电路52可以鉴别导电线或 微芯片的高层级属性,而边缘显现图像电路50可以在相对于抽样图像 电路52较小的规模上,寻找导电线或微芯片之间的离散差异。
与电路板的例子类似,可以选择多分辨率标签定位器系统用于鉴 别包裹上的荧光标记或是鉴别包裹上的特殊形状,例如六边形可以表 示邮资或其他。作为另一种选择,多分辨率标签定位器可用于制造业 环境,来定位产品中的缺陷,比如可以通过视频图像处理检测到裂缝 或其他缺陷。其他的制造业应用可能包括鉴别彩色纺织品或其他产品 制造中的缺陷,它们都具有视频图像处理很容易检测到的可视特性。 这样,本发明可用于许多不同的环境,在此通过视频图像处理可以很 容易地检测到对象的可视特性。
多分辨率定位器系统概述
图4是多分辨率标签定位器系统20的计算机执行过程的逻辑流程 图。在步骤86中,在边缘显现图像电路50和抽样图像电路52之间分 离由CCD摄像机26生成的灰度级图像。边缘显现图像电路50和抽样 图像电路52的操作步骤将分别描述,要注意,两个电路同时处理从 CCD摄像机26接收到的灰度级图像信号。
在例行程序88中,边缘显现图像电路50把从CCD摄像机接收到 的灰度级图像二元化,以产生图7中所说明的边缘显现图像。特别是, 在例行程序88中,数字转换器66使用了一种自适应门限技术或类似 的方法,把CCD摄像机26产生的模拟信号转换为一个1比特(即黑/ 白)数字视频信号。
在优选实施例中,在例行程序88期间,边缘显现图像电路40使 用一个4*4像素的窗口来检测二元化图像内的转换s(边缘显现)。特 别是,边缘显现图像电路50使用了一组预定义的4*4模板来检测被分 析单元的4*4像素窗口的边缘显现的空间方向。
下表中示出了一个4*4像素窗口的示例:
表1
像素窗口     0     0     0     0     0     0     0     0     0     0     0     0     0     1     1     1 表1中,“0”代表所关心单元的像素中的空区,“1”代表 所关心单元的像素中存在目标或标记。表1表明最后一行的三列中存 在水平线。基于表2,对表1中的各个位置都指配了数值。
表2
指配表 32768(3,3) 16384(2,3) 8192(1,3) 4096(0,3) 2048(3,2) 1024(2,2) 512(1,2) 256(0,2) 128(3,1) 64(2,1) 32(1,1) 16(0,1) 8(3,0) 4(2,0) 2(1,0) 1(0,0)
表2中,括号中的数字定义表1中像素的相对位置。表中的各个 位置还表示一个十六位寄存器的特定二进制数。各括号中的第一个数 字为4*4像素窗口的列数,第二个数字为4*4像素窗口的行数。括号 外的数字是与十六位寄存器中各个二进制数相对位置相当的十进制 数。对这些值求和,允许由唯一的十进制数值表示4*4窗口每种可能 的模式。
对于表1的4*4像素窗口,计算的模式值为7。这个值是由表2 的4*4单元中的位置求和得来的:1(0,0),2(1,0),4(2,0), 1+2+4=7。然后把这个值与模式值/加权值查找表相比较。给各个模式 指配一个权值,通过这个表利用相关联的模式值对模式进行指标,以 鉴别模式。查找表中给模式值7指配的加权值为102。
模式值查找表有十个不同的值,对应于指配给模式值组的不同方 向或方向组合。换而言之,认为一个特定组中,所有的模式都有相同 的方向或方向组合,这个方向或方向组合由指配给该组的模式值表示。 特别是,模式值低四位的每一个数字对应于以下特定的方向:135°, 90°,45 °,0°。即,二进制“0”位(最低有效位)对应于方向0°, 二进制“1”位(第二最低有效位)对应于方向45°,二进制“2” 位(第三最低有效位)对应于方向90°,二进制“3”位(第四最低 有效位)对应于方向135°。
各个模式值依靠这种基于位的方向指示来表示哪一种方向或方向 组合出现在对应的模式组中。例如,模式值65的二进制值为0010 0001。 四个最低有效数字0001,表示方向0°(也就是说,没有设135°位、90° 位、45°位,而设了0°位)。这样,我们认为指配了模式值65的这个 模式组中的所有模式都展示方向0°。
类似地,模式值66,其二进制值为0010 0010,表示方向45°(也 就是,没有设135°位、90°位、0°位,而设了45°位)。这样,我们认 为指配了模式值66的这个模式组中的所有模式都展示方向45°。模式 值68,其二进制值为0110 1100,表示方向135°和90°的组合(也就是, 设了135°位、90°位,没有设45°位、0°位)。这样,我们认为指配了 模式值108的这个模式组中的所有模式都展示方向135°和90°。表3 说明了优选的模式值查找表。表3中示出了与模式值相当的二进制数, 其最后四个数字强调各个模式值的基于位的方向指示。
表3   指配的加权值   计算的模式值   65=0010 0001     4369     8738     13107     17476     26214     30583     34952     39321     48059     52428     56797     61166   指配的加权值   计算的模式值   66=0010 0010     18     292     310     311     4680     4972     4990     4991     9344     14024     14316     14334     18432     27776     32456     32748     32787     33079     37759     47103     51199     51201     51219     51511     56191     60544     60545     60563     60855     65224     65225     65243     65515     65517   指配的加权值   计算的模式值   68=0010 0100     15     240     255     3840     4080     4095     61440     61455     61695     65280     65295     65520   指配的加权值   计算的模式值   72=0010 1000     132     139     2114     2246     2254     4236     6350     8448     12543     12552     12684     14798     16912     25360     29456     29464     29596     31710     33825     35939     36071     36079     40175     48623     50737     52851     52983     52990     57087     59185     61299     63281     63289     63421     65394     65403   指配的加权值   计算的模式值   99=0110 0011     17     273     274     275     290     307     4370     4371     4386     4388     4403     4406     4407     4642     4644     4676     4915     4918     4919     4966     4683     8740     8772     8776     9284     9288     9352     13110     13111     13158     13164     13175     13182     13183     13926     13932     14028     14199     14206     14207     14318     17480     17536     17544     18560     18568     26220     26312     26316     27784     27848     24852     30590     30591     30700     30702     30718     30719     32460     32492     32494     32750     32785     33041     33043     33075     34816     34817     34833     34835     34944     34945     37683     37687     37751     39219     39223     39315     46967     46975     47991     47999     48055     51217     51328     51329     51336     51507     51603     51609     52352     52353     52360     52371     52377     52424     52425     56183     56247     56251     56759     56763     56795     60552     60569     60616     60617     60620     60859     60891     60893     61128     61129     61132     61147     61149     61164     61165     65228     65245     65260     65261     65262     65518   指配的加权值   计算的模式值   102=0110 0110     3     7     22     23     30     31     52     55     60     63     120     127     300     318     319     360     382     383     480     510     511     840     892     895     960     1020     1023     1920     2040     2047     4800     5100     5118     5119     5760     6120     6142     6143     7680     8160     8190     8191     11264     13440     14280     14332     15360     16064     16320     16364     16380     16382     16383     26624     30720     31872     32384     32640     32712     32744     32760     32764     32771     32775     32791     32823     32895     33151     33663     34815     38911     49152     49153     49155     49171     49215     49471     50175     51203     51255     52095     54271     57344     57345     57375     57855     59392     59393     59415     59775     60416     60417     60435     60735     63488     63495     63615     64512     64515     64575     64640     64643     64695     65024     65025     65055     65152     65153     65175     65216     65217     65235     65408     65415     65472     65475     65480     65483     65504     65505     65512     65513     65528     65532   指配的加权值   计算的模式值   103=0110 0111     19     14335     32766     32769     51200     65516   指配的加权值   计算的模式值   105=0110 1001     136     2116     2180     2184     2188     2252     4232     4352     4360     4368     4376     4488     4492     6280     6284     6348     8464     8465     8420     8721     8737     12560     12561     12568     12680     13072     13073     13080     13105     13113     13209     13212     14745     14748     14796     16913     16929     16930     17441     17442     25361     25393     25395     26161     26163     26211     29457     29489     29491     29497     29593     30513     30515     30521     30579     30587     30651     30653     31675     31677     31709     33826     33858     33860     34882     34884     34948     34956     35014     35020     35022     35942     36038     36044     36046     36078     39324     39372     39374     40140     40142     40174     48061     48093     48094     48605     48606     48622     50739     50787     50790     52323     52326     52422     52430     52455     52462     52463     52855     52967     52974     52975     56798     56814     56815     57070     57071     59187     59251     59255     61043     61047     61159     61167     61175     61183     61303     63283     63347     63351     63355     63419     65399   指配的加权值   计算的模式值   108=0110 1100     12     14     134     135     142     143     194     195     206     207     225     239     2115     2145     2160     2247     2255     2279     2287     2295     2303     3105     3120     3299     3311     3315     3327     3600     3825     3839     4108     4110     4238     4302     4335     6383     7407     7935     12288     12296     12300     12482     12495     12556     12750     14543     15615     15855     17152     24832     28672     28680     28815     28928     28936     29070     29440     29448     29580     30975     31215     31695     33840     34320     34560     35955     36087     36095     36465     36607     36720     36855     36863     40703     48383     49680     49920     50992     52785     52979     53040     53107     53235     53239     53247     57600     58128     59152     61200     61233     61297     61425     61427     61696     61710     61935     62208     62220     62224     62415     62430     63232     63240     63248     63256     63280     63288     63375     63390     63420     65296     65310     65328     65329     65340     65341     65392     65393     65400     65401     65521     65523   指配的加权值   计算的模式值   109=0110 1101     140     4104     12544     52991     61431     65395
在例行程序90中,边缘显现电路50检测一个单元中二元化像素 值的存在与方向。“边缘显现”意味着对衬底或目标上的某一标记 来说,当以比较高的频率出现时,标记上有特殊表面,表示该标记存 在。例如,手写的标签有一套特别的边缘特性,它不同于条码标签的 边缘特性。换句话说,当在其他环境中使用多分辨率定位器系统时, 如电路板制造业,边缘显现电路50会产生一个边缘显现图像,显示某 种微芯片或引线,它们具有较高频率的边缘特性,相对于其他微芯片 或引线以及打印的电路板本身都是不同的或是唯一的。
如图7中所说明的,边缘显现图像58显示了标签候选区域25D、 40D、42D、44D和46D之间不同的特征值,还显示了打出的标签40D、 42D如何不同于条码44D。特别是,打出的标签40D、42D随机定向 彩色像素,而条码44D的彩色像素以一致的方式定向。例行程序90 提供了一种说明性的方法来鉴别上述的标签候选区域间的不同,参照 以下图12将对此进一步详细描述。
例行程序92中,边缘显现图像电路50对边缘显现图像58的各个 单元的转换进行合计。参照图13将对例行程序92进一步详细讨论。
例行程序88-92期间,多分辨率标签定位器系统同时进行例行程 序94-98。例行程序94中,抽样图像电路52计算了一个像素值直方图, 这些像素值出现在包裹或衬底的灰度级图像的一个单元中。参照图14 将对例行程序94进一步详细描述。
例行程序96中,抽样图像电路52从例行程序94生成的直方图中, 选择一个与最频繁出现在单元中的像素值相对应的抽样图像值。本发 明标签定位器应用中的术语“抽样图像”,指通过低通滤波、把自 适应移动窗口滤波器应用到输入图像、然后对滤波后的图像进行次采 样而得到的图像。“公共特性值”是一个单值,它代表全部对应单 元的特性。例如,单元的公共特性值可以是“模式”,或是在单元 中最频繁出现的像素值。在这种情况下,公共特性值是峰值,映射到 图像空间中相应单元的物理位置。这个公共特性值作为像素值保存起 来,它成为图5中说明的抽样图像的基础。即,抽样图像电路52把单 元模式值映射到图像空间,以产生抽样图像54,如图5所述。
图5中抽样图像54的突然变化通常鉴别标签候选区域25A、40A、 42A、44A和46A。上述标签候选区域一般包括具有不同于背景或包裹 表面24a的特性(像素值)的区域。这样,抽样图像54显示了所关心 区域(如标签)与背景(包裹表面)之间主要视觉差异的“概况”、 或“高层级”、或“低分辨率”的画面。例如,图5中标签候选 区域25A、40A、42A、44A和46A由连接在一起的小方块表示,而包 裹表面其他空闲区域则没有任何表面表示。与边缘显现图像电路50更 加精密的聚焦相比,抽样图像电路52只在粗倍放大的水平上来观察所 关心的物品。在对图15逻辑流程图的讨论中,将进一步详细描述多分 辨率标签定位器系统如何产生例行程序96中的抽样图像54。
抽样图像54和边缘显现图像58都是源于最初的187 DPI图像信 号的3 DPI图像信号。抽样图像电路52和边缘显现图像电路50分别 生成各自的图像54和58之后,最好由多分辨率标签定位器程序36来 完成多分辨率标签定位器系统20的其余步骤/例行程序98-106。
步骤98中,多分辨率标签定位器程序36对斑点进行分割,或者 换句话说,它通过把峰区像素映射入与抽样图像54相对应的空白图像 中,来创建一个如图6中所说的分割图像56。为了创建分割图像56, 程序36生成一个来自抽样图像54的抽样图像直方图。而且,在步骤 98中,程序36还鉴别分割图像56内一个或多个相连的部分,并生成 有边界窗口25C、40C、42C、44C和46C。步骤98将参照图18详细 描述。
例行程序100中,多分辨率标签定位器程序36把分割图像56和 边缘显现图像58结合起来,形成图8的复合图像60。然后,程序36 从复合图像60中提取特征值。图19中示出了例行程序100的详细情 况。
例行程序102中,多分辨率标签定位器程序根据标签候选区域的 期望有边界窗口特征值的预定条件,对标签候选进行预分类。一个条 件包括标签候选区域的长度和宽度,如图20所说。参照以下图21, 将更详细描述根据例行程序102中预定义的条件进行预分类的过程。
在例行程序104中,多分辨率标签定位器程序36根据另一组预定 义的条件,对标签候选区域进行分类,一般引用的特征值包括有边界 窗口特征值以外的特征值和有边界窗口特征值。参照以下图22,将更 详细描述例行程序104。
在例行程序106中,多分辨率标签定位器程序36输出预定数量的 标签候选,或编辑一个或多个候选区域的优选次序列表,它们最可能 包括具有所关心特性的标记。例如,如果寻找手写目的地址标签,程 序36会产生一个候选区域的优选次序列表,这些区域最可能包括手写 目的地址标签,这些标签对应于最初由CCD摄像机26产生的高分辨 率图像中的对象。
由多分辨率标签定位器生成的图像
图5说明了包裹24a表面的抽样图像54。抽样图像54与图2中 的初始高分辨率数字图像相比,其分辨率较低。在这个多分辨率标签 定位器的特殊示例中,抽样图像54包括多个标签候选区域25A、40A、 42A、44A和46A。这些标签候选区域对应于图2中的地址标签40和 42、条码44、外部标记25和邮资标志46。抽样图像54中的像素表示 图2的高分辨率图像48中对应像素区的模式(也就是在对应的单元中 最频繁出现的像素值)。因此,抽样图像54保存在最初的高分辨率数 字图像48中存在的任何突然的颜色转换。
处理完抽样图像54后,抽样图像电路52产生分割图像56。分割 图像包括多个相连的部分25B、40B、42B、44B和46B。这些相连部 分对应于抽样图像54的标签候选区域25A、40A、42A、44A和46A。 分割图像56还包括有边界窗口25C、40C、42C、44C和46C。这些 有边界窗口对应于相连部分25B、40B、42B、44B和46B的边框或周 界。生成相连部分和有边界窗口的方法,将参照图12-23的逻辑流程 图,在对优选设备操作描述中进一步详细讨论。
多分辨率标签定位器系统生成抽样图像54的同时,系统还产生了 边缘显现图像58,如图7所说。边缘显现图像58包括第二组标签候 选区域25D、40D、42D、44D和46D。第二组标签候选区域也对应于 图2的初始高分辨率数字视频图像48的地址标签40和42、条码44、 外部标记25以及邮资标记46。在多分辨率定位器系统的这个特殊应 用中,边缘显现图像电路50通过向平均分布的边缘方向均衡指配像素 颜色,来创建边缘显现图像58,这些边缘方向在高分辨率数字视频图 像48的相应像素区内。即,大量的随机定向转换导致了高的边缘显现 值,而少量的转换或大量的一般定向转换导致低的边缘显现值。
当多分辨率标签定位器完成了对边缘显现图像56和分割图像58 的处理时,系统创建图8的复合图像60,在此结合分割图像56的数 据与边缘显现图像58。把分割图像56的有边界窗口25C、40C、42C、 44C和46C映射到边缘显现图像58的第二组标签候选区域25D、40D、 42D、44D和46D周围。更加特别的是,由多分辨率标签定位器程序 36控制的主机或微处理器34,从复合图像60提取有边界窗口特征值 以及与各个有边界窗口内单元的特征值相对应的特征值。在程序36的 指导下,主机或微处理器34按照有边界窗口特征值以及由边缘显现电 路50生成的标签候选区域的特征值,对标签候选区域25D、40D、42D、 44D和46D进行分类。
优选设备描述
如上所述,本发明的优选实施例提供了一种确定地址标签位置的 有效方法。而多分辨率标签定位器系统的其他应用也在本发明的范围 之内。
为了执行本发明的方法,图9A显示的功能模块图说明了本方法中 进行二元化灰度级图像这一步骤的硬件88,它是边缘显现图像电路50 的一部分。边缘显现图像电路50的硬件88包括一个黑/白阈逻辑电路 62,与缓冲存储器64相连结。缓冲存储器64可以是由商用芯片构造 的公共先进先出(FIFO)缓冲器,如IDT公司生产的8k*18比特型 号IDT7225 5L20PF芯片。可以选择由一个控制器和一个静态RAM 存储器资源来执行缓冲存储器64。边缘显现图像电路50的硬件88把 来自CCD摄像机26的初始高分辨率数字视频图像48限为黑/白二进 制图像。
二元化硬件88运用标准门限技术或类似的方法,把CCD摄像机 26产生的模拟信号转换为一个1比特黑/白数字视频信号67。通过边 缘显现图像电路50,1比特黑/白数字视频信号67的使用为处理视频 信号67提供了更容易的方法。
如图9B所说,二元化硬件88根据表4中列出的逻辑推导进行操 作,表4中有5*4像素窗口定义的变量。二元化硬件88根据像素场中 其相邻像素值来确定像素值。换句话说,二元化硬件88通过比较一个 图像内的像素之间有关的色彩密度或光亮度值,把前景图像信息与背 景图像信息分离开来。表4中的变量由图9B中显示的像素窗口定义如 下:B2指扫描行B在位置2的灰度级值;BWC4指扫描行C在位置4 的黑/白值。表4中其余变量的定义类似。
表4
                     (基于图9B的黑/白逻辑示例) F=Max(|B2-A1|,|B2-A2|,|B2-A3|,|B2-B1|,|B2-B3|,|B2-C1|,|B2-C2|,|B2-C3|) S={A1,A2,A3,B1,B3,C1,C2,C3}中的元素,对于|B2-S|=F If(F>噪声阈值) If(B2>S)                                BWB2=White                                   Else                                   BWB2=Black Else If(BWB3=Black AND BWCI=Black AND BWC2=Black AND BWC3=Black) BWB2=Black Else                                   BWB2=White
表5提供了图9B中基于像素窗口定义的变量消除斑点或噪声的逻 辑。
表5
(基于图9B移去单一黑像素“斑点”)
If(BWB3=White AND BWB4=White AND BWB5=White AND BWC3= White AND BWC5=White AND BWD3=White AND BWD4=White
andBWD5=White)
  BWC3=White
Else
  BWC3=BWC3
二元化硬件88生成1比特黑白视频信号之后,与图4中的例行程 序90相对应的硬件对该黑白视频信号进行处理。图10说明的硬件用 于边缘显现图像电路50中的例行程序90。边缘显现图像电路50的硬 件90包括数字转换器88、缓冲存储器68、移位寄存器70A-70D、易 失性存储器72以及方向累加器74。上面提到的二元化硬件或数字转 换器88,把模拟灰度级视频信号转换为1比特数字视频信号67。
二元化硬件88把1比特数字视频信号67发送给缓冲存储器68。 缓冲存储器68包括数据行Li至Li-3,其中各个数据行对移位寄存器进 行存取,移位寄存器包括4096比特,1个比特对应于CCD摄像机26 的一个像素。因此,各个寄存器可以包含1比特图,表示由CCD摄像 机26的一个循环产生的图像30的一个扫描行。缓冲存储器68的行 Li至Li-3对应于各单元32*32的32像素高度(图中未显示)。
如图10所示,Li至Li-3各行连接到随后的下一个数据行,使得每 一次把新扫描行读入缓冲存储器68,前面的扫描行就转移到随后的寄 存器。缓冲存储器68可以是由商用芯片构造的公共先进先出(FIFO) 缓冲器,比如IDT公司生产的4k*18比特型号为IDT72245LB20PF 的芯片。或者,可以通过静态RAM(SRAM)存储源中的一个控制器来 执行缓冲存储器64。
缓冲存储器68的数据行Li至Li-3与多个移位寄存器70A-70D相 连。移位寄存器70A-70D向易失性存储器72提供像素信息。易失性 存储器72可以是由商用芯片(如IDT公司制造的64k*4比特型号为 IDT-61298SA12Y)构成的公共随机存取存储器(RAM)芯片。它生 成模式方向信号76。易失性存储器72把模式方向信号76馈送给方向 累加器92。方向累加器92生成一个单元方向信号78。参照图12,以 下要对缓冲存储器68、移位寄存器70A-70D和易失性存储器72的操 作进行更加详细的描述。参照图13,对方向累加器74的操作进行更 加详细的描述。
当二元化硬件88生成图7的边缘显现图像58时,图11中的硬件 52生成抽样图像54。抽样图像电路52最好包括缓冲存储器80、现场 可编程门阵列82和SRAM 84。缓冲存储器80可以是由商用芯片(如 IDT公司制造的4k*18比特型号为IDT-72245LB20PF FIFO)构成的 公共先进先出(FIFO)缓冲器。现场可编程门阵列82可以是公共的 FPGA芯片,如Altera公司制造的EPM7256SRC208-7 FPGA芯片。 SRAM芯片84可以是由IDT公司制造的64k*16比特型号为 IDT-7IV016SAIOPH SRAM的芯片。FIF080和FPGA82为多分辨率 标签定位器系统20生成抽样信号30。参照图14、15,对抽样图像特 征电路52的操作进行更加详细的描述。
参照逻辑流程图对优选设备操作的描述
以下所述的逻辑流程图,特别详细地说明了图4中边缘显现电路 50、抽样图像电路52以及多分辨率标签定位器程序36的操作方法。 图4的逻辑流程图对应于图1的整个多分辨率标签定位器系统20。图 12、13的逻辑流程图对应于图9A、9B和图10的黑/白阈逻辑62、FIFO 64、FIFO 68、移位寄存器70A-70D、RAM72以及方向累加器74。图 14、15的逻辑流程图对应于图11的FIFO 80、FPGA 82和SRAM 84。 图18、19、21、22的逻辑流程图对应于图1中所示的多分辨率标签定 位器程序36。
逻辑流程图说明了执行本发明的首选方法,要注意,在本发明的 宗旨和范围以内,可以对所说明的方法进行许多改变和变更。值得赞 赏的是,逻辑流程图定义了在上述优选设备中指配程序任务。在本发 明宗旨和范围内,也可以类似地定义在各种芯片中程序任务的不同指 配和不同的FPGA芯片构成中设计任务的不同指配。
边缘显现图像处理
图12是图4中例行程序20(检测边缘的出现和方向)的计算机 执行过程的逻辑流程图。图12还说明了图10中FIFO 68、移位寄存 器70A-70D以及RAM 72的计算机执行过程。图12还与图5中说明 的创建边缘显现图像54的初始步骤相对应。
例行程序90开始于步骤200,其中,对每32个像素(即32、64、 96、128等等),逻辑表达式“pixel_NUM MOD 32=0”在“是” 和“否”之间来回切换。该操作对应于把一个扫描行的4,096个像 素分成部分的扫描行,每个扫描行宽32像素。如果对判定步骤200的 查询答案为“是”,则沿着“是”的分支到达步骤202。如果对 判定步骤200的查询答案为“否”,则沿着“否”的分支到达步 骤204。
在步骤202中,由计数器A、B、C之间的数学关系来定义累加的 边缘显现值T。把二元化图像的各个单元分派给三个计数器A、B、C。 这些计数器定义了各个单元中边缘的相对方向。在步骤202中,主要 特征图像电路50基于累加的边缘显现值T滤出信息。例如,由于各个 单元的计数器A、B、C分别代表一个单元内各边的方向,那么,对于 某些边缘(如条码),由于转换s的公共方向,边缘显现图像电路50 就可以滤去条码。这样的滤除不限于优选实施例的标签环境。例如, 在本发明的电路板识别应用中,可以在滤波等式中说明芯片上具有预 定义方向的引线或标记(边缘)。
在步骤206中,把计数器A、B、C复位。步骤208中,边缘显现 图像电路50保存当前的单元计数器值。步骤209中,边缘显现图像电 路50移动到下一个单元计数器值。
当步骤200中的逻辑表达示pixel_NUM MOD 32不等于0时,执 行步骤204的“否”分支,其中把变量M设为假。变量M是一个 标志,用于指示步骤200中逻辑表达式的结果。
图12中,进行检测边缘的存在和其方向的操作之后,根据图4的 例行程序92累加边缘数,图13对此作了进一步的解释。图13说明了 图10中方向累加器74的计算机执行过程。把二元化图像的单元与4*4 查找表中的模板进行比较之后,运行例行程序92。
例行程序92开始于步骤300,其中,计数器A、B、C分别代表 各单元内各边的方向,它们的初始值为0。步骤304中,累加器74等 待下一个扫描行。步骤306中,扫描行计数器Scan line_NUM逐一增 加。累加器74的扫描行计数器Scan line_NUM从1计到32,然后滚 动计数,与把输入图像分成32像素高的单元相对应。
步骤308中,累加器等待下一个像素。步骤310中,像素计数器 pixel_NUM逐一增加。步骤310之后是判定步骤312,其中要确定是 否满足pixel_NUM MOD32的条件。
如果步骤312的查询结果为真,则执行步骤314的“是”分支, 其中,累加器74计算一个单元的方向值。如果步骤312的查询结果为 假,则执行步骤314的“否”分支,其中累加器74确定当前像素的 单元方向值是否等于0度而不是90度。
如果步骤314的查询结果为“是”,则执行“是”分支步骤 316,在累加器74中令计数器A减1而计数器C加1。如果步骤314 的查询结果为“否”,则执行“否”分支步骤318。步骤318中, 要确定单元的方向值是否等于90度而不是0度。如果步骤318的查询 结果为“是”,则执行“是”分支步骤320,其中累加器74给计 数器A、C各加1。如果步骤314的查询结果为“否”,则执行“否” 分支步骤322,其中,确定单元方向值是否等于45度而不是135度。
如果步骤322的查询结果为“是”,则执行“是”分支步骤 324,其中累加器74给计数器A、C各加1。如果步骤322的查询结果 为“否”,则执行“否”分支步骤326,其中,确定单元方向值 是否等于135度而不是45度。本发明的单元方向值不限于例行程序 92中列举的这些值。其他值随多分辨率系统的特殊应用而定。
继续例行程序92,如果步骤326的查询结果为“是”,则执行 “是”分支步骤328,其中计数器B减少而计数器C增加。如果步骤 326的查询结果为“否”,则执行“否”分支步骤330,其中确定 当前的像素是否为扫描行中的最后一个像素。
如果当前像素不是该扫描行中的最后一个像素,则执行步骤330 的“否”分支308,其中累加器74等待下一个像素。如果当前像素 是该扫描行中的最后一个像素,则执行步骤330的“是”分支304, 累加器74等待下一个扫描行。按照上述的步骤处理完数据之后,多分 辨率标签定位器系统生成图7所说的边缘显现图像58。
抽样图像处理
当多分辨率标签定位器系统执行例行程序88-92的步骤进行边缘 显现图像处理时,它还同时执行图14-16中说明的例行程序94-98,产 生图5的抽样图像54。图14是图4的抽样图像电路52中例行程序94 的计算机执行过程的逻辑流程图。
例行程序94开始于图4的步骤4,其中RAM A和RAM B都设 为0。步骤402中,抽样图像电路52等待下一个扫描行。步骤404中, 扫描行计数器Scan line_NUM逐一增加,从1加到32。
在步骤406中,确定是否满足条件Scan line_NUM MOD 32=0。 熟悉该技术的人会赞赏,每隔32(如32、64、96、128等),逻辑表 达式Scan line_NUM MOD 32=0会从假到真来回切换。这一操作有 效地把输入图像分成32像素高的单元。
如果步骤406的查询结果为“是”,则执行“是”分支步骤 408,在此确定每个单元直方图的峰值。如果步骤406的查询结果为 “否”,则执行“否”分支步骤408,在此抽样图像电路52等待 下一个像素。
步骤410中,像素计数器pixel_NUM加1。步骤412中,确定 pixel_NUM计数器的值是否为奇数。如果步骤412的查询结果为 “是”,则执行“是”分支步骤414,其中,设置变量VALUE的 值与RAM B在地址(pixel_NUM MOD 32,像素值)的内容相等。步 骤416中,变量VALUE加1。步骤418中,把变量VALUE写到RAM B的地址(pixel-NUM MOD 32,像素值)。
如果步骤412的查询结果为“否”,则执行“否”分支步骤 420,其中,设置变量VALUE的值与RAM A在地址(pixel_NUM MOD 32,像素值)的内容相等。步骤422中,变量VALUE加1。步骤424 中,把变量VALUE写到RAM A的地址(pixel-NUM MOD 32,像素 值)。
步骤426中,确定当前像素值是否是扫描行中的最后一个像素值。 如果当前像素不是扫描行中的最后一个,则执行步骤426的“否” 分支步骤408,其中抽样图像电路52等待下一个像素。如果当前像素 是扫描行中的最后一个,则执行步骤426的“是”分支步骤402, 其中抽样图像电路52等待下一个扫描行。
执行完图14中例行程序94的步骤之后,按照选定的抽样图像例 行程序92的步骤,多分辨率标签定位器系统继续处理数据。图15说 明了图4中选定的抽样图像例行程序96的计算机执行过程。
步骤500是例行程序96的第一步。图15的步骤500中,把地址 计数设为0。步骤502中,把峰值变量和峰值二进制数变量设为0。步 骤504中,把二进制数的值设置为等于RAM A在地址[地址计数]的内 容和RAM B在地址[地址计数]的内容相加。
在判定步骤506中,抽样图像电路52判定二进制数值是否大于峰 值。如果答案为“是”,则执行“是”分支步骤508,把峰值设 为与二进制数值相等,把峰二进制数值设为与地址计数MOD 255的 值相等。
如果步骤506的查询答案为“否”,则执行“否”分支判定 步骤510,判定地址计数是否等于最大值。如果答案为“是”,则 执行“是”分支,处理过程继续。如果答案为“否”,则执行“否” 分支判定步骤512,判定变量地址计数MOD 255的结果是否等于0。
如果判定步骤512的查询结果为“是”,则执行“是”分支 步骤514,把单元值设为与地址计数相等,把峰值设为与峰二进制数 值相等。抽样图像电路52从步骤514去到步骤502。如果判定步骤512 的查询结果为“否”,则执行“否”分支步骤516,其中地址计 数加1。抽样图像电路52从步骤516返回步骤504。按照上述步骤处 理完数据之后,多分辨率标签定位器系统生成图5所说的抽样图像54。
分段图像处理
图16说明了图4中例行程序98的计算机执行过程,它生成图6 的分段图像56。例行程序98开始于图16中的步骤600,其中多分辨 率标签定位器程序36计算图5中抽样图像54的直方图。步骤600之 后的步骤602中,程序36把分段线性样式中直方图的峰点连接起来, 创建一条曲线。程序完成步骤602中的两个过滤阶段:首先,程序36 通过低通滤波器对步骤600中计算的直方图进行滤波。低通滤波器包 括7像素移动窗口或包络的应用,去除能量振动,并使该直方图平滑。 接下来,程序36在第二阶段应用自适应移动窗口滤波器,进一步对滤 波后的数据进行处理。
图17是一个图表,展示了图16的步骤602中所运用的平滑包络 或低通滤波器。优选实施例的这个图表中,横坐标表示抽样图像54的 像素的光亮度,纵坐标表示特定光亮度下出现/像素/直方图的数量。除 光亮度以外的其他测量参数都不超过本发明的范围。例如,当一个直 方图多分辨率标签定位器系统使用彩色图像时,可使用彩色直方图/图 表。程序36应用7个像素移动窗口或包络,来去除能量振动,并使直 方图平滑。
接下来,多分辨率标签定位器程序36进行自适应移动窗口滤波过 程,包括沿着曲线从左到右移动。如果直方图在每个连续点振荡,则 中间点的值等于两个相邻点的平均值。因此,Hi+1=0.5x(hi+hi+2), 其中,Hi为点i处的直方图值。这个过程令两个点移向平均值,使曲 线粗糙的区域平滑一些。
自适应移动窗口滤波过程完成之后,多分辨率标签定位器程序36 继续执行步骤604。该步骤中,程序36鉴别图18说明的滤波后直方 图的峰值。在所示的示例中,图18的滤波后直方图的峰值与抽样图像 54的相连部分相对应。
如图18所说,多分辨率标签定位器程序36按照从最高到最低的 次序搜索各个峰值。如果对于向下倾斜的D1>12且D2>10且H2>20; 或D1>5且D2>2且H1>20且H2>8且V<30;或i=255;或hi=-1(其 中hi是像素值i处的直方图值),则认为H点为低点。如果向下倾斜 的H1>12且V<5;或H1>10且D1>20且V<10;或i=255;或H1=-1; 或H1>80且D1>1且V<8;或H1>5且D1>5且V<2,则认为H点为 低点。
在判定步骤606中,多分辨率标签定位器程序36判定一个区域的 峰数是否大于10、区域的高度是否小于3个像素或者区域的高度是否 小于30个像素。峰数、高度、区域等这些值都随多分辨率标签定位器 系统的应用而定。换句话说,对于所关心特征的特殊大小,这些值都 是可以更改的。例如,如果多分辨率定位器在电路板上搜索到一个特 定大小的微芯片,则按特殊微芯片的大小更改这些值。
如果步骤606的查询结果为“是”,则执行“是”分支步骤 608,在其中保存该数据。步骤610中,删掉峰值,程序36返回步骤 604。如果步骤606的查询结果为“否”,则执行“否”分支步骤 612。
步骤612中,多分辨率标签定位器程序36通过把滤波后直方图的 各个峰值区内的像素映射到与抽样图像54相对应的空白图像中,创建 一个分段图像56(如图6所说)。分段图像通常会显示候选区域或斑 点区。步骤614中,程序36使用一个相连部分的子程序(如从SRI International可以获得的),来创建相连的组件25B、40B、42B、44B 及46B,它们代表候选区域。SRI子程序把分段图像56中具有相似像 素亮度的区域连接起来,它还生成有边界窗口25C、40C、42C、44C 及46C,它们限定了相连的组件25B、40B、42B、44B及46B。
复合图像处理
作为图16的例行程序98的结果、生成图6的分段图像56之后, 多分辨率标签定位器继续图19的例行程序100。例行程序100开始于 步骤700,在此,多分辨率标签定位器程序36把分段图像56的有边 界窗口25C、40C、42C、44C及46C与边缘显现图像58的标签候选 区域25D、40D、42D、44D及46D结合起来。步骤702中,把图6的 有边界窗口25C、40C、42C、44C及46C映射到图7的边缘显现图像 58中,以生成图8的复合图像60。
步骤704中,多分辨率标签定位器程序36基于有边界窗口特性提 取特征值。有边界窗口的特征值包括以下部分:规范高度,表示由有 边界窗口定义的高度与分段图像定义的高度之比(X1/H,其中,X1是 有边界窗口定义的高度,H是分段图像56定义的高度);规范宽度, 表示由有边界窗口定义的宽度与分段图像定义的宽度之比(X2/W,其 中,X2是有边界窗口定义的宽度,H是分段图像56定义的宽度); 规范区域,表示由有边界窗口定义的区域与分段图像定义的区域之比 (X2*X1/H*W);以及宽高比,表示由有边界窗口定义的宽度与高度 之比。图20为有边界窗口10的示范性长度X2和宽度X1。把图20的 有边界窗口10映射到分段图像56,有边界窗口10包含峰区隔离数据 12。按以下式子计算有边界窗口10的宽高比:
如果X1>=X2,则为X1/X2;否则使用X2/X1。
上面说过,多分辨率标签定位器程序36基于有边界窗口特性提取 特征值。而特征值可能包括以下的任何一个:规范化的特征密度T, 表示有边界窗口内单元的特征值之和与有边界窗口内单元总数之比; 规范化的边缘显现密度I,表示有边界窗口内单元的累计边缘显现值之 和与有边界窗口定义的区域之比。
一旦多分辨率标签定位器程序36基于有边界窗口特性提取了特 征值,程序36在步骤706中为各个标签候选区域合成一个矢量V。矢 量V以多个特征值为基础,这些特征值包括那些基于有边界窗口特性 的特征值,也包括那些不是基于有边界窗口特性的特征值,如光亮度。 程序36在预分类器例行程序102和分类器例行程序104中,利用矢量 V来判定特别的标签候选区域是否可能包含实际的目的地址标签。
预分类器例行程序
图21说明了图4中预分类器例行程序102的计算机执行过程。步 骤800是例行程序102的第一步。步骤800中,多分辨率标签定位器 程序36消除一个或多个斑点或标签候选区域,它们有相应的有边界窗 口,定义了一个预定义最小阈值以下的区域。标签候选区域由长度X1 和宽度X2确定。如果候选区域小于一个值(如20),程序36可以消 除候选区域。熟悉本技术的人们也会承认,基于多分辨率标签定位器 系统的应用,可以改变这些阈值。例如,可以设计多分辨率标签定位 器系统来鉴别电路板上的特殊引线,电路板有预定义的长度和宽度。 这种情况下,这些阈值以所关心引线的长度和宽度为基础。
步骤802中,多分辨率标签定位器程序36消除一个或多个斑点或 标签候选区域,它们有相应的有边界窗口,定义了一个超过预定义最 大阈值的区域。例如,程序36可以消除值大于1,600的标签候选区域, 因为由于图像的尺寸、像素间距等等,这样的区域很可能没有地址标 签。地址标签的有边界窗口区域通常小于1600(优选实施例的3 DPI 图像中约为40平方英寸)。
步骤804中,程序36可以提取期望的标签大小的候选区域或斑点, 其区域在预定义的最小和最大值之间。例如,这样的最小阈值可能是 20(约4.5平方英寸),最大值可能是1024(约32平方英寸)。
步骤806中,多分辨率标签定位器程序36修剪一个或多个候选区 域或斑点,以对应于预定义大小的有边界窗口,有边界窗口位于为相 应候选区域的光亮度特征值计算的块中心附近。步骤806中,程序36 调用块中心子程序,来处理具有最高边缘显现密度的可能的候选区域。 对于优选实施例,最高的边缘显现可能就是最合适的方向分布。然后, 程序36继续进行到输出模块808,其中,变量VBi-m表示一个特殊的 斑点或可能的标签候选区域的特征矢量。
分类例行程序
完成图21所说的预分类过程之后,多分辨率标签定位器程序36 开始图22所说的分类例行程序104。步骤900是例行程序104中的第 一步。步骤900中,程序36计算与一个或多个可能基于有边界窗口特 性的特征值相对应的绝对判定值或误差。如上面所提及的,有边界窗 口特征值可以是有边界窗口的宽高比。然后,对于期望大小的地址标 签,把这个宽高比与期望的或典型的宽高比相比较。
有边界窗口特征值与标签候选区域的尺寸有关,而其他特性值可 能与视频摄像机检测到的图像参数有关。例如,一个特征值可能是边 缘显现图像58内候选区域的规范化边缘显现密度。然后,把这个规范 化边缘显现密度与期望的边缘显现密度相比较。另一个特征值可能是 规范化的光亮度。把可能的候选区域的这个规范化的光亮度与抽样图 像54的期望光亮度进行比较。步骤900中计算的绝对判定误差值可以 概述如下:
宽高比绝对判定误差eR:
eR=|X1/X2-R0|
其中,R0为期望的或典型的宽高比。对于地址标签,确定该值为 1.5。X1/X2是特定斑点或标签候选区域的有边界窗口的宽高比。(有 边界窗口的长度X1和宽度X2见图20)。
边缘显现绝对判定误差eT:
eT=|Ti/N-T0|
其中,T0是期望的边缘显现密度。对于地址标签,已经把T0确定 为1.0。Ti/N是可能的候选区域的边缘显现密度。
灰度级光亮度绝对判定误差eI:
EI=|Ii/N-I0|
其中,I0是抽样图像54的期望光亮度。标签环境下I0的期望值为 255。Ii/N是特定斑点或标签候选区域的光亮度。
规范尺寸绝对判定误差eD:
eD1=maximum(|d1-l1|)
eD2=maximum(|d2-l2|)
其中,d1和d2都是标签候选区域的规范尺寸。
d1=X1/W
d2=X2/W
其中,X1和X2是有边界窗口的长度和宽度,W是抽样图像54的 宽度。
l1和l2是期望的规范尺寸,其中,
如果d1<d2,则l1=20/W,l2=22/W;或者
如果d1>=d2,则
l1=22/W,l2=20/W
计算完步骤900的绝对判定误差之后,多分辨率标签定位器程序 36继续执行步骤902。步骤902中,程序36把四个误差码(CR、CT、 CI和CD)指配给各个标签候选区域。各个码(CR、CT、CI和CD)的 值以步骤900中涉及判定误差值的计算为基础。熟悉本技术的人们承 认,可以依据多分辨率标签定位器系统的应用来调整这些误码值。下 面是确定误码的等式:
宽高比误码CR:
      1    eR<=1.5 CR  =   0    1.5<eR<=2.5
     -1    eR>2.5 边缘显现误码CT:
      1    eT<=0.667 CT  =   0    0.667<eT<=0.800
     -1    eT>0.800 灰度级光亮度误码CI:
      1    eI>Iw CI  =   0    eI<=IB
     -1    IB<eI<Iw 其中,IB=0.2*动态范围,Iw=0.5*动态范围。 规范尺寸误码CD:
      1    e D1 <=1且eD2<=1
CD =    0    其他
         -1    eD1>=|X1-24|或eD2>=|X2-24|
计算出步骤902的误码之后,多分辨率标签定位器程序36继续执 行步骤904。步骤904中,基于步骤902中计算出的误码C,程序36 把给各个标签候选区域指配一个类“S”值。按以下公式计算类“S” 值:
类“S”值:
       1    如果CR=1和CT=1
S    =0    如果CR=0和CT=1和CD=-1;或
            如果CR=1和CT=0和CD=-1;或
            如果CR=1和CT=-1和CD=1;或
            如果C1=-1和CR=1和CD=-1
      -1    其他
当程序36结束给各标签候选区域指配类“S”值时,它开始执 行步骤906。步骤906中,给各个标签候选区域指配一个误差表同等 值J。按以下公式计算各个误差表同等值J:
误差表同等值J:
         11    如果CR=1和CT=1;
         0     如果CR=0和CT=1和CD=-1;
J    =  1     如果CR=1和CT=0和CD=-1;
         2     如果CT=-1和CD=1;
         3     如果C1=1和CD=-1和CR=1;
        -1     其他
把误差表同等值J指配给各个标签候选区域之后,程序36去除那 些类S值等于-1的标签候选区域。一旦程序36去除了这些区域,它继 续执行步骤908。
步骤908中,根据下列规则,程序36为各个类S值等于1或0的 标签候选区域计算相对判定误差E:
规则(1):
把类S值=1的标签候选区域特征矢量V的相对误差E归类为小 于类S值=0的标签候选区域特征矢量V的相对误差;
规则(2):
把类S值=1的标签候选区域特征矢量V的相对误差E设为与其 边缘显现绝对判定误差eT相等;
规则(3):
类S值=0的标签候选区域,其特征矢量V的相对误差E计算如 下:
多分辨率标签定位器程序36通过分别比较各对标签候选区域的 特征矢量V1、V2,来确定类S值=0的标签候选区域的相对误差E, 以确定这对区域中哪个的相对误差E较小。程序36使用来自相应标 签候选区域对中各个区域的误差表同等值J,来确定误差指标值L。例 如,通过使用两个误差表同等值(J1来自第一个标签候选区域,J2来 自第二个标签候选区),确定一对标签候选区域的误差指标值L,它 提供了误差指标值在表6中的适当位置:
表6
误差指标     J1     J2     0     1     2     3     0     1     4     5     6     1     4     1     8     6     2     5     8     3     3     3     6     6     3     3
从表6中确定了一对标签候选区域的误差指标L之后,程序36 基于以下标准,再确定各区域的相对误差E:
如果L=1,则相对误差Ei=边缘显现绝对判定误差eTi,其中, Ei是标签候选区域的特征矢量Vi的相对误差,i=1、2,分别表示各 标签候选区域;
如果L=3,则相对误差Ei=灰度级光亮度绝对判定误差eIi;
如果L=4,则相对误差Ei(边缘显现绝对判定误差eTi+宽高比 绝对判定误差eR);
如果L=5且J2=0且规范尺寸误码CD2=1;或者L=5且J2=2且规范尺 寸误码CD2≠1,则E2<E1,否则E2>E1;
如果L=6且J1=3且灰度级光亮度误码CI1=1,则E1=0.5*(灰度级光 亮度绝对判定误差eI1+宽高比绝对判定误差eR1);
如果L=6且J2=2且灰度级光亮度误码CI2=1,则E2=0.5*(灰度级光 亮度绝对判定误差e12+宽高比绝对判定误差eR2);
如果L=8且J2=2且灰度级光亮度误码CI2=1,则E2<E1,否则E2>E1。
步骤908中为各标签候选计算完相对误差E之后,程序36继续 执行步骤910。步骤910中,程序36去除那些重叠的标签候选区域。 如果一个标签候选区域与另一个交迭达85%,我们就认为这两个区域 是重叠的。对于满足该重叠标准的标签候选区域,程序36根据以下标 准去除两个重叠标签候选区域中的一个:
如果重叠的标签候选区域中,一个所指配的类值S=1而另一个 S=0,则程序36要去除类值S=0的候选区域。否则,程序36要去除 相对误差E较大的候选区域。
步骤912中,多分辨率标签定位器程序36根据以下标准,鉴别并 列出最可能包含地址标签的标签候选区域:如果有三个以上的标签候 选区域的类S值=1,则表示三个最小相对误差E的标签候选区域是最 可能包含标签的;如果有两个或三个标签候选区域的类S值=1,则表 示这组标签候选区域是最可能包含地址标签的。换句话说,如果少于 三个候选区域的S=1,则通过类S值=0的最小相对误差候选来对标签 候选配组。如果没有标签候选区域,或者只有一个标签候选区域的类 S值=0,则表示所有类S=1的标签候选区域以及类5=0的最小相对误 差E标签候选区域,都是最可能包含地址标签的。如果没有候选区域 的类S=1或=0,则表示候选区域没有标签。 标签候选区域优先次序列表的输出
完成步骤912中的列表和选择过程之后,程序36继续执行例行程 序106。例行程序106中,多分辨率标签定位器系统向一个显示设备 或其他输出设备(如打印机)输出最可能包含地址标签的标签候选区 域的优先次序列表。利用这个标签候选区域优先次序列表,自动包裹 分类系统就可以以平均每秒25包的速度来处理包裹了,对于较低动态 范围的图像,精确率约为90%。对于高动态范围的图像,包裹分类系 统可以约95%的精确率来处理包裹。
虽然本发明提高了包裹处理或分类的精确性,多分辨率标签定位 器系统的其他应用或实施并不超过本发明的这个范围。其他的应用或 实施包括以下所列(但不限于此):鉴别印刷电路板上的引线或微芯 片;鉴别包裹上的荧光标记;鉴别包裹上的特殊形状,如六边形,那 可以表示邮资等;定位产品中的缺陷,如通过视频图像处理可检测到 的裂缝或其他缺陷;鉴别彩色纺织品加工中的疵点;以及通过视频图 像处理可以很容易地检测到对象的视觉特性的其他类似情况。
在上述方式中,多分辨率标签定位器系统20的优选实施例基于扫 描图像,输出预定数量的候选标签位置。值得赞赏的是,本发明提供 了改进的方法和设备,来对衬底上具有所关心特性的标记进行定位。 从本发明的示范性实施例的上述描述,很明显可以看到许多其他的改 进和另外的特征。因此应该了解,前面所述的仅涉及本发明的示范性 实施例,只要不背离权利要求书所定义的本发明的实质和范围,还可 以进行许多的变化。
QQ群二维码
意见反馈