[发明专利]一种人机交互系统的控制方法有效

专利信息
申请号: 201410364071.X 申请日: 2014-07-28
公开(公告)号: CN104298345B 公开(公告)日: 2017-05-17
发明(设计)人: 李江;王卫红;杨洁 申请(专利权)人: 浙江工业大学
主分类号: G06F3/01 分类号: G06F3/01
代理公司: 杭州天正专利事务所有限公司33201 代理人: 王兵,黄美娟
地址: 310014 浙*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 人机交互 系统 控制 方法
【权利要求书】:

1.一种人机交互系统的控制方法,其特征在于,所述方法包括:

步骤1,获取多个标识物的图像,其中所述标识物上设置多个标识点,不同的所述标识物上设置的所述标识点具有不同形状;

步骤2,从步骤1所述图像中提取不同形状的所述标识点;

步骤3,根据步骤2所述标识点的形状对所述标识点进行分组以获取分组后的所述标识点形成的几何形状;

步骤4,通过比较当前帧图像的所述几何形状和前一帧图像对应的所述几何形状获取所述标识物的运动状态;

步骤5,根据所述运动状态输出对应的控制命令至人机交互系统;

步骤2具体包括:

21在所述图像中搜索光斑;

22计算各所述光斑的光密度;

23选择所述光密度在预定范围内的光斑作为所述标识点;

步骤22所述光密度根据如下公式进行计算:

<mrow><mi>M</mi><mo>=</mo><mfrac><mrow><mn>4</mn><mi>&pi;</mi><mo>*</mo><mi>S</mi></mrow><msup><mi>L</mi><mn>2</mn></msup></mfrac><mo>;</mo></mrow>

其中,M为光斑的光密度,S为光斑的面积,L为光斑的周长;

步骤3具体包括:

31根据所述标识点的形状对所述标识点进行分组,其中,分组后的所述标识点具有相同的形状;

32获取分组后的所述标识点形成的三角形,其中,所述三角形由第一标识点、第二标识点和第三标识点形成,所述第一标识点、第二标识点和第三标识点为按水平坐标的升序排列的标识点;

步骤4具体包括:

411获取当前帧图像的所述几何形状的平均水平坐标作为第一水平坐标,以及获取前一帧图像对应的所述几何形状的平均水平坐标作为第二水平坐标;

412通过比较所述第一水平坐标和所述第二水平坐标确定所述标识物沿水平轴的移动;

其中,所述几何形状的所述平均水平坐标为所述第一标识点、第二标识点和第三标识点的水平坐标的平均值;可以根据如下公式确定标识物沿水平轴的移动:

Movement_hortizontal=(q1x+q2x+q3x)/3-(p1x+p2x+p3x)/3;

其中,q1x、q2x和q3x为当前帧图像的第一标识点、第二标识点和第三标识点的水平坐标,p1x、p2x和p3x为前一帧图像的第一标识点、第二标识点和第三标识点的水平坐标;

其中,当Movement_hortizontal为正值时,表示标识物沿水平轴向右移动,当Movement_hortizontal为负值时,表示标识物沿水平轴向左移动;

421获取当前帧图像的所述几何形状的平均垂直坐标作为第一平均垂直坐标,以及获取前一帧图像对应的所述几何形状的平均垂直坐标作为第二平均垂直坐标;

422通过比较所述第一平均垂直坐标和所述第二平均垂直坐标确定所述标识物沿垂直轴的移动;

其中,所述几何形状的所述平均垂直坐标为所述第一标识点、第二标识点和第三标识点的垂直坐标的平均值;可以根据如下公式确定标识物沿垂直轴的移动:

Movement_vertical=(q1y+q2y+q3y)/3-(p1y+p2y+p3y)/3;

其中,q1y、q2y和q3y为当前帧图像的第一标识点、第二标识点和第三标识点的垂直坐标,p1y、p2y和p3y为前一帧图像的第一标识点、第二标识点和第三标识点的垂直坐标;

其中,当Movement_vertical为正值时,表示标识物沿垂直轴向上移动,当Movement_vertical为负值时,表示标识物沿垂直轴向下移动;

431获取当前帧图像的所述几何形状的面积作为第一面积,以及获取前一帧图像对应的所述几何形状的面积作为第二面积;

432通过比较所述第一面积和所述第二面积确定所述标识物沿缩放轴的移动;

根据如下公式确定标识物沿缩放轴的移动:

Movement_zoom=qarea-parea;

其中,qarea为当前帧图像的几何形状的面积,parea为前一帧图像的几何形状的面积;

其中,当Movement_zoom为正值时,表示标识物沿缩放轴放大移动,Movement_zoom为负值时,表示标识物沿缩放轴缩小移动;

另外,几何形状的面积marea可以根据如下公式进行计算:

<mrow><mi>m</mi><mi>a</mi><mo>=</mo><msqrt><mrow><msup><mrow><mo>(</mo><mi>m</mi><mn>1</mn><mi>x</mi><mo>-</mo><mi>m</mi><mn>2</mn><mi>x</mi><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mi>m</mi><mn>1</mn><mi>y</mi><mo>-</mo><mi>m</mi><mn>2</mn><mi>y</mi><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt><mo>;</mo></mrow>

<mrow><mi>m</mi><mi>b</mi><mo>=</mo><msqrt><mrow><msup><mrow><mo>(</mo><mi>m</mi><mn>3</mn><mi>x</mi><mo>-</mo><mi>m</mi><mn>2</mn><mi>x</mi><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mi>m</mi><mn>3</mn><mi>y</mi><mo>-</mo><mi>m</mi><mn>2</mn><mi>y</mi><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt><mo>;</mo></mrow>

<mrow><mi>m</mi><mi>c</mi><mo>=</mo><msqrt><mrow><msup><mrow><mo>(</mo><mi>m</mi><mn>1</mn><mi>x</mi><mo>-</mo><mi>m</mi><mn>3</mn><mi>x</mi><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mi>m</mi><mn>1</mn><mi>y</mi><mo>-</mo><mi>m</mi><mn>3</mn><mi>y</mi><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt><mo>;</mo></mrow>

ms=0.5*(ma+mb+mc);

marea=ms*(ms-ma)*(ms-mb)*(ms-mc);

其中,m为当前帧图像的几何形状q或前一帧图像的几何形状p,ma、mb和mc为几何形状的三条边,m1x、m2x和m3x为几何形状的第一标识点、第二标识点和第三标识点的水平坐标,m1y、m2y和m3y为几何形状的第一标识点、第二标识点和第三标识点的垂直坐标;

441获取当前帧图像的所述三角形中以所述第二标识点为顶点的角度作为第一角度,以及获取前一帧图像的所述三角形中以所述第二标识点为顶点的角度作为第二角度;

442通过比较所述第一角度和所述第二角度确定所述标识物绕水平轴的转动;

根据如下公式确定标识物沿水平轴的转动:

Movement_pitch=q2angle-p2angle;

其中,q2angle为当前帧图像的三角形以第二标识点为顶点的角度,p2angle为前一帧图像的三角形以第二标识点为顶点的角度;

其中,当Movement_pitch为正值时,表示标识物绕水平轴向右转动,当Movement_pitch为负值时,表示运动状态为沿水平轴向左转动;

另外,三角形以第二标识点为顶点的角度m2angle根据如下公式进行计算:

<mrow><mi>m</mi><mi>a</mi><mo>=</mo><msqrt><mrow><msup><mrow><mo>(</mo><mi>m</mi><mn>1</mn><mi>x</mi><mo>-</mo><mi>m</mi><mn>2</mn><mi>x</mi><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mi>m</mi><mn>1</mn><mi>y</mi><mo>-</mo><mi>m</mi><mn>2</mn><mi>y</mi><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt><mo>;</mo></mrow>

<mrow><mi>m</mi><mi>b</mi><mo>=</mo><msqrt><mrow><msup><mrow><mo>(</mo><mi>m</mi><mn>3</mn><mi>x</mi><mo>-</mo><mi>m</mi><mn>2</mn><mi>x</mi><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mi>m</mi><mn>3</mn><mi>y</mi><mo>-</mo><mi>m</mi><mn>2</mn><mi>y</mi><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt><mo>;</mo></mrow>

<mrow><mi>m</mi><mi>c</mi><mo>=</mo><msqrt><mrow><msup><mrow><mo>(</mo><mi>m</mi><mn>1</mn><mi>x</mi><mo>-</mo><mi>m</mi><mn>3</mn><mi>x</mi><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mi>m</mi><mn>1</mn><mi>y</mi><mo>-</mo><mi>m</mi><mn>3</mn><mi>y</mi><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt><mo>;</mo></mrow>

m2angle=arcos((ma)2+(mb)2-(mc)2)/(2*ma*mb));

其中,m为当前帧图像的几何形状q或前一帧图像的几何形状p,ma、mb和mc为几何形状的三条边,m1x、m2x和m3x为几何形状的第一标识点、第二标识点和第三标识点的水平坐标,m1y、m2y和m3y为几何形状的第一标识点、第二标识点和第三标识点的垂直坐标;

451获取当前帧图像的所述三角形中以所述第一标识点或所述第三标识点为顶点的角度作为第一角度,以及获取前一帧图像的所述三角形中以所述第一标识点或所述第三标识点为顶点的角度作为第二角度;

452通过比较所述第一角度和所述第二角度确定所述标识物绕垂直轴的转动;

具体来说,以第一标识点为顶点的角度为例来说,根据如下公式确定标识物沿垂直轴的转动:

Movement_yaw=q1angle-p1angle;

其中,q1angle为当前帧图像的三角形以第一标识点为顶点的角度,p1angle为前一帧图像的三角形以第一标识点为顶点的角度;

其中,当Movement_yaw为正值时,表示标识物绕垂直轴向右转动,当Movement_yaw为负值时,表示标识物绕垂直轴向左转动;

具体来说,以第三标识点为顶点的角度为例来说,根据如下公式确定标识物沿垂直轴的转动:

Movement_yaw=q3angle-p3angle;

其中,q3angle为当前帧图像的三角形以第三标识点为顶点的角度,p3angle为前一帧图像的三角形以第三标识点为顶点的角度;

其中,当Movement_yaw为正值时,表示标识物绕垂直轴向左转动,当Movement_yaw为负值时,表示标识物绕垂直轴向右转动;

另外,三角形以第一标识点为顶点的角度m1angle和三角形以第三标识点为顶点的角度m3angle根据如下公式进行计算:

<mrow><mi>m</mi><mi>a</mi><mo>=</mo><msqrt><mrow><msup><mrow><mo>(</mo><mi>m</mi><mn>1</mn><mi>x</mi><mo>-</mo><mi>m</mi><mn>2</mn><mi>x</mi><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mi>m</mi><mn>1</mn><mi>y</mi><mo>-</mo><mi>m</mi><mn>2</mn><mi>y</mi><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt><mo>;</mo></mrow>

<mrow><mi>m</mi><mi>b</mi><mo>=</mo><msqrt><mrow><msup><mrow><mo>(</mo><mi>m</mi><mn>3</mn><mi>x</mi><mo>-</mo><mi>m</mi><mn>2</mn><mi>x</mi><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mi>m</mi><mn>3</mn><mi>y</mi><mo>-</mo><mi>m</mi><mn>2</mn><mi>y</mi><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt><mo>;</mo></mrow>

<mrow><mi>m</mi><mi>c</mi><mo>=</mo><msqrt><mrow><msup><mrow><mo>(</mo><mi>m</mi><mn>1</mn><mi>x</mi><mo>-</mo><mi>m</mi><mn>3</mn><mi>x</mi><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mi>m</mi><mn>1</mn><mi>y</mi><mo>-</mo><mi>m</mi><mn>3</mn><mi>y</mi><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt><mo>;</mo></mrow>

m1angle=arcos((ma)2+(mc)2-(mb)2)/(2*ma*mc));

m3angle=arcos((mc)2+(mb)2-(ma)2)/(2*mb*mc));

其中,m为当前帧图像的几何形状q或前一帧图像的几何形状p,ma、mb和mc为几何形状的三条边,m1x、m2x和m3x为几何形状的第一标识点、第二标识点和第三标识点的水平坐标,m1y、m2y和m3y为几何形状的第一标识点、第二标识点和第三标识点的垂直坐标;

461获取当前帧图像的所述第一标识点和所述第三标识点的垂直坐标之差作为第一差值,以及获取前一帧图像对应的所述第一标识点和所述第三标识点的垂直坐标之差作为第二差值;

462通过比较所述第一差值和所述第二差值确定所述标识物绕缩放轴的转动;

根据如下公式确定标识物沿缩放轴的转动:

Movement_roll=(q1y-q3y)-(p1y-p3y);

其中,q1y和q3y为当前帧图像的第一标识点和第三标识点的垂直坐标,p1y和p3y为前一帧图像的第一标识点和第三标识点的垂直坐标;

其中,当Movement_roll为正值时,表示标识物绕缩放轴向右转动,Movement_roll为负值时,表示标识物绕缩放轴向左转动。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工业大学,未经浙江工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410364071.X/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top