CN108665035A - 码标的生成方法及装置 - Google Patents

码标的生成方法及装置 Download PDF

Info

Publication number
CN108665035A
CN108665035A CN201710207218.8A CN201710207218A CN108665035A CN 108665035 A CN108665035 A CN 108665035A CN 201710207218 A CN201710207218 A CN 201710207218A CN 108665035 A CN108665035 A CN 108665035A
Authority
CN
China
Prior art keywords
subcode
encoding block
code
layer
color
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710207218.8A
Other languages
English (en)
Other versions
CN108665035B (zh
Inventor
钟宜生
陆耿
石宗英
王昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201710207218.8A priority Critical patent/CN108665035B/zh
Publication of CN108665035A publication Critical patent/CN108665035A/zh
Application granted granted Critical
Publication of CN108665035B publication Critical patent/CN108665035B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record 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/06009Record 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/06046Constructional details
    • G06K19/0614Constructional details the marking being selective to wavelength, e.g. color barcode or barcodes only visible under UV or IR

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明涉及一种码标的生成方法及装置,所述方法包括:获取母码,所述母码包括空编码块和纯色编码块,所述空编码块与纯色编码块的颜色不同;在所述空编码块的内部的四周设置边界线,所述边界线的颜色与空编码块的颜色不同;在所述母码所包括的空编码块中选中空编码块;在选中的所述空编码块中除去边界线的区域生成子码;输出包括所述母码和所述子码的码标。本发明还涉及一种码标的生成装置。本发明提供的方法及装置,可以延伸现有码标的可识别区域,解决现有码标的可识别区域较小的问题。

Description

码标的生成方法及装置
技术领域
本发明涉及一种用于码标的生成方法和装置,特别是涉及增强现实码标的生成方法和装置。
背景技术
增强现实码标(Augmented Reality Marker)是一种用于虚拟视觉识别系统的码标。可用于各种任务,包括增强现实、机器人位姿估计和摄像机标定。这种码标(Marker)不需要特殊材料,只要根据需求在增强现实码库中选择增强现实码,然后再将增强现实码用普通打印机打印到普通打印纸上,贴到墙上就可以使用。现有的增强现实码为黑白两色且具有固定的编码方式。
增强现实码标可以作为协作视觉目标应用于视觉目标检测和位姿估计方法中。相比于基于其他协作视觉目标的位姿检测方法,基于增强现实码标的位姿检测方法由于为黑白两色并且具有的固定编码方式,从而检测效率更高、更鲁棒。基于增强现实码标的视觉检测系统(如西班牙的科尔多瓦大学设计的ArUco,美国麻省理工学院设计的AprilTags等),这类系统根据码标的编码块的位置信息标识不同的码标,并同时提供该码标与统一坐标系的位置关系。
但是传统的基于这种增强现实码标的视觉检测系统只有在图像采集设备与码标之间距离足够大时才可以良好运行。当图像采集设备与码标的距离较小时,码标无法完整的呈现在图像采集设备视野内,导致该码标无法被检测出来,从而造成位姿估计的失效。
发明内容
基于此,有必要针对现有码标的可识别区域较小的问题,给出一种码标的生成方法和装置。
一种码标的生成方法,其中,所述码标的生成方法包括:
获取母码,所述母码包括空编码块和纯色编码块,所述空编码块与纯色编码块的颜色不同;
在所述空编码块的内部的四周设置边界线,所述边界线的颜色与空编码块的颜色不同;
在所述母码所包括的空编码块中选中空编码块;
在选中的所述空编码块中除去边界线的区域生成子码;
输出包括所述母码和所述子码的码标。
上述码标的生成方法,通过在母码中生成子码,使得根据本方法生成的码标的可识别区域得到的延伸。当需要图像采集设备距离目标点很近时仍可以正常进行检测时,可以在任意满足条件的增强现实码中添加子码,来实现向更近距离的延伸。
在其中一个实施例中,所述获取母码的步骤包括:
从预设的增强现实码库中选择增强现实码作为母码;
按照配置的码标尺寸设置所述母码的尺寸。
在其中一个实施例中,所述在选中的所述空编码块中除去边界线的区域生成子码的步骤包括:
判断子码的个数是否大于1;
若否,则执行输出包括所述母码和所述子码的码标的步骤;
若是,则
读取差异度阈值;遍历计算任意两个子码之间的差异度;判断差异度是否均大于或等于差异度阈值;若是,则
执行输出包括所述母码和所述子码的码标的步骤。
在其中一个实施例中,若差异度小于差异度阈值,则在选中所述空编码块中除去边界线的区域生成子码的步骤包括:
将差异度小于差异度阈值的两个子码分别标记为调整子码和比较子码,对所述调整子码进行调整得到替换子码,使所述替换子码与所述比较子码之间的差异度大于或等于差异度阈值;
用所述替换子码替换调整子码,重新进行遍历计算任意子码之间的差异度,直到任意两个子码的差异度均大于或等于差异度阈值。
在其中一个实施例中,所述替换子码替换调整子码,重新进行遍历计算任意子码之间的差异度,直到所有子码的差异度均大于或等于差异度阈值的步骤包括:
获取最大迭代次数;
将迭代次数初始化;
所述替换子码替换所述调整子码的同时,迭代次数加1;
判断迭代次数是否达到最大迭代次数;
若未达到最大迭代次数,则再次遍历计算任意子码之间的差异度;
若达到最大迭代次数,则丢弃当前母码,并执行所述获取母码的步骤。
在其中一个实施例中,所述子码包括子码编码块;
所述遍历计算任意两个子码之间的差异度的步骤包括:
判断任意两个子码各自的相同位置的子码编码块是否颜色相同;
统计判断为颜色不同的相同位置的子码编码块的数量;
根据统计的数量确定所述两个子码之间的差异度。
在其中一个实施例中,所述子码包括第一层空编码块和第一层纯色编码块;所述在选中的所述空编码块中除去边界线的区域生成子码的步骤包括:
在所述第一层空编码块的内部的四周设置边界线,所述边界线的颜色与第一层空编码块的颜色不同;在所述子码所包括的第一层空编码块中选中第一层空编码块;将选中的所述第一层空编码块设置为颜色不可变并在选中的所述第一层空编码块中除去边界线的区域生成第二层子码;所述第二层子码包括第二层空编码块和第二层纯色编码块;
在所述第二层空编码块的内部的四周设置边界线,所述边界线的颜色与第二层空编码块的颜色不同;将选中的所述第二层空编码块设置为颜色不可变并在所述第二层子码所包括的第二层空编码块中选择第二层空编码块;在选中的所述第二层空编码块中除去边界线的区域生成第三层子码。
一种码标的生成装置,其中,所述码标的生成装置包括:
母码获取单元,用于获取母码,所述母码包括空编码块和纯色编码块,所述空编码块与纯色编码块的颜色不同;
边界线设置单元,用于在所述空编码块内部的四周设置边界线,所述边界线的颜色与空编码块的颜色不同;
空编码块选中单元,用于在所述母码所包括的空编码块中选中空编码块;
生成单元,用于在所述空编码块中除去边界线的区域生成子码;
输出单元,用于输出包括所述母码和所述子码的码标。
上述码标的生成装置,通过在母码中生成子码,使得根据本方法生成的码标的可识别区域得到的延伸。当需要图像采集设备距离目标点很近时仍可以正常进行检测时,可以在任意满足条件的增强现实码中添加子码,来实现向更近距离的延伸。
在其中的一个实施例中,所述母码获取模块包括:
母码选择单元,用于从预设的增强现实码库中选择增强现实码作为母码;
边长设置单元,用于按照配置的码标尺寸设置所述母码的尺寸。
在其中的一个实施例中,所述生成模块包括:
子码个数判断单元,用于判断子码的个数是否大于1;
差异度阈值获取单元,用于读取差异度阈值;
差异度计算单元,用于遍历计算任意两个子码之间的差异度;
差异度判断单元,用于判断差异度是否均大于或等于差异度阈值。
在其中的一个实施例中,所述生成模块还包括:
调整单元,用于将差异度小于差异度阈值的两个子码分别标记为调整子码和比较子码,对所述调整子码进行调整得到替换子码,所述替换子码与所述比较子码之间的差异度大于或等于差异度阈值;
替换单元,用于用所述替换子码替换调整子码,重新进行遍历计算任意子码之间的差异度,直到所有子码的差异度均大于或等于差异度阈值。
在其中的一个实施例中,所述替换单元包括:
最大迭代次数获取单元,用于获取最大迭代次数;
迭代次数初始化单元,用于将迭代次数初始化;
迭代次数累计单元,所述替换子码替换所述调整子码的同时,迭代次数加1;
迭代次数判断单元,判断迭代次数是否达到最大迭代次数。
在其中的一个实施例中,所述子码包括子码编码块;
所述差异度计算单元包括:
颜色判断单元,用于判断任意两个子码各自的相同位置的子码编码块是否颜色相同;
数量统计单元,用于统计判断为颜色不同的相同位置的子码编码块的数量。
在其中的一个实施例中,所述子码包括第一层空编码块和第一层纯色编码块;
所述子码生成单元包括:
第二层子码生成单元,用于在所述第一层空编码块的内部的四周设置边界线,所述边界线的颜色与第一层空编码块的颜色不同;在所述子码所包括的第一层空编码块中选中第一层空编码块;将选中的所述第一层空编码块设置为颜色不可变并在选中的所述第一层空编码块中除去边界线的区域生成第二层子码;所述第二层子码包括第二层空编码块和第二层纯色编码块;
第三层子码生成单元,用于在所述第二层空编码块的内部的四周设置边界线,所述边界线的颜色与第二层空编码块的颜色不同;将选中的所述第二层空编码块设置为颜色不可变并在所述第二层子码所包括的第二层空编码块中选择第二层空编码块;在选中的所述第二层空编码块中除去边界线的区域生成第三层子码。
附图说明
图1为一个实施例的提供的码标生成方法的流程图;
图2为预设的增强现实码库中增强现实码的结构图;
图3为一个实施例生成的码标;
图4为一个实施例提供的在选择出的空编码块上生成子码步骤的流程图;
图5为一个实施例提供的遍历计算任意两个子码之间的差异度方法的流程图;
图6为图3生成的码标中子码A与子码B的示意图;
图7为一个实施例提供的得到替换子码的方法的流程图;
图8为一个实施例提供的用替换子码替换调整子码的方法的流程图;
图9为另一个实施例生成的码标;
图10为一个实施例提供的码标生成装置的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
图1为一个实施例的提供的码标生成方法的流程图,如图1所示的码标生成方法包括:
步骤S102,获取母码,所述母码包括空编码块和纯色编码块,所述空编码块与纯色编码块的颜色不同。
具体地,获取母码是指在现有的增强现实码的集合中随机选择出一个或者多个作为母码。所述母码包括空编码块和纯色编码块,并且根据空编码块的数量以及位置的不同进行编码。所述空编码块和纯色编码块以颜色作为区分。
步骤S104,在所述空编码块内部的四周设置边界线,所述边界线的颜色与空编码块的颜色不同。
具体地,所述边界线设置于空编码块的内部的四周。通过设置边界线,使得在码标识别过程中提取空编码块更加方便,进而方便的提取空编码块中存在的子码。所述边界线的颜色与空编码块的颜色不同,而边界线的颜色与所述纯色编码块的颜色可以相同,也可以不同。
进一步地,所述边界线的是具有一定宽度的,边界线的宽度越宽,则在识别过程中提取空编码块更加容易。所述边界线的宽度可以预先设定一个固定的数值,也可以以参数的形式进行设定并在生成码标的过程中进行动态调整。
再进一步地,所述边界线的宽度可以在生成码标的过程中根据生成码标的具体情形进行调整。边界线越宽,子码越容易被检测到,进而分层码标的检测效率就越高。但是边界线的宽度一个最大值,所以,输出包括所述母码和所述子码的码标之前,可以对边界线的宽度再次进行调整。具体地,首先计算边界线的最大宽度,然后再将边界线调整至所述边界线的最大宽度。
步骤S106,在所述母码所包括的空编码块中选中空编码块。
具体地,根据具体需求,在所述母码所包括的空编码块中选择出至少一个空编码块。
进一步地,根据子码个数和/或灰度阈值,从空编码块中选择出特定个数的空编码块。所述灰度阈值是指空编码块能被准确识别的灰度最大偏离值。具体地,空编码块中的边界线的颜色与空编码块不同,而生成的子码中也有与空编码块颜色不同的颜色块,因此,在添加了子码和边界线的所述空编码块的灰度值会与未添加子码和边界线的空编码块的灰度值产生偏离。而在码标的识别过程中,空编码块的颜色根据灰度值进行识别,例如白色编码块的灰度值不能与白色偏离太多,否则将难以被准确识别。因此,结合需求和/或预设的增强显示码库,可以确定灰度阈值的具体取值。
步骤S108,在选中的所述空编码块中除去边界线的区域生成子码。
具体地,在选中的空编码块中除去边界线的区域生成子码。
进一步地,所述子码与母码拥有相同的码结构,具体地,如果母码采用的是7×7结构,则子码也应采用7×7结构。步骤S110,输出包括所述母码和所述子码的码标。
具体地,将包括所述母码和所述子码可视的输出到载体中。所述输出包括但不限于打印和/或雕刻和/或显示。所述载体包括但不限于纸和/或木板和/或显示器。
应当理解,所有将所述生成子码的母码进行输出的动作,均落入本发明的保护范围。
请参阅图2,图2为一个现有的增强现实码的结构图。在本实施例中,选择的是加里多-尤利多(Garrido-Jurado)定义的增强现实码的集合,并在其中选择了一个7×7结构的增强现实码作为母码(201),其中整个增强现实码包括中部为5×5结构的编码区,剩余部分可作为识别区。编码区有25个编码块,根据颜色的不同可以将编码块区分白色的空编码块(202)与黑色的纯色编码块(203)。
请一并参阅图3,图3是以该母码为基础生成的码标,该码标包括1个母码,在空编码块内部的周边上设置了边界线(301),选择出3个空编码块,并在3个空编码块上生成子码A,子码B,子码C。该码标被打印输出在一张A4纸上。
作为其中一个实施方式,步骤S102中,母码的获取方法可包括:
从预设的增强现实码库中选择增强现实码作为母码;
按照配置的码标尺寸设置所述母码的尺寸。
具体地,根据所选定的母码个数,从预设的增强现实码库中选择出特定个数的母码,并根据需求,按照配置的码标尺寸设置每个母码的尺寸。
通过对母码个数和母码边长的设定,可以延伸码标的可识别区域。例如当图像采集设备距离很远时,通过增加母码的边长的方式,可以方便的使可识别区域得到延伸。
作为其中一个实施方式,步骤S108中,在所述选中的空编码块中除去边界线的区域生成子码包括:
读取子码个数和/或灰度阈值;
根据子码个数和/或灰度阈值,从空编码块中选择出特定个数的空编码块;然后根据预先设定的灰度阈值,在选择出的空编码块上生成符合灰度阈值的子码。
作为其中一个实施方式,步骤S108中,在所述空编码块中除去边界线的区域生成子码的步骤还包括:
判断子码的个数是否大于一个;若否,则执行输出包括所述母码和所述子码的码标的步骤;若是,读取差异度阈值。
具体地,首先判断子码的个数是否大于一个。如果子码的个数仅有一个,则执行输出包括所述母码和所述子码的码标的步骤。当存在两个或者两个以上的子码时,进一步判断两个子码之间的差异度是否满足需求。所述差异度是指两个子码之间的距离。具体地,在拥有5×5个编码块的子码中,差异度是指在25维空间中两个子码之间的距离。进一步地,可将子码的图形使用预设格式转换为二进制字符串,该差异度就是指所述二进制字符串之间的汉明距离。通过设置差异度可以有效的防止识别过程中子码之间的相互干扰。
进一步地,可以通过设置差异度阈值来判断两个子码之间的差异度是否满足需求。差异度阈值的具体取值可以根据具体需求预先设置,差异度阈值越大,在识别过程中子码存在相互干扰的可能性越低,但相应的,在生成过程中,码标的生成时间也越长。因此,应当根据具体需求来对差异度阈值进行合理的设置。
遍历计算任意的两个子码的差异度,判断差异度是否均大于或等于差异度阈值,若是,则执行输出包括所述母码和所述子码的码标的步骤。
具体地,在图3所示的码标中,存在3个子码A、B以及C,需要分别计算子码A与子码B的差异度DAB,子码A与子码C的差异度DAC,以及子码B与子码C的差异度DBC。如果DAB、DAC以及DBC均大于或等于预先设定的差异度阈值,则执行输出包括所述母码和所述子码的码标的步骤。
请参阅图4,作为其中一个实施方式,若差异度小于差异度阈值,则在选中的所述空编码块中除去边界线的区域生成子码的步骤还包括:
步骤S400,将差异度小于差异度阈值的两个子码分别标记为调整子码和比较子码,对所述调整子码进行调整得到替换子码,使所述替换子码与所述比较子码之间的差异度大于或等于差异度阈值。
具体地,若DAB小于差异度阈值,则将子码A以及子码B分别标记为调整子码和比较子码,对所述子码A进行调整得到替换子码A’,子码A’与子码B之间的差异度大于或等于差异度阈值。
步骤S402,用所述替换子码替换调整子码,重新进行遍历计算任意子码之间的差异度的步骤,直到所有子码的差异度均大于或等于差异度阈值。
具体地,用替换子码A’替换调整子码A,重新遍历计算子码A’、子码B以及子码C之间的差异度,直到所有子码的差异度均大于或等于差异度阈值。
请参阅图5,作为其中的一个实施方式,所述遍历计算任意两个子码之间的差异度的步骤包括:
步骤S502,判断任意两个子码各自的相同位置的子码编码块是否颜色相同。
具体地,如图6所示的A、B两个子码,如果要测量子码A与子码B之间的差异度,可首先将差异度DAB初始化置0。将子码A与子码B重叠,子码A与子码B均包括子码编码块。由于子码A与子码B均为5×5的结构,因此,子码A与子码B均有25个子码编码块((1,1)、(1,2)……(5,5))。将子码A与子码B重叠,则所述25个子码编码块一一对应,比较每个相同位置的子码编码块,子码A的(1,1)位置的子码编码块与子码B相同位置(1,1)的子码编码的颜色。
步骤S504,统计判断为颜色不同的相同位置的子码编码块的数量。
具体地,对步骤S502中判断结果为颜色不同的相同位置的子码编码块的数量进行统计。请一并参阅图6,在子码A中位置(1,1)中的子码编码块的颜色为黑色,而在子码B中相同位置(1,1)中的子码编码块的颜色为黑色,两者的颜色相同。继续比较子码A(1,2)位置的子码编码块与子码B相同位置(1,2)的子码编码块的颜色是否相同,如图6所示,在子码A中位置(1,2)中的子码编码块的颜色为黑色,而在子码B中对应位置(1,2)中的子码编码块的颜色为白色,两者的颜色不同。继续比较子码A(1,3)位置的子码编码块与子码B相同位置(1,3)的子码编码块的颜色是否相同,当所有对应位置的子码编码块比较完成后,经统计判断为颜色不同的相同位置的子码编码块的数量为6。
步骤S506,根据统计的数量确定所述两个子码之间的差异度。
具体地,图6中的子码A与子码B经统计判断为颜色不同的相同位置的子码编码块的数量为6,则子码A与子码B的差异度可以确定为6。
作为其中的一个实施方式,遍历任意两个子码之间的差异度的步骤包括:将子码转换成二进制字符串;测量所述二进制字符串之间的汉明距离,根据所述汉明距离的值确定子码之间的差异度。
具体地,如图6所示,将子码A中的黑色块转换为0,白色块转换为1,从位置(1,1)、(1,2)……直至位置(5,5)则所述子码A的图像可以翻译成二进制字符串10000 0010001010 10000 01000。同样的,子码B的图像可以翻译成二进制字符串11000 00000 0000000000 01001。则两个字符串的汉明距离的值:6。
请参阅图7,作为其中一个实施方式,将差异度小于差异度阈值的两个子码分别标记为调整子码和比较子码,对所述调整子码进行调整得到替换子码步骤包括:
步骤700,随机变换调整子码中子码编码块的颜色得到中间子码,并计算所述中间子码与所述比较子码的差异度。
具体地,设子码A与子码B之间的差异度DAB小于差异度阈值,标记子码A为调整子码,子码B为比较子码。随机变换所述调整子码A中的子码编码块的颜色,得到中间子码A1,并计算中间子码A1与比较子码B之间的差异度DA1B。
步骤702,判断中间子码与比较子码之间的差异度是否大于或等于差异度阈值。
具体地,判断DA1B是否大于或等于差异度阈值。
步骤704,若是,则得到所述替换子码。
具体地,若是,则A1即可作为替换子码A’。
若否,则重新随机变换调整子码中子码编码块的颜色,直到得到所述替换子码。
具体地,若否,则重新随机变换调整子码A中子码编码块的颜色,得到新的中间子码A2,并再次计算A2与比较子码B之间的差异度。直到得到替换子码A’。
请参阅图8,作为其中的一个实施方式,用所述替换子码替换调整子码,重新进行遍历计算任意子码之间的差异度,直到所有子码的差异度均大于或等于差异度阈值的步骤包括:
S800,将迭代次数初始化。
具体地,将标记迭代次数的参数t初始化置0。
S802,所述替换子码替换所述调整子码的同时,迭代次数加1。
具体地,当用替换子码A’替换调整子码A时,迭代次数加1。每次用替换子码替换调整子码时,则迭代次数加1。
S804,判断迭代次数是否达到最大迭代次数。
具体地,判断迭代次数t是否达到预设的最大迭代次数M。最大迭代次数M是预先设定的值,M的值越大,进行迭代的次数越多,可以根据具体需求设定M。
S806,若未达到最大迭代次数,则再次遍历计算任意子码之间的差异度。
具体地,若迭代次数t未达到最大迭代次数M,则再次进行遍历计算任意子码之间的步骤。
S808,若达到最大迭代次数,则丢弃当前母码,并执行所述获取母码的步骤。
具体地,若迭代次数t达到最大迭代次数M,则丢弃当前母码,并执行所述获取母码的步骤。
作为其中的一个实施方式,所述在选中的所述空编码块中除去边界线的区域生成子码步骤包括:
在所述第一层空编码块的内部的四周设置边界线,所述边界线的颜色与第一层空编码块的颜色不同;在所述子码所包括的第一层空编码块中选中第一层空编码块;将选中的所述第一层空编码块设置为颜色不可变并在选中的所述第一层空编码块中除去边界线的区域生成第二层子码;所述第二层子码包括第二层空编码块和第二层纯色编码块;
在所述第二层空编码块的内部的四周设置边界线,所述边界线的颜色与第二层空编码块的颜色不同;将选中的所述第二层空编码块设置为颜色不可变并在所述第二层子码所包括的第二层空编码块中选择第二层空编码块;在选中的所述第二层空编码块中除去边界线的区域生成第三层子码。
应当理解,第三层子码中仍然可以按类似的方法生成第四层子码,以此类推,直到生成第N层子码。
子码层数可以根据需求进行设置,子码层数越多,码标的识别精度越高,可识别区域越可以向短距离延伸。
应当理解,由于各层子码均具有相同的结构,因此,各层子码之间可以使用相同方法进行计算所有各层子码之间的差异度,判断差异度是否均大于或等于差异度阈值以及根据判断结果决定是否对子码进行进一步调整的步骤。
具体地,请参阅图9,图9为一个实施例所生成的码标。所述码标包括子码(901)与子码(904),子码(904)中包括第二层子码(905)。由于子码(904)与第二层子码(905)都具有7×7的码结构,如果计算子码(904)与第二层子码(905)的差异度,可以将子码(904)子码与第二层子码(905)分别转换成二进制字符串,测量所述二进制字符串之间的汉明距离,根据所述汉明距离的值确定子码之间的差异度。也可以将子码(904)与第二层子码(905)的边长调整为同一尺寸,然后再将两层子码重叠,判断各自的相同位置的子码编码块是否颜色相同,统计判断为颜色不同的相同位置的编码块的数量,根据统计的数量确定差异度。
当第一层空编码块上存在第二层子码,则所述第一层空编码块被设置为颜色不可变。使所述第一层空编码块的颜色在以后的任何操作中都是不能被改变,尤其是涉及到随机翻转编码块颜色的操作时,所述第一层空编码块的颜色都是固定不变的。
作为其中一个实施方式,在选择中的所述空编码块上生成子码的步骤之后还包括:
计算每层边界线的最大宽度;将所述每层的边界线调整到所述每层边界线的最大宽度。
具体地,根据灰度阈值和空编码块的个数和子码层数和每一层子码的个数和下一层纯色编码块的数量和母码长度,计算每层边界线的最大宽度。
进一步的,每层边界线的最大宽度Ci可以由以下公式计算获得:
其中,n×n为母码的编码区的结构。例如在图3中的码标中,母码的编码区为5×5的结构,则n的取值为5。所述a%为灰度阈值;所述Mw为空编码块的个数;所述N为子码层数;所述Mi为每一层子码的个数,其中i是从1到N-1的自然数;所述Bk为下一层纯色编码块的数量,其中k是从2到N的自然数,所述L为母码长度。应当理解,上述参数的表达方式均是为了使描述更加清楚,并不能看作对本实施方式具体限定。
请参阅图10,图10为一个实施方式提供的一种码标的生成装置,其中,所述码标的生成装置包括:
母码获取单元,用于获取母码,所述母码包括空编码块和纯色编码块,所述空编码块与纯色编码块的颜色不同;
边界线设置单元,用于在所述空编码块内部的四周设置边界线,所述边界线的颜色与空编码块的颜色不同;
空编码块选中单元,用于在所述母码所包括的空编码块中选中空编码块;
生成单元,用于在所述空编码块中除去边界线的区域生成子码;
输出单元,用于输出包括所述母码和所述子码的码标。
上述码标的生成装置,通过在母码中生成子码,使得根据本方法生成的码标的可识别区域得到的延伸。当需要图像采集设备距离目标点很近时仍可以正常进行检测时,可以在任意满足条件的增强现实码中添加子码,来实现向更近距离的延伸。
在其中的一个实施方式中,所述母码获取模块包括:
母码选择单元,用于从预设的增强现实码库中选择增强现实码作为母码;
边长设置单元,用于按照配置的码标尺寸设置所述母码的尺寸。
在其中的一个实施方式中,所述生成模块包括:
子码个数判断单元,用于判断子码的个数是否大于1;
差异度阈值获取单元,用于读取差异度阈值;
差异度计算单元,用于遍历计算任意两个子码之间的差异度;
差异度判断单元,用于判断差异度是否均大于或等于差异度阈值。
在其中的一个实施方式中,所述生成模块还包括:
调整单元,用于将差异度小于差异度阈值的两个子码分别标记为调整子码和比较子码,对所述调整子码进行调整得到替换子码,所述替换子码与所述比较子码之间的差异度大于或等于差异度阈值;
替换单元,用于用所述替换子码替换调整子码,重新进行遍历计算任意子码之间的差异度,直到所有子码的差异度均大于或等于差异度阈值。
在其中的一个实施方式中,所述替换单元包括:
最大迭代次数获取单元,用于获取最大迭代次数;
迭代次数初始化单元,用于将迭代次数初始化;
迭代次数累计单元,所述替换子码替换所述调整子码的同时,迭代次数加1;
迭代次数判断单元,判断迭代次数是否达到最大迭代次数。
在其中的一个实施方式中,所述子码包括子码编码块;
所述差异度计算单元包括:
颜色判断单元,用于判断任意两个子码各自的相同位置的子码编码块是否颜色相同;
数量统计单元,用于统计判断为颜色不同的相同位置的子码编码块的数量。
在其中的一个实施方式中,所述子码包括第一层空编码块和第一层纯色编码块;
所述子码生成单元包括:
第二层子码生成单元,用于在所述第一层空编码块的内部的四周设置边界线,所述边界线的颜色与第一层空编码块的颜色不同;在所述子码所包括的第一层空编码块中选中第一层空编码块;将选中的所述第一层空编码块设置为颜色不可变并在选中的所述第一层空编码块中除去边界线的区域生成第二层子码;所述第二层子码包括第二层空编码块和第二层纯色编码块;
第三层子码生成单元,用于在所述第二层空编码块的内部的四周设置边界线,所述边界线的颜色与第二层空编码块的颜色不同;将选中的所述第二层空编码块设置为颜色不可变并在所述第二层子码所包括的第二层空编码块中选择第二层空编码块;在选中的所述第二层空编码块中除去边界线的区域生成第三层子码。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当理解的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (14)

1.一种码标的生成方法,其特征在于,所述码标的生成方法包括:
获取母码,所述母码包括空编码块和纯色编码块,所述空编码块与纯色编码块的颜色不同;
在所述空编码块的内部的四周设置边界线,所述边界线的颜色与空编码块的颜色不同;
在所述母码所包括的空编码块中选中空编码块;
在选中的所述空编码块中除去边界线的区域生成子码;
输出包括所述母码和所述子码的码标。
2.根据权利要求1所述的码标的生成方法,其特征在于,所述获取母码的步骤包括:
从预设的增强现实码库中选择增强现实码作为母码;
按照配置的码标尺寸设置所述母码的尺寸。
3.根据权利要求1所述的码标的生成方法,其特征在于,所述在选中的所述空编码块中除去边界线的区域生成子码的步骤包括:
判断子码的个数是否大于1;
若否,则执行输出包括所述母码和所述子码的码标的步骤;
若是,则
读取差异度阈值;遍历计算任意两个子码之间的差异度;判断差异度是否均大于或等于差异度阈值;若是,则
执行输出包括所述母码和所述子码的码标的步骤。
4.根据权利要求3所述的码标的生成方法,其特征在于,若差异度小于差异度阈值,则在选中的所述空编码块中除去边界线的区域生成子码的步骤包括:
将差异度小于差异度阈值的两个子码分别标记为调整子码和比较子码,对所述调整子码进行调整得到替换子码,使所述替换子码与所述比较子码之间的差异度大于或等于差异度阈值;
用所述替换子码替换调整子码,重新进行遍历计算任意子码之间的差异度,直到任意两个子码的差异度均大于或等于差异度阈值。
5.根据权利要求4所述的码标的生成方法,其特征在于,所述替换子码替换调整子码,重新进行遍历计算任意子码之间的差异度,直到所有子码的差异度均大于或等于差异度阈值的步骤包括:
获取最大迭代次数;
将迭代次数初始化;
所述替换子码替换所述调整子码的同时,迭代次数加1;
判断迭代次数是否达到最大迭代次数;
若未达到最大迭代次数,则再次遍历计算任意子码之间的差异度;
若达到最大迭代次数,则丢弃当前母码,并执行所述获取母码的步骤。
6.根据权利要求3所述的码标的生成方法,其特征在于,所述子码包括子码编码块;
所述遍历计算任意两个子码之间的差异度的步骤包括:
判断任意两个子码各自的相同位置的子码编码块是否颜色相同;
统计判断为颜色不同的相同位置的子码编码块的数量;
根据统计的数量确定所述两个子码之间的差异度。
7.根据权利要求1所述的码标的生成方法,其特征在于,所述子码包括第一层空编码块和第一层纯色编码块;所述在选中的所述空编码块中除去边界线的区域生成子码的步骤包括:
在所述第一层空编码块的内部的四周设置边界线,所述边界线的颜色与第一层空编码块的颜色不同;在所述子码所包括的第一层空编码块中选中第一层空编码块;将选中的所述第一层空编码块设置为颜色不可变并在选中的所述第一层空编码块中除去边界线的区域生成第二层子码;所述第二层子码包括第二层空编码块和第二层纯色编码块;
在所述第二层空编码块的内部的四周设置边界线,所述边界线的颜色与第二层空编码块的颜色不同;将选中的所述第二层空编码块设置为颜色不可变并在所述第二层子码所包括的第二层空编码块中选择第二层空编码块;在选中的所述第二层空编码块中除去边界线的区域生成第三层子码。
8.一种码标的生成装置,其特征在于,所述码标的生成装置包括:
母码获取单元,用于获取母码,所述母码包括空编码块和纯色编码块,所述空编码块与纯色编码块的颜色不同;
边界线设置单元,用于在所述空编码块内部的四周设置边界线,所述边界线的颜色与空编码块的颜色不同;
空编码块选中单元,用于在所述母码所包括的空编码块中选中空编码块;
生成单元,用于在所述空编码块中除去边界线的区域生成子码;
输出单元,用于输出包括所述母码和所述子码的码标。
9.根据权利要求8所述的码标的生成装置,其特征在于,所述母码获取模块包括:
母码选择单元,用于从预设的增强现实码库中选择增强现实码作为母码;
边长设置单元,用于按照配置的码标尺寸设置所述母码的尺寸。
10.根据权利要求8所述的码标的生成装置,其特征在于,
所述生成模块还包括:
子码个数判断单元,用于判断子码的个数是否大于1;
差异度阈值获取单元,用于读取差异度阈值;
差异度计算单元,用于遍历计算任意两个子码之间的差异度;
差异度判断单元,用于判断差异度是否均大于或等于差异度阈值。
11.根据权利要求10所述的码标的生成装置,其特征在于,所述生成模块还包括:
调整单元,用于将差异度小于差异度阈值的两个子码分别标记为调整子码和比较子码,对所述调整子码进行调整得到替换子码,所述替换子码与所述比较子码之间的差异度大于或等于差异度阈值;
替换单元,用于用所述替换子码替换调整子码,重新进行遍历计算任意子码之间的差异度,直到所有子码的差异度均大于或等于差异度阈值。
12.根据权利要求11所述的码标的生成装置,其特征在于,所述替换单元包括:
最大迭代次数获取单元,用于获取最大迭代次数;
迭代次数初始化单元,用于将迭代次数初始化;
迭代次数累计单元,所述替换子码替换所述调整子码的同时,迭代次数加1;
迭代次数判断单元,判断迭代次数是否达到最大迭代次数。
13.根据权利要求10所述的码标的生成装置,其特征在于,所述差异度判断单元包括:
颜色判断单元,用于判断任意两个子码各自的相同位置的子码编码块是否颜色相同;
数量统计单元,用于统计判断为颜色不同的相同位置的子码编码块的数量。
14.根据权利要求8所述的码标的生成装置,其特征在于,所述子码包括第一层空编码块和第一层纯色编码块;
所述子码生成单元包括:
第二层子码生成单元,用于在所述第一层空编码块的内部的四周设置边界线,所述边界线的颜色与第一层空编码块的颜色不同;在所述子码所包括的第一层空编码块中选中第一层空编码块;将选中的所述第一层空编码块设置为颜色不可变并在选中的所述第一层空编码块中除去边界线的区域生成第二层子码;所述第二层子码包括第二层空编码块和第二层纯色编码块;
第三层子码生成单元,用于在所述第二层空编码块的内部的四周设置边界线,所述边界线的颜色与第二层空编码块的颜色不同;将选中的所述第二层空编码块设置为颜色不可变并在所述第二层子码所包括的第二层空编码块中选择第二层空编码块;在选中的所述第二层空编码块中除去边界线的区域生成第三层子码。
CN201710207218.8A 2017-03-31 2017-03-31 码标的生成方法及装置 Active CN108665035B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710207218.8A CN108665035B (zh) 2017-03-31 2017-03-31 码标的生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710207218.8A CN108665035B (zh) 2017-03-31 2017-03-31 码标的生成方法及装置

Publications (2)

Publication Number Publication Date
CN108665035A true CN108665035A (zh) 2018-10-16
CN108665035B CN108665035B (zh) 2020-12-22

Family

ID=63786982

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710207218.8A Active CN108665035B (zh) 2017-03-31 2017-03-31 码标的生成方法及装置

Country Status (1)

Country Link
CN (1) CN108665035B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070098234A1 (en) * 2005-10-31 2007-05-03 Mark Fiala Marker and method for detecting said marker
CN201876902U (zh) * 2010-10-20 2011-06-22 福建省优艾迪网络信息有限公司 一种母子明暗码多重表达的标签
CN102521859A (zh) * 2011-10-19 2012-06-27 中兴通讯股份有限公司 基于人工标志的增强现实方法及装置
CN103049729A (zh) * 2012-12-30 2013-04-17 成都理想境界科技有限公司 基于二维码的增强现实方法、系统及终端
CN104463067A (zh) * 2014-12-04 2015-03-25 四川大学 一种Grid Matrix二维条码宏模块提取方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070098234A1 (en) * 2005-10-31 2007-05-03 Mark Fiala Marker and method for detecting said marker
CN201876902U (zh) * 2010-10-20 2011-06-22 福建省优艾迪网络信息有限公司 一种母子明暗码多重表达的标签
CN102521859A (zh) * 2011-10-19 2012-06-27 中兴通讯股份有限公司 基于人工标志的增强现实方法及装置
CN103049729A (zh) * 2012-12-30 2013-04-17 成都理想境界科技有限公司 基于二维码的增强现实方法、系统及终端
CN104463067A (zh) * 2014-12-04 2015-03-25 四川大学 一种Grid Matrix二维条码宏模块提取方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HANAS SUBAKTI ET AL.: "A Marker-Based Cyber-Physical Augmented-Reality Indoor Guidance System for Smart Campuses", 《2016 IEEE 18TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS》 *
高智 等: "基于标识位置变化的移动增强现实的研究", 《软件工程》 *

Also Published As

Publication number Publication date
CN108665035B (zh) 2020-12-22

Similar Documents

Publication Publication Date Title
US11176715B2 (en) Method and system for color representation generation
CN109299274A (zh) 一种基于全卷积神经网络的自然场景文本检测方法
CN108416377A (zh) 柱状图中的信息提取方法及装置
US20110142343A1 (en) Method and apparatus for segmenting multi-view images into foreground and background based on codebook
CN108647631A (zh) 训练数据生成设备、方法和程序以及人群状态识别设备、方法和程序
CN108596221A (zh) 标尺读数的图像识别方法及设备
EP3313057A1 (en) A method and a computer product for joint color and translucency 3d printing, a joint color and translucency 3d printing device and a printing object
CN104572647B (zh) 标注装置和标注方法
CN109284779A (zh) 基于深度全卷积网络的物体检测方法
EP3762795A1 (en) Method, device, system and program for setting lighting condition and storage medium
CN107808157A (zh) 一种雷管编码定位及识别的方法及装置
CN109920018A (zh) 基于神经网络的黑白照片色彩恢复方法、装置及存储介质
WO2020240808A1 (ja) 学習装置、分類装置、学習方法、分類方法、学習プログラム、及び分類プログラム
CA3045391C (en) Method for detection and recognition of long-range high-density visual markers
CN112232411B (zh) HarDNet-Lite在嵌入式平台的优化方法
CN112149590A (zh) 一种手部关键点检测方法
US11314991B2 (en) Information display method, information display system, and storage medium
CN101587504A (zh) 自定义曲面检测报告系统及方法
EP3591620A1 (en) Image processing device and two-dimensional image generation program
CN108665035A (zh) 码标的生成方法及装置
CN110162362B (zh) 动态控件位置检测与测试方法、装置、设备及存储介质
CN111275752A (zh) 水流测速方法、装置、计算机设备及存储介质
ITRM930179A1 (it) Apparecchio e procedimento per il riconoscimento di caratteri manoscritti.
CN115909347A (zh) 仪表示数识别方法、装置、设备及介质
TW202331654A (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