一种基于道路矫正的单目视觉机器人快速循迹的方法

文档序号:6551838阅读:222来源:国知局
一种基于道路矫正的单目视觉机器人快速循迹的方法
【专利摘要】一种基于道路矫正的单目视觉机器人快速循迹的方法,属于单目视觉机器人路径识别领域。该方法的基本思想分纵向与横向两个方面对原始道路图像建立矫正映射表,实现单目机器人道路图像的矫正,并在此基础上,采用偏差控制的方式,实现机器人的自动循迹行驶。在此基础上,机器人进行道路循迹行驶,可以较准确地求得真实的道路曲率及斜率等物理信息,减小了道路图像畸变对机器人控制运行的影响。
【专利说明】一种基于道路矫正的单目视觉机器人快速循迹的方法

【技术领域】
[0001] 本发明属于单目视觉机器人路径识别领域,涉及一种单目视觉机器人的快速循迹 行驶的方法,尤其涉及一种基于道路矫正的单目视觉机器人快速循迹的方法。

【背景技术】
[0002] 道路识别与定位,是机器人的基本任务之一,而视觉传感器因为所获取的信息量 大、道路视程远,而成为机器人路径识别常用的传感器之一。其中,单目视觉机器人,即只通 过单个视觉传感器来获得路径信息的机器人,相比于双目视觉及全视野机器人,具有硬件 结构简单灵活、数据易于处理的优点,因而成为在机器人路径识别中应用广泛。
[0003] 单目视觉传感器最理想的安装位置,是保证传感器的感光平面与道路平行。如果 物体表面和投影图像平面不平行,任意物体在向图像坐标系平面投影时,物体形状会发生 畸变,因此俯仰角应越大越好。然而为了能拍摄到足够远的道路,传感器安装的俯仰角又不 能太大。通常情况下传感器都与路面成一定角度安装,而这样会导致所获得的图像不能真 实的反映道路的宽度及视场信息,对于道路的真实曲率、斜率的获取,移动方案的选择有一 定的影响;同时对于道路标志的特征提取、识别等后续处理也非常不利。
[0004] 为了消除这种道路图像的失真,要进行道路图像的矫正。传统的关于图像矫正的 研究很多,包括利用逆透视变换建模法与直接标定建模法,这两种方法的主要区别获取参 数的手段不同:前者是通过逆透视变换的原理进行摄像机的内部、外部参数标定,精确度相 对较高但计算复杂,而后者则是通过几何测量与计算的方法,直接得到摄像机的各项参数, 相对简单但参数精度都不够。在得到摄像机参数后,它们都是通过坐标系转换的方法进行 计算,其间会用到大量的矩阵变换理论,推演相对复杂,并且很多传感器内部的精确参数并 不易获得;算法复杂度高、运算量大,对于运算能力有限的自主移动机器人来说处理实时性 较差。
[0005] 综上所述,现阶段在单目视觉机器人循迹系统技术的研究存在的不足主要有:
[0006] 1.单目视觉机器人获得的道路图像相比真实道路情况,存在一些形变,不能反应 真实道路的斜率获取曲率。
[0007] 2.要对道路图像进行矫正,传统的矫正方法对摄像机的标定参数过多,标定过程 中建模复杂,理论推演长,运算量大;对于运算性能有限的自主移动机器人来说实现实时处 理困难较大。


【发明内容】

[0008] 针对上述出现的缺点以及现有矫正道路图像过程中建模复杂、计算量偏大等问 题,本发明的目的在于提供了一种简便快速地对单目视觉机器人的道路图像进行失真矫正 的实现方案。在此基础上,机器人进行道路循迹行驶,可以较准确地求得真实的道路曲率及 斜率等物理信息,减小了道路图像畸变对机器人控制运行的影响。
[0009] 为实现上述目的,本发明采用的技术方案为一种基于道路矫正的单目视觉机器人 快速循迹的方法,该方法的基本思想分纵向与横向两个方面对原始道路图像建立矫正映射 表,实现单目机器人道路图像的矫正,并在此基础上,采用偏差控制的方式,实现机器人的 自动循迹行驶。
[0010] 本发明中,机器人采用0V7620摄像头作为视觉传感器采集道路图像,以飞思卡尔 公司的K60单片机作为系统的控制核心;以三轮结构作为执行机构,其中一个万向轮作辅 助支撑,另外两个驱动轮分别以单独的直流电机通过各自的齿轮组驱动旋转,实现机器人 的前进与转向。
[0011] 本发明的方法包括五个步骤:
[0012] 步骤一生成纵向矫正系数。因为道路图像纵向的失真为非线性失真,采用非均匀 行米集来修正纵向的失真。
[0013] 用机器人摄像头采集标定板原始分辨率图像。首先制作一个贴有等距黑线的标定 板。然后将机器人放于标定板前方中心处,用机器人的摄像头对标定板拍摄照片。通过视 频采集卡,将照片传入PC,对照片进行预处理,突出标定板中的黑色标定线;然后从预处理 后的图像中,提取出等距黑线在照片中像素坐标;得到的纵坐标序列构成原始图像的纵向 矫正系数。
[0014] 步骤二生成横向矫正系数。横向矫正系数的作用,通俗地讲,就是将近视野处的图 像以一定的比例横向压缩,远视野处的图像以一定的比例横向拉伸。
[0015] 将机器人放于直道正中间,用机器人的摄像头拍摄道路为直道时的图像。同样用 视频采集卡将其传入PC,识别出在图像中道路各行的宽度,以此为依据,生成各行像素的拉 伸系数。然后,根据拉伸系数计算各行像素序列中,各个像素矫正前后的横向位移大小,它 们共同构成横向矫正系数表。横向矫正的系数表实质上是建立了世界坐标系中的像素坐标 与摄像头坐标系中的像素坐标在横向上的映射关系。
[0016] 步骤三将步骤一生成的纵向与步骤二生成横向矫正系数表带入机器人的中控系 统,实现对原始图像的映射变换。
[0017] 步骤四对步骤三中映射后的图像进行边缘提取、中线拟合,生成道路的中心引导 线。
[0018] 步骤五根据步骤四中得到的道路中心引导线,计算道路的转向偏差,对偏差进行 控制量计算,由机器人的执行机构对方向偏差进行控制消除,从而达到自动循迹行驶的目 的。
[0019] 与现有技术相比,本发明具有如下有益效果。
[0020] 1、本发明能够比较快速的完成对单目视觉机器人所获取的道路图像的实时纠正, 制作纠正表的方法简便快捷,效果明显;通过实验可以发现,改进后的算法在可操作性上更 加简单、工程应用价值较高,并且在还原的准确度上也比较适当;能够得到真实道路的具体 斜率信息,基本消除了单目视觉机器人所获取的道路图像失真的影响。
[0021] 2、使用机器人两次的全分辨率照片,实现机器人道路图像的快速矫正,在速度和 方法上省却了复杂的建模过程,矫正速度快而方法简单。
[0022] 3、使用脚本程序可以实现自动计算参数;一旦硬件条件发生变化,参数表可以实 现快速调整。

【专利附图】

【附图说明】
[0023] 图1机器人循迹过程流程图。
[0024] 图2摄像头图像坐标系与世界坐标系。
[0025] 图3纵向失真的标定板图像正视图。
[0026] 图4标定板放置位置俯视图。
[0027] 图5纵向矫正表的生成过程。
[0028] 图6横向失真的标定图像。
[0029] 图7横向矫正表的生成过程。
[0030] 图8回拐弯矫正前后效果图。
[0031] 图9十字弯矫正前后效果图。

【具体实施方式】
[0032] 以下将结合附图和实施例对本发明作进一步详细说明。
[0033] 本发明中,机器人采用0V7620摄像头作为视觉传感器采集道路图像,以飞思卡尔 公司的K60芯片作为控制系统核心,转向机构采用两轮差速结构,以两个直流电机带动差 速结构实现前进与转向。
[0034] 为更进一步说明本发明在技术内容,创新点效果好,以下结合实施方式并配合附 图详细说明。
[0035] 机器人快速循迹流程图如图1所示。具作步骤如下:
[0036] 步骤一:生成纵向矫正系数。
[0037] 现以采样行数Η = 15进行说明,可以通过改变标定行的密度来改变采样矫正的精 度。
[0038] (1)用机器人摄像头采集标定板原始分辨率图像(Ν*Μ)并进行预处理。
[0039] 制作一个0. 5m*2m的标定板,材料为白色ΚΤ板,两边贴上黑色胶带,标定板上由 近及远等距地贴上15行黑胶带,以便计算机对距离进行自动标定,本例中黑胶带间隔为 2. 5cm。标定板制作完成图的正视图如图3所示。
[0040] 将机器人放于标定板前方中心处,放置位置如图4所示。用机器人的摄像头对标 定板拍摄照片,通过视频采集卡将传感器拍摄的原始分辨率为N*M的灰度照片传至PC,本 例中所用照片原始分辨率为640*480。用Matlab读取其灰度图像矩阵0(u,v)(其中,u为 横坐标,v为纵坐标,1彡u彡N,1彡v彡M)。使用大津法进行全局图像阈值的选取,将原 始图像矩阵〇(u,v)处理为二值化矩阵B(u,v)。
[0041] (2)从图像中心任选一列像素,进行边缘检测,找出特征元素。本列选择η = 330 这一列进行遍历。从B(u,v)中手动指定图像中心附近的列向量Βη(ν) (η为此列向量序号, 1<η<Ν),遍历此列向量,找出其中特征元素的序号。找出的特征行如图5所示。判断 Bn(v)中某像素是否为特征元素的规则如下:
[0042]

【权利要求】
1. 一种基于道路矫正的单目视觉机器人快速循迹的方法,其特征在于:该方法的基本 思想分纵向与横向两个方面对原始道路图像建立矫正映射表,实现单目机器人道路图像的 矫正,并在此基础上,采用偏差控制的方式,实现机器人的自动循迹行驶; 本发明的方法包括五个步骤: 步骤一生成纵向矫正系数;因为道路图像纵向的失真为非线性失真,采用非均匀行采 集来修正纵向的失真; 用机器人摄像头采集标定板原始分辨率图像;首先制作一个贴有等距黑线的标定板; 然后将机器人放于标定板前方中心处,用机器人的摄像头对标定板拍摄照片;通过视频采 集卡,将照片传入PC,对照片进行预处理,突出标定板中的黑色标定线;然后从预处理后的 图像中,提取出等距黑线在照片中像素坐标;得到的纵坐标序列构成原始图像的纵向矫正 系数; 步骤二生成横向矫正系数;横向矫正系数的作用就是将近视野处的图像以一定的比例 横向压缩,远视野处的图像以一定的比例横向拉伸; 将机器人放于直道正中间,用机器人的摄像头拍摄道路为直道时的图像;同样用视频 采集卡将其传入PC,识别出在图像中道路各行的宽度,以此为依据,生成各行像素的拉伸系 数;然后,根据拉伸系数计算各行像素序列中,各个像素矫正前后的横向位移大小,它们共 同构成横向矫正系数表;横向矫正的系数表实质上是建立了世界坐标系中的像素坐标与摄 像头坐标系中的像素坐标在横向上的映射关系; 步骤三将步骤一生成的纵向与步骤二生成横向矫正系数表带入机器人的中控系统,实 现对原始图像的映射变换; 步骤四对步骤三中映射后的图像进行边缘提取、中线拟合,生成道路的中心引导线; 步骤五根据步骤四中得到的道路中心引导线,计算道路的转向偏差,对偏差进行控制 量计算,由机器人的执行机构对方向偏差进行控制消除,从而达到自动循迹行驶的目的。
2. 根据权利要求1所述的一种基于道路矫正的单目视觉机器人快速循迹的方法,其特 征在于:本发明中,机器人采用0V7620摄像头作为视觉传感器采集道路图像,以飞思卡尔 公司的K60单片机作为系统的控制核心;以三轮结构作为执行机构,其中一个万向轮作辅 助支撑,另外两个驱动轮分别以单独的直流电机通过各自的齿轮组驱动旋转,实现机器人 的前进与转向。
3. 根据权利要求1所述的一种基于道路矫正的单目视觉机器人快速循迹的方法,其特 征在于:机器人采用0V7620摄像头作为视觉传感器采集道路图像,以飞思卡尔公司的K60 芯片作为控制系统核心,转向机构采用两轮差速结构,以两个直流电机带动差速结构实现 前进与转向; 具作步骤如下: 步骤一:生成纵向矫正系数; 现以采样行数Η = 15进行说明,可以通过改变标定行的密度来改变采样矫正的精度; (1)用机器人摄像头采集标定板原始分辨率图像(Ν*Μ)并进行预处理; 制作一个0. 5m*2m的标定板,材料为白色ΚΤ板,两边贴上黑色胶带,标定板上由近及远 等距地贴上15行黑胶带,以便计算机对距离进行自动标定,本例中黑胶带间隔为2. 5cm ; 将机器人放于标定板前方中心处;用机器人的摄像头对标定板拍摄照片,通过视频 采集卡将传感器拍摄的原始分辨率为N*M的灰度照片传至PC,本例中所用照片原始分辨 率为640*480 ;用Matlab读取其灰度图像矩阵0(u,v)(其中,u为横坐标,v为纵坐标, 1 < u < N,1 < v < M);使用大津法进行全局图像阈值的选取,将原始图像矩阵0(U,v)处 理为二值化矩阵B(u,v); (2) 从图像中心任选一列像素,进行边缘检测,找出特征元素;本列选择η = 330这 一列进行遍历;从B(u,v)中手动指定图像中心附近的列向量Βη(ν) (η为此列向量序号, 1彡η < Ν),遍历此列向量,找出其中特征元素的序号;判断Β?中某像素是否为特征元 素的规则如下:
式中,SelectedRow_F(v)为特征元素的标志量; (3) 从预处理后的图像中得到世界坐标系中的黑色选定行序列在摄像头坐标系中的纵 坐标序列,公式如下: SelectedRow = {v | 1 ^ v ^ M, SelectedRow_F (v) = 1} SelectedRow序列构成原始图像的纵向矫正系数; 步骤二:生成横向矫正系数; 对于横向的畸变,米取基于标定对比的线性伸缩矫正;将机器人放于直道正中间,用机 器人的摄像头采集直道的图形;计算横向矫正系数;具体计算过程如下: (1) 利用微分算子法,搜索出原始直道图像中每一行的左右边沿的位置,继而计算出图 像中直道每一行的宽度; (2) 计算各行像素的横向拉伸系数;将近视野处的图像以一定的比例横向压缩,远视 野处的图像以一定的比例横向拉伸,每一行都有一个与之相关的拉伸系数,算法的关键便 是如何确定各行的系数;将第v行的拉伸系数定为常数:
其中,Coeff (v)是第v行像素对应的行矫正系数;Width_Straight为需要手工指定的 全局参数,它决定着实际道路在采样图像中横向所占的像素数,调整其大小可以改变图像 整体的拉伸程度;width(v)为采样图像中第v行道路所占的像素数; (3) 根据横向拉伸系数计算各行像素的矫正前后的横向位移大小;横向映射表的生成 依据是第v行的各个像素,其距中心像素民汎/2, v)的偏离程度与其在世界坐标系中距中 心位置的距离成正比;各个像素矫正前后的横向位移大小计算公式为: Δ correction (u, v) = Coeff (v) * (u-Center_U) Coeff (v)是第v行像素对应的行矫正系数; (4) 生成横向矫正系数表;横向矫正的系数表实质上是建立了世界坐标系中的像素坐 标与摄像头坐标系中的像素坐标在横向上的映射关系;其计算公式如下: correction (u, v) = Center_U+ Δ correction (u, v) 其中,correctionx(u,v)为采样图像坐标系(u,v)与世界坐标系的横坐标x的映射关 系;Center_U是图像的中心列像素点所在横坐标,即传感器正对道路时,道路中心所在列 序号; 步骤三:将生成的纵向与横向矫正系数表带入机器人的中控系统,对图像完成实时映 射矫正; 矫正前道路图像Video(u,v)与矫正后道路图像Video(x, y)与的映射关系如下:
其中,左半边图均为矫正前的道路图像,右半边均为矫正后的道路图像; 步骤四:对矫正后图像进行边缘提取,中线拟合,生成道路的中心引导线; 基于二值化分割的边缘检测算法,对矫正后图像进行边缘检测; 步骤五:计算道路的转向偏差,对偏差进行控制量计算,由机器人的执行机构对方向偏 差进行控制消除,从而达到根据引导线的目的。
【文档编号】G06K9/46GK104123535SQ201410309105
【公开日】2014年10月29日 申请日期:2014年7月1日 优先权日:2014年7月1日
【发明者】梁军, 孙博轩, 梁爱华, 潘峰 申请人:北京联合大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1