CN110349207B - 一种复杂环境下的视觉定位方法 - Google Patents
一种复杂环境下的视觉定位方法 Download PDFInfo
- Publication number
- CN110349207B CN110349207B CN201910620329.0A CN201910620329A CN110349207B CN 110349207 B CN110349207 B CN 110349207B CN 201910620329 A CN201910620329 A CN 201910620329A CN 110349207 B CN110349207 B CN 110349207B
- Authority
- CN
- China
- Prior art keywords
- image
- robot
- steps
- gradient
- complex environment
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Biomedical Technology (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种复杂环境下的视觉定位方法,涉及机器人定位技术领域,解决了机器人在复杂环境下定位精度较低的问题。本发明包括对机器人的位置进行远距离左右校准和近距离左右校准,对于远距离左右校准,为了能够计算得到机器人当前位置与标准位置之间的差异,将当前位置摄像头采集到的图像与标准位置模板图像进行匹配,通过计算差异得到机器人位置偏差;对于近距离左右校准,使用图像预处理,用于减少数字图像整体噪声,消除影响识别效果的无用图像特征信息,提升系统识别精度,直线检测的目的是提取二值图像内的垂直方向直线信息,并根据直线的分布情况确定二次校准的机器人移动距离。本发明提高机器人定位精度等优点。
Description
技术领域
本发明涉及机器人定位技术领域,具体涉及一种复杂环境下的视觉定位方法。
背景技术
我国为调动社会力量参与安全生产科技攻关,进一步强化防范遏制重特大事故科技保障能力,在重点行业领域开展“机械化换人、自动化减人”科技强安专项行动,重点是以机械化生产替换人工作业、以自动化控制减少人为操作,大力提高企业安全生产科技保障能力。现有技术中使用机器人实现电力作业现场作业的实时监视,提高对作业现场的威慑力,助力电网安全生产,避免发生电网、人身、设备事件。
机器人能够准确提取图像的前提是机器人可以精确停靠在导航定位处,机器人需要去不同的点位执行任务,而不同点位的工作环境和工作路况都存在较大的差异,对于一些要求机器人定位精度较高的工作,已知地图定位系统无法满足定位要求。
发明内容
为了提升复杂环境下的机器人定位精度,本发明提供一种复杂环境下的视觉定位方法,在激光雷达建图定位系统的基础上,对机器人位置进行再次校准,使其能够精确停靠在任务位置。本申请要解决的技术问题为机器人在复杂环境下定位精度较低。
本发明通过下述技术方案实现:
一种复杂环境下的视觉定位方法,包括对机器人的位置进行远距离左右校准和近距离左右校准;
所述远距离左右校准包括以下步骤:
目标检测,对摄像头采集的图像进行图形边缘提取、小轮廓去除和图像形态学处理三个步骤用于获取各轮廓区域内的原始图像;
图形相似度对比,使用图像哈希算法将各轮廓区域内的原始图像与表面模板图像相对比,找出相似度最高的轮廓作为最终匹配结果;
位置偏差计算,将最终匹配结果与模板图像对比得到机器人实际位置与模板位置的位置偏差;
所述近距离左右校准包括:图像预处理和直线检测,所述直线检测采用LSD直线段检测算法,对图像预处理获得的图像进行部分修改,得到机器人的精准位置;
高斯模糊下采样、梯度计算、梯度排序、设定梯度阈值、区域增长、矩形逼近、对齐点密度和噪声矩形计算,得到机器人的精准位置。
经过长期的研究和实践,本申请的发明人发现,机器人现场作业需要移动到不同点位,而不同点位的工作环境和工作路况都存在较大的差异,从而造成机器人定位精度不高,对于一些定位精度较高的工作,已知地图定位系统无法满足定位要求。本申请提供一种复杂环境下的视觉定位方法,包括对机器人的位置进行远距离左右校准和近距离左右校准,对于远距离左右校准,为了能够计算得到机器人当前位置与标准位置之间的差异,将当前位置摄像头采集到的图像与标准位置模板图像进行匹配,通过计算差异得到机器人位置偏差;对于近距离左右校准,使用图像预处理,用于减少数字图像整体噪声,消除影响识别效果的无用图像特征信息,提升系统识别精度,直线检测的目的是提取二值图像内的垂直方向直线信息,并根据直线的分布情况确定二次校准的机器人移动距离。
进一步的,所述图形边缘检测使用Canny算子检测图像边缘,检测步骤包括高斯模糊平滑图像、图像梯度计算、非极大值抑制和双阈值处理四个步骤。
进一步的,所述小轮廓去除包括提取图像内所有轮廓、设定面积阈值与比例阈值和获取噪声轮廓。
进一步的,所述图像形态学处理包括使用闭操作来清除灰度图像,保留大矩形轮廓。
进一步的,所述图像哈希算法包括图像哈希计算、汉明距离计算两个步骤。
进一步的,所述位置偏差计算包括计算像素与实际距离比例和计算偏差值两步骤。
进一步的,所述图像预处理包括图像剪切、灰度化和形态学处理操作三个步骤。
进一步的,所述直线检测包括高斯模糊下采样、梯度计算、梯度排序、设定梯度阈值、区域增长、矩形逼近、对齐点密度和噪声矩形计算九个步骤。
本发明具有如下的优点和有益效果:
1、本发明一种复杂环境下的视觉定位方法,在激光雷达建图定位系统的基础上,对机器人位置进行再次校准,使其能够精确停靠在任务位置。
2、本发明一种复杂环境下的视觉定位方法,使用远距离左右校准和近距离左右校准提高机器人定位精度。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1a为本发明中图像卷积的卷积和示意图;
图1b为本发明中图像卷积的待卷积像素点邻域示意图;
图2为本发明中梯度示意图;
图3为本发明中非极大值抑制扇区示意图;
图4a为本发明中膨胀操作的结构元示意图;
图4b为本发明中膨胀操作的待膨胀结构示意图;
图4c为本发明中膨胀操作的膨胀后的图像示意图;
图5为本发明中摄像机成像模型示意图;
图6为本发明中量化梯度噪声示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
在以下描述中,为了提供对本发明的透彻理解阐述了大量特定细节。然而,对于本领域普通技术人员显而易见的是:不必采用这些特定细节来实行本发明。在其他实例中,为了避免混淆本发明,未具体描述公知的结构、电路、材料或方法。
在整个说明书中,对“一个实施例”、“实施例”、“一个示例”或“示例”的提及意味着:结合该实施例或示例描述的特定特征、结构或特性被包含在本发明至少一个实施例中。因此,在整个说明书的各个地方出现的短语“一个实施例”、“实施例”、“一个示例”或“示例”不一定都指同一实施例或示例。此外,可以以任何适当的组合和、或子组合将特定的特征、结构或特性组合在一个或多个实施例或示例中。此外,本领域普通技术人员应当理解,在此提供的示图都是为了说明的目的,并且示图不一定是按比例绘制的。这里使用的术语“和/或”包括一个或多个相关列出的项目的任何和所有组合。
在本发明的描述中,需要理解的是,术语“前”、“后”、“左”、“右”、“上”、“下”、“竖直”、“水平”、“高”、“低”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明保护范围的限制。
实施例
一种复杂环境下的视觉定位方法,包括对机器人的位置进行远距离左右校准和近距离左右校准;
所述远距离左右校准包括以下步骤:
目标检测,对摄像头采集的图像进行图形边缘提取、小轮廓去除和图像形态学处理三个步骤用于获取各轮廓区域内的原始图像;
图形相似度对比,使用图像哈希算法将各轮廓区域内的原始图像与表面模板图像相对比,找出相似度最高的轮廓作为最终匹配结果;
位置偏差计算,将最终匹配结果与模板图像对比得到机器人实际位置与模板位置的位置偏差;
所述近距离左右校准包括:图像预处理和直线检测,所述直线检测采用LSD直线段检测算法,对图像预处理获得的图像进行部分修改,得到机器人的精准位置;
高斯模糊下采样、梯度计算、梯度排序、设定梯度阈值、区域增长、矩形逼近、对齐点密度和噪声矩形计算,得到机器人的精准位置。
经过长期的研究和实践,本申请的发明人发现,机器人现场作业需要移动到不同点位,而不同点位的工作环境和工作路况都存在较大的差异,从而造成机器人定位精度不高,对于一些定位精度较高的工作,已知地图定位系统无法满足定位要求。本申请提供一种复杂环境下的视觉定位方法,包括对机器人的位置进行远距离左右校准和近距离左右校准,对于远距离左右校准,为了能够计算得到机器人当前位置与标准位置之间的差异,将当前位置摄像头采集到的图像与标准位置模板图像进行匹配,通过计算差异得到机器人位置偏差;对于近距离左右校准,使用图像预处理,用于减少数字图像整体噪声,消除影响识别效果的无用图像特征信息,提升系统识别精度,直线检测的目的是提取二值图像内的垂直方向直线信息,并根据直线的分布情况确定二次校准的机器人移动距离。
为了提升环境下的机器人定位精度,本申请提出了一种复杂环境下的视觉定位方法,在激光雷达建图定位系统的基础上,对机器人位置进行再次校准,使其能够精确停靠在任务位置。
视觉定位系统概述,机器人能够准确提取图像的前提是机器人可以精确停靠在导航定位处,然而由于环境的特殊性,已知地图定位系统无法满足定位要求,为了减少定位误差,提升精度,本申请提出了一种复杂环境下的视觉定位方法,通过远距离左右校准,近距离左右校准两步骤完成机器人定位任务。
远距离左右校准,对于远距离左右校准,为了能够计算得到机器人当前位置与标准位置之间的差异,需要将当前位置摄像头采集到的图像与标准位置模板图像进行匹配,通过计算差异得到机器人位置偏差。远距离左右校准的具体过程包括目标检测、图形相似度对比、计算偏差值三个步骤。
目标检测,目标检测主要分为图形边缘提取、小轮廓去除、形态学处理三步骤完成,各步骤详细描述如下:
图形边缘检测,图像的边缘检测算法是整个校准算法的核心,边缘检测算法的精度直接影响了最终位置校准的精度。作为图像最基本的特征之一,图像的大部分特征都存在于其边缘信息中,由于亮度差异,导致在窗体边缘处图像灰度值发生剧烈变化,从而使局部图像灰度梯度发生变化,经典的边缘检测算法采用了梯度相关的局部微分技术,构造边缘检测算子来提取图像边缘信息。常用的边缘检测算子有Roberts边缘算子,Sobel边缘算子,Prewitt边缘算子,Laplace边缘算子,Canny边缘算子等等。本申请使用Canny算子检测图像边缘,相比与其他几种算子,Canny算子的抗噪声能力强,是一阶微分检测算法中效果最好的算法之一。使用Canny算子的边缘化算法主要由以下4个步骤构成:
1)高斯模糊平滑图像。高斯模糊,也叫高斯平滑,其目的是尽量减少噪声对边缘检测效果的影响,降低图像的细节层次。为了平滑图像需要使用高斯滤波器与图像进行卷积,f(x,y)表示原始图像,G(x,y)表示二维高斯函数,则卷积平滑后的图像如下式3-29所示:
其中符号*表示卷积,为了方便说明,对于大小为(2k+1)·(2k+1)的高斯滤波器的核函数如下式3-30所示:
特别的,对于一个3×3大小的高斯滤波卷积核如图1a所示,使用该卷积核对图1b中所示的像素fx,y进行卷积,得到卷积后的像素值:
Ix,y=H11·fx-1,y-1+H12·fx,y-1+...+H33·fx+1,y+1(3-31);
高斯滤波即对原始图像中的每个像素点执行式3-31中的计算,从而得到平滑后的图像矩阵。
2)图像梯度计算。图像梯度体现为图像坐标f(x,y)处的灰度最大变化率方向与对应的变化幅值,如下式3-32:
对于Canny边缘化算法,采用目标像素2×2邻域内的一阶偏导数有限差分来对高斯平滑后的图像进行梯度计算,具体计算方式如下式3-33:
由此即可得到图像坐标I(x,y)处的边缘强度M(x,y)与梯度方向θ(x,y)。遍历图像内每个像素,计算对应像素坐标处的梯度值,即可得到梯度幅值图像阵列M。梯度计算的示意图如图2所示;
3)非极大值抑制。根据梯度的性质可知,对于梯度幅值图像阵列M,坐标(x,y)处的幅值M(x,y)越大表明其所对应的图像梯度值越大,图像灰度变化越明显。但仅对图像进行一阶微分运算并不能完全确定边缘点,根据边缘检测的标准3可知,实际边缘要求与图像边缘一一对应,因此需要对幅值图像内的高梯度像素序列进行细化,仅保留幅值局部变化最大的像素点。非极大值抑制算法通过将目标像素与梯度方向上其他像素进行对比删除伪边缘像素点,得到局部极大值像素点。非极大抑制算法如下:
首先划分梯度方向范围,如图3所示,则目标像素点的梯度方向必然落在1、2、3、4四个扇区中的某一扇区内,使用与图1a和图1b的3×3邻域作用于M中的所有像素点,在此像素点周围的8个像素点必然在四个扇形区域内,非极大值抑制算法将中心像素点与其相邻的梯度方向所在扇形内的两个像素点进行对比,保留梯度幅值最大的像素点作为边缘点,最小的像素点幅值置0,中间幅值像素点值不变,继续参与后续的比较。通过非极大值抑制算法,将所有高梯度幅值像素点序列细化,舍弃一部分伪边缘点。
4)双阈值处理。非极大值抑制后的幅值图像仍不能代表真实边缘点的分布情况,还需对幅值图像进行阈值化处理。阈值处理步骤的目的是消除图像中伪边缘点,传统的边缘检测算法使用单阈值的方式判定真实边缘点,地图幅值阈值为Tthred,遍历幅值图像所有点,将低于阈值Tthred的点置零。但由于单阈值算法的固有性质,阈值选取会直接影响边缘检测的最终结果,Tthred过大会使部分边缘点丢失,Tthred过小会引入大量的伪边缘点。
为了解决上述问题,Canny边缘化算法使用双阈值检测幅值图像,高阈值为低阈值为遍历幅值图像,对任意一点(x,y),若该点幅值大于高阈值则此点一定是边缘点,若该点幅值小于低阈值则此点一定不是边缘点,幅值置零,若该点幅值位于与之间,则将该点设置为待定边缘点。实际使用当中根据与可以得到两幅边缘图像Tl与Th,其中Th由于高阈值特性导致图像内伪边缘点较少,但图像轮廓不连贯。Tl保留较多图像边缘信息,但由于低阈值性质,图像内同时存在大量伪边缘点。Canny算法利用图像边缘的连通性,使用图像Tl内像素点填补Th内边缘轮廓的非连通区域,得到最终边缘图像。
小轮廓去除,提取图像内所有轮廓。图像轮廓提取的目的是找出二值图像中1像素连通区域和一个0像素连通区域之间的边界像素点,本申请使用的图像提取方法由日本学者satoshi suzuki提出,通过对数字二值图像进行拓扑分析来确定图像中各个边界的包含关系,从而得到二值图像内的所有轮廓。
1)设定面积阈值与比例阈值。为了能够区分目标轮廓与噪声轮廓,需要设定一种阈值判别方式。本申请采取了面积阈值与比例阈值的判断方法。具体的,在标准模板图像内截取窗体部分,计算此部分的长宽像素个数,并计算两者的比例与窗体内像素总数,记为Pthred与Athred。
2)获取噪声轮廓。遍历步骤1中提取到的所有轮廓,当轮廓内像素个数偏离面积Athred或者Pthred过大时记录此轮廓。
图像形态学处理,擦除噪声轮廓后的图像内存有的灰度信息仍会对轮廓的提取带来干扰,本申请使用图像的形态学处理-闭操作来清除灰度图像,保留大矩形轮廓。
形态学(morphology)通常用来表示生物学中研究动植物形态与结构的学科,在数字图像处理中,一般指如何从基础灰度图像中提取有用的图像特征信息,如边界、区块、凸壳、骨架等等。具体来讲,是使用像素结构元(SE)在原始灰度图像中移动,删除或者放大其中的像素集合或者数字图像。基本的形态学处理包括图像腐蚀与图像膨胀,对于被本申请中使用的闭操作,可以看作是对灰度图像先膨胀后腐蚀的结果。白色部分表示像素值为1,黑色部分像素值为0,以3×3的矩形结构元为例,图像的膨胀示意图如图4a、图4b和图4c所示:其中,如图4a为结构元示意图;图4b为待膨胀结构示意图;图4c为膨胀后的图像示意图。
其中如图4a为膨胀结构单元,黄色像素点表示结构单元中心,根据待膨胀图像内的像素分布情况,大致可以分为四种情况,对于图4a、图4b和图4c中的A、B、C、D四个点,当结构元中心移动到A点时,A点附近的3×3邻域像素值与结构元像素值完全不相同,因此A点像素值保持不变。移动到B像素时,虽然B像素邻域内与结构元部分像素相同,但由于B点像素与结构与中心像素不同,B点像素值不变。C点像素值与结构元相同,但C邻域内像素与结构元不完全相同,因此C点像素值由0变成结构元中的1。D点及其邻域内像素值与结构元完全相同,因此D点像素值不变。膨胀后的图像如图4c所示,结构元为S,带膨胀图像为F,膨胀操作可以用下式3-34表示,其中表示F中z位置处的结构元的逆,即将结构元内像素1设置为0。
但由于膨胀操作的固有性质将高灰度值部分图像扩大,因此需要在此对图像进行腐蚀,图像腐蚀可以表示为下式3-35形式:
即当结构元内像素与待腐蚀像素及其邻域像素完全相同时保留原像素值,否则反转像素值。
图像相似度对比,为了能够准确从提取的图像轮廓中定位,需要将各轮廓区域内的原始图像与表面模板图像相对比,找出相似度最高的轮廓作为最终匹配结果,本申请使用基于哈希(Hash)的图像匹配算法来完成相似度匹配工作,分为图像哈希计算、汉明距离计算两部骤。
计算图像哈希,图像哈希算法的中心思想是将数字图像的重要特征信息压缩为一定大小的二值化序列,此序列作为一幅图像的指纹唯一标识该图像,通过计算不同图像的“指纹”差距判别图像的相似程度。根据哈希值序列的不同计算方式,主要分为均值哈希算法(aHash),感知哈希算法(pHash),差异哈希算法(dHash)。根据黄嘉恒等人的哈希算法比较结果可知,在相似度识别精度上,感知哈希算法最高,差异哈希算法其次,在识别速度上,均值哈希算法最快,差异哈希算法其次。考虑到机器人定位精度的优先级较高,本申请采用感知哈希算法来比较窗体矩形轮廓的相似度。与传统的哈希技术类似,感知哈希算法也具有鲁棒性,单向性,抗碰撞性,安全性,传递性,摘要性,随机性等性质。
感知哈希的计算大致上分为特征提取与量化压缩两个步骤,同时特征提取是整个算法的核心,直接影响数字图像相似度匹配的精度。下面将具体描述如何计算图像哈希值:
1)缩小图片,去除图像细节,只保留图像明亮度、结构分布等基本信息,减少图像中各部分不同尺寸与比例带来的图像差异。一般将图像缩小至8×8或者32×32,本申请将图片尺寸缩小到32×32尺寸下。
2)将彩色图像转换为灰度图像,简化图像色彩,去除不同色彩导致的图像差异。
3)离散余弦(Discrete Cosine Transform,DCT)变换。离散余弦变换的主要目的是将空间域下的图像特征转换到频率域下进行分析,图像在经过DCT变换后,空间域内的灰度变换情况转换为频率域下的高低频成分,低频成分对应灰度图像的大部分区域,高频成分对应图片的边缘细节,前者体现了整幅图像的灰度强度,后者体现图像的边缘与轮廓,对于尺寸大小为n×n的灰度图像f其DCT变换如下式3-36所示:
其中x,y代表像素空间域坐标,u,v代表频率域坐标,通常情况下在计算哈希时仅选取图像的低频部分,对应频率域系数矩阵的左上角部分,本申请选取左上角8×8区域,记为M。
4)计算M中每个点系数的均值,比较矩阵内每个系数得到二值化序列,如下式3-37所示:
遍历M中所有点,若此点值大于均值则序列填1,否则填0。综合上述1~4步即可得到模板图像窗体与待匹配轮廓的哈希特征序列。
计算两图像汉明距离
哈希序列之间的比较采用汉明距离(Hamming distance),依次遍历两个序列,当出现二进制值不同的情况时汉明距离加一:
位置偏差计算,位置偏差计算主要分为计算像素与实际距离比例、计算偏差值两步骤。
1)计算像素与实际距离比例。机器人在世界坐标系下的位置偏差根据像素与实际坐标之间的比例关系计算,标准的摄像机成像模型如图5所示;图5中xcOcyc表示摄像机坐标系,特别的原点Oc表示摄像机中心在世界坐标系下的位置,平面π表示摄像机成像平面,实际世界坐标下有一物体,图中用m表示,仅考虑二维情况下,点m映射在摄像机平面上得到点m′,从图中可以看出,根据相似三角形的性质可以得到下式3-39:
其中p即为实际世界坐标与像素坐标的比例关系。
2)位置偏差计算。对于模板图像与待匹配图像,由于机器人相对于监测目标的垂直距离基本相同,其中,包围m的小矩形表示窗体矩形,大矩形表示整个图片轮廓,由于机器人定位的位置偏差,导致实际图像并不在整个图像中央。根据上文计算得到的轮廓,可以得到窗体中心在整个图像坐标系下的坐标值,记为(x′,y′),实际模板图像中窗体矩形中心在模板图像坐标系下的坐标值记为(x,y),根据式3-40得到的像素与实际距离p可以得到:
Δd≈p·(x′-x) (3-40);
其中Δd即为机器人实际位置与模板位置的位置偏差。
综上所述,当机器人导航至目标点后,远程客户端根据摄像头采集图像,将此图像与模板图像进行对比即可得到机器人应该移动的目标距离Δd,同时通过局域网使用TCP/IP协议将此数据传递给工控机,工控机通过串口向底盘控制系统发送速度信息从而控制机器人移动指定距离,完成第一次定位。
近距离左右校准包括图像预处理和直线检测;
图像预处理,图像预处理的目的是减少数字图像整体噪声,消除影响识别效果的无用图像特征信息,提升系统识别精度。本申请中,在进行近距离左右校准之前需要对图像进行图像剪切、灰度化,形态学处理操作三个步骤来确保直线检测算法的精度。
图像剪切的目的是初步减少图像无用的特征信息,图像剪切直接将这些信息去除,整体图像仅保留上半部分。灰度化数字图像消除图像彩色信息,将图像内像素值转换到单通道的0-255区间内,使用了图像形态学处理中的闭操作,通过图像膨胀与腐蚀清除图像内灰度值低的小区快,保留整体图像特征。
直线检测,直线检测的目的是提取二值图像内的垂直方向直线信息,并根据直线的分布情况确定二次校准的机器人移动距离,目前大多数直线检测算法使用的是基于标准霍夫变换或概率霍夫变换的检测方式,其核心思想是将图像空间内的直线检测问题转换为参数空间内的对点检测,其中空间坐标系使用极坐标系表示,但多数霍夫变换算法需要提前设定各项标准阈值,如最小直线像素,最小线段间隔等等,且基于标准霍夫变换的直线检测算法无法计算得到直线段的端点。本申请使用的是Rafael Grompone von Gioi等人提出的LSD直线段检测算法,并对其进行部分修改,相比于霍夫变换直线检测,该算法无需设定任何阈值,直接输入数字图像即可得到对应图像内的直线段数目与线段端点信息,该算法运算速度快,并且其使用的错误控制方法也极大提升了直线检测的准确度。
1)高斯模糊下采样。对于直线检测算法来说,相同图像在不同尺度上的检测结果并不完全相同,为了实现更好的直线检测效果,LSD算法在对图像模糊的同时减少图像整体尺寸,其目的是消除二值图像边缘信息中的锯齿,高密度台阶等噪声信息,根据所述,尺度经验数S设置为0.8,其中高斯噪声方差的计算方式如下:
上式中Σ取值为0.6,降采样步骤根据上述3-41执行,但由于预处理过程中闭操作使用的矩形结构元在滤除图像噪声的同时增加了图像的阶梯与锯齿。
2)梯度计算。使用目标像素2×2邻域内的一阶偏导数有限差分来对像素梯度进行近似,由于直线检测的结果是图像灰度发生剧烈变化的像素集合,因此导数方向与直线方向程互余的关系,因此对于每个像素其直线方向为:
3)梯度排序。根据图像中直线的基本特征,直线中心的像素变化率最大,梯度幅值也最大,从这些点附近开始进行区域增长算法效果最好,标准LSD直线检测使用了一种基于区域划分的伪排序算法,将整个梯度幅值空间划分为1024个区间,根据像素梯度幅值对图像内所有像素进行排序。该排序方法不考虑区间内的像素次序,仅对区域整体梯度幅值进行排序,对于像素总数为n的数字图像,排序复杂度为O(n)。但对于步骤1中二次模糊后的图像,直线边缘像素梯度值分布平滑,当区域增长算法从此类像素中开始生长时会导致其邻域内像素梯度幅值变化较小,导致部分直线无法检测,造成直线断裂,缺失。为了保证直线检测的精确性,本申请使用了复杂度为O(nlogn)的标准排序算法,牺牲运行速度提升算法精度。
4)设定梯度阈值。数字图像中梯度幅值较低的像素往往对应图像中的平滑与模糊区域,且由于数字图像的量化过程会引入一定的梯度噪声,因此LSD算法设置梯度阈值ρ,ρ根据量化噪声计算,其作用就是过滤掉低梯度幅值像素,提升直线检测精度。对于数字图像量化过程中的噪声n,理想情况下的像素i,添加噪声后的观测值为:
根据梯度矢量向量的加法准则可以得到图6,其中θerr表示量化带来的梯度角度误差,梯度阈值的作用就是将梯度角度小于θerr的像素过滤掉:
5)区域增长。数字图像算法中,区域增长主要作用是将具有同一属性或有近似性质的像素点合并到一个集合当中。类似于经典图的遍历方式,区域增长算法首先要在一个区域当中指定一个种子(seed)点作为生长起始点,然后根据增长算法的目标属性遍历种子点邻域,将属性相似点合并起来继续向其邻域外生长,直到该集合内的所有点邻域内都没有满足属性像素点为止。类似的,在本申请使用的直线检测算法中,区域生长算法的目的是将梯度方向一致的像素点合并,作为直线区域的初步估计。增长起始种子点选取排序列表中未被使用的像素点,增长属性选取起始点的梯度方向,随着点集内像素点的增加,属性值不断改变,如下式3-46所示:
具体的,假定已选取种子点i,区域增长的步骤为:
将种子点i添加至区域S,并将种子点设置为USED,代表已经被使用;
使用种子像素点的梯度角度初始化属性值,θthred=θi;
初始化累积正弦值与累积余弦值,ix=cos(θthred),iy=sin(θthred);
遍历S内所有像素点记为p,若其邻域内存在点状态为UNUSED,执行步骤5;
计算像素点S的梯度角度θp与属性值θthred的差θdif,若θdif<θerr,将点p加入到集合S中,更新p像素点状态为USED,同时更新累加余弦值,正弦值与角度属性值,ix=ix+cos(θp),iy=iy+sin(θp),θthred=arctan(ix/iy);
执行步骤D,直到无满足条件。
6)矩形逼近。直线检测的本质其实是矩形点集的搜索,因此需要将步骤5中提取到的像素点区域集合进行矩形逼近,构造一个能包含区域内所有点的矩形。具体的构造原理如下:
首先将整个像素集合看作一个实体,其中每个点的质量由其梯度幅值表示,那么矩形的中心就可以看作是整个实体的质心,对于像素区域内的点(xi,yi),根据质心的基本运算方式可以得到下式3-47:
其中G代表像素点的梯度幅值,x,y代表像素点坐标值,cx与cy代表质心也就是矩形中心的坐标值,另外矩形长度与宽度的选择标准是要求其能包围指定区域内的所有像素。将逼近后的矩形记为R。矩形方向的计算使用了惯性矩与中心轴的基本性质,根据质心可以得到惯性张量矩阵:
其中:
由此可以将主轴的计算问题转换为惯性矩阵的特征值与特征向量的求解,如下式3-50所示,ω即为主轴方向,λ为与之相对应的特征值:
I·ω=λω (3-50);
7)对齐点密度。步骤6得到的逼近矩形,在某些特殊情况下,譬如图像中两边缘直线夹角相比于与角度阈值τ较小时,同一直线矩形中实际包含了两条真实直线段,会对检测精度造成一定的影响。标准LSD算法对每个逼近矩形计算其点密度,表示高梯度幅值像素点在整个矩形中所占比重:
其中k表示矩形区域内与矩形整体角度小于阈值τ的像素点总数,这些像素点也被称为对齐点。Rw,Rl表示逼近矩形的宽与长。当比重d过小时,将原矩形截断,调整两个子矩形的大小来最大化比重d。然而点密度对齐会使整体直线区域发生割裂,局部直线段增多,由于相机畸变与图像量化等产生的噪声会使垂直直线段发生扭曲,对齐点密度会将整个直线区域矩形拆分开来,影响整体检测效果。
8)噪声矩形计算。对于任意直线逼近矩形,判断其是否为噪声矩形的方式有两种:
A、直线矩形整体方向与垂直方向差距过大;
B、矩形内对齐点密度过低;
对于不满足条件A的直线矩形直接舍弃,后续将不会参与运算。对于满足条件A但不满足条件B的矩形缩小直线宽度,继续运算直到满足条件B。具体的条件A如下式:
|θrect|∈{1.57-σ,1.57+σ} (3-52);
其中θrect表示步骤6中计算得到的矩形角度,σ表示垂直角度的阈值范围。
对于条件B,其主要思想是Desolneux,Moisan与Morel等人提出的Helmholtz原理,即完美的噪声图像中不应该检测到任何目标,使用反推法,当目标图像中直线矩形内对齐点的个数相比于与对应噪声图像直线矩形内对齐点的个数要小时,此直线矩形即为无效矩形。噪声图像为I,目标图像为i,则噪声标准的计算方式如下:
Ntest·P[k(R,I)≥k(R,i)] (3-53);
其中Ntest表示噪声图像内可取的矩形总数,对于大小为N×M的图像Ntest约为(NM)5/2,k(R,i)表示目标图像中直线矩形R内对齐点的数量,k(R,I)表示对应噪声图像内对齐点的数量。由于各个像素点的梯度角度服从区间为[0~2π]的均匀分布,根据步骤4内的阈值τ,可得到噪声矩形中像素点为对齐点的概率:
且由于各个像素点独立同分布,式3-53右侧概率可以转换为二项分布进行计算,得到对齐点密度:
其中k为k(R,i),n为直线矩形内像素总数。标准LSD算法设置阈值为1,当PR小于此阈值时矩形可用,否则此矩形视为噪声矩形。为了减少漏检情况发生,噪声矩形判断完成后,需对此直线矩形进行改善,通过缩短矩形宽度得到新的直线矩形,继续执行步骤8。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种复杂环境下的视觉定位方法,其特征在于,包括对机器人的位置进行远距离左右校准和近距离左右校准;
所述远距离左右校准包括以下步骤:目标检测,对摄像头采集的图像进行图形边缘提取、小轮廓去除和图像形态学处理三个步骤用于获取各轮廓区域内的原始图像;
图形相似度对比,使用图像哈希算法将各轮廓区域内的原始图像与表面模板图像相对比,找出相似度最高的轮廓作为最终匹配结果;
位置偏差计算,将最终匹配结果与模板图像对比得到机器人实际位置与模板位置的位置偏差;
所述近距离左右校准包括:图像预处理和直线检测,所述直线检测采用LSD直线段检测算法,对图像预处理获得的图像进行部分修改,得到机器人的精准位置;
所述LSD直线段检测算法具体包括:高斯模糊下采样、梯度计算、梯度排序、设定梯度阈值、区域增长、矩形逼近、对齐点密度和噪声矩形计算。
2.根据权利要求1所述的一种复杂环境下的视觉定位方法,其特征在于,所述图形边缘检测使用Canny算子检测图像边缘,检测步骤包括高斯模糊平滑图像、图像梯度计算、非极大值抑制和双阈值处理四个步骤。
3.根据权利要求1所述的一种复杂环境下的视觉定位方法,其特征在于,所述小轮廓去除包括提取图像内所有轮廓、设定面积阈值与比例阈值和获取噪声轮廓。
4.根据权利要求1所述的一种复杂环境下的视觉定位方法,其特征在于,所述图像形态学处理包括使用闭操作来清除灰度图像,保留大矩形轮廓。
5.根据权利要求1所述的一种复杂环境下的视觉定位方法,其特征在于,所述图像哈希算法包括图像哈希计算、汉明距离计算两个步骤。
6.根据权利要求1所述的一种复杂环境下的视觉定位方法,其特征在于,所述位置偏差计算包括计算像素与实际距离比例和计算偏差值两步骤。
7.根据权利要求1所述的一种复杂环境下的视觉定位方法,其特征在于,所述图像预处理包括图像剪切、灰度化和形态学处理操作三个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910620329.0A CN110349207B (zh) | 2019-07-10 | 2019-07-10 | 一种复杂环境下的视觉定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910620329.0A CN110349207B (zh) | 2019-07-10 | 2019-07-10 | 一种复杂环境下的视觉定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110349207A CN110349207A (zh) | 2019-10-18 |
CN110349207B true CN110349207B (zh) | 2022-08-05 |
Family
ID=68174740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910620329.0A Active CN110349207B (zh) | 2019-07-10 | 2019-07-10 | 一种复杂环境下的视觉定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110349207B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338474B (zh) * | 2020-02-19 | 2022-11-08 | Oppo广东移动通信有限公司 | 虚拟对象位姿校准方法及装置、存储介质和电子设备 |
CN111913873A (zh) * | 2020-06-17 | 2020-11-10 | 浙江数链科技有限公司 | 图片校验方法、装置、系统和计算机可读存储介质 |
CN112216640B (zh) * | 2020-10-19 | 2021-08-06 | 高视科技(苏州)有限公司 | 一种半导体芯片定位方法和装置 |
CN112561986A (zh) * | 2020-12-02 | 2021-03-26 | 南方电网电力科技股份有限公司 | 巡检机器人云台的二次对准方法、装置、设备和存储介质 |
CN112700415B (zh) * | 2020-12-31 | 2024-05-17 | 重庆宇海精密制造股份有限公司 | 一种笔电外壳缺陷快速检测算法 |
CN112767426B (zh) * | 2021-01-07 | 2023-11-17 | 珠海格力电器股份有限公司 | 一种目标匹配方法、装置和机器人 |
CN112819764B (zh) * | 2021-01-25 | 2022-07-19 | 湖南省计量检测研究院 | 一种堆叠燃料电池膜电极mea极位检测方法 |
CN113822361B (zh) * | 2021-09-18 | 2024-02-02 | 重庆大学 | 一种基于汉明距离的sar图像相似程度度量方法和系统 |
CN114782292B (zh) * | 2022-03-10 | 2023-05-09 | 中国电子科技集团公司第二十九研究所 | 一种雷达信号处理优化方法 |
CN115311691B (zh) * | 2022-10-12 | 2023-02-28 | 山东圣点世纪科技有限公司 | 一种基于腕部静脉和腕部纹理的联合识别方法 |
CN116310806B (zh) * | 2023-02-28 | 2023-08-29 | 北京理工大学珠海学院 | 一种基于图像识别的智慧农业一体化管理系统及方法 |
CN116758171B (zh) * | 2023-08-21 | 2023-10-27 | 武汉中导光电设备有限公司 | 成像系统位姿矫正方法、装置、设备及可读存储介质 |
CN117437309B (zh) * | 2023-12-21 | 2024-03-22 | 梁山公用水务有限公司 | 基于人工智能的水利水务数字化管理系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101609504A (zh) * | 2009-07-21 | 2009-12-23 | 华中科技大学 | 一种红外图像海面目标检测识别定位方法 |
CN102682292A (zh) * | 2012-05-10 | 2012-09-19 | 清华大学 | 基于单目视觉的道路边缘检测及粗定位方法 |
JP2012216051A (ja) * | 2011-03-31 | 2012-11-08 | Fuji Soft Inc | 歩行ロボット装置及びその制御プログラム |
CN104089616A (zh) * | 2014-07-31 | 2014-10-08 | 四川阿泰因机器人智能装备有限公司 | 移动机器人定位系统 |
CN106403941A (zh) * | 2016-08-29 | 2017-02-15 | 上海智臻智能网络科技股份有限公司 | 一种定位方法及装置 |
CN108562274A (zh) * | 2018-04-20 | 2018-09-21 | 南京邮电大学 | 一种基于标志器的非合作目标位姿测量方法 |
CN108682027A (zh) * | 2018-05-11 | 2018-10-19 | 北京华捷艾米科技有限公司 | 基于点、线特征融合的vSLAM实现方法及系统 |
CN109814572A (zh) * | 2019-02-20 | 2019-05-28 | 广州市山丘智能科技有限公司 | 移动机器人定位建图方法、装置、移动机器人和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4300199B2 (ja) * | 2005-06-13 | 2009-07-22 | 株式会社東芝 | 移動ロボット、移動ロボットの位置姿勢算出方法、移動ロボットの自律走行システム |
-
2019
- 2019-07-10 CN CN201910620329.0A patent/CN110349207B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101609504A (zh) * | 2009-07-21 | 2009-12-23 | 华中科技大学 | 一种红外图像海面目标检测识别定位方法 |
JP2012216051A (ja) * | 2011-03-31 | 2012-11-08 | Fuji Soft Inc | 歩行ロボット装置及びその制御プログラム |
CN102682292A (zh) * | 2012-05-10 | 2012-09-19 | 清华大学 | 基于单目视觉的道路边缘检测及粗定位方法 |
CN104089616A (zh) * | 2014-07-31 | 2014-10-08 | 四川阿泰因机器人智能装备有限公司 | 移动机器人定位系统 |
CN106403941A (zh) * | 2016-08-29 | 2017-02-15 | 上海智臻智能网络科技股份有限公司 | 一种定位方法及装置 |
CN108562274A (zh) * | 2018-04-20 | 2018-09-21 | 南京邮电大学 | 一种基于标志器的非合作目标位姿测量方法 |
CN108682027A (zh) * | 2018-05-11 | 2018-10-19 | 北京华捷艾米科技有限公司 | 基于点、线特征融合的vSLAM实现方法及系统 |
CN109814572A (zh) * | 2019-02-20 | 2019-05-28 | 广州市山丘智能科技有限公司 | 移动机器人定位建图方法、装置、移动机器人和存储介质 |
Non-Patent Citations (2)
Title |
---|
《一种基于多传感融合的室内建图和定位算法》;纪嘉文等;《成都信息工程大学学报》;20180831;全文 * |
《基于点线特征的单目视觉同时定位与地图构建算法》;王丹等;《机器人》;20190331;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110349207A (zh) | 2019-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110349207B (zh) | 一种复杂环境下的视觉定位方法 | |
CN107679520B (zh) | 一种适用于复杂条件下的车道线视觉检测方法 | |
CN108256394B (zh) | 一种基于轮廓梯度的目标跟踪方法 | |
CN109903313B (zh) | 一种基于目标三维模型的实时位姿跟踪方法 | |
WO2022007431A1 (zh) | 一种Micro QR二维码的定位方法 | |
CN107220988B (zh) | 基于改进canny算子的零部件图像边缘提取方法 | |
CN109086724B (zh) | 一种加速的人脸检测方法及存储介质 | |
CN109961506A (zh) | 一种融合改进Census图的局部场景三维重建方法 | |
CN108229475B (zh) | 车辆跟踪方法、系统、计算机设备及可读存储介质 | |
CN104933434A (zh) | 一种结合LBP特征提取和surf特征提取方法的图像匹配方法 | |
CN108229342B (zh) | 一种海面舰船目标自动检测方法 | |
KR20130030220A (ko) | 고속 장애물 검출 | |
CN107403435B (zh) | 一种基于rgb颜色空间的彩色图像边缘提取方法 | |
Lo et al. | Joint trilateral filtering for depth map super-resolution | |
CN114399522A (zh) | 一种基于高低阈值的Canny算子的边缘检测方法 | |
CN110288571B (zh) | 一种基于图像处理的高铁接触网绝缘子异常检测方法 | |
CN110021029B (zh) | 一种适用于rgbd-slam的实时动态配准方法及存储介质 | |
CN111105452B (zh) | 基于双目视觉的高低分辨率融合立体匹配方法 | |
CN106875430B (zh) | 动态背景下基于固定形态的单一运动目标追踪方法和装置 | |
CN114067147B (zh) | 一种基于局部形状匹配的舰船目标确认方法 | |
Kortli et al. | Efficient implementation of a real-time lane departure warning system | |
Alazzawi | Edge detection-application of (first and second) order derivative in image processing: communication | |
CN113205494A (zh) | 基于自适应尺度图像块加权差测量的红外小目标检测方法和系统 | |
CN112734816A (zh) | 基于CSS-Delaunay的异源图像配准方法 | |
CN115205564B (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 |