CN109324607A - 二维码识别方法及基于其的机器人视觉导航自定位方法 - Google Patents
二维码识别方法及基于其的机器人视觉导航自定位方法 Download PDFInfo
- Publication number
- CN109324607A CN109324607A CN201810915933.1A CN201810915933A CN109324607A CN 109324607 A CN109324607 A CN 109324607A CN 201810915933 A CN201810915933 A CN 201810915933A CN 109324607 A CN109324607 A CN 109324607A
- Authority
- CN
- China
- Prior art keywords
- dimensional code
- grids
- robot
- grid
- positioning
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000000007 visual effect Effects 0.000 title claims abstract description 22
- 108091026890 Coding region Proteins 0.000 claims abstract description 25
- 108700026244 Open Reading Frames Proteins 0.000 claims description 11
- 230000003044 adaptive effect Effects 0.000 claims description 4
- 238000010411 cooking Methods 0.000 claims description 3
- 239000011295 pitch Substances 0.000 claims 1
- 230000004807 localization Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 11
- 239000000463 material Substances 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 229910002056 binary alloy Inorganic materials 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
- G05D1/0253—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
Abstract
本发明公开了一种二维码识别方法及基于其的机器人视觉导航自定位方法,二维码的编码图案的顶角定位方格为在二维码的编码图案四个顶角的其中三个顶角分别设有一个定位方格,中间九宫格编码区域是由3*3的数值方格组成。识别方法对九宫格编码区域进行横向与纵向九个区域的划分解码出对应的二进制数,并根据定位方格不同的位置组合确定视角方向和每个数值方格的二进制字符串,获得二维码的数据信息,能够准确提取出二维码信息,根据不同视角方向进行识别。机器人视觉导航自定位方法通过九宫格编码方案来标记不同的交叉路口,根据视觉识别的编码结果实现机器人自主定位,进而实现按照既定规划路径的自主行走,不仅成本低,而且简单可靠。
Description
技术领域
本发明涉及一种二维码识别方法及基于其的机器人视觉导航自定位 方法,属于人工智能技术领域。
背景技术
目前,基于视觉导航的巡检机器人是人工智能领域研究的一个重要课题, 未来的商业化市场应用极其广泛,如博物馆导游机器人为游客讲解历史文物 古迹、送餐机器人沿轨迹线为顾客订餐、送餐,酒店服务机器人自规划路径 为顾客托运行李、引导顾客到达客房等。在提供这些服务的同时,机器人需 要知道目前所在的位置,下一步往哪个方向行走才能到达目的地等。那么, 机器人的自主定位成为了机器人视觉导航不可或缺的一项重要环节,精确定 位更是机器人实现正确行走的重要指标。
近些年,随着计算机硬件设施的升级,其计算处理能力不断增强,而且 摄像头分辨率逐渐提高,满足了视觉导航系统的高精度、实时导航的需求。 因此,机器人利用视觉信息来实现自定位,具有实时性好、易实施和成本低 等优点。目前,基于视觉实现自定位的相关研究有:利用门牌号和RFID标签 相结合的自定位和导航、采用条形编码格式的路标来实现机器人的定位等。
如果把机器人运行的真实路线环境用拓扑图来表示其相对结构,拓扑图 中的每一个节点代表实际路线交叉处的路径节点,节点之间的权值代表实际 路径节点之间的距离,这样选定起始点以及目标点,利用迪杰斯特拉算法就 可以在拓扑图结构中为机器人规划好最短路径。机器人能够按此路径依次经 过若干节点,正确到达目标点的前提是要对路径节点进行准确识别。机器人 自主定位就是对于不同的路径节点进行识别,但是由于地面上没有足够的特 征便于机器人去直接识别,而且对于不同的路口处需要设置不同的区别标识, 所以,机器人运行路径的节点设计并非一件容易的事情。
因此,需要提出一种简单易用、准确可靠的机器人视觉导航自定位方法。
发明内容
为解决上述现有技术上的不足,本发明提供了一种二维码及其识别方法, 简单易用,准确度高;还提供了一种基于其的机器人视觉导航自定位方法, 不仅定位准确,而且又能辨识机器人来向,更加具有实用性。
本发明解决其技术问题采取的技术方案是:
一方面,本发明实施例提供的一种二维码,所述二维码的编码图案包括 顶角定位方格和中间九宫格编码区域,所述顶角定位方格为在二维码的编码 图案四个顶角的其中三个顶角分别设有一个定位方格;所述中间九宫格编码 区域是由3*3的数值方格组成,每个数值方格代表二进制字符串的码字符号 “0”或者“1”,自上而下,从左到右对应的二进制位数依次是0~8。
作为本实施例一种可能的实现方式,根据二维码的编码图案四个顶角的 其中三个顶角的定位方格的不同位置组合来判断二维码的视角方向。
作为本实施例一种可能的实现方式,所述九宫格编码区域中每个数值方 格用黑白色表示“1”和“0”,每个二维码的中间九宫格编码区域对应不同的 编码。
另一方面,本发明实施例提供的一种上述所述二维码的识别方法,它包 括以下步骤:
S1:获取待识别的二维码的编码图案;
S2:利用背景和前景的差别自适应选取阈值进行图像二值化处理;
S3:二值化图像上找到具有封闭区域的孔或者轮廓,通过设置该轮廓对 应的外接矩形宽高之比和面积大小这两条件,找到九宫格编码图案顶角三个 定位方格的位置;
S4:对九宫格编码区域进行横向与纵向九个区域的划分,解码出每个定 位方格对应的二进制数;
S5:根据图像中三个定位方格不同的位置组合,确定视角方向和每个数 值方格的二进制字符串,进而获得二维码的数据信息。
作为本实施例一种可能的实现方式,在步骤S2中,采用最大类间方差法 进行图像二值化处理。
作为本实施例一种可能的实现方式,在步骤S3中,在二值化图像上利用 OpenCV中的cvFindContours()函数快速找到具有封闭区域的孔或者轮廓。
再一方面,本发明实施例提供的一种基于二维码识别的机器人视觉导航 自定位方法,用于机器人按照规划路径自主行走,方法包括以下步骤:
步骤1:将机器人行走导航路径上的交叉路口作为节点进行编号,并根据 每个节点编号对应的二进制编码设计相应二维码的编码图案,将二维码的编 码图案平铺在与之对应的交叉路口节点处;
步骤2:利用导航路径对应的电子地图并基于迪杰斯特拉算法规划出机 器人从起始点到目标点的最短路径,该最短路径包含了所要依次经过的交叉 路口节点编号;
步骤3:机器人利用机身固定的摄像头实时观测行走路线上的导航图像, 并对设置在交叉路口处二维码进行识别,获得对应的节点编号;
步骤4:将摄像头获取的连续帧视频节点图像识别出的相同的节点编号 结果作为最终的定位节点编号,根据导航路径对应的电子地图进行实现机器 人的自主定位。
作为本实施例一种可能的实现方式,所述自定位方法还包括以下步骤:
步骤5:根据规划的最短路径,通过左拐、右拐、直行和刹车指令指导机 器人下一步的动作。
作为本实施例一种可能的实现方式,在步骤3中,采用上述所述二维码 的识别方法对设置在交叉路口处二维码进行识别。
作为本实施例一种可能的实现方式,在步骤S4中,对九宫格编码区域进 行横向与纵向九个区域的划分,确定每个区域黑白像素的比例,自上而下、 从左到右对这九个分区解码出二进制数字,进而根据每个数值方格相应的二 进制位数号转化为十进制数字,即为交叉路口的节点编号。
作为本实施例一种可能的实现方式,在步骤S5中,在确定了九宫格编码 顶角三个定位方格的位置后,判断出机器人在交叉路径节点的来向以决定九 宫格编码各个分区对应的二进制位数号,用以保证不同方向识别该九宫格节 点编码图案的结果都是相同的。
本发明实施例的技术方案可以具有的有益效果如下:
一方面,本发明的实施例技术方案的一种二维码,所述二维码的编码图 案包括顶角定位方格和中间九宫格编码区域,所述顶角定位方格为在二维码 的编码图案四个顶角的其中三个顶角分别设有一个定位方格;所述中间九宫 格编码区域是由3*3的数值方格组成,每个数值方格代表二进制字符串的码 字符号“0”或者“1”,自上而下,从左到右对应的二进制位数依次是0~8。 该实施例技术方案通过九宫格编码区域中对应的二进制码字位置号便于确定 二进制数字编码,在九宫格编码区域的四个顶角位置设计了三个定位方格,通过三个定位方格不同位置组合可以判断出视角方向,确保了从不同方向都 能正确识别编码图案。该实施例技术方案不仅易识别,而且能够判断出视角 方向。
另一方面,本发明的实施例技术方案的一种二维码的识别方法,可以包 括以下步骤:获取待识别的二维码的编码图案;利用背景和前景的差别自适 应选取阈值进行图像二值化处理;二值化图像上找到具有封闭区域的孔或者 轮廓,通过设置该轮廓对应的外接矩形宽高之比和面积大小这两条件,找到 九宫格编码图案顶角三个定位方格的位置;对九宫格编码区域进行横向与纵 向九个区域的划分,解码出每个定位方格对应的二进制数;根据图像中三个 定位方格不同的位置组合,确定视角方向和每个数值方格的二进制字符串,进而获得二维码的数据信息。该实施例技术方案通过对二维码的编码图案识 别不仅能够准确提取出二维码信息,而且根据不同视角方向进行识别,简单 易用,准确度高。
再一方面,本发明的实施例技术方案的一种基于二维码识别的机器人视 觉导航自定位方法,用于机器人按照规划路径自主行走,所述自定位方法包 括以下步骤:将机器人行走导航路径上的交叉路口作为节点进行编号,并根 据每个节点编号对应的二进制编码设计相应二维码的编码图案,将二维码的 编码图案平铺在与之对应的交叉路口节点处;利用导航路径对应的电子地图 并基于迪杰斯特拉算法规划出机器人从起始点到目标点的最短路径,该最短 路径包含了所要依次经过的交叉路口节点编号;机器人利用机身固定的摄像 头实时观测行走路线上的导航图像,并对设置在交叉路口处二维码进行识别, 获得对应的节点编号;将摄像头获取的连续帧视频节点图像识别出的相同的 节点编号结果作为最终的定位节点编号,根据导航路径对应的电子地图进行 实现机器人的自主定位。本发明的实施例技术方案在利用迪杰斯特拉算法进 行路径规划后,机器人采用视觉导航方式,利用比例微分模糊控制规则沿地 面导航线平稳行走,在行走过程中采用人工编码标识、自动识别标识来实现 自主定位;同时在交叉路口设置九宫格编码方式,通过对九宫格编码的识别, 进而完成机器人的自主定位和按照规划路径行走;采用人工编码标识,即通 过九宫格编码方案来标记不同的交叉路口,根据视觉识别的编码结果实现机 器人自主定位,进而实现按照既定规划路径的自主行走,该方案成本低,简 单可靠;同时,在九宫格编码区域的四个顶角中有三个设有定位方格,可以 保证从交叉路口的不同方向识别编码图案时具有相同的结果。该实施例技术 方案既简单易用,准确可靠,又能辨识机器人来向,无需重复设置节点编码 图案,更加具有实用性。
附图说明
图1(a)为根据一示例性实施例示出的一种二维码的九宫格编码图案示意 图,图1(b)为图1(a)的编码示意图;
图2为根据一示例性实施例示出的一种二维码的识别方法的流程图;
图3(a)为根据一示例性实施例示出的一种二维码的九宫格编码图案第一 种模板,图3(b)为图3(a)的编码示意图;
图4(a)为根据一示例性实施例示出的一种二维码的九宫格编码图案第二 种模板,图4(b)为图4(a)的编码示意图;
图5(a)为根据一示例性实施例示出的一种二维码的九宫格编码图案第三 种模板,图5(b)为图5(a)的编码示意图;
图6(a)为根据一示例性实施例示出的一种二维码的九宫格编码图案第四 种模板,图6(b)为图6(a)的编码示意图;
图7为根据一示例性实施例示出的一种基于二维码识别的机器人视觉导 航自定位方法的流程图;
图8(a)为一示例性实施例示出的一种机器人摄像头获取的路径节点九宫 格编码原图,图8(b)为对图8(a)进行二值化后的图像,图8(c)表示图8(a) 所示九宫格编码区域的划分区间。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式并结合其附图 对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实 现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和 设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这 种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置 之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明 省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
图1(a)为根据一示例性实施例示出的一种二维码的九宫格编码图案示意 图,图1(b)为图1(a)的编码示意图。如图1所示,该实施例的一种二维码, 所述二维码的编码图案包括顶角定位方格和中间九宫格编码区域,所述顶角 定位方格为在二维码的编码图案四个顶角的其中三个顶角分别设有一个定位 方格;所述中间九宫格编码区域是由3*3的数值方格组成,每个数值方格代 表二进制字符串的码字符号“0”或者“1”,自上而下,从左到右对应的二 进制位数依次是0~8。
作为本实施例一种可能的实现方式,根据二维码的编码图案四个顶角的 其中三个顶角的定位方格的不同位置组合来判断二维码的视角方向。
作为本实施例一种可能的实现方式,所述九宫格编码区域中每个数值方 格用黑白色表示“1”和“0”,每个二维码的中间九宫格编码区域对应不同的 编码。
本实施例通过九宫格编码区域中对应的二进制码字位置号便于确定二进 制数字编码,在九宫格编码区域的四个顶角位置设计了三个定位方格,通过 三个定位方格不同位置组合可以判断出视角方向,确保了从不同方向都能正 确识别编码图案。该实施例的技术方案不仅易识别,而且能够判断出视角方 向。
图2为根据一示例性实施例示出的一种二维码的识别方法的流程图。如 图2所示,该实施例的一种二维码的识别方法,它包括以下步骤:
S1:获取待识别的二维码的编码图案;
S2:利用背景和前景的差别自适应选取阈值进行图像二值化处理;
S3:二值化图像上找到具有封闭区域的孔或者轮廓,通过设置该轮廓对 应的外接矩形宽高之比和面积大小这两条件,找到九宫格编码图案顶角三个 定位方格的位置;
S4:对九宫格编码区域进行横向与纵向九个区域的划分,解码出每个定 位方格对应的二进制数;
S5:根据图像中三个定位方格不同的位置组合,确定视角方向和每个数 值方格的二进制字符串,进而获得二维码的数据信息,如图3-图6所示。
作为本实施例一种可能的实现方式,在步骤S2中,采用最大类间方差法 进行图像二值化处理。
作为本实施例一种可能的实现方式,在步骤S3中,在二值化图像上利用 OpenCV中的cvFindContours()函数快速找到具有封闭区域的孔或者轮廓。
本实施例通过对二维码的编码图案识别不仅能够准确提取出二维码信 息,而且根据不同视角方向进行识别,简单易用,准确度高。
图7为根据一示例性实施例示出的一种基于二维码识别的机器人视觉导 航自定位方法的流程图。如图7所示,该实施例的一种基于二维码识别的机 器人视觉导航自定位方法,用于机器人按照规划路径自主行走,方法包括以 下步骤:
步骤1:将机器人行走导航路径上的交叉路口作为节点进行编号,并根据 每个节点编号对应的二进制编码设计相应二维码的编码图案,将二维码的编 码图案平铺在与之对应的交叉路口节点处,如图8(a)所示;
步骤2:利用导航路径对应的电子地图并基于迪杰斯特拉算法规划出机 器人从起始点到目标点的最短路径,该最短路径包含了所要依次经过的交叉 路口节点编号;
步骤3:机器人利用机身固定的摄像头实时观测行走路线上的导航图像, 并对设置在交叉路口处二维码进行识别,获得对应的节点编号;
步骤4:将摄像头获取的连续帧视频节点图像识别出的相同的节点编号 结果作为最终的定位节点编号,根据导航路径对应的电子地图进行实现机器 人的自主定位。
作为本实施例一种可能的实现方式,所述自定位方法还包括以下步骤:
步骤5:根据规划的最短路径,通过左拐、右拐、直行和刹车指令指导机 器人下一步的动作。
作为本实施例一种可能的实现方式,在步骤3中,如图2所示,采用上 述所述二维码的识别方法对设置在交叉路口处二维码进行识别,图8(b)为 二值化后的图像。
作为本实施例一种可能的实现方式,在步骤S4中,对九宫格编码区域进 行横向与纵向九个区域的划分,确定每个区域黑白像素的比例,自上而下、 从左到右对这九个分区解码出二进制数字,进而根据每个数值方格相应的二 进制位数号转化为十进制数字,即为交叉路口的节点编号,图8(c)表示九 宫格编码区域的划分区间。
作为本实施例一种可能的实现方式,在步骤S5中,在确定了九宫格编码 顶角三个定位方格的位置后,判断出机器人在交叉路径节点的来向以决定九 宫格编码各个分区对应的二进制位数号,用以保证不同方向识别该九宫格节 点编码图案的结果都是相同的。
本实施例在利用迪杰斯特拉算法进行路径规划后,机器人采用视觉导航 方式,利用比例微分模糊控制规则沿地面导航线平稳行走,在行走过程中采 用人工编码标识、自动识别标识来实现自主定位;同时在交叉路口设置九宫 格编码方式,通过对九宫格编码的识别,进而完成机器人的自主定位和按照 规划路径行走;采用人工编码标识,即通过九宫格编码方案来标记不同的交 叉路口,根据视觉识别的编码结果实现机器人自主定位,进而实现按照既定 规划路径的自主行走,该方案成本低,简单可靠;同时,在九宫格编码区域 的四个顶角中有三个设有定位方格,可以保证从交叉路口的不同方向识别编 码图案时具有相同的结果。本实施例的技术方案既简单易用,准确可靠,又 能辨识机器人来向,无需重复设置节点编码图案,更加具有实用性。
下面结合具体算例来对本发明进行说明。
如图1-图8所示,本发明是一种基于二维码识别原理的机器人视觉导航 自定位方法,在利用迪杰斯特拉算法进行路径规划后,利用PD模糊控制规则 指导机器人行走,在行走过程中采用人工编码标识、自动识别标识来实现自 主定位。
首先,对机器人行走导航路径上的交叉路口作为节点进行编号,并根据每 个节点编号所对应的二进制编码设计出相应九宫格编码图案,如图1(a)所 示。其九宫格编码区域中,每一块区域代表二进制字符串的码字“0”或“1”, 如果用黑表示“1”,则白色表示“0”,反之也行。图1(b)所示为九宫格各 编码区域对应的二进制码字位置号,根据九宫格的黑白区域及对应的二进制 码字位置号就可以确定二进制数字编码。为了精确定位九宫格编码区域,以 及保证从交叉路口的不同方向识别九宫格编码的结果都是相同的,基于如图2 所示的二维码识别原理在九宫格编码区域的四个顶角位置设计了三个定位方 格,通过图像中三个方格不同的位置组合,可以判断出机器人的来向,进而 确保了机器人从不同方向都能正确识别编码图案(如图3-图6所示)。
其次,机器人机身摄像头与上位机相连,系统实时获取行走路线上的导航 图像;上位机利用与实际导航路径相一致的拓扑图并基于迪杰斯特拉算法规 划出从当前位置到达目标点的最短路径,该路径包含了机器人所要依次经过 的若干路径节点;机器人对从路径节点处获取的九宫格编码图案进行分析并 识别出路径节点编号实现自主定位,并按规划的路径匹配机器人控制指令规 则库,完成左拐、右拐、直行、刹车等动作,直到到达目标点。
由于九宫格编码区域的设计可以利用白纸黑区域进行设计的,而整个节点 图像的背景颜色信息较为多样(如导航线就是红色),为了更好的凸显九宫格 编码区域,系统利用背景和前景的差别,采用大津法获得阈值并对图像进行 二值化(如图8中(b)所示)。
由于机器人机身安装的摄像头是在俯仰角为30°时获取的视频流图像,根 据透视原理,获取的路径节点图像会存在一定的畸变(如图8中(a)所示), 为了精确定位九宫格编码区域,首先确定三个定位方格的位置,然后对九宫 格区域进行划分,最后进行不同区域的识别并转化为十进制数字作为最终九 宫格编码识别结果。九宫格编码区域的具体识别步骤如下:
(1)在OpenCV类库中有自带找轮廓或孔的函数cvFindContours(),快速找 出图像中具有封闭区域的边界(分孔、轮廓两类),存入序列CvSeq中,再通 过CvSeq->h_next找出孔,通过CvSeq->v_next找出轮廓;
(2)在找出的所有孔中,通过cvBoundingRect()可以得到孔边界外接矩形 的左顶点坐标(xLeft,yLeft)、宽(width)和高(height),利用宽高之比大约 为2(这里设置参数范围1.8~2.3)和孔的面积区域约为500(这里指像素个数, 设参数范围为300~700)两个条件,可以很精确地找出定位方格孔的中心位置 (xLeft+width/2,yLeft+height/2)所在,通过cvRectangle()在图中标记出来(如 图3(b)中的小正方形框区域所示)。这样就确定了三个定位方格中心的位置 分别为(x1,y1)、(x2,y2)、(x3,y3);
(3)分别比较并找出x1,x2,x3和y1,y2,y3中的最大值、中间值、最小值, 即xMax、xMiddle、xMin和yMax、yMiddle、yMin。然后分别确定x和y中 较大者和较小者的个数,以此来确定定位方格的位置组合,确定对应的是哪 个模板(如图3-图6所示)。
(4)if(abs(yMiddle-yMin)>abs(yMax-yMiddle)),y较大者个数是2,y较小 者的个数是1;否者的话,y较小者的个数是1,较大者个数是2;同理可确 定x较大者和较小者的个数。这里y较小者个数可以确定上、下两个方向的 定位方格的个数,x较小者个数可以确定左、右两个方向定位方格的个数。
(5)如果y较小者个数是1,可以确定定位方格是上面一个、下面两个, 如果x较小者个数是1,可以确定定位方格左面一个、右面两个,那么最终确 定为如图3所示的模板0;如果x较小者个数是2,可以确定定位方格右面两 个、左面一个,那么最终确定为如图4所示的模板1。
(6)如果y较小者个数是2,可以确定定位方格上面两个、下面一个,如 果x较小者个数是1,可以确定定位方格是左面一个、右面两个,最终确定为 如图5所示的模板2;如果x较小者个数是2,可以确定定位方格左面两个、 右面一个,最终确定为如图6所示的模板3。
(7)根据图8(b)所示的二值化图及上述步骤(1)~(6)的分析,可以 确定该二值化图对应的为模板1,然后对其九宫格区域按左右((X0,X1)、(X1, X2)、(X2,X3))和上下((Y0,Y1)、(Y1,Y2)、(Y2,Y3))划分为纵横交错的九 个区域如图8(c)所示,其中:
X0-xMin+xGap; (2)
X1=X0+2*xGap; (3)
X2=X1+2*xGap; (4)
X3=X2+2*xGap; (5)
这里,xMax,xMin分别为三个正方形定位方格质心坐标中的横坐标的最大 值、最小值;xGap为列间隔;X0、X1、X2、X3为列划分区间坐标值;同理, 关于行坐标方向y的相关参数确定亦如此。
(8)对于已确认的模板1,其节点编码顺序如图4(b)所示,这里具体 划分区域,针对某一像素位置(X,Y),编码区域编号用codeVal表示,那么
If(X≥X0&&X≤X1&&Y≥Y0&&Y≤Y1)codeVal=2;
If(X≥X1&&X≤X2&&Y≥Y0&&Y≤Y1)codeVal=5;
If(X≥X2&&X≤X3&&Y≥Y0&&Y≤Y1)codeVal=8;
If(X≥X0&&X<X1&&Y≥Y1&&Y<Y2)codeVal=1;
If(X≥X1&&X≤X2&&Y≥Y1&&Y≤Y2)codeVal=4;
If(X≥X2&&X≤X3&&Y≥Y1&&Y≤Y2)codeVal=7;
If(X≥X0&&X≤X1&&Y≥Y2&&Y≤Y3)codeVal=0;
If(X≥X1&&X≤X2&&Y≥Y2&&Y≤Y3)codeVal=3;
If(X≥X2&&X≤X3&&Y≥Y2&&Y≤Y3)codeVal=6;
按从上到下、从左到右顺序依次输出其编号:2,5,8,1,4,7,0,3, 6。
(9)针对每一划分区域,都分别统计黑白像素个数,并求出黑像素所占 比例,如果黑像素所占比例满足0.2~0.6,此区域标记为1;否则标记为0。按 划分区域编号可知,针对图4(a)所示的二值化图,那么区域5、1、4、0和 区域6标记为1,其他区域标记为0,输出其十进制数值为
23+21+24+20+20=115。
为了确保上述识别节点九宫格编码图的准确性,这里设置机器人获取连续 帧节点图像的识别结果保持一致作为最终的识别结果。
此外,本发明的应用范围不局限于说明书中描述的特定实施例的工艺、 机构、制造、物质组成、手段、方法及步骤。从本发明的公开内容,作为本 领域的普通技术人员将容易地理解,对于目前已存在或者以后即将开发出的 工艺、机构、制造、物质组成、手段、方法或步骤,其中它们执行与本发明 描述的对应实施例大体相同的功能或者获得大体相同的结果,依照本发明可 以对它们进行应用。因此,本发明所附权利要求旨在将这些工艺、机构、制 造、物质组成、手段、方法或步骤包含在其保护范围内。
Claims (10)
1.一种二维码,其特征是,所述二维码的编码图案包括顶角定位方格和中间九宫格编码区域,所述顶角定位方格为在二维码的编码图案四个顶角的其中三个顶角分别设有一个定位方格;所述中间九宫格编码区域是由3*3的数值方格组成,每个数值方格代表二进制字符串的码字符号“0”或者“1”,自上而下,从左到右对应的二进制位数依次是0~8。
2.根据权利要求1所述的二维码,其特征是,根据二维码的编码图案四个顶角的其中三个顶角的定位方格的不同位置组合来判断二维码的视角方向。
3.根据权利要求1或2所述的二维码,其特征是,所述九宫格编码区域中每个数值方格用黑白色表示“1”和“0”。
4.一种权利要求1-3任意一项所述二维码的识别方法,其特征是,包括以下步骤:
S1:获取待识别的二维码的编码图案;
S2:利用背景和前景的差别自适应选取阈值进行图像二值化处理;
S3:二值化图像上找到具有封闭区域的孔或者轮廓,通过设置该轮廓对应的外接矩形宽高之比和面积大小这两条件,找到九宫格编码图案顶角三个定位方格的位置;
S4:对九宫格编码区域进行横向与纵向九个区域的划分,解码出每个定位方格对应的二进制数;
S5:根据图像中三个定位方格不同的位置组合,确定视角方向和每个数值方格的二进制字符串,进而获得二维码的数据信息。
5.根据权利要求4所述二维码的识别方法,其特征是,
在步骤S2中,采用最大类间方差法进行图像二值化处理;
在步骤S3中,在二值化图像上利用OpenCV中的cvFindContours()函数快速找到具有封闭区域的孔或者轮廓。
6.一种基于二维码识别的机器人视觉导航自定位方法,其特征是,用于机器人按照规划路径自主行走,方法包括以下步骤:
步骤1:将机器人行走导航路径上的交叉路口作为节点进行编号,并根据每个节点编号对应的二进制编码设计相应二维码的编码图案,将二维码的编码图案平铺在与之对应的交叉路口节点处;
步骤2:利用导航路径对应的电子地图并基于迪杰斯特拉算法规划出机器人从起始点到目标点的最短路径,该最短路径包含了所要依次经过的交叉路口节点编号;
步骤3:机器人利用机身固定的摄像头实时观测行走路线上的导航图像,并对设置在交叉路口处二维码进行识别,获得对应的节点编号;
步骤4:将摄像头获取的连续帧视频节点图像识别出的相同的节点编号结果作为最终的定位节点编号,根据导航路径对应的电子地图进行实现机器人的自主定位。
7.根据权利要求6所述的基于二维码识别的机器人视觉导航自定位方法,其特征是,还包括以下步骤:
步骤5:根据规划的最短路径,通过左拐、右拐、直行和刹车指令指导机器人下一步的动作。
8.根据权利要求6或7所述的基于二维码识别的机器人视觉导航自定位方法,其特征是,在步骤3中,采用权利要求4或5所述二维码的识别方法对设置在交叉路口处二维码进行识别。
9.根据权利要求8所述的基于二维码识别的机器人视觉导航自定位方法,其特征是,
在步骤S4中,对九宫格编码区域进行横向与纵向九个区域的划分,确定每个区域黑白像素的比例,自上而下、从左到右对这九个分区解码出二进制数字,进而根据每个数值方格相应的二进制位数号转化为十进制数字,即为交叉路口的节点编号。
10.根据权利要求8所述的基于二维码识别的机器人视觉导航自定位方法,其特征是,
在步骤S5中,在确定了九宫格编码顶角三个定位方格的位置后,判断出机器人在交叉路径节点的来向以决定九宫格编码各个分区对应的二进制位数号,用以保证不同方向识别该九宫格节点编码图案的结果都是相同的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810915933.1A CN109324607A (zh) | 2018-08-13 | 2018-08-13 | 二维码识别方法及基于其的机器人视觉导航自定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810915933.1A CN109324607A (zh) | 2018-08-13 | 2018-08-13 | 二维码识别方法及基于其的机器人视觉导航自定位方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109324607A true CN109324607A (zh) | 2019-02-12 |
Family
ID=65264213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810915933.1A Pending CN109324607A (zh) | 2018-08-13 | 2018-08-13 | 二维码识别方法及基于其的机器人视觉导航自定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109324607A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109917789A (zh) * | 2019-03-13 | 2019-06-21 | 珠海格力电器股份有限公司 | 一种家电的自动运输方法、装置及存储介质 |
CN110533136A (zh) * | 2019-08-08 | 2019-12-03 | 宁夏大学 | 一种彩色汉信码的编解码器及方法 |
CN111443211A (zh) * | 2020-03-04 | 2020-07-24 | 重庆大学 | 一种多血型系统自动检测卡及检测方法 |
CN111930133A (zh) * | 2020-07-20 | 2020-11-13 | 贵州电网有限责任公司 | 一种基于旋翼无人机的变电站二次屏柜巡检方法 |
CN112414225A (zh) * | 2020-11-13 | 2021-02-26 | 中国船舶重工集团公司第七0七研究所 | 一种二维码和圆形编码盘相结合的靶标及其识别方法 |
CN112880556A (zh) * | 2021-01-06 | 2021-06-01 | 南京林业大学 | 一种地基三维激光扫描的林分调查样木精准编码生成方法 |
CN112975975A (zh) * | 2021-03-02 | 2021-06-18 | 路邦康建有限公司 | 一种机器人的控制界面校正方法及其医院临床辅助机器人 |
CN114365056A (zh) * | 2019-08-09 | 2022-04-15 | 弗劳恩霍夫应用研究促进协会 | 设备、控制所述设备的方法以及设备组或设备群 |
CN114510953A (zh) * | 2022-01-20 | 2022-05-17 | 深圳市墨甲智能科技有限责任公司 | 位置获取方法、装置、电子设备及计算机可读存储介质 |
WO2022100134A1 (zh) * | 2020-11-11 | 2022-05-19 | 珠海格力智能装备有限公司 | 自动导引装置的控制方法及装置、处理器、电子设备 |
CN115100901A (zh) * | 2022-06-22 | 2022-09-23 | 长沙理工大学 | 地下停车场的车位共享智能管理系统及方法 |
CN115251126A (zh) * | 2021-10-29 | 2022-11-01 | 智锐达仪器科技南通有限公司 | 二维码、相应的编码及解码方法、喷码及读码装置 |
CN117131895A (zh) * | 2023-08-29 | 2023-11-28 | 宁波邻家网络科技有限公司 | 批量生成统一视觉ai二维码的方法及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5726435A (en) * | 1994-03-14 | 1998-03-10 | Nippondenso Co., Ltd. | Optically readable two-dimensional code and method and apparatus using the same |
CN104007760B (zh) * | 2014-04-22 | 2016-05-18 | 济南大学 | 一种自主机器人视觉导航中的自定位方法 |
-
2018
- 2018-08-13 CN CN201810915933.1A patent/CN109324607A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5726435A (en) * | 1994-03-14 | 1998-03-10 | Nippondenso Co., Ltd. | Optically readable two-dimensional code and method and apparatus using the same |
CN104007760B (zh) * | 2014-04-22 | 2016-05-18 | 济南大学 | 一种自主机器人视觉导航中的自定位方法 |
Non-Patent Citations (2)
Title |
---|
华天财经: "《玩转二维码营销实战手册》", 30 April 2014 * |
王宁 等: "基于二进制图案编码的机器人定位", 《济南大学学报(自然科学版)》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109917789A (zh) * | 2019-03-13 | 2019-06-21 | 珠海格力电器股份有限公司 | 一种家电的自动运输方法、装置及存储介质 |
CN110533136A (zh) * | 2019-08-08 | 2019-12-03 | 宁夏大学 | 一种彩色汉信码的编解码器及方法 |
CN114365056B (zh) * | 2019-08-09 | 2024-04-12 | 弗劳恩霍夫应用研究促进协会 | 设备、控制所述设备的方法以及设备组或设备群 |
CN114365056A (zh) * | 2019-08-09 | 2022-04-15 | 弗劳恩霍夫应用研究促进协会 | 设备、控制所述设备的方法以及设备组或设备群 |
CN111443211A (zh) * | 2020-03-04 | 2020-07-24 | 重庆大学 | 一种多血型系统自动检测卡及检测方法 |
CN111443211B (zh) * | 2020-03-04 | 2024-01-26 | 重庆大学 | 一种多血型系统自动检测卡及检测方法 |
CN111930133A (zh) * | 2020-07-20 | 2020-11-13 | 贵州电网有限责任公司 | 一种基于旋翼无人机的变电站二次屏柜巡检方法 |
WO2022100134A1 (zh) * | 2020-11-11 | 2022-05-19 | 珠海格力智能装备有限公司 | 自动导引装置的控制方法及装置、处理器、电子设备 |
CN112414225A (zh) * | 2020-11-13 | 2021-02-26 | 中国船舶重工集团公司第七0七研究所 | 一种二维码和圆形编码盘相结合的靶标及其识别方法 |
CN112880556B (zh) * | 2021-01-06 | 2022-04-22 | 南京林业大学 | 一种地基三维激光扫描的林分标准地样木位置的确定方法 |
CN112880556A (zh) * | 2021-01-06 | 2021-06-01 | 南京林业大学 | 一种地基三维激光扫描的林分调查样木精准编码生成方法 |
CN112975975A (zh) * | 2021-03-02 | 2021-06-18 | 路邦康建有限公司 | 一种机器人的控制界面校正方法及其医院临床辅助机器人 |
CN115251126A (zh) * | 2021-10-29 | 2022-11-01 | 智锐达仪器科技南通有限公司 | 二维码、相应的编码及解码方法、喷码及读码装置 |
CN115251126B (zh) * | 2021-10-29 | 2023-11-21 | 智锐达仪器科技南通有限公司 | 二维码、相应的编码及解码方法、喷码及读码装置 |
CN114510953A (zh) * | 2022-01-20 | 2022-05-17 | 深圳市墨甲智能科技有限责任公司 | 位置获取方法、装置、电子设备及计算机可读存储介质 |
CN115100901A (zh) * | 2022-06-22 | 2022-09-23 | 长沙理工大学 | 地下停车场的车位共享智能管理系统及方法 |
CN117131895A (zh) * | 2023-08-29 | 2023-11-28 | 宁波邻家网络科技有限公司 | 批量生成统一视觉ai二维码的方法及计算机可读存储介质 |
CN117131895B (zh) * | 2023-08-29 | 2024-03-08 | 宁波邻家网络科技有限公司 | 批量生成统一视觉ai二维码的方法及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109324607A (zh) | 二维码识别方法及基于其的机器人视觉导航自定位方法 | |
CN106022353B (zh) | 一种基于超像素分割的图像语义标注方法 | |
CN106909902B (zh) | 一种基于改进的层次化显著模型的遥感目标检测方法 | |
CN103077377B (zh) | 基于方向场分布的指纹校正方法 | |
CN110334578B (zh) | 图像级别标注自动提取高分遥感影像建筑物的弱监督方法 | |
CN104331689B (zh) | 一种合作标识及多智能个体身份与位姿的识别方法 | |
CN108090911A (zh) | 一种光学遥感图像的近岸舰船分割方法 | |
Lian et al. | DeepWindow: Sliding window based on deep learning for road extraction from remote sensing images | |
US11823389B2 (en) | Road network mapping system and method | |
CN106683102B (zh) | 基于脊波滤波器和卷积结构学习模型的sar图像分割方法 | |
CN108564056B (zh) | 一种遥感影像水体识别提取的方法 | |
CN106611423B (zh) | 基于脊波滤波器和反卷积结构模型的sar图像分割方法 | |
CN106846322B (zh) | 基于曲线波滤波器和卷积结构学习的sar图像分割方法 | |
CN103049731B (zh) | 一种点分布型彩色编码标志的解码方法 | |
CN107491756B (zh) | 基于交通标牌与地面标志的车道转向信息识别方法 | |
CN107392141A (zh) | 一种基于显著性检测和lsd直线检测的机场提取方法 | |
Yuan et al. | Learning to count buildings in diverse aerial scenes | |
CN108573511A (zh) | 点状分布合作编码标志及其识别定位方法 | |
CN104636779B (zh) | 环形码标识识别系统 | |
CN110634131B (zh) | 一种裂缝图像识别与建模方法 | |
CN108985305A (zh) | 一种激光蚀刻工业雷管编码图像定位及校正方法 | |
CN110348383A (zh) | 一种基于卷积神经网络回归的道路中心线和双线提取方法 | |
CN109829476A (zh) | 基于yolo的端到端三维物体检测方法 | |
CN109341692A (zh) | 一种沿线导航方法及机器人 | |
CN106295491A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190212 |
|
RJ01 | Rejection of invention patent application after publication |