仿生机械恐龙的视觉识别系统实现方法转让专利

申请号 : CN201210301494.8

文献号 : CN102831407B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 韩晓建常楷孙宇齐威

申请人 : 中科宇博(北京)文化有限公司

摘要 :

本发明公开了一种仿生机械恐龙的视觉识别系统实现方法,包括以下步骤:通过左、右并排设置的两台参数相同的左、右摄像机实时获取同一时间人体手掌的两幅数字图像A1、A2;基于人体手掌的肤色颜色侦测并提取所述数字图像A1、A2中人体手掌的轮廓参数值,并与内置的人体手掌样本参数值进行对比,识别出所述数字图像A1、A2中的人体手掌;基于所述数字图像A1、A2中的人体手掌座标,根据双目视觉的视差原理,计算得到人体手掌在相应的摄像机座标系以及固定座标系内三维座标,从而获得人体手掌的深度信息,实现了仿生机械恐龙的智能视觉感知,达到一定的仿生效果。

权利要求 :

1.仿生机械恐龙的视觉识别系统实现方法,其特征在于,包括以下步骤:通过左、右并排设置的两台参数相同的左、右摄像机实时获取同一时间人体手掌的两幅数字图像A1、A2;

基于人体手掌的肤色颜色侦测并提取所述数字图像A1、A2中人体手掌的轮廓参数值,并与内置的人体手掌样本参数值进行对比,识别出所述数字图像A1、A2中的人体手掌;

基于所述数字图像A1、A2中的人体手掌座标,根据双目视觉的视差原理,计算得到人体手掌在相应的摄像机座标系以及固定座标系内三维座标,从而获得人体手掌的深度信息,所述固定座标系以左、右摄像机的中点为原点;

在进行人体手掌识别时,首先提取人体手掌的特征信息,再利用公式 计算出所述手掌结构体中的参数与内置的人体手掌样本参数均值的累积偏差,偏差≤3.5时就判定为人体手掌,n为扫描的层数,xi为第i扫描层的数值, 为相应的样本平均值;

手掌特征信息采用手掌结构体来定义,手掌结构体中的成员变量包括扫描线进入肤色时的角度变量、出肤色区域时的角度变量、肤色区域的个数以及肤色区域的名称标识;

所述的左、右摄像机使用前,对以下参数进行标定:

内参数矩阵:

畸变系数矩阵:

ζ1=[kc11 kc12 pc11 pc12];ζ2=[kc21 kc22 pc21 pc22];

外参数矩阵:

R=[RxRyRz];θ=[θx θy θz];T=[x y z];

其中f1和f2指左、右摄像机的有效距离,即图像平面到左、右摄像机平面的距离;k1、k2、l1和l2指图像上像素的长和宽;θ1和θ2指左、右摄像机的光轴相对于各自摄像机坐标系的偏角;u1、u2、v1和v2指目标点在图像平面内的坐标值;kc11、kc12、kc21、kc22、pc11、pc12、pc21、pc22为左、右摄像机内部透镜的径向畸变系数和切向畸变系数;R为左、右摄像机之间的旋转矩阵;T为左、右摄像机之间的平移矩阵;θ为摄像机座标系与固定座标系之间的旋转角度;M1为左摄像机的内参数矩阵,M2为右摄像机的内参数矩阵;Rx、Ry和Rz分别为左、右摄像机之间的旋转矩阵中X轴、Y轴和Z轴方向上的距离;θx、θy和θz分别为摄像机座标系与固定座标系之间在X轴、Y轴和Z轴方向上的旋转角度。

2.如权利要求1所述的仿生机械恐龙的视觉识别系统实现方法,其特征在于,基于肤色颜色侦测并提取数字图像中人体手掌的轮廓参数值的步骤如下;

根据设定的人体手掌肤色颜色提取出数字图像内的人体手掌皮肤颜色;

进行肤色部分与非肤色部分的分割;

以手掌中心为圆心,以一定的步长按圆形由手掌中心向外逐层扫描,获得人体手掌的轮廓参数值,识别出人体手掌轮廓。

3.如权利要求2所述的仿生机械恐龙的视觉识别系统实现方法,其特征在于,识别出人体手掌轮廓的步骤如下:步骤201、利用高斯滤波器平滑原始图像;

步骤202、使用一阶偏导的有限差分计算图像梯度的方向和幅值;

步骤203、对边缘进行适当的增强,抑制极大值;

步骤204、利用双阙值算法进行边缘的检测和定位、连接;

步骤205、在有效的边缘信息里,采用的Hough变换方法检测识别人体手掌的轮廓。

4.如权利要求3所述的仿生机械恐龙的视觉识别系统实现方法,其特征在于:在步骤204中,设定两个阈值th1和th2,两者关系为th1=0.4th2;对原始的灰度图像将梯度值小于th1的像素的灰度值设为0,从而得到图像1;将梯度值小于th2的像素的灰度值设为0,得到图像2;再以图像2为基础,以图像1为补充来连结图像的边缘。

5.如权利要求1所述的仿生机械恐龙的视觉识别系统实现方法,其特征在于:采用二步法对摄像机的参数进行标定,具体步骤如下:步骤301、忽略畸变参数,取一组模板图像上畸变较小的点即靠近图像中心的点,利用这些点的世界坐标系位置坐标和图像像素坐标值作为已知参数,由线性标定方法求解得到摄像机的内外参数;

步骤302、利用优化算法迭代,提高摄像机各个内外参数的精度;

步骤303、将第二步所得的内外参数作为初始值,然后选取该模板平面上的所有有效角点,建立一个优化模型,最终在优化算法的迭代下,求得摄像机最优的内部参数矩阵,外部参数矩阵以及畸变参数矩阵。

说明书 :

仿生机械恐龙的视觉识别系统实现方法

技术领域

[0001] 本发明涉及四足机器人,具体涉及仿生机械恐龙的视觉识别系统实现方法。

背景技术

[0002] 机器人技术是近几十年来迅速发展起来的一门高新技术,它综合了机械、微电子与计算机、自动控制、传感器与信息处理以及人工智能等多学科的最新研究成果,是机电一体化技术的典型载体。大型四足仿生机械恐龙是四足步行机器人的一种重要应用,广泛应用于娱乐、影视等领域。
[0003] 众所周知,视觉识别系统是大型四足仿生机械恐龙的重要组成部分,通过视觉识别系统实现大型四足仿生机械恐龙的自主感知,并通过运动控制系统做出相应的动作。
[0004] 目前机器人的视觉识别系统由一台摄像机组成,通过摄像机获取周围场景的数字图像,再进行处理分析,从而获得目标特征。但是,这种视觉识别系统仅适用于固定不动的工业机器人上,对于移动式机器人而言则存在一定的局限性,最突出的缺点就是无法获知目标的距离,从而限制了机器人的主动反应功能。
[0005] 有鉴于此,需要对现有的大型四足仿生机械恐龙的视觉识别系统进行改进设计,使其具备智能化的视觉感知功能,从而通过运动控制系统做出相应的动作。

发明内容

[0006] 本发明所要解决的技术问题是解决大型四足仿生机械恐龙的视觉识别系统智能化的视觉感知功能较差的问题。
[0007] 为了解决上述技术问题,本发明所采用的技术方案是提供一种仿生机械恐龙的视觉识别系统实现方法,包括包括以下步骤:
[0008] 通过左、右并排设置的两台参数相同的左、右摄像机实时获取同一时间人体手掌的两幅数字图像A1、A2;
[0009] 基于人体手掌的肤色颜色侦测并提取所述数字图像A1、A2中人体手掌的轮廓参数值,并与内置的人体手掌样本参数值进行对比,识别出所述数字图像A1、A2中的人体手掌;
[0010] 基于所述数字图像A1、A2中的人体手掌座标,根据双目视觉的视差原理,计算得到人体手掌在相应的摄像机座标系以及固定座标系内三维座标,从而获得人体手掌的深度信息,所述固定座标系以左、右摄像机的中点为原点。
[0011] 在上述方法中,基于肤色颜色侦测并提取数字图像中人体手掌的轮廓参数值的步骤如下;
[0012] 根据设定的人体手掌肤色颜色提取出数字图像内的人体手掌皮肤颜色;
[0013] 进行肤色部分与非肤色部分的分割;
[0014] 以手掌中心为圆心,以一定的步长按圆形由手掌中心向外逐层扫描,获得人体手掌的轮廓参数值,识别出人体手掌轮廓。
[0015] 在上述方法中,识别出人体手掌轮廓的步骤如下:
[0016] 步骤201、利用高斯滤波器平滑原始图像;
[0017] 步骤202、使用一阶偏导的有限差分计算图像梯度的方向和幅值;
[0018] 步骤203、对边缘进行适当的增强,抑制极大值;
[0019] 步骤204、利用双阙值算法进行边缘的检测和定位、连接;
[0020] 步骤205、在有效的边缘信息里,采用的Hough变换方法检测识别人体手掌的轮廓。
[0021] 在上述方法中,在步骤204中,设定两个阈值th1和th2,两者关系为th1=0.4th2;对原始的灰度图像将梯度值小于th1的像素的灰度值设为0,从而得到图像1;将梯度值小于th2的像素的灰度值设为0,得到图像2;再以图像2为基础,以图像1为补充来连结图像的边缘。
[0022] 在上述方法中,手掌特征信息采用手掌结构体来定义,手掌结构体中的成员变量包括扫描线进入肤色时的角度变量、出肤色区域时的角度变量、肤色区域的个数以及肤色区域的名称标识。
[0023] 在上述方法中,在进行人体手掌识别时,首先提取人体手掌的特征信息,再利用公式 计算出所述手掌结构体中的参数与内置的人体手掌样本参数均值的累积偏差,偏差≤3.5时就判定为人体手掌。
[0024] 在上述方法中,所述的左、右摄像机使用前,对以下参数进行标定:
[0025] 内参数矩阵:
[0026]
[0027] 畸变系数矩阵:
[0028] ζ1=[kc11 kc12 pc11 pc12];ζ2=[kc21 kc22 pc21 pc22]
[0029] 外参数矩阵:
[0030] R=[Rx Ry Rz];θ=[θx θy θz];T=[x y z];
[0031]
[0032] 其中f1和f2指左、右摄像机的有效距离,即图像平面到左、右摄像机平面的距离;k1、k2、l1和l2指图像上像素的长和宽;θ1和θ2指左、右摄像机的光轴相对于各自摄像机坐标系的偏角;u1、u2、v1和v2指目标点在图像平面内的坐标值;kc11、kc12、kc21、kc22、pc11、pc12、pc21、pc22为左、右摄像机内部透镜的径向畸变系数和切向畸变系数;R为左、右摄像机之间的旋转矩阵;T为左、右摄像机之间的平移矩阵;θ为摄像机座标系与固定座标系之间的旋转角度。
[0033] 在上述方法中,采用二步法对摄像机的参数进行标定,具体步骤如下:
[0034] 步骤301、忽略畸变参数,取一组模板图像上畸变较小的点即靠近图像中心的点,利用这些点的世界坐标系位置坐标和图像像素坐标值作为已知参数,由线性标定方法求解得到摄像机的内外参数;
[0035] 步骤302、利用优化算法迭代,提高摄像机各个内外参数的精度;
[0036] 步骤303、将第二步所得的内外参数作为初始值,然后选取该模板平面上的所有有效角点,建立一个优化模型,最终在优化算法的迭代下,求得摄像机最优的内部参数矩阵,外部参数矩阵以及畸变参数矩阵。
[0037] 本发明,通过左、右并排设置的两台参数相同的左、右摄像机实时获取同一时间人体手掌的两幅数字图像,再根据双目视觉的视差原理,计算得到人体手掌在相应的摄像机座标系以及固定座标系内三维座标,从而获得人体手掌的深度信息,实现了仿生机械恐龙的智能视觉感知,达到一定的仿生效果。

附图说明

[0038] 图1为本发明的流程图。

具体实施方式

[0039] 本发明提供的仿生机械恐龙的视觉识别系统及其实现方法,通过左、右并排设置的两台参数相同的摄像机实时获取同一时间人体手掌的两幅数字图像,然后由图像处理装置对两幅数字图像分别人体手掌识别和深度信息计算,从而获得人体手掌的空间位置信息,在此基础上,仿生机械恐龙就可以根据人体手掌的移动驱动相应的关节做出相应的响应动作,实现仿生机械恐龙的智能视觉感知,达到一定的仿生效果。下面结合附图和具体实施例对本发明作出详细的说明。
[0040] 如图1所示,仿生机械恐龙的视觉识别系统实现方法包括以下步骤:
[0041] 步骤1、通过左、右摄像机实时获取同一时间人体手掌的两幅数字图像A1、A2,左、右摄像机参数相同且左、右并排设置。
[0042] 步骤2、基于Open CV,采用Canny算法识别出人体手掌图像。
[0043] 手掌特征识别主要是基于肤色颜色的侦测与提取实现,首先根据设定的人体手掌肤色颜色提取出数字图像内的人体手掌皮肤颜色,提取完图像中的肤色后,进行肤色部分与非肤色部分的分割,然后过滤噪点,重新填充图形以形成一个清晰的二值轮廓图像,再以手掌中心为圆心,以一定的步长按圆形由手掌中心向外逐层扫描,进行轮廓侦测,提取所侦测到的轮廓参数值,获得人体手掌的轮廓参数值,识别出人体手掌轮廓。识别出人体手掌轮廓的步骤如下:
[0044] 步骤201、利用高斯滤波器平滑原始图像;
[0045] 步骤202、使用一阶偏导的有限差分计算图像梯度的方向和幅值;
[0046] 步骤203、对边缘进行适当的增强,抑制极大值;
[0047] 步骤204、利用双阙值算法进行边缘的检测和定位、连接。
[0048] 在步骤204中,设定两个阈值th1和th2,两者关系为th1=0.4th2。对原始的灰度图像将梯度值小于th1的像素的灰度值设为0,从而得到图像1。将梯度值小于th2的像素的灰度值设为0,得到图像2。由于图像2的阈值较高,去除大部分噪音,但同时也损失了有用的边缘信息。而图像1的阈值较低,保留了较多的信息,再以图像2为基础,以图像1为补充来连结图像的边缘。
[0049] 步骤205、在有效的边缘信息里寻找具有目标物特征,即轮廓处理。本步骤中采用几何图形的逼近法实现,在二维的图像中对边缘点进行检测识别。
[0050] 在手掌识别功能中一个重要问题是如何将手掌特征数字化,并采用合理的方法描述其特征信息。手掌特征信息描述的基本思想是扫描线法,在计算机图形学中,显示绘制一幅图像时,常采用从上向下的扫描线的方法,由于一般的屏幕均为矩形,所以采用横向水平线按设定步长扫描。而对于一伸开的手掌,从轮廓上来看,其形状更接近于圆形,所以本发明将扫描线法加以改进,改为以手掌中心为圆心,以一定的步长(例如取步长为10)按圆形向外逐层扫描,以获得图形轮廓的信息,从而提高了扫描的效率。
[0051] 手掌特征信息描述在程序中采用一结构体来定义,主要是将扫描到的手指的数目记录下来,结构体中的成员变量主要是处理二值图像时应用的,包括扫描线进入肤色时的角度变量、出肤色区域时的角度变量、肤色区域的个数、肤色区域的名称标识等信息参数。手掌特征结构体具体定义如下:
[0052] struct GestureStruct//定义一个手势结构数据类型
[0053] {float angle[ScanNum][7];//记录进入肤色边限
[0054] float anglecha[ScanNum][7];//记录出肤色边限
[0055] float count[ScanNum];//记录肤色区域个数
[0056] CString angleName;//进入肤色边限数据节点名称
[0057] CString anglechaName;//出肤色边限数据节点名称
[0058] CString countName;//肤色区域数量数据节点名称
[0059] };
[0060] 手掌识别的实质过程是将采集到的图像信息与预存样本的数据相对比,达到一定的相似度就判定为手掌,所以首先必须预先采集足够的样本数据信息。采集到图像后,要对图像进行特征信息的提取,对采集到的样本数据信息进行均值处理,存入文档文件,以备手掌识别时进行数据信息的匹配。
[0061] 在进行手掌识别时,采集到一幅图像后,首先提取图像特征的数据信息,保存到手掌结构体中,再利用公式 计算出手掌结构体中的参数与内置的人体手掌样本参数均值的累积偏差,允许误差s设定为3.5,即误差s≤3.5时就判定为手掌。公式中:n为扫描的层数,xi为第i扫描层的数值,为相应的样本平均值。误差s取太小太大都会影响识别的正确率,一方面由于每个体的手掌不完全相同,另一方而即使同一手掌在两次或多次拍摄出的图像也不完全相同,鉴于手掌特征的差别性,相似度不能取为100%,而实际上
70%这一数值是通过若干次试验得到的经验值。相似度取值过小会影响识别的通过率,而太大就会引起许多误判,将不是手掌的特征误判为手掌特征,综合各方面的分析,取边界条件取为70%。
[0062] 步骤3、基于所述数字图像A1、A2中的人体手掌座标,根据双目视觉的视差原理,计算得到人体手掌在相应的摄像机座标系以及固定座标系内三维座标,从而获得人体手掌的深度信息,所述固定座标系以左、右摄像机的中点为原点。
[0063] 对深度信息的获取,直接通过人体手掌在左右数字图像中的坐标值,由左、右摄像机的内外参数变换矩阵计算求得。
[0064] 假设两幅数字图像中的目标点为P1(u1,v1),P2(u2,v1),u1、u2、v1和v2分别为目标点在图像平面内的坐标值,目标点在左摄像机C1坐标系下坐标为Q1(X,Y,Z),设左、右摄像机之间的距离为b,则目标点在右摄像机C2坐标系下坐标为Q2(X-b,Y,Z),由双目视觉的视差原理和已经标定的左、右摄像机内外参数可得:
[0065]
[0066]
[0067]
[0068] d=u1-u2为视差值;于是,目标点相对于左、右摄像机中点为原点的固定座标系的三个坐标值X、Y、Z为:
[0069]
[0070]
[0071]
[0072] u0、v0为固定座标系的原点(左、右摄像机中点)在图像平面内的坐标值。
[0073] 以上所介绍的是仿生机械恐龙的视觉识别系统的基本实现方法,然而,由于恐龙机器人的视场较大,摄像机的畸变系数是不可忽略的,为了保证视觉系统的精度,对摄像机各个参数进行标定是必要的。
[0074] 需要的标定得到的有:
[0075] 内参数矩阵:
[0076]
[0077] 畸变系数矩阵:
[0078] ζ1=[kc11 kc12 pc11 pc12];ζ2=[kc21 kc22 pc21 pc22]
[0079] 外参数:
[0080] R=[Rx Ry Rz];θ=[θx θy θz];T=[x y z];
[0081]
[0082] 其中f1和f2指左、右摄像机的有效距离,即图像平面到左、右摄像机平面的距离;k1、k2、l1和l2指图像上像素的长和宽;θ1和θ2指左、右摄像机的光轴相对于各自摄像机坐标系的偏角;u1、u2、v1和v2指目标点在图像平面内的坐标值;kc11、kc12、kc21、kc22、pc11、pc12、pc21、pc22为左、右摄像机内部透镜的径向畸变系数和切向畸变系数;R为左、右摄像机之间的旋转矩阵;T为左、右摄像机之间的平移矩阵;θ为摄像机座标系与固定座标系之间的旋转角度。
[0083] 本发明采用的标定方法是二步法(非线性标定方法),先利用直接线性变换方法或者透视变换矩阵方法求解摄像机大部分的内部参数和外部参数,然后在考虑畸变系数的同时,利用现有内外参数为初始值,并利用最优化算法逐步优化提高参数的精度,最终无限靠近真实值,具体步骤如下:
[0084] 步骤301、忽略畸变参数,取一组模板图像上畸变较小的点即靠近图像中心的点,利用这些点的世界坐标系位置坐标和图像像素坐标值作为已知参数,由线性标定方法求解得到摄像机的内外参数;
[0085] 步骤302、利用优化算法迭代,提高摄像机各个内外参数的精度;
[0086] 步骤303、将第二步所得的内外参数作为初始值,然后选取该模板平面上的所有有效角点,建立一个优化模型,最终在优化算法的迭代下,求得摄像机最优的内部参数矩阵,外部参数矩阵以及畸变参数矩阵。
[0087] 实际操作时,计算机程序需要一组成像角度,位置,光线较好的图片,并保证所有图片的拍摄中摄像机在世界坐标系中没有移动或是旋转。
[0088] 本具体实施例中,标定过程采用最常见于摄像机标定的棋盘格作为模板,每个正方形长宽均为21.8mm,摄像机采集分辨率为1024×768,将模板处于两台摄像机的视场中,并保证有足够大的成像面积,拍摄左右各12张图片LImage00-LImage11和RImage00-RImage11,以bmp格式存放。计算机软件逐幅读入图像,分别对左右摄像机所得的图片进行角点检测,然后利用两点法求解两台摄像机各自内部参数矩阵,畸变系数矩阵。
[0089] 在得到了左右两个摄像机的内参矩阵和外参矩阵,以及畸变系数矩阵后,利用同一时刻两个不同摄像机拍摄的同一个场景图上的角点坐标之间的差异,可以计算得到两台摄像机之间的位姿关系,即旋转矩阵R,平移矩阵T。以左摄像机为原点,通过旋转矩阵R,平移矩阵T就可以得到右相机的实际位置。最终所得的摄像机参数如下:
[0090] 左摄像机:
[0091] 有效距离:[1539.25492~1543.47027]±[20.47100~19.65087];
[0092] 投影中心:[596.33047~519.36039]±[17.73325~15.19730];
[0093] 畸变系数:[-0.21782 0.34211 -0.00140 0.005770.00000]±[0.02939 0.110580.00174 0.00341 0.00000]。
[0094] 右摄像机:
[0095] 有效距离:[1550.88977~1557.89146]±[18.68649~18.29989];
[0096] 投影中心:[680.46369~526.20209]±[16.63718~15.26924];
[0097] 畸变系数:[-0.14284 0.21477 0.00521 -0.004690.00000]±[0.02466 0.051990.00205 0.00361 0.00000];
[0098] 旋转矩阵:R=[0.00777 -0.04264 0.00276];
[0099] 平移矩阵:T=[-202.19105 -0.60804 0.32292]。
[0100] 本发明不局限于上述最佳实施方式,任何人应该得知在本发明的启示下作出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。