掌桥专利:专业的专利平台
掌桥专利
首页

一种基于视觉手势识别的机器人人机交互系统和方法

文献发布时间:2023-06-19 11:26:00


一种基于视觉手势识别的机器人人机交互系统和方法

技术领域

本发明属于人机交互技术领域,具体涉及一种基于视觉手势识别的机器人人机交互系统和方法。

背景技术

机器人(Robot)是一种能够半自主或全自主工作的智能机器,目前已被广泛应用于安防、娱乐、教育和工业等领域,代替人类完成一些危险或难以进行的劳作、任务等,使人类的生产力获得极大提高。为了让机器人接受人类指挥,需要人机交互系统充当人与机器人之间的“翻译”,一方面要让机器人理解人的意图,并按照人的指令行动,另一方面也要让人知道机器人对输入信息的处理结果。

传统机器人的人机交互系统通常是采用基于显示器、鼠标、键盘、触摸屏或示教器的交互方式,人通过鼠标、键盘、触摸屏或是其他输入设备对机器发送指令信息,机器再严格按指令行动,通过显示器向人传递反馈信息。近年来逐步发展了听、说等机器人的人机交互方式,人通过语音方式对机器发送指令信息,机器人通过麦克风捕捉声波信号,识别后作出响应。另外,将手势用于人机交互的研究也如雨后春笋般,如火如荼地发展。

传统显示器、鼠标、键盘、触摸屏或示教器的交互方式不灵活、也不自然,交互体验度不高,操作比较复杂,一般需要用户提前学习人机交互系统的使用方法。基于语音的机器人人机交互系统识别率受口音、环境杂音等影响较大,人机交互效果也不理想。现有基于手势识别的机器人人机交互方法,其技术核心全部集中在现地设备中,价格高昂且一旦投运便难以实时更新优化,不利于系统的持续完善。

发明内容

为解决现有技术所存在的技术问题,本发明提供一种基于视觉手势识别的机器人人机交互系统和方法,采用“本地+云端”系统架构,核心部分在云端,有效降低本地用户端使用成本,且提高了系统性能,有利于系统持续改善;用户和机器人能够通过人机交互动作手势集进行多轮对话应答,从而实现人与机器人的双向交流互动,具有实时性强、非接触、交互性好等优点。

本发明系统采用以下技术方案来实现:一种基于视觉手势识别的机器人人机交互系统,包括客户端、云端、解析端及若干手势采集终端;

客户端包括依次连接的视频/图像采集设备、图像预处理单元、手势模糊评价单元、图像再处理单元和客户端手势识别单元,客户端通过客户端手势识别单元分别与云端、解析端连接;其中,手势模糊评价单元接收来自图像预处理单元处理后的图像序列进行初步分析和模糊评价,判断图像序列中是否存在动态手势或静态手势,并将通过评价的图像传送至图像再处理单元;客户端手势识别单元对图像再处理单元传送来的图像进行精确识别,并输出手势识别结果;

云端包括依次连接的手势样本审核单元、手势训练建模单元、云端扩展模板库和云端手势分析识别单元,手势样本审核单元通过网络分别与多个手势采集终端连接,云端手势分析识别单元通过网络与客户端手势识别单元连接;其中,手势采集终端上传的手势样本经手势样本审核单元审核后传送至手势训练建模单元进行建模训练,云端扩展模板库用于存储训练好的动态手势模型和静态手势模型,云端手势分析识别单元用于对图像中的手势信息做精确识别;

解析端对客户端发来的手势代码进行解析释义,查询该手势代码对应的机器人手势,并控制机器人执行手势动作。

本发明方法基于上述交互系统采用以下技术方案来实现:基于视觉手势识别的机器人人机交互方法,包括以下步骤:

S1、客户端的视频/图像采集设备,按照设定的采样间隔频率实时采集图像信息,所采集的图像为连续的图像序列,同时将采集的图像序列传递给图像预处理单元;图像预处理单元按照队列FIFO处理方式依次对图像序列进行滤波和去噪处理,然后将处理后图像传递给手势模糊评价单元;手势模糊评价单元对图像预处理单元传来的图像,截取图像序列中若干连续图像帧或单幅图像帧进行处理,得到动态手势信息或静态手势信息的首轮初步评价结果;图像再处理单元接收通过手势模糊评价单元首轮初步评价的图像帧,对其进行裁剪、编码和压缩处理,将图像数据量减少,然后将再处理过的图像传递给客户端手势识别单元;

S2、客户端手势识别单元与云端建立网络连接,收到再处理过的图像后,将图像数据上传至云端手势分析识别单元,待云端手势分析识别单元返回手势的精确识别结果后,输出手势代码至解析端;

S3、客户端手势识别单元向云端手势分析识别单元发起网络服务请求,服务请求内容为识别本地客户端发送的图像中的动态手势或静态手势;云端手势分析识别单元收到请求后,查询云端当前状态是否正常,如果不正常则拒绝网络连接请求,如果正常则接受网络连接请求,并接收客户端发来的图像数据,调用模板匹配算法与云端扩展模板库中的模型做比对,从而对图像中的手势信息做精确识别;如果匹配到对应手势,则将识别结果下发至客户端;

S4、云端扩展模板库存储训练好的动态手势模型和静态手势模型,实时等待云端手势分析识别单元的图像比对申请,当收到比对申请则连接云端扩展模板库依次进行搜索、匹配、评估操作,对手势识别结果按照匹配率进行排序,将匹配率最高模型所对应的手势作为最终识别结果并返回给云端手势分析识别单元;手势训练建模单元接收手势样本审核单元发送来的手势样本,进行训练建模,将训练好的手势模型存储至云端扩展模板库中;

S5、手势采集终端向样本审核单元发起网络服务请求,服务请求内容为上传已有手势的新样本或定义新手势并上传样本;样本审核单元收到请求后,查询云端当前状态是否正常,如果不正常则拒绝网络连接请求,如果正常则接受网络连接请求,并接收手势采集终端发来的手势样本数据,将样本存放至本地待审核区,待审核后训练建模并存储至云端扩展模板库;

S6、解析端的手势解析单元通过现场总线与客户端连接,当收到现场总线发来的手势代码,则唤醒机器人并对发来的手势代码进行解析,判断该手势代码是否在机器人手势集存储单元中有对应的机器人手势,如有则控制机器人执行手势动作,如没有则默认执行机器人的“摇头”动作,表示不理解用户当前手势。

本发明与现有技术相比,具有如下优点和有益效果:

1、本发明将手势作为人与机器人间人机交互的主要方式,与现有技术不同的是不仅仅单方面的识别人类手势去控制机器人,而是设计了一套基于视觉的人机交互动作手势集,包括人类手势集和机器人手势集。用户和机器人能够通过手势进行多轮对话应答,从而实现人与机器人的双向交流和互动。

2、现有基于手势的人机交互,一般只是单一采用静态手势或动态手势。本发明的人类手势集设计了静态手势和动态手势,将两种手势综合用于人机交互,更加贴近自然交互。

3、为实现对人类手势的视觉方式识别,主要通过模板匹配法,需要预先训练并保存手势模板,现有技术主要将这些工作集中在本地设备中处理。本发明与现有技术不同的是,采取了“本地+云端”的分布式系统架构,主要体现以下几方面:①本地端即客户端,云端即服务器端,针对两端硬件的不同优势,便于实现任务的合理分配;②本地端主要负责图像采集、处理和手势初步筛选识别,云端负责图像中手势的精确识别;③设计了用于手势匹配识别的手势模板库拓扑结构,包括存储在本地端的基础模板库和存储在云端的扩展模板库,基础模板库保存标准手势模板,用于手势的初步识别,主要判断图像中有无手势信息;扩展模板库保存更加丰富的手势模板,用于手势的精确识别。

4、云端对本地端是一对多的关系,即云端要满足同时为多个本地端提供“手势精确识别”服务的能力,有很大的任务处理量。而本地端的功能一方面是筛选和过滤不含有效手势信息的图像,另一方面是对于含有效手势信息的图像,通过本地裁剪、编码和压缩处理,减少了图像数据量。以上两方面节省了网络带宽,提高了连接速度,直接减轻了云端的压力。因此本发明的两步识别法,即本地端手势初筛和云端精确识别,可以兼顾手势识别的精度及系统实时响应的速度。

5、本发明“本地+云端”的分布式系统架构,系统经济,可靠性高,可用性好。具体而言,云端功能复杂,技术含量及成本较高,宜集中布置,专人维护管理;而本地端成本相对较低,适合大范围用户使用及推广;云端搭建好后,可供多个本地端连接使用,降低了本系统的推广和使用成本。另外,大量用户在使用过程中可以通过手势采集终端上传新的手势样本,经济而快速地帮助本系统快速优化迭代。随着系统不断优化,手势类型的丰富程度、对不同角度、场景、距离、光照等条件下做出的手势的适应性和识别率也得以逐步提高。

6、本发明的机器人手势集里包含若干预先定义好的机器人手势,每种手势是通过若干提前编写好的机器人指令序列在机器人自身控制器中依次执行,使机器人做出连续动作而实现的。机器人手势数量不是固定不变的,可以通过机器人手势定义单元新增、删除或重新定义。这种对机器人手势的设计和集中管理方法在现有技术中尚无先例。

7、本发明的机器人人机交互系统独立于机器人自身控制系统之外,因此可以用于多种类型的机器人。

附图说明

图1是本发明实施例中的系统拓扑结构示意图;

图2是本发明实施例中的手势模板库整体拓扑结构示意图;

图3是本发明实施例中解析端对手势进行解析的示意图;

图4是本发明实施例中解析端通过编写指令序列新建机器人手势的示意图;

图5是本发明实施例中手势代码与人类手势间的对应关系图;

图6是本发明实施例中人与机器人的双向交流和互动的示意图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

实施例

本发明采用“本地+云端”系统架构,搭建了基于视觉手势识别的机器人人机交互系统,核心部分在云端,有效降低本地用户端使用成本,且提高了系统性能,有利于系统持续改善。与此同时设计了一套基于视觉的人机交互动作手势集,包括人类手势集和机器人手势集。人类手势集包括静态手势和动态手势,是指人类通过手指弯曲、伸展等作出不同姿势或动作,向机器人表达某种含义或意图;机器人通过视觉系统获取人体手势图像,再经图像处理、模式识别等,实现对手势理解,并作出相应的反馈动作。机器人的手势集是指机器人通过各个轴的机械臂作出一系列形象的肢体动作,向人类表达机器人的当前“意图”;人类通过双眼观察动作实现对机器人的理解。因此,本发明通过上述人机交互动作手势集实现人与机器人的双向交流互动,具有实时性强、非接触、交互性好等优点,使得人机交互更智能、自然。有效降低机器人学习和使用门槛,改善机器人使用体验,有利于走进生活娱乐、办公服务、医疗卫生、助老服务、聋哑残障人士辅具等更多生活领域。

本发明基于视觉手势识别的机器人人机交互系统及方法,包括静态结构特征和动态结构特征。

(一)静态结构特征

如图1所示,静态结构特征包括机器人、客户端、云端、解析端和若干手势采集终端。用户是人机交互系统的使用者,机器人是人机交互系统的被控对象,其余部分均可视为人机交互系统的组成部分;用户通过访问客户端的形式使用人机交互系统,客户端通过解析端与机器人连接,客户端还通过网络连接至云端;若干手势采集终端通过网络与云端连接。

手势识别主要包括静态手势识别和动态手势识别。针对静态手势,其识别方法主要包括模板匹配等。模板匹配是通过计算待识别手势与手势模板库中的手势模板的相似度,当相似度达到设定值,则判断待识别手势为该模板手势。同样,也可以从目标图像中提取预先设定的特征存入模板库,之后再将待识别图像与模板库中的图像进行一一匹配,得到识别结果。由于手势识别采用模板匹配法,因此模板库中的每种人类手势都是由1个或若干个手势模型所决定的。与静态手势相比,动态手势的识别需要多考虑一个时序性的问题;静态手势识别针对但是单幅图像帧,而动态手势识别针对的是连续图像帧。

用于手势比对识别的模板库(简称手势模板库)包括存储在本地的基础模板库和存储在云端的扩展模板库。基础模板库由动态手势模板库和静态手势模板库组成,保存标准手势模型,用于手势的初步识别,主要判断图像中有无手势信息;对于基础模板库而言,一旦投入使用,除了整体更新程序替换模板库外无法增加、减少或更换。扩展模板库包括动态手势模板库和静态手势模板库,保存更加丰富的手势模型,用于手势的精确识别。扩展模板库中手势不是固定不变的,根据具体需求可以增加、减少或更换,手势模板库整体拓扑结构如图2所示。扩展模板库中手势的修改只能在云端由管理人员操作,具体而言是在图2所示树形拓扑结构中检索需减少或替换的手势或手势对应的模型。通过删除操作实现手势模型的减少,手势对应的所有手势模型均被删除后,可删除该类型手势以实现手势的减少;通过先删除再增加的方式,可实现模板库中手势或手势模型的替换。

客户端的主要功能是获取用户所做的手势,经过内部一系列处理后识别手势,并将识别结果输出。客户端主要包括依次连接的视频/图像采集设备、图像预处理单元、手势模糊评价单元、图像再处理单元和客户端手势识别单元,客户端通过客户端手势识别单元分别与云端、解析端连接。视频/图像采集设备,可为通用的摄像头、数字相机等设备,并能将采集的视频/图像信息通过通用数据总线形式输出。图像预处理单元,主要功能是对采集的图像进行滤波和去噪等预处理,从而突出图像中感兴趣的部分(即手势信息),使得图像中的手势轮廓更加清晰,细节更加明显。手势模糊评价单元,主要功能是接收来自图像预处理单元处理后的图像序列进行初步分析和模糊评价,判断图像序列中是否存在动态手势或静态手势,只有通过评价的图像才会继续送达后续图像再处理单元。

手势模糊评价单元包括用于处理连续图像帧的动态手势模糊评价模块、用于处理单幅图像帧的静态手势模糊评价模块,以及用于处理连续图像帧或单幅图像帧时进行比对的本地基础模板库。本地基础模板库的主要功能是存储若干已训练好的标准手势模型(包括动态手势模型和静态手势模型),用于与图像预处理单元处理后的连续图像帧或单幅图像帧进行比对。静态手势模糊评价模块的主要功能是接收来自图像预处理单元处理后的单幅图像(即图像帧),并与本地基础模板库进行比对,从而对静态手势信息进行首轮模糊评价,只有通过首轮评价的图像帧才会继续送后续图像再处理单元。动态手势模糊评价模块的主要功能是接收来自图像预处理单元处理后的图像序列(即连续图像帧),并与本地基础模板库进行比对,从而对动态手势信息进行首轮模糊评价,只有通过首轮评价的图像序列才会继续送后续图像再处理单元。

图像再处理单元的主要功能是接收来自静态手势模糊评价单元的单幅图像帧或来自动态手势模糊评价单元的图像序列,对其进行裁剪、编码和压缩处理,目的是减少图像数据量,提高图像传输速度、缩短处理时间;并将再处理后的图像传送至客户端手势识别单元。

客户端手势识别单元的主要功能是对图像再处理单元传送来的图像进行精确识别,并输出手势识别结果(即手势代码)。

云端是一套架设在互联网云端的手势识别服务系统,主要功能是为客户端提供精确的手势识别服务。云端包括依次连接的手势样本审核单元、手势训练建模单元、云端扩展模板库和云端手势分析识别单元,手势样本审核单元通过网络分别与多个手势采集终端连接,云端手势分析识别单元通过网络与客户端手势识别单元连接。

云端手势分析识别单元集成高性能的模板匹配算法,能够对图像中的手势信息做精确识别。云端扩展模板库中存储了大量训练好的动态手势模型和静态手势模型,为云端精确识别手势提供保证。与本地基础模板库不同之处在于,云端扩展模板库中的手势模型包括大量不同性别、不同肤色、不同年龄、不同手型的人,在不同角度(如正面、斜视、俯视、仰视)、场景、距离、光照条件等下做出的海量手势模型。手势训练建模单元的主要功能是对手势样本进行建模训练。手势样本审核单元的主要功能是供管理人员审核由手势采集终端上传的手势样本,确认哪些手势样本可以在云端训练建模并存储至云端扩展模板库之中。

手势采集终端自带视频/图像采集设备,由用户或本系统的维护管理人员操作使用,主要功能是采集用户的手势图像样本,并对手势所代表的含义进行归类或重新定义,最后将样本上传至云端。

解析端的主要功能是对客户端发来的手势代码进行解析释义,查询该手势代码对应的机器人手势,并控制机器人的执行手势动作。解析端包括依次连接的手势解析单元、机器人手势集存储单元、机器人手势管理单元。其中,手势解析单元的主要功能是对客户端发来的手势代码进行解析,并从机器人手势集存储单元中获取该手势代码对应的机器人手势,最后控制机器人执行手势动作,如图3所示。机器人手势集存储单元的主要功能是存储机器人的各种手势,每种手势通过若干提前编写好的机器人指令序列在机器人自身控制器中依次执行,使机器人做出连续动作而实现。机器人手势管理单元的主要功能有两个,一是供解析端的维护管理人员通过编写指令序列新建机器人手势,如图4所示,或者删除已有手势;二是建立或更新如图3所示手势代码与机器人手势间的映射关系。

本实施例中,机器人手势的新建过程为:首先将手势分解为N个机器人姿态以及各姿态间转换的过渡动作(如直线、圆弧等),然后对每个姿态机器人各轴的位置进行记录并转化为对应运动指令,最后形成指令序列,依次执行指令序列便能使机器人做出连续动作从而实现机器人手势,其中N≥1。具体方式根据机器人品牌或型号会略有不同,以ABB工业机器人为例有两种方式:

第一种方式为通过操作物理示教器新增:S1.在示教器中通过程序编辑器新建专门用于机器人手势的程序模块(如有则可省略此步骤);S2.在程序模块中新建名字为“机器人手势X”的例行程序并进入程序编辑界面;S3.手动操纵机器人(通过示教器或者直接用手拖拽机器人手臂)各轴到达指定位置作出第1姿态;S4.在例行程序界面中添加运动指令1;S5.根据机器人手势分解情况,重复步骤S3及S4,得到N条运动指令;S6.该例行程序则为“机器人手势X”对应的指令序列。

第二种方式为通过离线编程软件新增:S1.在离线编程软件中打开虚拟示教器或RAPID编辑器;S2.新建专门用于机器人手势的程序模块(如有则可省略此步骤);S3.在程序模块中新建名字为“机器人手势X”的例行程序;S4.手动操纵机器人各轴到达指定位置作出第1姿态;S5.在该例行中添加运动指令1;S5.根据机器人手势分解情况,重复S4及S5步骤,得到N条运动指令;S7.该例行程序则为“机器人手势X”对应的指令序列。

(二)动态结构特征

本发明实施例中的动态结构特征主要指本发明的动态工作过程及其原理。

本发明的人机交互系统一经上电,各个单元和设备即进入正常工作状态。用户在系统允许的角度(如正面、斜视、俯视、仰视)、场景、距离、光照等条件范围内,将手部置于客户端的视频/图像采集设备的视野范围中,做出如图5所示为例的动态手势或静态手势。本发明的动态工作过程包括以下主要步骤:

S1、客户端的视频/图像采集设备,按照设定的采样间隔频率实时采集图像信息,所采集的图像为连续的图像序列,与此同时将采集的图像序列传递给图像预处理单元。图像预处理单元按照队列FIFO处理方式(即先进先出)依次对视频/图像采集设备传来的图像序列进行滤波和去噪等处理,突出图像中感兴趣的部分(即手势信息),使得图像中的手势轮廓更加清晰,细节更加明显,然后将处理后图像传递给手势模糊评价单元。手势模糊评价单元接收图像预处理单元传来的图像,分两路进行处理;其中一路处理方式为截取图像序列中若干连续图像帧,并与本地基础模板库中的动态手势模型进行比对判断其中有无动态手势信息,若未发现动态手势信息,则忽略这些连续图像帧,不再继续处理,若发现了动态手势信息,则将这些连续图像帧传递给图像再处理单元继续处理;另一路处理方式为截取图像序列中的单幅图像帧,并与本地基础模板库中的静态手势模型进行比对判断其中有无静态手势信息,若未发现静态手势信息,则忽略该图像帧,不再继续处理,若发现了静态手势信息,则将该图像帧传递给图像再处理单元继续处理。以上两路的比对结果取决于模糊评价阈值,通过合理设定图像模糊评价阈值,可以界定手势信息是否存在的最低标准。图像再处理单元接收通过手势模糊评价单元首轮初步评价的图像帧,对其进行裁剪、编码和压缩处理,将图像数据量减少,然后将再处理过的图像传递给客户端手势识别单元。

S2、客户端手势识别单元通过网络API接口与云端建立网络连接,该单元收到再处理过的图像后,将图像数据经网络API接口上传至云端手势分析识别单元,待云端手势分析识别单元返回手势的精确识别结果后,输出手势识别结果(即手势代码)至解析端。

S3、相对应的,云端手势分析识别单元通过网络API接口与客户端建立网络连接。具体而言是客户端手势识别单元向云端手势分析识别单元通过网络API接口发起网络服务请求,服务请求内容是“识别本地客户端发送的图像中的动态或静态手势”。云端手势分析识别单元收到请求后,查询云端当前状态是否正常;如果不正常则拒绝网络连接请求,并下发“连接错误代码”至客户端;如果正常则接受网络连接请求,并接收客户端发来的图像数据,然后调用内部的高性能模板匹配算法与云端扩展模板库中的模型做比对,从而对图像中的手势信息做精确识别;如果匹配到对应手势,则将识别结果下发至客户端;如果未匹配到对应手势,则下发“无法识别”的信息至客户端。

S4、云端扩展模板库负责存储训练好的动态手势模型和静态手势模型,实时等待云端手势分析识别单元的图像比对申请,当收到比对申请则连接云端扩展模板库依次进行搜索、匹配、评估等操作,对手势识别结果按照匹配率进行排序,这里将匹配率最高模型所对应的手势作为最终识别结果并返回给云端手势分析识别单元。另外,模板匹配手势识别的精度很大程度上取决于每类手势所含模型的数量和质量,因此为了提高识别率,还需要不断从手势训练建模单元接收并存入新训练好的手势模型。手势训练建模单元接收手势样本审核单元发送来的手势样本,然后采用相应算法进行训练建模,最后将训练好的手势模型存储至云端扩展模板库之中。由于扩展模板库架设在云端,十分有利于通过网络大范围搜集手势模型样本和模型的集中管理,随着模型数量的不断丰富,识别率将逐步提高。

S5、样本审核单元,通过网络API接口与手势采集终端建立网络连接。具体而言是手势采集终端向云端中的样本审核单元通过网络API接口发起网络服务请求,服务请求内容是“上传已有手势的新样本”或“定义新手势并上传样本”。样本审核单元收到请求后,查询云端当前状态是否正常。如果不正常则拒绝网络连接请求,并下发“连接错误代码”的信息至手势采集终端。如果正常则接受网络连接请求,并接收手势采集终端发来的手势样本数据,并将样本存放至本地待审核区,待管理人员审核后便可以训练建模并按照图2所示拓扑结构存储至云端扩展模板库,同时下发“请求成功代码”的信息。

其中,手势采集终端可以是专用设备,也可以用智能手机、笔记本或平板电脑等通用计算机设备替代,但需要安装相应的手势采集终端程序。无论是专用设备还是通用设备,其与云端都是通过网络API接口进行网络连接的。大量用户通过手势采集终端分享和上传手势样本可以不断完善手势模型,快速迭代系统,手势识别率逐步提高,从而提升用户体验。

S6、解析端的手势解析单元,通过现场总线与客户端连接,当收到总线发来的手势代码,则唤醒机器人并对发来的手势代码进行解析,判断该手势代码是否在机器人手势集存储单元中有对应的机器人手势,如有则控制机器人执行手势动作,如没有则默认执行机器人的“摇头”动作,表示不理解用户当前手势。

用户通过人眼观察到机器人形象的动作后,易知机器人的当前状态或“意图”,于是完成第一轮交互。接下来,用户根据上一轮交互结果,根据需要做出新的手势,开始第二轮交互,从而循环交互过程,实现人与机器人的双向交流和互动,如图6所示。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

相关技术
  • 一种基于视觉手势识别的机器人人机交互系统和方法
  • 一种基于视觉跟踪和手势识别的人机交互方法
技术分类

06120112923646