一种基于单目手势识别的视觉跟随方法与流程

文档序号:12122099阅读:398来源:国知局
一种基于单目手势识别的视觉跟随方法与流程

技术领域

本发明涉及机器人监控技术领域,具体是一种基于单目手势识别的视觉跟随方法。



背景技术:

目前家用服务机器人大多具有单目摄像机,基于单目摄像机的人体跟随系统大多使用色块跟随的方式,该方式在程序启动时,指定单目摄像头一块预览区域,并在后续的目标移动中不断跟随目标行走。但该种方法存在以下缺陷:

1、色块跟随方法根据指定的初始色块,进行跟踪,因色块跟随方法的缺陷,目标非常容易跟丢;

2、操作繁琐,用户不易理解操作要点。



技术实现要素:

本发明要解决的问题是提供一种基于单目手势识别的视觉跟随方法,该方法通过识别一个特征手势,实时得到精确的机器人与初始位置的空间偏差比率,实现精确跟踪,简单易行,成本较低。

为实现上述发明目的,本发明的基于单目手势识别的视觉跟随方法,包括以下步骤:

1)机器人通过相机模块拍摄包括跟踪目标的手势在内的第一幅场景图片,图片分辨率为W1*H1;约定拍摄图片的左上角第一个点坐标为(1,1),右下角最后一点的坐标为的(W1,H1);

2)所述机器人识别跟踪目标的手势,并获得手势在图片帧中的位置和大小参数:

X1:第一幅场景图片中手势的x轴起点,

Y1:第一幅场景图片中手势的y轴起点,

W2:第一幅场景图片中手势在x轴的宽度,

H2:第一幅场景图片中手势在y轴的高度;

H3:相机模块拍摄到的第一场景的实际高度;

H4:手势的实际高度;

并假定用户初始距离为D1,D1将被用作距离变化的参照值;

3)根据步骤1)和2)获得的参数,计算相机拍摄的第一场景的实际高度H3:

H3= 2 * tan α * D1 (1)

其中,α为相机摄像头垂直可视角的1/2;

还可知H3/H4 = H1 / H2 (2)

H4=H2*H3/H1 (4)

根据所述第一幅场景图片的参数,计算手势在第一幅场景图片中的中心坐标

(X2,Y2):

X2= X1 + (W2 /2) (4)

Y2= Y1 + ( H2/2)) (5)

计算手势在第一幅场景图片中的中心坐标(X2,Y2)同整个第一幅场景图片的中心点坐标(Width/2,Hight/2)的偏离值;

定义O1 = X2 –(W1/2) (6)

O1为此时刻手势与X轴中心点偏移量;

定义β1= arctan(O1/D1) (7)

角β1为此时刻手势识别的中心点在X轴上的偏移角度;

4)跟踪目标向前,或者向后,或者向左,或者向右,移动一个距离,但保持手势在相机的视野范围内;机器人通过相机模块拍摄包括跟踪目标的手势在内的第二幅场景图片;

所述机器人识别跟踪目标的手势,并获得手势在第二幅场景图片帧中的位置和大小参数:

X3:手势第二幅场景图片x轴起点,

Y3:手势第二幅场景图片y轴起点,

W5:手势在第二幅场景图片x轴的宽度,

H5:手势在第二幅场景图片y轴的高度;

H6:相机模块拍摄到的第二场景的实际高度;

5)根据步骤1)至4)获得的参数,计算相机拍摄的第二场景高度H6:

H6 = H1*H4/H5 (8)

D2 = H6/(2 * tan α) (9)

根据所述第二幅场景图片的参数,计算手势在第二幅场景图片中的中心坐标

(X4,Y4):

X4 = X3 + (W4 /2) (10)

Y4 = Y3 + ( H4/2) (11)

计算手势在第二幅场景图片中的中心坐标(X4,Y4)同整个第二幅场景图片的中心点坐标(Width/2,Hight/2)的偏离值;

定义O2 = X4 – (W3/2) (12)

O2为此时刻手势与X轴中心点偏移量;

定义β2= arctan(O2/D2) (13)

角β2为此时刻手势识别的中心点在X轴上的偏移角度;

6)定义R1为距离D2与距离D1的距离比率,该百分比可体现出当前距离D2相对于初始距离D1的相对距离偏差:

R1= D2/D1 = H5/H2 (14)

例如R1=0.8代表,当前相机和跟踪目标的距离比初始距离D1近了20%。R1=1.2则代表,当前相机和跟踪目标距离比初始距离D1远了20%;

定义R2为X轴的偏差比率:

R2 = tanβ2/tanβ1= (X2-(W1/2))*H4/((X4-(W3/2))*H2) (14);

根据公式(13)和(14),可通过R1代表Z轴空间距离D2与初始距离D1的偏离比率,R2代表X轴偏移角度β2与β1的偏差比率。并可依据实时的R1和R2的数值,制定引导机器人的动态跟随算法,调整机器人的姿态和速度,通过使R1和R2的值趋近与1,而得到良好的跟随姿态。

进一步的,在步骤1)相机模块拍摄第一副场景图片之前或同时,机器人通过单点测距模块,测量机器人与跟踪目标之间的距离,获得距离参数D1;在步骤4)相机模块拍摄第二副场景图片之前或同时,机器人通过单点测距模块,测量机器人与跟踪目标之间的距离,获得距离参数D2;此时D1和D2为实际数值,而不是假定的值;

步骤6)的过程变更为:根据实时反馈的跟踪目标和所述机器人的Z轴空间距离D2、X轴空间偏移角度β2制定引导机器人的动态跟随算法;所述机器人通过不断调整机器人的姿态、速度等,从而使D2趋近于D1,β2趋近于β1,而得到良好的跟随姿态;或者,使用预设的舒适跟随距离Dx和偏移距离βy策略,随意调整跟随策略。

更进一步,所述单点测距模块包括超声波测距模块、红外测距模块、激光测距模块。

本发明的一种基于单目手势识别的视觉跟随方法,通过识别一个特征手势,实时得到精确的机器人与初始位置的空间偏差比率,易于精确追踪,跟随动作更自然。还可以在初始状态获知跟踪目标和机器人的精确距离,通过识别一个特征手势,实时得到精确的机器人与人的相对距离,跟踪精度更高。本发明的跟随方法准确率高于色块跟随,成本较3D体感方案大大降低,且效果更好,用户交互顺畅,极易掌握操作要点,使用方便。

附图说明

图1为本发明一个实施例中第一次拍摄场景图片示意图;

图2为本发明一个实施例中第二次拍摄场景图片示意图;

图3为本发明一个实施例中的跟随方法采用的机器人结构示意图;

图4为本发明另一个实施例中的跟随方法采用的机器人结构示意图。

具体实施方式

下面结合附图,以人体为跟踪目标为例,对本发明提出的一种基于单目手势识别的视觉跟随方法进行详细说明。

1)如图1所示,机器人通过相机模块拍摄包括人体的手势在内的第一幅场景图片,图片分辨率为W1*H1;约定拍摄图片的左上角第一个点坐标为(1,1),右下角最后一点的坐标为的(W1,H1);手势可采用手掌为标志或手指为标志,也可以采用其它器官为标志。

2)如图2所示,机器人识别人体的手势,通过手势识别软件,识别人体的手势(如正面手掌),并获得手势在图片帧中的位置和大小参数:

X1:第一幅场景图片中手势的x轴起点,

Y1:第一幅场景图片中手势的y轴起点,

W2:第一幅场景图片中手势在x轴的宽度,

H2:第一幅场景图片中手势在y轴的高度;

H3:相机模块拍摄到的第一场景的实际高度;

H4:手势的实际高度;

并假定用户初始距离为D1,D1将被用作距离变化的参照值;

3)根据步骤1)、2)和3)获得的参数,计算相机拍摄的第一场景高度H3:

H3 = 2 * tan α * D1 (1)

其中,α为相机摄像头垂直可视角的1/2;

还可知H3/H4 = H1 / H2 (2)

H4=H2*H3/H1 (4)

根据第一幅场景图片的参数,计算手势在第一幅场景图片中的中心坐标

(X2,Y2):

X2= X1 + (W2 /2) (4)

Y2= Y1 + ( H2/2)) (5)

计算手势在第一幅场景图片中的中心坐标(X2,Y2)同整个第一幅场景图片的中心点坐标(Width/2,Hight/2)的偏离值;

定义O1 = X2 –(W1/2) (6)

O1为此时刻手势与X轴中心点偏移量;

定义β1= arctan(O1/D1) (7)

角β1为此时刻手势识别的中心点在X轴上的偏移角度;

4)人体向前,或者向后,或者向左,或者向右,移动一个距离,但保持手势在相机的视野范围内;机器人通过相机模块拍摄包括人体的手势在内的第二幅场景图片;

如图2所示,机器人识别人体的手势,通过手势识别软件,识别人体的手势(如正面手掌)并获得手势在第二幅场景图片帧中的位置和大小参数:

X3:手势第二幅场景图片x轴起点,

Y3:手势第二幅场景图片y轴起点,

W5:手势在第二幅场景图片x轴的宽度,

H5:手势在第二幅场景图片y轴的高度;

H6:相机模块拍摄到的第二场景的实际高度;

5)根据步骤1)至5)获得的参数,计算相机拍摄的第二场景高度H3:

H6= H1*H4/H5 (8)

D2 = H6/(2 * tan α) (9)

根据第二幅场景图片的参数,计算手势在第二幅场景图片中的中心坐标

(X4,Y4):

X4= X3 + (W4 /2) (10)

Y4= Y3 + ( H4/2) (11)

计算手势在第二幅场景图片中的中心坐标(X4,Y4)同整个第二幅场景图片的中心点坐标(Width/2,Hight/2)的偏离值;

定义O2 = X4 – (W3/2) (12)

O2此时刻手势与X轴中心点偏移量;

定义β2= arctan(O2/D2) (13)

角β2为此时刻手势识别的中心点在X轴上的偏移角度;

6)定义R1为距离D2与距离D1的距离比率,该百分比可体现出当前距离D2相对于初始距离D1的相对距离偏差:

R1= D2/D1 = H4/H2 (13)

例如R1=0.8代表,当前相机和人体的距离比初始距离D1近了20%。R2=1.2则代表,当前相机和人体距离比初始距离D1远了20%;

定义R2为X轴的偏差比率:

R2= tanβ2/tanβ1= (X2-(W1/2))*H4/((X4-(W3/2))*H2) (14);

根据公式(13)和(14),可通过R1代表Z轴空间距离D2与初始距离的偏离比率,R2代表X轴偏移角度β2与β1的偏差比率。并可依据实时的R1和R2的数值,制定引导机器人的动态跟随算法,调整机器人的姿态和速度,通过使R12和R2的值趋近与1,而得到良好的跟随姿态。

在步骤1)相机模块拍摄第一副场景图片之前或同时,机器人通过单点测距模块,测量机器人与跟踪目标之间的距离,获得距离参数D1;在步骤4)相机模块拍摄第二副场景图片之前或同时,机器人通过单点测距模块,测量机器人与跟踪目标之间的距离,获得距离参数D2;此时D1和D2为实际数值,而不是假定的值;

步骤6)的过程变更为:根据实时反馈的跟踪目标和所述机器人的Z轴空间距离D2、X轴空间偏移角度β2制定引导机器人的动态跟随算法;所述机器人通过不断调整机器人的姿态、速度等,从而使D2趋近于D1,β2趋近于β1,而得到良好的跟随姿态;或者,使用预设的舒适跟随距离Dx和偏移距离βy策略,随意调整跟随策略。

如图3和4所示,本发明的跟随方法采用的机器人可选用类人机器人,包括RGB彩色相机和超声波测距传感器2。RGB彩色相机1用于获取人及手势的图像数据。超声波测距传感器2用于测量机器人正前方的障碍物距离,超声波测距传感器2也可用,红外测距,激光测距等技术替代。

以上实施例仅用以说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,其均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1