发明内容
本公开的目的是提供一种多样性的、稳定的人机交互方法、装置、存储介质及电子设备。
为了实现上述目的,根据本公开的第一方面,提供一种人机交互方法,所述方法包括:
获取摄像头在第一时刻拍摄的第一手势图像;
将存储的N张第二手势图像对应的手势特征和所述第一手势图像输入至表情模型网络,获得所述表情模型网络输出的表情数据,其中,N为正整数,所述N张第二手势图像为所述摄像头分别在所述第一时刻的前N个时刻拍摄的手势图像,所述前N个时刻与所述第一时刻为连续的;以及,所述表情模型网络包括手势特征提取模型、手势特征序列生成模型以及表情识别模型,所述手势特征序列生成模型的输入与所述手势特征提取模型的输出耦合,所述表情识别模型的输入与所述手势特征序列生成模型的输出耦合;所述手势特征提取模型用于提取所述第一手势图像对应的手势特征;所述手势特征序列生成模型用于根据所述第一手势图像对应的所述手势特征、以及所述N张第二手势图像对应的手势特征,生成手势特征序列;所述表情识别模型用于根据所述手势特征序列,识别出所述表情数据;
在机器人上展现所述表情数据。
可选地,所述方法还包括:
通过手语识别模型,获得与所述手势特征序列对应的文本信息;以及,
所述表情识别模型的输入还与所述手语识别模型的输出耦合,用于根据所述手势特征序列和该手势特征序列对应的文本信息,识别出所述表情数据。
可选地,所述表情模型网络是根据多组历史手势图像、以及与每组历史手势图像一一对应的历史表情数据训练得到的,其中,每组历史手势图像包括连续的N+1个历史时刻中每一历史时刻对应的手势图像。
可选地,所述手势特征提取模型包括手部提取模型和手势特征识别模型,所述手部提取模型用于提取所述第一手势图像中的手部区域图像;所述手势特征识别模型的输入与所述手部提取模型的输出耦合,用于根据所述手部区域图像,识别出所述第一手势图像对应的所述手势特征。
可选地,在所述手势特征提取模型提取所述第一手势图像对应的手势特征之后,所述方法还包括:
存储所述手势特征提取模型提取的所述第一手势图像对应的手势特征。
可选地,所述在机器人上展现所述表情数据,包括:
根据所述表情数据,控制所述机器人的面部表情。
根据本公开的第二方面,提供一种人机交互装置,所述装置包括:
第一获取模块,用于获取摄像头在第一时刻拍摄的第一手势图像;
第二获取模块,用于将存储的N张第二手势图像对应的手势特征和所述第一手势图像输入至表情模型网络,获得所述表情模型网络输出的表情数据,其中,N为正整数,所述N张第二手势图像为所述摄像头分别在所述第一时刻的前N个时刻拍摄的手势图像,所述前N个时刻与所述第一时刻为连续的;以及,所述表情模型网络包括手势特征提取模型、手势特征序列生成模型以及表情识别模型,所述手势特征序列生成模型的输入与所述手势特征提取模型的输出耦合,所述表情识别模型的输入与所述手势特征序列生成模型的输出耦合;所述手势特征提取模型用于提取所述第一手势图像对应的手势特征;所述手势特征序列生成模型用于根据所述第一手势图像对应的所述手势特征、以及所述N张第二手势图像对应的手势特征,生成手势特征序列;所述表情识别模型用于根据所述手势特征序列,识别出所述表情数据;
展示模块,用于在机器人上展现所述表情数据。
可选地,所述装置还包括:
第三获取模块,用于通过手语识别模型,获得与所述手势特征序列对应的文本信息;以及,
所述表情识别模型的输入还与所述手语识别模型的输出耦合,用于根据所述手势特征序列和该手势特征序列对应的文本信息,识别出所述表情数据。
可选地,所述表情模型网络是根据多组历史手势图像、以及与每组历史手势图像一一对应的历史表情数据训练得到的,其中,每组历史手势图像包括连续的N+1个历史时刻中每一历史时刻对应的手势图像。
可选地,所述手势特征提取模型包括手部提取模型和手势特征识别模型,所述手部提取模型用于提取所述第一手势图像中的手部区域图像;所述手势特征识别模型的输入与所述手部提取模型的输出耦合,用于根据所述手部区域图像,识别出所述第一手势图像对应的所述手势特征。
可选地,所述装置还包括:
存储模块,用于在所述手势特征提取模型提取所述第一手势图像对应的手势特征之后,存储所述手势特征提取模型提取的所述第一手势图像对应的手势特征。
可选地,所述展示模块用于:
根据所述表情数据,控制所述机器人的面部表情。
根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面任一所述方法的步骤。
根据本公开的第四方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现上述第一方面任一所述方法的步骤。
在上述技术方案中,获取拍摄的手势图像,并从该手势图像中提取手势特征,从而将该手势特征和历史的手势特征形成手势特征序列,进而可以根据该手势特征序列确定对应的表情数据,以由机器人进行展示。通过上述技术方案,一方面可以基于多帧图像之间的关联性,形成手势特征序列,从而为后续的表情识别提供准确的数据支持。另一方面,通过生成手势特征序列的方式,也可以使得本公开提供的人机交互方法的使用范围更广。另外,通过上述方式,也可以有效提高人机交互的多样性,提升人机交互的舒适度和用户使用体验。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
图1所示,为根据本公开的一种实施方式提供的人机交互方法的流程图。如图1所示,所述方法包括:
在S11中,获取摄像头在第一时刻拍摄的第一手势图像。
其中,手势图像为获得的包含手部区域的图像。在一实施例中,该方法可以应用于机器人设备,则该摄像头可以是安装在该机器人设备上的,在其拍摄到手势图像时,可以将该手势图像发送至机器人的处理器进行处理。在另一实施例中,该方法可以应用于虚拟机器人终端,如显示屏上的虚拟机器人,则摄像头可以是安装在终端上的。在另一实施例中,该方法可以应用于服务器,则在摄像头拍摄到手势图像时,将该手势图像发送至服务器进行后续处理。
在S12中,将存储的N张第二手势图像对应的手势特征和第一手势图像输入至表情模型网络,获得表情模型网络输出的表情数据,其中,N为正整数,所述N张第二手势图像为所述摄像头分别在所述第一时刻的前N个时刻拍摄的手势图像,所述前N个时刻与所述第一时刻为连续的。示例地,N为4,第一时刻为16,则前N个时刻即分别为12-15时刻。
示例地,如图2所示为所述表情模型网络的示意图。所述表情模型网络10包括手势特征提取模型100、手势特征序列生成模型200以及表情识别模型300,所述手势特征序列生成模型200的输入与所述手势特征提取模型100的输出耦合,所述表情识别模型300的输入与所述手势特征序列生成模型200的输出耦合。所述手势特征提取模型100用于提取所述第一手势图像对应的手势特征;所述手势特征序列生成模型200用于根据所述第一手势图像对应的所述手势特征、以及所述N张第二手势图像对应的手势特征,生成手势特征序列;所述表情识别模型300用于根据所述手势特征序列,识别出所述表情数据。
可选地,所述表情模型网络是根据多组历史手势图像、以及与每组历史手势图像一一对应的历史表情数据训练得到的,其中,每组历史手势图像包括连续的N+1个历史时刻中每一历史时刻对应的手势图像。
示例地,N为3,则通过上述可知,1、2、3、4时刻对应的手势图像可以为一组历史图像,以保证手势图像之间的连续性。可选地,一组历史手势图像可以对应于一种手势动作,具有明确的动作分界,从而可以更准确地对手势特征提取模型进行训练。
示例地,如图2所示,该表情模型网络包含的多个模型可以同时进行训练,该表情模型网络的训练方式如下。
将其中一组历史手势图像输入该表情模型网络,通过手势特征提取模型提取出该组中各个历史手势图像对应的手势特征,从而手势特征序列生成模型将该组中各个历史手势图像对应的手势特征生成手势特征序列。在训练该表情网络模型时,将表情识别模型的输入替换为与该组历史手势图像对应的历史表情数据,并通过表情模型网络的损失值更新该表情模型网络,从而实现对手势特征提取模型、手势特征序列生成模型和表情识别模型的参数更新。示例地,该表情模型网络的损失值可以是该表情识别模型的输出与该组历史手势图像对应的历史表情数据之间的损失值。之后通过重新输入多组的历史手势图像及其对应的历史表情数据对该表情模型网络进行迭代更新,直至该表情模型网络的损失值小于预设阈值或迭代次数达到预设次数,完成该表情模型网络的训练。
因此,通过上述多组历史手势图像、以及与每组历史手势图像一一对应的历史表情数据等训练数据,可以对表情模型网络进行训练。并且,通过表情模型网络的损失值更新手势特征提取模型和手势特征序列生成模型的参数,也可以进一步保证手势特征提取和手势特征序列生成的准确度,提升表情网络模型输出结果的准确度,保证用户使用体验。
在确定出表情数据之后,在步骤13中,在机器人上展现表情数据。
在上述技术方案中,获取拍摄的手势图像,并从该手势图像中提取手势特征,从而将该手势特征和历史的手势特征形成手势特征序列,进而可以根据该手势特征序列确定对应的表情数据,以由机器人进行展示。通过上述技术方案,一方面可以基于多帧图像之间的关联性,形成手势特征序列,从而为后续的表情识别提供准确的数据支持。另一方面,通过生成手势特征序列的方式,也可以使得本公开提供的人机交互方法的使用范围更广。另外,也可以有效提高人机交互的多样性,提升人机交互的舒适度和用户使用体验。
可选地,所述方法还包括:
通过手语识别模型,获得与所述手势特征序列对应的文本信息;以及,
所述表情识别模型的输入还与所述手语识别模型的输出耦合,用于根据所述手势特征序列和该手势特征序列对应的文本信息,识别出所述表情数据。
其中,手语识别模型可以根据现有的手语转换算法进行实现,在此不再赘述。在该实施例中,通过将表情识别模型的输入与所述手语识别模型的输出耦合,在获得文本信息时,将该文本信息作为表情数据的考量,该文本信息与用户的手语信息相对应,可以表征用户的使用需求,而将该文本信息输入表情识别模型,可以通过表征用户需求的文本信息和表示用户动作的手势特征信息确定表情数据,从而使得确定出的表情数据更加贴合人机交互的使用场景,提高该表情数据与用户操作的匹配度,提升人机交互体验。
可选地,所述手势特征提取模型包括手部提取模型和手势特征识别模型,所述手部提取模型用于提取所述第一手势图像中的手部区域图像;所述手势特征识别模型的输入与所述手部提取模型的输出耦合,用于根据所述手部区域图像,识别出所述第一手势图像对应的所述手势特征。
在该实施例中,通过先提取手部区域图像,可以有效避免其他区域对手势特征提取的干扰。之后,再从手部区域图像中识别出所述第一手势图像对应的所述手势特征,一方面可以有效减少提取手势特征时所需要的数据计算量,另一方面也可以有效保证手势特征提取的准确性,进而可以提高表情模型网络的准确性。
可选地,在所述手势特征提取模型提取所述第一手势图像对应的手势特征之后,所述方法还包括:
存储手势特征提取模型提取的第一手势图像对应的手势特征。
示例地,可以根据N的取值确定手势特征的存储。示例地,可以直接将该第一手势图像对应的手势特征进行存储,并定期更新存储的手势特征,更新的方式可以是只保留距离当前时刻的最近N个时刻对应的手势特征,从而可以降低数据存储量。在另一实施例中,若当前已存储的手势特征不足N个,则可以直接存储该第一手势图像对应的手势特征。若当前存储的手势特征为N个,则存储该第一手势图像对应的手势特征,并删除对应最早时刻的手势特征,从而保证存储的均为距离当前时刻最近的N个时刻对应的手势特征,既可以保证手势特征的连续性,也可以有效降低数据存储量。
通过上述技术方案,存储手势特征提取模型提取的第一手势图像对应的手势特征,可以为生成手势特征序列提供准确的数据支持,并且可以保证数据的处理效率。
可选地,所述在机器人上展现所述表情数据,包括:
根据表情数据,控制机器人的面部表情。
在一实施例中,示例地,表情数据对应笑脸。该方法应用于终端设备,如机器人设备、虚拟机器人终端等,可以根据该表情数据,直接控制该终端设备的面部表情,如控制机器人设备的面部区域通过显示灯的方式组成显示笑脸,或者是根据表情数据对应控制面部的关键点以控制机器人展示该面部表情。
在另一实施例中,该方法应用于服务器,则服务器可以将该表情数据发送至机器人进而控制机器人的面部表情。具体实施方式与上文类似,在此不再赘述。
通过上述实施方式,在进行人机交互的时候,机器人可以根据捕捉到的用户手势图像,在与用户进行交互时展示对应的表情数据,使得与用户的交互更加现实化和多样化,增强人机交互的舒适度,提升用户使用体验。
可选地,所述在机器人上展现所述表情数据,可以包括:
根据表情数据,控制机器人输出对应的表情。示例地,该表情数据对应笑脸,则在该实施例中,可以根据表情数据,控制机器人输出一个笑脸的表情包或者表情符号。通过上述技术方案,可以增加人机交互的多样性,进一步提升用户使用体验。
本公开还提供一种人机交互装置,如图3所示,所述装置20包括:
第一获取模块201,用于获取摄像头在第一时刻拍摄的第一手势图像;
第二获取模块202,用于将存储的N张第二手势图像对应的手势特征和所述第一手势图像输入至表情模型网络,获得所述表情模型网络输出的表情数据,其中,N为正整数,所述N张第二手势图像为所述摄像头分别在所述第一时刻的前N个时刻拍摄的手势图像,所述前N个时刻与所述第一时刻为连续的;以及,所述表情模型网络包括手势特征提取模型、手势特征序列生成模型以及表情识别模型,所述手势特征序列生成模型的输入与所述手势特征提取模型的输出耦合,所述表情识别模型的输入与所述手势特征序列生成模型的输出耦合;所述手势特征提取模型用于提取所述第一手势图像对应的手势特征;所述手势特征序列生成模型用于根据所述第一手势图像对应的所述手势特征、以及所述N张第二手势图像对应的手势特征,生成手势特征序列;所述表情识别模型用于根据所述手势特征序列,识别出所述表情数据;
展示模块203,用于在机器人上展现所述表情数据。
可选地,所述装置还包括:
第三获取模块,用于通过手语识别模型,获得与所述手势特征序列对应的文本信息;以及,
所述表情识别模型的输入还与所述手语识别模型的输出耦合,用于根据所述手势特征序列和该手势特征序列对应的文本信息,识别出所述表情数据。
可选地,所述表情模型网络是根据多组历史手势图像、以及与每组历史手势图像一一对应的历史表情数据训练得到的,其中,每组历史手势图像包括连续的N+1个历史时刻中每一历史时刻对应的手势图像。
可选地,所述手势特征提取模型包括手部提取模型和手势特征识别模型,所述手部提取模型用于提取所述第一手势图像中的手部区域图像;所述手势特征识别模型的输入与所述手部提取模型的输出耦合,用于根据所述手部区域图像,识别出所述第一手势图像对应的所述手势特征。
可选地,所述装置还包括:
存储模块,用于在所述手势特征提取模型提取所述第一手势图像对应的手势特征之后,存储所述手势特征提取模型提取的所述第一手势图像对应的手势特征。
可选地,所述展示模块用于:
根据所述表情数据,控制所述机器人的面部表情。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图4是根据一示例性实施例示出的一种电子设备700的框图。如图4所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(I/O)接口704,以及通信组件705中的一者或多者。
其中,处理器701用于控制该电子设备700的整体操作,以完成上述的人机交互方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件705可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的人机交互方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的人机交互方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的人机交互方法。
图5是根据一示例性实施例示出的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器。参照图5,电子设备1900包括处理器1922,其数量可以为一个或多个,以及存储器1932,用于存储可由处理器1922执行的计算机程序。存储器1932中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器1922可以被配置为执行该计算机程序,以执行上述的人机交互方法。
另外,电子设备1900还可以包括电源组件1926和通信组件1950,该电源组件1926可以被配置为执行电子设备1900的电源管理,该通信组件1950可以被配置为实现电子设备1900的通信,例如,有线或无线通信。此外,该电子设备1900还可以包括输入/输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的人机交互方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器1932,上述程序指令可由电子设备1900的处理器1922执行以完成上述的人机交互方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的人机交互方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。