CN109791624B - 包含遮蔽弹性光学代码的机读制品 - Google Patents
包含遮蔽弹性光学代码的机读制品 Download PDFInfo
- Publication number
- CN109791624B CN109791624B CN201780060177.2A CN201780060177A CN109791624B CN 109791624 B CN109791624 B CN 109791624B CN 201780060177 A CN201780060177 A CN 201780060177A CN 109791624 B CN109791624 B CN 109791624B
- Authority
- CN
- China
- Prior art keywords
- optical
- optical elements
- code
- subset
- optical element
- 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
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06037—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06046—Constructional details
- G06K19/06056—Constructional details the marking comprising a further embedded marking, e.g. a 1D bar code with the black bars containing a smaller sized coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06046—Constructional details
- G06K19/06075—Constructional details the marking containing means for error correction
-
- 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/1417—2D 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/146—Methods for optical code recognition the method including quality enhancement steps
- G06K7/1473—Methods for optical code recognition the method including quality enhancement steps error correction
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Electromagnetism (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Quality & Reliability (AREA)
- Error Detection And Correction (AREA)
- Image Processing (AREA)
Abstract
本发明涉及一种制品,在一些实施例中,所述制品包括基板和呈现在基板上的多个光学元件集,其中每个光学元件集包括多个光学元件,其中每个相应的光学元件表示编码值的集合中的编码值,其中编码值的集合基于相应的光学元件的视觉可辨性是可分辨的,其中如果多个光学元件集中的一个或多个光学元件集被视觉遮蔽,则每个相应的光学元件集表示消息的至少一部分或用于解码消息的错误校正数据,并且其中用于消息和错误校正数据的光学元件集以矩阵形式在空间上配置在物理表面处,使得在不存在被定位在矩阵的被视觉遮蔽的至少一个完整边缘内的光学元件的情况下,消息能够从所述基板解码。
Description
技术领域
本公开涉及在制品的物理表面上的编码信息以及用于对此类信息进行编码和解码的系统。
背景技术
条形码一般为数据或信息的光学机器可读表示。一些条形码通过系统性地使平行线的宽度和间距变化来表示数据。这些类型的条形码常常被称为线性或一维(1D)条形码。条形码中编码的数据或信息可与条形码附接到的对象相关。
后来,开发二维(2D)条形码。这些条形码使用二维几何图案以编码数据。一种常见类型的2D条形码是快速响应(QR)代码,快速响应 (QR)代码为正方形形状的矩阵类型代码。QR码经常包括在QR码的拐角处的三个与众不同的正方形以及在第四拐角附近的较小的正方形,三个与众不同的正方形定义代码的界定和取向,较小的正方形用于针对大小、取向和视角对图像进行归一化。
信息以使用8位字符的QR码进行编码,其中每个位由白色正方形或黑色正方形表示。位布置成基础矩阵或网格图案,其中每个位是相同大小的正方形。当创建矩阵时,码字沿循两个像素宽的条带,两个像素宽的条带在代码中从右下角从右向左上下作之字形迁移,并且在代码的其它元件周围进行导航。在QR码中,编码信息通常沿循标准化布局方案,以允许解码设备可靠地检索编码信息。可在QR码中编码的字符的数目取决于每个位的大小、QR码本身的大小、字符的字母的大小,以及所使用的错误校正的级别。一般地,错误校正级别越高,存储容量越小。即使考虑到与条形码相关的现有技术,在条形码、包含此类条形码的标牌或其它制品中也存在各种缺点。
发明内容
本公开的制品、技术和系统涉及对消息进行编码的遮蔽弹性机器可读代码,其中机器可读代码呈现在制品上,并且可由接收代码的图像的计算设备解码。机器可读代码可被建构为光学元件的矩阵,其中每个光学元件基于光学元件的视觉外观表示消息的编码值(例如,二进制编码中的“1”或“0”)。与QR码不同,本公开的机器可读代码可以矩阵形式在空间上配置为可解码的,而不依赖于被定位在被视觉遮蔽的矩阵的至少一个完整边缘内的光学元件。以该方式,机器可读代码对于诸如交通标牌的制品的边缘遮蔽特别有弹性,其中交通标牌的整个边缘可被建筑物、车辆或地平线视觉遮蔽。本公开的计算技术可基于指示将被遮蔽或可能被遮蔽的标牌的已知区域或区的数据,在空间上将光学元件集布置成矩阵。此类计算技术可在空间上布置不同的光学元件集,不同的光学元件集包括用于消息和错误校正数据的相应编码值,以如果具有用于消息的编码值的一个或多个光学元件被遮蔽则重建消息。以该方式,如果具有表示消息的编码值的光学元件的矩阵的边缘被视觉遮蔽,则计算设备可仍然能够使用错误校正数据结合表示消息的编码值的其它非遮蔽光学元件对消息进行解码。
在一些示例中,制品包括基板,基板具有物理表面;多个光学元件集,多个光学元件集呈现在物理表面上,其中多个光学元件集中的每个光学元件集包括多个光学元件,其中每个相应的光学元件表示编码值的集合中的编码值,其中编码值的集合基于相应的光学元件的视觉可辨性是可分辨的,其中如果多个光学元件集中的一个或多个光学元件集被视觉遮蔽,则每个相应的光学元件集表示消息的至少一部分或用于解码消息的错误校正数据,并且其中用于消息和错误校正数据的光学元件集以矩阵形式在空间上配置在物理表面处,使得在不存在被定位在矩阵的被视觉遮蔽的至少一个完整边缘内的光学元件的情况下,消息能够从所述基板解码。
在一些示例中,方法包括:通过计算设备接收具有包括物理表面的基板的制品的图像,其中多个光学元件集呈现在物理表面上,其中多个光学元件集中的每个光学元件集包括多个光学元件,其中每个相应的光学元件表示编码值的集合中的编码值,其中编码值的集合基于相应的光学元件的视觉可辨性是可分辨的,其中如果多个光学元件集中的一个或多个光学元件集被视觉遮蔽,则每个相应的光学元件集表示消息的至少一部分或用于解码消息的错误校正数据,其中用于消息和错误校正数据的光学元件集以矩阵形式在空间上配置在物理表面处,使得在不存在被定位在矩阵的被视觉遮蔽的至少一个完整边缘内的光学元件的情况下,消息能够从所述基板解码,以及通过计算设备至少部分地基于来自图像的错误校正数据对消息进行解码,在图像中,矩阵的至少一个完整边缘被视觉遮蔽。
在一些示例中,系统包括:图像捕获设备;以及计算设备,计算设备通信地耦接到图像捕获设备,计算设备包括一个或多个计算机处理器和存储器,存储器包括指令,当由一个或多个计算机处理器执行时,指令致使一个或多个计算机处理器:接收具有包括物理表面的基板的制品的图像,其中多个光学元件集呈现在物理表面上,其中多个光学元件集中的每个光学元件集包括多个光学元件,其中每个相应的光学元件表示编码值的集合中的编码值,其中编码值的集合基于相应的光学元件的视觉可辨性是可分辨的,其中如果多个光学元件集中的一个或多个光学元件集被视觉遮蔽,则每个相应的光学元件集表示消息的至少一部分或用于解码消息的错误校正数据,其中用于消息和错误校正数据的光学元件集以矩阵形式在空间上配置在物理表面处,使得在不存在被定位在矩阵的被视觉遮蔽的至少一个完整边缘内的光学元件的情况下,消息能够从所述基板解码,以及至少部分地基于来自图像的错误校正数据对消息进行解码,在图像中,矩阵的至少一个完整边缘被视觉遮蔽。
在附图和下文的说明中将示出一个或多个示例的详情。根据说明书和附图以及权利要求书,将明白本公开的其它特征、目标和优点。
附图说明
图1A-图1D示出了具有道路标牌的遮蔽场景。
图2A为具有针对遮蔽而优化的行和列的机器可读光学代码。
图2B为具有遮蔽的图2A的机器可读光学代码。
图3A为机器可读光学代码的示例。
图3B为具有数据有效载荷的机器可读光学代码的示例。
图3C为从右侧具有部分不可恢复的遮蔽的图3A的机器可读光学代码的示例。
图3D为从右侧具有可恢复的遮蔽的图3A的机器可读光学代码的示例。
图3E为从底部具有部分不可恢复的遮蔽的图3A的机器可读光学代码的示例。
图3F为从底部具有可恢复的遮蔽的图3A的机器可读光学代码的示例。
图4为符合本公开的示例性标牌构造。
图5为用于读取多维机器可读光学代码的系统的示例。
图6为用于在用于读取多维机器可读光学代码的系统中使用的计算设备的示例。
图7A为具有嵌套式内容光学元件的机器可读光学代码。
图7B-图7C示出了具有嵌套式内容光学元件的机器可读光学代码的区段。
图8示出了根据本公开的一种或多种技术的包括由计算设备执行的示例操作的流程图。
图9示出了根据本公开的技术的回射制品和示例偏转、俯仰和滚动轴。
图10示出了根据本公开的技术的光学代码的示例结构。
图11示出了根据本公开的技术的单分辨率光学代码。
图12示出了根据本公开的技术的多分辨率光学代码。
图13-图14示出了根据本公开的技术的不同的时钟图案。
图15示出了根据本公开的一种或多种技术的可包括在光学代码中的重复的位或重复位。
图16示出了根据本公开的技术的参考解码算法。
图17-图18示出了根据本公开的技术的用于呈现在制品上的光学代码的模块间隙。
图19示出了根据本公开的技术的具有固定图案信息的光学代码。
具体实施方式
图1A-图1D示出了根据本公开的制品和技术的具有道路标牌的遮蔽场景。图1A-图1D中所示的场景为由车辆的驾驶员常常经历的场景。本公开的对象中的一个包括提供机器可读光学代码,即使当标牌的一部分被遮蔽时,该机器可读光学代码也可从交通标牌中被准确地检测且被解码。本公开的机器可读光学代码不是QR码,并且可提供优于QR码的一个或多个优点,如将从本公开明显的。图1A示出了位于小山114的山顶之后的停止标牌110,使得从道路112上的车辆的角度来看标牌110的全视图将被小山 114部分地阻挡。图1B示出了前方道路施工标牌120,前方道路施工标牌 120可被树122部分遮盖或遮蔽,使得道路124上的车辆将不能查看整个标牌120。图1C示出了限速标牌130,限速标牌130由曲线134部分遮盖,使得道路132上的车辆将不能查看整个标牌130。图1D示出了道口标牌 140,道口标牌140被房屋144部分地遮盖,使得道路142上的车辆将不能查看整个标牌140。在一些实施例中,标牌110、标牌120、标牌130和标牌140中的一个或多个可包括根据本公开的技术在其上编码的信息。虽然关于交通标牌描述了本公开的制品、系统和技术,但是其它制品可包括牌照、服装和贴花。
图2A示出了具有行和列的机器可读光学代码200(或“代码 200”),机器可读光学代码200(或“代码200”)被配置为对视觉遮蔽是有弹性的,使得即使代码200的部分被遮盖(诸如在图1A-图1D中描述的场景中的),也可准确地读取代码200中编码的信息或对代码200中编码的信息进行解码。如本公开中所描述的,机器可读代码可表示二进制或n 元信息,并且可不是可读的和/或包含对人类有意义的信息。例如,可使用基数n字符或数字系统来表示n元信息。代码200为由以包括行和列的配置取向的正方形或光学元件组成的多维数据矩阵。在一些实施例中,术语“光学元件”和“模块”可互换使用。
如图2A中所示,代码200可表示二进制代码,因为一些光学元件表示一位数据,并且为白色或黑色,其中白色和黑色分别对应于“0”和“1”,以在代码中对机器可读信息进行编码。可使用任何可能的编码方案,诸如前述实施例中的二进制。更一般地,光学元件可基于其视觉外观 (例如,梯度值)表示编码值的集合中的编码值,其中编码值的集合的大小对应于可分配到特定光学元件的多个不同的可能梯度值。可使用任何数目的不同的编码值的集合,诸如字母字符、数字字符或任何其它符号。如图2中所示,编码值基于相应的光学元件的视觉可辨性是可分辨的。出于说明的目的,图2A中所示的正方形包括阴影的n元梯度,以将代码100中的不同编码值示出为n元编码值。
在一些实施例中,其中编码值的集合包括N数目的编码值。光学元件集可包括M数目的光学元件,其中光学元件集表示至少部分地基于分配到光学元件集的相应光学元件的相应视觉梯度值的编码值的NM个组合的集合的编码值的组合。在一些实施例中,相应的梯度值各自被包括在M数目的视觉上可分辨的梯度值的集合中。
在一些实施例中,每个相应的光学元件集(或“块”)表示消息的至少一部分,或者表示错误校正数据以如果多个光学元件集中的一个或多个光学元件集被视觉遮蔽则对消息进行解码。当消息被编码时,例如,从原始消息到编码消息,编码消息可被分割成不同的光学元件集,使得在不存在被定位在被视觉遮蔽的矩阵的至少一个完整边缘内的光学元件的情况下,原始消息能够从基板解码,如在本公开中另外描述的。虽然图2A中的光学元件被示出为正方形,但是符合本公开的光学元件可为任何形状。
在一些实施例中,代码200可包括三种一般类型的光学元件中的一种或多种:寻找器光学元件、上下文光学元件和内容光学元件。图2A中的寻找器光学元件是D行和4列中的光学元件(总共13个光学元件)。具体地,光学元件A4、光学元件D1、光学元件D4、光学元件D7和光学元件 G4是“0”,并且寻找器光学元件的其余部分是“1”。寻找器光学元件可使得机器视觉系统能够辨识图像中的2D条形码,或找到光学代码(包括代码200的外边缘)在图像内的位置。
寻找器代码或光学元件使得机器或机器视觉系统能够对图像中出现的多种线和其它视觉特征进行分选,以便确定光学代码在空间上开始和结束的地方。寻找器代码或光学元件通常固定在适当位置且充分地视觉上不同或复杂,使得寻找器代码或光学元件不会正常地出现在自然界中。以该方式设计寻找器代码或光学元件允许机器视觉具有机器视觉已经识别出机器视觉应该解码的2D码的合理的确定性。更复杂的寻找器代码增加了机器视觉系统将寻找2D码且对2D码进行解码的可能性。更加视觉上复杂的寻找器代码可需要实施代码所需的增加数目的寻找器光学元件,并且可导致更小的光学元件大小(这可增加光学元件遮蔽和读错的可能性),以及更少的剩余光学元件用于对数据或信息进行编码。
在一些配置中,寻找器光学元件使得机器视觉系统能够确定2D条形码的取向。然而,在其它应用中,2D条形码的取向可由处理2D条形码的图像的计算设备假设(诸如当2D条形码在标牌或静止对象上时)。在这些应用中,需要较少的寻找器光学元件(和信息位),因为不需要由计算设备对取向信息进行编码。代码200中所示的寻找器光学元件可通过光栅扫描快速识别。在一个实例中,符合本公开的光学代码包括少于36个寻找器光学元件。在另一实例中,符合本公开的光学代码包括例如少于25、23、 21、19、17、15或13个寻找器光学元件。
下面的表示出了可在符合本公开的各种大小的光学代码中编码的寻找器光学元件、上下文光学元件、内容光学元件、总光学元件和数据位的数目。虽然这些是代码大小的实施例,但是可创建符合本公开的变化大小的其它代码,外推得到下面的光学元件信息。在下面的表中,寻找器光学元件的数目基于寻找器光学元件的交叉中心图案。取决于所使用的图案,可存在更多或更少的寻找器光学元件。附加地,列出的内容光学元件的数目假设内容光学元件是标准或上下文光学元件的面积的25%。取决于期望的应用的需要,代码可被设计具有更多或更少的上下文或内容光学元件。编码数据位的数目补偿内容和上下文光学元件之间的可变性,并且假设每个标准位大小对一位数据进行编码(排除寻找器光学元件)。
寻找器光学元件 | 上下文光学元件 | 内容光学元件 | 总光学元件 | 编码数据位 |
13 | 24 | 36 | 76 | 63 |
17 | 48 | 48 | 117 | 100 |
21 | 80 | 60 | 166 | 145 |
25 | 120 | 72 | 223 | 198 |
29 | 168 | 84 | 288 | 259 |
33 | 224 | 96 | 361 | 328 |
37 | 288 | 108 | 442 | 405 |
41 | 360 | 120 | 531 | 490 |
表1:实施例代码大小和光学元件分布
寻找器光学元件可以多种方式布置在光学代码200中。虽然寻找器光学元件以中心交叉图案布置在代码200中,但是用于寻找器光学元件的其它放置或配置包括将三个白色光学元件放置在每个拐角处。附加的变型包括沿相邻拐角光学元件之间的一个或多个边缘使时钟像素(白色、黑色) 交替。在阅读本公开时,符合本公开的寻找器光学元件在代码中的其它位置对于本领域技术人员将显而易见。
上下文光学元件可表示位或元件,位或元件对与制品或对象、或在其上呈现代码200的制品或对象的位置或环境相关的机器可读数据或信息进行编码。在一个实例中,上下文光学元件与寻找器光学元件为相同大小,并且可由机器视觉系统从第一距离(寻找器光学元件是可检测的相同距离)检测。这样的距离取决于2D码的大小、2D码中的光学元件的数目、每个光学元件的大小,以及检测2D码的机器视觉系统的分辨率。在上下文光学元件中编码的数据的实施例包括:制品或对象的位置,与制品或对象相关的制造信息,代码所在的交通标牌的分类,法律或适用于特定区、时间、日期或天气条件的其它驾驶限制,标牌应用到的交通车道。在阅读本公开时,其它类型的信息对本领域的技术人员将是显而易见的。在图2A 中,光学元件A2、光学元件A3、光学元件B2、光学元件B3、光学元件 B5、光学元件B6、光学元件B7、光学元件C2、光学元件C3、光学元件 C5、光学元件C6、光学元件C7、光学元件E1、光学元件E2、光学元件 E3、光学元件E5、光学元件E6、光学元件F1、光学元件F2、光学元件 F3、光学元件F5、光学元件F6、光学元件G5和光学元件G6都是上下文光学元件。在这些光学元件中,仅出于说明的目的,光学元件A2、光学元件B2、光学元件B5、光学元件B6、光学元件B7、光学元件C2、光学元件E6、光学元件F1、光学元件F2、光学元件F3、光学元件F6和光学元件 G6对应于“1”,并且上下文光学元件的其余部分是“0”,因为1的梯度颜色或阴影之间的映射对应于光学元件A2、光学元件B2、光学元件B5、光学元件B6、光学元件B7、光学元件C2、光学元件E6、光学元件F1、光学元件F2、光学元件F3、光学元件F6和光学元件G6的梯度颜色或阴影。
多种编码技术可用于将信息编码为代码200。一种此类示例性技术是里德-所罗门码(Reed-Solomon code),如将由本领域技术人员理解的,并且如在http://downloads.bbc.co.uk/rd/pubs/whp/whp-pdf-files/WHP031.pdf处得到的“由C.K.P.Clarke在2002年7月在R&D White Paper WHP031中的里德-所罗门错误校正(Reed-Solomon Error Correction by C.K.P.Clarke, R&D White Paper WHP031,July 2002)”中所述,其以引用方式并入本文。可符合本公开地使用的其它类型的错误校正代码包括戈莱码、低密度奇偶检验码和Turbo码。其它类型的代码对本领域技术人员将是显而易见的。在代码200中,使用基数三延伸的里德-所罗门码,上下文光学元件可在24 个总上下文光学元件中嵌入12位信息。最多两个光学元件可被遮蔽或丢失,并且在上下文光学元件中编码的数据仍然是可恢复的。使用本文描述的代码200的编码,如果上下文光学元件表示标牌的类型,则最多4096个唯一的标牌可被分类。
代码200也包括36个内容光学元件,每个内容光学元件中的四个在较大的光学元件A1、光学元件B1、光学元件C1、光学元件E7、光学元件 F7、光学元件G1、光学元件G2、光学元件G3和光学元件G7中。在一些实施例中,内容光学元件可由机器视觉系统从第二距离检测(但是不可由机器视觉系统在第一距离处检测),并且第二距离小于第一距离。例如,由于内容光学元件的大小,所以此类内容光学元件可能不能在代码和图像捕获设备之间的大于阈值距离的距离处独立解码。内容光学元件可表示位或元件,位或元件对与制品或对象、或在其上呈现代码200的制品或对象的位置或环境相关的机器可读数据或信息进行编码。内容光学元件可用于延伸在上下文光学元件中编码的信息。例如,如果上下文光学元件指示制品是限速标牌,则内容光学元件可用于指示限速在标牌位于的区中为55英里/小时。内容光学元件可由机器视觉系统进行读取的距离可取决于代码 200的大小、代码200中的光学元件的数目、每个光学元件的大小,以及机器视觉系统的分辨率。
A1、B1、C1、E7、F7、G1、G2、G3和G7中的内容光学元件可对多种类型的信息进行编码,多种类型的信息包括特定于标牌的信息,诸如限速、指导信息、GPS坐标或资产编号。内容光学元件也可用于作为用于上下文光学元件的另外的错误校正进行操作。
数据可以多种方式或使用多种算法在内容光学元件中进行编码。一种此类算法是基数6里德-所罗门码,基数6里德-所罗门码允许在内容光学元件中对12位数据进行编码。因为内容代码一般小于上下文代码,所以内容光学元件从机器视觉系统的视野中被读错或遮蔽的可能性可高于其它更大大小的光学元件。与用于上下文光学元件的基数3里德-所罗门码相比,使用基数6里德-所罗门编码方案可提供附加的冗余或错误检查。在该具体配置中,相邻内容光学元件中的最多12个可被遮蔽,并且可准确地读取来自内容光学元件的数据。
光学元件A5、光学元件A6和光学元件A7可用于在装配时将自定义数据添加到标牌。在一个实例中,光学元件A5、光学元件A6和光学元件 A7可都看起来为白色,并且信息诸如标牌应用到的车道可由装配者通过在期望的光学元件上添加IR黑色材料指示。
虽然代码200被示为如由寻找器光学元件的大小确定的7×7矩阵,但是其它代码在本公开的范围内。例如,代码可为8×8、9×9、10×10、 11×11、12×12、13×13、N×N或N×M。在一些配置中,符合本公开的代码可不是正方形矩阵。光学代码可为圆形、三角形、多边形、矩形或任何期望的不规则形状。这样的光学代码的大小可通过计算标准光学元件的总数、使用寻找器光学元件的大小以确定单个光学元件的标准大小来确定。
图2B是具有为卡车210的形式的遮蔽的图2A的机器可读光学代码。任何遮蔽可为防止光从来源传递到观察者(人类或非人类(例如,图像捕获设备))的任何障碍。如上面论述的,上下文光学元件当使用里德-所罗门算法时对12位信息进行编码。数据在上下文光学元件中进行编码,使得上下文光学元件被分组成四个6位块(或“光学元件集”)。具体地,上下文光学元件如下进行分组:
上下文光学元件块1:A2、A3、B2、B3、C2、C3
上下文光学元件块2:B5、B6、B7、C5、C6、C7
上下文光学元件块3:E1、E2、E3、F1、F2、F3
上下文光学元件块4:E5、E6、F5、F6、G5、G6
上下文光学元件块中的两个用于对数据进行编码(或作为数据有效载荷),并且两个块用于错误校正。在所示的代码中,如果顶行、底行、左列或右列中的任一个被遮蔽,则机器视觉系统可仍然检测内容光学元件的至少两个完整的块,留下专用于数据有效载荷(例如,编码消息或表示编码消息的编码值)的至少一个完整的上下文光学元件块和专用于错误校正的至少一个完整的上下文光学元件块。在该实例中,即使整个行或列已被遮蔽,在上下文光学元件中编码的数据也是完全可恢复的。
如图2B中所示,卡车210遮蔽7列的大部分,包括上下文光学元件 B7和上下文光学元件C7。如上所述,即使上下文光学元件B7和上下文光学元件C7被遮蔽,上下文光学元件数据有效载荷也是完全可恢复的,因为上下文光学元件块1、上下文光学元件块3和上下文光学元件块4没有被遮蔽,并且非遮蔽块包括编码数据和对应的错误校正数据以重建数据有效负载。
图2B包括处于正方形的内容光学元件:A1、B1、C1、E7、F7、G1、 G2、G3和G7。在一些实施例中,父光学元件或称为“正方形”可包括一个或多个子光学元件。例如,父光学元件可包括四个子光学元件,如图1 中所示。内容光学元件被分组成六个6位块,其中块中的两个用于数据有效载荷,并且块中的四个用于错误校正。
使用里德所罗门错误校正,由于受损的读取而可恢复的块的数目等于错误校正块的总数除以2。在本公开的一些实施方案中,块被布置成使得如果代码的整个边缘被遮蔽,则这导致遮蔽最小数目的块,允许更大的恢复。因而,在代码200中,因为存在两个错误校正上下文块,所以可恢复最多一个受损的上下文块。即使左列或底行中的任一个被彻底遮蔽,机器视觉系统仍然能够读取完整的数据有效载荷块和完整的错误校正块,导致内容光学元件中编码的数据的完全恢复。在一些实施例中,用于消息和错误校正数据的光学元件集以矩阵形式在空间上配置在物理表面处,使得在不存在被定位在被视觉遮蔽的矩阵的至少一个完整边缘内的光学元件的情况下,消息能够从基板解码。
在一些实施例中,多于至少一个完整边缘的50%被遮蔽。在一些实施例中,多于至少一个完整边缘的75%被遮蔽。在一些实施例中,至少一个边缘中的遮蔽量在50%-100%遮蔽的范围内。在一些实施例中,至少一个边缘被彻底遮蔽。在一些实施例中,与至少一个边缘相邻的附加边缘被遮蔽。在一些实施例中,多个相邻边缘被遮蔽。在一些实施例中,一个或多个相邻边缘中的每个被遮蔽多于50%、多于75%,或者包括50%-100%范围内的遮蔽量。
在一些实施例中,至少一个完整边缘包括从矩阵的至少水平或垂直维度的最低排序索引到最高排序索引的一维阵列。例如,图2A中的边缘可为 A行的所有元件、G行的所有元件、1列的所有元件或7列的所有元件。
图3A为机器可读光学代码300的实施例。光学代码300包括位于光学代码300的拐角处的十二个寻找器光学元件:A1、A2、A6、A7、B1、B7、F1、F7、G1、G2、G6和G7。在图3A中由“F”指示寻找器光学元件的组或块。上下文光学元件一般位于光学代码300的中心附近,并且上下文光学元件的块被编号为1-5。上下文光学元件块包括以下光学元件:
上下文块1:A4、B4、C4、D4、E4;
上下文块2:B5、B6、C5、C6、D5;
上下文块3:B2、B3、C2、C3、D2;
上下文块4:D3、E3、E4、F3、F4;以及
上下文块5:D6、E5、E6、F5、F6。
使用上下文块,使得上下文块1是数据有效载荷块,并且上下文块2-5 每个专用于里德所罗门错误校正。这允许校正最多两个不正确读取的上下文块。因为内容块1具有5个光学元件或位,所以内容块1可表示最多25个(或32个)值或车辆类别(或任何期望的分类集)。换句话讲,从左侧或右侧最多三列(1、2和3或5、6和7)可被彻底遮蔽,或者在底部上的最多两行(F和G)可被彻底遮蔽,并且上下文数据可仍然正确地解码。与对遮蔽的数据进行解码和恢复遮蔽的数据相关联的确定性基于所使用的特定类型的编码算法。
图3A包括内容光学元件的八个块,其中每个块包含六个光学元件。内容光学元件块在图3A中指示为D1-D8。实施例光学元件块302表示内容光学元件块D1。实施例光学元件块304表示上下文光学元件块1。如图3A 中所示,内容光学元件块D7和内容光学元件块D8分布在光学代码300的多于一个连续区域上。每个内容光学元件块中的光学元件如下:
内容块D1:C1和D1的上半部
内容块D2:D1的下半部和E1
内容块D3:C7和D7的上半部
内容块D4:D7的下半部和E7
内容块D5:G3和G4的左半部
内容块D6:G4的右半部和G5
内容块D7:A3的上半部和F4;以及
内容块D8:A3的下半部和A5。
在八个内容块中,四个内容块(D1-D4)用于数据有效载荷,并且四个内容块(D5-D8)用于里德所罗门错误校正,所以本公开的机器视觉系统当读取代码300时可校正最多两个内容块错误。通过将四个内容块用于数据有效载荷,内容块可编码最多224(或16,777,216)个唯一代码。
图3A示出了7×7光学元件大小光学代码的配置,使用寻找器光学元件的大小来确定标准光学元件大小。虽然仅需要12个寻找器光学元件,但是光学代码300能够对上下文光学元件中的32个唯一值进行编码,并且能够对上下文光学元件中的16,777,216个唯一值进行编码,同时承受如本文所论述的基本遮蔽。
图3B是具有数据有效载荷的机器可读光学代码的实施例。图3B具有与图3A中所示的寻找器、内容和上下文光学元件的相同布置,但是图3B 附加地示出了每个光学元件(排除内容光学元件)的数字表示或位状态。例如,所有12个寻找器光学元件(A1、A2、A6、A7、B1、B7、F1、F7、 G1、G2、G6和G7)具有位状态“1”(并且于是在图3B中被示出为白色)。图3B中的光学代码被设计成放置在具有反射片材层的八边形停止标牌上。光学代码可通过印刷黑色红外油墨或在位为“0”或黑色的区中的停止标牌的回射基板上方且在光学代码的边界周围安置另一黑化材料或物质来形成,使得当捕获代码的图像时,寻找器光学元件与代码周围的黑色背景创建鲜明对比。
因为图3B中的光学代码被设计成应用到停止标牌,所以上下文光学元件被写入以提供停止标牌的分类信息。出于说明的目的,在示例性分类系统中,停止标牌是“类别28”标牌,并且为了指示,上下文块1的位被设定为读取数字“28”(或二进制的“11100”)。于是,上下文光学元件块 1中的位是:
光学元件1.0:位0,
光学元件1.1:位0,
光学元件1.2:位1,
光学元件1.3:位1,以及
光学元件1.4:位1。
上下文块2-5的其余部分用里德所罗门错误校正数据进行编码。错误校正数据基于将错误校正功能应用到编码为编码消息的原始消息。虽然里德所罗门错误校正和算法用于示例性目的,但是在阅读本公开时,其它算法和错误校正技术对于本领域技术人员将是显而易见的。
图3C是从右侧具有遮蔽(卡车310)的图3A的机器可读光学代码 300的实施例。在所示的实施例中,代码300的很大一部分被遮蔽,包括右上和右下寻找器光学元件块、上下文光学元件块2和上下文光学元件块5,以及内容光学元件块D3、内容光学元件块D4、内容光学元件块D6和内容光学元件块D8。在该实施例中,没有内容信息被认为是可读的,因为被遮蔽的内容光学元件的数目超出在内容光学元件中编码的信息的重建不再可能之前可被遮蔽的内容光学元件的数目。然而,上下文光学元件可被解码,因为仅上下文光学元件中的两个(2和5)被遮蔽。
图3D是从右侧具有为卡车310的形式的遮蔽的图3A的机器可读光学代码300的实施例。在所示的实施例中,代码300的一部分已被遮蔽,包括上下文光学元件块2和上下文光学元件块5、右上方和右下方寻找器光学元件块,以及内容光学元件块D3和内容光学元件块D4中的所有。因为仅遮蔽了两个上下文光学元件块(2和5)且仅遮蔽两个内容光学元件块(D3 和D4),所以上下文数据(5位)和内容数据(24位)都可被解码。
图3E是在光学代码300的底部处具有为卡车310形式的遮蔽的图3A 的机器可读光学代码300的实施例。在所示的实施例中,代码300的底部的一部分被遮蔽。两个底角中的寻找器光学元件被遮蔽,上下文光学元件块4和上下文光学元件块5被遮蔽,并且内容光学元件块D5、内容光学元件块D6和内容光学元件块D7被遮蔽。上下文数据是可恢复的,允许5个上下文位的可靠的解码。然而,内容数据受损,因为代码300仅包括专用于错误校正的四个内容光学元件块,这意味着在受损读取的情况下仅可恢复两个内容光学元件块。因为多于两个内容光学元件块已经受损,所以内容数据全部都不能可靠地解码。
图3F是在光学代码200的底部处具有为卡车310形式的遮蔽的图3A 的机器可读光学代码的实施例。在该实施例中,两个底角中的寻找器光学元件块被遮蔽。没有上下文光学元件被遮蔽。并且内容光学元件块D5和内容光学元件块D6被遮蔽。因为没有上下文光学元件块被遮蔽,所以内容数据可被可靠地读取或以其它方式解码。因为仅两个内容光学元件块被遮蔽,所以可通过错误校正来恢复内容光学元件数据,并且所有24位内容数据也可被可靠地读取或解码。
虽然3A-3F中的图像示出多种遮蔽场景且阐明了在那些场景中遮蔽的数据的可恢复性,但是基于里德所罗门编码技术,对恢复数据的限制是示例性的。其它编码技术或算法可致使关于数据的可恢复性的其它结果。
图4示出了符合本公开的示例性标牌构造400。虽然符合本公开的光学代码可应用到无论是移动的还是静止的任何制品,但是图4示出了实施方案,其中光学代码应用到其上呈现有回射片材的标牌。图4示出了具有多个层、回射片材和如本文所述的光学代码的这样的标牌的横截面。层410 可为基板。通常,基板410是刚性或非柔性和耐用的材料,诸如金属。一种此类合适金属是铝。在其它实施方案中,基板410可为或包括任何刚性、半刚性或柔性物理表面。
回射片材420可为如本公开中所述的回射片材。粘合剂层(未示出) 可设置在回射片材420和基板410之间,以将回射片材420粘附到基板 410。可符合本公开地使用的回射片材的一个实施例是购自明尼苏达州圣保罗的3M公司(3M Company of St.Paul,Minnesota)的3M钻石等级TM DG3反射片材系列4000(3M Diamond GradeTM DG3 Reflective SheetingSeries 4000)。
层430包括消息或图像,消息或图像通常被印刷到层420上。层430 可为交通标牌图像,诸如图1A-图1D中所示的停止标牌。层430可包括可见光谱中的任何消息或图像,或在除了层440中的光学代码之外的波长处可见的消息或图像。在美国专利No.8,865,293中更详细地描述了在单个标牌、牌照或其它基板中包括在不同波长处可见的信息或图像的实施例,该专利全文以引用方式明确地并入本文。
层440包括符合本公开的光学代码,诸如图2A-图3F中所示的光学代码。可以多种方式形成层440中的光学代码。例如,如果光学代码440被设计成在可见光谱中是可见的,则可用暗色(诸如黑色)将光学代码440 印刷到亮色(或白色)基板上。如果层440中的光学代码被设计成在IR光谱(通常在700-1000nm的范围内,但是在一些实例中,可使用诸如850nm或900nm的波长)中是可见的,可以多种方式创建层440中的光学代码。具体地,在具有在层440底下的回射层420的情况下,没有覆盖有吸收、散射或以其它方式抑制红外光谱中的回射的材料或物质的层420的任何部分将看起来为白色或浅色。因此,应用吸收、散射或以其它方式抵消红外光谱中的回射的材料可用于在层440中创建黑色光学元件和光学代码周围的边界。
可使用的材料的实施例包括使用IR吸收性的黑色油墨印刷期望为黑色或暗色的标牌的部分。在另一实例中,可选择性地切割IR吸收性的多层光学膜(MOF),使得去除期望为白色的标牌的任何部分,并且膜被覆在层 430上。当在红外光谱中查看时,膜将仅允许在旨在为白色的光学代码的区中的回射。虽然本文论述了红外(IR)光谱,但也可使用其它光谱,诸如近红外光谱(具有大约950nm波长的光)。当层440中的光学代码被创建 950nm光吸收膜时,当在950nm处的光照射光学代码时,黑色印刷的区段将吸收光,并且对于机器视觉系统看起来为黑色,并且未经印刷的区段将看起来为明亮的或白色。
标牌400可可选地包括覆膜440,覆膜440形成或粘附在层440上方。覆膜450可由可见光透明的、红外透明材料(诸如但不限于多层光学膜) 构造。
在标牌400的构造中使用回射层可提供若干优点。例如,当主要在红外光谱中捕获信息,并且图像中的仅有可见区是由从回射片材420反射的光创建的明亮的或白色光学元件,返回到相机的照明条件可对图像捕获设备和/或计算设备识别图像中不是IR回射的任何对象创建困难。这包括标牌或光学代码周围的背景,以及其它个人信息,诸如个人的面部、图像或其它识别信息。
另外,生成光学代码的白色或明亮部分的来自层440的回射光可导致在图像中的黑色区(包括光学代码与周边图像之间的自然边界或过渡)之间具有强烈对比的图像。在一些现有的QR码中,在代码的整个边界或边界的一部分周围黑色光学元件可为必要的,以描绘QR码开始和结束的机器视觉系统。相比之下,因为环绕标牌400上的光学代码的区在IR光谱中将看起来为黑色,所以不需要附加的边界光学元件,允许更大的编码效率。
图5是用于读取多维机器可读光学代码的系统的实施例。系统500包括标牌520。标牌面522包括可在可见光谱中看到的图像、停止图像522和机器可读光学代码530,机器可读光学代码530在可见光谱外的可见光谱中可为可见的。标牌500具有基板,并且也可包括光学代码530后面的回射片材层。
光学代码530包括多个寻找器光学元件,多个寻找器光学元件被布置成图案,并且可由安装在车辆510上的机器视觉系统512从第一距离检测。光学代码530也包括表示上下文信息的多个上下文光学元件,其中上下文光学元件可由机器视觉系统从第一距离检测。光学代码530也包括表示内容信息的多个内容光学元件,其中内容光学元件不可由机器视觉系统在第一距离处检测到,但是可由机器视觉系统从第二距离检测,并且第二距离小于第一距离。
当车辆510接近标牌520时,机器视觉系统512检测并处理机器可读光学代码。虽然机器视觉系统512被示出为可移动的且安装到图5中的车辆510,但是机器视觉系统可为静止的或者可安装到其它装备或设备。机器视觉系统512可为红外相机,包括图像传感器和光源。在一些实例中,机器视觉系统将包括滤光器以增加图像传感器对IR光谱的灵敏度。在阅读本公开时,其它类型的机器视觉系统对于本领域的技术人员将是显而易见的。
机器视觉系统512可包括计算设备540,使得机器视觉系统512经由不需要网络的有线或无线连接直接与计算设备540连接。在其它实例中,机器视觉系统512可使用一个或多个通信链路550A、通信链路550B与计算设备540通信地耦接。虽然计算设备540被例示为通过网络552连接到车辆510,但是在其它实施例中,计算设备540可直接包括在车辆510内或车辆510处,并且通过直接通信或车辆的内部网络与车辆部件通信。
机器视觉系统512可将光学代码的图像发送到计算设备540。通信链路550A和通信链路550B可表示有线或无线连接。例如,通信链路550A 和通信链路550B可为使用WiFi协议的无线以太网连接,并且/或者可为使用种类5或种类6电缆的有线以太网连接。任何合适的通信链路都是可能的。在一些实施例中,机器视觉系统512通过网络552通信地耦接到计算设备540。网络552可表示任何数目的一个或多个网络连接设备,网络连接设备包括但不限于路由器、交换机、集线器和提供用于分组和/或基于帧的数据的转发的互连通信链路。例如,网络552可表示互联网、服务提供商网络、客户网络或任何其它合适的网络。在其它实施例中,机器视觉系统512通过直接连接(诸如通用串行总线(USB)链路)通信地耦接到计算设备540。
计算设备540表示任何合适的计算系统,任何合适的计算系统可为具有或远离机器视觉系统512的单个设备,诸如能够与机器视觉系统512发送和接收信息的一个或多个台式计算机、膝上型计算机、大型机、服务器、云计算系统等。在一些实施例中,计算设备540实施本公开的技术。
在图5的实施例中,计算设备540包括编码部件542、数据层626、服务部件546和用户界面(UI)部件548。编码部件542可通过将所需的数据编码方案或算法应用到光学代码530上的数据,检测在光学代码530中编码的数据。编码部件542可查询数据层626以将来自光学代码530的检测的二进制代码转换为机器可读信息。
服务部件546可通过执行一个或多个操作来提供任何数目的服务。例如,服务部件546在接收从光学代码读取的数据时可生成一个或多个警示、报告或其它通信,一个或多个警示、报告或其它通信被发送到一个或多个其它计算设备,包括车辆510上的自动驱动部件。此类警示可包括但不限于:电子邮件、短信、列表、电话或任何其它合适的通信。在一些实施例中,用户界面(UI)部件548可充当计算设备540的各种部件之间的中介,以处理由输入设备检测的输入并将输入发送到其它部件,并且从其它部件生成可在一个或多个输出设备处展示的输出。例如,UI部件548可生成用于显示的一个或多个用户界面,一个或多个用户界面可包括警示、报告或其它通信的数据和/或图形表示。
部件542、部件626、部件546和部件548可使用驻留在计算设备540 和/或一个或多个其它远程计算设备中并在计算设备540和/或一个或多个其它远程计算设备上执行的软件、硬件、固件或硬件、软件和固件三者的混合执行本文所述的操作。在一些实施例中,部件542、部件626和部件546 可被实施为硬件、软件和/或硬件和软件的组合。计算设备540可用一个或多个处理器来执行部件626、部件546和部件548。计算设备540可执行作为在底层硬件上执行的虚拟机或在虚拟机内的部件542、部件626、部件 546和部件548中的任一个。部件542、部件626、部件546、部件548可以各种方式来实施。例如,部件542、部件626、部件546或部件548中的任一个可被实施为可下载或预装配的应用或“app”。在另一实施例中,部件542、部件626、部件546或部件548中的任一个可被实施为计算设备 540的操作系统的一部分。
例如出于图5中的目的,机器视觉系统被例示为车辆510的一部分或安装到车辆510。车辆510可为汽车、摩托车、飞机、水船、军事装备、自行车、火车或任何其它运输车辆。在其它实施例中,机器视觉系统512可附接到、包括或嵌入在或以其它方式包括:文档、衣服、可穿戴装备、建筑物、静止装备或任何其它对象,仅举几个实施例。
光学代码530被示为作为图5中的标牌并入,然而,光学代码可安装在、附接到、包括或嵌入在:文档、衣服、可穿戴装备、建筑物、静止装备或任何其它对象中,仅举几个实施例。
在一些实施例中,光学代码530或制品光学代码530被附接到的可包括施加到基体表面的反射、非反射和/或回射片材。可见消息诸如但不限于字符、图像和/或任何其它信息可印刷、形成或以其它方式呈现在光学代码 530制品上。可使用一种或多种技术和/或材料将反射、非反射和/或回射片材施加到基体表面,一种或多种技术和/或材料包括但不限于:机械粘合、热粘合、化学粘合或用于将回射片材附接到基体表面的任何其它合适的技术。基体表面可包括反射、非反射和/或回射片材可附接到的对象(诸如上面所述的,例如,铝板)的任何表面。可使用油墨、染料、热转印墨带、着色剂、颜料和/或粘合剂涂覆膜中的任一种或多种将制品消息印刷、形成或以其它方式呈现在片材上。在一些实施例中,内容由多层光学膜、包括光学活性颜料或染料的材料、或光学活性颜料或染料形成,或者包括多层光学膜、包括光学活性颜料或染料的材料、或光学活性颜料或染料。
为了初始制造或以其它方式创建光学代码530,构造设备570可与计算设备560一起使用,计算设备560控制构造设备570的操作。在一些实施例中,构造设备570可为印刷、设置或以其它方式形成光学代码530和/ 或标牌520的任何设备。构造设备138的实施例包括但不限于针模、凹版印刷机、丝网印刷机、热物质转印机、激光印刷机/雕刻机、层压机、柔性版印刷机、喷墨印刷机、红外线油墨印刷机。在一些实施例中,光学代码 530可通过由构造设备570构造的回射片材或红外吸收或散射膜来实现,并且在一些情况下由与计算设备560不同的操作者或实体操作的单独的构造过程或设备可将制品消息应用到片材和/或到基底层(例如,铝板)的片材。
构造设备570可通过通信链路550D通信地耦接到计算设备560。计算设备560可控制构造设备570的操作。例如,计算设备560可包括一个或多个印刷规格。印刷规格可包括定义可见标牌面522和光学代码530的属性(例如,位置、形状、大小、图案、组成或其它空间特性)的数据。在一些实施例中,印刷规格可由操作人员或由机器生成。在任何情况下,构造部件562可将数据发送到构造设备570,该数据引起构造设备570根据印刷机规格印刷可见图像或消息和光学代码。
在一些实施例中,构造部件562可确定可能被视觉遮蔽的标牌的一个或多个可能的区域或区。此类区域或区可由用户定义定义,是硬编码的,或由构造部件562基于包括至少潜在的视觉遮蔽或遮蔽的表示的一个或多个图像来确定。在一些实施例中,构造部件562可输出图形用户界面,其中用户可指定可被视觉遮蔽的特定标牌的不同区域或区。基于确定可被视觉遮蔽的区域或区,构造部件562可配置制品上的块形状、大小和/或位置,以改善以下可能性:如果潜在视觉遮蔽的一个或多个区域或区被遮蔽则光学元件集中编码的消息将仍然可由计算设备解码。作为实施例,如果光学代码的右上方象限中的区域或区可能被视觉遮蔽,则构造部件562可将表示消息的光学元件集定位在除右上角之外的位置,但是可仍然在被定位在右上方象限的区域或区中的光学元件集中包括错误校正数据。基于机器可读代码的已知或可能的视觉遮蔽区,光学元件的大小、形状和位置的任何数目的其它可能分布是可能的。
在一些实施例中,为了对机器可读代码中的消息进行解码,编码部件 542可至少部分地基于指示图像内的相应光学元件集的相应预定义的位置的光学元件集位置数据来确定光学元件集。也就是说,光学元件集位置数据可指示映射到不同光学元件集和/或独立光学元件的坐标或其它位置值。编码部件542可至少部分地基于指示光学元件集内的相应光学元件的相应预定义的位置的光学元件位置数据来确定相应的光学元件中的每个光学元件的相应梯度值。例如,给定图像的预定义位置与光学元件之间的已知映射,编码部件可测量或以其它方式确定该预定义位置的梯度值(在一些实施例中,该梯度值可为单个点或对应于像素的点集)。编码部件542可至少部分地基于梯度值和编码值之间的映射来确定消息的至少一部分。例如,编码部件542访问梯度值和编码值之间的一个或多个存储的映射,并且基于光学元件的所检测的梯度值,重建表示消息的一部分的解码值串。
图6是用于在用于读取多维机器可读光学代码的系统中使用的计算设备的实施例。图6仅示出了如图5中所示的计算设备540的一个特定实施例。计算设备540的许多其它实施例可在其它实例中使用,并且可包括实施例计算设备540中所包括的部件的子集,或者可包括图6中的实施例计算设备540中未示出的附加部件。在一些实施例中,计算设备540可为服务器、平板计算设备、智能电话、手腕或头戴式计算设备、膝上型电脑、台式计算设备,或可运行包括在应用620中的功能性集、功能性子集或功能性超集的任何其它计算设备。
如图6的实施例中所示,计算设备540可在逻辑上划分为用户空间 602、内核空间604和硬件606。硬件606可包括为在用户空间602和内核空间604中执行的部件提供操作环境的一个或多个硬件部件。用户空间602 和内核空间604可表示存储器的不同区段或片段,其中内核空间604向进程和线程提供比用户空间602更高的权限。例如,内核空间604可包括操作系统620,操作系统620以比在用户空间602中执行的部件更高的权限进行操作。
如图6中所示,硬件606包括一个或多个处理器608、输入部件610、存储设备612、通信单元614以及输出部件616。处理器608、输入部件 610、存储设备612、通信单元614和输出部件616可每个通过一个或多个通信信道618互连。通信信道618可将部件608、部件610、部件612、部件614和部件616中的每个互连以用于部件间通信(物理地、通信地和/或可操作地)。在一些实施例中,通信信道618可包括硬件总线、网络连接、一个或多个进程间通信数据结构或用于在硬件和/或软件之间传送数据的任何其它部件。
一个或多个处理器608可实施计算设备540内的功能性和/或执行计算设备540内的指令。例如,计算设备540上的处理器608可接收并执行由存储设备612存储的指令,该指令提供内核空间604和用户空间602中所包括的部件的功能性。由处理器608执行的这些指令可引起计算设备616 在程序执行期间在存储设备612内存储和/或修改信息。处理器608可执行内核空间604和用户空间602中的部件的指令,以根据本公开的技术来执行一个或多个操作。也就是说,包括在用户空间602和内核空间604中的部件可由处理器208操作以执行本文描述的各种功能。
计算设备540的一个或多个输入部件642可接收输入。仅举几个实施例,输入的实施例为触觉、音频、动力学和光学输入。在一个实施例中,计算设备616的输入部件642包括鼠标、键盘、语音响应系统、摄像机、按钮、控制板、麦克风、或用于检测来自人类或机器的输入的任何其它类型的设备。在一些实施例中,输入部件642可为存在敏感输入部件,存在敏感输入部件可包括存在敏感屏幕、触敏屏幕等。
计算设备616的一个或多个输出部件616可生成输出。输出的实施例为触觉、音频和视频输出。在一些实施例中,计算设备540的输出部件616 包括存在敏感屏幕、声卡、视频图形适配器卡、扬声器、阴极射线管 (CRT)监视器、液晶显示器(LCD)、或用于向人类或机器生成输出的任何其它类型的设备。输出部件可包括显示部件诸如阴极射线管(CRT) 监视器、液晶显示器(LCD)、发光二极管(LED)或用于生成触觉、音频和/或视觉输出的任何其它类型的设备。在一些实施例中,输出部件616 可与计算设备540集成。在其它实施例中,输出部件616可在物理上在计算设备540的外部并与计算设备540分离,但是可经由有线或无线通信可操作地耦接到计算设备540。输出部件可为位于计算设备540的外部封装 (例如,移动电话上的屏幕)内并物理连接到计算设备540的外部封装的计算设备540的内置部件。在另一实施例中,存在敏感显示器602可为位于计算设备540的封装外并与计算设备540的封装物理分离的计算设备540 的外部部件(例如,与平板计算机共享有线和/或无线数据路径的监视器、投影仪等)。
计算设备540的一个或多个通信单元614可通过传输和/或接收数据与外部设备进行通信。例如,计算设备540可使用通信单元614来在无线电网络诸如蜂窝无线电网络上传输和/或接收无线电信号。在一些实施例中,通信单元614可在卫星网络诸如全球定位系统(GPS)网络上传输和/或接收卫星信号。通信单元614的实施例包括网络接口卡(例如,诸如以太网卡)、光收发器、射频收发器、GPS接收器或可发送和/或接收信息的任何其它类型的设备。通信单元614的其它实施例可包括存在于移动设备中的GPS、3G、4G和无线电以及通用串行总线(USB)控制器等。
计算设备540内的一个或多个存储设备612可存储用于在计算设备540 的操作期间进行处理的信息。在一些实施例中,存储设备612是暂时存储器,这意味着存储设备612的主要目的不是长期存储。计算设备540上的存储设备612可被配置用于信息的短期存储,如同易失性存储器,并因而如果被去激活则不保留所存储的内容。易失性存储器的实施例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)以及本领域已知的其它形式的易失性存储器。
在一些实施例中,存储设备612也包括一个或多个计算机可读存储介质。存储设备612可被配置为存储比易失性存储器更大量的信息。存储设备612还可被配置用于信息的长期存储,如同非易失性存储器空间,并且在激活/关闭周期之后保留信息。非易失性存储器的实施例包括磁性硬盘、光盘、软盘、闪存或电可编程存储器(EPROM)或电可擦可编程(EEPROM)存储器的形式。存储设备212可存储与包括在用户空间602 和/或内核空间604中的部件相关联的程序指令和/或数据。
如图6中所示,应用628在计算设备540的用户空间602中执行。应用628可在逻辑上划分为展示层622、应用层624和数据层626。展示层 622可包括用户界面(UI)部件548,用户界面(UI)部件548生成和显现应用628的用户界面。应用228可包括但不限于:UI部件548、算法编码部件542、数据层626和一个或多个服务部件546。展示层622可包括UI 部件548。
数据层626可包括一个或多个数据存储。数据存储可以以结构或非结构化形式存储数据。实施例数据存储可为关系数据库管理系统、在线分析处理数据库、表或用于存储数据的任何其它合适的结构中的任一种或多种。内容数据存储634可包括:由来自内容光学元件的有效载荷构成的一系列位以及与那一系列位相关联的信息。在一些实施例中,内容数据存储 634可包括为编码或解码形式的消息。上下文数据存储636可包括由来自上下文光学元件的有效载荷构成的一系列位以及与那一系列位相关联的信息。在一些实施例中,上下文数据存储634可包括为编码或解码形式的消息。错误校正数据632可包括形成由错误校正算法构造的码字的一系列位,该错误校正算法有助于存在于内容光学元件和上下文光学元件中的有效载荷数据的重建和验证。服务数据638可包括用于提供服务部件546的服务和/或由提供服务部件546的服务所得到的任何数据。例如,服务数据可包括关于光学活性制品的信息(例如,车辆登记信息)、用户信息或任何其它信息。
机器视觉系统510可捕获图像,使用寻找器光学元件确定光学代码 530存在于图像中,并且通过UI部件548或通信信道550A和通信信道 550B将光学代码530传送到计算设备540。响应于接收到图像,编码部件 542可确定图像的特定图像区域表示光学代码。通过应用一种或多种解码技术,诸如里德-所罗门解码或错误检测技术,编码部件542可通过与内容数据存储636和上下文数据存储634通信来确定图像中的光学代码表示指示限速标牌在前面且标牌上的限速为50公里/小时的一系列数据。
服务部件546可基于由编码部件542生成的数据执行一个或多个操作,诸如将数据发送到UI部件548,这引起UI部件548生成用于显示的警示。在一些实施例中,服务部件546可修改车辆的操作。例如,服务部件 546可变更车辆的速度、加速度、方向、悬架、刹车或任何其它功能。UI 部件548可将数据发送到输出部件616中的输出部件,该数据引起输出部件显示警示。虽然本文描述了计算系统的一个特定具体实施,但是在阅读本公开时,符合本公开的范围且在本公开的范围内的计算系统的其它配置和实施例对于本领域技术人员将是显而易见的。
在一些实施例中,诸如工作区的动态环境可为自主或半自主车辆提供更多困难。例如,依赖于增强的地图和GPS可具有限制,因为危险或工人可在每分钟或每小时的基础上动态地重新定位。当在诸如自主、半自主或视觉辅助车辆的车辆中实施时,计算设备540可提供具有如本公开中描述的代码的实时导航标记,该标记允许此类车辆可靠地定位,人和设备在此类区中进行导航,即使代码的部分被其它对象或区中的遮蔽物视觉遮蔽。在一些实施例中,如本公开中所描述的,代码对于人眼是不可见的,但是对于可商购获得的机器传感器在具体波长的光中是可见的。可附接到工作区设备的这些唯一的机器可读代码可提供精确的对象检测和迅速处理,以实现自主、半自主或视觉辅助导航。如此,包括诸如本公开中描述的计算设备和图像捕获设备的车辆可响应于确定在一个或多个代码中编码的信息而变更其操作。
在一些实施例中,用于读取本公开中的此类代码的机器可读光学代码和系统与现有的统一交通控制设备手册(MUTCD)规则和/或与传统工作区材料兼容。在一些实施例中,本公开的机器可读光学代码可提供用于由车的更快和/或更准确的检测和处理的信息,而不是用于导航车辆的其它模态(例如,GPS、地图等)。在一些实施例中,对于其上呈现代码的每种特定类型的制品,通用机器可读光学代码可为标准化的或恒定的。在一些实施例中,不同的机器可读代码可用于特定工作区或其它界定的区域或区中的不同类型的制品。在一些实施例中,机器可读代码可包括光学元件的唯一空间配置和/或在其中编码的表示人类或工人的信息。在一些实施例中,定位数据可在机器可读代码中编码,其中此类定位信息指示关于制品或制品的周边区的地点具体信息,并且在一些实施例中,因为代码位于的动态改变环境,所以此类定位信息可在GPS或地图中不可用。
除了改善标牌的分类和数据质量之外,基础设施制品可提供补充由高清晰度映射提供的位置数据的机会。地图创建公司正在创建极其详细和动态的地图,以帮助驾驶员和自动车辆规划路线并将车辆适当定位在车行道上。当前的高清晰度(HD)映射依赖于SIFT(标度不变特征变换)特征的连续分析以提供定位。为了开发可靠的特征,可发生数据密集映射,并且数据密集映射由车辆以可访问的方式存储以供参考。在一些实例中,这既耗时又昂贵(在经济和计算方面)。在一些实例中,也可能的是,用作 SIFT特征的界标将改变,在车辆试图执行其SLAM(同时定位和地图创建)时对车辆具有挑战。
本公开的技术可通过将信息嵌入可给出精确GPS信息的标志中减轻计算费用,以及减少将SIFT特征与点云数据匹配的模糊性或易出错的动作。
一些光学代码可包含高精度GPS坐标以及对于标牌来说唯一的标识符。光学代码上的寻找器和定时模块可允许使用平面姿态估计技术准确的读取距离矢量确定。组合该距离矢量和解码的GPS坐标的计算设备指定参考位置以比较当前GPS坐标,提供偏移/漂移/错误校正并因此定位,即使在GPS数据可为不可靠的城市峡谷(例如)中。
作为实施例,车辆机器视觉系统在红外光下捕获标牌的图像,暴露标牌的嵌入的光学代码。寻找器模块大小和偏差允许由计算设备将该图像归一化回到正方形。可通过在两个分离的寻找器模块之间扩展的多个像素来测量模块的大小。该像素计数与像素大小相互关联,该像素大小与距离成比例,允许由计算设备基于图像的偏差量以及像素大小的矢量确定,以告知与标牌的具体距离和方向。用标牌位置的高精度GPS坐标和相机所在地方的准确投影,只要车辆知道相机位于车辆上的地方,现在可通过计算设备从所提供的标牌GPS和适当的平移矢量确定车辆的GPS位置。
使用唯一识别的道路标牌或其它制品用于定位可优先于依赖SIFT特征,因为标牌可主动确认坐标位置和标牌ID,使得将不太可能发生不正确或错误的匹配。点云数据或标度不变特征列表实际上可能不具有除形状本身之外的任何唯一标识符。这经常使车辆合理地确信,但不确定它已经选取了点或特征集以与地球上的具体场所相互关联。这意味着,车辆在其识别上可能是正确的,但可能是不正确的,并且车辆将不知道,直到车辆现在开始错过预计的特征,因为车辆已经不正确地定位。使用光学代码用于定位的本公开的技术可提供改善的置信度和/或确定性。
使用具有唯一id以及高精度位置的标牌或其它制品可提供正确标牌被识别且正确标牌的位置被验证的确认或附加置信度信息。即使车辆不需要使用标牌的所存储的GPS坐标,车辆也可将GPS坐标与预计的SIFT特征匹配。这可将肯定的ID提供到该SIFT特征,这可实现该关联中增加的信任级别。在一些实施例中,可引入安全元件以证明特定标牌是它所说的确切标牌,并且不被欺骗或以其它方式无效的。
在一些实施例中,光学代码可用作地面实况的来源以训练其它系统或模型。实施例模型可包括神经网络、SVM分类器或任何其它监督学习模型。在光学代码中编码的数据可用作地面实况信息以转化此类模型。作为实施例,来自光学代码的数据(诸如定位数据)可连同任何其它特征一起建构在特征矢量中,并且用于对例如图像数据进行分类。实施例分类可包括对图像数据是否指示特定道路标牌进行分类。通过在应用到模型的特征矢量中包括地面实况信息,模型可更准确地将图像数据分类为包括特定道路标牌。与非数字化某些数据(例如,难以分辨的图像数据)一起使用的数字化某些数据(例如,具有一些ECC的光学代码数据)可改善非数字化某些数据的分类。虽然在对道路标牌的图像数据进行分类的上下文中进行了描述,但是使用来自光学代码的地面实况的技术可更一般地应用到使用数字化某些数据来使用于非数字化某些数据的分类器更准确的任何场景。此类技术可为分类器提供额外信号,或者作为检查来操作以证实分类器的结果是正确的。
在一些实施例中,本公开的机器可读代码可与一个或多个传感器兼容,一个或多个传感器诸如雷达、光检测和测距(LIDAR)、近红外和远红外,或任何其它合适的技术。在一些实施例中,实施本公开的技术的一个或多个车辆可使用V2X或其它合适的无线技术来交换从本公开的机器可读代码解码的信息。在一些实施例中,本公开的机器可读代码可在制品构造期间直接呈现在制品上,或者可后来用贴花或其它层进行改进,该贴花或其它层后来应用到现有制品。
图7A示出了具有嵌套式内容光学元件的机器可读光学代码700。在一些实施例中,嵌套式或“子”光学元件可包括在父光学元件内。例如,父光学元件集702可包括至少一个父光学元件706,其中父光学元件706还包括子光学元件集(例如,包括图7A的格[A,1]中的四个光学元件),子光学元件集包括光学元件的相应集合,诸如子光学元件706。
在一些实施例中,对应于父光学元件的至少一个光学元件的第一编码值能够在图像捕获设备和制品之间的大于或等于阈值距离的特定距离处解码。分别对应于子光学元件集中的光学元件的集合的子编码值可不可在图像捕获设备和制品之间的特定距离处解码。在一些实施例中,特定距离为第一距离,其中分别对应于子光学元件集中的光学元件的集合的子编码值能够在图像捕获设备和制品之间的第二距离处解码,其间的第二距离小于第一距离。在一些实施例中,阈值距离为这样的距离,在该距离处由图像捕获设备捕获的图像的分辨率在可辨性阈值之上在视觉上不分辨子光学元件集中的在视觉上不同的一个或多个光学元件。在一些实施例中,可辨性阈值可为用户定义的、硬编码的或机器生成的。
嵌套式内容和上下文光学元件可应用到早先的图中所示的代码中的任一个。在一些实施方案中,光学代码可包括内容和上下文光学元件两者。嵌套式内容光学元件是四个内容光学元件的块,四个内容光学元件每个可作为一位数据独立读取,或者可作为单个上下文光学元件一起读取。从第一距离,光学代码700看起来为具有A-B、C-D、E-F、G-H、I-J、K-L和 M-N行以及1-2、3-4、5-6、7-8、9-10、11-12和13-14列的7×7代码。类似于图2A中所示的图像,G-H行和7-8列中的光学元件是寻找器光学元件。图7A的机器可读光学代码与图2A的不同之处在于,图7A的机器可读光学代码示出了在光学元件内使用梯度以允许嵌套式内容光学元件。
图7B-图7C示出了具有嵌套式内容光学元件的机器可读光学代码的区段。在许多机器视觉系统中,系统通过检测图像中最亮的色调和图像中最暗的色调来确定光学元件是“白色”还是“黑色”。然后,机器通过确定比所检测的白色和黑色之间的中间的色调更暗的任何色调被确定为黑色对图像进行“二值化”。比中间(或50%)色调更亮的任何色调被确定为白色。当嵌套多层内容光学元件时,可应用该相同的原理。
在块中示出两层内容光学元件的一个此类实施例,该块包括11-12 列、C-D行的交叉点。当创建代码700,由交叉的11-12列、C-D行组成的块711当作为单个块(作为上下文光学元件)一起读取时被累积地解码为“0”。因为机器视觉系统检测到标度710中所示的阴影0,0作为区域中最亮的颜色且在标度710上示出的阴影1,1作为最暗的颜色,所以为了使光学元件C-D、11-12中的所有块被读取为“0”,711中的四个块中的每个中的阴影必须低于标度710上的50%线。
为了对嵌套在块711中的四个内容光学元件中的每个中的信息进行读取或以其它方式解码,机器视觉系统可隔离块711,并且仅在块711中将其二值化器校准为阴影。因为阴影低于标度710的50%线,所以二值化器然后确定具有低于25%线的黑色级别(例如,基于亮度)的任何区域是“0”,并且高于25%线的任何区域是“1”。因而,即使711和712中的四个块当作为单个光学元件一起读取时将被读取为“0”,当作为内容光学元件C11和内容光学元件D12时独立读取为“0”,而C12和D11为“1”。
类似地,块713当作为上下文光学元件从第一距离读取时,需要被读取为“1”。为了实现这一点,仅使用大于标度710上的50%线的黑色阴影,使得当从第一距离读取上下文光学元件713时,机器视觉系统确定所有四个块是“暗色”或“黑色”,因为所有四个块在梯度标度上高于50%线。基于机器视觉系统当读取处于隔离的块714时仅着眼于高于50%线的梯度范围,当独立读取块714中的内容光学元件时,E11为“0”,并且 E12、F11和F12为“1”。
块或光学元件721-726演示了使用三个级别的嵌套式数据的具体实施。块721当从第一距离读取时是“1”,因为所有黑色阴影都大于标度 420上的50%线。然而,当从第二更近的距离读取时(如在块722上所示),光学元件A11和光学元件A12被读取为“0”,因为这些光学元件中的每个内的阴影低于75%线,75%线已变成为用于对块722进行二值化的划分点。光学元件B11和光学元件B12被读取为1。当从第三(且最近距离)读取块723时,机器视觉系统能够检测到光学元件A11、光学元件 A12、光学元件B11和光学元件B12中的每个由四个嵌套式光学元件制成。在光学元件A11和光学元件A12中,色谱范围在标度420上的1、0、 0和1、0、1之间,所以A11中的四个嵌套式光学元件被读取为0、0、0、 0,并且A12中的四个嵌套式光学元件被读取为1、1、0、1。
光学元件724当在第一距离处作为单个上下文光学元件读取时被编码为“0”,所以在光学元件724内使用的所有阴影都低于标度720上的50%黑色级别线。当块725在第二距离处作为四个单独的内容光学元件读取时,光学元件A11是“1”,并且A12、B11和B12每个是“0”。可在比第一距离或第二距离中的任一个更近的第三距离处读取块726,其中关于块725提及的每个内容光学元件现在可作为四个单独的内容光学元件读取。块 A11中的内容光学元件是1、1、0、0。块A12中的内容光学元件是1、0、 1、0。块B11中的内容光学元件是1、0、1、0,并且块B12中的内容光学元件是1、0、0、1。虽然作为一个实施例提供了50%黑色级别线,但是在 100%-1%之间的任何值是可能的。
虽然本公开具体描述了两个级别的嵌套和三个级别的嵌套,但是基于图像捕获和处理技术的限制,可实现实现任何期望级别的嵌套。例如,为了实施具有五个级别嵌套的代码,梯度标度将需要被划分成25或32个颜色 (或灰色)梯度。
图8示出根据本公开的一种或多种技术的包括由计算设备执行的实施例操作的流程图800。仅出于说明的目的,下面将实施例操作描述为由在图 5和图6中的计算设备540执行。图8的一些技术可由一个或多个图像捕获设备、计算设备或其它硬件执行。在图8中,计算设备540接收包括在如本公开所描述的机器可读代码中的一个或多个光学元件集的图像(802)。图像由诸如相机的图像捕获设备捕获。
计算设备540可确定图像是否包括视觉遮蔽(804)。在一些实施例中,计算设备540可确定视觉遮蔽是否发生在表示机器可读代码的矩阵的至少一个边缘中。如果视觉遮蔽没有发生在表示机器可读代码的矩阵的至少一个边缘中(806),或者不存在视觉遮蔽,则计算设备540可至少部分地基于来自至少一个边缘的一个或多个光学元件对由机器可读代码表示的消息进行解码(810)。在一些实施例中,计算设备540可在不使用包括在机器可读代码内的错误校正数据的情况下对消息进行解码。如果视觉遮蔽确实发生在表示机器可读代码的矩阵的至少一个边缘中(808),则计算设备540可至少部分地基于来自图像的错误校正数据且在不使用被视觉遮蔽的边缘中的光学元件的情况下对消息进行解码(812)。
图9示出了根据本公开的技术的回射制品和实施例偏转、俯仰和滚动轴。在一些实施例中,回射制品(例如,限速标牌)可包括根据本公开的技术的光学代码。在一些实施例中,本公开的光学代码可用于基础设施识别和上下文通信,诸如在车行道应用中。在一些实施例中,光学代码可解释在姿态归一化的上下文中其上放置光学代码的二维条形码的轻微旋转。因而,除了其它可能的具体实施之外,遮蔽鲁棒性可为在基础设施应用中实施此类光学代码的优点或益处。在一些实施例中,光学代码允许映射到预先确定的消息的可变位有效载荷
在一些实施例中,通过包括可在车行道基础设施中提供优点的多个优化,分辨本公开的光学代码与许多其它块矩阵代码。本公开的光学代码可在来自代码破坏的常见机制的准确检测、读取距离和错误恢复之间进行优化。
由于基础设施的环境,所以标牌和基础设施材料具有具体的常见遮蔽和变形集。本公开的光学代码可优化或改善这些类型的遮蔽的错误校正和数据布局。光学代码可比其它遮蔽样式更多地从边缘遮蔽中恢复数据。边缘遮蔽可在典型的基础设施驱动场景中很普遍。
在一些实施例中,为了增加本公开的光学代码的读取距离,这些光学代码可具有专用于代码寻找和姿态估计的较少数目的模块。在本公开中另外论述了该寻找器的具体细节。
在一些实施例中,本公开的光学代码可不具有元数据信息,并且在某些实例中不具有静区。这将光学代码与其它流行代码(诸如数据矩阵和QR 码)分辨开。元数据模块的该减少可允许本公开的光学代码对于数据传输来说更节省空间。在物理代码尺寸通过标牌的大小界定的标牌的实例中,空间效率可为重要的。所需模块数目的减少意味着数据可从距离更远处解码,因为代码可较大,或更多的错误校正可被放置在类似大小的代码上。
在一些实施例中,本公开的光学代码利用了一块基础设施的典型假设取向。虽然可使用任何制品,但是图9示出了标牌的轴。在一些实施例中,车辆将遇到具有光学代码的标牌,该标牌具有作为最大值的少量的滚动旋转、少量的俯仰旋转以及潜在地显著的偏转旋转。
在一些实施例中,可参考各种术语,诸如以下。
在一些实施例中,“对准图案”可为矩阵符号体系中的定义位置中的固定参考图案,该固定参考图案使得解码软件能够在图像的中等量失真的情况下重新同步图像模块的坐标映射。
在一些实施例中,“斑点”可为包含在四方形内的提取的图像。
在一些实施例中,“时钟边缘”可指代对定时信息进行编码的光学代码的边缘。
在一些实施例中,“时钟图案”可指代定时或时钟模块。
在一些实施例中,“轮廓提取”可为以下过程:使弯曲或波状外形表面平坦并将弯曲或波状外形表面分解为二维平坦图像,同时工作以用尽可能小的失真或低于失真的阈值级别的失真来维持恰当或有效的模块/代码透视图。
在一些实施例中,“编码区域”可为没有被开销图案占用并可用于数据的编码和错误校正码字的符号的区域。在一些具体实施中,编码区域可包括版本和格式信息。
在一些实施例中,“寻找器图案”可为用于识别/辨识光学代码符号的存在的模块的图案。在多分辨率代码上,寻找器和时钟图案可由最大的模块做成。
在一些实施例中,“固定图案”可为固定在适当位置的光学代码符号的部分(parts)、部分(portions)或区段。这包括寻找器图案、定时图案和附近的静区模块。
在一些实施例中,“内核大小”可为依据像素数目或其它测量定义的样本窗口的大小。该内核可用于执行数学形态学运算。
在一些实施例中,“模块间隙”可指代码周围的空间。模块间隙可定义可不存在代码的所需的静区。在一些标志具体实施(亮底暗字)中,模块间隙可为明亮像素的空间。
在一些实施例中,“多分辨率”可意指在单个代码内具有多个模块大小类别的光学代码符号,该单个代码可与单分辨率光学代码不同。
在一些实施例中,“遮蔽”可意指由于遮断而无法读取标牌的区段。这可为部分或全部的。
在一些实施例中,“开销图案”可为包括符号的位置和大小特性所需的寻找器图案和定时图案的符号的开销部件。
在一些实施例中,“四方形”可为定义光学代码的位置的平行四边形的四个拐角。
在一些实施例中,“静区”可为用于将光学代码与背景分离的缓冲区。可以构造缓冲器或模块间隙所需的空间的模块的数目指定静区大小。
在一些实施例中,给定由线段(折线)组成的曲线,“Ramer-Douglas- Peucker算法”可指定一个或多个操作以寻找具有较少点的类似曲线。该算法基于最初曲线和简化曲线之间的最大距离来定义“不相似”。简化曲线由定义最初曲线的点的子集构成。
在一些实施例中,“重复位”可为定位的(positioned)或定位的 (located)位,定位的(positioned)或定位的(located)位以块冗余地表示区段,因此允许遮蔽恢复。
在一些实施例中,“回射”可指代被设计成以最小量的散射和从宽泛的入射角范围将增加量的光反射回到光源处的表面或材料。
在一些实施例中,“单分辨率”可指代仅具有一个模块大小的光学代码的具体实施,该光学代码可与多分辨率光学代码不同。
在一些实施例中,“定时图案”可为暗模块和亮模块的交替序列,使得能够确定符号中的模块坐标。
在一些实施例中,在数学符号出现在的公式或方程式之后定义公式和方程式中使用的数学符号。出于本文档的目的,以下数学运算应用:
°=形态学打开
·=形态学闭合
图10示出了根据本公开的技术的光学代码的实施例结构。为了易于参考,模块位置由符号中的为形式(i,j)的模块位置的行和列坐标定义,其中i指明行(从顶部向下计数),并且j指明模块位于的列(从左到右计数),其中计数从0开始。因而,模块(0,0)位于符号的左上角。在一些实施例中,在多分辨率光学代码中,存在多于一个模块大小。可通过模块大小对大小进行分选和引用。因此,最大的模块类别可标注为1。大小1将具有比大小2更大的模块,大小2将具有比大小3更大的模块,依此类推。
在一些实施例中,版本信息不被编码到光学代码中;而是针对候选图像检查所有寻找器模板。在其它实施例中,版本信息可被编码到光学代码中。
在一些实施例中,根据本公开实施的光学代码可包括以下特性:
a)格式:
1)具有遮蔽恢复能力和数据容量的预先确定的平衡的单分辨率代码。
2)具有多层编码信息以及每层的遮蔽恢复能力和数据容量的平衡的多分辨率代码。
b)可编码数据:
1)单分辨率:仅数字数据。有效数字的范围可从1到2(#数据位)。
2)多分辨率代码:每层一个数字数据。有效数字的范围可为从该层的1到2(#数据位)。在两层多分辨率光学代码的一个具体实施中,第一层表示MUTCD:美国标牌的统一交通控制设备手册 (由联邦公路管理局公布)编号。
c)数据的表示:
暗模块名义上为二进制“零”,并且亮模块名义上为二进制“一”。对于某些应用,该表示可反转。
d)符号大小(不包括静区):
1)单分辨率代码:在宽度上为至少5个模块,并且在高度上为5 个模块,但是大于0的任何数字可为可能的。在一些实施例中,代码上不存在上界,但是实施例最大大小在高度或宽度上为21个模块。在一些实施例中,用于此类尺寸的最大大小可为大于零的任何数字。
2)多分辨率代码:如由层1模块定义的在宽度上为至少7个模块和在高度上为7个模块,但是大于0的任何数字可为可能的。在一些实施例中,不存在定义的上界。在一些实施例中,用于此类尺寸的最大大小可为大于零的任何数字。
e)代码类型:矩阵
f)取向无关:
是。在一些实施例中,光学代码具有取向无关。在其它实施例中,光学代码可为取向相关的。在一些实施例中,固定取向可允许代码设计和解码算法中的某些优点。
在一些实施例中,光学代码可使用反射逆转。符号当被标记时可旨在被读取,所以图像为亮底暗字或暗底亮字。在一些实施例中,规格基于亮背景上的暗图像,但是在事实并非如此的情况下,然后亮模块可被当作暗模块而暗模块被当作亮模块。一些解码技术可不试图对标准代码和反射逆转代码进行解码;然而,在其它实施例中,也可实现同时对两者进行解码。
在一些实施例中,重复的位可与光学代码一起使用。例如,为了另外增加遮蔽恢复的可能性,光学代码可利用重复的位。
如图10中所示,光学代码可为矩形矩阵,矩形矩阵由根据代码样式和数据有效载荷规定的规则定位或排列的正方形模块集构成。
图11示出了根据本公开的技术的单分辨率光学代码。单分辨率光学代码可在宽度上至少为5个模块且在高度上为5个模块,而不包括静区,但是大于0的任何数字可为可能的。在一些实施例中,对代码的大小不存在绝对上限。
图12示出了根据本公开的技术的多分辨率光学代码。多分辨率光学代码可由各种大小的模块组成。模块在形状上可仍然是正方形的,并且可被创建为使得某个分辨率数据有效载荷的所有模块具有相同的大小。在一些实施例中,针对大小的参考模块是相对于最大模块。在一些实施例中,数据有效载荷通过模块大小分选和引用。在一些实施例中,数据有效载荷1 可具有比数据有效载荷2更大的模块,数据有效载荷2将具有比数据有效载荷3更大的模块,依此类推。
在一些实施例中,多分辨率光学代码的最小大小在宽度上为至少7个模块且在高度上为7个模块,但是大于0的任何数字可为可能的。在一些实施例中,不存在用于多分辨率光学代码的最大大小。在一些实施例中,不存在最大数目的数据有效载荷。在一些实施例中,代码在大小上可不大于15个模块,并且通常使用两个数据有效载荷。
图12示出了用于具有两个有效载荷的多分辨率代码的实施例布局。在图12中,最大的模块以及因此可从最大距离读取的那些模块由编号的块指示。模块的第二分辨率由小写字母块指示。虽然在该代码中数据有效载荷1 和数据有效载荷2的大小都是8位,但是这不是必要条件。每个有效载荷的块大小可与另一有效载荷的块大小无关。在实践中,数据有效载荷1块大小可等于或小于任何其它数据有效载荷块大小。
在一些实施例中,可选择用于光学代码的寻找器和时钟图案,以使寻找代码且使对象姿态归一化所需的模块最小化或将寻找代码且使对象姿态归一化所需的模块减少到低于阈值。在一些实施例中,该寻找器和时钟图案可在大小上被减少以将更大百分比的代码空间给予给数据和错误校正。
图13和图14示出了光学代码的寻找器和时钟图案。光学代码的寻找器图案拐角可始终是静区的相反的颜色。时钟图案可沿顶部边缘放置,并在白色模块和暗模块之间交替。该操作的例外可为当光学代码的宽度在模块的数目中是偶数时。在该情况下,中间的两个模块都是相同的颜色。在一些实施例中,寻找器和时钟图案规则应用到单分辨率和多分辨率光学代码。在多分辨率代码上,寻找器和时钟图案可由最大的模块做成。
在一些实施例中,静区必须在光学代码的所有四个侧面上不含所有其它标记。寻找器图案的宽度可为至少1个模块,但是大于0的任何数字可为可能的。对于多分辨率代码,宽度可至少是包括在光学代码中的最大模块大小的宽度。对于反转的代码样式,代码的所有模块可被反转,包括静区,静区变成为代码周围的亮带,并且在宽度上增加到至少2个模块,但是大于0的任何数字可为可能的。
当光学代码附连到回射制品(例如,交通标牌)时,然后背景可作为足够的寻找器图案工作。在此类实施例中,附加的寻找器图案可为不必要的。可在回射制品的外边缘上用寻找器和时钟图案来创建光学代码。
在一些实施例中,可实施用于光学代码的重复的位图案,以通过向块添加冗余来使遮蔽的效应最小化或使遮蔽的效应减少到低于阈值。在一些实施例中,重复的位可被定位以在具体块上实现更大级别的遮蔽。
图13-图14示出了根据本公开的技术的不同的时钟图案。图13示出了偶数大小的时钟图案。图14示出奇数大小的时钟图案。
图15示出了根据本公开的一种或多种技术的可包括在光学代码中的重复的位或重复位。例如,图15演示了使用重复的位的实施例。在图15 中,来自数据和错误校正块的某些位重复且用于填充位中。在解码中,这具有允许更大的潜在遮蔽恢复的效应。
在一些实施例中,编码过程可由一个或多个计算设备实施。编码过程可将数据转换为包括在光学代码中的图案或其它视觉标号。以下操作提供了用于单分辨率光学代码的编码的实施例,并且可通过针对数据的每个层重复操作来创建多分辨率。
操作1:代码选择。计算设备例如基于诸如数据块和错误校正块的数目的参数或任何其它合适的参数来选择光学代码。
操作2:数据编码。计算设备将数字或其它值转换为二进制位流,并且将位流分解为所选择的块大小。
操作3:计算设备可计算错误校正代码,这可包括计算编码数据的错误校正数据块。
操作4:计算设备可通过追加来自每个块的数据和错误校正代码并添加重复或填充位来建构最终消息。
操作5:计算设备可结合构造设备以基于最终消息将模块放置在矩阵中。计算设备可引起构造设备将码字模块与寻找器和时钟图案一起放置在矩阵中。对于多分辨率光学代码,在一些实施例中,寻找器和时钟图案可仅放置在最大模块上。
在一些实施例中,编码过程可包括一个或多个操作。例如,计算设备可确定给定光学代码布局的预期的数据有效载荷。将编码的数字可转换为高位优先二进制数。然后,计算设备可用前导零填充该数字,直到消耗了整个数据位空间。
在一些实施例中,计算设备可将所得到的位流分裂成可变位码字。计算设备可填充字符以填满版本所需的多个数据码字。在一些实施例中,计算设备可分析输入数据串以确定输入数据串的内容,并且选择默认或其它适当的延伸信道解释(ECI)和适当的模式以编码每个序列,如本公开中所描述的。
在一些实施例中,计算设备可用错误校正码字执行编码。计算设备可执行一个或多个操作以为单分辨率光学代码和多分辨率光学代码两者生成数据和错误校正码字。例如,计算设备可确定给定光学代码布局的预期的数据有效载荷。将编码的数字或值可由计算设备转换为高位优先二进制数。该数字可由计算设备用前导零填充,直到消耗了整个数据位空间。
本文描述了用于符号印刷和标记的各种技术。对于单分辨率光学代码,X维度(例如,模块的宽度)可由用户或机器生成的输入指定,该输入指定包括但不限于以下的参数:将读取的距离、固定物理大小符号期望的数据有效载荷、使用的扫描技术和用于产生符号的技术、或任何其它合适的参数。对于Y维度,在一些实施例中,模块的高度可等于X维度,而在其它实施例中,X和Y维度可不同。在一些实施例中,对于最小静区,计算设备可不定义静区(在黑暗中为白色,具有不可见光谱),但是在其它情况下,可使用最少一个模块静区,可使用静区的最少2个模块,或者可使用大于1的任何其它数字。
对于多分辨率光学代码,X维度(例如,最小模块的宽度)可由用户或机器生成的输入指定,该输入指定包括但不限于以下的参数:将读取的距离、固定物理大小符号期望的数据有效载荷、使用的扫描技术、用于产生符号的技术、或任何其它合适的参数。
在一些实施例中,每个较大的模块大小类别可为最小模块大小的倍数。所利用的模块大小类别的数目可基于将在光学代码中编码的数据量,并且可生成可在更大距离处解码的较大模块类别和可包含更高数据密度的较小模块类别的平衡。在一些实施例中,计算设备可确定两个模块类别大小,但是任何定义的类别大小都是可能的。对于Y维度,在一些实施例中,模块的高度可等于给定模块类别的X维度,而在其它实施例中,X和 Y维度可为不同的。
在一些实施例中,静区大小基于由计算设备用于光学代码的最大模块大小,寻找器、定时和其它开销模块也是这样。最小静区可为一类1个 (最大)模块,并且在一些实施例中,可存在2个静区缓冲器模块。在其它实施例中,最小静区和静区缓冲器大小可为大于零的任何数字。
在一些实施例中,可使用人类可读或人类可解释的描述。人类可解释的可意指以旨在用于人类理解的形式。在一些实施例中,附带的人类可读描述可附带光学代码。然而,在其它实施例中,数据字符的人类可读解释可为不实际的。作为另选方案,描述性文本而不是文字文本可附带光学代码。可不指定字符大小和字体,并且可在环绕光学代码的区中的任何地方印刷消息。在一些实施例中,人类可读解释可不干扰光学代码本身也不干扰静区,但是如果以不干扰功能性的方式这样做,则可被印刷在光学代码或其静区上方或下方。
在一些实施例中,可定义和使用符号质量参数。对于网格不均匀性,可通过使用寻找器图案和对准图案作为锚定点(如通过使用如本公开中提供的参考解码算法所定位的)来计算网格。在一些实施例中,计算设备可在代码被包封到曲面上的情况下使图像平坦,以便评估网格的均匀性。在光学代码被呈现在曲面上的情况下,网格不均匀性测量可由计算设备在已经平坦的图像上执行。
对于扫描等级,扫描等级应为用于符号对比度、调制、固定图案损坏、解码、轴向不均匀性、网格不均匀性以及符号的独立图像中未使用的错误校正的等级中的最低等级(或低于阈值)。如果分析多于一个图像,则总体符号等级可为独立扫描的平均值。
在一些实施例中,计算设备可执行如本文所述的一个或多个解码操作。例如,计算设备可获取光学代码的图像。计算设备可找到(例如,识别)光学代码在图像内的位置,并且将亮模块和暗模块转换为1(明亮)0 (暗)(或对于反转的代码逆转)。计算设备可通过搜索候选代码样式的寻找器来识别代码大小/样式。计算设备可使用代码布局图提取里德所罗门码字。对于包括多个分辨率的样式,计算设备可在一个或多个定义的分辨率下对代码进行重新采样,并且使用一个或多个定义的布局来提取附加的码字。在一些实施例中,计算设备可针对用于每个提取的代码分辨率的适当的码字大小和错误校正级别配置里德-所罗门解码器,并且然后计算设备可检测并校正每个的错误。计算设备可生成或以其它方式提供有效载荷,在本公开中描述的一个或多个操作中,该有效载荷是可校正的或不需要校正用于另外的处理。
图16示出了根据本公开的技术的参考解码算法。参考解码算法可实施回射范式,其中被辨识的光学代码可被与成像传感器并置的光源照射,该光源具有足以使代码比周边环境更亮的光强度。
如图16中所例示,参考解码可包括一个或多个操作,一个或多个操作包括四方形提取。例如,计算设备可确定图像的一个或多个阈值(例如:用于8位图像的80、50、33),该图像比图像中的非回射元件(来自太阳或其它光源的环境照度)更亮。计算设备可使用该阈值以将图像转换为高于或低于阈值像素的二进制图像(或多个图像)。对于反转代码的第二遍,计算设备可使用210、230的像素值阈值用于8位图像。
计算设备可执行具有小内核大小(例如:3×3px矩形,但是大于0的任何数字可为可能的)的形态学打开,以去除图像中的点反射元件和其它明亮伪像。在一些实施例中,对于具有反转代码搜索的第一遍,可跳过该操作。计算设备可执行形态学闭合运算以将光学代码模块连接成单个斑点,或用于反转代码填满周边明亮静区中的孔/缺陷。对于反转代码,该内核大小可很小,诸如9×9px(但是大于0的任何数字可为可能的),因为图像可在制品周围具有明亮的大部分连续的静区,光学代码被呈现在该制品上。对于非反转代码,计算设备可使用多个形态学打开内核(例如, 15×15、45×45、90×90,但是大于0的任何数字可为可能的)以在不同大小 /标度处处置代码。
在一些实施例中,计算设备可使用Ramer-Douglas-Peucker算法以将轮廓重新近似为四边形。计算设备可使用近似准确度(ε),近似准确度 (ε)可将长边缘减少到单个片段(例如,轮廓周长的0.2%)。在一些实施例中,如果剩余大于4个片段(具有弯曲拐角、没有很好地表示为四方形的形状等的标牌),则计算设备可使用最长的4个连同它们的交点的计算以拉出界定四方形。另选地(或除此之外),计算设备可调整ε,直到仅剩余4个片段(独自使用的,而没有界定框完成倾向于导致更多可变的四方形拐角选择)。在一些实施例中,计算设备可检查所得到的四边形的长宽比(例如:0.3-3)和拐角角度(例如:std(角度)<10度)以丢弃显著不同于矩形(例如,大于阈值)的候选。
在一些实施例中,参考解码算法可执行斑点提取。例如,计算设备可对四边形的四边形区域执行到标准化大小(例如:各种代码大小边缘长度的公倍数,11×11和9×9->99×99,但是大于0的任何数字可为可能的)的透视变换。如果搜索反转代码,可提供过量分辨率以确保该分辨率对于制品上的模块显著大于2ppm,例如:297×297,但是大于0的任何数字可为可能的)。在8×8邻域上使用更高阶内插(诸如兰索士(Lanczos)内插) 可保存代码边缘。
在一些实施例中,计算设备可执行第二或多个附加遍,如果搜索反转代码,则可使用第二或多个附加遍。计算设备可从左边缘修整宽度的5%,从右边缘修整宽度的5%,从顶部修整高度的5%,从底部修整高度的5%。在当前实例中,5%是实施例,但是可使用大于1%的任何其它百分比(例如,1%-25%的范围)。计算设备可从图像中减去5%百分比值(使代码变暗)。在一些实施例中,计算设备可将最大值和最小值归一化为0-255。计算设备可应用具有1的剪辑限制和4×4网格的对比度受限自适应直方图均衡化。在其它实施例中,剪辑限制和网格大小可为大于1的任何数字。计算设备可反转图像(例如,255-(像素值))。计算设备可在每个边缘上用平均值(大于后来用于形态闭合的最大内核)填充55(或大于零的任何其它合适的数字)个像素。
计算设备可重复四方形和斑点提取,并且转到寻找器搜索的下一个阶段。在一些实施例中,对于斑点提取,计算设备可用210和230的像素值替换四方形提取中的阈值,但是大于0的其它实施例阈值是可能的。计算设备可使用3×3形态打开内核,但是每个尺寸上大于0的其它尺寸是可能的。计算设备可用25×25、35×24、45×45替换形态学闭合的内核大小,但是任何其它尺寸(大于0的每个大小)是可能的。计算设备可使用108×108 的输出斑点大小用于斑点提取,但是任何其它尺寸(大于1的每个大小) 是可能的。计算设备可应用具有直径为3(但是大于0的任何直径是可能的)以及用于空间和颜色的σ为40(但是大于0的任何σ可为可能的)的双边滤光器。在一些实施例中,计算设备可将最大值和最小值归一化为0- 255。计算设备可反转图像(255-(像素值))。如果仅搜索反转代码,则计算设备可从第一遍中丢掉源斑点。
在一些实施例中,参考解码算法可执行寻找器搜索。例如,由计算设备实施的寻找器搜索可将四方形内插到被搜索的光学代码形状(例如: 11×11、9×9、N×N或N×M),使用阈值进行二值化,并且与变化旋转中的寻找器模块配置进行比较。计算设备可通过有多少模块与寻找器区域匹配对候选进行评分。
在一些实施例中,参考解码算法可对来自光学代码的数据进行解码。例如,计算设备可使用来自寻找器搜索的一个或多个最高评分候选或高评分候选的二值化图像,并且根据对应的代码布局提取码字。在一些实施例中,明亮区段反映二进制1,暗区段反映零(对于反转代码,这在最初图像捕获中是相反的)。计算设备可内插最初图像,并且对存在的代码的任何附加分辨率进行二值化,并且使用适当的布局图提取码字。计算设备可针对一个或多个对应的代码样式的块大小、一个或多个可校正的块来配置里德-所罗门错误校正,并且如本公开中所描述的执行错误校正。在一些实施例中,计算设备可生成或提供用于正确或使用错误校正可校正的代码的一个或多个有效载荷,用于在本公开中描述的一个或多个操作中使用。
图17-图18示出了根据本公开的技术的用于呈现在制品上的光学代码的模块间隙。图17示出了在边缘处具有1个模块间隙的样本光学代码布局。图18示出了钻石制品形状(例如,基础设施制品)上的交替的45度逆时针旋转布局。
光学代码可呈现在制品或标志上,使得如图17-图18中所示的代码的时钟边缘朝向标牌的顶部取向(例如,图17)。在一些实施例中,这样做是为了使得当计算设备将代码定位在场景中且对场景内的代码进行解码时可作出附加的假设。在一些实施例中,光学代码可从标牌边缘延伸最多1 个模块,以便留下静区,但也使代码内的模块大小最大化。在一些实施例中,不存在最大和/或最小静区。
对于反转的代码样式,静区/边缘间隙可增加到在大小上最小2个模块。在该配置中可不存在最大静区,然而在第一遍期间的斑点提取可在代码模块上留下足够的分辨率用于解码(至少2ppm但潜在地更大)。
允许一些变型以实现相对于标牌大小(诸如具有钻石形标牌)代码的最大大小,其中时钟边缘可被取向成与标牌的左上边缘平行(逆时针旋转 45度,图18)。然而,如果光学代码可放置在非旋转布局中具有至少一个间隙模块的标牌上(沿上边缘的时钟),则这可改善成像性能和/或使成像性能最大化。
在一些实施例中,计算设备可执行错误检测和/或使用校正本原多项式。里德所罗门错误校正可由计算设备实施以在伽罗瓦域(gf)下操作。光学代码可强制该域为类型gf(2m)。在一些实施例中,m的值为6或8。虽然m可为大于零的任何值,但是可选择如6或8的此类值作为代码密度/代码大小和解码误报率之间的折衷。在一些实施例中,随着m的值增加,光学代码将在大小上更大,并且具有较低的解码误报率。
表2提供了最多gf(216)的域大小的本原多项式。
表2:用于给定伽罗瓦域的本原多项式
在一些实施例中,计算设备可在gf(2m)下使用里德所罗门错误校正算法以编码和/或解码本公开的光学代码。存在多个潜在的算法以解码里德所罗门码。以下操作是由计算设备根据本公开所使用的那些操作,但是许多其它操作是可能的。给定所接收的码字消息和错误校正符号的数目,计算设备可计算校正子多项式。计算设备可假设不处置擦除,并且从最初校正子计算Forney校正子。计算设备可使用Berlekamp-Massey算法来计算错误定位多项式。计算设备可使用具有错误定位多项式的Chien搜索算法来计算错误位置。给定错误位置,计算设备可解决错误,并且返回所得的数据。
图19示出了根据本公开的技术的具有固定图案信息的光学代码。对于对光学代码的固定图案损坏,可评定包括但不限于以下的特征:(a)包括以下的寻找器图案:两个模块的左上方寻找器图案和4个静区模块(寻找器1L)、两个模块的右上方寻找器图案和4个静区模块(寻找器1R)、左下方3个模块寻找器图案和5个静区模块(寻找器2L)、右下方3个模块寻找器图案和5个静区模块(寻找器2R));以及(b)定时信息,定时信息包括左寻找器和右寻找器之间的图案化模块行(时钟)。
对于固定图案损坏等级,对固定图案的每个片段的损坏可由计算设备基于在该片段内不正确评分的模块的数目进行分级。然后,可由计算设备基于任何独立片段的最低评分来分配总体固定图案损坏等级。
计算设备可对候选灰度图像执行图像二值化。(基于最小和最大灰度值之间的中点计算阈值。对于中点上方的任何灰度值,计算设备可评分为 1,并且对于中点下方的任何灰度值,计算设备可评分为0)。
对于每个片段,沿循下面的过程进行评分,计算设备可(a)将所得的二值化的模块与给定片段的每个模块的预计值进行比较,(b)计数不一致的数目,以及(c)基于如在下面的表3中评分的错误的数目应用片段等级:
表3:用于固定图案片段的评分表
在一些实施例中,扫描等级可为根据ISO/IEC 15415评估的标准参数的等级中的最低等级,以及根据本公开评估的固定图案损坏的等级。
在一些实施例中,诸如工作区的动态环境可为自主或半自主车辆提供更多困难。例如,依赖于增强的地图和GPS可具有限制,因为危险或工人可在每分钟或每小时的基础上动态地重新定位。当在诸如自主、半自主或视觉辅助车辆的车辆中实施时,计算设备540可提供具有如本公开中描述的代码的实时导航标记,该标记允许此类车辆可靠地定位,人和设备在此类区中进行导航,即使代码的部分被其它对象或区中的遮蔽物视觉遮蔽。在一些实施例中,如本公开中所描述的,代码对于人眼是不可见的,但是对于可商购获得的机器传感器在具体波长的光中是可见的。可附接到工作区设备的这些唯一的机器可读代码可提供精确的对象检测和迅速处理,以实现自主、半自主或视觉辅助导航。如此,包括诸如本公开中描述的计算设备和图像捕获设备的车辆可响应于确定在一个或多个代码中编码的信息而变更其操作。
在一些实施例中,用于读取本公开中的此类代码的机器可读光学代码和系统与现有的统一交通控制设备手册(MUTCD)规则和/或与传统工作区材料兼容。在一些实施例中,本公开的机器可读光学代码可提供用于由车的更快和/或更准确的检测和处理的信息,而不是用于导航车辆的其它模态(例如,GPS、地图等)。在一些实施例中,对于其上呈现代码的每种特定类型的制品,通用机器可读光学代码可为标准化的或恒定的。在一些实施例中,不同的机器可读代码可用于特定工作区或其它界定的区域或区中的不同类型的制品。在一些实施例中,机器可读代码可包括光学元件的唯一空间配置和/或在其中编码的表示人类或工人的信息。
在一些实施例中,定位数据可在机器可读代码中编码,其中此类定位信息指示关于制品或制品的周边区的地点具体信息,并且在一些实施例中,因为代码位于的动态改变环境,所以此类定位信息可在GPS或地图中不可用。除了改善标牌的分类和数据质量之外,基础设施制品可提供补充由高清晰度映射提供的位置数据的机会。地图创建公司正在创建极其详细和动态的地图,以帮助驾驶员和自动车辆规划路线并将车辆适当定位在车行道上。当前的高清晰度(HD)映射依赖于SIFT(标度不变特征变换)特征的连续分析以提供定位。为了开发可靠的特征,可发生数据密集映射,并且数据密集映射由车辆以可访问的方式存储以供参考。在一些实例中,这既耗时又昂贵(在经济和计算方面)。在一些实例中,也可能的是,用作SIFT特征的界标将改变,在车辆试图执行其SLAM(同时定位和地图创建)时对车辆具有挑战。
本公开的技术可通过将信息嵌入可给出精确GPS信息的标志中减轻计算费用,以及减少将SIFT特征与点云数据匹配的模糊性或易出错的动作。
一些光学代码可包含高精度GPS坐标以及对于标牌来说唯一的标识符。光学代码上的寻找器和定时模块可允许使用平面姿态估计技术准确的读取距离矢量确定。组合该距离矢量和解码的GPS坐标的计算设备指定参考位置以比较当前GPS坐标,提供偏移/漂移/错误校正并因此定位,即使在GPS数据可为不可靠的城市峡谷(例如)中。
作为实施例,车辆机器视觉系统在红外光下捕获标牌的图像,暴露标牌的嵌入的光学代码。寻找器模块大小和偏差允许由计算设备将该图像归一化回到正方形。可通过在两个分离的寻找器模块之间扩展的多个像素来测量模块的大小。该像素计数与像素大小相互关联,该像素大小与距离成比例,允许由计算设备基于图像的偏差量以及像素大小的矢量确定,以告知与标牌的具体距离和方向。用标牌位置的高精度GPS坐标和相机所在地方的准确投影,只要车辆知道相机位于车辆上的地方,现在可通过计算设备从所提供的标牌GPS和适当的平移矢量确定车辆的GPS位置。
使用唯一识别的道路标牌或其它制品用于定位可优先于依赖SIFT特征,因为标牌可主动确认坐标位置和标牌ID,使得将不太可能发生不正确或错误的匹配。点云数据或标度不变特征列表实际上可能不具有除形状本身之外的任何唯一标识符。这经常使车辆合理地确信,但不确定它已经选取了点或特征集以与地球上的具体场所相互关联。这意味着,车辆在其识别上可能是正确的,但可能是不正确的,并且车辆将不知道,直到车辆现在开始错过预计的特征,因为车辆已经不正确地定位。使用光学代码用于定位的本公开的技术可提供改善的置信度和/或确定性。
使用具有唯一id以及高精度位置的标牌或其它制品可提供正确标牌被识别且正确标牌的位置被验证的确认或附加置信度信息。即使车辆不需要使用标牌的所存储的GPS坐标,车辆也可将GPS坐标与预计的SIFT特征匹配。这可将肯定的ID提供到该SIFT特征,这可实现该关联中增加的信任级别。在一些实施例中,可引入安全元件以证明特定标牌是它所说的确切标牌,并且不被欺骗或以其它方式无效的。
在一些实施例中,光学代码可用作地面实况的来源以训练其它系统或模型。实施例模型可包括神经网络、SVM分类器或任何其它监督学习模型。在光学代码中编码的数据可用作地面实况信息以转化此类模型。作为实施例,来自光学代码的数据(诸如定位数据)可连同任何其它特征一起建构在特征矢量中,并且用于对例如图像数据进行分类。实施例分类可包括对图像数据是否指示特定道路标牌进行分类。通过在应用到模型的特征矢量中包括地面实况信息,模型可更准确地将图像数据分类为包括特定道路标牌。与非数字化某些数据(例如,难以分辨的图像数据)一起使用的数字化某些数据(例如,具有一些ECC的光学代码数据)可改善非数字化某些数据的分类。虽然在对道路标牌的图像数据进行分类的上下文中进行了描述,但是使用来自光学代码的地面实况的技术可更一般地应用到使用数字化某些数据来使用于非数字化某些数据的分类器更准确的任何场景。此类技术可为分类器提供额外信号,或者作为检查来操作以证实分类器的结果是正确的。
本公开可提供优于现有条形码技术的多种优点。例如,即使当条形码的一部分被遮蔽时,本公开也允许由机器视觉系统从条形码读取信息。这在包含条形码的标牌或制品被损坏或标牌的可见性被污垢、雪、其它干扰对象或车行道的自然曲率阻挡的情形下提供了优点。具体地,甚至在代码的整个边缘被遮蔽的实例中,本公开也提供了从边缘遮蔽中恢复的能力。这与被设计成解决整个代码区中的随机或分布式错误的错误校正形成对照。具有从边缘遮蔽中恢复的能力为读取代码中的遮蔽或错误最有可能集中到代码的单个区的环境提供了有效的解决方案,如可为标牌上的代码或用于交通上下文中的代码的情况。
在一个实例中,本公开包括具有错误校正的二维机器可读光学代码。光学代码包括多个光学元件,多个光学元件布置成包括行和列的矩阵配置;其中多个光学元件对数据进行编码。如果矩阵的顶行、底行、右列或左列中的任一个被遮蔽,则在光学元件中编码的数据可准确地解码。
在一些实例中,多个光学元件包括多个寻找器光学元件,并且寻找器光学元件使得机器视觉系统能够找到光学代码在图像内的位置。在一些实例中,光学代码包括少于36个寻找器光学元件。
在一些实例中,多个光学元件还包括表示上下文信息的多个上下文光学元件,其中上下文光学元件可由机器视觉系统从第一距离检测。
在一些实例中,多个光学元件还包括表示内容信息的多个内容光学元件,其中内容光学元件不可由机器视觉系统在第一距离处检测到,但是可由机器视觉系统从第二距离检测,并且其中第二距离小于第一距离。
在一些实例中,上下文光学元件和内容光学元件以允许里德-所罗门错误校正的方式布置。
在一些实例中,光学代码表示至少736位数据。
在一些实例中,内容光学元件包括指导信息。
在一些实例中,上下文光学元件包括装配、位置或制造商信息。
在另一实施方案中,本公开包括标牌,标牌包括基板、膜层和如本文所述的光学代码。在一些实例中,标牌还包括回射层。
在另一实施方案中,本公开包括用于读取二维机器可读光学代码的系统。该系统包括标牌。标牌包括基板和二维机器可读光学代码。光学代码包括多个光学元件,多个光学元件布置成包括行和列的矩阵配置;其中多个光学元件对数据进行编码;并且其中如果矩阵的顶行、底行、右列或左列中的任一个被遮蔽,则在光学元件中编码的数据可被准确地解码。该系统还包括用于检测和处理二维机器可读光学代码的机器视觉系统。
在另一实施方案中,本公开包括读取具有错误校正的二维机器可读光学代码的方法。该方法包括用机器视觉系统检测多个光学元件,多个光学元件被布置成包括行和列的矩阵配置,其中多个光学元件对数据进行编码;并且对数据进行解码,其中如果矩阵的顶行、底行、右列或左列中的任一个被遮蔽,则在光学元件中编码的数据可被准确地解码。
在一些实例中,多个光学元件包括多个寻找器光学元件,并且其中寻找器光学元件使得机器视觉系统能够将光学代码定位在图像内。
在一些实例中,光学代码包括少于36个寻找器光学元件。
在一些实例中,其中多个光学元件还包括表示上下文信息的多个上下文光学元件,其中上下文光学元件可由机器视觉系统从第一距离检测;以及表示内容信息的多个内容光学元件,其中内容光学元件不可由机器视觉系统在第一距离处检测,但是可由机器视觉系统从第二距离检测,并且其中第二距离小于第一距离。
在一些实例中,上下文光学元件和内容光学元件以允许里德-所罗门错误校正的方式布置。
在一些实例中,光学代码具有7×7的大小,并且表示至少63位数据。
在一些实例中,内容光学元件包括指导信息。
在一些实例中,上下文光学元件包括装配、位置或制造商信息。
在一些实例中,标牌还包括回射层。
条形码已经用于多种车辆应用中。当用于车辆应用中时,条形码可在牌照或标牌上。可使用机器视觉系统读取条形码,在一些实例中,机器视觉系统可为自动车辆辨识(AVR)系统。此类系统的示例性使用是例如自动收费(例如,电子收费系统)、交通执法(例如,闯红灯系统、速度执法系统)、交通标牌或交通基础设施的其它元件上的信息的检测、搜索与犯罪相关联的车辆、访问控制系统和设施访问控制。理想的机器视觉系统提供高度准确(即,100%准确)的结果,并且能够以高准确性从一定距离读取条形码。
读取牌照、标牌或任何其它不受控制的环境上的条形码造成多种挑战,包括:(1)使牌照材料或标牌的反射属性变化;(2)使机器视觉系统的分辨率变化;(3)与具有条形码的对象相比,机器视觉系统安装到的对象的相对速度;(4)环境照度的宽泛差异;(5)牌照或标牌安装位置和/或倾斜度;(6)牌照或标牌被例如其它车辆、污垢、雪、车行道上的制品、天然障碍物的遮蔽;(7)车行道的垂直或水平曲率等。
在多个专利和申请中论述标牌和牌照上的条形码。一些公布(例如,欧洲专利公布0416742和美国专利6,832,728)论述在牌照的机器可读部分上包括拥有者信息、序列号、车辆类型、车辆重量、牌照号码、州、牌照类型和郡中的一个或多个。PCT专利公布WO2013-149142描述了条形码,其中在两种不同条件下获得成帧和可变信息。在一些实施方案中,成帧信息由人类可读信息提供,且可变信息由机器可读信息提供。欧洲专利公布 0416742、美国专利6,832,728和PCT专利公布WO 2013-149142均全文并入本文。
创建高对比度牌照和标牌的一些现有技术方法涉及包括在红外波长范围内吸收并在可见波长范围内传输的材料。例如,美国专利6,832,728描述了包括透射可见光、不透射红外光的标号的牌照。美国专利7,387,393描述了牌照,该牌照包括阻挡红外光的材料,这在牌照上创建对比度。美国专利3,758,193描述了用于回射片材上的透射红外光、吸收可见光的材料。美国专利3,758,193和7,387,393的全文以引用方式并入本文。
由每个在2017年4月14日提交的代理人案卷号76350US003和 78874US003识别的美国临时申请的全文以引用方式并入本文。
在美国专利公布2010-0151213中描述了创建用于在ALPR系统中使用的高对比度牌照的另一种方法,并且该方法涉及将红外反射材料定位成与光学活性(例如,反射或回射)基板相邻,使得当光学活性基板被红外辐射源照射时,红外反射材料形成可由红外传感器读取的图案。美国专利公布No.2010-0151213的全文以引用方式并入本文。如本公开中所描述的,当仍然可读取条形码本身时,错误校正的级别和设计可确定在被阻挡的视线中多少代码可被损坏,或以其它方式遮盖或混淆。
虽然本文描述了用于嵌套内容和上下文光学元件的具体方法,但是在阅读本公开时,本公开范围内的其它方法对于本领域技术人员将是显而易见的。
对于本领域技术人员将清楚的是,与上面描述的实施方案中的任一个有关描述的特征可在不同实施方案之间互换地应用。上面描述的实施方案是示出本公开的各种特征的实施例。
在本说明书的整个描述和权利要求书中,词语“包括”和“包含”及其变型意指“包括但不限于”,并且它们不旨在(并且不)排除其它组成部分、附加物、部件、整数或步骤。在本说明书的整个描述和权利要求书中,除非上下文另有要求,否则单数涵盖复数。特别地,在使用不定冠词的情况下,除非上下文另有要求,否则说明书应被理解为设想多数以及单数。
结合本公开的特定方面、实施方案或实施例描述的特征、整数、特性或组应被理解为适用于本文描述的任何其它方面、实施方案或实施例,除非与其不相容。本说明书(包括任何所附权利要求、说明书摘要和附图) 中公开的所有特征和/或如此公开的任何方法或过程的所有步骤可以任何组合进行组合,除了此类特征和/或步骤中的至少一些互相排斥的组合之外。本公开不限于任何前述实施方案的细节。本公开延伸到本说明书(包括任何所附权利要求、说明书摘要和附图)中公开的特征的任何新颖的一个或任何新颖组合,或如此公开的任何方法或过程的步骤的任何新颖的一个或任何新颖的组合。
在一个或多个示例中,所述的功能可在硬件、软件、固件或它们的任何组合中来实现。如果以软件实现,则所述功能可作为一个或多个指令或代码存储在计算机可读介质上或经由计算机可读介质传输,且由基于硬件的处理单元执行。计算机可读介质可包括计算机可读存储介质,其对应于如数据存储介质的有形介质,或通信介质,其包括例如根据通信协议促进将计算机程序从一处传送到另一处的任何介质。以该方式,计算机可读介质通常可对应于(1)非暂态的有形计算机可读存储介质或(2)如信号或载波的通信介质。数据存储介质可为可由一个或多个计算机或一个或多个处理器访问以检索用于实现本公开中所描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可包括计算机可读介质。
作为示例而非限制,此类计算机可读存储介质可包括RAM、ROM、 EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储装置、闪存或者可用来以指令或数据结构的形式存储所需的程序代码并且可由计算机访问的任何其它介质。而且,任何连接均被适当地称为计算机可读介质。例如,如果使用同轴电缆、光缆、双绞线、数字用户线(DSL)或无线技术如红外线、无线电和微波从网站、服务器或其它远程源传输指令,则同轴电缆、光纤电缆、双绞线、DSL或无线技术如红外线、无线电和微波包括在介质的定义中。然而,应当理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其它瞬态介质,而是针对非瞬态的有形存储介质。所使用的磁盘和光盘包括压缩盘(CD)、激光光盘、光学盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁的方式再现数据,而光盘通过激光以光学方式再现数据。上述的组合也应该包括在计算机可读介质的范围内。
指令可由一个或多个处理器如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA) 或其它等效集成或离散逻辑电路执行。因此,所使用的术语“处理器”可指任何前述结构或适用于实现所描述的技术的任何其它结构。另外,在一些方面,所描述的功能可在专用硬件和/或软件模块内提供。而且,所述技术可完全在一个或多个电路或逻辑单元中实现。
本公开的技术可在包括无线手持机、集成电路(IC)或一组IC(例如,芯片组)的各种各样的装置或设备中实现。在本公开中描述了各种部件、模块或单元以强调被构造成执行所公开的技术的装置的功能方面,但是不一定需要通过不同的硬件单元来实现。相反,如上所述,各种单元组合可在硬件单元中组合或者通过包括如上所述的一个或多个处理器的互操作硬件单元的集合,结合合适的软件和/或固件来提供。
应当认识到,根据示例,本文所述方法中的任一种的某些动作或事件可以不同的顺序执行,可一起添加、合并或省去(例如,不是所有所述动作或事件对于方法的实践都是必需的)。此外,在某些示例中,动作或事件可例如通过多线程处理、中断处理或多个处理器同时而不是顺序地执行。
在一些示例中,计算机可读存储介质包括非暂态介质。在一些示例中,术语“非暂态”指示存储介质没有在载波或传播信号中实施。在某些示例中,非暂态存储介质存储可随时间改变的数据(例如,在RAM或高速缓存中)。
已描述了各种示例。这些实施例以及其它实施例均在如下权利要求书的范围内。
Claims (14)
1.一种制品,所述制品包括:
基板,所述基板包括物理表面;
光学代码,所述光学代码呈现在所述物理表面上,并且包括:顶边缘、与所述顶边缘相对的底边缘、连接所述顶边缘和所述底边缘的左边缘、与所述左边缘相对并且连接所述顶边缘和所述底边缘的右边缘,以及多个光学元件;以及
静区,所述静区围绕所述光学代码,以在视觉上将所述光学代码与所述物理表面的其他区域分离,
其中所述光学元件的第一子集形成沿着所述光学代码的顶边缘设置的时钟图案,
其中所述光学元件的第二子集形成寻找器代码,其中所述寻找器代码包括多个部分,其中所述多个部分中的每个部分沿着所述光学代码的相应拐角设置,其中所述寻找器代码的沿着所述光学代码的每个相应拐角设置的部分包括至少两个光学元件,
其中所述光学元件的第三子集形成消息,
其中所述光学元件的第四子集形成错误校正数据,
其中所述光学元件的第五子集形成重复位,其中所述第五子集的光学元件中的每个光学元件对应于形成所述消息或所述错误校正数据的光学元件子集中的相应光学元件,并且其中所述第五子集的光学元件中的每个光学元件设置在来自所述光学代码的特定边缘的四个光学元件内,所述特定边缘与所述光学代码的包括所述消息或所述错误校正数据的对应光学元件的边缘相对,
其中所述第三子集的光学元件和所述第四子集的光学元件中的每个相应的光学元件表示编码位的集合中的编码位,其中所述编码位的集合基于所述相应的光学元件的视觉可辨性是可分辨的,并且
其中形成所述消息的所述第三子集的光学元件和形成所述错误校正数据的所述第四子集的光学元件以矩阵形式在空间上配置,使得在不存在被定位在所述矩阵的被视觉遮蔽的至少一个完整边缘内的光学元件的情况下,所述消息能够从所述基板解码。
2.根据权利要求1所述的制品,其中所述至少一个完整边缘包括从所述矩阵的至少水平或垂直维度的最低排序索引到最高排序索引的一维阵列。
3.根据权利要求1所述的制品,其中所述多个光学元件不被包括在QR码中。
4.根据权利要求1所述的制品,其中被包括在所述第三子集的光学元件或所述第四子集的光学元件中的父光学元件集包括至少一个父光学元件,其中所述父光学元件还包括子光学元件集,所述子光学元件集包括子光学元件的相应集合。
5.根据权利要求4所述的制品,
其中所述父光学元件集中的每个父光学元件表示相应的编码位,其中由每个相应的父光学元件表示的编码位基于对应子光学元件集的累积视觉外观并且能够在图像捕获设备和所述制品之间的大于或等于阈值距离的距离处解码,并且
其中所述子光学元件集中的每个子光学元件表示相应的编码位,其中由所述子光学元件集中的每个相应子光学元件表示的编码位不能够在所述图像捕获设备和所述制品之间的所述距离处解码。
6.根据权利要求5所述的制品,其中所述距离为第一距离,其中由所述子光学元件集中的每个相应子光学元件表示的编码位能够在所述图像捕获设备和所述制品之间的第二距离处解码,其间的所述第二距离小于所述第一距离。
7.根据权利要求5所述的制品,其中所述阈值距离为这样的距离,在该距离处由所述图像捕获设备捕获的图像的分辨率在可辨性阈值之上在视觉上不分辨所述子光学元件集中的在视觉上不同的一个或多个子光学元件。
8.根据权利要求1所述的制品,其中所述编码位的集合包括N数目的编码位,其中光学元件集包括M数目的光学元件,其中光学元件集表示至少部分地基于分配到所述光学元件集的相应光学元件的相应视觉梯度值的编码位的NM个组合的集合的编码位的组合,其中所述相应的梯度值各自被包括在M数目的视觉上可分辨的梯度值的集合中。
9.根据权利要求1所述的制品,其中所述错误校正数据基于将错误校正功能应用到所述消息。
10.根据权利要求1所述的制品,
其中包括第一多个光学元件的第一光学元件集中的每个光学元件为第一大小,
其中包括第二多个光学元件的第二光学元件集中的每个光学元件为小于所述第一大小的第二大小,并且
其中所述第一光学元件集和所述第二光学元件集不重叠。
11.根据权利要求10所述的制品,
其中所述第一光学元件集表示描述所述制品的上下文信息,并且
其中所述第二光学元件集表示描述所述上下文信息的内容信息。
12.一种方法,所述方法包括:
通过计算设备接收具有包括物理表面的基板的制品的图像,
其中所述图像包括设置在所述制品上的光学代码的表示以及围绕所述光学代码以在视觉上将所述光学代码与所述物理表面的其他区域分离的静区,
其中所述光学代码包括:
顶边缘、与所述顶边缘相对的底边缘、连接所述顶边缘和所述底边缘的左边缘、与所述左边缘相对并且连接所述顶边缘和所述底边缘的右边缘,以及多个光学元件,
其中所述光学元件的第一子集形成沿着所述光学代码的顶边缘设置的时钟图案,
其中所述光学元件的第二子集形成寻找器代码,其中所述寻找器代码包括多个部分,其中所述多个部分中的每个部分沿着所述光学代码的相应拐角设置,其中所述寻找器代码的沿着所述光学代码的每个相应拐角设置的部分包括至少两个光学元件,
其中所述光学元件的第三子集形成消息,
其中所述光学元件的第四子集形成错误校正数据,
其中所述光学元件的第五子集形成重复位,其中所述第五子集的光学元件中的每个光学元件对应于形成所述消息或所述错误校正数据的光学元件子集中的相应光学元件,并且其中所述第五子集的光学元件中的每个光学元件设置在来自所述光学代码的特定边缘的四个光学元件内,所述特定边缘与所述光学代码的包括所述消息或所述错误校正数据的对应光学元件的边缘相对,
其中所述第三子集的光学元件和所述第四子集的光学元件中的每个相应的光学元件表示编码位的集合中的编码位,其中所述编码位的集合基于所述相应的光学元件的视觉可辨性是可分辨的,
其中形成所述消息的所述第三子集的光学元件和形成所述错误校正数据的所述第四子集的光学元件以矩阵形式在空间上配置,使得在不存在被定位在所述矩阵的被视觉遮蔽的至少一个完整边缘内的光学元件的情况下,所述消息能够从所述基板解码,以及
通过所述计算设备至少部分地基于来自所述图像的错误校正数据对所述消息进行解码,在所述图像中所述矩阵的至少一个完整边缘被视觉遮蔽。
13.一种系统,所述系统包括:
图像捕获设备;以及
计算设备,所述计算设备通信地耦接到所述图像捕获设备,所述计算设备包括一个或多个计算机处理器和存储器,所述存储器包括指令,当由所述一个或多个计算机处理器执行时,所述指令致使所述一个或多个计算机处理器:
接收具有包括物理表面的基板的制品的图像,
其中所述图像包括设置在所述制品上的光学代码的表示以及围绕所述光学代码以在视觉上将所述光学代码与所述物理表面的其他区域分离的静区,
其中所述光学代码包括:
顶边缘、与所述顶边缘相对的底边缘、连接所述顶边缘和所述底边缘的左边缘、和与所述左边缘相对并且连接所述顶边缘和所述底边缘的右边缘,并且所述光学代码包括多个光学元件,
其中所述光学元件的第一子集形成沿着所述光学代码的顶边缘设置的时钟图案,
其中所述光学元件的第二子集形成寻找器代码,其中所述寻找器代码包括多个部分,其中所述多个部分中的每个部分沿着所述光学代码的相应拐角设置,其中所述寻找器代码的沿着所述光学代码的每个相应拐角设置的部分包括至少两个光学元件,
其中所述光学元件的第三子集形成消息,
其中所述光学元件的第四子集形成错误校正数据,
其中所述光学元件的第五子集形成重复位,其中所述第五子集的光学元件中的每个光学元件对应于形成所述消息或所述错误校正数据的光学元件子集中的相应光学元件,并且其中所述第五子集的光学元件中的每个光学元件设置在来自所述光学代码的特定边缘的四个光学元件内,所述特定边缘与所述光学代码的包括所述消息或所述错误校正数据的对应光学元件的边缘相对,
其中所述第三子集的光学元件和所述第四子集的光学元件中的每个相应的光学元件表示编码位的集合中的编码位,其中所述编码位的集合基于所述相应的光学元件的视觉可辨性是可分辨的,
其中形成所述消息的所述第三子集的光学元件和形成所述错误校正数据的所述第四子集的光学元件以矩阵形式在空间上配置,使得在不存在被定位在所述矩阵的被视觉遮蔽的至少一个完整边缘内的光学元件的情况下,所述消息能够从所述基板解码,以及
至少部分地基于来自所述图像的错误校正数据对所述消息进行解码,在所述图像中所述矩阵的至少一个完整边缘被视觉遮蔽。
14.一种构造制品的方法,所述制品具有包括物理表面的基板,所述方法包括:
接收指定光学代码和围绕所述光学代码以在视觉上将所述光学代码与所述物理表面的其他区域分离的静区的印刷规格,
其中所述光学代码包括:顶边缘、与所述顶边缘相对的底边缘、连接所述顶边缘和所述底边缘的左边缘、与所述左边缘相对并且连接所述顶边缘和所述底边缘的右边缘,以及多个光学元件,
其中所述光学元件的第一子集形成沿着所述光学代码的顶边缘设置的时钟图案,
其中所述光学元件的第二子集形成寻找器代码,其中所述寻找器代码包括多个部分,其中所述多个部分中的每个部分沿着所述光学代码的相应拐角设置,其中所述寻找器代码的沿着所述光学代码的每个相应拐角设置的部分包括至少两个光学元件,
其中所述光学元件的第三子集形成消息,
其中所述光学元件的第四子集形成错误校正数据,
其中所述光学元件的第五子集形成重复位,其中所述第五子集的光学元件中的每个光学元件对应于形成所述消息或所述错误校正数据的光学元件子集中的相应光学元件,并且其中所述第五子集的光学元件中的每个光学元件设置在来自所述光学代码的特定边缘的四个光学元件内,所述特定边缘与所述光学代码的包括所述消息或所述错误校正数据的对应光学元件的边缘相对,
其中所述第三子集的光学元件和所述第四子集的光学元件中的每个相应的光学元件表示编码位的集合中的编码位,其中所述编码位的集合基于所述相应的光学元件的视觉可辨性是可分辨的;以及
至少部分地基于所述印刷规格利用形成所述消息的所述第三子集的光学元件和形成所述错误校正数据的所述第四子集的光学元件来构造所述制品,其中形成所述消息的所述第三子集的光学元件和形成所述错误校正数据的所述第四子集的光学元件以矩阵形式处于所述物理表面处的空间配置中,使得在不存在被定位在所述矩阵的被视觉遮蔽的至少一个完整边缘内的光学元件的情况下,所述消息能够从所述基板解码。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662400874P | 2016-09-28 | 2016-09-28 | |
US62/400,874 | 2016-09-28 | ||
US201762485426P | 2017-04-14 | 2017-04-14 | |
US62/485,426 | 2017-04-14 | ||
PCT/US2017/053788 WO2018064203A1 (en) | 2016-09-28 | 2017-09-27 | Occlusion-resilient optical codes for machine-read articles |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109791624A CN109791624A (zh) | 2019-05-21 |
CN109791624B true CN109791624B (zh) | 2022-06-07 |
Family
ID=60081301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780060177.2A Active CN109791624B (zh) | 2016-09-28 | 2017-09-27 | 包含遮蔽弹性光学代码的机读制品 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10867224B2 (zh) |
EP (1) | EP3520031B1 (zh) |
JP (1) | JP7088597B2 (zh) |
KR (1) | KR102427514B1 (zh) |
CN (1) | CN109791624B (zh) |
WO (1) | WO2018064203A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109791622A (zh) | 2016-09-28 | 2019-05-21 | 3M创新有限公司 | 回射性多尺度代码 |
CN109791730B (zh) | 2016-09-28 | 2022-04-08 | 3M创新有限公司 | 一种利用多维机器可读光学代码的制品及制品构造方法和系统 |
EP3520030B1 (en) | 2016-09-28 | 2023-05-24 | 3M Innovative Properties Company | Hierarchichal optical element sets for machine-read articles |
BE1023607B1 (fr) | 2016-12-22 | 2017-05-15 | Valipat Sa | Methode et systeme de collecte de documents numeriques a partir d’une pluralite de source |
WO2018152475A1 (en) | 2017-02-20 | 2018-08-23 | 3M Innovative Properties Company | Personal protective equipment system using optical articles for integrated monitoring, alerting, and predictive safety event avoidance |
TW201832136A (zh) * | 2017-02-20 | 2018-09-01 | 美商3M新設資產公司 | 光學物品及與其交互作用之系統 |
US11314971B2 (en) | 2017-09-27 | 2022-04-26 | 3M Innovative Properties Company | Personal protective equipment management system using optical patterns for equipment and safety monitoring |
WO2019067823A1 (en) * | 2017-09-29 | 2019-04-04 | 3M Innovative Properties Company | PROBE MANAGEMENT MESSAGES FOR INFRASTRUCTURE QUALITY MEASUREMENTS FROM A VEHICLE |
US11429803B2 (en) | 2018-03-27 | 2022-08-30 | 3M Innovative Properties Company | Identifier allocation for optical element sets in machine-read articles |
US10733402B2 (en) | 2018-04-11 | 2020-08-04 | 3M Innovative Properties Company | System for vehicle identification |
WO2020070584A1 (en) | 2018-10-04 | 2020-04-09 | 3M Innovative Properties Company | Hyperspectral optical patterns on retroreflective articles |
EP3861478A1 (en) | 2018-10-04 | 2021-08-11 | 3M Innovative Properties Company | Multi-distance information processing using retroreflected light properties |
KR102200161B1 (ko) * | 2018-11-05 | 2021-01-07 | 상명대학교산학협력단 | 피듀셜 마커 영상 생성 장치 및 방법 |
EP4118385A4 (en) | 2020-03-13 | 2024-04-24 | Julian Henley | ELECTRO-IONIC DEVICES FOR IMPROVED PROTECTION AGAINST AIR-SUSPENDED BIOPATHOGENS |
EP4328854A4 (en) * | 2021-05-31 | 2024-05-01 | Mitsubishi Electric Corp | INFORMATION PROCESSING DEVICE |
US11693612B1 (en) * | 2022-06-02 | 2023-07-04 | Hand Held Products, Inc. | Methods, apparatuses, and computer program products for verifying printed indicia |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101546386A (zh) * | 2008-03-27 | 2009-09-30 | 电装波动株式会社 | 具有带用于指定单元位置并与背景区分开的特定图案的矩形区域的二维码 |
CN105706107A (zh) * | 2013-11-07 | 2016-06-22 | 斯坎特拉斯特股份有限公司 | 二维条形码以及这种条形码的认证的方法 |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3758193A (en) | 1971-07-02 | 1973-09-11 | Minnesota Mining & Mfg | Infrared-transmissive, visible-light-absorptive retro-reflectors |
US4924078A (en) | 1987-11-25 | 1990-05-08 | Sant Anselmo Carl | Identification symbol, system and method |
IE902400A1 (en) | 1989-08-03 | 1991-02-13 | Minnesota Mining & Mfg | Retroreflective vehicle identififcation articles having¹improved machine legibility |
US5223701A (en) | 1990-10-30 | 1993-06-29 | Ommiplanar Inc. | System method and apparatus using multiple resolution machine readable symbols |
US5591956A (en) | 1995-05-15 | 1997-01-07 | Welch Allyn, Inc. | Two dimensional data encoding structure and symbology for use with optical readers |
US5726435A (en) | 1994-03-14 | 1998-03-10 | Nippondenso Co., Ltd. | Optically readable two-dimensional code and method and apparatus using the same |
JP2001256425A (ja) | 2000-03-10 | 2001-09-21 | Denso Corp | 光学情報読取装置 |
US6751352B1 (en) | 2000-05-25 | 2004-06-15 | Hewlett-Packard Development Company, L.P. | Method and apparatus for generating and decoding a visually significant barcode |
US6832728B2 (en) | 2001-03-26 | 2004-12-21 | Pips Technology, Inc. | Remote indicia reading system |
US7016518B2 (en) | 2002-03-15 | 2006-03-21 | Extreme Cctv Inc. | Vehicle license plate imaging and reading system for day and night |
JP3996520B2 (ja) | 2003-01-30 | 2007-10-24 | 株式会社デンソーウェーブ | 二次元情報コードおよびその生成方法 |
CN100481117C (zh) | 2004-03-15 | 2009-04-22 | 武汉矽感科技有限公司 | 一种二维条码编解码方法 |
JP4755415B2 (ja) | 2004-12-21 | 2011-08-24 | 株式会社アドイン研究所 | カラー二次元コード |
US7543748B2 (en) | 2005-02-16 | 2009-06-09 | Pisafe, Inc. | Method and system for creating and using redundant and high capacity barcodes |
US20090057420A1 (en) | 2005-04-06 | 2009-03-05 | Content Idea Of Asia Co., Ltd. | Clear Two-Dimensional Code, Article Having Clear Two-Dimensional Code Attached Thereto, Method for Printing Two-Dimensional Code and Method For Displaying Two-Dimensional Code |
US7387393B2 (en) | 2005-12-19 | 2008-06-17 | Palo Alto Research Center Incorporated | Methods for producing low-visibility retroreflective visual tags |
JP2007188157A (ja) | 2006-01-11 | 2007-07-26 | Fujifilm Corp | バーコード及び撮像装置 |
GB2440003A (en) | 2006-07-10 | 2008-01-16 | Retainagroup Ltd | Vehicle identification system consisting of a machine readable pattern on the vehicle and a imaging device to read the encoded pattern |
US20080233404A1 (en) | 2007-03-22 | 2008-09-25 | 3M Innovative Properties Company | Microreplication tools and patterns using laser induced thermal embossing |
TW200925866A (en) | 2007-09-21 | 2009-06-16 | Silverbrook Res Pty Ltd | Printer driver for interactive printer |
GB2458701C (en) | 2008-03-28 | 2018-02-21 | Pips Tech Limited | Vehicle identification system |
US8865293B2 (en) | 2008-12-15 | 2014-10-21 | 3M Innovative Properties Company | Optically active materials and articles and systems in which they may be used |
CN101964145A (zh) | 2009-07-23 | 2011-02-02 | 北京中星微电子有限公司 | 一种自动车牌识别方法及其系统 |
MX2012004107A (es) | 2009-10-08 | 2012-05-08 | 3M Innovative Properties Co | Lamina retrorreflectante de alto contraste y numeros de matriculas. |
CN102103764A (zh) | 2009-12-18 | 2011-06-22 | 沈阳新松机器人自动化股份有限公司 | 自助收费机 |
US8430315B2 (en) | 2010-06-29 | 2013-04-30 | SignaKey LLC | Data encoding and decoding |
US9092979B2 (en) | 2010-12-14 | 2015-07-28 | Xerox Corporation | Automated license plate recognition system and method using human-in-the-loop based adaptive learning |
US8807435B2 (en) | 2011-04-06 | 2014-08-19 | Eastman Kodak Company | Decoding multi-resolution optical codes |
CN104584035A (zh) | 2012-03-30 | 2015-04-29 | 3M创新有限公司 | 具有机器可读代码的逆向反射制品 |
US8851381B2 (en) | 2012-10-17 | 2014-10-07 | Rockwell Automation Technologies, Inc. | Motor and motor drive diagnostic system using barcode |
KR20160143664A (ko) | 2014-04-10 | 2016-12-14 | 앤키, 인크. | 미학적 구성요소를 가진 기계-판독 가능한 광학 코드의 생성 및 디코딩 |
JP2017531847A (ja) | 2014-08-13 | 2017-10-26 | スリーエム イノベイティブ プロパティズ カンパニー | 光学活性物品及びこの光学活性物品が使用され得るシステム |
US9791865B2 (en) | 2014-10-29 | 2017-10-17 | Amazon Technologies, Inc. | Multi-scale fiducials |
US10339804B2 (en) | 2014-12-30 | 2019-07-02 | 3M Innovative Properties Company | Sign to vehicle identification system |
WO2017006314A1 (en) | 2015-07-05 | 2017-01-12 | THE WHOLLYSEE.Ltd. | Optical identification and characterization system and tagss |
WO2017034938A1 (en) | 2015-08-21 | 2017-03-02 | 3M Innovative Properties Company | Encoding data in symbols disposed on an optically active article |
WO2017151202A2 (en) | 2015-12-08 | 2017-09-08 | 3M Innovative Properties Company | Prismatic retroreflective sheeting including infrared absorbing material |
EP3229047A1 (en) | 2016-04-05 | 2017-10-11 | 3M Innovative Properties Company | Retroflective article with infrared-detectable pattern |
CN109791730B (zh) | 2016-09-28 | 2022-04-08 | 3M创新有限公司 | 一种利用多维机器可读光学代码的制品及制品构造方法和系统 |
EP3520030B1 (en) | 2016-09-28 | 2023-05-24 | 3M Innovative Properties Company | Hierarchichal optical element sets for machine-read articles |
US10417541B1 (en) | 2016-12-21 | 2019-09-17 | Amazon Technologies, Inc. | Reflected light identification (RLID) device |
WO2018151761A1 (en) | 2017-02-20 | 2018-08-23 | 3M Innovative Properties Company | Retroreflecting article including retarder |
EP3701319A4 (en) | 2017-10-27 | 2021-07-28 | 3M Innovative Properties Company | LIGHT GUIDE ARTICLE WITH A COMPLIANT DELAYER |
-
2017
- 2017-09-27 CN CN201780060177.2A patent/CN109791624B/zh active Active
- 2017-09-27 WO PCT/US2017/053788 patent/WO2018064203A1/en active Search and Examination
- 2017-09-27 JP JP2019516624A patent/JP7088597B2/ja active Active
- 2017-09-27 EP EP17783659.0A patent/EP3520031B1/en active Active
- 2017-09-27 KR KR1020197012034A patent/KR102427514B1/ko active IP Right Grant
- 2017-09-27 US US16/335,698 patent/US10867224B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101546386A (zh) * | 2008-03-27 | 2009-09-30 | 电装波动株式会社 | 具有带用于指定单元位置并与背景区分开的特定图案的矩形区域的二维码 |
CN105706107A (zh) * | 2013-11-07 | 2016-06-22 | 斯坎特拉斯特股份有限公司 | 二维条形码以及这种条形码的认证的方法 |
Also Published As
Publication number | Publication date |
---|---|
KR102427514B1 (ko) | 2022-08-01 |
US20200019827A1 (en) | 2020-01-16 |
KR20190059942A (ko) | 2019-05-31 |
EP3520031A1 (en) | 2019-08-07 |
JP2019537098A (ja) | 2019-12-19 |
US10867224B2 (en) | 2020-12-15 |
WO2018064203A1 (en) | 2018-04-05 |
CN109791624A (zh) | 2019-05-21 |
EP3520031B1 (en) | 2021-12-08 |
JP7088597B2 (ja) | 2022-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109791624B (zh) | 包含遮蔽弹性光学代码的机读制品 | |
CN109791730B (zh) | 一种利用多维机器可读光学代码的制品及制品构造方法和系统 | |
EP3520030B1 (en) | Hierarchichal optical element sets for machine-read articles | |
US10896340B2 (en) | Encoding data in symbols disposed on an optically active article | |
US10929730B2 (en) | Retroreflective multiscale codes | |
US11429803B2 (en) | Identifier allocation for optical element sets in machine-read articles | |
US10706311B2 (en) | Increasing dissimilarity of characters disposed on an optically active article | |
CN109476262B (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 |